《C语言程序设计》考试模拟笔试综合练习题及解析.docx
《《C语言程序设计》考试模拟笔试综合练习题及解析.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》考试模拟笔试综合练习题及解析.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、C语言程序设计考试模拟笔试综合练习题及解析一、从下列四个供选择的答案中选出正确的一个答案1、语句printf(“%d%d”, 123); 将输出:A) %123%d B) %d123 C) %d123 D)上述语句语法有错 “%”格式表示输出一个“%”。2、执行下列程序段后, a值为:int a, b;a=15; b=12;a=(a- =b+)? a%5 : a/5;A) 0 B) 2.8 C ) 4 D) 2 先计算a-=b+的值: a-的值为15,执行后a=14;b+的值为12,执行后b=13;15=12为假执行a/5即14/5值为2结果: a = 23、判断字符变量c的值为数字(0-9)
2、则返回1,否则返回0, 可用表达式:A) 0=c=9 B) 0=c & c=9 C) 0=c | c= 9 D)以上均不是4、对于int x, y; 语句 if (x=0) if (x) y=1; else y= -1; B) if (x!=0) if (x0) y=1; else y= -1; else y=0;C) if (x0) y=1; else y=0;语句if (x0) y= -1; else if (!x) y=0; else y=1; 等价于: if (x 0) y = -1; else if (!x) y = 0; else y = 1; 即: -1 x 05、循环 for(
3、i=0, j=5; +i!=-j; ) printf(“%d %d”, i, j); 将执行A) 6次 B) 3次 C) 0次 D) 无限次i = 0, j = 5, (+i1) != (-j4) 成立: i = 1, j = 4i = 1, j = 4, (+i2) != (-j3) 成立: i = 2, j = 3i = 2, j = 3, (+i3) != (-j2) 成立: i = 3, j = 26、下列程序段执行后s值为:int i=5, s=0;do if (i%2) continue; else s+=i; while (-i);A) 15 B) 9 C) 6 D) 以上均不是
4、写成规范形式: do if (i % 2) continue; else s += i; while (-i);i = 5, s = 0: i % 2 = 1: i = 4i = 4, s = 0: i % 2 = 0: s = 0 + 4 = 4; i = 3i = 3, s = 4: i % 2 = 1: i = 2i = 2, s = 4: i % 2 = 0: s = 4 + 2 = 6; i = 1i = 1, s = 6: i % 2 = 1: i = 07、对于int a,要使(11)|a)=a; 则a 可以是:A) 2 B) 6 C) 10 D) 2,6,10均可1: 0000
5、 0000 0000 000112: 0000 0000 0000 010011: 0000 0000 0000 0010 (11) | 2: 0000 0000 0000 0010 (2)(11) | 6: 0000 0000 0000 0110 (6)(11) | 10: 0000 0000 0000 1010 (10)8、对于以下宏定义:#define SQ(x) x*x#define DD(x,y) SQ(x)-SQ(y) 宏调用DD(2*3, 2+3)执行后值为:A) 43 B) 11 C) 25 D) 以上均不是DD(2*3,2+3)SQ(2*3)-SQ(2+3)2*3*2*3-2
6、+3*2+3439、对于以下结构定义:struct int len; char *str; *p; *p-str+中的+加在A) 指针str上 B) 指针p上 C) str所指的内容上 D) 以上均不是优先级: “-” “*” = “+”, +是右结合*p-str+ *(p-str)+)例子: 假如有 plen 12str H e l l o , w o r l d ! 0 则*p-str+的值为 H, 执行后, str指向e单元.10、将s所指节点加到p所指节点之后(如下图), 其语句应为: next . . p next sA) s-next = p+1; p-next = s; B) p
7、-next = s; s-next = p-next;C) s-next=p-next; p-next=s-next;D) s-next = p-next; p-next = s;11、语句if (ab) k=0; else k=1; (int a, b, k) 等价于:A) k=(ab)?1:0; B) k=ab; C) k=a=b; D) 以上均不是12、对于int i; char c, s20;从输入序列123ab45efg中将123读入i; b读入c; “45efg”读入s, 则scanf语句应写为:A) scanf(“%da%c%s”, i, c, s) B) scanf(“%d%*
8、c%c%s”,&i, &c, s);C) scanf(“%da%c%s”, &i,&c,&s) D) scanf(“%d%c%c%s”, &i, &c, s);13、若有以下说明和语句, 已知int和double类型分别占2和8个字节,则sizeof(st)的值为:struct st char a10;union int i;double y;A) 18 B) 20 C) 12 D) 以上均不是14、对于以下程序段, 运行后i值为:enum WEEKS 1,2,3,4,5,6,7 ;enum WEEKS a=1;int i=0;switch (a) case 1: i=1;case 2: i=
9、2;default: i=3;A) 1 B) 0 C) 3 D) 上述程序有语法错误15、对于以下递归函数f, 调用f(4),其返回值为:int f(int n) return f(n-1)+n; A) 10 B) 11 C) 0 D) 以上均不是 16、某一程序TEST.C,编译后运行:TEST 123 456 ABC 则相应的argc及argv3分别为:A) 3 “456” B) 3 “ABC” C) 4 “456” D) 4 “ ABC” argv0 “TEST” argv1 “123” argv2 “456” argv3 “ABC” 17、如下程序段: int c=1, 7, 12;
10、int *k; k=c; printf(next k is %d,*+k); 其输出应为: A) 2 B) 7 C) 1 D)以上均不对k 1 c07 c1 12 c218、如果变量xx有如下类型: struct char a1; 1 int a2; 2 xx; 如果sizeof(xx)的值为3, 则: union char a1; int a2; int a3; yy; 则sizeof(yy)函数的返回值应为: A) 2 B) 4 C) 5 D)定义有错19、对于enum RAIN, CLOUD, CLEAR weather;做如下操作: weather=1; weather=CLOUD;
11、下列哪个说法是对的。 A) 是错的 B) 是错的 C) 与是一样的 D)以上都错20、设 int a1=7, a2=1, xx; 进行如下操作xx = ( a1 1 )&( a22 )后 xx 的值为: A) 0 B) 1 C) 10 D) 以上都错7: 0000 0000 0000 011171: 0000 0000 0000 111012: 0000 0000 0000 0100(13) if ( i8) ? 14:21) = 14); 后变量i,j的值应为: A) i=0 j=1 B) i=1 j=1 C) i=0 j=2 D) i=1 j=2i = (3/2 + 7/2) = 5) =
12、 (1+3) = 5) = (4 = 5) = 0;j = 1 + (21 = 14) = 1 + 0 = 124、如果char cc=12345,做sizeof(cc)后的返回值应为A) 2 B) 5 C) 6 D) 1sizeof()返回参数对象的字节数: 这里的参数是字符数组cc,有6个元素.25、如果 int i=16, j=23 ; 执行 printf(%x-%o,i, j)后输出为: A) 10-23 B) 10-27 C) 16-23 D) 16-2726、执行下列程序: #define MA(x, y) (x)*(y) int i = 2; i = 3/MA(i, i+1)+5
13、; printf(“%dn”, i); 其输出应为: A) 5 B) 8 C) 0 D) 以上都错3/MA(i,i+1)+5 3/(i)*(i+1)+5 3/2*3+5 827、有一函数: int f(int a) auto int b = 0; static int c = 3; b = b+1; c = c+1; return(a+b+c); 如果有int i, j; 则执行两次调用:i=f(2); j=f(2) 后, i, j值为: A) i = 7, j = 7 B) i = 7, j = 8 C) i = 8, j = 7 D) i = 8, j = 8 注意静态局部变量static
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 考试 模拟 笔试 综合 练习题 解析
限制150内