当前位置:文档之家› C语言程序设计试题第3套

C语言程序设计试题第3套

C语言程序设计试题(第3套)一、单项选择题(30分,每题2分)1.下面关于C语言的说法,错误的是______。

A、一个C程序总是从执行main开始。

B、C程序可以用/<*……*>/ 对程序作注释。

C、C语言本身没有输入输出语句,输入、输出操作由库函数scanf和printf等来完成。

D、在C程序中,数据定义的最后必须写上一个分号。

2.判断字符串s1是否大于字符串s2,应当使用。

A、if (s1>s2)B、if (strcmp(s1,s2))C、if (strcmp(s2,s1)>0)D、if (strcmp(s1,s2)>0)3. 下列表达式错误的是______。

A、4/7B、4.0/7.0C、(-4)%(-7)D、4.0%7.04. 以下能定义为用户标识符的是______。

A、scanfB、printfC、_3com_D、int5. 能正确表示a和b 同时为正或同时为负的逻辑表达式是______。

A、(a>=0‖b>=0)&&(a< 0‖b<0)B、(a>=0&&b>=0)&&(a< 0&&b<0)C、(a+b>0)&&(a+b<=0)D、a*b>06. 若有以下程序段:int c1=1, c2=2 ,c3; c3=2.0+c1%c2 ; 则执行后,c3的值是______。

A、2.0B、2C、3.0D、37.已知i、j、k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1、j的值为2、k的值为3,以下选项中正确的输入语句是______。

A、scanf("%d%d%d",i,j,k);B、scanf("%d %d %d",&i,&j,&k);C、scanf("%d,%d,%d",&i,&j,&k);D、scanf("%d,%d,%d",i,j,k);8. 以下程序输出结果是。

A、7B、6C、5D、4main(){ int m=5;if(m++>5) printf("%d\n",m);esle printf("%d\n",m- -);}9. 有以下程序段#include<stdio. h>main(){int sum=0,i;scanf("%d",&i);do{sum=sum+i;i++;}while(i<=10);printf("sum=%d\n",sum);}若运行时从键盘输入11,则循环体会执行。

A、11次B、10次C、1次D、0次10.二维数组int a[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]12.以下程序的输出结果是。

A、3B、2C、1D、4main(){ int a[10]={1,2,3,4,5,6,7,8,9,10} , *p ;p=a;printf(" %d", *(p+2) );}13.下面对一维数组初始化(10个元素,各元素都赋值为0)的语句不合法的是。

A、int a[10]={0,0,0,0,0,0,0,0,0,0};B、int a[10]={0};C、int a[10]={0*10};D、int a[]={0,0,0,0,0,0,0,0,0,0};14. 有以下程序main(){ int i;for (i=0; i<3; i++)switch (i){ case 1: printf("%d ", i);case 2: printf("%d ", i);default : printf("%d ", i);}}执行后输出结果是。

A、011122B、012C、012020D、12015. putchar函数可以向终端输出一个。

A、整型变量表达式值B、字符C、字符串D、实型变量值一.程序填空题(30分,每空3分)1. 有以下语句段int n1=10,n2=20;printf("①",n1,n2);要求按以下格式输出n1和n2的值,输出行从第一列开始,请填空。

n1=10,n2=202. 以下程序的功能是找出x、y、z三个数中的最小值。

请填空。

main( ){ int x=4, y=5, z=8;int u, v;u=x<y ? x:y ;v=u<z ? ②;printf("%d", v);}3.统计数组元素中值大于等于60的元素的个数。

请填空。

main(){int s,i,a[10]={50,60,70,80,90,100,66,44,55,77};s=0;for(i=0;i<10;i++)if( ③)④;printf("%d",s);}4.用冒泡法对数组中的10个已知元素升序(由小到大)排序。

请填空。

main(){int a[10]={3,2,1,8,7,9,5,4,10,12};int i,j,t;for(i=0;i<9;i++)for(j=0; ⑤; j++)if(a[j]>a[j+1]){ t=a[j] ; ⑥; ⑦;}for(i=0;i<10;i++)printf("%d ",a[i]);}5.有一函数:-1.0 (x<0.0)y={ 0 (x=0.0)1.0 (x>0.0)输入一个x值,输出y值。

请填空。

main(){float x , y ;scanf ("%d",&x);if (x<0) ⑧;else if (x>0) ⑨;else ⑩;printf ("x=%f, y=%f\n" , x, y );}三.程序阅读题(20分,每题4分)阅读下列各程序,将程序运行输出的结果写在题目右边。

1. 写出程序运行的结果:main ( ){float i,j;i=3.0;j=6.2;printf("%d,%d,", (int)i,(int)j);printf("%f\n", (int)i+j);}2. 写出程序运行的结果:#define N 2main(){ int i=10, j=0;do{ j=j + i; i--;}while(i>N);printf("i=%d, j=%d\n", i, j);}3. 写出程序运行的结果:main(){ int i,j;for(i=6;i<=9;i++){ for(j=i;j<=9;j++)printf("%d",j);printf("\n");}}4. 写出程序运行的结果:main(){ int *var , ab ;ab=100;var = &ab ; ab = *var +10 ;printf("%d\n", *var ) ;}5.写出程序运行的结果(输入为73,84):main ( ){int a,b,c;scanf ("%d,%d",&a,&b);c=max(a,b);printf ("Max is %d\n", c);}max(int x,int y){int z;z=x>y?x:y;return(z);}四.程序设计题(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分)1B 6D 11C 2D 7C 12A 3D 8B 13C 4C 9C 14A 5D 10B 15B二.程序填空题(30分,每空3分)①n1=%d,n2=%d或n1=%d,n2=%d\n或n1=%2d,n2=%2d或n1=%2d,n2=%2d\n②u:z ③a[i]>=60 ④ s++或s=s+1 ⑤j<9-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. 3,6,9.200000或3,6,9.22. i=2, j=523. 6 7 8 97 8 98 994. 1105. Max is 84四.1. 本题10分。

main( ){int n;float a,p;printf ("Please input P and n:\n" );scanf ("%f,%d",&p,&n);switch (n){ case 1: a=p*2.0/100*n; break;case 2: a=p*2.5/100*n; break;case 3: a=p*2.8/100*n; break;case 5: a=p*3.0/100*n;}printf ("a=%.2f\n", a );}2.本题10分。

main( ){ int i;long s,t,ssum; 或float s,t,ssum;s=1;t=100000;ssum=1;for(i=2;i<=30;i++) 或for(i=1;i<30;i++){ s=2*s;ssum=ssum+s;t=t+100000;}ssum=ssum/100;printf("ssum=%ld,t=%ld\n",ssum,t); 或%f代替%ld(定义为float时)}。

相关主题