




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Z:/FileRoot/FileRoot_1_20150316/2020-280694fd57-ea84-4add-a489-1a1ec27aad1d2df500796e1530541cdd46462c433969.pdf复习题一一、 单项选择题1以下选项中,均符合C常量形式的是 (1) 。A)123, 0123 B) 0xffce, 678 C) 0246, e-5 D) 102, 1232假定有char a=A, b=B, c, 则执行 printf(“%d”,(c=ab-?a+b:a-b);的值是 (2) 。 A) 130 B) 131 C) 0 D) 都不是特别说明: 根据c=ab-?a+b:a-b计算得到c的整数值为130,但常用字符的ASCII值最大为127,130超过了127,130的二进制形式是:10000010,最高位为1,因此可以肯定它是一个负数,根据负数二进制补码的求法可以得出它是-126的补码值。3假定 int a=1, b=2, c=0, 表达式: c=(a= -b|-a,a+b+1.0/2) 的值是 (3) 。 A) 1 B) 2 C) 1.5 D) 2.54表达三个变量a、b、c中有一个为0,两个为非0的正确表达式是 (4) 。 A) a*b*c= =0 B) a*b!=0|a*c!=0|b*c!=0 C) (a*b|a*c|b*c)&!(a*b*c) D) !(a*b*c)&(a+b+c)5. 在以下表达式中,与 a=0 & b!=0不等价的是 (5) 。 A)!a & b B)!(a!=0 | b=0)C)!(a=0 | b!=0) D)!(a*b) & b6上机运行以下程序会出现一个错误,这个错误的性质是 (6) 。main() int i,j,a=3,2,1,b=6,4,2,0; float s=0; for(i=0;i3;i+) j=bai; s+=1.0/j; printf(“n %f”,s); A) 数组说明语法错 B)分母为0运算错C)数组元素引用语法错 D)数组元素引用下标超界错7. 设char a=”xyn012380”;则数组a的长度是 (7) 。 A)7 B)8 C)9 D)138以下程序的功能是 (8) 。main() int a33=1,2,3,4,5,6,7,8,9, i,*p=a,s=0; for(i=0; i3; i+) for( ; pai+3; p+) s+=*p; p+=i; printf(n %d,s);A) 求矩阵a的所有元素之和 B) 求矩阵a的上三角元素之和C) 求矩阵a的下三角元素之和 D) 都不是9以下程序的功能是 (9) 。main() int a10=3,5,2,9,1,8,0,2,4,6,i,p=0,q=0; for(i=0;ip) p=ai; if(ai=0 & a=0 & a=48+0 & a=0 & a-0=911在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式 (11) 。A) 只能用逻辑表达式 B) 只能用关系表达式C) 只能用逻辑表达式或关系表达式 D) 可用任意表达式12以下论述中正确的是 (12) 。A) 在同一个函数中不能定义多个同名的变量B) 结构体变量的名字可以与其所属的成员的名字相同C) 局部变量的名字不能与函数名相同D) 局部变量的名字不能与全局变量的名字相同13在以下各循环语句中,不能正确计算自然数1-100中所有数之和的是 (13) 。A) for(s=0, i=1; i=100 ; ) s+=+i;B) for(s=100, n=100; -n; ) s+=n;C) for(s=0,i=1, j=100; i=j; i+, j- ) s+=i+j; D) for(s=0, i=0; i=100 ; ) s+=i+;14假定要使以下程序的输出结果第一行都是1,第二行都是2,第三行都是3,则正确的数据输入格式是 (14) 。main() int i,j,a33; for ( j=0; j3; j+) for( i=0; i3; i+) scanf (“%d”, &aij); for( i=0; i3; i+) printf (“n”); for ( j=0; j3; j+) printf (“%d”, aij); A) 1 2 3 1 2 3 1 2 3 B) 1 1 1 2 2 2 3 3 3C) 1,2,3,1,2,3,1,2,3 D) 1,1,1,2,2,2,3,3,315以下各程序段中,不能正确输入10个数到数组a中的是 (15) 。A) int i,a10; for(i=0;i10;i+) scanf(“%d”,ai);B) int i,a10; for(i=0;i10;i+) scanf(“%d”,a+i);C) int a10,*p; for(p=a;i10;p+) scanf(“%d”,p);D) int i,a10,*p=a; for(i=0;i10;i+) scanf(“%d”,p+);二、程序阅读题16以下程序的运行结果是 (16) 。main() int i, n=0;for( i=1; i20; i+) if ( i%3=0&i%5) n+;printf (“n %d”, n); A) 1 B) 5 C) 6 D) 717以下程序的运行结果是 (17) 。 main( ) int i,n=0; for(i=2;i=A & *c=Z) *c=*c+32;printf(“n %d,%d”, a,b);A)Fortran77 B) fortran77 C) FORTRAN77 D) fORTRAN7720以下程序的运行结果是 (20) 。main() int i=6,j=0,k; for ( k=0; k3; k+) j=j*2+i%2; i/=2; printf ( “%n %d,%d”, i, j );A) 6,3 B) 0,3 C) 0,6 D) 6,621以下程序的运行结果是 (21) 。main() f (int *x, int b) int a=3,b=5; f (&a, b); *x+=2; printf(“n %d,%d”,a,b); b+; A) 3,5 B) 5,6 C) 3,6 D) 5,522以下程序的运行结果是 (22) 。int a=3, b=5;f ( int a ) a+; b+=a;main() int a=6; f (a-1); printf(n %d,%d,a,b); A) 3,8 B) 3,11 C) 6,8 D) 6,1123以下程序的运行结果是 (23) 。main() int i,b,k=0; for (i=1; i=0) k+; printf (“%d,%d”,k,b); A) 3,1 B) 8,1 C) 3,0 D)8,2 25以下程序的运行结果是 (25) 。void f(char *s,char *p) main() for (; *s; s+); char a10=fx,b=abCD12; for (; *p; p+) f(a,b); if (*p=A& *p=Z ) *s+=*p; printf (n%s,a); *s=0; A) abCD12 B) fxabCD12 C) CD D) fxCD三、程序填充题选择适当的内容填在以下各程序的下划线处,以使程序完整。用折半查找法查找整数k在数列a中的位置(数列a中的数按从小到大有序),若a中有与k相同的数则返回其位置(下标),否则返回-1。int search (int a, int n , int k) int i=0, j=n1, m; while (i=j) m= (i+j)/2; if (amk) (27) ; else (28) ; return (1); (26) A)i=m-1 B) i=m+1 C) j=m-1 D)j= m+1(27) A i=m-1 B) i=m+1 C)j=m-1 D)j=m+128) A return 1 B) return C return i D) return 将两个有序的数组合并到另一个数组中,要求合并后仍有序。main() int i=0,m=5,a5=1,3,7,9,13; int j=0,n=6,b6=2,4,8,16,20,24; int k=0,c11; while( i+j=m ) ck+= (29) ; else if( j=n ) ck+= (30) ; else if( (31) ) ck+=ai+; else ck+=bj+; for(i=0;ik;i+) printf( %d,ci); (29) A) ai+ B) aj+ C) bi+ D) bj+30) A) ai+ B) aj+ C) bi+ D) bj+ 给定一英文句子的字符串,统计其中的单词个数的函数。 int word_num(char *a) int n=0,in_word=0; for(; *a; a+) if(*a!= ) if(!in_word) (32) ; else (33) ; return n;(32) A n+ ; in_word=0; B) n+ C) n+ ; in_word=1 D) in_word=1 (33) A n+ B) in_word=0 C) in_word=1 D) continue从数列a中找到最小的数,并将它插入到最前面。 void replace (int a,int n) int i,j=0,k; for(i=0; in; i+) if (aij; i- B) i=j; i0; i- C) i=1; in; i+ D) i=1; ib)max=a;else max=b;for(i=max;i=a*b;i+) if(i%a=0&i%b=0) break;printf(“%dn”,i); 2. #include “stdio.h”main() int y,m,days;printf(“input year and month:”);scanf(“%d,%d”,&y,&m);switch(m) case 1:case 3:case 5:case 7:case 8:case 10:case 12:days=31;break;case 4:case 6:case 9:case 11:days=30;break;case 2:if(y%4=0&y%100!=0|y%400=0) days=29; else days=28; printf(“days=%dn”,days);复习题二一填空题1若有以下定义,则执行表达式y+=y-=m*=y后y的值是_ _。 int m=5,y=2;2若有说明:int a34=1,2,0,4,6,8,10,则a12= ;3. 能表达“20x30或xb)&!c|1的值为 。8设i,j均为int型变量,则执行完下面的for循环后,k的值为 。for(i=1,j=10; i=j; i+,j-) k=i+j;9访问结构体数组元素ak的成员b,写作 。10a、b都是结构体变量,语句“a=b;”能够执行的条件是 。二选择1要使以下程序的输出结果的第一行都是1,第二行都是2,第三行都是3,正确的数据输入格式可以是 。 main( ) int i,j,a33; for(j=0;j3;j+) for(i=0;i3;i+) scanf(“%1d”,&aij); for(i=0;i3;i+) printf(“n”); for(j=0;j3;j+)printf(“%1d”,aij); A.111222333 B.123123123 C.333222111 D.321321321 2C语言程序的三种基本结构是顺序结构、选择结构和 结构。 A.递归 B.嵌套 C.转移 D. 循环 3. 判断char形变量ch是否是大写字母的正确表达式是 。 A. A=ch=A)&(ch=A)&(ch=Z) D. (A=ch) 4. 已知int x=10,y=20,z=30;以下语句执行后,x、y、z的结果是 。 if(xy) z=x; x=y; y=z; A. x=10,y=20,z=30 B. x=20,y=30,z=30C. x=20,y=30,z=10 D. x=20,y=30,z=20 5. 定义函数时,缺省函数的类型声明,则函数类型取缺省类型 。A. void B.char Cfloat D.int 6. 以下程序段的运行结果是 。 x=0; y=0; while(x15) y+,x+=+y; printf(“%d,%d”,y,x); A 20,7 B 6,20 C 20,8 D 8,20 7. 若用数组名作为函数调用的实参,传递给形参的是 。 A. 数组的首地址 B. 数组第一个元素的值C. 数组全部元素的值 D. 数组元素的个数 8. 以下程序的运行结果是 。main() int a5=1,2,3,4,5,i,j,t; for(j=1;j=2;j+) t=a4; for(i=0;i4;i+) ai+1=ai; a0=t; for(i=0;i=a; p+,p1-) *p=*p1; *p=0; printf(n %s,a);A. xyz B. zyx C. xyzxyz D. xyzzyx 14以下程序的运行结果是 。 void f(char *p) if(*P= =0)return; if(*p!=d)f(p+1); printf(“%c”,*p); main( ) char c=“abcdef”; f(c); A.abcdef B.fedcba C.abcd D.dcba 15. 以下程序的正确的运行结果是 。 sub (int x,int y,int *z) *z=y-x; main( ) int a,b,c; sub (10,5,&a); sub (7,a,&b); sub (a,b,&c); printf(“%d,%d,%dn”,a,b,c); A. 5,2,3 B. -5,-12,-7 C. -5,-12,-17 D. 5,-2,-716以下程序中,不符合C语法规则的语句有 。 main( ) int *p1,a10; float *p2; A. p1=a+1; B. p2=p1; C. p2=(float *)p1; D. p1=a+; 17以下程序中不符合C语法规则的语句是 。 main() A. int aa*2,*p=a,i; B. for(i=0;i10;i+) scanf(“%d”,a); C. for(i=0;i10;i+) scanf(“%d”,p+); D. for(i=0;i10;i+) scanf(“%d”,a+); 18. 设有int a =10,11,12,*p=&a0;则执行完*p+;*p+=1;后a0,a1,a2的值依次是 。A.10,11,12 B.11,12,12C.10,12,12 D.11,11,1219. 以下对结构体变量的操作中,不能正确执行的语句是 。 struct int num; char name10; float score; a,b; A.a=b; B.a.num=b.num; C.=; D.a.score=b.num20. 若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是 。A EOF B 0 C 非零值 D NULL 三程序阅读题(1) main( ) int j,F5=0,1; for(j=2;j5;j+) Fj= Fj-1+ Fj-2; for(j=0;jb+);printf (%5d,(*p).b);printf (%5dn,+p-a);(6) main( ) char a=2,b=7; printf (%5d, a/b); printf (%5d,!a!=b);printf (%5d,a&=b);printf (%5d, a&b);printf (%5dn,b15最小的N值并输出。2. 为二维数组int a1010;输入数据后,计算并输出周边元素的和。答案一、填空1-16 20 3x20&x30|x-100 4. a%3=0&a%5 5. int a16 ,*p=a; 6. 问号 7 1 8 50 9 ab.b 10结构体类型相同 二选择BDCBA DADCD BDDDB BDCCA三、程序阅读题01( 0 1 1 2 3 ) 02( d=10 ) 03( 20 35 ) 04( ABCDECDEE )05( 5 1 2 3 2 )06( 0 1 2 1 28 )四程序设计1. main() float sum=0; int n=0; don+;sum+=1.0/n; While(sum=15); printf(n=%dn,n-1); 2. main()int i,j,sum=0, a1010; for(i=0;i10;i+)for(j=0;j10;j+) scanf(“%d”,&aij);for(i=0;i10;i+)sum+= ai0+ a9i;for(i=0;ia | a+1=b-, a+b 的值是 (3) 。 A) 0 B) 1 C) 4 D) 54假定 int a=2, b=3, c=0, 表达式: (a=b1)+(a&!c)+b/a*2.0 的值是 (4) . A) 2.0 B) 3.0 C) 4.0 D) 5.05以下表达式中,不能正确表达两个非0变量a和b的绝对值相等,但互为异号的是 (5) . A) a=-b & (a0 | b0) B) a*b0 | b0) C) !abs(a+b) & (a0 | b0) D) !(a+b) & a*b06以下各程序语句中,有语法错误的是 (6) .A)int x=1,y=2,z,a2*n;B)z=x+y;C)z=x+y-;D) z=(x+1)+-y;7假定a是3行4列的矩阵(int a34),则对于以下求矩阵元素之和的程序段中, 不正确的是 (7) .A)s=0; B) s=0;for(i=0;i3;i+) for(j=0;j4;j+) for(j=0;j4;j+) s+=aij; for(i=0;i3;i+) s+=aij;C) s=0; D) s=0; for(i=0;i4;i+) for(i=0;i3;i+)for(j=0;j3;j+) s+=aji; for(j=0;j4;j+) s+=aji;8假定a是10个元素的一维数组,若要将后9个数往前移一个位置挤掉最前面的一个数,则正确的操作是 (8) .A) for(j=1; j0; j-) aj=aj+1;C) B) for(j=9; j0; j-) aj-1=aj; D) for(j=0; j10; j+) aj=aj+1;9以下各循环语句中,不是无限循环的是 (9) .A) for(k=-1; -10k0; k+) ;10字符串”ab112803”的长度是 (10) .A) 8 B) 9 C) 10 D) 1311假定有如下求最大值和最小值的程序: main() int i,a, max=-32768, min=32767; for ( i=0; i10; i+) scanf (“%d”, &a ); if (a max ) max=a; printf (“n max,min= %d,%d”, max, min);则以下各结论中正确的是 (11) 。A)程序完全正确 B) 当输入递增数据时结果不正确C) 当输入递减数据时结果不正确 D) 输入任何数据结果都不正确12若希望当字符变量a中为数字字符时,表达式的值为“真”,为非数字字符时,表达式的值为“假”。则以下不能满足要求的表达式是 (12) 。 A) a=0 & a=0 & a=48+0 & a=0 & a-0=913上机运行以下程序会出现一个错误,这个错误的性质是 (13) .main() int i,j,a=3,2,1,b=6,4,2,0; float s=0; for(i=0;i3;i+) j=bai; s+=1.0/j; printf(“n %f”,s); A) 数组说明语法错 B)数组元素引用语法错 C)分母为0运算错 D)数组元素引用下标超界错14以下求矩阵a中主对角元素之和的各程序段中,不正确的是 (14) 。 A) int a33=1,2,3,4,5,6,7,8,9, s=0, *p=a;for ( p=a; pa+3; p+=3 ) s+=*
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 建筑工程安全管理规范与实施方案
- 小学数学期中考复习资料汇编
- 中考英语历年试题真题解析汇编
- 你好老师我的好老师为话题作文9篇
- 绿色建筑施工管理规范与技术方案
- 环境保护设施建设运行承诺书8篇范文
- 冰雪节营销策划及执行方案
- 高中语文现代散文阅读拓展教案
- 2025-2030光伏储能一体化系统成本下降路径与商业化模式探索报告
- 2025年乡村医生考试题库(农村急救技能操作)真题模拟解析
- 超早期脑梗死的CT影像表现及诊断课件
- 拉西地平原料制药课程设计说明书
- 小学体育-小学二年级《单双脚跳》教学设计学情分析教材分析课后反思
- 居室环境的清洁与消毒
- ××领导班子及成员分析研判报告
- GB/T 9124.1-2019钢制管法兰第1部分:PN系列
- GB/T 2518-2008连续热镀锌钢板及钢带
- Frenchay构音障碍评定
- 教育学原理课后答案主编项贤明
- 建筑装饰施工技术-轻质隔墙工程施工课件(-)
- 语言领域核心经验《学前儿童语言学习与发展核心经验》
评论
0/150
提交评论