《《C语言》复习题160题(09级)》由会员分享,可在线阅读,更多相关《《C语言》复习题160题(09级)(27页珍藏版)》请在金锄头文库上搜索。
1、C 语言程序设计考试参考题 第 1 页(共 27 页)注: 颜色字母为答案, 请大家把颜色先去掉, 做完再核对答案! (2010 年 12 月)= 一、单项选择题一、单项选择题 ( 共 160 题, 180 为基本概念题, 81160 题为程序阅读题) 基本概念题基本概念题第第 1、2 章章 概述、数据类型、运算符与表达式概述、数据类型、运算符与表达式1.计算机能直接执行的程序是:A) 源程序 B) 目标程序 C) 汇编程序 D) 可执行程序2.下列叙述中错误的是:A) 计算机不能直接执行用 C 语言编写的源程序 B) 程序经 C 编译程序编译后,生成后缀为.obj 的文件是一个二进制文件 C
2、) 后缀为.obj 的文件,经连接程序生成后缀为.exe 的文件是一个二进制文件 D) 后缀为.obj 和.exe 的二进制文件都可以直接运行3.若变量均已正确定义并赋值,以下合法的 C 语言赋值语句是:A) x = y = = 5; B) x = n % 2.5; C) x + n = i; D) x = 5 = 4 + 1; 4.若以下选项中的变量已正确定义,则正确的赋值语句是:A) x1 = 26.8 %3 B) 1+2 = x2 C) x3 = 0x12 D) x4 = 1+2 = 3;5.若已定义 x 和 y 为 double 类型,则表达式:x = 1,y = x + 3/2 的值
3、是:A) 2.0 B) 2 C) 2.5 D) 16.已知字符 A 的 ASC代码值是 65,字符变量 c1 的值是 A, c2 的值是 D,执行语句 print f ( “ %d, %d “, c1, c2-2 );后,输出结果是:A) A,B B) A,68 C) 65,66 D) 65,68 7.main ( ) char a1 = M, a2 = m; printf ( “ %c n “, (a1, a2) ); 根据以上程序, 以下叙述中正确的是:A) 程序输出大写字母 MB) 程序输出小写字母 mC) 格式说明符不足,编译出错D) 程序运行时产生出错信息8.已有定义:int x =
4、 3, y = 4, z = 5;,则表达式 ! ( x + y ) + z -1 y = x-y; x -= y; 的功能是:A) 交换 x 和 y 中的值B) 把 x 和 y 按从小到大排列C) 无确定结果D) 把 x 和 y 按从大到小排列10. 以下选项中非法的表达式是C 语言程序设计考试参考题 第 2 页(共 27 页)A) 0 -10 则 n 的值是:A) 1 B) 2 C) 3 D) 413. 若有表达式 (w) ? (-x):(+y), 则其中与 w 等价的表达式是:A) w = = 1 B)w = = 0 C) w!=1 D) w != 014. 设已有定义 int a =
5、5, b = 6, c = 7, d = 8, m = 2,n = 2; 则逻辑表达式 ( m = ab ) ,程序前面已在命令行中包含 ctype.h 文件,不能用于判断 c 中的字符是否为大写字母的表达式是:A) isupper (c) B) A,则输出结果是:A) 10, A, 10 B) 10, a, 10 C) 10, a, 0 D) 10, A, 018. 若有说明语句:int a, b, c, *d = ,则能正确从键盘读入三个整数分别赋给 a、b、c 的语句是:A) scanf ( “%d %d %d“, a, b, *d );B) scanf ( “%d %d %d“, C)
6、 scanf (“%d %d %d“, a, b, d );D) scanf (“%d %d %d“, 之后,接着执行以下选项中的语句,则能正确执行的语句是:A) scanf (“%d“, a,b,c); B)scanf (“%d%d%d“, a,b,c); C) scanf (“%d“, p); D) scanf (“%d“, 20. 有定义语句:int x, y; ,若要通过 scanf ( “%d,%d“, 语句使变量 x 得到数值 11,变量 y得到数值 12,下面四组输入形式中,错误的是:A) 11 12 B) 11,12 C) 11, 12 D) 11,1221. 若变量已正确定义
7、为 int 型,要通过语句 scanf (”%d, %d, %d”, 给 a 赋值 1、给 b 赋值C 语言程序设计考试参考题 第 3 页(共 27 页)2、给 c 赋值 3,以下输入形式中错误的是:(代表一个空格符)A) 1, 2, 3 B) 123 C) 1,2, 3 D) 1, 2, 322. 有以下程序段 int j; float y; char name50; scanf ( “%2d %f %s“, 当执行上述程序段,从键盘上输入 55566 7777abc 后,y 的值为:A) 55566.0 B) 566.0 C) 7777.0 D) 566777.0 23. 当用户要求输入的
8、字符串中含有空格时,应使用的输入函数是:A) scanf ( ) B) getchar ( ) C) gets ( ) D) getc( ) 24. C 语言中用于结构化程序设计的三种基本结构是:A) 顺序、选择、循环 B) if、switch、break C) for、while、do-while D) if、for、continue25. 要使以下程序中 t 的输出结果为 4,则输入 a 和 b 应满足的条件是:main () int s = 1, t = 1, a, b;scanf (“ %d %d “, if ( a 0 ) s += 1; if ( ab ) t = s + t;el
9、se if ( a= =b ) t = 5;else t = 2 * s;printf ( “%d n “, t );A) a0 并且 a0 并且 ab D) ab26. 有以下程序段int n, t = 1, s = 0; scanf (“ %d “, do s = s + t; t = t-2; while (t != n );为使此程序段不陷入死循环,从键盘输入的数据应该是:A) 任意正奇数 B) 任意负偶数 C) 任意正偶数 D) 任意负奇数27. 在循环语句的循环体中,continue 语句的作用是:A) 立即终止整个循环B) 继续执行 continue 语句之后的循环体各语句C)
10、结束本次循环D) 结束本次循环并跳出循环28. 若变量已正确定义,有以下程序段,其输出结果是:i = 0; do printf ( “ %d, “, i ) ; while ( i+ ); printf ( “ %d n “, i );A) 0,0 B) 0,1 C) 1,1 D) 程序进入无限循环 29. 若定义 int i;, 则循环语句:for ( i = 2;i = = 0;) printf ( “ %d “, i-);执行次数是:C 语言程序设计考试参考题 第 4 页(共 27 页)A) 无限次 B) 2 次 C) 1 次 D) 0 次30. 若有如下程序段,其中 s、a、b、c 均
11、已定义为整型变量,且 a、c 均已赋值 ( c 大于 0) for (s = a, b = 1; bsex) );76. 有以下说明和定义语句struct student int age; char num8;struct student stu3 = 20,“200401“, 21,“200402“, 109,“200403“, *p=stu;以下选项中引用结构体变量成员的表达式错误的是:A) (p+)-num B) p-num C) (*p).num D) stu3.age77. 假定已建立以下链表结构,且指针 p 和 q 已指向如图所示的结点:则以下选项中可将 q 所指结点从链表中删除并
12、释放该结点的语句组是:A) (*p).next = (*q).next; free (p);B) p = q-next; free (q);C) p = q; free (q);D) p-next = q-next; free (q);78. 若定义以下链接表结构,其指针 p,q 定义如下:struct node int data; struct node *next; p, q;p, q 指向图中所示节点,则不能将 q 所指的节点插入到链表末尾组成单向链表的一组语句是:20NULLp10q30NULLA) q-next=NULL; p=p-next; p-next=q;B) p=p-next
13、;q-next=p-next; p-next=q;C) p=p-next; q-next=p; p-next=q;D) p=(*p).next; (*q).next=(*p).next; (*p).next=q;79. 设有定义 union data int d1; float d2; demo;,则下面叙述中错误的是:A) 变量 demo 与成员 d2 所占的内存字节数相同B) 变量 demo 中各成员的地址相同 C) 若给 demo.d1 赋 99 后, demo.d2 中的值是 99.0D) 变量 demo 和各成员的地址相同80. 若有说明和定义: union dt int a; ch
14、ar b; double c; data;,下面叙述中错误的是:A) data 的每个成员起始地址都相同B) 变量 data 所占的内存字节数与成员 c 所占字节数相等pqcbaheadpqcbaheaddata nextC 语言程序设计考试参考题 第 9 页(共 27 页)C) data 可以作为函数的实参D) 程序段:data.a=5; printf(“%fn“,data.c); 输出结果为5.0C 语言程序设计考试参考题 第 10 页(共 27 页)阅读程序阅读程序, 选择正确的输出的结果。选择正确的输出的结果。第第 2 章章 数据类型、运算符与表达式数据类型、运算符与表达式81. main ( ) char c = z; printf ( “%c“, c - 25 ); A) a B) Z