C程序设计基础期中考试试题详解.docx

上传人:rrsccc 文档编号:9830912 上传时间:2021-03-29 格式:DOCX 页数:10 大小:17.13KB
返回 下载 相关 举报
C程序设计基础期中考试试题详解.docx_第1页
第1页 / 共10页
C程序设计基础期中考试试题详解.docx_第2页
第2页 / 共10页
C程序设计基础期中考试试题详解.docx_第3页
第3页 / 共10页
C程序设计基础期中考试试题详解.docx_第4页
第4页 / 共10页
亲,该文档总共10页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《C程序设计基础期中考试试题详解.docx》由会员分享,可在线阅读,更多相关《C程序设计基础期中考试试题详解.docx(10页珍藏版)》请在三一文库上搜索。

1、C程序设计基础期中考试试题详解百度文库- 让每个人平等地提升自我1 C程序设计基础及实验课程期中考试试卷参考答案试题一、单选题(每小题2分,共20分)1. 以下正确的字符常量是_。A412B255 C08D【解答】A八进制412超出了8位二进制所能表示的范围03ff;B255是一个合法的整数,可以表示一个字节的值;C 8不是一个合法的八进制数字;D 是转义字符,表示单个单引号字符本身,所以。字符常量缺少右单引号。2. 假设有定义:float x=16/5/2.0, y=16/5.0/2; 则x 和y 的值分别为_。A1.5 1.6 B1.6 1.6 C1.5 1.5 D1.6 1.5【解答】1

2、6/5/2.0 (16/5)/2.0 3/2.0 1.516/5.0/2 (16/5.0)/2 3.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(“%

3、d”,y*x+);A12 B10 C20 D24【解答】x+表达式的值是1,y*x+ y*1 y 012 105. 下列程序段输出结果为_。int a=1,b=2,c=2,t;while(ay);x = -x;if(xy = -y;printf(x=%d,y=%dn, x, y);A x=3,y=-2B x=3,y=2C x=-3,y=2D x=-3,y=-2 【解答】x=3,y=2;请注意:if(xy); 8. 对于循环while(!e) 语句,!e 等价于_。A e=0B e!=0C e=1;D e!=1 【解答】 9. 循环 for(i=0, j=5; +i!=-j; ) printf(

4、“%d %d”, i, j); 将执行_。百度文库- 让每个人平等地提升自我3 A6次B3次C0次D无限次【解答】(1) i=0, j=5: +i 1 , -j 4, i=1,j=4, 1 != 4成立;打印;i=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

5、(-i);A15 B9 C6 D以上均不是【解答】(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) 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+15【解答】1+(4/5)+15 1+0+151+15161616161612. 表达式!5

6、的值为_。【解答】!5 !(!5) !013. 表达式(100) m=m*10+n%10;n/=10;百度文库- 让每个人平等地提升自我7printf(“%d”, m);return;【解答】输出结果是:37214. 若输入-6+15*3/5=#include void main()int m=0, sum=0;char c, oldc=+;do c=getchar();if(cm=10*m+c - 0;else if(oldc=+)sum += m;elsesum -= m;m=0;oldc=c;printf(%d#, sum); while(c!=);return;【解答】0#-6#9#6

7、#1#程序的意思:对输入的字符串扫描,若碰到数字字符序列,求出相应的整数值m;若碰到其它字符若字符是+号,则将m值加入到sum中去;若字符不是+号,则将从sum中减去m值。5. 若输入:how are you? #include void main(void )int word;char ch;百度文库- 让每个人平等地提升自我8word=0;while(ch=getchar()!=?)if(ch= ) word=0;else if(word=0)word=1;if(chputchar(ch);return;【解答】How Are You该程序思路:碰到一个新单词,则将该单词首字母从小写改为大

8、写,其它字符原样输出。提示:可借鉴统计单词个数程序的算法。试题四、程序填空题(每空2分,共30分)1输入正整数n,计算s = 1/1! + 1/2! + 1/3! + + 1/n!的值。#include void main( void)int j, k, n;double f, s;scanf(%d, &n);(1); s=0.0for (k=1 ; k(2); f=1.0for(j=1; (3); j+) j(4); f=f*js=s+1.0/f;printf(sum=%fn, (5); sreturn;2输入一个整数,统计该数的位数。如:输入12534,输出5;输入-99,输出2;输入0,

9、输出1。#include void main(void)百度文库- 让每个人平等地提升自我9 int count=0, number;scanf(“%d”, (6); &numberif (number do 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

10、i, j;(10); /*prime()函数声明*/ int prime(int n)for (i=3 ; ifor (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; iif ( (14) n%i=0return 0;return (15); 1百度文库- 让每个人平等地提升自我10

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1