c语言试题月考2012年9月.docx

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机应用类专业 2012 年9 月份月考 C语言试题 一、选择题 ( 5 分*10=50 分) 1、运行以下程序的输出结果是( D ) main( ) { int x=10,y=10,i; for( i=0;x8;y=++i) printf(%d %d,x--,y);} A、10 1 9 2 B 、9 8 7 6 C 、10 9 9 0 D 、10 10 9 1 【解析】 本题中变量 x 值的变化取决于自增运算符, 而变量 y 值的改变取 决于循环语句表达 3 中变量 i 的变化,也就是执行循环体后再改变 y 的值。 但最后一轮由于条件不满足而不输出 y 值。 循 环 x y 执行输出 变量 i 的 执行表达 3 次 数 值 语句后 x 后 y 的值 的值 1 10 10 9 0 1 10 1 2 9 1 8 1 2 1 2 2、运行以下程序的输出结果是( B ) main( ) { int y=18,i=0,j,a[8]; do{ a[i]=y%2; i++; y=y/2; }while(y0); for( j=i-1;j=0;j--) printf(%d,a[j]); printf(\n); } A、10000 B 、10010 C 、00110 D、10100 【解析】 本题中包含两个循环语句, do 语句是分别给数组元素赋值,得 a[0]=0 ,a[1]=1 ,a[2]=0 ,a[]3]=0 ,a[4]=1 ,结束后变量 i 的值变为 5。再 执行 for 语句时是采用由后到前输出数组元素的值。 3、已有如下定义和输入语句 , 若要求 a1,a2,c1,c2 的值分别为 10,20,A 和 B, 1 当从第一列开始输入数据时 , 正确的数据输入方式是 ( D )( 注:CR表示回 车、︼表示空格 ) int a1,a2; char c1,c2; scanf( “%d%”d ,a1,a2); scanf( “%c%”c ,c1,c2); A)1020ABCR B)10 ︼20CR ABCR C)10 ︼ ︼20︼ ︼ABCR D)10 ︼20ABCR 4、设 x 和 y 均为 int 型变量,则执行以下循环后, y 的值为( C) #include stdio.h main() { int x,y; for (y=1,x=1;y=50;y++) { if(x=10) break; if(x%2==1) { x+=5; continue; } x-=3; } printf(%d,y); } A、2 B 、 4 C 、6 D 、10 【解析】根据程序可知,程序每次循环状态如表所示 循环次数 本次循环开始 本次循环结束 执行一轮循环 时的 x 的值 时的 x 的值 后变量 y 的值 1 1 6 2 2 6 3 3 3 3 8 4 4 8 5 5 5 5 10 6 循环执行到第 6 次时,由于 x=10 所以退出循环。因此本题答案为 C 2 5、运行以下程序的输出结果是( A ) #include stdio.h void main( ) { char s[16]=12345\0\t\t\t; printf(%d %d\n,strlen(s),sizeof(s)); } A、 5 16 B 、 9 16 C 、 5 13 D 、 13 16 【解析】本题主要考查字符串处理函数 strlen( ),sizeof( ) ,strlen( ) 是 长度测试函数,在测试过程中如遇到字符串结束标志符时自动停止读取,题 中第 6 个字符为字符串结束标志符就停止,所以有效字符数为 5。sizeof( ) 函数是求某一数据类型所占的内存空间的长度,此题中测试的是字符数组 s 所占内存空间的长度,而数组 s 的长度在定义时已明确指出为 16,所以 sizeof( ) 测出的值是 16。所以本题答案为 A。 6、运行以下程序的输出结果是( B ) #include stdio.h void main( ) { int i,a[10]={0,1,2,3,4,5,6,7,8,9}; for(i=1;i9;i++) a[i]=a[i-1]+a[i+1]; printf(%d%d,a[5],a[7]); } A 、1014 B 、 2035 C 、 812 D 、 2744 【解析】本题主要考查数组元素的算术运算与其值的变化特点。 循环次数 控制变量 i 值的值 数据元素 a[i] 的值 1 1 a[1]=a[0]+a[2]=2 2 2 a[2]=a[1]+a[3]=5 3 3 a[3]=a[2]+a[4]=9 4 4 a[4]=a[3]+a[5]=14 5 5 a[5]=a[4]+a[6]=20 6 6 a[6]=a[5]+a[7]=27 7 7 a[

文档评论(0)

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

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

版权声明书
用户编号:6122115144000002

1亿VIP精品文档

相关文档