C 语言1-3 章习题(部分)
、判断题
1、C 程序的注释部分可以出现在程序的任何位置,它对程序的编译和运行
不起任何作用。但是可以增加程序的可读性。(V )
2、自增运算符(++)或自减运算符(--)只能用于变量,不能用于常量或表达式。
( V)
3、c 程序可由若干个源程序文件组成。(V )
4、宏替换时先求出实参表达式的值,然后代入形参运算求值。(X )
5、用%s格式符输出字符串时,输出字符不包括结束符’\0 ' o (V )
6、#define 指令是一个预处理编译器指令,不是程序语句,因此,#define 不
能用分号结尾。(V )
7、一个程序应包括对数据的描述和对操作的描述,其中对数据的描述也就
是算法。(X )
8、在C程序中对用到的所有数据都必须指定其数据类型。(V )
9、一个实型变量的值肯定是精确的。(X )
10、d o-while循环的while后的分号可以省略。(X )
11、c 语言中函数定义不允许嵌套,但调用可嵌套。(V )
12、与其他语句一样,预处理命令必须以分号结尾。(X )
13、在一个源程序中,main 函数的位置必须在最开始。(X )
14、函数可以调用自己。(V )
15、scanf函数一次只能读取一个值。(X )
16、一个函数中可以有一个以上的return语句,执行到哪一个return语句,
哪一个语句起作用。(V )
17、字符串“ a”只包含1个字符。(x )
18、在C语言中,要求对所有用到的变量作强制定义,也就是“先定义,后
使用”。(“)
19、C程序中,函数的定义可以嵌套,但函数的调用不可以嵌套。(x )
20、C程序中,无论是整数还是实数,都能被准确无误地表示。(X )
21、一个C源程序中有且仅有一个main ()函数。(V )
22、语句可以用分号或句号结尾。(X)
23、“0”是字串常量,长度为2。(X )
24、3/9和9%3的结果都是0。(V )
25、字符常量是用双引号括起来的一个字符。(X )
26、3/9和9%3的结果都是0。(V )
27、取模运算符%只能用于整数。(V )
28、while语句是先判断循环条件,后执行循环体。(V )
29、所有变量在声明时都必须给定一个类型。(V )
、填空题
1、计算机算法可以用自然语言、流程图和计算机语言(或伪代码)等方法表示。
2、seanf处理输入数据时,遇到下列情况时该数据认为结束:(1)空格或
回车或跳格(Tab)键,(2)非法输入__________ ,(3)按指定的宽度结束。
3、“ n是大于整数m 的奇数”的C 语言表达式是_______________________
n>m&&n%2==1 _________ 。
4、a=12,运行表达式“ a/=a+a”后,a的值为______ 0 ___________ 。
5、C源程序的基本单位是函数。
6、运行C程序的步骤是:编辑源程序一编译,得到目标程序一连接,得
到可执行程序一运行,得到结果。
7、三种基本程序结构是顺序,选择和循环。
8、已知a,b,c是一个十进制数的百位,十位,个位,则该数的表达式是
a*100+b*10+c 。
9、printf函数和scanf函数的格式说明都使用% _____ 字符开始。
10、一般地,调用标准字符或格式输入输出库函数时,文件开头应使用_
stdio.h ______ 头文件。
11、“y能被4整除但不能被100整除,或y能被400整除”的C语言表达式是(y%4==0&&y%100!=0)||(y%400==0)。
12、至少执行一次循环体的循环语句是do-while ______________ 。
13、设x,y,z均为int型变量,描述“x或y中有一个小于z ”的表达式为
x 14、在C语言中的实型变量分为两种类型,它们是单精度、双精度。 15、C语言中要表示条件x>y>z,正确的逻辑表达式是:x>y&&y>z 。 三、单项选择题 1、以下描述正确的是(C )。 A. 在C程序中,main函数必须位于程序的最前面 B. C程序中的每行中只能写的一条语句 C. C语言本身没有输入输出语句 D ?在对一个C程序进行编译的过程中,可发现注释中的拼写错误 2、下面四个选项中,不合法的用户标识符选项是(C)。 A._A B._123 C. b-a D.tan 3、下面不正确的字符串常量是(A)。 A.‘bc' B.“12'12” C.“0” D.“ ” 4、在C 语言中,要求运算数必须是整型的运算符是(D )。 A./ B. ++ C.!= D. % 5、表达式18/4*sqrt(4.0)/ 8 值的数据类型为(C )。 A. int B. float C. double D .不确定 6、C 语言中,函数返回值类型的定义可以缺省,此时函数值的隐含类型是(B ) A. void B. int C. float D. double 7、已知ch是字符变量,下面不正确的赋值语句是(A)。 A. ch='a+b'; B. ch='\0 '; C. ch='7'+'9'; D . ch =5+9 ; 8设x和y均为int型变量,则以下语句:x += y ; y = x-y; x -= y;的功能是(D)。 A .把x和y按从大到小排列 B. 把x 和y 按从小到大排列 C. 无确定结果 D .交换 x 和 y 中的值 9、一个 C 语言的语句至少应包一个( C )。 A . {} B. 逗号 C. 分号 D. 什么不要 9、算法的确定性是指( B ) A. 算法应包含有限的操作步骤 B. 算法中的每一个步骤都应当是确定的 C. 在执行算法时需要从外界取得必要的信息 D. 算法中的每一个步骤都应当能有效地执行,并得到确定的结果 10、下列关于 C 语言用户标识符的叙述中正确的是( B )。 A 用户标识符中可以出现下划线和中划线(减号) B 用户标识符中不可以出现中划线,但可以出现下划线 C 用户标识符中可以出现下划线,但不可放在标识符开头 D 用户标识符中可以出现下划线和数字, 它们都可放在用户标识符的开头 11、 已知梯形的上底为a,下底为b ,高为h ,用C 语言写的正确的面积公式 是( B )。 A 1/2*(a+b )*h B 1.0/2*(a+b )*h C 1.0/2.0(a+b )h D 1.0/2*a+b*h 12、 已有定义char s1,s2;,下面正确的语句是(C )。 A scanf( “ %s%c ” ,s1,s2); B scanf( “ %s%c ” ,s1,&s2); C scanf(“ %c%c ” ,&s1,&s2); D scanf(“ %s%c ” ,s1,s2); 13、为下面的程序输入数据,使得i=10,k= ' a',j=15,正确的键盘输入方法是( D )。 #include void main () int i,j,k; scanf ( “ %d%c%d ”,,&ki,&j); printf ( “ i=%d,j=%c,k=%n ”d ,i,k,j); } A 10,a,15<@车 > B 10<回车 >a< 回车 >15< 回车> C 10' a ' 15< 回车 D 10a15<0车 > 14、设整型变量 x 、y 、z 的值分别为 3、2、 1,则下列程序段的输出是( C ) If (x>y ) x=y; if (x>z ) x=z; printf ( “ %d,%d,n%”d ,x,y,z ); A 3,2,1 B 1,2,3 C 1,2,1 15、 putchar 函数可以向终端输出一个( A. 整型变量表达式值 C. 字符串 16、 一个 C 语言程序是由( B )。 A ?一个主程序和若干子程序组成的 C .若干过程组成 17、 在C 语言中,char 型数据在内存中的存储形式是(D )。 A .补码 B .反码 C .原码 D . ASCII 码 18、 若有以下定义,则正确的赋值语句是( B )。 int a , b ; float x ; A .a=1 , b=2 , B . b++ ; C .a=b=5 D .b=int ( x ); 19、若变量c 为char 类型,能正确判断出c 为小写字母的表达式是(D ) D 1,1,1 D )。 B. 实型变量值 D. 字符或字符型变量值 B ?函数组成 D .若干子程序组成