二级c试题题库复习.docx
- 文档编号:11079656
- 上传时间:2023-05-29
- 格式:DOCX
- 页数:75
- 大小:62.29KB
二级c试题题库复习.docx
《二级c试题题库复习.docx》由会员分享,可在线阅读,更多相关《二级c试题题库复习.docx(75页珍藏版)》请在冰点文库上搜索。
二级c试题题库复习
二级C题库复习
一、二级笔试复习
1.以下叙述中正确的是(C)
A.用C程序实现的算法必须要有输入和输出操作
B.用C程序实现的算法可以没有输出但必须要有输入
C.用C程序实现的算法可以没有输入但必须要有输出
D.用C程序实现的算法可以既没有输入也没有输出
2.C语言规定:
在一个源程序中,main函数的位置(B)
A.必须在最开始B.必须在系统调用的库函数的后面C.可以任意D.必须在最后
3.以下叙述正确的是(A)
A.构成C程序的基本单位是函数B.可以在函数中定义另一个函数
C.mian()函数必须放在其他函数之前D.所有被调用的函数一定要在调用之前进行定义
4.以下叙述正确的是:
(B)
A.C语言的源程序不必通过编译就可以直接运行
B.C语言中的每条可执行语句最终都被转换成二进制的机器指令
C.C源程序经编译形成的二进制代码可以直接运行
D.C语言中的函数不可以单独进行编译
5.用C语言编写的程序(B)
A.可立即执行B.是一个源程序C.经过编译即可执行D.经过编译解释才能执行
6.结构化程序有三种基本结构组成,三种基本结构的算法(A)
A.可以完成任何复杂的任务B.只能完成部分复杂的任务
C.只能完成符合结构化的任务D.只能完成一些简单的任务
7.在一个C程序中(B)
A.用户标识符中可以出现下划线和减号
B.用户标识符中不可以出现减号,但可以出现下划线
C.用户标识符中可以出现下划线,但不可以放在开头
D.用户标识符中可以出现下划线和数字,它们都可以放在开头
8.以下合法的用户标识符是(B)
A.longB._2TestC.3DmaxD.A.dat
9.以下不能定义为用户标识符的是(D)
A.MainB._01C._intD.sizeof
10.以下叙述中错误的是(A)
A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”
C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识
11.以下叙述中正确的是(D)
A.C语言中既有逻辑类型也有集合类型B.C语言中没有逻辑类型但有集合类型
C.C语言中有逻辑类型但没有集合类型D.C语言中既没有逻辑类型也没有集合类型
12.以下定义语句中正确的是(C)
A.chara=’A’b=’B’;B.floata=b=10.0;C.inta=10,*b=&a;D.flaot*a,b=&a;
13.以下选项中可作为C语言合法常量的是(A)
A.-80.B.-080 C.-8e1.0 D.-80.0e
14.以下选项中不属于C语言的类型的是(D)
A.signedshortintB.unsignedlongintC.unsignedintD.longshort
15.以下选项中可以作为C语言中合法整数的是(C)
A.10110BB.0386C.0XffaD.x2a2
16.以下选项中合法的实型常量是(C)
A.5E2.0B.E-3C.2E0D.1.3E
17.以下选项中,不能作为合法实型常量的是(B)
A.1.234e04B.1.234e0.4C.1.234e+4D.1.234e0、
18.已知‘A’的ASCII码值是65,‘a’的ASCII码值是97,则八进制表示的字符型常量‘\101’是(A)
A.‘A’B.‘a’C.‘e’D.非法的常量
19.已经定义ch为字符型变量,以下赋值语句中错误的是(A)
A.ch=‘\’;B.ch=62+3;C.ch=NULL;D.ch=’\xaa’;
20.已经定义c为字符型变量,则下列语句中正确的是(C)
A.c=’97’;B.c=”97”;C.c=97;D.c=”a”;
21.以下选项中,非法的字符常量是(C)
A.’\t’B.’\17’C.“\n”D.‘\xaa’
22.语句printf(“a\bre\’hi\y\\\bou\n”);的输出结果是(C)
A.a\bre\’hi\y\\\bouB.a\bre\’hi\y\bouC.re’hi’youD.abre’hi’y\ou
23.C语言中运算对象必须是整型的运算符是(A)
A.%=B./C.=D.<=
24.设有以下定义inta=0;doubleb=1.25;charc=’A’;#defined2
则下面语句中错误的是(D)
A.a++;B.b++;C.c++;D.d++;
25.以下非法的赋值语句是(C)
A.n=(i=2,++i);B.j++;C.++(i+1);D.x=j>0;
26.以下选项中非法的表达式是(D)
A.0<=x<=100B.i=j=0C.(char)(65+3)D.x+1=x+1
27.若有定义“inta=8,b=5,c;”,执行语句”c=a/b+0.4;”后,c的值是(B)
A.1.4B.1C.2.0D.2
28.以下能正确定义且赋初值的语句是(B)
A.int n1=n2=10;B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5;
29.设有定义:
int k=1,m=2; float f=7;,则以下选项中错误的表达式是(C)
A.k=k>=k B.-k++ C.k%int(f) D.k>=f>=m
30.有以下定义语句doublea,b;intw;longc;若各变量已正确赋值,则下列选项中正确的表达式是(C)
A.a=a+b=b++B.w%((int)a+b)C.(c+w)%(int)aD.w=a==b;
31.以下选项中,与k=n++完全等价的表达式是(A)
A.k=n,n=n+1B.n=n+1,k=nC.k=++nD.k+=n+1
32.若变量已经正确定义并赋值,下面符合C语言语法的表达式是(B)
A.a:
=b+1B.a=b=c+2C.int18.5%3D.a=a+7=b+c
33.若以下选项中的变量已正确定以,则正确的赋值语句是(C)
A.x1=26.8%3B.1+2=x2C.x3=0x12D.x4=1+2=3
34.假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)
A.3.500000B.3C.2.000000D.3.000000
35.设a和b均为double型,且a=5.5、b=2.5,则表达式(int)a+b/b的值是(D)
A.6.500000B.6C.5.500000D.6.000000
36.设变量x为float型且已经赋值,则下列语句中能够将x中的数值保留到小数点后两位,并将第三位四舍五入的是(C)
A.x=x*100+0.5/100.0B.x=(x*100+0.5)/100.0
C.x=(int)(x*100+0.5)/100.0D.x=(x/100+0.5)*100.0
37.设有以下变量定义,charw;intx;floaty;doublez;并已赋确定的值,则表达式w*x+z-y所求得的数据类型为
38.以下不能正确计算代数式 值的C语言表达式是(A)
A.1/3*sin(1/2)*sin(1/2) B.sin(0.5)*sin(0.5)/3 C.pow(sin(0.5),2)/3 D.1/3.0*pow(sin(1.0/2),2)
39.与数学式子
对应的C语言表达式是(C)
A.3*x^n(2*x-1)B.3*x**n(2*x-1)C.3*pow(x,n)*(1/(2*x-1))D.3*pow(n,x)/(2*x-1)
40.设有定义:
floata=2,b=4,h=3;以下C语言表达式与代数式计算结果不相符的是(B)
A.(a+b)*h/2B.(1/2)*(a+b)*hC.(a+b)*h*1/2D.h/2*(a+b)
41.若x和y代表整型数,以下表达式中不能正确表示数学关系|x-y|<10的是(C)
A.abs(x-y)<10B.x-y>-10&&x-y<10C.!
(x-y)<-10||!
(y-x)>10D.(x-y)*(x-y)<100
42.已知i、j、k为int型变量,若从键盘输入1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是(C)
A.scanf(“%2d%2d%2d”,&i,&j,&k);B.scanf(“%d%d%d”,&i,&j,&k);
C.scanf(“%d,%d,%d”,&i,&j,&k); D.scanf(“i=%d,j=%d,k=%d”,&i,&j,&k);
43.有以下程序
main()
{intm,n,p;scanf(“m=%dn=%dp=%d”,&m,&n,&p);
printf(“%d%d%d\n”,m,n,p);}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A)
A.m=123n=456p=789B.m=123n=456p=789C.m=123,n=456,p=789D.123456789
44.以下程序运行时若从键盘输入:
102030<回车>。
输出结果是10300
#include
main()
{intm=0,n=0,p=0;scanf(“%d%*d%d”,&m,&n,&p);
printf(“%d%d%d\n”,m,n,p);}
45.若有以下程序段
intm=0,n=0;charc=’a’;scanf(“%d%c%d”,&m,&c,&n);
printf(“%d,%c,%d\n”,m,c,n);
若从键盘上输入:
10A10<回车>,则输出结果是(A)
A.10,A,10B.16,A,10C.10,a,0D.10,A,0
46.设有定义:
longx=123456L;则以下能够正确输出变量x值的语句是(B)
A.printf(“x=%d\n”,x);B.printf(“x=%ld\n”,x);C.printf(“x=%8dL\n”,x);D.printf(“x=%LD\n”,x);
47.有以下程序
#include “stdio.h”
main()
{ char c1=’1’,c2=’2’;
c1=getchar(); c2=getchar(); putchar(c1); putchar(c2); }
当运行时输入:
a<回车> 后,以下叙述正确的是(A)
A..变量c1被赋予字符a,c2被赋予回车符B.程序将等待用户输入第2个字符
C.变量c1被赋予字符a,c2中仍是原有字符2D.变量c1被赋予字符a,c2中将无确定值
48.已知字母A的ASCII码为65,以下程序运行时若从键盘输入:
B33<回车>,则输出结果是1B
#include “stdio.h”
main()
{ char a, b;
a=getchar(); scanf(“%d”,&b);
a=a-‘A’+’0’;b=b*2; printf("%c %c\n", a,b); }
49.以下叙述中正确的是(B)
A.调用printf函数时,必须要有输出项
B.使用putchar函数时,必须在之前包含头文件stdio.h
C.在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D.调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
50.若有以下程序段
intm=0xabc,n=0xabc;
m-=n;printf(“%X\n”,m);执行后输出的结果是(C)
A.0X0B.0x0C.0D.0XABC
51.以下程序的功能是:
给r输入数据后计算半径为r的圆面积s.程序在编译时出错.出错的原因是(D)
main()
/* Beginning */
{ int r; float s; scanf("%d",&r);
s=p*r*r; printf("s=%f\n",s); }
A.注释语句书写位置错误 B.存放圆半径的变量r不应该定义为整型
C.输出语句中格式描述符非法 D.计算圆面积的赋值语句中使用了非法变量
52.有以下程序
main()
{ char a1=’M’, a2=’m’;
printf("%c\n", (a1, a2) ); }
以下叙述中正确的是(B)
A.程序输出大写字母M B.程序输出小写字母m
C.格式说明符不足,编译出错 D.程序运行时产生出错信息
53.以下程序运行后的输出结果是(A)
main()
{ int x=0210; printf("%X\n",x); }
A.88B.105C.D2D.d2
54.以下程序运行后的输出结果是(C)
main()
{ char c; int n=100; float f=10; double x;
x=f*=n/=(c=50); printf("%d %f\n",n,x); }
A.2,20B.220C.220.000000D.2,20.000000
55.有以下程序
main()
{ intm=12,n=34;
printf("%d%d",m++,++n); printf("%d%d\n",n++,++m); }
程序运行后的输出结果是(A )
A.12353514 B.12353513 C.12343514 D.12343513
56.有以下程序
#include
main()
{char c1,c2,c3,c4,c5,c6;
scanf(″%c%c%c%c″,&c1,&c2,&c3,&c4);
c5=getchar(); c6=getchar();putchar(c1); putchar(c2);
printf(″%c%c\n″,c5,c6); }
程序运行后,若从键盘输入(从第1列开始)123〈回车〉 45678〈回车〉则输出结果是(D)
A.1267 B.1256 C.1278 D.1245
57.设有如下程序段:
intx=2002,y=2003;printf("%d\n",(x,y));
则以下叙述中正确的是(D)
A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出
B.运行时产生出错信息C.输出值为2002D.输出值为2003
58.有以下程序
main()
{intx=102,y=012;
printf(“%2d,%2d\n”,x,y);}
执行后输出的结果是(C)
A.10,01 B.02,12 C.102,10 D.02,10
59.有以下程序
main()
{intx=0256,y=256;
printf(“%O%O\n”,x,y);}
执行后输出的结果是(C)
A.02560400 B.0256256 C.256400 D.400400
60.设有以下程序,以下说法正确的是(C)
main()
{inta=5,b=0,c=1;
if(a=b+c)printf(“***\n”);
elseprintf(“$$$\n”);}
A.有语法错不能通过编译 B.可以通过编译但不能通过连接 C.输出*** D.输出$$$
61.有以下程序
main()
{ int a,b,d=25;
a=d/10%9; b=a&&(-1);
printf("%d,%d\n",a,b); }
程序运行后的输出结果是(B)
A.6,1 B.2,1 C.6,0 D.2,0
62.有以下程序
main()
{ int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3))
printf("%d %d %d\n",i,j,k); }
程序运行后的输出结果是(D)
A.1 2 3 B.2 3 4 C.2 2 3 D.2 3 3
63.若整型变量a、b、c、d中的值依次为:
1、4、3、2.则条件表达式a
a:
c c: d 的值为(A) A.1 B.2 C.3 D.4 64.有以下程序 main() {int a=0,b=0,c=0,d=0; if(a=1) b=1;c=2; else d=3; printf(″%d,%d,%d,%d\n″,a,b,c,d); } 程序执行后的输出结果是(D) A.0,1,2,0 B.0,0,0,3 C.1,1,2,0 D.编译有错 65.有以下程序 #include main() {intx;scanf(“%d”,&x); if(x<=3); else if(x! =10) printf(“%d\n”,x);} 程序运行时,输入的值在哪个范围才会有输出结果(B) A.不等于10的整数 B.大于3且不等于10的整数 C.大于3或等于10的整数 D.小于3的整数 66.有以下程序 #include main() { inta=1,b=2,c=3,d=0; if(a==1&&b++==2) if(b! =2||c--! =3) printf(“%d,%d,%d\n”,a,b,c); elseprintf(“%d,%d,%d\n”,a,b,c); elseprintf(“%d,%d,%d\n”,a,b,c);} 程序运行后的输出结果是(C) A.1,2,3 B.1,3,2 C.1,3,3 D.3,2,1 67.有以下程序 main() { int a=1,b=2,m=0,n=0,k; k=(n=b>a)||(m=a 程序运行后的输出结果是(C) A.0,0 B.0,1 C.1,0 D.1,1 68.若执行以下程序时从键盘上输入9,则输出结果是(B) main() {intx;scanf(“%d”,&x); if(x++<10)printf(“%d\n”,x); else printf(“%d\n”,x--);} A.11 B.10 C.9 D.8 68.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同, 这个选项是(D) A.k%2 B.k%2==1 C.(k%2)! =0 D.! k%2==1 69.有以下程序 main() { int a=5,p; if(p=a! =0)printf("%d\n",p); elseprintf("%d\n",p+2); } 程序运行后的输出结果是1。 70.有以下程序 main() {int a=4,b=3,c=5,t=0; if(a printf(″%d,%d,%d\n″,a,b,c); } 程序执行后的输出结果是503。 71.有以下程序 main() { inta=5,b=4,c=3,d=2; if(a>b>c)printf(“%d\n”,d); elseif((c-1>=d)==1)printf(“%d\n”,d+1); elseprintf(“%d\n”,d+2);} 程序运行后的输出结果是(B) A.2 B.3 C.4 D.编译有错,无结果 72.有定义语句: inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不等于3的是(C)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 试题 题库 复习