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





《c语言试题月考2012年9月.doc》由会员分享,可在线阅读,更多相关《c语言试题月考2012年9月.doc(12页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、,计算机应用类专业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值。 循环次 数xy执行输出语句后x的值变量i的值执行表达3后y的值11010901101291812122
2、、运行以下程序的输出结果是( B )main( ) int y=18,i=0,j,a8; do ai=y%2; i+;y=y/2;while(y0);for( j=i-1;j=0;j-)printf(%d,aj);printf(n); A、10000 B、10010 C、00110 D、10100【解析】 本题中包含两个循环语句,do语句是分别给数组元素赋值,得a0=0,a1=1,a2=0,a3=0,a4=1,结束后变量i的值变为5。再执行for语句时是采用由后到前输出数组元素的值。3、已有如下定义和输入语句,若要求a1,a2,c1,c2的值分别为10,20,A和B,当从第一列开始输入数据时,
3、正确的数据输入方式是( D )(注:表示回车、表示空格) int a1,a2; char c1,c2; scanf(“%d%d”,&a1,&a2); scanf(“%c%c”,&c1,&c2); A)1020AB B)1020 AB C)10 20 AB D)1020AB4、设x 和y均为int 型变量,则执行以下循环后, y 的值为(C)#include stdio.hmain() int x,y;for (y=1,x=1;y=10) break; if(x%2=1) x+=5; continue; x-=3; printf(%d,y);A、2 B、 4 C、6 D、10【解析】根据程序可知
4、,程序每次循环状态如表所示循环次数本次循环开始时的x的值本次循环结束时的x的值执行一轮循环后变量y的值116226333384485555106循环执行到第6次时,由于x10所以退出循环。因此本题答案为C5、运行以下程序的输出结果是( A )#includevoid main( ) char s16=123450ttt; printf(%d %dn,strlen(s),sizeof(s);A、 5 16 B、 9 16 C、 5 13 D、 13 16【解析】本题主要考查字符串处理函数strlen( ),sizeof( ),strlen( )是长度测试函数,在测试过程中如遇到字符串结束标志符时
5、自动停止读取,题中第6个字符为字符串结束标志符就停止,所以有效字符数为5。sizeof( )函数是求某一数据类型所占的内存空间的长度,此题中测试的是字符数组s所占内存空间的长度,而数组s的长度在定义时已明确指出为16,所以sizeof( )测出的值是16。所以本题答案为A。6、运行以下程序的输出结果是( B )#includevoid main( ) int i,a10=0,1,2,3,4,5,6,7,8,9;for(i=1;i9;i+) ai=ai-1+ai+1;printf(%d%d,a5,a7); A 、1014 B、 2035 C、 812 D、 2744【解析】本题主要考查数组元素的
6、算术运算与其值的变化特点。循环次数控制变量i值的值数据元素ai的值11a1=a0+a2=222a2=a1+a3=533a3=a2+a4=944a4=a3+a5=1455a5=a4+a6=2066a6=a5+a7=2777a7=a6+a8=3588a8=a7+a9=44循环到第8次后,变量i的值变为9,不符合条件,退出循环。根据表格所示本题答案为B。7、以下程序的输出结果是( A ) main( ) int n=4;while(n-) printf(%d ,-n);A、2 0 B、3 1 C、3 2 1 D、2 1 0【解析】本题考查while循环语句和自减运算符的运用。由程序段可知,循环的控制
7、表达式while(n-)中,n相当于while(n) n-;所以每循环一次,n值减1,n值的变化是 4,3,2,1,0。但由于在printf(%d ,-n);语句中又存在-n的变化,所以程序中n的变化实质是每循环一轮其值递减2,即420,当n变为0时while(n)条件不满足,退出循环。8、若变量a,i已正确定义,且i已正确赋值,合法的语句是( B )。A)a=1 B)+i;C)a=a+=5;D)a=int(i)【解析】本题考查C语言语句的特点,C语言中语句的结束是以“;”为标志。由此可排除选项A和D。其二常数不可以赋值给一个表达式也不可以常量赋给常量,由此可排除选项C。故答案为B。9、运行以
8、下程序的输出结果是(C)#includevoid main() char i,s5=abc,defgh,ijk,xyz;for(i=1;i3;i+)printf(%sn,si);A abc B defgh C defghijk D defghijk defgh ijk ijk xyz ijk【解析】此题考查字符串数组的含义,字符串数组实质是数组中每一个元素又都是存放一个字符串的数组,所以可以将一个字符数组视为一个二维字符数组。其中的元素按行占连续的存储单元,且其中有些存储单元是空闲的,各字符串并不是一串连着一串存放,总是从每行的第0个元素开始存放一个新的串。此题中第二行由于数组长度刚好与字符个
9、数相等,即长度不够,则字符串结束标志符O未能存入s中,而是存在s数组之后的一个单元里,所以本题的存放形式如图示。S0abc0S1defghS2ijk0S3xyz0题中使用了printf()函数的s格式符来输出字符串,实现时从数组的第一个字符开始逐个字符输出,直到遇到第一个0为止(其后即使还有字符亦不输出)。是开始输出否结束输入KN是否10、某店一个月的收入和支出总共记录了 N个数据,。,其中入记为正数,支出记为负数。该店用右边的程序框图计算月总收入S和月净盈利V,那么在图中空白的判断框和处理框中,应分别填入下列四个选项中的( C )(A)A0,VST(B) A0,VST (C) A0, VST
10、 (D)A0,VST 【解析】月总收入为S,因此A0时归入S,判断框内填A0,支出T为负数,因此月盈利VST。二、填空题(4分*5=20分)1、有int a=3,b=4,c=5,x,y;,则以下表达式的值为 0 。! (x=a)&(y=b)&0【解析】对于C语言中逻辑表达式有且只有“1”和“0”两个逻辑值,在运算过程中按从左至右的顺序进行运算,但要考虑运算符的优先级别。2、以下程序对输入两个整数,按从大到小顺序输出.请在 内填入正确内容.main() int x,y,z;scanf(“%d,%d”,&x,&y);if ( xy ) z=x; x=y;y=z; pringf(“%d,%d”,x,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 试题 月考 2012

限制150内