版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章C语言基础知识一、选择题1.计算机能直接执行的程序是( A ) A.源程序 B.目标程序C.汇编程序 D.可执行程序2.用户自定义标识符正确的是( B ) A.3ab B.intC.fa2_a D.sin(x)3.可用于C语言用户标识符的是( D ) A.void,define B.2c,DO C.For,-abc D.as_b3,_1234.下列为C语言保留字的是( A ) A.real B.long C.pointer D.integer5.下列不属于保留字的是( D ) A. default B. printf C. struct D. unsigned6.下列用户自定义标识符正确
2、的是( B ) A. 4a B. b_1C. -& D. *p7.以下正确的C语言自定义标识符是(A ) A_la B2a_ CdoDa.128.合法的用户标识符是( D ) A. default B. #define C. a+b D. book9.自定义标识符正确的是( C ) A.5d_m B.const C.x4y D.book-110.以下属于C语言保留字的是(B ) Afopen Binclude Cget Dunsigned 11.以下选项中,能用作用户标识符的是( C ) A.void B.8_8 C._0_ D.unsigned12可以作为自定义标识符的是(D ) A2 Bb
3、reak Cm-n Dm_n13.以下选项中合法的标识符是( C ) A. 1_1 B.11 C._11 D.1_ _14.以下C语言用户标识符中,不合法的是( D ) A._1 B.AaBc C.a_b D.a-b15.可以用作C程序标识符的一组是(D ) A.printB.iam C.Pxq D.Cpp oodb one-half line# pow aBc3pai His.age while16.下列不属于C语言保留字的是( D ) A. char B. while C. for D. look17.C语言的保留字是( )A. define B. scanf C. do D. inclu
4、de18.错误的实型常数是( )A. .0 B. 0.E0 C. 0.0 D.0E+0.019.以下选项中不能作为C语言合法常量的是( )Acd B.0.1e+6 C.a D. 01120.正确的C语言字符常量是( B )A. B.65 C.“A” D.n21.下列不能作为常量的是( A )A. 0582 B. 0xa5 C. n D. 2.5e-222.不属于字符型常量的是( A )A. s B. 8 C. A D. n23.在C语言中,错误的int类型的常数是(C )A1E5 B0 C037 D0xaf24.在C语言中,错误的常数表示是(D )A0L B-0x6a C6 D1.234E3.
5、525.以下选项中,能用作数据常量的是( D )A.o115 B.0118 C.1.5e1.5 D.115L26在C语言中,a和a存储所占用的字节数分别是(A )A1,1 B1,2 C2,1 D2,227正确的变量定义是( D)Along d=1000L;Bfloat m1=m2=10.0;Cchar c1=A,c2=A;Ddouble for=0.618;28表达式的值为0的是(C )A5/5%5 B52 C!4 D0x7&729.主函数头中的“main”是( B )A.常量名B.函数名 C.变量名D.类型名30.下列运算符中优先级最高的是( D )A.?:B.& C.D.!31.下列运算符
6、的操作数必须是整型的是( B )A. B.! C. D.=32.下列转义字符中,错误的是( D )A.n B. C.108 D.xbb33.在C语言中,整型常量的书写形式不包括( D )A.二进制B.八进制C.十进制 D.十六进制34.以下选项中正确的定义语句是( C )A.double a;b;B.double a=b=7;C.double a=7,b=7; D.double,a,b;35.设有定义:int x=2;,以下表达式中,值不为6的是( B D )A.x*=x+1 B.x+,2*x C.x*=(1+x) D.2*x,x+=236.以下关于C语言数据类型使用的叙述中错误的是( )A.
7、若要准确无误差的表示自然数,应使用整数类型B.若要保存带有多位小数的数据,应使用双精度类型C.若要处理如人员信息等含有不同类型的相关数据,应自定义结构体类型D.若只处理真和假两种逻辑值,应使用逻辑类型37.若a是数值类型,则逻辑表达式(a=1)|(a!=1)的值是( A )A.1B.0 C.2 D.不知道a的值,不能确定38.若有定义语句:int x=10;,则表达式x-=x+x的值为( B )A.-20 B.-10 C.0 D.1039.表达式0&3|4和2&1的值分别是( D )A.4和0B.4和1 C.1和0 D.1和140. 设char c=A;int i=l, j;,执行j=!c&i
8、+;后,i和j的值分别是( A )A. 1和0B. 1和1C. 2和0 D. 2和l41. 设int a;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是( B )A. 1和2B. 2和3C. 3和4D. 4和542.设int a=0,b=1;,下列语句错误的是( D )A.a=b=10;B.a+;C.b+=a; D.(a+b)+;43.能正确表达数学关系式0x20的C语言表达式是( C )A.0=x=0|x=0&x20 D.!(x=0)&x2044.设double x=5.168;,执行printf(“5.3fn”,(int)(x*10+0.5)10.0);后的输出结果是( A
9、 )A.5.218B.5.210C.5.200 D.5.16845.设char ch=a;,执行printf(“d,cn”,ch,ch+2);后的输出结果是( A )A.97,cB.97,99C.a,c D.a,a+246.设int i=8,a,b;double x=1.42,y=5.2;,正确的表达式是( )A.a+=(b=4)*(a=3) B.a=a*3=2 C.x(-3)+y* *3 D.y=float(i)47.表达式:(int)(double)9/2)-(9)%2的值是( B )A、0B、3C、4D、548. 设char k=a;float j=2.0;,执行k+=5/j;print
10、f(“c”, k);后,输出结果是( C )A. aB. bC. c D. d49.设char c=A;int i=1,j;,执行语句j=!ci+;后,i和j的值分别是( B )A.0和1B.1和0C.1和65D.2和6650.设int x=6;,执行语句x+=x-=x*x;后,x的值是( A )A.-60 B.0 C.6 D.3651.设int i=3,j=3;,表达式i+j的值是( A )A.6 B.7 C.8 D.952.设int a=2,b=6,c=8;,表达式(a,b),(c,10)的值是( D )A.2 B.6 C.8 D.1053.下列表达式值为0的是( A )A.6%2B.2&
11、5 C.!2|5D.2|554. 设int a,b;,则表达式(b=2, a=5, b+, a+b)的值是( C )A. 2 B. 5 C. 7 D. 855.以下关于C语言的叙述中正确的是( B )A.C语言中的注释可以夹在变量名或关键字的中间B.C语言中的变量必须在使用之前进行定义C.在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D.C语言的数值常量中夹带空格不影响常量值的正确表示56.设函数中有整型变量n,为保证在未赋初值的情况下初值为0,应选择的存储类别是 A.auto B.register C.static D.auto或register57.执行以下程序段后,w的值为(
12、 )int w=A,x=14,y=15;w=(x|y)&(wa);A.-1 B.NULL C.1 D.058.若有表达式(w)?(-x):(+y),则其中与w等价的表达式是( C )A.w=1 B.w=0 C.w!=1 D.w!=059. 设int a=7; float x=2.5, y=4.7;, 则表达式x+3(int)(x+y)/4的值是(C )A. 2.75 B. 3.5 C. 2.5 D. 0.060. 设char cl; , 则cl中为小写英文字母字符的正确表达式为( B )A. a=a)&(cl=a)&(c1=z)D. (a=c1)61.设static int a;,执行表达式(
13、a= =1)&(a=-1)&(a=2)后,a的值是( C )A.-1B.0C.1D.262.若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是( )A.a=a+,i+; B.i=(a+k)b)&(c=1)后c的值是( D )A.0 B.1 C.2 D.369. 已知字符A的ASCII码值是65,且char cl=A, c2=D;则执行语句printf(d,dn,cl,c2-2);后的输出结果是( D )A. A, D B. A, B C. 65, 68 D. 65, 6670. 若有下列程序段:int x=l, y=2;x=x+y;y=x-y;x=x-
14、y;则执行后x和y的值分别为( C )A. 1和2 B. 2和2 C. 2和1 D. 1和171. 设int a=3,b=4;,则printf(“d,d,”(a,b),(b,a);的输出结果是( B )A. 3,4 B. 4,3 C. 3,4,4,3 D. 4,3,3,472.设int x=2,y=4;,值为非0的表达式是( C )A. 1/x*yB. 1/(x*y)C. 1.0/x/yD. 1/x/ (double)y73.设int a=2,b=5;,结果为0的表达式是( D )A. a%b B. a&b C. a=b D. a=b74.设int a=0;错误的语句是( D )A. +a;
15、B. a+; C. a=-a; D. (-a)+;75.设int a=1,b=2,c=3,d=4,f;,执行语句f=(a!=b)?c+:d+;后f的值是( B )A. 2 B. 3 C. 4 D. 576.下列运算符优先级最高的是( C )A. += B. , C. ! D. ?:77设int a=1,b=2;,则执行a=b+2,a+,a+b;后a和b的值分别是( D)A1和2 B3和2 C4和7D5和278设int a=2,b=3,c=4;,则表达式ab&b0?3*x:(x=10);后,变量x的值是(B )A1 B2 C6 D1080设有以下程序段:int x=2,y=2,z=0,a; a=
16、+x|+y&z+;printf(%d,%d,%dn,x,y,z);执行后输出的结果是( )A2,2,0 B3,3,1 C3,2,0D3,2,181逗号表达式a=2*6,a*3,a+5的值是()A12 B17 C36 D4182在C语言中,下列运算符中结合性属于自右向左的是( )A& B- C* D( )83设int x=10, a=0, b=25;,条件表达式x1?a+10b的值是( )A0 B1 C10 D2584C语言中,下列运算符优先级最高的是( )A! B C( ) D=85设有以下程序段: int a=1, b=10, c=1, x; x=a&b|+c;printf(%d, %dn,
17、x,c);执行后输出的结果是( )A0,0B0,1C1,0D1,186在C语言中,运算符和的功能分别是( )A关系运算和赋值运算 B赋值运算和关系运算C都是关系运算D都是赋值运算87若main()函数带参数,参数个数最多是( )A0 B1 C2 D388.设char a=70;则变量a中( )A.包含1个字符 B.包含2个字符 C.包含3个字符 D.是非法表示89.设int i=10;,表达式30-i=i=0&y=0); D.if(x=0)a=5;b=10;91. 下列关于C语言的叙述错误的是( ) A. 英文字母大小写不加以区分B. 不同类型的变量可以出现在同一个表达式中C. 在赋值表达式中
18、赋值号两边的类型可以不同D. 某些运算符在不同的场合可以有不同的含义92. 下列转义字符中错误的是( ) A. 000 B. 14 C. x111 D. 293. 设float a=2,b=4,c=3;以下C语言表达式与代数式(a+b)c计算结果不一致的是( ) A. (a+b)*c/2 B. (1/2)*(a+b)*c C. (a+b)*c*1/2 D. c/2*(a+b)94. 设int a=10, b=20, c=30;条件表达式ac)?(b+1):(c+2),后a的值是 _。4.在C语言中,+运算符的结合性是 。5.表达式(int)(double)(5/2)+2.5)的值是 。6.若有
19、定义语句:int a=5;,则表达式:a+的值是 _。7.若有语句double x=17;int y;,当执行y=(int)(x/5)%2;之后y的值为 。8.表达式3 !=6的值是 。9.设int x=10,y=3;,执行printf(“d,dn,x-,+y);后的输出结果是 。10.设int a,b,c;,表达式a=2,b=5,b+,a+b的值是 。11.设int a=1,b=2,m=2,n=2;,执行表达式(m=ab)|+n后,n的值是 。12.设int x=4,y=2;,表达式xy?y:x+的值是 _。13.设int x=3;,执行语句printf(x2)?(*dn):(#dn),x)
20、;后,输出结果是 。14.执行printf(“dn”,1+!2+(3=0?x:-x;后y的值是 。26.设x为int型变量,请写出一个关系表达式 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。27.设int a=10;,则执行语句a+=a-=a+a;后a 的值是 。28.设int x=3,y=5;,则执行printf(%dn,x|y);后输出 。29.设int a=2;,则执行a+=a*=15;后,变量a的值是 。30.C语言中,&作为双目运算符表示的运算是 。31.int a; float b; char c; long d; double e; , 则表达式a/c-b+d-e值的类
21、型是 。32.设int x=5;x+=x-=x+x;则执行printf (%dn, x);后输出的值是 。33.设int a=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是 。34.设int a=0,b=0,c=2,d=4;,则执行(c=a= =b)|(d=b= =a);后变量d的值是 。35.设int x;,则将x强制转换为双精度类型应写成 。36.设int x=2, y=1;则表达式x+y的值是 。37.设int a=-3, b=7, c=-1;则执行(a=0)&(a=a%bb/c);后变量a的值是 。38.设int a, b, c;则执行a=(b=3,
22、c=5, b=10);后变量a的值是 。第二章输入输出函数一、选择题1设float x; 由键盘输入 12.45,能正确读入数据的输入语句是()Ascanf(%5f,&x);Bscanf(%5d,&x);Cscanf(%f,x); Dscanf(%s,&x)2设int x; 则以下语句中错误的输入是()Ascanf (%d,x); Bscanf (%d,&x);Cscanf (%o,&x); Dscanf (%x,&x);3.执行语句printf(|%9.4f|n,12345.67);后的输出结果是()A.|2345.6700| B.|12345.6700|C.|12345.670| D.|1
23、2345.67|4. 执行语句printf(%x, -1);后输出结果是( ) A. -1 B. ffff C. 1 D. ffff5. 使用语句scanf(a=%f, b=%f, &a, &b);输入变量a、b的值,正确的是( ) A. 1.25,2.4 B. 1.252.4 C. a=1.25, b=2.4 D. a=1.25b=2.46.设int a,b;为使变量a和b分别获得数据10和20,则下列正确的是( )A.scanf(%d,%d,&a,&b);输入数据:10,20B.scanf(%d,%d,&a,&b);输入数据:10 20C.scanf(%d,%d,&a,&b);输入数据:a
24、=10,b=20D.scanf(%d,%d,a,b);输入数据:10,207设宏定义#define PI 3.,用宏名PI替换的是()A算术表达式 B字符串 C单精度实型数D双精度实型数8.关于宏定义命令,叙述正确的是( )A.在程序编译前进行宏替换B.在程序编译时进行宏替换C.在程序编译后进行宏替换D.在程序运行时进行宏替换9.以下叙述正确的是()A.宏名必须用大写的英文字母表示B.宏定义不仅是符号替换,也可以赋值C.宏替换是在程序编译时完成的,不占用程序运行时间D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致10.设宏定义#define P(x) x/x则执行语句printf(
25、%dn,P(4+6);后的输出结果是( )A.1B.8.5 C.11D.11.511.程序段int x=12;double y=3.;printf(%d%8.6f,x,y);的输出结果是( )A123.B12 3.C12,3. D123.12.有以下程序运行后的输出结果是( )#include#define SUB(a) (a)-(a)main() int a=2,b=3,c=5,d; d=SUB(a+b)*c; printf(%dn,d);A0B-12C-20D-513.有以下程序运行后的输出结果是( )#include main() int a=1,b=0; printf(%d,b=a+b
26、); printf(%dn,a=2*b);A0,0B1,0 C3,2D1,214.设有宏定义:#define IsDIV(k,n) (k%n=1)?1:0)且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&IsDIV(m,7)为真时所要表达的是( )A判断m是否能被5或者7整除B判断m是否能被5和7整除C判断m被5或者7整除是否余1 D判断m被5和7整除是否都余115.main()char a,b,c,d; scanf(%c%c,&a,&b);c=getchar();d=getchar();printf(%c%c%c%cn,a,b,c,d);当执行程序时,按下列方式输入数据(从第1列开
27、始,代表回车,注意:回车也是一个字符)1234则输出结果是( )A1234B12C123D12316.有以下程序(已知字母A的ASCII码为65)运行后的输出结果是( )#include main() char c1,c2; c1=A+8-4; c2=A+8-5; printf(%c,%dn,c1,c2);AE,68BD,69CE,DD输出无定值17.阅读以下程序,该程序在编译时产生错误,其出错原因是( )#include main() int case;float printF; printf(请输入2个数: ); scanf(%d %f,&case,&printF); printf(%d
28、%fn,case,printF);A定义语句出错,case是关键字,不能用作用户自定义标识符B定义语句出错,printF不能用作用户自定义标识符C定义语句无错,scanf不能作为输入函数使用D定义语句无错,printf不能输出case的值18.#define f(x) x*x*xmain()int a=3,s,t; s=f(a+1);t=f(a+1); printf(%d,%dn,s,t);程序运行后的输出结果是( )A10,64B10,10C64,10D64,6419. #define PT 3.5#define S(x) PT*x*x main() int a=1,b=2;printf(%
29、4.1fn,S(a+b);程序运行后的输出结果是( )A14.0B31.5C7.5 D程序有错无输出结果20.设int a=2,b=3,x,y; 则能正确执行的语句是()Ascanf(%d,%d,x-y,x+y); Bprintf(%dn,a%b); Cprintf(%fn,a+b); Dscanf(%d,%d,x,y);21.若变量已正确定义为int型,要通过语句scanf (%d,%d,%d,&a,&b,&c); 给a赋1、给b赋值2、给c赋值3,以下输入形式中错误的是( )(代表一个空格符)A1,2,3 B123 C1,2, 3 D1,2,322.有以下程序段,程序的输出结果是( )in
30、t a,b,c; a=10; b=50; c=30;if(ab) a=b; b=c; c=a; printf (a=%d b=%d c=%dn,a,b,c);Aa=10 b=50 c=10 Ba=10 b=50 c=30 Ca=10 b=30 c=10 Da=50 b=30 c=50二、填空题 1.若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:a=7b=9请完成输出语句:printf( ,a,b);2.设宏定义#define K 2+3 执行printf(“dn”,KK);后的输出结果是_。3设有宏定义#define X 10-4,则printf(“dn”,6*X);的输出
31、结果是_。4.设int a=12;语句printf(%dn,(a/3,a%3,a/100);的输出结果是 。5执行语句printf(%sn , World0Wide0Web);后的输出结果是_。6设int a,b=5;,则执行表达式a=b-2=3后a的值是_。7设float x=23.65; 则执行语句printf (%dn,(int)(x+0.5);后输出结是_。8.若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(_ ,x/y);补充完整,使其输出的计算结果形式为:x/y=11。9.执行下面程序后的输出结果是_。#define MOD(a,b) a%bma
32、in() int x=4,y=16,z; z=MOD(y,x);printf(%dn,z+); 10.执行下面程序后的输出结果是_。 #define F(x) x*x main ( ) int a=3, b=4, c; c=F(a+b); printf (%dn, c); 11.执行下面程序后的输出结果是_。 #include main() int x=20; printf(%d ,0x20); printf(%dn,0x & x20); 12.执行下面程序后的输出结果是_。 #define M 23 ? 5:6 main( )int i=3, j, k; j=i+M; k=i+(M); pr
33、intf (%d, %dn, j, k); 13.执行下面程序后的输出结果是_。main() float x=3.6; int i; i=x; printf(x=%5.3f, i=%dn,x,i); 14.设从键盘输入:420,执行下面程序后的输出结果是_。 main( ) char c; while (c=getchar( ) )!=n) switch(c-0) case 0: case 1:putchar(c+2); case 2:putchar(c+3);break; case 3:putchar(c+4); default:putchar(c+1);break; printf(n);
34、第三章选择结构一、选择题1.以下是if语句的基本形式: if(表达式) 语句; 其中表达式( )A.必须是逻辑表达式 B.必须是关系表达式C.必须是逻辑表达式或关系表达式 D.可以是任意合法的表达式2.switch(表达式) 语句中的“表达式”允许的类型是( )A.float, int B.float, int, charC.int, char D.char, double3.设int n, p=0;与语句if(n!=0)p=1;等价的是( )A.if(n)p=1; B.if(n=1)p=l; C.if(n!=1)p=1; D.if(!n)p=l;4.正确的条件语句为( )A.if(a=b;)
35、0)t=a; B.if(a=b)0)then t=a;C.if(ab)t=a; D.if(ab?(bc?1:0):0;功能相同的是( )A.if(ab)&(bc) k=1; B.if(ab)|(bc) k=1; else k=0; else k=0;C.if(ab) k=1 else if(bc) k=1; else k=0;6.以下选项中与if(a=1)a=b;else a+;语句功能不同的switch语句是( ) A.switch(a) B.switch(a)case 1:a=b;break; default:a+;break; default : a+; case 1:a=b; C.switch(a=1) D.switch(a=1)case 0:a=b;break; case 1:a=b;break;case 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 187红色喜庆金榜题名感谢恩师升学宴活动策划模板下载 2
- 大型设备技术管理制度培训
- 2025《窦娥冤》女性抗争意识课件
- 2025《百合花》中通讯员与新媳妇之间情感的微妙变化课件
- 2026年生态农业观光园开发协议
- 2026年跨境品牌维权代理合同
- 机械安全操作一般规定培训课件
- 楼宇自控运行技师岗位职责培训
- 农电公司安全考核办法培训课件
- 配电室值班安全工作制度培训
- 花草培育课件
- 2026届上海浦东新区高三一模英语试题答案详解(精校打印版)
- 2026年湖南三一工业职业技术学院单招职业技能考试必刷测试卷必考题
- DB53∕T1051.1-2021 金荞麦生产技术规程 第 1 部分:种子种苗质量
- 传媒行业编导岗位招聘考试试卷及答案
- 江苏护理历年单招题库及答案解析
- 模版倾覆应急预案
- 2025年易性症测试题及答案
- 护理标准操作规程(SOP)全集
- 折弯工技能等级评定标准
- DB51T 3062-2023 四川省高标准农田建设技术规范
评论
0/150
提交评论