C程序设计基础-期中考-试~试题-详解.doc

上传人:小** 文档编号:576015 上传时间:2018-10-31 格式:DOC 页数:10 大小:64.50KB
返回 下载 相关 举报
C程序设计基础-期中考-试~试题-详解.doc_第1页
第1页 / 共10页
C程序设计基础-期中考-试~试题-详解.doc_第2页
第2页 / 共10页
点击查看更多>>
资源描述

《C程序设计基础-期中考-试~试题-详解.doc》由会员分享,可在线阅读,更多相关《C程序设计基础-期中考-试~试题-详解.doc(10页珍藏版)》请在得力文库 - 分享文档赚钱的网站上搜索。

1、|C 程序设计基础及实验课程期中考试试卷参考答案试题一、单选题(每小题 2 分,共 20 分)1. 以下正确的字符常量是_。A 412 B255 C 08 D 【解答】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.6 B1.6 1.6 C1.5 1.5 D1.6 1.5【解答】16/5/2.0 (16/5)/2.

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(“%d”,y*x+);A12

3、B10 C20 D24【解答】x+表达式的值是1 ,y*x+ y*1 y 012 105. 下列程序段输出结果为 _。int a=1,b=2,c=2,t;|while(a=b)x = -x;if(xy);8. 对于循环 while(!e) 语句,!e 等价于_。Ae=0 Be!=0 Ce=1; De!=1【解答】!e e=0 e!=0 e=1 e!=1e 为 0 1 1 0 0 1e 为非 0 0 0 1 0/1 0/1|9. 循环 for(i=0, j=5; +i!=-j; ) printf(“%d %d”, i, j); 将执行_。A6次 B3次 C0次 D无限次【解答】(1) i=0,

4、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 (-i);A15 B9 C6 D以上均不是【解答】(1) I=5,s=0: i%25%21 成立:continue;-i

5、4, i=4;(2) I=4,s=0: i%24%20 不成立:s=0+4=4 ;-i 3, i=3(3) I=3,s=4: i%23%21 成立:continue;-i 2, 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+15void swap(int x, int y) int t;t=x; x=y; y=t;return;void main(void) int a=3, b=2;swap(a, b);p

6、rintf(“%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,以下程序的输出结果是_ 。#include void main(void)int n, m;scanf(“%d”, m=0;while (n0) m=m*10+n%10;n/=10;|printf(“%d”

7、, m);return;【解答】输出结果是:37214. 若输入 -6+15*3/5= , 以下程序的输出结果是_。#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

8、 值加入到sum中去;若字符不是+号,则将从sum 中减去m 值。5. 若输入:how are you? ,以下程序的输出结果是_。#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该程序思路:碰到一个新单词,则将该单词首字母从小写改为大写,其它字符原样输出。提示:可借鉴统计单词个数程序的算法。试题四、程序填空题(每空

9、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“, (1) ; s=0.0 for (k=1 ; kvoid main(void)int count=0, number;scanf(“%d”, (6) ); (10) ; /*prime()函数声明*/ int prime(int n)for (i=3 ; i=500; i+)for (j=2; ; j+)if ( (11) ) prime(j)=1 /*若 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

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 教育专区 > 教案示例

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知得利文库网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号-8 |  经营许可证:黑B2-20190332号 |   黑公网安备:91230400333293403D

© 2020-2023 www.deliwenku.com 得利文库. All Rights Reserved 黑龙江转换宝科技有限公司 

黑龙江省互联网违法和不良信息举报
举报电话:0468-3380021 邮箱:hgswwxb@163.com