C语言程序设计课程期末练习题
一、单项选择题。把合适的选项编号填写在括号内。
1.不符合C语言规定的复合语句是( )。D
A.{} B.{;} C.{x=0;} D.{y=10}
2.C语言中的选择类语句有两条,它们是( )。A
A.if和switch B.if和else C.switch和case D.else和case
3.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。A
A. main B. MAIN C. name D. function
4. 在C语言程序中,多行注释语句使用的开始标记符为( )。B
A. // B. /* C. */ D. **
5. 用于输出表达式值的标准输出函数是( )。C
A. scanf() B. print() C. printf() D. output()
6. 在printf()函数调用的格式字符串中,每个格式符的先导字符为( )。B
A. # B. % C. $ D. @
7. 由C语言源程序文件编译而成的目标文件的扩展名为( )。C
A. cpp B. exe C. obj D. C
8. 由C语言目标文件连接而成的可执行文件的扩展名为( )。B
A. cpp B. exe C. obj D. c
9.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符号为( )。A
A. warning B. error C. warn D. err
10. 在C语言中,表示换行符的转义字符为( )。C
A. \f B. \r C. \n D. \m
11. 字符串“a+b=12\n”的长度为( )。B
A. 6 B. 7 C. 8 D. 9
12. 要定义a和b为两个整型变量,则使用的定义语句为( )。B
A. int a;b; B. int a,b; C. int a b; D. int a:b;
13. 下列数值中最大值是( )。C
A. 28/8 B. 35/13 C. 28%8 D. 35%5
14. 下列数值中最小值是( )。D
A. 28/8 B. 35/3 C. 28%8 D. 35%3
15. 已知x的初值为5,则下列各表达式中的最大值为( )。D
A. x%=3 B. x+=10 C. x/=2 D. x*=4
16. x>5的相反表达式为( )。D
A. x<5 B. x!=5
C. x>=5 D. x<=5
17. 当处理问题时的循环次数是确定的,则采用的最合适的循环方式为( )。A
A. for B. while C. do-while D. switch
18. 循环体至少被执行一次的循环语句为( )。C
A. for B. while C. do-while D. 任一种
19. 流程控制类语句包括的3类语句为( )。A
A. 选择、循环、跳转 B. 选择、循环、输入
C. 选择、输入、输出 D. 循环、选择、函数
20. 在下列的语句中,必须以分号作为结束的语句是( )。C
A. for B. while C. do D. switch
21. 在一个数组中,数组元素a[i]前面的元素个数为( )。A
A. i B. i+1 C. i-1 D. 2*i
22. 假定二维数组的定义语句为“int a[3][5];”,则该数组所含元素的个数为( )。B
A. 8 B. 15 C. 10 D. 12
23. 假定二维数组的定义语句为“char a[M][N];”,则该数组所含元素的个数为( )。C
A. (M-1)*(N-1) B. M*N-1 C. M*N D.M*N+1
24. 假定二维数组的定义语句为“int* a[3][5];”,则该数组所占用的存储空间的字节数为( )。D
A. 120 B. 15 C. 30 D. 60
25. 若需要求出一个字符串的长度,则选用的函数是( )。A
A. strlen B. strcmp C. strcat D. strcpy
26. 将两个字符串连接起来组成一个字符串时,选用的函数是( )。C
A. strlen B. strcap C. strcat D. strcmp
27. 若需要把一个字符串赋给字符数组,则选用的函数是( )。D
A. strlen B. strcmp C. strcat D. strcpy
28.假定p所指对象的值为25,p+1所指对象的值为42,则表达式*++p的值为( )。B
A. 25 B. 42 C. 26 D. 43
29. 若p指向x,则与x的等价表示为( )。B
编程递归函数 A. p B. *p C. *x D. &x
30. 假定a为一个字符数组名,则元素a[8]的地址比该数组的首地址大( )。B
A. 4个字节 B. 8个字节 C. 16个字节 D. 32个字节
31. 下面的保留字不能作为函数返回类型的是( )。C
A. void B. int C. sizeof D. long
32. 若一个函数声明为“double* function();”, 则该函数的返回值类型为( )。B
A. 实数型 B. 实数指针型 C. 函数指针型 D. 数组型
33.在下面的函数声明语句中存在着语法错误的是( )。C
A. AA(int a, int b) B. AA(int, int)
C. AA(int a; int b) D. AA(int a, int)
34. 函数定义参数表中的每个形参变量,其作用域范围为所在的整个( )。C
A. 程序 B. 文件 C. 函数 D. 参数表
35. 在函数体中定义的变量具有( )。B
A. 全局作用域 B. 局部作用域 C. 文件作用域 D. 函数作用域
36. 在结构类型的定义中,使用的关键字是( )。A
A. struct B. union C. static D. enum
37. 假定一个链表中结点的结构类型为“struct AA{int data, struct AA *next;};”,则next数据成员的类型为( )。B
A. struct AA B. struct AA* C. AA D. int
38. 标准输入设备键盘的文件流标识符是( )。A
A. stdin B. stdout C. stderr D. stdio
39. 标准输出设备显示器的文件流标识符是( )。B
A. stdin B. stdout C. stderr D. stdio
40. 从一个文本文件中读取一个字符的系统函数为( )。D
A. fputc() B. fgets() C. fputs() D. fgetc()
41. 向一个文本文件中写入一个字符的系统函数为( )。A
A. fputc() B. fgets() C. fputs() D. fgetc()
42. 从一个二进制文件中读取数据的系统函数为( )。A
A. fread() B. fgets() C. fwrite() D. fgetc()
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论