课后福大下学期C语言第1阶段14章自测题及参考解答.docx
- 文档编号:9336996
- 上传时间:2023-05-18
- 格式:DOCX
- 页数:14
- 大小:28.63KB
课后福大下学期C语言第1阶段14章自测题及参考解答.docx
《课后福大下学期C语言第1阶段14章自测题及参考解答.docx》由会员分享,可在线阅读,更多相关《课后福大下学期C语言第1阶段14章自测题及参考解答.docx(14页珍藏版)》请在冰点文库上搜索。
课后福大下学期C语言第1阶段14章自测题及参考解答
福州大学《C语言程序设计》第1阶段自测题
一、选择题(每小题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.设若有定义: intx=2,y=3,z=0;则执行下面的赋值语句后,x、y和z的值依次是()。 Z=(x==3,y=8,x*2,y++); A)2,9,9B)3,9,8C)6,9,9D)2,9,8 二、填空题(每小题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.下程序的功能是: 求出从键盘输入的20个实型数中的最小值。 #defineN20 #include voidmain() { inti; doublex,min; printf("Enter%drealnumbers: ",N); i=1; do { scanf("%d",&x); if(i==1) min=x; elseif(min>x) /**/【7】/**/; i++; }while(/**/【8】/**/); printf(“min=%lf\n”,min); } 5.下程序的功能是: 从键盘输入一个正整数,输出它是几位数,并且按逆序打印出各位上的数字(例如: 输入123,则输出321)。 #include voidmain() { intx,n=0;/*n用来统计这个数的位数*/ scanf("%d",&x); while(/**/【9】/**/) { 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.以下程序的功能是: 输出150~300之间所有能够被7或9整除的数。 #include voidmain() { inti; for(i=300;/**/i<=150;【9】/**/i--) { if((i%7! =0)&&(i%9! =0)) /**/break;【10】/**/ printf("%5d",i); } printf(“\n”); } 四、编程题(共20分。 补充每对/**/之间的程序段于答题纸上,以完成题目的要求。 ) 1.36块砖,36个人,男人搬4块,女人搬3块,两个小孩搬一块,要求一次搬完,完成以下程序。 输出需要男人、女人、小孩各多少人? 解决方案有多少? #include voidmain() { intman,woman,child,n=0;/*man,woman,child依次为男、女和小孩的人数,n为方案数*/ for(man=0;man<=36;man++) for(woman=0;woman<=36;woman++) /**/ /**/ printf("%d",n); } 2.完成以下程序使其计算以下代数式(提示: lg表示以10为底的对数,其C函数为log10(x)): #include #include voidmain() { floatx; doubley; printf("Pleaseinputanumber: \n"); scanf("%f",&x); /**/ /**/ printf("y=%0.2f\n",y); } 12345 2345 345 45 5 3.完成以下程序使其输出右图: #include voidmain() { inti,j,k; for(i=1;i<=5;i++) /**/ /**/ } 福州大学试卷---答题纸 学院与专业: 班级: 学号: 姓名: 题号 一 二 三 四 总分 题分 40 20 20 20 100 得分 一、选择题 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 C D B C B A C B A A D C B D C B D C D D 二、填空题 【1】intr 【2】&r 【3】i<=100,或i<100 【4】! =0或==1 【5】&&ch<=‘Z’ 【6】getchar() 【7】min=x 【8】i<=N或i<=20 【9】】x! =0 【10】x/=10 三、改错题 【1】%f 【2】5*(f-32)/9 或5.0/9*(f-32) 【3】inti=3,sum=0 或inti=1;sum=0; 【4】i%3==0 【5】a+b>c&&a+c>b&&b+c>a 【6】删除或if 【7】t*n/(2*n+1) 【8】s 【9】i>=150; 【10】continue; 四、编程题(请将要补充的程序段写在答题纸上) { child=36-man-woman; if((child%2==0)&&(man*4+woman*3+child/2==36)) { printf("man=%d,woman=%d,child=%d\n",man,woman,child); n++; } 或: for(child=0;child<=36;child+=2) { if((man*4+woman*3+child/2==36)&&(man+woman+child==36)) { printf("man=%d,woman=%d,child=%d\n",man,woman,child); n++; } 2、 if(fabs(x)<300) y=x*x*x/(log10(fabs(x)+2.6)) else y=-1; 或 if(x<300&&x>-300) y=x*x*x/(log10(fabs(x)+2.6)) else y=-1; 3、{ for(j=1;j for(k=i;k<=5;k++) printf("%d",k); printf("\n"); }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 课后 下学 语言 阶段 14 自测 参考 解答