还剩2页未读,继续阅读
文本内容:
C语言程序设计试题第3套
一、单项选择题(30分,每题2分)
1.下面关于C语言的说法,错误的是______A、一个C程序总是从执行main开始B、C程序可以用/*……*/对程序作注释C、C语言本身没有输入输出语句,输入、输出操作由库函数scanf和printf等来完成D、在C程序中,数据定义的最后必须写上一个分号
2.判断字符串s1是否大于字符串s2,应当使用A、ifs1s2B、ifstrcmps1s2C、ifstrcmps2s10D、ifstrcmps1s
203.下列表达式错误的是______A、4/7B、
4.0/
7.0C、-4%-7D、
4.0%
7.
04.以下能定义为用户标识符的是______A、scanfB、printfC、_3com_D、int
5.能正确表示a和b同时为正或同时为负的逻辑表达式是______A、a=0‖b=0a0‖b0B、a=0b=0a0b0C、a+b0a+b=0D、a*b
06.若有以下程序段intc1=1c2=2c3;c3=
2.0+c1%c2;则执行后,c3的值是______A、
2.0B、2C、
3.0D、
37.已知i、j、k为int型变量,若从键盘输入123回车,使i的值为
1、j的值为
2、k的值为3,以下选项中正确的输入语句是______A、scanf%d%d%dijk;B、scanf%d%d%dijk;C、scanf%d%d%dijk;D、scanf%d%d%dijk;
8.以下程序输出结果是A、7B、6C、5D、4main{intm=5;ifm++5printf%d\nm;esleprintf%d\nm--;}
9.有以下程序段#includestdio.hmain{intsum=0i;scanf%di;do{sum=sum+i;i++;}whilei=10;printfsum=%d\nsum;}若运行时从键盘输入11,则循环体会执行A、11次B、10次C、1次D、0次
10.二维数组inta
[4]
[4]前5个元素在内存中的排列次序为A、a
[0]
[0]a
[1]
[1]a
[2]
[2]a
[3]
[3]a
[4]
[4]B、a
[0]
[0]a
[0]
[1]a
[0]
[2]a
[0]
[3]a
[1]
[0]C、a
[0]
[0]a
[1]
[0]a
[2]
[0]a
[3]
[0]a
[0]
[1]D、a
[0]a
[0]
[0]a
[0]
[0]
[0]a
[0]
[0]
[0]
[0]a
[0]
[0]
[0]
[0]
[0]
11.在C语言中,表达式1/2+1/2+1/2+1/4+1/5运算后得到的结果是A、
1.95B、
1.5C、0D、
2.
012.以下程序的输出结果是A、3B、2C、1D、4main{inta
[10]={12345678910}*p;p=a;printf%d*p+2;}
13.下面对一维数组初始化(10个元素,各元素都赋值为0)的语句不合法的是A、inta
[10]={0000000000};B、inta
[10]={0};C、inta
[10]={0*10};D、inta[]={0000000000};
14.有以下程序main{inti;fori=0;i3;i++switchi{case1:printf%di;case2:printf%di;default:printf%di;}}执行后输出结果是A、011122B、012C、012020D、
12015.putchar函数可以向终端输出一个A、整型变量表达式值B、字符C、字符串D、实型变量值
1.程序填空题30分每空3分
1.有以下语句段intn1=10n2=20;printf
①n1n2;要求按以下格式输出n1和n2的值,输出行从第一列开始,请填空n1=10n2=20
2.以下程序的功能是找出x、y、z三个数中的最小值请填空main{intx=4y=5z=8;intuv;u=xyx:y;v=uz
②;printf%dv;}
3.统计数组元素中值大于等于60的元素的个数请填空main{intsia
[10]={506070809010066445577};s=0;fori=0;i10;i++if
③④;printf%ds;}
4.用冒泡法对数组中的10个已知元素升序(由小到大)排序请填空main{inta
[10]={321879541012};intijt;fori=0;i9;i++forj=0;
⑤;j++ifa[j]a[j+1]{t=a[j];
⑥;
⑦;}fori=0;i10;i++printf%da[i];}
5.有一函数-
1.0x
0.0y={0x=
0.
01.0x
0.0输入一个x值,输出y值请填空main{floatxy;scanf%dx;ifx0
⑧;elseifx0
⑨;else⑩;printfx=%fy=%f\nxy;}三.程序阅读题20分每题4分阅读下列各程序,将程序运行输出的结果写在题目右边
1.写出程序运行的结果main{floatij;i=
3.0;j=
6.2;printf%d%dintiintj;printf%f\ninti+j;}
2.写出程序运行的结果#defineN2main{inti=10j=0;do{j=j+i;i--;}whileiN;printfi=%dj=%d\nij;}
3.写出程序运行的结果main{intij;fori=6;i=9;i++{forj=i;j=9;j++printf%dj;printf\n;}}
4.写出程序运行的结果main{int*varab;ab=100;var=ab;ab=*var+10;printf%d\n*var;}5.写出程序运行的结果(输入为7384)main{intabc;scanf%d%dab;c=maxab;printfMaxis%d\nc;}maxintxinty{intz;z=xyx:y;returnz;}四.程序设计题(20分,每题10分)认真阅读题目,按要求编写完整的C语言程序1.求一笔定期存款的利息输入存款数、存款年数,输出到期利息设存款利率为1年期2%2年期
2.5%3年期
2.8%5年期3%利息计算公式a=p×r×n,其中a为到期利息,p为存款数,n为存款年数(1年,2年,3年或5年),r为年利率
2.某亿万富翁路遇阿凡提,阿凡提与他谈一个两人换钱的计划,阿凡提说“我每天给你10万元,而你第一天只需给我1分钱,第二天我仍给你10万元,你给我2分钱,第三天我仍给你10万元,你给我4分钱,……,我每天都给你10万元,你每天给我的钱是前一天给我的钱的两倍,直到满一个月(30天)”富翁闻之大喜,兴奋地签署了这个契约请编写一个循环结构的程序计算一下,这一个月(30天)中,阿凡提给了富翁多少钱用变量t表示,富翁给了阿凡提多少钱(用变量ssum表示)———————————————————————————本套题的参考答案一.单项选择题(30分,每小题2分)1B6D11C2D7C12A3D8B13C4C9C14A5D10B15B二.程序填空题30分每空3分
①n1=%dn2=%d或n1=%dn2=%d\n或n1=%2dn2=%2d或n1=%2dn2=%2d\n
②u:z
③a[i]=60
④s++或s=s+1
⑤j9-i
⑥a[j]=a[j+1]
⑦a[j+1]=t
⑧y=-
1.0或y=-1
⑨y=
1.0或y=1⑩y=
0.0或y=0三.程序阅读题20分每题4分
1.
369.200000或
369.
22.i=2j=
523.
67897898994.
1105.Maxis84四.
1.本题10分main{intn;floatap;printfPleaseinputPandn:\n;scanf%f%dpn;switchn{case1:a=p*
2.0/100*n;break;case2:a=p*
2.5/100*n;break;case3:a=p*
2.8/100*n;break;case5:a=p*
3.0/100*n;}printfa=%.2f\na;}
2.本题10分main{inti;longstssum;或floatstssum;s=1;t=100000;ssum=1;fori=2;i=30;i++或fori=1;i30;i++{s=2*s;ssum=ssum+s;t=t+100000;}ssum=ssum/100;printfssum=%ldt=%ld\nssumt;或%f代替%ld定义为float时}。