C语言总复习资料,绝对经典.ppt_第1页
C语言总复习资料,绝对经典.ppt_第2页
C语言总复习资料,绝对经典.ppt_第3页
C语言总复习资料,绝对经典.ppt_第4页
C语言总复习资料,绝对经典.ppt_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、2005年C语言复习课,1.下列四个叙述中,错误的是( )。 A C语言中的关键字必须小写 B 变量的存储类型决定了变量的存储位置及其生存期 C 宏定义必须以#define 开头,行末必须加分号 D C语言中的注释行可以出现在程序的任何位置 2.下列四个叙述中,错误的是( )。 A 一个C源程序必须有且只能有一个主函数 B 一个C源程序可以含一个或多个子函数 C 在C源程序中注释说明必须位于语句之后 D C源程序的基本结构是函数,c,c,3.对两个静态变量k1,k2进行初始化: static char k1=A; static char k2=A; 则下列叙述正确的是_ A.上述语句有错误 B

2、. K1=K2=A C. K1是字符串,K2是字符 D. K1是字符,K2是字符串 4. C语言提供的合法的数据类型关键字是_ A. Double B. short C. integer D. Char,A,B,5.设x为int型变量,则执行语句x=10; x+=x-=x-x; 后, x的值为( )。 A 10 B 20 C 40 D 30 6.以下程序的输出结果是_ #include #include main() int a=1,b=4,c=2; float x=10.5,y=4.0,z; z=(a+b)/c+sqrt(double)y)*1.2/c+x; printf(“%fn”,z);

3、 A. 14.000000 B. 15.400000 C. 13.700000 D. 14.900000,B,C,7.设r,s,t为实型变量,代数式rs/10t在程序中的正确写法是_。 A.rs/10t B.r*s/10t C.r*s/10/t D.r*s/10*t 8.为表示关系y在闭区间【x,z】内,应使用的C语言表达式是( )。 A (x=y) B 只有格式控制,没有输入项,也能正确输入数据到内存,如:scanf(a=%d, b=%d); C 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,如:scanf(%4.2f,D,10.printf函数中用到格式符“%5s”,如果输出的

4、字符串长度大于5, 则输出方式是( )。 A 从左起输出该字符串,右补空格 B 按原字符串长从左向右全部输出 C 右对齐输出该字符串, 左补空格 D 输出错误信息 12.若定义int x; float y; 且执行scanf(%3d,%f, 语句时,从第一列开始输入数据 12345,678,则x的值为( )。 A 12345 B 123 C 45 D 345,B,B,13.设 char c1=a,c2=A;则表达式 c1=c2+32?c1:(c1=c2+32)的值为( )。 A 1 B 0 C a D A 14.运行以下程序段的运行结果是( )。 int x=1,y=2,z=3,a=-1; i

5、f(x y) a=1; printf(%d%d%d%d n,x,y,z,a); A 1 2 3 1 B 1 2 3 0 C 1 2 3 -1 D 编译时报语法错误,不能执行,C,B,15.设 int a=1,b=2,c=3,d=4,z;则表达式(ab)?(z=c):(z=d)的值为( )。 A 4 B 2 C 1 D 3 16.在C语言中,switch语句后一对圆括号中表达式的类型( )。 A 可以是任何基本类型 B 只能为int类型 C 只能是整型或字符型 D 只能是整型或实型,A,A,17.下面的程序( ) main() int x=3; do printf(“%dn”,x-=2); wh

6、ile(!(-x); A输出的是1 B输出的是1和-2 C输出的是3和0 D是死循环 18. C语句中下列( )语句可实现循环结构设计 A.continueB.switch C.for D.break,19.运行下面程序段的输出结果是( )。 int n,a,s=0,p=1,i; n=2;a=2; for(i=1;i=n;+i) p=p*a;s+=p; printf(“ns(%d,%d)=%d,a,i,s); A s(2,2)=6 B s(2,3)=6 C s(1,2)=6 D s(2,2)=5,B,20.下列各程序段中,不能实现1+2+3+.+10求和的是( )。 A int i=0,s=0

7、; while(i=10) s+=i,i+; B int i,s; for(s=0,i=1;i11;i+) s+=i; C int i=0,s=0; do s+=i;,+i; while(i=10); D int i,s; for(s=0,i=1;i=10;) s+=i;,D,21.运行下面程序段的输出结果是( )。 static int a7=1,3,5 ; printf(%dn,a3 ); A 0 B 5 C 3 D 不确定数 22.若有说明 char c=China; 则对该数组元素的正确引用是( )。 A c3+4 B c(2) C c1*3 D c5,A,C,23.若要用下面的程序片

8、段使指针变量p,指向一个存储整型变量的动态存储单元:int *p;即p= malloc(sizeof(int);则应填入 Aint Bint * C(*int) D(int*) 24.若定义 int b=8,*p= 则下面均表示b的地址的一组选项为( )。 A *p,* int b; int c; int d; x; 执行语句 x.a=2;x.b=3;x.c=4;x.d=5;后,x.b的值为( )。 A 2 B 3 C 4 D 5,D,28.定义以下结构体类型 struct s int a; float f; ; 语句printf(%d,sizeof(struct s)的输出结果为( )。 A

9、 2 B 3 C 4 D 6,D,29.C语言中,宏定义有效范围从定义处开始,到本源文件结束处终止。但可以用_来提前解除宏定义的作用。 A.#ifndef B.#endif C.#undefine D.#undef 30.程序中定义以下宏 #define w 2 #define L 4+w 若定义int val; 且令val=L*L,则变量val的值为( )。 A12 B 14 C 20 D 36,D,B,31.当a=5,b=4,c=9时,语句a+=5的执行结果是( )。 A #a=6 b=3 c=9 B*a=6 b=3 c=9 C #a=6 b=3 c=10 D*a=6 b=3 c=10,A

10、,32. 有以下程序: #include main () int c; while(c=gether()!=n) switch(c-2) case 0: case 1:putchar(c+4); case 2:putchar(c+4);break; case 3:putchar(c+3); default:putchar(c+2);break printf(“n”); 从第一列开始输入以下数据,代表一个回车符. 2473 程序的输出结果是_ A.668977 B.668966 C.66778777 D.6688766,A,33.下面程序的输出是_ main() int y=9; for(;y0

11、;y-) if(y%3=0) printf(“%d”,-y);continue; A741 B852 C963 D875421,B,34.下面程序的输出是 #include main() char *a=abcdefgh; fun(a); puts(a); fun(char *s) int x=0,y;char c; for (y=strlen(s)-1;xy;x+,y-) c=sx;sx=sy;sy=c; Aabcdefgh Bhgfdecba Cdcbahgfe Dhgfedcba,D,35.请选出以下程序的输出结果是_ # include main() int a=1,2,3,4,i;

12、int x=0; for(i=0;i4;i+) sub(a,x);printf(“%d”,x); printf(“n”); sub(s,y) int *s,y; static int t=3; y=st;t-; A1234 B4321 C0000 D4444,C,37【程序】 #include main() int x=1, i=1; for(; x10) break; if(x%2!=0)x+=3;continue; x-=1; printf(%dn, x); 输出为 【37】 printf(%dn, i); 输出为 【38】 【37】A.10 B.12 C.11 D.14 【38】A.8

13、B.9 C.10 D.7,B,C,38.下面程序从一个二进制文件中读入结构体数据,并把结构体数据显示在终端屏幕上,请选择正确的答案填入程序空白处。 #include main( ) struct datarec char s; int a; float c; r; FILE *fp; if(fp=fopen(file.dat,rb) = NULL) printf(Cant open input filen);exit(0); while( 【39】 ) 【40】 ; printf(%c,%d,%fn,r.s,r.a,r.c); fclose(fp); ,【39】 A feof(fp)!=0 B

14、 !feof(fp) C feof(fp) D feof(fp)!= NULL 【40】 A fread( main() int i; for (i=1;i4;i+) +a;printf(%d, a);s(); int a=9; int s() int a=100; static int b=10; +a; printf(%d,%dn, a,b); b+=10; 程序输出第一行为 【41】;程序输出第二行为 【42】;程序输出第三行为 【43】。,【41】A.1,10,10 B.10,101,10 C.10,11,10 D.1,101,10 【42】A.11,101,20 B.102,101,

15、10 C.11,101,10 D.101,11,20 【43】A.102,101,10 B.12,102,30 C.102,101,30 D.12,101,30,B,A,D,1、阅读下面程序,写出结果 f(a) int a; auto int b=0; static int c=6; b+=1;c+=1; return (a+b+c); main() int a=2,i; for(i=0;i3;i+) printf(“%3d”,f(a); ,101112,2、阅读下面程序,写出结果 swap(int *a,int *b) int *t; t=a,a=b,b=t; printf(“%d,%dn”

16、,*a,*b); main() int a=3,b=5; swap( ,53 35,3、阅读下面程序,写出结果 void inv(int *x,int n) int *p,m,t,*i,*j; m=(n-1)/2; i=x;j=x+n-1;p=x+m; for(;i=p;i+,j-) t=*i;*i=*j;*j=t; return; main() static int a10=3,7,9,11,0,6,7,5,4,2; int i,*p; p=a;inv(p,10); for(p=a;pa+10;p+) printf(“%d,”,*p); printf(“n”); ,2 4 5 7 6 0 1

17、1 9 7 3,4、阅读下面程序,写出结果 main() union zj int a; char ch2; au; au.a257; printf(dndn,au.ch0,au.ch1); ,1,1,5、阅读下面程序,写出结果 #define M3 #define NM+3 #define S(N) N*N*N main() printf(“%dn”,S(N);,24,三、画出程序流程图 1、有一个34的矩阵,求出其中值最大的那个元素的值,2、求sum=1+2+3+100,四、编写程序,1.编写程序,从键盘输入两个正整数,判断第一个数能否被第二个数整除,并显示相应的信息。,main() int x,y; printf(Please input X,Y:); scanf(%d,%d,2、 编写程序,使用for循环,从键

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论