C程序设计复习题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C程序设计复习题
一、单项选择题
1.下列转义字符中,错误
..的是()
A.′\n′
B.′\\′
C.′\108′
D.′\xbb′
2. 下列用户自定义标识符正确的是()
A. 4a
B. b_1
C. -&
D. *p
3.在C语言程序中,主函数的摆放位置()
A.必须置于所有函数之首
B.必须置于所有函数之尾
C.不得置于所有函数之尾
D.任意
4.自定义标识符正确的是()
A.5d_m
B.const
C.x4y
D.book-1
5.表达式2&3|4和2>>1的值分别是()
A.-5和0
B.-5和1
C.6和0
D.6和1
6.执行下列程序段后x的值为()
int i=1, j=10, x;
for (; i<=j; i++, --j) x=i;
A.5
B.6
C.7
D.8
7.若定义一个只限本源文件使用的全局变量,则该变量的存储类别是()
A. extern
B. register
C. static
D. auto
8.逗号表达式a=2*6,a*3,a+5的值是()
A.12 B.17
C.36 D.41
9.设int b[5]={1,2,3,4,5};char a,c, d;,则数组元素值为4的是()
A.b[′d-c′]
B.b[4]
C.b[′d′-a]
D.b[′d′-′a′]
10.设int a[2][3]={{1},{2,3}};,则元素a[1][0]的值是()
A.0 B.1
C.2 D.3
11.在C语言中,字符串″\\TOP\t\65\″″的长度是()A.5 B.7 C.9 D.12
12.设int x;,则与计算|x|等价的表达式是()
A.x>0?-x:x
B.x>0?x:-x
C.x<0?x:-x
D.x<0?-x:-x
13.设char s[20]=″2008″;,则执行strcat(s, ″Beijing″); printf(″% d\n″, strlen(s));后输出结果是()A.5 B.11
C.12
D.20
14.设int a=11,b=2;,执行下述程序段后,变量a和b的值分别是()
do
{a/=b++;
}while(a>b);
A.1,3 B.1,4
C.2,3 D.2,4
15.设char s[10]= 〞abcde〞,t[ ]= 〞12345〞; ,则s和t 在内存中分配的字节数分别是()
A.6和5 B.6和6
C.10和5 D.10和6
16. 下列不.属于保留字的是()
A. default
B. register
C. sruct
D. unsign
17. 下列不.能作为常量的是()
A. 0582
B. 0xa5
C. ’\n’
D. 2.5e-2
18. 设typedef long class;,则class是()
A. 整型变量
B. 长整型数据类型的新标识符
C. 长整型变量
D. 新的而非长整型数据类型的标识符
19. 设char c=’A’;int i=l , j;,执行j = !c && i++;后,i 和j的值分别是()
A. 1和0
B. 1和1
C. 2和0
D. 2和l
20. 设int a;,执行表达式(a=1,2,3),a+1后,a和表达式的值分别是()
A. 1和2
B. 2和3
C. 3和4
D. 4和5
21. 下列关于函数定义正确的是()
A. fun(int x , y){int z;return z;}
B. void fun(int x, int y){return x+y;}
C. fun(x,y){int x,y;double z;z=x+y;return z;}
D. double fun(int x,int y) {double z;z=x+y;return z;)
22. 下列程序段中循环体执行的次数是()
int x= -1;
do
{
x=x*x;
}while(! x);
A. 0
B. 1
C. 2
D. 无限
23. 实现字符串连接的系统函数名是()
A. strcat
B. strcmp
C. strcpy
D. strlen
24. 若实参是一个数组名,在调用函数时,实参向形参传递的是()
A. 数组的长度
B. 数组的首地址
C. 数组每个元素的值
D. 数组每个元素的地址
25. 设int a[ ][4]={l,2,3,4,5,6,7};,则a[1][3]的值是()
A. 0
B. 3
C. 4
D. 7
26. 设char k=’a’;float j=2.0;,
执行k+=5/j;printf(“%c”,k);后,输出结果是()A. a
B. b
C. c
D. d
27. 下列程序段正确的是()
A. char s[ ]={‘xyz’};
B. float *p,i;
scanf(‘‘%s”,s);p=*p+i;
C. char s[5]=‘word’;
D. int a[5]={0},*p=a;
puts(s);*p=*(p+1);
二、程序填空题:
1. 以下程序的功能是输出x的值,请填空
#include
int main()
{float x=-2.12;