第一章 C语言概述
1.1 选择题
*1.1一个C程序的执行是从 A 。
A)本程序的main函数开始,到main函数结束
B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束
C)本程序的main函数开始,到本程序文件的最后一个函数结束
D)本程序文件的第一个函数开始,到本程序main函数结束
参考答案:A
参考分析:C语言总是从main函数开始,main函数结束。但是C语言中存在一个exit(0)函数,它可以使得程序在任何时候、任何位置结束程序的运行。如果不考虑exit(0)等函数的特殊作用,C则总是在main函数结束。
*1.2以下叙述正确的是 C 。
A)在C程序中,main函数必须位于程序的最前面
B)在C程序的每一行只能写一条语句
C)C语言本身没有输入输出语句
D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误
参考答案:C
参考分析:C程序对main函数的位置没有任何要求;其书写格式自由,一行可以写多条语句,一条语句(多关键字语句)可以写在多行;C语言忽略注释,把注释看作是一个空格,不会对注释中的内容进行语法检查。因此,如果注释中存在错误,系统是不可能发现的。另外,C语言的I/O操作均通过函数实现,系统本身未提供相应的语句。
1.3以下叙述不正确的是 D 。
A)一个C源程序可由一个或多个函数组成
B)一个C源程序必须包含一个main函数
C)C程序的基本组成单位是函数
D)在C程序中,注释说明只能位于一条语句的后面
参考答案:D
参考分析:C语言中,注释语句的位置是任意的,当然,它不能破坏标识符的完整性。C语言只是将一个注释看作是一个空格,因此对注释内的任何错误都不作检查。
1.4 C语言规定:在一个源程序中,main函数的位置 C 。
A)必须在最开始 B)必须在系统调用的库函数的后面
C)可以任意 D)必须在最后
参考答案:C
*1.5一个C语言程序是由 B 。
A)一个主程序和若干个子程序组成 B)若干函数组成
C)若干过程组成 D)若干子程序组成
参考答案:B
参考分析:通常许多语言程序由主程序和子程序构成,但是C语言是函数式语言,整个程序由众多函数组成。尽管有时习惯上称main函数为主程序,显然,严格地讲还是B更为符合C语言的规则。
1.2 填空题
1.6C源程序的基本单位是【 】。
参考答案:函数
1.7一个C源程序中至少应包括一个【 】。
参考答案:main()函数
1.8在一个C源程序中,注释部分两侧的分界符分别为【1】和【2】。
参考答案:【1】/* 【2】*/
1.9在C语言中,输入操作是由库函数【1】完成的,输出操作是由库函数【2】完成的。
参考答案:【1】scanf 【2】printf
第二章 数据类型、运算符与表达式
2.1 选择题
*2.2若x、i、j和k都是int型变量,则计算下面表达式后,x的值为 。
x=(i=4,j=16,k=32)
A)4 B)16 C)32 D)52
参考答案:C
参考分析:逗号表达式的计算结果是最后一个表达式的值。k=23是括号内最后一个表达式,因此x变量的值来自k变量的值。
**2.3假设所有变量均为整型,则表达式(a=2,b=5,a+b++,a+b)的值是 。
A)7 B)8 C)5 D)2
参考答案:B
printf函数的作用是向终端参考分析:逗号表达式的计算结果是最后一个表达式的值。b++在所在表达式参与运算时的值是5,该表达式计算完成后,b进行自增运算,故a+b的值为2+6=8。
*2.6下面四个选项中,均是不合法的用户标识符的选项是 。
A)A B)float C)b-a D)_123
P_0 la0 goto temp
do _A int INT
参考答案:C
参考分析:合法的有:A、P_0、la0、_A、_123、temp、INT。
**2.7 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 。
A)必须为字母 B)必须为下划线 C)必须为字母或下划线
D)可以是字母、数字和下划线中的任一种字符
参考答案:C
参考分析:教材中只是强调首字符必须为字母,我们应当知道,在语言系统中,下划线和字母具有同等的“法律效力”。
*2.10下面四个选项中,均是不合法的浮点数的选项是 。
A)160. B)123 C)-.18 D)-e3
0.12 2e4.2 123e4 .234
e3 .e5 0.0 1e3
参考答案:B
参考分析:不合法的有A3,B,D1。部分解释:A1,D2:C语言中小数点前面或后面的0可以省略。但是不能只有小数点自身;A3,B3,D1:e的前后必须有合法数字。1.e2 .1e2合法,.e2不合法;B1:123是整型数,不是浮点数。
*2.11下面四个选项中,均是合法的浮点数的选项是 。
A)+1e+1 B)-.60 C)123e D)-e3
5e-9.4 12e-4 1.2e-.4 .8e-4
03e2 -8e5 +2e-1 5.e-0
参考答案:B
参考分析:不合法的有A2:阶码不能为小数;A3:浮点数的尾数及阶码不能用八进制数表示;C1:e后必须有整数,C2:阶码不能为小数;D1:缺少尾数。
*2.12下面四个选项中,均是合法转义符的l选项是 。
A)'\'' B)'\' C)'\018' D)'\\0'
'\\' '\017' '\f' '\101'
'\n' '\"' 'xab' 'x1f'
参考答案:A
参考分析:"\"后面的数字,c总是按照八或十六进制解释。由于c支持扩展ASCII字符集,所以,八进制数范围在0~377,十六进制数范围在00~ff。
*2.13下面四个选项中,均是不合法的转义符的选项是 。
A)'\"' B)'\1011' C)'\011' D)'\abc'
'\\' '\' '\f' '\101'
'\xf' '\a' '\}' 'x1f'
参考答案:B
参考分析:不合法的有B1,B2,B3,C3,D1,D3;但B3和C3值得讨论,实际上,'\a'是一个转义字符(07 beep)。C中只有少数字母是转义字符,大多数字母不是。像'\c'就不是,它就是字符c自身,非转义字母加"\"也仅表示它本身。C3'\}'也表示自身。本题的命题人显然不知道'\a'也是转义字符。
*2.14下面正确的字符常量是 。
A)"c" B)'\\'' C)'W' D)""
参考答案:C
2.22已知各变量说明如下,则符合C语言语法规定的表达式是 。
int i=8,k,a,b;
unsigned long w=5;
double x=1.42,y=5.2;
A)a+=a-=(b=4)*(a=3) B)a=a*3=2 C)x%(-3) D)y=float(i)
参考答案:A
参考分析:B)表达式不能出现在赋值号右侧;C)x是实型数,不能进行取余运算;D)应将float用括号扩起来(强制类型转换)。
**2.26已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2='A'+'6'-'3';后,c2的值为 。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论