C复习题201312

2026/1/17 3:49:37

一、选择题

1. 以下叙述中正确的是( )。

A) 构成C程序的基本单位是函数 B) 可以在一个函数中定义另一个函数 C) main()函数必须放在其它函数之前

D) 所有被调用的函数一定要在调用之前进行定义。 2. 以下选项中合法的用户标识符是( )。

A) long B) _2Test C) 3Dmax D) A.dat 3. 当执行以下程序时( )。

x=-1; do

{ x=x*x;} while(!x) A) 循环体将执行一次 B) 循环体将执行两次 C) 循环体将执行无限次 D) 系统将提示有语法错误

4. 已知字母A的ASCⅡ码为十进制数65,且C2为字符型,则执行语句C2=’A’

+’6’-’3’;后,C2中的值为( )。 A) C B) 69 C) 不确定的值 D) D 5. 以下选项中,与k=n++完全等价的表达式是( )。

A) k=n, n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1 6. C语言提供的合法的数据类型关键字是( )。 A) Double B) short C) integer D) Char 7. 以下程序的输出结果是( )。

main()

{ int a=1,b=2,c=3,k; k=a+++b+++c++;

printf(“\\n%d, %d, %d, %d”, a, b, c, k); }

A) 1,2,3,6 B) 2,3,4,6 C) 1,3,3,7 D) 1,3,3,6

8. 若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的是

( )。 A) a≠0 B) !a C) a=0 D) a

9. 若有说明语句int x, y; , 则计算表达式x=(y=4,++y,y+4); 后x的值为( )。

A) 5 B) 6 C) 8 D) 9 10. 当a=3, b=2, c=1时,表达式f=a>b>c; 的值是( )。

A) 1 B) 0 C) true D) false 11. 有如下程序

main()

{ int a=2, b=-1, c=2;

第 1 页 共 16 页

if(a

if(b<0) c=0; else c++;

printf(\

}

该程序的输出结果是 ( )。 A) 0 B) 1 C) 2 D) 3 若执行以下程序时从键盘上输入9,则输出结果是 ( )。 main()

{ int n;

scanf(“%d”,&n);

if(n++<10) printf(“%d\\n”,n); else printf(“%d\\n”,n--); } A) 11 B) 10 C) 9 D) 8 假定所有变量均已正确说明,下列程序段运行后x的值是( )。 a=b=c=0;x=35; if(!a) x--; else if(b); if(c)x=3; else x=4; A) 34 B) 4 C) 35 D) 3 程序段如下: int k = 0; while (k++<=2) printf(“%d \\n”, k);

则正确的执行结果是( )。 A) 1 B) 2 C) 0 D) 无结果 2 3 1 3 4 2

有以下程序 main()

{ int i=0,s=0; do {

if (i%2) { i++; continue; } i++; s += i; } while(i<7);

printf(\

第 2 页 共 16 页

12.

13.

14.

15.

}

执行后输出结果是( )。 A) 28 B) 12 C) 16 D) 21 16. 以下对二维数组a进行不正确初始化的是( )。 A) int a[ ][3]={3,2,1,1,2,3} ; B) int a[ ][3]={{3,2,1},{1,2,3}}; C) int a[2 ][3]={{3,2,1},{1,2,3}}; D) int a[ ][ ]={{3,2,1},{1,2,3}}; 17. 有以下程序执行后输出结果是( )。

main() {

int p[7]={11,13,14,15,16,17,18}, i=0,k=0; while(i<7 && p[i]%2) { k =k+ p[i]; i++; } printf(\ } A) 58 B) 56 C) 45 D) 24 18. 以下程序的输出结果是( )。

int f()

{ static int i=0;

int s=1; s+=i; i++; return s; } main()

{ int i,a=0;

for (i=0;i<5;i++) a+=f(); printf(\} A) 20 B) 24 C) 25 D) 15 19. 对C语言的文件存取方式的论述中,正确的是文件( )。

A) 只能顺序存取 B) 只能随机存取 C) 只能从文件的开头存取 D) 可以是顺序存取,也可以是随机存取 20. 若指针p已经正确定义,要使p指向两个连续的整型动态存储单元,不正确的语

句是( )。 A) p=2*(int *)malloc(sizeof(int)); B) p=(int *)malloc(2*sizeof(int)); C) p=(int *)malloc(2*2); D) p=(int *)calloc(2,sizeof(int)); 21. 一个C语言程序是由( )组成。

A) 一个主程序及若干个子程序 B) 一个主程序

C) 一个主函数及若干个子函数 D) 一个主函数

22. 以下选项中不合法的用户标识符是( )。

A) abc.c B) _2Test C) Main D) PRINTF

第 3 页 共 16 页

23. main函数在源程序中的位置( )。 A) 必须在最开始 B) 必须在子函数的后面 C) 必须在最后 D) 可以任意

24. 在C语言中要求参加运算的数必须是整数的运算符是( )。 A) / B) % C) ! D) == 25. 以下选项中,与k=n++完全等价的表达式是( )。

A) k=n, n=n+1 B) n=n+1,k=n C) k=++n D) k+=n+1 26. 若int x=6;则x+=x -=x*x;x的值为( )。 A) 36 B) -60 C) 60 D) -24 27. 下面语句中符合C语言语法的赋值语句是( )。 A) a=7+b+c=a+7; B) a=7+b++=a+7; C) a=7+b,b++,a+7 D) a=7+b;c=a+7; 28. 若定义语句:int b[ ]={1, 2 , 3 ,4 ,5}, *p=b;,则表达式*p++的值是( )。 A) 1 B) 2 C) b[0]的地址 D) b[1]的地址 29. 对以下说明语句的正确理解是( )。 int a[10]={6,7,8,9,10};

A) 将5个初值依次赋给a[1]至a[5] B) 将5个初值依次赋给a[0]至a[4] C) 将5个初值依次赋给a[6]至a[10]

D) 因为数组长度与初值的个数不相同,所以此语句不正确 30. 有下面的程序段

char a[3],b[ ]=\ a=b;

printf(\ 则( )。

A) 运行后将输出China B) 运行后将输出Ch

C) 运行后将输出Chi true D) 编译出错 31. 下列程序段的输出为( )。

int a, b, c;

a=10; b=50; c=30; if(a>b) a=b, b=c;

c=a; printf(“a=%d, b=%d, c=%d”, a, b, c); A) a=10, b=50, c=10 B) a=10, b=30, c=10 C) a=50, b=30, c=10 D) a=50, b=30, c=50

32. 对循环语句:for (表达式1;表达式2;表达式3),以下叙述正确的是( )。

A) for语句中的三个表达式一个都不能少 B) for语句中的循环体至少要被执行一次 C) for语句中的循环体可以是一个复合语句 D) for语句只能用于循环次数已经确定的情况

第 4 页 共 16 页


C复习题201312.doc 将本文的Word文档下载到电脑
搜索更多关于: C复习题201312 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219