网站大量收购独家精品文档,联系QQ:2885784924

C语言辅导2.doc

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言辅导2

模拟练习一 试题四、程序阅读题(每题5分, 共15分) 说明:阅读下列程序,将运行时的输出结果写在答卷纸的相应题号下。 程序1 # include stdio.h void main( ) { int j, k; float f,s; s=0; f=1; for(k=1; k=3; k++){ for(j=1; jk; j++) f=f*k; s=s+f; printf(%.0f#,s); }} 【讲解】 第1次:k=1,j=1, 里层循环不执行:s==s+f=0+1,s=1 第2次:k=2,j=1,循环执行,f=1*2=2:s=1+2,s=3 第3次:k=3,j=1,循环执行,f=2*3=6,注意:里层循环继续,s现在不运算, 第4次:k=3,j=2,循环执行,f=6*3=18,注意:里层循环结束,s现在运算:s=s+f=3+18=21 模拟练习二 试题二、单选题(每题2分,共20分) (14) 下列程序段的输出结果是 (14) 。 int count = 0, x, y, z; for(x = 1; x = 2; x++) for(y = 1; y = 3; y++) for(z = 1; z = 4; z++) count++; printf(%d, count); A、10 B、9 C、24 D、0 【讲解】 循环次数:2*3*4=24 (17) 对于以下递归函数f,调用函数f(4),其返回值是 (17) 。 int f(int n) { if(n2) return f(n-1)+n; else return n; } A、9 B、10 C、2 D、4 【讲解】 f(4)=f(3)+4=(f(2)+3)+4=(2+3)+4=9 试题三、程序填空题(每空2分,共20分) 说明:阅读下列程序说明和相应程序,在每小题提供的若干可选答案中,挑选一个正确答案。 程序1 【程序说明】 求 2/1 + 3/2 + 5/3 + 8/5 + … 的前10项之和。(该序列从第2项起,每一项的分子是前一项分子与分母的和,分母是前一项的分子) 【程序】 #include stdio.h void main() { int i, a = 1, b = 1, t; (21) ; for(i = 1; i = 10; i++){ t = a; (22) ; b = t; y = (23) ; } printf(%f\n, y); } (21) A、int y = 0 B、int y C、double y = 0 D、double y 【讲解】 这里应该是定义变量y的类型,应为y是小数的和,应该在C和D中选择。结合(23)处考虑,有y=y+,所以此处必须赋初值。因此正确的是C。 (22) A、a = b B、b = a + b C、a = a + b D、b = a 【讲解】 仔细阅读程序,发现a表示分子,b表示分母,结合题目的意思考虑,此处正确的是C。 (23) A、y + 1.0*a/b B、y + a/b C、a/b D、1.0*a/b 【讲解】 在选项A中,1.0*a先算,结果是小数。B和C都是整数,不对。D没有累加,不对。 程序2 【程序说明】 读入一批正整数(以零或负数为结束标志),输出其中的素数。函数prime(m)用于判断m是否为素数。素数就是只能被1和自身整除的正整数,1不是素数,2是素数。 【程序】 #include stdio.h #include math.h void main( ) { int x; int prime(int m); scanf(%d, x); while( (24) ){ if(prime(x)) printf(%d\n, x); scanf(%d, x); } } int prime(int m) { int k, n, res; if(m == 1) return 0; res = 1; n = (int)sqrt(m);

文档评论(0)

xcs88858 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档