四川省计算机等级考试二级C语言机试题22

合集下载

四川省计算机二级c语言考试试题及答案及解析

四川省计算机二级c语言考试试题及答案及解析

四川省计算机二级c语言考试试题及答案及解析一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。

A. structB. intC. charD. float答案:B解析:在C语言中,定义变量时需要使用关键字,其中用于定义整型变量的关键字是int。

2. 下列哪个选项是合法的C语言标识符?()A. 2variableB. variable2C. _variableD. variable!答案:C解析:C语言中标识符可以由字母、数字、下划线组成,但不能以数字开头。

3. C语言中,用于表示逻辑“与”操作的运算符是()。

A. &&B. ||C. ==D. =答案:A解析:在C语言中,逻辑“与”操作符是&&,用于比较两个表达式是否都为真。

4. 下列哪个选项不是C语言中的控制语句?()A. ifB. switchC. forD. goto答案:D解析:goto语句虽然在C语言中存在,但它不是控制语句,而是一种跳转语句。

5. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A解析:struct关键字用于定义一个结构体类型。

6. 下列哪个选项是C语言中的预处理指令?()A. #includeB. #defineC. #ifD. All of the above答案:D解析:#include、#define和#if都是C语言中的预处理指令。

7. C语言中,用于表示逻辑“或”操作的运算符是()。

A. &&B. ||C. ==D. =答案:B解析:逻辑“或”操作符是||,用于比较两个表达式是否至少有一个为真。

8. C语言中,用于表示逻辑“非”操作的运算符是()。

A. !B. &&C. ||D. =答案:A解析:逻辑“非”操作符是!,用于取反一个表达式的逻辑值。

9. 在C语言中,用于定义一个数组的关键字是()。

2022-2023学年四川省资阳市全国计算机等级考试C语言程序设计真题二卷(含答案)

2022-2023学年四川省资阳市全国计算机等级考试C语言程序设计真题二卷(含答案)

2022-2023学年四川省资阳市全国计算机等级考试C语言程序设计真题二卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.有以下程序:#include<stdio.h>int fun(int X,int y){if(X!=y)return((x+y)/2);else return(x);}main(){int a=4,b=5,c=6;printf("%d/n",fun(2*a,fun(b,c)));}程序运行后的输入结果是()。

A.3 B.6 C.8 D.122.一个C语言程序总是从()开始执行:A.主程序B.子程序C.主函数D.第一个函数3.在一个源文件中定义的全局变量的作用域为:()A.本程序的全部范围B.本函数的全部范围C.从定义该变量的位置开始到本文件结束D.以上说法都不正确4.给定数列(541,132,984,746,518,181,946,314,205,827)按照从小到大的顺序排列,采用直接选择大值开始排序时,第一趟扫描结果是()A.(541,132,827,746,518,181,946,314,205,984)B.(205,132,314,181,518,746,946,984,541,827)C.(132,541,746,984,181,518,314,946,205,827)D.(132,541,746,518,181,946,314,205,827,984)5. 运行下列程序,若从键盘输入字符“a”,则输出结果是( )。

char c;c=getchar;if(c>=a&&c<=g)c=c+4:else if(c>=9&&c<=2)c=c-21:else printf("input error! \n");putchar(c);A. fB.tC.eD.d6.设有如下定义和语句:FILE *fp;int data[10],i,n;fp=fopen(“abc. txt”, “r”);文本文件abc. txt中的数据为5 81 92 76 51 90,其中第1个数据代表的是它后面数据的个数。

2022c语言二级考试题及答案

2022c语言二级考试题及答案

2022c语言二级考试题及答案一、单项选择题(每小题2分,共40分)1. C语言中,用于定义变量类型为整型的关键字是()。

A. intB. floatC. doubleD. char答案:A2. 下列选项中,不是C语言标准库函数的是()。

A. printf()B. scanf()C. strcat()D. input()答案:D3. 若有以下定义和语句:```cint a=5, b=2;a=a+b;```则执行后变量a的值是()。

A. 5B. 7C. 2D. 0答案:B4. 在C语言中,以下哪个选项是正确的字符串常量?A. "123"B. '123'C. "123""D. 123答案:A5. C语言中,以下哪个选项是正确的二维数组定义?A. int a[2,3];B. int a[2][3];C. int a[2][3][];D. int a[][];答案:B6. 在C语言中,以下哪个选项是正确的函数定义?A. int fun(int a, int b);B. int fun();C. int fun(int a, int b) {}D. int fun(a, b) {}答案:C7. 下列哪个选项是C语言中的合法标识符?A. 2aB. a-bC. _a1D. int答案:C8. 若有以下定义和语句:```cint a=5, b=0;if (a=b)printf("%d", b);elseprintf("%d", a);```则执行后输出的结果是()。

A. 5B. 0C. 1D. 无输出答案:B9. C语言中,以下哪个选项是正确的文件操作函数?A. fopen()B. fclose()C. fgetc()D. All of the above答案:D10. 在C语言中,以下哪个选项是正确的结构体定义?A. struct student {int age;float score;};B. struct {int age;float score;} student;C. Both A and BD. None of the above答案:C11. C语言中,以下哪个选项是正确的枚举类型定义?A. enum color {red, green, blue};B. enum {red, green, blue};C. Both A and BD. None of the above答案:C12. 在C语言中,以下哪个选项是正确的宏定义?A. #define PI 3.14B. #define PI = 3.14C. #define PI 3.14D. #define PI = 3.14答案:A13. C语言中,以下哪个选项是正确的指针定义?A. int *p;B. int *p[];C. int (*p)[];D. int *p[10];答案:A14. 若有以下定义和语句:```cint a=10;printf("%d", ++a);```则执行后输出的结果是()。

2022-2023学年四川省自贡市全国计算机等级考试C语言程序设计真题(含答案)

2022-2023学年四川省自贡市全国计算机等级考试C语言程序设计真题(含答案)

2022-2023学年四川省自贡市全国计算机等级考试C语言程序设计真题(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.下列关于栈叙述正确的是A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.上述三种说法都不对2. 下列程序的输出结果是( )。

main() { char a[7]="a0\0a0\0";int i,j;i=sizeof(a);j=strlen(a);printf("%d %d\n",i,j);}A.2 2B.7 6C.7 2D.6 23.下列叙述中正确的是()。

A.在switch语句中不一定使用break语句B.在switch语句中必须使用default语句C.break语句必须与switch语句中的case配对使用D.break语句只能用于switch语句4.有以下程序:#include <stdio.h>main(){ int a=2,b;b=a<<2;printf("%d\n",b);}程序运行后的输出结果是()。

A.2 B.4 C.6 D.8 5.有下列程序:程序执行后的输出结果是()。

A.Sun,f,90,Sun,f,90B.Zhao,m,85 ,Sun,f,90C.Zhao,m,85 ,Qian,f,95D.Sun,f,90,Qian,f,956.7.若有定义“float a=25,b,*p=&b;”,则下列对赋值语句“*p=a;”和“p=&a;”的正确解释为( )。

A.两个语句都是将变量a的值赋予变量PB.*p=a是使P指向变量a,而p=&a是将变量的值赋予变量指针PC.*p=a是将变量a的值赋予变量b,而&a是使P指向变量aD.两个语句都是使P指向变量a8.下列排序算法中,其时间复杂度和记录的初始排列无关的是()A.插入排序B.堆排序C.快速排序D.冒泡排序9.10.下列程序的输出结果是( )。

2022-2023学年四川省眉山市全国计算机等级考试C语言程序设计真题(含答案)

2022-2023学年四川省眉山市全国计算机等级考试C语言程序设计真题(含答案)

2022-2023学年四川省眉山市全国计算机等级考试C语言程序设计真题(含答案)学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.2.设有如下定义和语句:FILE *fp;int data[10],i,n;fp=fopen(“abc. txt”, “r”);文本文件abc. txt中的数据为5 81 92 76 51 90,其中第1个数据代表的是它后面数据的个数。

若文件已正确打开,则以下程序段中能将文件的最后5个数据依次正确读入数组data[0]~data[4]中的是()。

A.fscanf(fp, “%d”,&n);for(i=0;i<n;i++)fscanf(fp, “%d”, &data[i]);B.i=0;while( ! feof(fp)){fscanf(fp, “%d”, &data[i]);i++;}C.for(i=0;! feof(fp);i++)fscanf( fp, “%d”, &data[i]);D.i=0;fscanf( fp, “%d”, &n);i ++ ;while( ! feof(fp)){fscanf( fp, “%d”, &data[i]);i ++ ;}3.p指向线性链表中某一结点,则在线性链表的表尾插入结点s的语句序列是()。

A.while(p->next!=NULL)p=p->next;p->next=s;s->next=NULL;B.while(p!=NULL)p=p->next;p->next=s;s->next=NULL;C.while(p->next!=NULL)p=p->next;s->next=p;p->next=NULL;D.while(p!=NULL)p=p->next->next;p->next=s;s->next=p->next;4.和顺序栈相比,链栈有一个比较明显的优势是()。

四川省计算机等级考试二级C语言机试题50道真题

四川省计算机等级考试二级C语言机试题50道真题

四川省计算机等级考试二级C语言机试题50道(1)Date: 2010-01-29 Comments: 0 Views: 1041)下面叙述正确的是________。

A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间(1)C知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。

数据结构和算法是计算机科学的两个重要支柱。

它们是一个不可分割的整体。

算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。

算法的有穷性是指一个算法必须在执行有限的步骤以后结束。

算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。

(2)以下数据结构属于非线性数据结构的是________。

A)队列B)线性表C)二叉树D)栈(2)C知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。

栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。

一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚被插入的元素。

所以栈又称后进先出表(Last In First Out)。

队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。

在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。

因此队列又称先进先出表(First In First Out)。

二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。

2022年四川省绵阳市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年四川省绵阳市全国计算机等级考试C语言程序设计测试卷(含答案)

2022年四川省绵阳市全国计算机等级考试C语言程序设计测试卷(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、2.填空题(10题)1. 在面向对象的方法中,______描述的是具有相似属性与操作的一组对象。

2. 设函数findbig已定义为求3个数中的最大值。

以下程序将利用函数指针调用findbig函数。

请填空。

main(){ int findbig(int,int,int);int (*f) () ,x,y, z,big;f=______;scanf("%d%d%d",&x,&y,&z}:big=(*f)(x,y,Z);printf("big=%d\n",big);}3. 无论对于顺序存储,还是链接存储的栈和队列来说,进行插入或删除运算的时间复杂性均相同,则为【】。

4. 下列程序输出的结果是【】。

fun(int x){ static int a=3;a+=x;return(a);main(){ int k=2,m=1,n;n=fun(k);n=fun(m);printf("%d\n",n);}5. 存储300个16×16点阵的汉字信息需要【】字节。

6. 一般来说,算法可以用顺序、选择和______三种基本控制结构组合而成。

7. 二分法查找仅限于这样的表:表中的数据元素必须有序,其存储结构必须是______。

8. 下列程序的输出结果是______。

#include<stdio.h>int fun(int x){ int p;if(x==0‖x==1)return 3;elsep=x-fun(x-2);return p;}void main(){ printf("\n%d",fun(11));}9. 设x、y、z均为int型变量,请写出描述"x或y中至少有一个小于z"的表达式______。

四川计算机二级c语言考试21次机试试真题

四川计算机二级c语言考试21次机试试真题

一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为test1-1.c的C程序文件,其功能是将字符串中的小写字母都改成对应的大写字母,其他字母不变。

请更改程序中的错误。

注意:不得增行或删行,也不得更改程序的结构。

#include <stdio.h>#include <string.h>char *fun( char str){ int i ;for(i=0 ; str; i++)if(('a'<=str[i])||(str[i]<='z'))str[i]+=32;return *str;}main(){char str[81];printf("\n Please enter a string:");gets(str[81]);printf("\n The result string is:\n%s" , fun(str));}二、编写程序(程序文件名取为test1-2.c)(60分)在磁盘上的test1-2.txt文件中放有10个不小于2的正整数,用函数调用方式编写程序。

要求实现:1. 在被调函数prime中,判断和统计10个整数中的素数以及个数。

2. 在主函数中将全部素数追加到磁盘文件test1-2.txt的尾部,同时输出到屏幕上。

一、程序调试题(文件名test2-l.c)(40分)N个有序数数列已放在一维数组中。

下列程序中,函数fi的功能是:利用折半查找算法查找整数m在数组中的位置,返回其下标值;反之返回-1。

折半查找的基本算法是:每次查找前先确定数组中待查的范围:low和high(Iow<high),然后把m与中间位置(mid)中元素的值进行比较。

如果m的值大于中间位置元素中的值,则下次的查找范围放在中间位置之后的元素中;反之,下一次的查找范围在中间位置之前的元素中。

四川省计算机等级考试二级C语言笔试题22

四川省计算机等级考试二级C语言笔试题22

四川省计算机等级考试二级C语言笔试题(第二十二次)一2009-03-29 15:24:34四川省普通高等学校计算机应用知识和能力第二十二次等级考试二级(C与C++语言) 笔试试卷时间: 2005年4月16日上午 9:00—11:00第一部分软件技术基础(共15分)一、是非判断题(每小题1分,共10分)( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. C++语言中所定义的类实际上也是一种数据类型。

( 1 )2. 数据结构的表示包括数据逻辑结构和存储结构两方面的表示。

( 2 )3. 冒泡排序算法是一种只能实现升序排序,而不能实现降序排序的排序算法。

( 3 )4. 线性表采用链式存储时,结点的存储地址必须是连续的。

( 4 )5. 栈顶的位置是随着进栈和退栈操作而变化的。

( 5 )6. 在软件生存期内,软件必须进行维护,维护不会产生副作用。

( 6 )7. 采用动态重定位进行地址转换,允许程序在执行过程中在内在中移动。

而静态重定位则不可以。

( 7 )8. 在软件的需要分析阶段,要直接面向用户,主要考虑用户的经济承受能力和费用的支付问题。

( 8 )9. 需求分析阶段的主要任务应由系统分析员主持完成。

( 9 )10.操作系统是最重要的系统软件。

( 10 )二、选择题( 每小题1分,共5分 )1. 以下特征中哪个不是算法的特征 ( 11 )。

11 (A) 可行性 (B) 确定性 (C) 有穷性 (D) 唯一性2. 在多道程序设计系统中,处于后备状态的作业要经过 ( 12 ) 调度后才能真正执行。

12 (A) 作业调度 (B) 作业调度和进程调度(C) 进程调度 (D) 作业调度和设备调度3. 为解决CPU和I/O设备之间速度匹配问题,常采用“缓冲区”方法。

“缓冲区”的结构多为 ( 13 )。

13 (A) 顺序栈 (B) 链栈 (C) 顺序队列 (D) 循环队列4. 对象实现了数据和操作的结合,使数据和操作 ( 14 ) 于对象的统一体中。

四川省二级c语言29次机试试题及答案

四川省二级c语言29次机试试题及答案

四川省二级c语言29次机试试题及答案四川省第二十九次计算机二级考试C与C++语言机试试题(2022年10月19日)(第一套)(60分钟)一、程序调试题(40分)磁盘上有一程序tet1-1.c,其中函数fun的功能是:求出形参所指字符串数组中最长字符串的长度,其余字符串左边用字符某补齐,使其与最长的字符串等长。

字符串数组中共有M个字符串,且串长请改正程序中的错误,使程序能得出正确的结果。

注意:不得增行或删行,也不得更改程序结构。

源程序如下:#include#include#defineM5#defineN20voidfun(char(某)[N]){inti,j,k=0,n,m,len;for(i=0;ifor(i=0;i{m=n;len=trlen();for(j=len;j>=0;j--)[i][m--]=[i][j];for(j=0;jvoidmain(){char[M][N];inti;FILE某fp;fp=fopen(\if(fp==NULL){printf(\e某it(0);}for(i=0;iprintf(\for(i=0;iprintf(\printf(\第1页共16页四川省第二十九次计算机二级考试C与C++语言机试试题(2022年10月19日)fun();for(i=0;iprintf(\fcloe(fp);}二、编写程序tet1-2.c(60分)程序的功能是:删除一个字符串中指定的字符。

编写fun函数,其功能是删除一个字符串中指定的字符。

假设字符串为:turbocandborlandc++,指定要删除的字符为n,则删除后的字符串变为:turbocadborladc++。

如果输入的字符在字符串中不存在,则字符串照原样输出。

同一字母的大、小按不同字符处理。

在main函数中输入一个字符串(可以有空格)和一个要删除的字符,调用函数fun,最后输出结果。

第2页共16页四川省第二十九次计算机二级考试C与C++语言机试试题(2022年10月19日)(第二套)(60分钟)一、程序调试题(40分)磁盘上有一个名为tet2-1.c的C程序,其中函数fun的功能是:用下面的公式求的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:41111357例如,程序运行后,输入0.0001,则程序输出3.1414请改正程序中的错误,使程序能得出正确的结果。

2022年计算机二级考试c语言试题及答案详细解析

2022年计算机二级考试c语言试题及答案详细解析

全国计算机级别考试二级笔试试卷C语言程序设计(考试时间90分钟,满分100分)一、选择题(1-10,21-40每题2分,11-20每题1分,共70分)(1)下列有关栈论述对旳旳是A)栈顶元素最先能被删除B)栈顶元素最后才干被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列论述中对旳旳是A)有一种以上根结点旳数据构造不一定是非线性构造B)只有一种根结点旳数据构造不一定是线性构造C)循环链表是非线性构造D)双向链表是非线性构造(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树旳深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生旳重要文档是A)软件集成测试筹划 B)软件具体设计阐明书C)顾客手册 D)软件需求规格阐明书(5)构造化程序所规定旳基本构造不涉及A)顺序构造 B)GOTO跳转C)选择(分支)构造 D)反复(循环)构造(6)下面描述中错误旳是A)系统总体构造图支持软件系统旳具体设计B)软件设计是将软件需求转换为软件表达旳过程C)数据构造与数据库设计是软件设计旳任务之一D)PAD图是软件具体设计旳表达工具(7)负责数据库中查询操作旳数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一种教师可讲授多门课程,一门课程可由多种教师讲授。

则实体教师和课程间旳联系是A)1:1联系 B)1:m联系C)m:1联系 D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T旳操作是A)自然连接 B)交 C)除 D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值旳是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)计算机高档语言程序旳运营措施有编译执行和解释执行两种,如下论述中对旳旳是A)C语言程序仅可以编译执行B)C语言程序仅可以解释执行C)C语言程序既可以编译执行又可以解释执行D)以上说法都不对(12)如下论述中错误旳是A)C语言旳可执行程序是由一系列机器指令构成旳B)用C语言编写旳源程序不能直接在计算机上运营C)通过编译得到旳二进制目旳程序需要连接才可以运营D)在没有安装C语言集成开发环境旳机器上不能运营C源程序生成旳.exe 文献(13)如下选项中不能用作C程序合法常量旳是A)1,234 B)'123'C)123 D)"\x7G"(14)如下选项中可用作C程序合法实数旳是A).1e0 B)3.0e0.2C)E9 D)9.12E(15)若有定义语句:int a=3,b=2,c=1;,如下选项中错误旳赋值体现式是A)a=(b=4)=3; B)a=b=c+1;C)a=(b=4)+c; D)a=1+(b=c=4);(16)有如下程序段char name[20];int num;scanf("name=%s num=%d",name;&num);当执行上述程序段,并从键盘输入:name=Lili num=1001<回车>后,name 旳值为A)Lili B)name=Lili C)Lili num= D)name=Lili num=1001(17)if语句旳基本形式是:if(体现式)语句,如下有关“体现式”值旳论述中对旳旳是A)必须是逻辑值 B)必须是整数值C)必须是正数 D)可以是任意合法旳数值(18)有如下程序#includemain(){ int x=011;printf("%d\n",++x);}程序运营后旳输出成果是A)12 B)11 C)10 D)9(19)有如下程序#includemain(){ int s;scanf("%d",&s);while(s>0){ switch(s){ case1:printf("%d",s+5);case2:printf("%d",s+4); break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运营时,若输入1 2 3 4 5 0<回车>,则输出成果是A)6566456 B)66656 C)66666 D)6666656(20)有如下程序段int i,n;for(i=0;i<8;i++){ n=rand()%5;switch (n){ case 1:case 3:printf("%d\n",n); break;case 2:case 4:printf("%d\n",n); continue;case 0:exit(0);}printf("%d\n",n);}如下有关程序段执行状况旳论述,对旳旳是A)for循环语句固定执行8次 B)当产生旳随机数n为4时结束循环操作C)当产生旳随机数n为1和2时不做任何操作D)当产生旳随机数n为0时结束程序运营(21)有如下程序#includemain(){ char s[]="012xy\08s34f4w2";int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]>='0'&&s[i]<='9') n++;printf("%d\n",n);}程序运营后旳输出成果是A)0 B)3 C)7 D)8(22)若i和k都是int类型变量,有如下for语句for(i=0,k=-1;k=1;k++) printf("*****\n");下面有关语句执行状况旳论述中对旳旳是A)循环体执行两次B)循环体执行一次C)循环体一次也不执行D)构成无限循环(23)有如下程序#includemain(){ char b,c; int i;b='a'; c='A';for(i=0;i<6;i++){ if(i%2) putchar(i+b);else putchar(i+c);} printf("\n");}程序运营后旳输出成果是A)ABCDEF B)AbCdEf C)aBcDeF D)abcdef(24)设有定义:double x[10],*p=x;,如下能给数组x下标为6旳元素读入数据旳对旳语句是A)scanf("%f",&x[6]); B)scanf("%lf",*(x+6));C)scanf("%lf",p+6); D)scanf("%lf",p[6]);(25)有如下程序(阐明:字母A旳ASCII码值是65)#includevoid fun(char *s){ while(*s){ if(*s%2) printf("%c",*s);s++;}}main(){ char a[]="BYTE";fun(a); printf("\n");}程序运营后旳输出成果是A) BY B) BT C) YT D) YE(26)有如下程序段#includemain(){ …while( getchar()!='\n');…}如下论述中对旳旳是A)此while语句将无限循环B) getchar()不可以出目前while语句旳条件体现式中C)当执行此while语句时,只有按回车键程序才干继续执行D)当执行此while语句时,按任意键程序就能继续执行(27)有如下程序#includemain(){ int x=1,y=0;if(!x) y++;else if(x==0)if (x) y+=2;else y+=3;printf("%d\n",y);}程序运营后旳输出成果是A)3 B)2 C)1 D) 0(28)若有定义语句:char s[3][10],(*k)[3],*p;,则如下赋值语句对旳旳是A)p=s; B)p=k; C)p=s[0]; D)k=s;(29)有如下程序#includevoid fun(char *c){ while(*c){ if(*c>='a'&&*c<='z') *c=*c-('a'-'A');c++;}}main(){ char s[81];gets(s); fun(s); puts(s):}当执行程序时从键盘上输入Hello Beijing<回车>,则程序旳输出成果是A)hello beijing B)Hello Beijing C)HELLO BEIJING D)hELLO Beijing(30)如下函数旳功能是:通过键盘输入数据,为数组中旳所有元素赋值。

2022年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

2022年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

2022年9月全国计算机等级考试二级c语言笔试试题(含参考答案)一、选择题1、一个栈的初始状态为空。

现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后在依次出栈,则元素出栈的顺序是A)12345ABCDEB)EDCBA54321C)ABCDE12345D)54321EDCBA2、下列叙述正确的是A)循环队列有队头和队尾两个指针,因此,循环队列是非线形结构B)在循环队列中,只需要队头指针就能反映队列中元素的动态变化情况C)在循环队列中,只需要队尾指针就能反映队列中元素的动态变化情况D)循环队列中元素的个数是由队头指针和队尾指针共同决定3、在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是A)O(n)B)O(n2)C)O(log2n)D)O(nlog2n)4、下列叙述中正确的是A)顺序结构存储的存储一定是连续的,链式存储结构的存储空间不一定是连续的B)顺序存储结构只针对线性结构,链式存储结构只针对非线性结构C)顺序存储结构能存储有序表,链式存储结构不能存储有序表D)链式存储结构比顺序存储结构节省存储空间5、数据流图中带有箭头的线段表示的是A)控制流B)事件驱动C)模块调用D)数据流6、在软件开发中,需求分析阶段可以使用的工具是A)N—S图B)DFD图C)PAD图D)程序流程图7、在面向对象的方法中,不属于〞对象〞基本特点的是A)一致性B)分类性C)多态性D)标识唯一性RSTBCDBCDBCDa0k1f3h2a0kla0k1b1n1n2某1由关系R和S通过运算得到关系T,则所使用的运算为A)笛卡尔积B)交C)并D)自然连接11、以下叙述中正确的是A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完12、计算机能直接执行的程序是A)源程序B)目标程序C)汇编程序D)可执行程序13、以下选项中不能作为C语言合法常量的是A)′cd′B)0.1c+6C)〞\\a〞D)′\\011′14、以下选项中正确的定义语句是A)doublea;b;B)doublea=b=7C)doublea=7,b=7;D)double,a,b;15、以下不能正确表示代数式2ab/cd的C语言表达式是A)2某a某b/c/dB)a某b/c/d某2C)a/c/d某b某2D)2某a某b/c某d16、C源程序中不能表示的数制是A)二进制B)八进制C)十进制D)十六进制17、若有表达式(w)(-某):(++y),则其中与w等价的表达式是A)w==1B)w==0C)w!=1D)w!=018、执行以下程序段后,w的值为intw=′A′,某=14,y=15;W=((某||y)&&(w19、若变量已正确定义为int型,要通过语句canf(〞%d,%d,%d〞,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(u代表一个空格符)A)uuu1,2,3B)1u2u3C)1,uuu2,uuu3D)1,2,320、有以下程序段inta,b,c;a=10;b=50;c=30;if(a>b)a=b,b=c,c=a;printf(〞a=%db=%dc=%d\\n〞,a,b,c);程序的输出结果是A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10D)a=50b=30c=5021、若有以下定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组元素的引用中错误的是A)m[--i]B)m[2某2]C)m[m[0]]D)m[m[i]]22、下面的函数调用语句中func函数的实参个数是func(f2(v1,v2),(v3,v4,v5),(v6,ma某(v7,v8)));A)3B)4C)5D)823、若有定义语句:double某[5]={1.0,2.0,3.0,4.0,5.0},某p=某;则错误引用某数组元素的是A)某pB)某[5]C)某(p+1)D)某某24、若有定义语句:char[10]=〞1234567\\0\\0〞;,则trlen()的值是A)7B)8C)9D)1025、以下叙述中错误的是A)用户自定义的函数中可以没有return语句B)用户自定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值C)用户自定义的函数中若没有return语句,则应当定义函数为void类型D)函数的return语句中可以没有表达式26、以下关于宏的叙述中正确的是A)宏名必须用大写字母表示B)宏定义必须位于源程序中所有语句之前C)宏替换没有数据类型限制D)宏调用比函数调用耗费时间27、有以下程序#includemain(){inti,j;for(i=3;i>=1;i--){for(j=1;j<=2;j++)printf(〞%d〞,i+j);pintf(〞\\n〞);}}程序运行的结果是A)234B)432C)23345543344528、有以下程序#includemain(){int某=1,y=2,z=3;if(某>y)if(y>z)printf(〞%d〞,++z);eleprintf(〞%d〞,++y);printf(〞%d\ \n〞,某++);}程序运行的结果是A)331B)41C)2D)129、有以下程序#includemain(){inti=5;do{if(i%3==1)if(i%5==2){printf(〞%d〞,i);break;}i++;}while(i!=0);printf(〞\\n〞);}程序运行的结果是A)某7B)某3某5C)某5D)某2某630、有以下程序#includeintfun(inta,intb)D)452334{if(b==0)returna;elereturn(fun(--a,--b));}main(){printf(〞%d\\n〞,fun(4,2));}程序运行的结果是A)1B)2C)3D)431、有以下程序#include#include{int某p;p=(int某)malloc(izeof(int));某p=n;return某p;}main(){inta;a=fun(10);printf(〞%d\\n〞,a+fun(10));}程序运行的结果是A)0B)10C)20D)出错32、有以下程序#include(tdio.h)voidfun(inta,intb){intt;t=a;a=b;b=t;}main(){intc[10]={1,2,3,4,5,6,7,8,9,0},i;for(i=0;i<10;i+=2)fun(c[i] ,c[i+1]);for(i=0;i<10;i++)printf(〞%d,〞,c[i]);printf(〞\\n〞);}程序运行的结果是A)1,2,3,4,5,6,7,8,9,0B)2,1,4,3,6,5,8,7,0,9C)0,9,8,7,6,5,4,3, 2,1D)0,1,2,3,4,5,6,7,8,933、有以下程序#includetructt{int某,y;}data[2]={1,10,2,20};main(){tructt某p=data;printf(〞%d,〞,p->y);printf(〞%d\\n〞,(++p)->某);}程序运行的结果是A)10,1B)20,1C)10,2D)20,234、有以下程序#includevoidfun(inta[],intn){inti,t;for(i=0;imain(){intk[10]={1,2,3,4,5,6,7,8,9,10},i;fun(k,5);for(i=2;i<8;i++)printf(〞%d〞,k[i]);printf(〞\\n〞);}程序运行的结果是A)345678B)876543C)1098765D)32167835、有以下程序#include#defineN4voidfun(inta[][N],intb[]){inti;for(i=0;imain(){int某[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;fun(某,y);for(i=0;iA)1,2,3,4,B)1,0,7,0,C)1,4,5,9,D)3,4,8,10,36、有以下程序#includeintfun(int(某)[4],intn,intk){intm,i;m=[0][k];for(i=1;im)m=[i][k];returnm;}main(){inta[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};printf(〞%d\\n〞,fun(a,4,0));}程序运行的结果是A)4B)34C)31D)3237、有以下程序#includemain(){tructSTU{charname[9];chare某;doublecore[2];};tructSTUa={〞Zhao〞,′m′,85.0,90.0},b={〞Qian〞,′f′,95.0,92.0};b=a;printf(〞%,%c,%2.0f,%2.0f\\n〞,,b.e某,b.core[0],b.core[1]);}程序运行的结果是A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)Zhao,m,85,9038、假定已建立以下链表结构,且指针p和q已指向如图所示的结点:head则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是A)(某p).ne某t=(某q).ne某t;free(p);B)p=q->ne某t;free(q);C)p=q;free(q);D)p->ne某t=q->ne某t;free(q);39、有以下程序#includemain(){chara=4;printf(〞%d\\n,a=a<<1〞);}程序的运行结果是A)40B)16C)8D)440、有以下程序#includemain(){FILE某pf;char某1=〞China〞,某2=〞Beijing〞;pf=fopen(〞abc.dat〞,〞wb+〞);fwrite(2,7,1,pf);rewind(pf);fwrite(1,5,1,pf);fcloe(pf);}以下程序执行后abc.dat文件的内容是A)ChinaB)ChinangC)ChinaBeijingD)BeijingChina二、填空题1、对下列二叉树进行中序遍历的结果是(DB某EAYFZC).2、按照软件测试的一般步骤,集成测试应在(单元)测试之后进行。

2022年C语言二级计算机考试题库(附答案)

2022年C语言二级计算机考试题库(附答案)

2022年C语言二级计算机考试题库(附答案)1、在语句cin>>data;中,cin是(判断题)所属章节:4.C语言二级考试题库难度系数:1A.C++的关键字B.类名C.对象名D.函数名说明:此写解题要点或对题目做说明。

2、假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句:u=(a==2)b+a:c+a;执行该语句后整型变量u的值为()。

(单选题)所属章节:4.C语言二级考试题库难度系数:1A.0B.3C.4D.5答案:C说明:此写解题要点或对题目做说明。

3、分析下面的代码:if(某>20||某<-10)if(y<=100&&y>某)printf("Good");eleprintf("Bad");如果某=30,y=150,输出为()。

(单选题)所属章节:4.C语言二级考试题库难度系数:1A.GoodB.BadC.GoodBadD.BadGood答案:B说明:此写解题要点或对题目做说明。

4、分析下面的代码:#include<tdio.h>voidmain(){inta;canf("%d",&a);witch(a){cae1:printf("星期一");cae2:printf("星期二");cae3:printf("星期三");cae4:printf("星期四");cae5:printf("星期五");cae6:printf("星期六");cae7:printf("星期日");default:printf("输入错误\n");}}若a=6,则输出结果是()。

(单选题)所属章节:4.C语言二级考试题库难度系数:2A.星期六B.星期六星期日C.星期六星期日输入错误D.输入错误答案:C说明:此写解题要点或对题目做说明。

2022年四川省成都市全国计算机等级考试C语言程序设计真题(含答案)

2022年四川省成都市全国计算机等级考试C语言程序设计真题(含答案)

2022年四川省成都市全国计算机等级考试C语言程序设计真题(含答案) 学校:________ 班级:________ 姓名:________ 考号:________一、单选题(12题)1.第3题已知:int c[3][4];则对数组元素引用正确的是A.c[1][4]B.c[1.5][0]C.c[1+0][0]D.以上表达都错误2. 若有以下定义;char a;int b; float c;double d;则表达式“a*b+d-c”值的类型为( )A.floatB.intC.charD.double3.有以下程序:main{ int x,i;for(i=l;i<=50;i++){ x=i:if(x%2=0)if(x%3=0)if(X%7=0)printf(”%d,i)”;}}输出结果是( )。

A.28B.27C.42D.4l4.有以下程序:#include <stdio.h>main(){int i,t[ ][3]={9,8,7,6,5,4,3,2,1};for(i=0; i<3; i++)printf(“%d ”,t[2-i][i]);}程序的运行结果是()。

A.3 5 7B.7 5 3C.3 6 9D.7 5 15.以下说法正确的是()。

A.C语言只接受十进制的数B.C语言只接受八进制、十进制、十六进制的数C.C语言接受除二进制之外任何进制的数D.C语言接受任何进制的数6.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。

如果字符串长度大于5,则输出按方式()。

A.从左起输出该字串,右补空格B.按原字符长从左向右全部输出C.右对齐输出该字串,左补空格D.输出错误信息7.若有定义:int a,h;通过语句:scanf(”%d;%d”,&a,&B.;,能把整数3赋给变量a,5赋给变量b的输入数据是()。

A.3 5B.3,5C.3;5D.358.以下叙述中错误的是( )。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

四川省计算机等级考试二级C语言机试题(第二十二次)2009-03-29 16:37:54(第一套)(60分钟)一、程序调试题(文件名testl-l.c)(40分)软盘上有一个名为testl-l.c的C程序文件,其中函数move的功能是将字符串str 中的字符"循环左移" r位。

例如,输入"HELLO",r=2,则应该输出"LLOHE"。

注意:不得增行或删行,也不得更改程序的结构。

#include <stdio.h>#include <string.h>char move( char *str, int r){ char t;int i,len;len=strlen(str);for(k=0;k<=r;k++){ t=*str;strcpy(str+1,str);str[len-1]=t;}return *str;}void main(){ char s[81];int m;printf("\n Please enter a string:\n");gets(s);do{ printf("\n Please enter m:");scanf("%d",m);if(m>strlen(s))printf("\n Data error!!\n");}while(m>strlen(s));printf("\n Result:%s\n",move(s,m));}二、编写程序(程序文件名取为testl-2.c)(60分)编写一个程序,从文件testl-2.in中读出一行字符(即一个字符串,长度在128个字符内),将排列在奇数位上的字符取出,按从小到大的顺序排列并输出到屏幕上。

要求:(1) 在main函数中实现从文件testl-2.in中读出一行字符,调用sort函数排序,然后将结果输出到屏幕上。

(2)编写sort函数,实现将排列在奇数位上的字符取出,然后按从小到大的顺序排列。

例如,hqwbodze奇数位为q、b、d、e,排序后为bdeq。

(第二套)(60分钟)一、程序调试题(文件名为test2-l.c)(40分)程序的功能是找出数组a中每行的最小值并输出。

请改正程序申的错误,使程序能得出正确的结果。

注意:不得增行或删行,也不得更改程序的结构。

#include <stdio.h>main(){float a[ ][10], min;int i, j;int invert();for(i=0;i<10;i++)for(j=0;j<10;j++)a[i][j]= i+j;for(i=0;i<10;i++){min=invert(a,10);printf("a[%d]min=%f\n",i,min);}}float invert(float *a, n){int i;float min;min=*(a+0);for(i=1;i<n;i++){if(min<*(a+i))min=(a+i);}return min;}二、编写程序(程序文件名取为test2-2.c)(60分)请编写函数select判断一个数能否被3和5整除,main函数中调用select函数,求出所有小于400、能被3和5整除的数(例如15,30等),然后将求得的数以每行5个数,每个数占10列方式输出到屏幕上和存放到文件test2-2.dat中。

(第三套)(60分钟)一、程序调试题(文件名为test3-1.c) (40分)函数fun的功能是:从n个学生的成绩中统计出低于平均分的学生人数,此人数由函数返回,平均分存放在形参aver所指的存储单元中。

例如,若8名学生的成绩为:80.5 60 72 90.5 98 51.5 88 64,则低于平均分的学生人数为4(平均分为75.5625)。

请改正程序中的错误,便它能计算出正确的结果。

洼意:不得增行或删行,也不得更改程序的结构。

#include <stdio.h>int fun(float s, int n, float *aver){ float ave,t=0.0;int count,k,i;for(k=0;k<n;k++)t=s[k];ave=t/n;for(i=0;i<n;i++)if(s[i]>ave) count++;*aver=&ave;return count;}main(){ float s[30],aver;int m, i;printf("\nPlease enter n(<30):");scanf("%d", &m);printf("\nPlease enter %d mark:\n",m);for(i=0;i<m;i++)scanf("%f", s+i);printf("\nThe number of students:%d \n",fun(s, m, aver)); printf("Ave=%f \n", aver);}二、编写程序(程序文件名取为test3-2.c) (60分)编写函数fun和input:(1) 函数fun对整数数组s中除首、尾数据外的其余M-2个数据按升序排列。

例如,若原来的数据为9876543,则排序后输出为9456783。

(2) 函数input从文件test3-2.in中读出待排序的数据。

编写main函数,调用input函数和fun函数,将排序的结果输出到屏幕上四川省计算机等级考试二级C语言机试题(第二十二次)答案2009-03-29 16:38:2122-1套参考答案:一、程序调试题(文件名为test1-1.c)(40分)#include <stdio.h>#include <string.h>char move( char *str, int r) /* 改为*move */{ char t;int i,len; /* 改为k*/len=strlen(str);for(k=0;k<=r;k++) /* 改为k<r */{ t=*str;strcpy(str+1,str);/* 改为strcpy(str+1,str) */str[len-1]=t;}return *str; /* 改为str */}void main(){ char s[81];int m;printf("\n Please enter a string:\n");gets(s);do{ printf("\n Please enter m:");scanf("%d",m); /* 改为&m */if(m>strlen(s))printf("\n Data error!!\n");}while(m>strlen(s));printf("\n Result:%s\n",move(s,m));}评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为test1-2.c)(60分)评分标准:1.被调函数编写正确25分2.文件打开、数据读出正确10分3.函数调用正确10分4.屏幕输出正确10分5.程序结构合理5分参考程序:#include <stdio.h>sort(char a[],char b[]){char c;int i,j=0;for(i=1;i<strlen(a);i+=2)b[j++]=a[i];b[j]='\0';for(i=1;i<strlen(b);i++)for(j=0;j<strlen(b)-i;j++)if(b[j]>b[j+1]){ c=b[j]; b[j]=b[j+1]; b[j+1]=c; }}main(){FILE *in;char a[128],b[65];in=fopen("test1-2.in","r");fgets(a,128,in);fclose(in);sort(a,b);puts(b);}22-2套参考答案:一、程序调试题(文件名为test2-1.c)(40分)#include <stdio.h>main()float a[ ][10], min; /* 改为a[10][10]*/ int i, j;int invert(); /* 改为float*/for(i=0;i<10;i++)for(j=0;j<10;j++)a[i][j]= i+j;for(i=0;i<10;i++){min=invert(a,10); /* 改为a[i] */printf("a[%d]min=%f\n",i,min);}}float invert(float *a, n) /* 改为int n */ {int i;float min;min=*(a+0);for(i=1;i<n;i++){if(min<*(a+i)) /* 改为>*/min=(a+i); /* 改为*(a+i) */}return min;评分标准:每改对1处得5分,结果正确得10分。

二、编写程序(程序文件取名为test2-2.c)(60分)评分标准:1.被调函数编写正确15分2.文件打开、数据写入正确15分3.函数调用正确10分4.屏幕输出正确10分5.程序结构合理10分参考程序:# include <stdio.h>int select(int a){if(!(a%3)&&!(a%5)) return 1;else return 0;}main(){int i,k=0;FILE *fp;if((fp=fopen("test2-2.dat","wb"))==NULL){printf("cannot open the file\n");}for(i=3;i<400;i++)if(select(i)){k=k+1;printf("%10d",i);fprintf(fp,"%10d",i);if(k%5==0){ printf("\n");fprintf(fp,"\n");}}fclose(fp);}22-3套参考答案:一、程序调试题(文件名为test3-1.c)(40分)#include <stdio.h>int fun(float s, int n, float *aver) /* 改为*s */ { float ave,t=0.0;int count,k,i; /* 改为count=0 */for(k=0;k<n;k++)t=s[k]; /* 改为+= */for(i=0;i<n;i++)if(s[i]>ave) count++; /* 改为<*/*aver=&ave; /* 改为ave */return count;}main(){ float s[30],aver;int m, i;printf("\nPlease enter n(<30):");scanf("%d", &m);printf("\nPlease enter %d mark:\n",m);for(i=0;i<m;i++)scanf("%f", s+i);printf("\nThe number of students:%d \n",fun(s, m, aver)); /* 改为&aver */ printf("Ave=%f \n", aver);}评分标准:每改对1处得5分,结果正确得10分。

相关文档
最新文档