C语言全部章节复习题docxWord格式文档下载.docx
《C语言全部章节复习题docxWord格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言全部章节复习题docxWord格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
![C语言全部章节复习题docxWord格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-10/25/560d3d9c-34d6-4241-a88a-0dff29483d85/560d3d9c-34d6-4241-a88a-0dff29483d851.gif)
IIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
d=a<
i;
相当于d=((a<
=b)&
i)
右侧是一个布尔表达式,布尔表达式的结果只能是0,或者1(代表false和tme)
av=b(为一个整体•因为<
=优先级比&
高)为真,并且i不为0,所以
整个表达式为真,即为true:
d=(c,d=c);
这个是逗号表达式,…
第一章C语言概述
一、选择题:
1、
一个C程序的执行是从本程序的main函数开始,到main函数结束
2、在C语言中,每个语句必须以(D)结束。
A.回车符B.冒号C.逗号D.分号
3、C语言规定:
在一个源程序中,main函数的位置(C)。
A.必须在最开始B.必须在系统调用的库函数的后面
C.可以任意D.必须在最后
4、一个C语言程序是由(B)。
A.一个主程序和若干子程序组成B.函数组成
C.若干过程组成D.若干子程序组成
5、下列说法中错误的是(D)。
A.主函数可以分为两个部分:
主函数说明部分和主函数体
B.主函数可以调用任何非主函数的其他函数
C.任何非主函数可以调用其他任何非主函数
D.程序可以从任何非主函数开始执行
6、用C语言编写的源文件经过编译,若没有产生编译错误,则系统将(C)。
A.生成可执行目标文件B.生成目标文件
C.输出运行结果D.自动保存源文件
二、填空题:
1、C语言只有32个关键字和9种控制语句。
2、每个源程序有且只有一个main函数,系统总是从该函数开始执行C语言程序。
3、C语言程序的注释可以出现在程序中的任何地方,它总是以\*符号作为开始标记,以*/符号作为结束标记。
4、C语言中,输入操作是由库函数scanf完成的,输出操作是由库函数printf完成的。
5、系统默认的C语言源程序文件的扩展名是.c,经过编译后生成的目标文件的扩展名是.obj,经过连接后生成的可执行文件的扩展名是・exeo
6、C语言的标识符只能由字母、数字和下划线三种字符组成。
第三章数据类型、运算符和表达式
1、以下选项中,不正确的C语言浮点型常量是(C)。
A.160.B.0.12C.2e4.2D.0.0
2、以下选项中,(D)是不正确的C语言字符型常量。
A.'
a'
B.,\x41,C.'
\101'
D.〃a〃
3、在C语言中,字符型数据在计算机内存中,以字符的(C)形式存储。
A.原码B.反码C.ASCII码D.BCD码
4、若x、i、j和k都是int型变量,则计算下面表达式后,x的值是(C)ox二(j=16,k=32)
A.4B.16C.32D.52
5、算术运算符、赋值运算符和关系运算符的运算优先级按从高到低依次为(B)o
A.算术运算、赋值运算、关系运算B.算术运算、关系运算、赋值运算
C.关系运算、赋值运算、算术运算D.关系运算、算术运算、赋值运算
6、若有代数式,则不正确的C语言表达式是CC)。
4a/b/c*e*3B・3*a*e/b/cC・3*a*e/b*cD・a*e/c/b*3
7、表达式!
x||a==b等效于(D)o
A.!
((x||a)==b)B.!
(x||y)==bC.!
(x||(a==b))D.(!
x)||(a==b)
8、设整型变量m,n,a,b,c,d均为1,执行(m=a>
b)&
(n=c>
d)后,m,n的值是(A)o
A.0,0B.0,1C・1,0D.1,1
9、设有语句inta=3;
则执行了语句后,变量a的值
A.3B・0C・9D.一12
10、在以下一组运算符中,优先级最低的运算符是(D)。
A.*B.!
=C・+D•二11、设整型变量1值为2,表达式(++i)+(++i)+(++i)的结果是(B)。
A.6B.12C.15D.表达式出错
12、若已定义x利y为double类型,则表达式x=l,y二x+3/2的值是(C)。
A.1B.2C.2.0D.2.5
13、sizeof(double)的结果值是(A)。
double在c语言中占8个字节
A.8B・4C.2D.出错
14、设a二1,b二2,c二3,d二4,则表达式:
a<
b?
a:
c<
d?
d的结果为(D)o
A.4B.3C.2D.1
15、设a为整型变量,不能正确表达数学关系:
10<
15的C语言表达式是(A)o
A.10<
15B.a==11||a==12\\a==13||a==14
C.a>
10&
a<
15D.!
(a<
=10)&
!
(a>
=15)
16、设f是实型变量,下列表达式中不是逗号表达式的是(D)。
A.f=3.2,1.0B.f>
0,f<
10C.f二2.0,f>
0D.f=(3.2,1.0)
17、表达式18/4*sqrt(4.0)/8值的数据类型是(C)。
A.intB.floatC.doubleD.不确定首先计算18/4得到的int型的。
然后结果和sqrt(4.0)计算,sqrt返回double型的数。
然后/8・由
于C语言算数计算向上兼容,所以结果为double型的
18、已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句
C2='
A'
+'
6’-;
后c2中的值是(A)。
A.DB.68C.不确定的值D.C
19、以下用户标识符中,合法的是(B)o
A.intB.nitC.123D.a+b
20、C语言中,要求运算对象只能为整数的运算符是(A)。
A.%B・/C.>
D.*
21、若有说明语句:
charc二'
\72'
;
则变量c在内存占用的字节数是
(A)o
A.1B・2C.3D.4
22、字符串〃ABC〃在内存占用的字节数是(B)o
A.3B・4C.6D.8
23、要为字符型变量a赋初值,下列语句中哪一个是正确的(B)o
A.chara二〃3〃;
B.chara二,3'
;
C.chara=%;
D.chara=*;
24、下列不正确的转义字符是(C)。
A.\\B.\'
C・074D.\0
1、C语言中的逻辑值“真”是用1表示的,逻辑值“假”是用0表
示的°
2、若x和n都是int型变量,且x的初值为12,n的初值为5,则计算
表达式x%=(n%=2)后X的值为0o
3、设c二'
w'
a=l,b-2,d二-5,则表达式'
x'
+l>
c,'
y‘!
二c+2,-a-5*b〈二d+1,b=a二2的值分别为1、0、1、1。
4、设floatx二2.5,y二4.7;
inta=7;
表达式x+s%3*(int)(x+y)%2/4的值为2.5o这个问题很简单的,*,/,%,的优先级一样,所以遵循自作至右的原则来运算。
先看a%3*(int)(x+y)%2/4。
a二7,所以a%7的值等于1,然后x+y二7.2,因为int型转换,转换后为7;
1*7依然是7;
7%2=1;
1/4=0(因为都是整数)。
X+0=X=2.5;
5、判断变量8、b的值均不为0的逻辑表达式为a!
=0&
=0。
4,4,10,6o7、求解逗号表达式x二8二3,6*3后,表达式值、x、3的值依次为18,3,3。
8、数学式a/(b*c)的C语言表达式a/b/c。
第7章数组习题
A卷
1.单项选择题
(1)inta[4]={5,3,8,9};
其中a[3]的值为()。
D
A.5B.3C.8D.9
(2)以下4个字符串函数中,()所在的头文件与其他3个不同。
A
A.getsB.strcpyC.strlenD.strcmp
(3)以下4个数组定义中,()是错误的。
A.inta[7];
B.#defineN5longb[N];
C.charc[5];
D.intn,d[n];
(4)对字符数组进行初始化,()形式是错误。
B
A.charcl[]二{'
1'
'
2'
3'
};
B.charc2[]=123;
C.charc3[]二{'
I'
2‘,'
\0'
D.charc4[]二〃123〃;
(5)在数组中,数组名表示()。
A.数组第1个元素的首地址B.数组第2个元素的首地址
C.数组所有元素的首地址D.数组最后1个元素的首地址
(6)若有以下数组说明,则数值最小的和最大的元素下标分别是()。
Binta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12B.0,11C.1,11D.0,12
(7)若有以下说明,则数值为4的表达式是()。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12}:
charc二'
a?
d,g;
A.a[g~c]B.a[4]C.D.a['
d'
-c]
(8)设有定义:
chars[12]="
string"
;
则
printf(〃%d\n〃,strlcn(s));
的输出是()。
A.6B.7C.11D.12
sizeof(s));
的输岀是()。
(10)合法的数组定义是()oA
^string"
D.chara[]={0,1,2,3,4,5}
(11)合法的数组定义是()oD
A.inta[3][]={0,1,2,3,4,5};
B.inta[][3]={0,1,2,3,4};
C.intaE2][3>
{0,1,2,3,4,5,6};
D.inta[2][3>
{0,1,2,3,4,5,};
(12)下列语句中,正确的是()。
A.chara
[3]
■■
二{'
abc'
T'
};
B.chara[]
abcJ,'
1
'
};
C.chara[3][]二{‘3‘,;
D.chara[][3
1r〃