- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)