《C语言程序设计》习题集
程序设计基本概念
1. 一个C程序可以包含任意多个不同名的函数,但有且仅有一个(b),一个C程序总是从它开始执
行。
(A)过程 (B)主函数 (C)函数 (D)include 2. ()是C程序的基本构成单位
(A)函数 (B)函数和过程 (C)超文本过程 (D)子程序 3. 下列说法正确的是()
(A) 一个函数的函数体必须要有变量定义和执行部分,二者缺一不可 (B) 一个函数的函数体必须要有执行部分,可以没有变量定义
(C) 一个函数的函数体可以没有变量定义和执行部分,函数可以是空函数 (D) 以上都不对 4. 下列说法正确的是(c)
(A) main函数必须放在C程序的开头 (B) main函数必须放在C程序的最后
(C) main函数可以放在C程序的中间部分,即在一些函数之前在另一个函数之后,但在执
行C程序时是从程序开头执行的
(D) main函数可以放在C程序的中间部分,即在一些函数之前在另一些函数之后,但在执
行C程序时是从 main函数开始的
5. 下列说法正确的是(d)
(A) 在执行C程序时不是从 main函数开始的 (B) C程序书写格式严格限制,一行内必须写一个语句 (C) C程序书写格式自由,一个语句可以分写在多行上
(D) C程序书写格式严格限制,一行内必须写一个语句,并要有行号 6. 在C语言中,每个语句和数据定义是用(c)结束
(A)句号 (B)逗号 (C)分号 (D)括号 7. 下列字符串是标识符的是(a)
(A)_HJ (B)9_student (C)long (D)LINE 1 8. 以下说法正确的是(b)
(A) C语言程序总是从第一个定义的函数开始执行
(B) 在C语言程序中,要调用的函数必须在 main()函数中定义 (C) C语言程序总是从 main()函数开始执行
- 1 -
《C语言程序设计》习题集
(D) C语言程序中的 main()函数必须放在程序的开始部分 9. (b)不是C语言提供的合法关键字()
(A)switch (B)print (C)case (D)default 10. C语言提供的合法关键字是(a)
(A)continue (B)procedure (C)begin (D)append 1. 一个函数由两部分组成,它们是(类型名)和(函数名) 2. 函数体一般包括(声明部分)和(语句部分) 3. 函数体的范围是()
4. C语言是通过()来进行输入和输出的
5. 在C语言中,凡在一个标识符后面紧跟着一对圆括弧,就表明它是一个() 6. C语言的关键字都用(小写){大写或小字}
7. 主函数名后面的一对圆括号中间可以为空,但一对圆括号不能(省略)
- 2 -
《C语言程序设计》习题集
C程序设计的初步知识
1. C语言中不能用来表示整常数的进制是(d)
(A)十进制 (B)十六进制 (C)八进制 (D)二进制 2. 在C语言中,反斜杠字符是(d)
(A)\\n (B)\\t (C)\\v (D)\\\\
3. 在ASCII代码表中可以看到每一个小写字母比它相应的大写字母的ASCII码(a)
(A)大32 (B)大64 (C)小32 (D)小1 4. 设d为字符变量,下列表达式不正确的是(b)
(A)d=97 (B)d=’a’ (C)d=”a” (D)d=’g’ 5. 10+’a’+1.5-567.345/’b’的结果是(b)
(A)long (B)double (C)int (D)unsigned float 6. 在C语言中,运算对象必须是整型数的运算符是(a)
(A)% (B)/ (C)%和/ (D)** 7. 为表示关系x>=y>=z,应使用C语言表达式(a)
(A)(y<=x)&&(y>=z) (B)(x>=y)AND(y>=z) (C)(x>=y>=z) (D)(x>=y)&(y>=z) 8. 若欲表示在if后a不等于0的关系,则能正确表示这一关系的表达式为(d)
(A)a<>0 (B)!a (C)a=0 (D)a 9. 下列常数中,合法的C常量是(a)
(A)”x-y” (B)’105’ (C)’Be’ (D)7ff 10. 下列常数中,合法的C常量是(a)
(A)-0. (B)’105’ (C) ‘AB’ (D)3+5 11. 下列常数中,合法的C常量是(a)
(A)’\\n’ (B)e-310 (C)’DEF’ (D)’1234’ 12. 下列常数中,不合法的C常量是(c)
(A)-0x2a1 (B)lg3 (C)’[‘ (D)”CHINA” 13. 下列常数中,不合法的C常量是(d)
(A)-0x3b1 (B)123e+2.3 (C)’}’ (D)6e+7 14. 下列符号中,可以作为变量名的是(c)
(A)+a (B)12345e (C)a3B (D)5e+0 15. 写出下面程序的输出结果(a) main() {int x,y,z;
- 3 -
x=y=1; z=x++-1;
printf(“%d,%d\\t”,x,z); z+=-x+++(++y||++z); printf(“%d,%d”,x,z);}
《C语言程序设计》习题集
(A)2,0 3,-1 (B)2,1 3,0 (C)2,0 2,1 (D)2,1 0 ,1 16. 写出下面程序的输出结果(d) main()
{int x=40,y=4,z=4; x = y = =z; printf(“%d”,x); x = x = = (y-z); printf(“%d”,x);}
(A)4 0 (B)4 1 (C)1 1 (D)1 0 17. 写出下面程序的输出结果() main() {int I,j;
I=16; j=(I++)+I;printf(“%d”,j); I=15;printf(“%d %d”,++I,I);}
(A)32 16 15 (B)33 15 15 (C)34 15 16 (D)34 16 15
18. 若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值为()
(A)1 (B)2 (C)2.0 (D)2.5 19. 下列程序的执行结果是() #define sum 10+20 main() { int b=0,c=0; b=5; c=sum*b; printf(“%d”,c);}
(A)100 (B)110 (C)70 (D)150 20. 表达式(double)(20/3)的值为()
(A)6 (B)6.0 (C)2 (D)3
- 4 -