江苏省计算机二级试题汇总
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
选择题
●综合
以下关于C源程序的叙述中正确的是(21)。C(10年秋21)
A.注释只能出现在程序的开始位置或语句后面
B.一行中不能写多条语句
C.一条语句可以分写在多行中
D.一个源程序只能保存在一个文件中
以下定义和声明中,语法均有错误的是__________。(09年春21)
①int _f(int x){} ②int f(int f){} ③int 2x=1; ④struct for{int x;};
A.②③B.③④C.①④D.①②③④
●数据类型、运算符与表达式
已有声明“int x=5,y;float z=2;”,以下表达式语法正确的是(24)。D (10年秋24)
A.y=x%z
B.x>0?y=x:y=-x
C.y=x/2=z
D.y=x=z/2
已知字母A的ASCII码是65,字母a的ASCII码是97,变量c中存储了一个大写字母的编码。若要求将c中大写字母编码转换成对应小写字母编码,则以下表达式中不能实现该功能的是(25)。D (10年秋25)
A.c=tolower(c)
B.c=c+32
C.c=c-‘A’+’a’
D.c=(c+’A’)%26-‘a’
以下选项中,()是C语言的关键字(10年春22)
A.printf
B.include
C.fun
D.default
已知有声明“int a=3,b=4,c;”,则执行语句“c=1/2*(a+b);”后,c的值为()(10年春23)A.0 B.3 C.3.5 D.4
已知有声明“int a=3,b=4;”,下列表达式中合法的是()((10年春25)
A.a+b=7
B.a=∣b∣
C.a=b=0
D.(a++)++
已知有声明“int n;float x,y;”,则执行语句“y=n=x=3.89;”后,y的值为()(10年春28)A.3 B.3.0 C.3.89 D.4.0
以下选项中,不能用作C语言标识符的是()(09年秋22)
A.print B.FOR C.&a D._00
已知有声明”long x,y;”且x中整数的十进制表示有n位数字(4 A.y=x/(10*(n-1)) B.y=x%(10*(n-1)) C. y=x%(long)pow(10,n-1) D.y=x%(10^(n-1)) ●顺序结构 以下语句中有语法错误的是(23)。B(10年秋23) A.printf("%d",0xAB); B.printf("%f",3.45E2.5); C.printf("%d",037); D.printf("%5c",'\\'); 已知int类型数据在内存中存储长度为2个字节,以下语句中能正确输出整数32768的是()(09年秋23) A.printf(“%d”,32768); B.printf(“%ld”,32768); C.printf(“%f ”,32768); D.printf(“%c ”,32768); 以下语句中有语法错误的是__________。(09年24) A.printf("%d",0e); B.printf("%f",0e2); C.printf("%d",0x2); D.printf("%s","0x2"); ●选择结构 一元二次方程ax2+bx+c=0有两个相异实根的条件是a≠0且b2-4ac>0,以下选项中能正确表示该条件的C语言表达式(26)。C (10年秋26) A.a!=0,b*b-4*a*c>0 B.a!=0||b*b-4*a*c>0 C.a&&b*b-4*a*c>0 D.!a&&b*b-4*a*c>0 已知有声明”int a=3,b=4,c=5;”,以下表达式中值为0的是()(09年秋24)A.a&&b B.a<=b C.a||b&&c D.!(!c||1) 已知有声明“int a=12,b=15,c;”,则执行表达式“c=(a||(b-=a))”后,变量b和c的值分别为()(10年春29) B.A.3 , 1 B.15 , 12 C.15 , 1 D.3 , 12 已知有声明”long x,y;”,若要求编写一段程序实现“当x大于等于0时y取值1,否则y取值-1”,则以下程序段中错误的是()(09年秋26) A.if(x>=0)y=1;else y=-1; B.y=x>=0? 1:-1; C.switch() D.switch(x-abs(x)) { case x>=0:y=1; break; { case 0:y=1; break; default: y=-1; default: y=-1; } } 1 x>0 以下选项中,不能表示函数sign(x)= 0 x=0 功能的表达式是__________。(09年春23) -1 x<0 A.s=(x>0)?1:(x<0)?-1:0 B.s= x<0 ? -1:(x>0? 1:0) C.s= x<=0? -1:(x==0? 0:1) D.s= x>0?1: x==0? 0: -1 ●循环结构 以下关于break和continue语句的叙述中正确的是(27)。B (10年秋27) A.break和continue语句都可以出现在switch语句中 B.break和continue语句都可以出现在循环语句的循环体中 C.在循环语句和switch语句之外允许出现break和continue语句 D.执行循环语句中的break和continue语句都将立即终止循环 ●数组 已知有声明“char s[20]=”hello”;”,在程序运行过程中,若要想使数组s中的内容修改为”Good”,则以下语句中能够实现此功能的是()(10年春26) A.s=”Good’; B.s[20]=”Good”; C.strcat(s,”Good”); D.strcpy(s,”Good”); 已知有声明”int m[]={5,4,3,2,1}, i=0;”,下列对m数组元素的引用中,错误的是()(09年秋27) A.m[++i] B.m[5] C.m[2*2] D.m[m[4]] 已知有声明”char s[80];”,若需要将键盘输入的一个不含空格的字符串保存到s数组中,则下列语句中正确的是()(09年秋28) A.scanf(“%s”,s); B.scanf(“%s”, s[0]); C.s=gets(); D.s=getchar(); 设有声明“int p[10]={1,2},i=0;”,以下语句中与“p[i]=p[i+1],i++;”等价的是__________。(09年春27) A.p[i]=p[i++]; B.p[++i]=p[i]; C.p[++i]=p[i+1]; D.i++, p[i-1]=p[i]; ●函数 C语言规定,在一个源程序中main函数的位置()(10年春21) A.必须在最开始 B.必须在在最后 C.必须在预处理命令的后面 D.可以在其他函数之前或之后 以下叙述中正确的是()(09年秋21) A.C语言系统以函数为单位编译源程序 B.m ain函数必须放在程序开始 C.用户定义的函数可以被一个或多个函数调用任意多次 D.在一个函数体内可以定义另外一个函数 若函数调用时的实参为变量,则以下关于函数形参和实参的叙述中正确的是()(09年