C综合复习题
更新时间:2024-06-15 21:40:01 阅读量: 综合文库 文档下载
复习题
一、 单选题
1、一个C源程序至少应包括一个( C )。
A、功能函数 B、自定义函数 C、main函数 D、头文件 2、下面全不正确的字符常量是(C)。
A、A p_0 Do B、float la0 _A C、 b-a goto int D、_123 temp INT 3、执行以下语句后b的值是( B )A int a=5,b=6,w=1,x=2,y=3,z=4;
(a=w>x)&&(b=y>z); &&一边为0另一边不算,||一边为1另一边不算 A、6 B、0 C、1 D、4
4、若以下变量均是整型,且num=sum=7 ; 则计算表达式sum=num++,sum++,++num后sum的值为(B ) A、7 B、8 C、9 D、10
5、设a=10,b=4,执行以下赋值语句后,a的值为( A ) a%=b+1
A、0 B、1 C、2 D、3
6、当a=5,b=4,c=2时,表达式a>b !=c的值是( D ) A、5 B、4 C、2 D、1
7、条件“2 C、x<3||x>2&&x<-10 D、x<3&&x>2||x<-10 有交集用&&无交集用|| 8、以下程序的运行结果是( C ) main () { int m=5 ; if(m++>5)printf(“%d ”,m); else printf(“%d”,m--); } A、4 B、5 C、6 D、7 9、以下程序的输出结果是( B ) A、main( ) { int x=2,y=-1,z=2; if(x printf(“%d”,z); } A、3 B、2 C、1 D、0 10、以下对二维数组a的正确说明是( C ) A、int a[3][] B、float a(3,4) C、double a[1][3] D、float a(3)(4) 11、阅读以下程序,当输入数据的形式为:25,13,10 { int x,y,z; scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\\n”,x+y+z); } A、x+y+z=48 B、x+y+z=35 C、x+z=35 D、不确定值 12、以下错误的if语句是( B ) C )。 CR=回车 D A) if(x>y); B) if (x==y) x+=y; C) if (x!=y) scanf(“%d”,&x) ; else scanf(“%d”,&y) D) if (x A) break语句不能用于循环语句和switch语句外的任何其它语句 B) 在switch语句中使用break语句或continue语句的作用相同 C) 在循环语句中使用continue语句是为了结束本次循环,而不是终止循环 D) 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环 14、执行”for(I=1;I++<4; ) ;”后,变量I的值为( A ) C A)3 B) 4 C) 5 D) 不定 15、若int I=10; 执行下列程序后,变量I的正确结果是(B ) D 没有break,不跳出 switch(i) {case 9 : I+=1; case 10 : I+=1; case 11 : I+=1; default : I+=1; } A) 10 B) 11 C) 12 D)13 16、C语言中while 与do-while语句的主要区别是( A ) A、do-while的循环体至少无条件执行一行; B、do-while允许从外部转到循环体内; C、do-while的循环体不能是复合语句; D、while的循环控制条件比do-while的循环控制条件严格 17、下面程序运行的结果是( A )D main() {int y=10;do{y--;} while(--y);printf(“%d”,y--); } A、-1 B、1 C、8 D、0 18、设j为int型变量,则下面for循环语句的执行结果是(B ) for(j=10;j>3;j--) {if(j%3)j--; --j;--j;printf(“%d ”,j);} A、6 3 B、7 4 C、6 2 D、7 3 19、以下建立函数的目的中,正确的说法是( B ) A、提高程序的执行效率 B、提高程序的可读性; C、减少程序的篇幅 D、减少程序文件所占内存 20、若调用一个函数,且此函数中没有return语句,则正确的说法是( A )D A、没有返回值 B、返回若干个系统默认值 C、能返回一个用户所希望的值 D、返回一个不确定的值 21.在C语言中,合法的字符常量是( D) A)‘程序设计’ B)“程序设计” C) C D)‘\\\\’ 22.表示图中坐标轴上阴影部分的正确表达式是( C ) -1 0 1 3 A) -1<=x && 1<=x||x<=3 B) (x<=-1)&&(1<=x||x<=3) C) x<=-1||x>=1&&x<=3 D) !(-1 23.执行int x=2,y=3;后,表达式x=(y==3)的值是( A )B A)0 B)1 C)2 D)3 x 24.在循环结构的循环体中执行break语句,其作用是( C ) A) 结束本次循环,进行下次循环 B) 继续执行break语句之后的循环体中各语句 C) 跳出该循环体,提前结束循环 D) 终止程序运行 25.以下程序运行结果是( B )A 有效长度,不加转义字符 main() {char s[]=“\\’Address\\’” ; printf(%d\\n”, strlen(s)) ; } A) 9 B) 10 C) 11 D) 12 26.以下程序运行结果是( A )C Y=Y+a[X+1] main() {int a[]={2, 4, 6, 8, 10}, y=1, x; for(x=0;x<3;x++) y+=a[x+1]; printf(“%d\\n”, y); } A) 17 B) 18 C) 19 D) 20 27.已定义char x[8]; int i;为了给x数组赋值,以下正确的语句是(A ) D不能给X赋值X【】也不能直接赋值 A) x[8]=”Turbo C”; B) x=”Turbo C”; C) x[]=”Turbo C”; D) for(i=0;i<7;i++) x[i]=getchar(); 28.设int a[][4]={0, 0};则以下错误的描述是(. D ) A) 数组a的每个元素都可得到初值0 B) 二维数组a的第一维大小为1 C) 数组a的行数为1 D) 只有元素a[0][0]和a[0][1]可得到初值0,其余元素得不到初值0 29.以下程序运行结果是(. C ) fun3(int x) {static int a=3; a+=x; return a; } main() {int k=2, m=1, n; n=fun3(k); n=fun3(m); printf(“%d\\n”, n); } A) 3 B) 4 C) 6 D) 9 30.设变量a是整型,f是单精度型,i是双精度型,则表达式10+′a′+i*f值的数据类型为(C ) A) int B) float C) double D) 不确定 31.以下不正确的描述是( D) A) 在函数外部定义的变量是全局变量 B) 在函数内部定义的变量是局部变量 C) 函数的形参是局部变量 D) 局部变量不能与全局变量同名 32.为了避免在嵌套的条件语句 if --- else 中产生二义性,C语言规定:else子句总是与(.B )配对。 A) 缩排位置相同的if B) 其之前最近的if C) 其之后最近的if D) 同一行上的 if 33.以下程序段(C ) x = -1 ; do { x = x * x ; } while ( !x ) ; A)是死循环 B)循环执行两次 C)循环执行一次 D)有语法错误 34.下列各变量均为整型,选项中不正确的C语言赋值语句是( D ) A)i+=++i; B)i=j==k; C)i=j+=i; D)i=j+1=k; 35.以下正确的函数声明形式是(A )C A)double fun (int x, int y ) B)double fun (int x ;int y) C)double fun (int x, int y); D)double fun (int x,y) ; 36.要使以下程序的输出结果为4,则a和b应满足的条件是( A ) main() {int s,t,a,b; scanf(“%d%d”,&a,&b); s=t=1; if(a>0) s += 1; if(a>b) t= s + t; else if(a==b) t=5; else t=2*s; printf(“%d\\n”,t); } A)a>0并且a0并且a>b D)a<0并且a for(i=100;i<200;i++) { if(i%5==0) continue; printf(“%d\\n”,i); break; } } A)100 B)101 C)无限循环 D)无输出结果 38.下列程序段的运行结果是(B ) int i=1,a[]={1,5,10,9,13,7}; while(a[i]<=10) a[i++]+=2; a[i++]=a[i++]+2 for (i=0;i<6;i++) printf(“%d”,a[i]); A)2 7 12 11 13 9 B)1 7 12 11 13 7 C)1 7 12 11 13 9 D)1 7 12 9 13 7 39.以下语句把字符串“abcde”赋初值给字符数组,不正确的语句是( B )D A)char s[]=“abcde”; B)char s[]={’a’, ’b’,’c’,’d’,’e’,’\\0’}; C)char s[]={“abcde”}; D)char s[5]= “abcde”; 40.下面程序段的运行结果是( B )D int a[2][3]={1,2,3},i,j; for(i=0;i<2;i++) for(j=0;j<3;j++) {a[i][j]=a[i*j%2][j]+a[i][(i+j printf(“%d,”,a[i][j]); } A) 2,4,6,2,0,8, B) 1,2,3,0,0,0, C) 1,2,3,2,0,6, D) 2,4,6,2,0,6, 41.下列哪项可以作为C语言中的用户定义字?( B ) A.@sina B.mean C.a+b D.int 42.C源程序的后缀名是?(A ) ~~编译后叫编译程序 A. .c B..obj C.exe D. .prj 43、表示图中坐标轴上阴影部分的正确表达式是( C ) A. -1<=x && 1<=x||x<=3 B.((x<=-1)&&x>=-4)&&(1<=x||x<=3) C.x<=-1&&x>=-4||x>=1&&x<=3 D.!(-1 45.下面程序段所表示的逻辑关系是(B ) if(a A.当a=b且c!=d时,x=2 B.当a=b时,x=2 C. 当a { b=6; printf(“%d”,b); } printf(“a=%d”,a); } 运行结果为:____4__________________________________________________ 9.main( ) { int i,max,a[10]; printf(\; for(i=0;i<10;i++) scanf(\; max=a[0]; for(i=1;i<10;i++) if (a[i]>max) max=a[i]; printf(\; } 该程序的功能是: 通过键盘输入10个数,求这10个数中的最大值 五、仔细阅读如下程序,按题意填写程序空缺 1、下面程序段是从键盘输入的字符中统计数字字符的个数,用换行符结束循环。 int n = 0 , c ; c = getchar ( ) ; while ( ) { if ( ) n + + ; c = getchar ( ) ; } 2、下面程序的功能是用do-while语句求1——1000之间满足“用3除余2,用5除余3,用7除余2”的数,且一行只打印5个数。 main() {int i=1,j=0; do{if( ){printf(“M”,i); j=j+1; if( )printf(“\\n”);} i=i+1;} while(i<1000);} 3、下面程序的功能是打印100以内个位数为6且能被3整除的所有数。 main() {int i,j; for(i=0;( i<10 );i++) {j=i*10+6; if( i%3!=0 )countinue; printf(“%d”,j);} } 4.以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请填空。 main() { float x,amax,amin; scanf(“%f”,&x); amax=x; amin=x; while(【1】X>0) { if (x>amax) amax=x; if(【2】x scanf(“%f”,&x) 【3】 ; } printf(“\\nmax=%f min=%f\\n”,amax,amin); } 5.Fibonacci数列中的头两个数是1和1,从第三个数开始,每个数等于前两个数之和。下述程序计算此数列的前20个数,且每行输出5个数,请填空。 #include { int f,f1=1,f2=1; int i; printf(“m,m”,f1,f2); for (i=3;i<=20;i++) { f= 【4】f1+f2 ; printf(“m”,f); if(【5】i%5==0) printf(“\\n”); f1=f2; 【6】f2=f ; } } 6.下面程序的功能是将两个字符串连接起来,请填空。 #include { char s1[80],s2[40]; int i=0,j=0; printf(“\\nInput string1:”); scanf(“%s”,s1); printf(“Input string2:”); scanf(“%s”,s2); while(s1[i]!=‘\\0’) i++; while(s2[j]!=‘\\0’) 【7】s1[i++]=s2[i++] ; 【8】s1[i] =‘\\0’; printf( 【9】”%s”,s1 ); } 7.计算1+1/2+1/4+?+1/50的值,并显示出来。 main() { int i=2; float sum=1.0; while(i<=【10】50) { sum += 1.0/【11】i ; i= 【12】i+2 ; } printf(“sum=%f\\n”,sum); } 8.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其它字符不变。 main( ) { char ch; scanf (“ %c” , &ch ); if ( 【13】ch>’A’&&ch<=’Z’ ) ch = ch + 32 ; else if ( ch > = ‘a’ && ch < = ‘ z ’) 【14】ch=ch-32 ; printf ( “ %c” , ch ); } 9.以下程序是用来输入5个整数,并存放在数组中,找出最大数与最小数所在的下标位置,并把二者对调,然后输出调整后的5个数。 #include { int a[5],t,i,maxi,mini; 【15】for(i=0;i<5;i++) scanf(“%d”,&a[i]); mini=maxi= 【16】0 ; for(i=1;i<5;i++) { if( 【17】a[i]a[maxi]) maxi=i; } printf(“最小数的位置是:%d\\n”,mini); printf(“最大数的位置是:%d\\n”,maxi); t=a[maxi]; 【18】a[maxi]=a[mini] ; 【19】a[mini]=t ; printf(“调整后的数为:”); for(i=0;i<5;i++) printf(“%d”,a[i]); printf(“\\n”); } 10.下面程序将二维数组a的行和列元素互换后存到另一个二维数组b中,分别输出数组a、b。 main ( ) { int a[2][3] = {{1,2,3},{4,5,6}}; int b[3][2] , i , j ; printf (“array a:\\n”); for ( 【20】i=0;i<2;i++ ) { for ( 【21】j=0;j<3;j++ ) { printf (“]” , a[i][j] ) ; 【22】b[j][i]=a[i][j] ; } printf (“\\n”) ; } printf (“array b:\\n”) ; for ( 【23】i=0;i<3;i++ ) { for ( 【24】j=0;j<2;j++ ) printf (“]” ,b[i][j] ) ; 【25】 ; } } 六、编程题 1、从键盘输入一百分制成绩,要求输出成绩等级A、B、C、D、E。其中:90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。 2.有三个整数a,b,c,由键盘录入它们的值,编写程序输出最大的数。 3.编程实现通过键盘输入6个整数存放到数组中,使用冒泡排序法对数组中这6个数按由小到大进行排序。 4.编程实现n的阶乘,n值由键盘输入。 5.编程实现1!+2!+??+10!,并输出结果。 1. main() 5.main() {int a,I; { int sum,fac,i; printf(“input a number:”); sum=0; scanf(“%d”,&a); fac=1; I=a/10; for(i=0;i<10;i++) switch(I) sum=sum+i; {case 9:printf(“A\\n”);break; fac=fac*i; case 8:printf(“B\\n”);break; printf(“1!+2!+?.10!\\n”,fac); case 7:printf(“C\\n”);break; } case 6:printf(“D\\n”);break; default:printf(“E\\n”); } 2. main() { int a,b,c,max; printf(“input three unmbers:”); scanf(“%d%d%d”,&a,&b,&c); if(a>b&&a>c) printf(“max=%d\\n”,a); else
正在阅读:
C综合复习题06-15
仪容仪表自查自纠实施方案表11-16
将要一无所有美文11-21
The Rocking-Horse Winner 全文翻译01-01
2011国家公务员行测考试之材料分析模拟题及答案(免费)03-08
工程质量通病治理专项方案2014.11.24doc - 图文03-29
美丽的植物园作文800字06-16
隆回县职称论文发表网-小学高年级:自信心创新论文选题题目04-11
激烈的足球赛作文500字07-07
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 复习题
- 综合
- 初2012级第八次月考英语试题 - 图文
- 隧道模板台车设计概况
- 乡社会救助工作职责
- 塔式起重机施工工艺
- 第十一章 直流传动控制系统
- 七八年级必须掌握的19个重点英语语法!110+学霸必背!
- 数字集成系统实验指导书 - 图文
- 河南导游面试必考八篇导游词
- 理论力学练习册及答案
- 中国民航飞行学院精品课程申报书
- 2016下半年四川公务员考试行测真题及答案
- 新课标人教版四年级上册语文全册教案(高效课堂模式)
- 海南生态旅游景区规划与设计迫在眉睫
- 生态水三标防汛方案2015
- 35kV及以下农网工程设计控制要点(2012年版)
- 医学继续教育公共课程《全科医学》答案汇总
- 苏教版小学语文四年级上册作文教学计划
- LED背光模组产业现状及未来发展趋势(精)
- 《消费经济学》第07章在线测试
- 会计实操经验会计人员需要承担哪些法律责任?