计算机二级考试C语言模拟试题一

合集下载

全国计算机二级c考试题库及答案

全国计算机二级c考试题库及答案

全国计算机二级c考试题库及答案一、单项选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C2. 若有定义:int a=5, b=6;,则表达式a+=b的值是多少?A. 11B. 6C. 5D. 1答案:A3. 在C语言中,字符串"\"abc\""的长度是多少?A. 3B. 4C. 5D. 6答案:C4. 下列哪个函数不能用来输入数据?A. scanf()B. printf()C. getchar()D. gets()答案:B5. 若有定义:int a=5;,则执行语句a*=a+1;后,变量a的值是多少?A. 5B. 6C. 25D. 10答案:C6. 在C语言中,以下哪个选项是正确的二维数组定义?A. int a[5][6];B. int a[5,6];C. int a(5)(6);D. int a[5 6];答案:A7. 若有定义:int a=1, b=2;,则执行语句a=b=a+b;后,变量a的值是多少?A. 3B. 4C. 1D. 2答案:A8. 在C语言中,以下哪个选项是正确的函数定义?A. int add(int x, int y) { return x+y; }B. int add(int x; int y) { return x+y; }C. int add(int x, int y) { int z; return z; }D. int add(int x, int y) { return x-y; }答案:A9. 在C语言中,以下哪个选项是正确的结构体定义?A. struct Student { int age; float score; };B. struct { int age; float score; } Student;C. struct Student { int age, float score; };D. struct { int age; float score; };答案:A10. 若有定义:int a=10, b=20;,则执行语句a=a+b;后,变量b的值是多少?A. 10B. 20C. 30D. 40答案:B二、填空题(每题2分,共20分)1. 在C语言中,字符型数据在内存中是以______形式存储的。

计算机等级二级C语言模拟试题1(五)

计算机等级二级C语言模拟试题1(五)

⼀、选择题((1)~(10)每⼩题2分,(11)~(50)每⼩题1分,共60分) 下列各题A)、B)、C)、D)四个选项中,只有⼀个选项是正确的,请将正确选项涂写 在答题卡相应位置上,答在试卷上不得分。

(1)算法⼀般都可以⽤________控制结构组合⽽成。

A)循环、分⽀、递归 B)顺序、循环、嵌套 C)循环、递归、选择 D)顺序、选择、循环 答案:D 评析:算法的控制结构给出了算法的基本框架,不仅决定了算法中各操作的执⾏顺序,也直接反映了算法的设计是否符合结构化原则。

⼀个算法⼀般都可以⽤顺序、选择、循环三种基本控制结构组合⽽成。

(2)数据的存储结构是指________。

A)数据所占的存储空间量 B)数据的逻辑结构在计算机中的表⽰ C)数据在计算机中的顺序存储⽅式 D)存储在外存中的数据 答案:B 评析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构。

(3)设有下列⼆叉树: 对此⼆叉树中序遍历的结果为________。

A)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA 答案:B 评析:中序遍历是指⾸先遍历左⼦树,然后访问根结点,最后遍历右⼦树;并且在遍历左、右⼦树时,仍然先遍历左⼦树,然后访问根结点,最后遍历右⼦树的⼀种⼆叉树遍历算法。

(4)在⾯向对象⽅法中,⼀个对象请求另⼀对象为其服务的⽅式是通过发送________。

A)调⽤语句 B)命令 C)⼝令 D)消息 答案:D 评析:⾯向对象的世界是通过对象与对象间彼此的相互合作来推动的,对象间的这种相互合作需要⼀个机制协助进⾏,这样的机制称为消息。

消息是⼀个实例与另⼀个实例之间传递的信息,它请求对象执⾏某⼀处理或回答某⼀要求的信息,它统⼀了数据流和控制流。

(5)检查软件产品是否符合需求定义的过程称为________。

A)确认测试 B)集成测试 C)验证测试 D)验收测试 答案:A 评析:确认测试的任务是验证软件的功能和性能及其他特性是否满⾜了需求规格说明中的确定的各种需求,以及软件配置是否完全、正确。

计算机二级考试c语言试题及答案

计算机二级考试c语言试题及答案

计算机二级考试c语言试题及答案一、选择题(每题2分,共20分)1. C语言中,下面哪个选项是合法的标识符?A. 2abcB. abc123C. _abcD. abc$答案:C2. 在C语言中,下面哪个运算符具有左结合性?A. 赋值运算符B. 逻辑运算符C. 位运算符D. 关系运算符答案:A3. 下面哪个函数用于实现字符串的复制?A. strcpyB. strcatC. strlenD. strcmp答案:A4. 下面哪个选项是正确的整型常量的表示方法?A. 1234BB. 0x1234C. 1234DD. 01234答案:D5. 下面哪个选项是合法的实型常量的表示方法?A. 123.B. 123.C. 123.D. 123.答案:C6. 在C语言中,下面哪个函数用于实现字符串的连接?A. strcpyB. strcatC. strlenD. strcmp答案:B7. 下面哪个选项是正确的关于一维数组的描述?A. 数组名是一个指向数组首元素的指针B. 数组名是一个指向数组首元素的指针C. 数组名是一个指向数组首元素的指针D. 数组名是一个指向数组首元素的指针答案:A8. 下面哪个选项是正确的关于二维数组的描述?A. 二维数组可以看作是多个一维数组的组合B. 二维数组可以看作是多个一维数组的组合C. 二维数组可以看作是多个一维数组的组合D. 二维数组可以看作是多个一维数组的组合答案:A9. 在C语言中,下面哪个函数用于实现字符串的比较?A. strcpyB. strcatC. strlenD. strcmp答案:D10. 下面哪个选项是合法的C语言语句?A. if(条件) {B. while(条件)C. do {D. }答案:D二、填空题(每题2分,共20分)1. 在C语言中,一个整型变量占用的存储空间为_____个字节。

答案:42. C语言中,定义一个整型变量的一般形式为_____。

答案:int 变量名;3. C语言中,定义一个实型变量的一般形式为_____。

全国计算机等级考试二级c语言模拟试题及答案一

全国计算机等级考试二级c语言模拟试题及答案一

全国计算机等级考试二级C语言模拟试题及答案(一)一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素?D)没有共同点正确答案:? C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba正确答案:? D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素?D)所需空间与线性表长度成正比正确答案:? B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案:? D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案:? D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案:? C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案:? D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML正确答案:? C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案:? C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字正确答案:? D(11)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案:? C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案:? A(13)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案:? B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int %3D)a=a+7=c+b正确答案:? B(15)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案:? B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案:? A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案:? B(18)已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案:? B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予,b赋予,c赋予,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B),,<回车>C)<回车>22.033.0<回车>D)10? 22<回车>33<回车>正确答案:? B(20)有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2正确答案:? A(21)有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); }执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案:? C(22)有如下程序main(){float x=,y;if(x<)y=;else if(x<)y=x;else y=;printf("%f\n",y);}该程序的输出结果是A)B)0.250000C)D)正确答案:? C(23)有如下程序:main(){int n=9;while(n>6){n--; printf("%d",n);} }该程序的输出结果是A)987B)876C)8765D)9876正确答案:? B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)int k=10000;do{k++;}while(k>10000);D)int s=36;while(s)--s;正确答案:? D(25)设int x=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-1正确答案:? B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案:? D(27)有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)正确答案:? B(28)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)正确答案:? D(29)fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案:? B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1正确答案:? C(31)若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案:? A(32)若有说明int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案:? D(33)设有以下说明语句{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名正确答案:? C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案:? C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)10正确答案:? A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案:? C(37)表达式0x13^0x17的值是A)0x04B)0x13C)0xE8D)0x17正确答案:? A(38)有以下程序#define F(X,Y)(X)*(Y)main(){int a=3, b=4;printf("%d\n", F(a++, b++));}程序运行后的输出结果是A)12B)15C)16D)20正确答案:? A(39)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]); }A)6B)7C)8D)9正确答案:? A(40)若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等正确答案:? D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;} }main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,正确答案:? C?(42)以下程序的运行结果是#include ""main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)12正确答案:? A(43)若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point正确答案:? D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案:? B(45)已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'正确答案:? A(46)若执行下述程序时,若从键盘输入6和8时,结果为main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对正确答案:? B(47)fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案:? D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案:? D(49)有以下程序void ss(char *s,char t){while(*s){if(*s= =t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d'; ss(str1,c); printf("%s\n",str1); }程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd正确答案:? B(50)若以下定义:struct link{int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:?指针p指向变量a,q指向变量c。

计算机二级c考试题目及答案解析

计算机二级c考试题目及答案解析

计算机二级c考试题目及答案解析在计算机二级C语言考试中,考生需要掌握C语言的基本语法、数据结构、算法设计等知识。

以下是一套模拟试题及其答案解析,供考生参考。

1. 以下哪个选项是C语言中合法的整型常量?A. 0x1AB. 1.2E3C. 0123D. 0b1010答案:A解析:在C语言中,整型常量可以以十进制、八进制、十六进制或二进制的形式表示。

选项A中的0x1A是十六进制表示,是合法的整型常量。

选项B是浮点数,选项C是八进制表示,但前导0是多余的,选项D是二进制表示,但C语言标准中不支持以0b开头的二进制常量。

2. 若有以下C语言代码段:```cint a = 5, b = 10;float c = 12.5;double d = 1.5;```则下列哪个表达式的值是正确的?A. a + b + cB. a + b + dC. a + c + dD. b + c + d答案:B解析:在C语言中,当不同类型的数据进行运算时,会发生类型提升。

选项A中,a和b是整型,c是浮点型,整型会提升为浮点型,因此表达式的结果为浮点型。

选项B中,a和b是整型,d是双精度浮点型,整型会提升为双精度浮点型,因此表达式的结果为双精度浮点型。

选项C中,a是整型,c和d都是浮点型,整型会提升为浮点型,因此表达式的结果为浮点型。

选项D中,b是整型,c和d都是浮点型,整型会提升为浮点型,因此表达式的结果为浮点型。

只有选项B中的表达式结果类型与变量d的类型一致,因此选项B是正确的。

3. 在C语言中,以下哪个函数用于计算字符串的长度?A. strlenB. strcpyC. strcatD. strcmp答案:A解析:strlen函数用于计算字符串的实际长度,不包括结尾的空字符。

strcpy函数用于复制字符串,strcat函数用于连接字符串,strcmp函数用于比较两个字符串是否相等。

4. 若有以下C语言代码段:```cint a = 10, b = 20;printf("%d %d", a, b);```则执行上述代码后,输出的结果是什么?A. 10 20B. 20 10C. 10D. 20答案:A解析:printf函数按照格式字符串中的格式说明符输出相应的变量值。

二级计算机C语言

二级计算机C语言

全国计算机等级考试二级C语言笔试模拟试题(1)第1题若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是A.a,point,*&a B.&*a,&a,*point C.*&point,*point,&a D.&a,&*point,point 第2题现有如下程序段#include"stdio.h"main(){int k[30]={12,324,45,6,768,98,21,34,453,456};int count=0,i=0;while(k[i]){if(k[i]%2==0‖k[i]%5==0)count++;i++;}printf("%d,%d\n",count,i);}则程序段的输出结果为A.7,8B.8,8C.7,10D.8,10第3题树是结点的集合,它的根结点数目是A.有且只有1B.1或多于1C.0或1D.至少2第4题数据库、数据库系统和数据库管理系统之间的关系是A.数据库包括数据库系统和数据库管理系统B.数据库系统包括数据库和数据库管理系统C.数据库管理系统包括数据库和数据库系统D.3者没有明显的包含关系第5题当k的值不为0时,在下列选项中能够将k的值赋给变量m,n的是A.m=k=n B.(m=k)&&(n=k)C.(m=k)||(n=k)D.(k=m)&&(n=k)第6题设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是A.x&&y B.x<=y C.x||++y&&y-z D.!(x第7题以下不正确的定义语句是A.double x[5]={2.0,4.0,6.0,8.0,10.0};B.int y[5.3]={0,1,3,5,7,9};C.char c1[]={′1′,′2′,′3′,′4′,′5′};D.char c2[]={′\x10′,′\xa′,′\x8′};第8题阅读下面程序段,则执行后的结果为#include"stdio.h"main(){int m=4,n=2,k;k=fun(m,n);printf("%d\n",k);}fun(int m,int n){return (m*m*m-n*n*n);}A.64B.8C.56D.0第9题软件工程的理论和技术性研究的内容主要包括软件开发技术和A.消除软件危机B.软件工程管理C.程序设计自动化D.实现软件可重用第10题以下叙述中不正确的是A.在不同的函数中可以使用相同的名字的变量B.函数中的形式参数是局部变量C.在一个函数内定义的变量只在本函数范围内有效D.在一个函数内的复合语句中定义的变量在本函数范围内有效第11题函数fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始点是A.文件开始B.文件末尾C.文件当前位置D.以上都不对第12题C语言结构体类型变量在程序执行期间A.所有成员一直驻留在内存中B.只有一个成员驻留在内存中C.部分成员驻留在内存中D.没有成员驻留在内存中第13题以下对结构体类型变量的定义中,不正确的是A.typedef struct aa{int n;float m;}AA;AA tdl;B.#define AA struct aa AA{int n;float m;}tdl;C.struct{int n;float m;}aa;struct aatdl;D.struct{int n;float m;}tdl;第14题有如下程序main(){char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A.69825B.63825C.6385D.693825第15题以下程序的输出结果是main(){int a=21,b=11;printf ("%d\n",--a+b,--b+a);}A.30B.31C.32D.331-5:D,D,A,B,B6-10:D,B,C,B,D11-15:B,AC,C,A第16题下列程序的输出结果是main(){double d=3.2;int x,y;x=1.2;y=(x+3.8)/5.0;printf("%d\n",d*y);}A.3B.3.2C.0D.3.07第17题若有条件表达式(exp)?a++:b--,则以下表达式中能完全等价于表达式(exp)的是A.(exp==0)B.(exp!=0)C.(exp==1)D.(exp!=1)第18题数据库设计包括两个方面的设计内容,它们是A.概念设计和逻辑设计B.模式设计和内模式设计C.内模式设计和物理设计D.结构特性设计和行为特性设计第19题表达式0x13^0x17的值是A.0x04B.0x13C.0xE8D.0x17第20题检查软件产品是否符合需求定义的过程称为A.确认测试B.集成测试C.验证测试D.验收测试16-20:CBAAA第21题下列关于字符串的说法中错误的是A.在C语言中,字符串是借助于字符型一维数组来存放的,并规定以字符′\0′作为字符串结束标志B.′\0′作为标志占用存储空间,计入串的实际长度C.在表示字符串常量的时候不需要人为在其末尾加入′\0′D.在C语言中,字符串常量隐含处理成以′\0′结尾第22题以下不能对二维数组a进行正确初始化的语句是A.int a[2][3]={0};B.int a[][3]={{1,2},{0}};C.int a[2][3]={{1,2},{3,4},{5,6}}; D.int a[][3]={1,2,3,4,5,6};第23题阅读下列程序,程序的输出结果是#include"stdio.h"main(){int m,n; float k;for(m=6;m>2;m--){k=0;for(n=m;n>1;n--)k=k+m*n;}printf("%f \n",k);}A.5.000000B.15.000000C.25.000000D.35.000000第24题下面程序段的运行结果是char a[]="lanuage",*p;p=a;while(*p!=′u′){printf("%c",*p-32);p++;}A.LANGUAGE B.language C.LAN D.langUAGE第25题阅读下面程序,则执行后的结果为#include"stdio.h"main(){char *str="abcdefghijklmnopq";while(*str++!=′e′);printf("%c\n",*str);} A.f B.a C.e D.q21-25:B,CBCA第26题设有数组定义:char array[]="China";则数组array所占的空间为A.4个字节B.5个字节C.6个字节D.7个字节第27题若变量c为char类型,能正确判断出c为小写字母的表达式是A.′a′<=c<=′z′B.(c>=′a′)||(c<=′z′)C.(′a′<=c)and(′z′>=c)D.(c>=′a′)&&(c<=′z′)第28题假设线性表的长度为n,则在最坏情况下,冒泡排序需要的比较次数为A.log2n B.n2C.O(n1.5)D.n(n-1)/2第29题下列合法的整型常量的表示是A.098B.oXde C.32767D.0xDG第30题下列函数的运行结果是main(){int i=2,p;int j,k;j=i;k=++i;p=f(j,k); printf("%d",p);}int f(int a,int b){int c;if(a>b)c=1;else if(a==b)c=0;else c=-1;return(c);}A.-1B.1C.2D.编译出错,无法运行26-30:CDDCA第31题已知int a=6;则执行a+=a-=a*a;语句后,a的值为A.36B.0C.-24D.-60第32题一些重要的程序语言(如C语言和Pascal语言)允许过程的递归调用。

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案

全国计算机等级考试二级c语言题库及答案一、单项选择题1. 在C语言中,以下哪个选项是正确的数据类型?A. 整型(int)B. 浮点型(float)C. 字符型(char)D. 所有选项都是答案:D2. 下列哪个函数用于计算两个数的和?A. max()B. min()C. sum()D. pow()答案:C3. 在C语言中,以下哪个关键字用于定义一个函数?A. ifB. whileC. returnD. void答案:D二、填空题1. 在C语言中,用于定义一个整型变量的关键字是________。

答案:int2. 字符串在C语言中是以________字符结尾的字符数组。

答案:'\0'3. C语言中,用于循环结构的关键字有________和________。

答案:for 和 while三、编程题1. 编写一个C语言程序,计算并输出1到100之间所有偶数的和。

```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 2 == 0) {sum += i;}}printf("The sum of even numbers from 1 to 100 is: %d\n", sum);return 0;}```2. 编写一个C语言函数,实现字符串的反转。

```c#include <stdio.h>#include <string.h>void reverseString(char str[]) {int len = strlen(str);for (int i = 0; i < len / 2; i++) {char temp = str[i];str[i] = str[len - i - 1];str[len - i - 1] = temp;}}int main() {char str[] = "Hello, World!";reverseString(str);printf("Reversed string: %s\n", str);return 0;}```以上是全国计算机等级考试二级C语言题库及答案的部分内容,涵盖了选择题、填空题和编程题。

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析

计算机二级c语言试题及答案解析一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的整型常量?A. 0x12B. 0123C. 0x123.456D. 0123456答案:A解析:在C语言中,十六进制常量以0x或0X开头,后跟十六进制数字。

选项A表示十六进制数,是合法的整型常量。

选项B表示八进制数,选项C表示浮点数,选项D是无效的表示。

2. 下列哪个选项是C语言中的关键字?A. switchB. caseC. defaultD. all of the above答案:D解析:在C语言中,switch、case和default都是关键字。

switch用于条件分支,case用于指定分支条件,default用于指定默认分支。

3. 在C语言中,以下哪个选项是合法的字符常量?A. 'A'B. "A"C. '\t'D. 'AB'答案:C解析:在C语言中,字符常量用单引号括起来,可以是单个字符或转义字符。

选项A是合法的字符常量,但选项B是字符串常量。

选项C 是合法的转义字符,表示水平制表符。

选项D是两个字符,不是合法的字符常量。

4. 在C语言中,以下哪个选项是合法的数组声明?A. int a[];B. int b[10];C. int c[10] = {0};D. all of the above答案:D解析:在C语言中,A选项声明了一个未指定大小的整型数组,B选项声明了一个大小为10的整型数组,C选项声明了一个大小为10的整型数组并初始化所有元素为0。

所有选项都是合法的数组声明。

5. 在C语言中,以下哪个选项是合法的函数声明?A. int func(int x);B. int func(int);C. int func();D. int func(int, int);答案:D解析:在C语言中,函数声明需要指定返回类型、函数名和参数列表。

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

计算机二级考试C语言模拟试题一一、选择题1、设整型变量a为5,使b不为2的表达式是( )。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与( )组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。

int x=10,y=10;printf(“%d %d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为( )。

A.P+i*2B. P+(i-1)*2C. P+(i-1)D. P+i5、选出下列标识符中不是合法的标识符的是( )。

A. hot_doB. cat1C. _priD. 2ab6、以下程序的输出结果是( )。

int a=5;float x=3.14;a*=x*(‘E’ - ‘A’);printf(“%f\n”,(float)a);A. 62.000000B. 62.800000C. 63.000000D. 627、设有说明double(*p1)[N];其中标识符p1是( )。

A. N个指向double型变量的指针。

B. 指向N个double型变量的函数指针。

C. 一个指向由N个double型元素组成的一维数组的指针。

D.具有N个指针元素的一维指针数组,每个元素都只能指向double型量。

8、在C程序中有如下语句:char *func(int x,int y); 它是( )。

A. 对函数func的定义。

B. 对函数func的调用。

C.对函数func的原型说明。

D. 不合法的。

9、以下程序的输出结果是( )。

char str[15]=”hello!”;printf(“%d\n”,strlen(str));A. 15B. 14C. 7D. 610、分析以下程序的输出结果是( )。

main(){int a=5,b=-1,c;c=adds(a,b);printf(“%d”,c);c=adds(a,b);printf(“%d\n”,c); }int adds(int x,int y){static int m=0,n=3;n*=++m;m=n%x+y++;return(m); }A. 2,3B. 2,2C. 3,2D. 2,411、下列描述中不正确的是( )。

A. 字符型数组中可能存放字符串。

B. 可以对字符型数组进行整体输入、输出。

C. 可以对整型数组进行整体输入、输出。

D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

12、以下程序的输出结果是( )。

#define f(x) x*xmain(){int a=6,b=2,c;c=f(a)/f(b);printf(“%d\n”,c);}A. 9B. 6C. 36D. 1813、设有如下定义: int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是( )。

A. 1B. 0C. 4D. 314、定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]); 的输出结果是( )。

A. 1 5 9B. 1 4 7C. 3 5 7D. 3 6 915、以下对二维数组a进行正确初始化的是( )A. int a[2][3]={{1,2},{3,4},{5,6}};B. int a[ ][3]={1,2,3,4,5,6};C. int a[2][ ]={1,2,3,4,5,6};D. int a[2][ ]={{1,2},{3,4}};16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是( )。

int x;scanf("%d",&x);if(x++>5) printf("%d",x);else printf("%d\n",x - -);A. 7和5B. 6和3C. 7和4D. 6和417、设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是( )。

A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符’a’和’A’的地址18、下列程序的输出结果是( )。

char *p1="abcd", *p2="ABCD", str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A. xyabcABB. abcABzC. ABabczD. xycdBCD19、下列程序的输出结果是( )。

int a[5]={2,4,6,8,10},*P,* *k;p=a; k=&p;printf("%d",*(p++));printf("%d\n",* *k);A. 4 4B. 2 2C. 2 4D. 4 620、不能把字符串:Hello!赋给数组b的语句是( )。

A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};B. char b[10]; b="Hello!";C. char b[10]; strcpy(b,"Hello!");D. char b[10]="Hello!";二、读程序题1、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________ 。

2、int x=6, y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是__________ 。

3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。

4、for (a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){b+=3; continue;}b-=5; }程序的输出结果a的值为__________ 。

5、 int y=1, x, *p, a[ ]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf("%d\n",y);程序的输出结果y的.值是__________ 。

三、程序填空题1、从键盘上输入10个数,求其平均值。

main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){__________ ;__________ ; }printf(“average=%f\n”,sum/10); }2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

#includemain(){ FILE *fp;char c;fp=__________ ;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________ }3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.main(){ float x,amax,amin;scanf("%f",&x);amax=x; amin=x;while( ){ if(x>amax) amax=x;if( ) amin=x;scanf("%f",&x); }printf("\namax=%f\namin=%f\n",amax,amin); }四、编程题1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。

2.输出1900~2000年中所有的闰年。

每输出3个年号换一行。

(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。

或者能被400整除。

)3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。

A的值由主函数从键盘读入。

4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

相关文档
最新文档