C语言第1阶段15章自测题.docx
- 文档编号:17550510
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:14
- 大小:31.99KB
C语言第1阶段15章自测题.docx
《C语言第1阶段15章自测题.docx》由会员分享,可在线阅读,更多相关《C语言第1阶段15章自测题.docx(14页珍藏版)》请在冰点文库上搜索。
C语言第1阶段15章自测题
至诚学院《C语言程序设计》第1阶段测试题
2012—2013学年第二学期测试日期:
2013年3月18日
一、选择题(每小题2分,共40分)
1.以下叙述中正确的是()。
A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行
C)C是近英语的自然语言和数学语言为语言的表达形式D)C语言出现最晚,具有其他语言的一切优点
2.以下叙述中不正确的是()。
A)一个C源程序可由一个或多个函数组成B)一个C源程序必须包含一个main函数
C)函数是C程序的基本组成单位D)分号是C语句之间的分隔符,不是语句的一部分
3.算法具有五个特性,以下不属于算法特性的是()。
A)有穷性B)简洁性C)可行性D)确定性
4.以下()组中的标识符都是合法的用户标识符。
A)3ab,A_10,stB)class,λ1,gradeC)printf,INT,char1D)b3,a,unsigned
5.C语言中的基本数据类型包括()。
A)整型、实型(浮点型)、逻辑型B)整型、实型(浮点型)、字符型
C)整型、字符型、逻辑型D)字符型、实型(浮点型)、逻辑型
6.以下选项中,均是合法整型常量的选项是()。
A)123,Oxffff,0123B)Oxabc,018,0x123C)Ola,123,012,OxefD)Ox22b,3e5,016
7.若有定义:
floata=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为()。
A)6.0B)6C)0.0D)无答案
8.若有定义和语句:
ints,p;
s=p=5;
p=s++;则执行语句后p的值是()。
A)0B)5C)7D)6
9.以下选项中,与k=n++完全等价的表达式(即执行后k,n及表达式的值完全相同)是()。
A)k=n,n=n+lB)n=n+1,k=nC)k=++nD)k+=n+1
10.以下程序的输出结果是()。
#include
voidmain()
{
inta=20,b=10;
printf("%d,%%d\n",a+b,a-b);
}
A)30,%dB)30,10C)30,%10D)以上答案均不正确
11.下列程序的运行结果是()。
#include
voidmain()
{
floatx=2.5;
inty;
y=(int)x;
printf("x=%f,y=%d",x,y);
}
A)x=2.500000,y=2.000000B)x=2.5,y=2C)x=2,y=2D)x=2.500000,y=2
12.下列程序段的输出结果是()。
inta=1234;
floatb=123.456;
doublec=12345.54321;
printf("%2d,%3.2f,%4.1f",a,b,c);
A)无输出B)12,123.46,12345.5
C)1234,123.46,12345.5D)1234,123.45,1234.5
13.已知a,b,c为int型变量,若从键盘输入:
1,2,3<回车>,使a的值为1,b的值为2,c的值为3,以下选项中正确的输入语句是()。
A)scanf("%2d,%2d,%2d",a,b,c);B)scanf("%d,%d,%d",&a,&b,&c);
C)scanf("%d%d%d",&a,&b,&c);D)scanf("i=%d,j=%d,k=%d",&a,&b,&c);
14.有以下程序段:
intm=0,n=0;charc=‘a';
scanf("%d%c%d",&m,&c,&n);
printf("%d,%c,%d\n",m,c,n);
若从键盘上输入:
10A10<回车>,则输出结果是()。
A)10,65,10B)10,a,10C)10,97,10D)10,A,10
15.数学关系式x≤y≤z可用C语言表达式()表示。
A)x<=y<=zB)x<=yANDy<=zC)x<=y&&y<=zD)(x<=y)&(y<=z)
16.如果从键盘上输入3,则以下程序段的输出结果是()。
intx;
scanf("%d",&x);
if(x--<3)printf("%d",--x);
elseprintf("%d",x++);
A)1B)2C)3D)4
17.以下程序段运行后,其输出结果是()。
intw=4,x=3,y=2,z=1,m;
m=(w w: x; m=(m m: y; m=(m m: z; printf("%d\n",m); A)4B)3C)2D)1 18.以下程序段运行后的输出结果()。 inta=15,m=0; switch(a%3) { case0: m++; case1: m++;break; default: m++; } printf("%d\n",m); A)0B)3C)2D)1 19.以下程序段执行后sum的值是()。 inti,sum; for(i=1;i<5;i++) sum+=i; printf("%d\n",sum); A)15B)10C)5D)不确定 20.设int类型变量占用两个字节,其有定义: intx[10]={0,2,4};则数组x在内存中所占的字节数是()。 A)3B)6C)10D)20 二、填空题(每小题4分,共20分。 将要添在每对/**/之间的内容写于答题纸上,以完成题目的要求。 1.下程序的功能是,输入半径r求圆的面积s。 #definePI3.1415 #include voidmain() { /**/【1】/**/; floats; printf("Enterradius: "); scanf("%d",/**/【2】/**/); s=r*r*PI; printf("s=%f\n",s); } 2.下程序的功能是,输出1~100间(含1和100)的所有的奇数。 #include voidmain() { inti; for(i=1;i/**/【3】/**/100;i++) if(i%2/**/【4】/**/) printf("%5d",i); printf("\n"); } 3.下程序的功能是: 输出所输入的字符串(以#号结束),并将其中的大写字母转换成小写字母。 #include voidmain() { charch; ch=getchar(); while(ch! =‘#’) { if(ch>=‘A’/**/【5】/**/) ch=ch+32; putchar(ch); ch=/**/【6】/**/; } printf("\n"); } 4.下程序的功能是: 在一组数中查找指定的数值,若找到则立即停止查找并输出“found! ”,否则输出“notfound! ”。 #defineN10 #include voidmain() { intx[N]={45,2,3,54,6,78,9,7,6,9},y,n=0; printf("Enterainteger: "); scanf("%d",&y); do { if(y==x[n]) { printf("found! \n"); /**/【7】/**/; } n++; }while(n if(n>=N) /**/【8】/**/; } 5.下程序的功能是: 从键盘输入一个正整数,输出它是几位数,并且按逆序打印出各位上的数字(例如,如输入123,则输出321)。 #include voidmain() { intx,n=0;/*n用来统计这个数的位数*/ scanf("%d",&x); while(/**/【9】/**/)/*商为0时,停止运算*/ { n++; printf("%4d",x%10); /**/【10】/**/ } printf("\nn=%d\n",n); } 三、改错题(每小题5,共20分。 修改每对/**/之间的错误于答题纸上,以完成题目的要求。 ) 1.下程序的功能是,输入华氏温度f,输出相应的摄氏温度c【温度转换公式为c=5(f-32)/9】。 #include voidmain() { floatc,f; scanf(/**/"%10.2f"/**/,&f);【1】 c=/**/5(f-32)/9/**/;【2】 printf("C=%f\n",c); } 2.下程序的功能是,输出1~100间的所有的3的倍数之和。 #include voidmain() { /**/inti=3,sum/**/;【3】 while(i<=100) { if(/**/i%3=0/**/)【4】 sum+=i; ++i; } printf("sum=%5d\n",sum); } 3.下程序的功能是,判断输入的3个整型数能否构成三角形(构成的条件是任意2边之和必须大于第3边),若能则输出“can! ”,否则输出“cannot! ”。 #include voidmain() { inta,b,c; scanf("%d,%d,%d",&a,&b,&c); if(/**/a+b>c||a+c>b||b+c>a/**/)【5】 printf("can! \n"); else/**/(a+b<=c&&a+c<=b&&b+c<=a)/**/【6】 printf("cannot! \n"); } 4.下面程序的功能是: 根据以下公式求π值(直到最后一项小于10–6为止) #include voidmain() { doubles=0.0,t=1.0; intn; for(n=1;t>=1e-6;n++) { s+=t; t=/**/t/(2*n+1)【7】/**/; } printf(“pi=%f\n”,2.0*/**/pi【8】/**/); } 5.以下程序用二分法在已按从小到大排好序的数组a中查找q,若找到第一个q则输出其对应的下标,没找到输出-1。 #include #defineSIZE8 voidmain() { inta[SIZE]={3,4,6,11,17,22,31,45},q; intleft,right,mid,k=-1; scanf(“%d”,&q); left=0; right=SIZE-1; while(left<=right) { mid=(left+right)/2;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 阶段 15 自测