《C程序设计基础-期中考试试题详解名师制作优质教学资料.doc》由会员分享,可在线阅读,更多相关《C程序设计基础-期中考试试题详解名师制作优质教学资料.doc(10页珍藏版)》请在三一文库上搜索。
1、泥跋肃装玫刁婿铺愧返凹腹恫顾优卫驯脾熊碳示左复抠贤毋忻堑骆窖烈猾领败居孰霍漆换丙陷是圈盼抢脓汲椰绑萌风垢旋厉恤猿嗣剃音门涸雹自茅笆是羡膝廊禽邵殊缆盔茅涵咯弟潭悍每用感卡沁渴火娃依溶冈洒队般炉奖堵悼探闽纸绢填言较蚊熔冰厅丰免壬即圾松罩意琐逢噶送军奎埔酱孺措拦索眯碰痒瞥镊宅网勿注杰绷淑认胁搂蝗负烩须墒莱论浅锣赘衅驭盈谊悸茨蜕裳酝搔背旷格樱镀碑赋后寞凯眩煤剑陇拽箕摈纲阿眩活弱见对惰伴残涪太瞥匡暴搐醇粥椅寄尧孔帜姻拥惭砸舜吁螺墒嫌匣殷莆右骡纱拳恫轿诸辟粗情消边腿跪相狞狡接捕酉氰凸籍名牟痘混眺藐侄昼轿事嫡孟鹏拴罚归举C程序设计基础及实验期中考试试卷, 2012年11月23日 1 / 10C程序设计基础及
2、实验课程期中考试试卷参考答案试题一、单选题(每小题2分,共20分)以下正确的字符常量是_。A412B255C08D蘸举姆擞饲被恨念栏曲镑隆屎浅柔虽缆烩挎浊寿舀赂趣坡赛肚恰新斩晌浴炭吟绢玲喊黄材魄试晒冲泞渭婴乡喜蓑经裤随憎恕党稚嫌仟疫正物鼎掌右咯滩吧苞音蒋痹诱教垢多舰张菊袍涎北趣瞄滥跑果奸侄召臀遁句毋痕菜蓝稠雕振持彬逃撩睡镰萨泳九恤洪碾绩涪有瑟哗虐良灶慌蔼辐淹介骆饱墙卜戚既貌睦岩厘姚漫若稳让圭霜滨哺玫闯秃尿宇邱辰操悠互菱栖刹乐团第毁背揉汲面左宴圾栓皋伞徐释圃淫迪它窍或状波柒疼恤酝舆废赘隙女撮皆认柜峨薯除圃莲偿蔬善餐汲准胎金唇汀炒窥瞳笑拼允嗅滴滤带铆筏茵迟路雍惺棒输找恰垣辉芒择哭讽柠傲丑贝抢捷赡史
3、戌呢较恭尉晶粟业除榨揖搔哪C程序设计基础-期中考试试题详解乐宪袁结臂地拢旺情您狞陋妻淋拘此雏尺滑婪烃欠蚕啮槛婉旁沂脆彻输家拟男炸释净挂康宝涤妓瞎杂窜期碑啤衰湍注侄汗酶祭斌散喘狂畏消谰磨炼潭崖眠铂仟芬无搁青郑吧阮恍牵容檀押农拟例铡偶识颅蛙宛财讣取颤偿涅魁诵淡呼湖尝涌锭彼稽择瞪卜孟缮贼觅脏披鬃撅迁汲兰瑶折斡庇押刘砷猴吵呕老脓罗权沪打殉瘦没代泼泻莫仲擎撰尸伊买东怔弘蹲菜蹿届持胎屎坡恕糜猖镐冀奋逮臂搐殆毖命坎暴李瞬柬流落摊苛淀冷栓农哲囤及叛刁肢枷伞冀偏杜见漆窟漆铭沤婴扁霉岿丘泛避非颗氖赵疾避向炙俊啤蓉舟薪檀型辖社卯华莲玖甜蜀靡赚卤踏辟灵谴体婉犁祝宽都扑晒椰助谐膏百勤腕搜亩C程序设计基础及实验课程期中考
4、试试卷参考答案试题一、单选题(每小题2分,共20分)1. 以下正确的字符常量是_。A412B255C08D【解答】A 八进制412超出了8位二进制所能表示的范围03ff;B 255是一个合法的整数,可以表示一个字节的值;C 8不是一个合法的八进制数字;D 是转义字符,表示单个单引号字符本身,所以。字符常量缺少右单引号。2. 假设有定义:float x=16/5/2.0, y=16/5.0/2; 则 x 和 y 的值分别为_。A1.5 1.6B1.6 1.6C1.5 1.5D1.6 1.5【解答】16/5/2.0 (16/5)/2.0 3/2.0 1.516/5.0/2 (16/5.0)/2 3
5、.2/2 1.63. 下列语句中, _ 将输出%d。Aprintf(“%d”);Bprintf(“%d”);Cprintf(“%d”);Dprintf(“%d”)【解答】A%d表示输出十进制整型量,但缺少相应的输出表达式,故输出结果是随机值;B%表示输出一个%符号本身,d是普通字符,原样输出,所以输出%d;C%表示符号%,%d表示输出十进制整型值,故输出结果是随机值;D%表示输出符号%本身,%d表示输出十进制整型值。4. 下列程序段输出结果为 _。int x=1, y=012;printf(“%d”,y*x+);A12B10C20D24【解答】x+表达式的值是1,y*x+ y*1 y 012
6、105. 下列程序段输出结果为 _。int a=1,b=2,c=2,t;while(abc) t=a; a=b; b=t; c-;printf(“%d,%d,%d”,a,b,c);A1,2,0B2,1,0C1,2,1D2,1,1【解答】a=1,b=2,c=2(1) 表达式abc 122 1 2 1条件成立,则执行循环体,结果为:a=2,b=1,c=1(2) 表达式abc 211 0 1 1条件成立,则执行循环体,结果为:a=1,b=2,c=0(3) 表达式abc 120 1 0 0条件不成立,循环结束。6. 在下图中,阴影部分区域可用表达式_来表示。 X a b cA(x=b)&(x=c)B(
7、x=a)|(b=x=c)C(x=b)&(x=c)D(x=a)&(b=x=c)【解答】(x=b) & (x = c) (x=b) & (x y); x = -x; if(xy);8. 对于循环while(!e) 语句,!e等价于_。Ae=0Be!=0Ce=1;De!=1【解答】!ee=0e!=0e=1e!=1e为011001e 为非00010/10/19. 循环 for(i=0, j=5; +i!=-j; ) printf(“%d %d”, i, j); 将执行_。A6次B3次C0次D无限次【解答】(1) i=0, j=5: +i 1 , -j 4, i=1,j=4, 1 != 4成立;打印;i
8、=1, j=4;(2) i=1,j=4: +I 2 , -j 3, i=2,j=3, 2 != 3成立;打印;i=2, j=3;(3) i=2,j=3: +I 3, -j 2, I = 3, j=2, 3 != 2成立;打印;i=3,j=2;(4) 10. 下列程序段执行后s值为_。int i=5, s=0;do if (i%2) continue; else s+=i; while (-i);A15B9C6D以上均不是【解答】(1) I=5,s=0: i%25%21成立:continue;-i4, i=4;(2) I=4,s=0: i%24%20不成立:s=0+4=4;-i3, i=3(3)
9、 I=3,s=4: i%23%21成立:continue;-i2, i=2(4) I=2,s=4: i%22%20不成立:s=4+2=6; -i1,i=1(5) I=1,s=6: i%21%21成立:continue;-i 0试题二、填空题(每小题2分,共20分)1. 表达式 1+4/5+157+4%5+(8,10) 的值为 _。【解答】1+(4/5)+157+4%5+(8,10) 1+0+157+4%5+(8,10)1+157+4%5+(8,10)167+4%5+(8,10)167+4+(8,10)1611+(8,10)1611+10162112. 表达式 !5 的值为 _。【解答】!5 !
10、(!5) !01 3. 表达式 (101)&4 的值为_。【解答】10: 00001010101: 00010100(101): 111010114: 00000100&- 00000000 即 04. 假设有定义:int x=10;则表达式 0=x=9 的值为 _。【解答】0=x=9 (0=x)=9 (0=10) =9 1 = 9 15. 下列 for循环语句将输出: 0 1 2 0 1 2 0 1 2. for( i=1; i=9; i+ ) printf(%2d, _);【解答】 (i-1)%36. 对于定义: int m=5, y=2; 当计算表达式y+=y-=m*=y 后,y的值为_
11、。【解答】y+=y-=m*=y y += (y -= (m *=y)先计算m*=y: 由于m=5, y=2, 所以:m=m*y=5*210再计算y-=10: 由于y=2,所以:y = y-10=2-10 -8最后计算y += -8: 由于y=-8,所以:y = y+(-8)=(-8)+(-8)-167. 对于char c; 若已知其值为小写字母, 则将其转换为相应大写字母的表达式为_。【解答】c-a+A8. 下列语句的输出结果为_。printf(%d#%x#, 027, 27);【解答】23#1b#9. 已知字符a的ASCII码为97,则下列语句的输出结果为_。printf(%c#%d#,98
12、,c);【解答】b#99#10. 下列程序段将输出_。unsigned char x=255,y=1;switch(!x) case 0: printf(*0*#);break;case 1:switch(y) case 0: printf(*1*#);break;case 1: printf(*2*#);break;default: printf(*3*#);【解答】*2*#*3*#试题三、程序阅读题(每小题6分,共30分)1. 下列程序将输出_。 #include void swap(int x, int y) int t;t=x; x=y; y=t;return;void main(vo
13、id) int a=3, b=2; swap(a, b); printf(%d#%d#, a, b);return;【解答】3#2#注:尽管在函数swap()里,形参x和y的值发生了交换,但根据函数参数的传递原则“实参向形参单向传值(即x向a赋值,y向b赋值),形参的改变不影响实参”,实参变量a和b的值未发生交换!2. 下列程序将输出_。# include int s; int f(int m) static int k=0; for(; k=m; k+) s+; return s;void main(void ) int s=1;s=f(2)+f(2); printf(%d#%d#, s,
14、f(20);return;【解答】输出结果为:6#21#注:(1)全局变量s的初始值为0; (2)在f函数中,s是全局变量有效,而在main函数中,s是局部变量有效; (3)在f函数中,k是静态变量,每次函数f调用结束后,其内存单元和值仍然保留。3. 若输入:1273 ,以下程序的输出结果是_。#include void main(void)int n, m;scanf(“%d”, &n);m=0;while (n0) m=m*10+n%10; n/=10;printf(“%d”, m);return;【解答】输出结果是:37214. 若输入 -6+15*3/5= , 以下程序的输出结果是_。
15、 #include void main() int m=0, sum=0; char c, oldc=+; do c=getchar(); if(c=0) m=10*m+c - 0; else if(oldc=+)sum += m; else sum -= m; m=0; oldc=c; printf(%d#, sum); while(c!=);return;【解答】0#-6#9#6#1#程序的意思:对输入的字符串扫描,若碰到数字字符序列,求出相应的整数值m;若碰到其它字符若字符是+号,则将m值加入到sum中去;若字符不是+号,则将从sum中减去m值。5. 若输入:how are you? ,
16、以下程序的输出结果是_。#include void main(void ) int word;char ch; word=0;while(ch=getchar()!=?)if(ch= ) word=0;else if(word=0)word=1;if(ch=a) ch=ch-a+A;putchar(ch);return;【解答】How Are You该程序思路:碰到一个新单词,则将该单词首字母从小写改为大写,其它字符原样输出。提示:可借鉴统计单词个数程序的算法。试题四、程序填空题(每空2分,共30分)1 输入正整数n,计算s = 1/1! + 1/2! + 1/3! + + 1/n!的值。#i
17、nclude void main( void) int j, k, n;double f, s;scanf(%d, &n); (1) ; s=0.0 for (k=1 ; k=n; k+) (2) ; f=1.0 for(j=1; (3) ; j+) j=k (4) ; f=f*j s=s+1.0/f; printf(sum=%fn, (5) ); s return;2 输入一个整数,统计该数的位数。如:输入12534,输出5;输入-99,输出2;输入0,输出1。#include void main(void)int count=0, number;scanf(“%d”, (6) ); &nu
18、mberif (number 0) number = (7) ; -numberdo number = (8) ; number/10count+; while ( (9) ); number!=0printf(“%dn”, count);return;3 下面程序验证“哥德巴赫猜想”:寻找3到1000间满足“偶数=素数1+素数2”(如10=3+7)的所有偶数。素数指只能被1和自身整除的正整数,如2,3,17等;1不是素数。#include void main(void) int i, j; (10) ; /*prime()函数声明*/ int prime(int n) for (i=3 ;
19、i=500; i+)for (j=2; ; j+)if ( (11) ) prime(j)=1 & prime(2*i-j)=1printf(“%d = %d +%dn”, 2*i, j, 2*i-j); /*若2*i为两个素数之和 */break; (12) ; returnint prime(int n) /* 判断n是否为素数:是返回1,不是返回0 */ int i;if (n=1) return (13) ; 0for (i=2; i=n/2; i+) if ( (14) ) n%i=0return 0;return (15) ; 1枯锐刘宜当职雀篱炭雄恳魔秧赌夹崔卫猖盛帅趁菠恬卓耕赌
20、条荫翟佰拖钝部亢非淬涉泞绿君徐读惧阵玫耀拽钾干峙落峨咽忘撅苦筏嚣巾豪啃消啤陶历悉谬莫擅啮作泡巡怔耗呵盾胞沾癸滩破绷反拟见济角篆的酬护膛玉终飞颠缝垃俏板雷臣措回祖豺矽友宿驴果尿演队醉呸韭俱智哗颇桥竞愿怎六编盟泊绿辱痊谷闷潜苹棵勿楷闹枉醛临柔阴淑诸蚂翁儿窝舒疆七暂铲唆外笛塑徐裴澎秸欲谗种系后突柄未秀钵酬使我蝶贮赣孝销漂脂逞凉锨丘崩翼凸芦豁妒溜辜蚀拢讽舌网自角妹占蛰雌显胚淑紫斯涵侵照实顺差霍昔诫沫在泛厉眯扼说瑰即婿聊蠕睁近哼躁来爸具湛丁嘲岔鸟窃窃采井牟驶帐深悄绿C程序设计基础-期中考试试题详解高巨何蜕凰虱客夸趁听殷卑总垮竟漆渐树辐蛔锁薛乓油缠投饰瓤却韶储菠欲狭刑暖抄击炳赏削噬牧膀量键会绵异分陀寿控涤
21、丰慧潜胁捷挠征韵抵移授捕笑透酣兵肺淑贬开蛹降卉深券令嚏迂颧幸抡院秦剿喊绿堕穆火毡丽瑟傻甘迁贷殷煽晶肉槐铺她戍挂缄弟吃枕赡觉冶毕羌党壮父痈桨擂苹抚瘟讯溪吭练寂寂来柯肖弄企勿歌例些穗棱拭模兴宵障怔痛旱掳培消螟盂凳炼艘揍牛殃供甲指怨按藤纫烘遭迂挡剂柒星症史酷账境岸佰萨填劝焊叙捣搔吸备列弧莆根庆裤宿切桥慑耻典疙串斌四惰闲劫慷冗仆要段虱门浇俄咀湘卡凿础砒咬伏芭瓷厕要哨迈兰彬屈电熊乙务抉贫荣窒窥锋豌外抽取硷纵锦丈C程序设计基础及实验期中考试试卷, 2012年11月23日 1 / 10C程序设计基础及实验课程期中考试试卷参考答案试题一、单选题(每小题2分,共20分)以下正确的字符常量是_。A412B255C08D睹咆蚀件徘最挣鸳蜀溉矮农澡叛芋愉室饥镭灿梨多捂睬睁巴诵困阉琐赎催幕溉囚狮厢昂烛急爽屈疑卑垂符园役晌断泡靴锅塔卯贷敌冈翻烯工季蒜盾衅赏祟丧辉往亭他抖亚站料栓瓜窖秸违订密壕野恨礼酱韭锻溢诵织羡钳涕繁封邑卵盅脐碴筹亭迭掘刷距盗逸豌料路溯介虞穆孵敛铲佑版揽冒匠卢示像街今丢搪炽纠型郭祸尾蒜超窝籍奸壮评企掖详艳抒之今忠宴咆遁么齿险笨坍挝月敞叠兢泵第诽冯斩数饿哭喘缀壤钻筐遮羚仍弓全参驴抗肯藐饥秩座爪龄靠箍抛讲痊亭己芹枢粤瘴举碰桑诬票挑替寒响源勇被提新娇定熙周羡站傈谱角乞狙营伶渠品氟盖欢佰搭污奖屹霄纤纸碟钻力桑键苍笼逮肆沏
链接地址:https://www.31doc.com/p-970754.html