C语言期末总复习习题第一套.docx
- 文档编号:7378624
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:48
- 大小:45.56KB
C语言期末总复习习题第一套.docx
《C语言期末总复习习题第一套.docx》由会员分享,可在线阅读,更多相关《C语言期末总复习习题第一套.docx(48页珍藏版)》请在冰点文库上搜索。
C语言期末总复习习题第一套
一.单项选择题
1.下列选项中,不是转义字符集中的符号是(C)。
A\\B\’
C074D\0
2.下列给出的符号串中,不属于C语言保留字的是(B)。
AswitchBcher
CcaseDelse
3.下列给出的符号串中,不能作为C语言标识符的是(C)。
Aa_2B_2a
Ca.3Da_3
4.下列属于C语言字符常量的是(C)。
A‘abc’B“\n”
C‘a’D‘a\0’
5.字符串”ABC”再内存占用的字节数为(B)。
A3B4
C6D8
6.设有宏定义“#defineR2+3”,则R*R的宏替换结果正确的是(B)。
A(2+3)*(2+3)B2+3*2+3
C5*5D5.0*5.0
7.设整形变量I的值为3,则表达式i---i的值为(A)。
A0B1
C2D3
8.表达式“10!
=9”的值为(D)。
AtrueB非零值
C0D1
9.设有语句inta=3;则执行了语句a+=a-=a*a;后,变量a的值为(D)。
A3B0
C9D-12
10.下列选项中,正确的赋值表达式为(C)。
Aa=7+b+c=a+7Ba=7+b++=a+7
Ca=(7+b,b++,a+7)Da=7+b,c=a+7
11.若有以下定义语句:
chara;floatc;doubled;则表达式a*b+d-c值的类型为(D)。
AfloatBint
CcharDdouble
12.用十进制数表示表达式“12||012”的运算结果是(A)。
A1B0
C14D12
13.下列一组运算符中,优先级别最高的运算符是(C)。
A<=B=
C%D&&
14.设定“chara=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是(D)。
A00011100B00000111
C00000001D00010100
15.设x,y,z,t均为int类型,则执行下列语句串后,变量t的值为(C)。
X=y=z=0;
If(x=y)t=z;
Elset=!
z;
A不定值B2
C1D0
16.设整形变量m1值为3,m2值为2,m3值为1,执行下列语句后,整形变量m4值为(D)。
Switch(m1=m2==m3+1)
{case1:
m4=1;break;
case2:
m4=3;break;
case3:
m4=2;break;
default:
m4=4;
}
A1B2
C3D4
17.设有数据定义语句“inta[200];”,下列数组元素引用中下标不越界的是(A)。
Aa[-1]Ba[0]
Ca[201]Da[200]
18.若有以下数据定义语句,则数值为4的表达式是(A)。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
Aa[‘g’-‘c’]Ba[4]
Ca[‘d’-‘c’]Da[‘d’-c]
19.语句”printf(“%d\n”,strlen(“ats\n012\1\\”));”的输出结果是(C)。
A11B10
C9D8
20.charx[]={“abcdefg”};
chary[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};则正确的叙述为(C)。
A数组x和数组y等价
B数组x和数组y的长度相同
C数组x的长度大于数组y的长度
D数组x的长度小于数组y的长度
21.下列不正确的转义字符是(C)
A.′\\′B.′\″ C.′\086′D.′\0′
22.下列运算符中,优先级最高的是(A)
A.[]B.++ C.%D.&&
23.下列标识符中,不是C语言保留字的是(C)
A.charB.while C.minD.default
24.下列数据中,不是C语言常量的是(C)
A.′\n′B.″a″ C.e-2D.012
25.若定义了inta;charb;floatc;,则表达式a*b-c的类型是(D)
A.floatB.int C.charD.double
26.若定义了inta,x,y;,则下列语句中不正确的是(D)
A.x=3,y=5;B.++x; C.x=y+=x*30;D.a=y+x=30;
27.设有如下的变量定义:
inti=8,k,a,b;unsignedlongw=5;doublex=1.42,y=5.2;则以下符合C语言语法的表达式是〔A〕
A.a+=a-=(b=4)*(a=3)B.x%(-3)
C.a=a*3=2D.y=float(i)
28.经inta=7;floatx=2.5,y=4.7;说明后,表达式x+a%3*(int)(x+y)%2/4的值是〔A〕
A.2.500000B.2.750000
C.3.500000D.0.000000
29.设有单精度量f,其值为13.8,执行语句n=(int)f%3;后,整型变量的值是〔A〕
A.1B.4C.4.333333D.4.6
30.设intc=5,a;a=2+(c+=c++,c+8,++c);则a=〔B〕
A.15B.14C.13D.16
31.已知字母‘A’的十进制ASCII代码值为65,下面程序段的输出是〔A〕
Charch1,ch2;ch1=’A’+’5’-‘3’;ch2=’A’+’6’-‘3’;printf(“%d,%c\n”,ch1,ch2);
A.67,DB.B,CC.不确定的值D.C
32.设a,b,c为整型数,且a=2,b=3,c=4,则执行完以下语句a*=16+(b++)-(++c)后,a的值是〔A〕
A.28B.30C.32D.26
33.以下语句:
inta=110,b=017;printf(“%x,%d\n”,a++,++b);输出结果是〔A〕
A.6e,15B.6e,16C.6f,15D.6f,16
34.以下程序段intx=10,y=10;printf(“%d%d\n”,x――,――y);的输出结果是〔D〕
A.1010B.99C.010D.109
35.intx=13,y=5;printf(“%d\n”,x%=y/=2);运行结果为〔B〕
A.0B.1C.2D.3
36.已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是〔AC〕
inta1,a2;charc1,c2;
scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);/*
A.10A20B
C.10A20B
37.若定义了intb[][3]={1,2,3,4,5,6,7};,则b数组第一维的长度是(B)
A.2B.3 C.4D.无确定值
38.若定义了x=100;,则表达式x++>100?
x+20:
x+10的值是(A)
A.110B.111 C.120D.121
39.执行printf(″%d\n″,strlen(″t\″066\xee\n″));语句的输出结果是(A)
A.7B.12 C.13D.输出项不合法,无正常输出
40.若定义了intm,n=0,*p1=&m;,则下列与m=n;等价的正确语句是(D)
A.m=*p1;B.*p1=&*n; C.*&p1=&*n;D.*p1=*&n;
41.可以用作C程序标识符的一组是( A )
A.printB.i\am
oodbone-half
aBc3pai
C.PxqD.Cpp
line#pow
His.agewhile
42.以下叙述正确的是( C )
A.宏名必须用大写的英文字母表示
B.宏定义不仅是符号替换,也可以赋值
C.宏替换是在程序编译时完成的,不占用程序运行时间
D.引用带参数的宏时,实际参数与宏定义中的形式参数类型应一致
43.设chara='\70';则变量a中( A )
A.包含1个字符B.包含2个字符
C.包含3个字符D.是非法表示
44.设longi=65539;,执行语句printf("%d",i);后的输出结果是( B )
A.-3B.3
C.65539D.数据不确定
45.设floatc,f;,将数学表达式C=
(F-32)能正确表示成C语言赋值表达式的是( A )
A.c=5*(f-32)/9B.c=5/9(f-32)
C.c=5/9*(f-32)D.c=5/(9*(f-32))
46.设inti=10;,表达式30-i<=i<=9的值是( B )
A.0B.1
C.9D.20
47.以下不能看作一条C语句的是( D )
A.{;}B.a=5,b=5,c=5;
C.if(x>=0&&y=0);D.if(x==0)a=5;b=10;
48.在函数调用时,以下说法正确的是( B )
A.函数调用后必须带回返回值
B.实际参数和形式参数可以同名
C.函数间的数据传递不可以使用全局变量
D.主调函数和被调函数总是在同一个文件里
49.设intx=7;,执行语句x=x<<2;后,变量x的值是( D )
A.1B.3
C.14D.28
50.执行语句printf("|%9.4f|\n",12345.67);后的输出结果是( B )
A.|2345.6700|B.|12345.6700|
C.|12345.670|D.|12345.67|
51.以下说法中正确的是( B )
A.字符型变量可以存放字符串
B.递归调用是指函数调用自己
C.所有的外部函数只能在本文件中被调用
D.在循环体中break语句和continue语句的作用都是结束循环
52.设chars[6],*ps=s;,则正确的赋值语句是( C )
A.s="12345";B.*s="12345";
C.ps="12345";D.*ps="12345";
53.设inta[]={1,2,3,4,5},*p=a;
则数组元素的正确表示是( A )
A.a[2]B.&(a+1)
C.a[5]D.&p
54.对二维数组的正确定义是( C )
A.inta[][]={1,2,3,4,5,6};B.inta[2][]={1,2,3,4,5,6};
C.inta[][3]={1,2,3,4,5,6};D.inta[2,3]={1,2,3,4,5,6};
55.字符数组s不能作为字符串使用的是( D )
A.chars[]="happy";
B.chars[]={"happy"};
C.chars[6]={'h','a','p','p','y'};
D.chars[4]={'h','a','p','p','y'};
56.若定义函数:
fun(inta,floatb)
{returna+b;
}
则该函数的数据类型是( A )
A.intB.void
C.floatD.不确定
57.设
structst
{inta;
floatb;
}s,*p=&s;
则正确的引用是( B )
A.(*).s.aB.(*p).a
C.p->s.aD.p.s.a
58.设enumcolor{red,yellow=2,blue,white,black}r=white;,执行printf("%d",r);后的输出结果是( D )
A.0B.1
C.3D.4
59.以下说法中错误的是( C )
A.共用型数据中所有成员的首地址都是同一个
B.可以用已定义的共用型来定义数组或指针变量的类型
C.共用型数据中的成员可以是结构型,但不可以是共用型
D.用typedef定义新类型取代原有类型后,原类型仍可有效使用
60.设#defineL(x)2*3.14*x
则L(x)是( D )
A.函数名B.函数调用
C.无参的宏名D.带参的宏名
61.字符串”xyzd”再内存占用的字节数为(C)。
A3B4
C5D8
62.设有宏定义“#defineR5+8”,则R*R的宏替换结果正确的是(B)。
A(5+8)*(5+8)B5+8*5+8
C13*13D13.0*13.0
63.下列选项中,不是转义字符集中的符号是(C)。
A\“B\n
C24D\b
64.表达式“10==9”的值为(C)。
AtrueB非零值
C0D1
65.下列选项中,正确的赋值表达式为(C)。
Aa=7+b+c=a+7Ba=7+b++=a+7
Ca=(7+b,b++,a+7)Da=7+b,c=a+7
66.设整形变量I的值为3,则表达式i+++i的值为(A)。
A6B7
C8D9
67.下列给出的符号串中,不属于C语言保留字的是(B)。
AifBChar
CstructDenum
68.下列给出的符号串中,不能作为C语言标识符的是(C)。
Ab2B_2b
Cb.3Db_3
69.下列属于C语言字符常量的是(C)。
A‘ab’B“q”
C‘a’D‘a\0’
70.若有以下定义语句:
chara;floatc;doubled;则表达式a*b+d-c值的类型为(D)。
AfloatBint
CcharDdouble
71.下列一组运算符中,优先级别最高的运算符是(C)。
A==B=
C/D||
72.设x,y,z,t均为int类型,则执行下列语句串后,变量t的值为(C)。
X=y=z=1;
If(x=y)t=z;
Elset=!
z;
A不定值B2
C1D0
73.语句”printf(“%d\n”,strlen(“s\n012\1\\\””));”的输出结果是(D)。
A7B10
C9D8
74.若有以下数据定义语句,则数值为2的表达式是(A)。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
Aa[‘g’-‘c’]Ba[2]
Ca[‘d’-‘c’]Da[‘d’-c]
75.设有数据定义语句“inta[6];”,下列数组元素引用中下标不越界的是(B)。
Aa[-1]Ba[0]
Ca[7]Da[6]
76.设整形变量m1值为4,m2值为5,m3值为7,执行下列语句后,整形变量m4值为(D)。
Switch(m1=m2==m3+1)
{case1:
m4=1;break;
case2:
m4=3;break;
case3:
m4=2;break;
default:
m4=4;
}
A1B2
C3D4
77.用十进制数表示表达式“4||04”的运算结果是(A)。
A1B0
C14D12
78.charx[]={“abc”};
chary[]={‘a’,’b’,’c’};则正确的叙述为(C)。
A数组x和数组y等价
B数组x和数组y的长度相同
C数组x的长度大于数组y的长度
D数组x的长度小于数组y的长度
79.设a为5,执行下列语句后,b的值不为2的是(C)。
Ab=a/2Bb=6-(--a)
Cb=a%2Db=a>3?
2:
2
80.在C语言中,结果不等于4的表达式是(A)。
Asizeof(double)Bsizeof(long)
Csizeof(float)Dsizeof(unsignedlong)
二、填空题
1.一个C程序一般由若干个函数构成,其中至少应包含一个_____main_____函数。
2.在TurboC中,一个int型变量所能表示的数的范围是____-32768~32767______。
3.表达式10<<3+1的值是______160____。
4.若定义了inta[10],*p;,将数组元素a[8]的地址赋给指针变量p的赋值语句是__p=a+8________。
5.若定义了inta=1;,则执行printf(″%d\n″,((a=a+4,a+5),a+6));语句的输出结果是_____11_____。
6.在C语言中,整型常量的书写形式包括:
八进制、十进制和______十六____进制。
7.在C语言中,一个双精度数-5.88在二进制文件里占用的字节数是____8______。
8.C语言标识符的第一个字符必须为下划线或者____字母______。
9.在C语言中,当定义一个函数的类型为void时,说明执行该函数后____没返回值______。
10.下面程序段的运行结果是____20________。
for(a=1,i=-1;-1<=i<1;i++)
{a++;printf(“%2d”,a);}
printf(%2d”,i);
11.设inta[10];则数组a的首元素是_______a[0]___________。
12.设inta=0,b=0,c;,则执行c=(a-=b-5),(a=b,b=3);后变量c的值是________5__________。
13.设inta=0,b=0,c=2,d=4;,则执行(c=a==b)||(d=b==a);后变量d的值是________4__________。
14.设inta[]={1,2,3,4,5,6,7,8},*s=a;
则*(s+1)的值是_________2_________。
15.设chars[]="apple";,则数组s的长度是________6__________。
16.被调用函数执行结束时,此函数中定义的_______static___________类型的变量不被释放。
17.表达式的运算对象可以是常量、函数调用和______变量____________。
18.设intx;,则将x强制转换为双精度类型应写成_______(double)x___________。
19.语句if(!
k)a=3;中!
k与________k==0__________等价。
20.函数调用时,若形参是一个指针变量,而对应的实参是一个数组名,则函数参数的传递方式是_________地址_________传递。
21.设a=3,b=5,c=a,则a
(1)。
22.能表达“20
)。
23.语句”if(e1)if(e2)elses2;”的基本功能是(e1为真,e2为假时执行s2)。
24.设有语句“inta[3][4]={{1},{2},{3}};”,则a[2][1]的值为(0)。
25.C语言标识符是由(字母),(数字)和(下划线)构成的。
26.对于系统函数strcmp()在(第一个字符串小于第二个字符串)时,返回值为小于零的数。
27.执行语句“intb[5]={0},a[][3]={1,2,3,4,5,6};”后,b[3]=(0),
A[0][2]=(3)。
28.设定“chara=3,b=6,c;”,计算表达式c=(a^b)<<2后c的二进制值是(10100)。
29.设有语句inta=4;则执行了语句a+=a-=a*a;后,变量a的值为(-24)。
30.若在程序中用到gets()函数,应在程序开头写(#include
31.执行语句“intb[5]={0},a[][3]={1,2,3,4,5,6};”后,b[4]=(0),
A[1][2]=(6)。
32.Intx,y;x=1;y=2;则表达式1.0+x/y的值为(1.0)。
33.设a=3,b=2,c=a,则a>b>c的值为(0)。
34.能表达“20
)。
35.语句”if(e1)if(e2)s2”的基本功能是(e1和e2都为真时执行s2
)。
36.设有语句“inta[3][4]={{1},{2},{3}};”,则a[1][1]的值为(0)。
37.若在程序中用到puts()函数,应在程序开头写(#include
38.对于系统函数strcmp()在(第一个字符串大于第二个字符串)时,返回值为大于零的数。
39.转移字符是由(\)符号开始的。
40.C语言标识符是由(字母)或(下划线)开头的。
三、程序分析题(
1.main()
{
inta[3][3]={1,4,17,3,6,19,2,5,18},i,s=0;
for(i=0;i<3;i++)
s=s+a[i][2-i];
printf(″s=%d\n″,s);
}
S=25
2.main()
{inti;
for(i=0;i<5;i++)
switch(i%2)
{case0:
printf(″1″);break;
case1:
printf(″0″);
}
}
10101
3.main()
{
int
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习 习题 第一