C语言总复习 绝对经典课件.ppt

上传人:小飞机 文档编号:1375804 上传时间:2022-11-16 格式:PPT 页数:37 大小:146.50KB
返回 下载 相关 举报
C语言总复习 绝对经典课件.ppt_第1页
第1页 / 共37页
C语言总复习 绝对经典课件.ppt_第2页
第2页 / 共37页
C语言总复习 绝对经典课件.ppt_第3页
第3页 / 共37页
C语言总复习 绝对经典课件.ppt_第4页
第4页 / 共37页
C语言总复习 绝对经典课件.ppt_第5页
第5页 / 共37页
点击查看更多>>
资源描述

《C语言总复习 绝对经典课件.ppt》由会员分享,可在线阅读,更多相关《C语言总复习 绝对经典课件.ppt(37页珍藏版)》请在三一办公上搜索。

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=AC. 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);A. 14.0

3、00000 B. 15.400000C. 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*t8.为表示关系y在闭区间【x,z】内,应使用的C语言表达式是( )。 A (x=y)&(y=z) B(x=y)AND(y=z) C x=y=z D(x=y)&(y=z),C,A,9.下列叙述中,正确的是( )。 A 输入项可以是一个实型常量, 如: scanf(%f,3.5); B 只有格式控制,没有输入项,也能正确输入数据到内存,如:scanf(a

4、=%d, b=%d); C 当输入一个实型数据时,格式控制部分可以规定小数点后的位数,如:scanf(%4.2f,D,10.printf函数中用到格式符“%5s”,如果输出的字符串长度大于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=c

5、2+32?c1:(c1=c2+32)的值为( )。 A 1 B 0 C a D A14.运行以下程序段的运行结果是( )。 int x=1,y=2,z=3,a=-1; if(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 只能为i

6、nt类型 C 只能是整型或字符型 D 只能是整型或实型,A,A,17.下面的程序( )main()int x=3; do printf(“%dn”,x-=2);while(!(-x);A输出的是1 B输出的是1和-2C输出的是3和0 D是死循环18. C语句中下列( )语句可实现循环结构设计A.continueB.switchC.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

7、,3)=6 C s(1,2)=6 D s(2,2)=5,B,20.下列各程序段中,不能实现1+2+3+.+10求和的是( )。 A int i=0,s=0; 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.若有说

8、明 char c=China; 则对该数组元素的正确引用是( )。 A c3+4 B c(2) C c1*3 D c5,A,C,23.若要用下面的程序片段使指针变量p,指向一个存储整型变量的动态存储单元:int *p;即p= malloc(sizeof(int);则应填入Aint Bint * C(*int) D(int*)24.若定义 int b=8,*p= 则下面均表示b的地址的一组选项为( )。 A *p,*&b B *p,&*b C p,*&b,&*p D &*p,p,&b,D,D,25.下列关于函数的叙述不正确的是_ A.一个函数可以没有返回值 B.一个函数可以用return语句返回

9、两个以上的值 C.用外部变量可以在函数间传递数据 D.函数无法返回值时,类型为void26.若函数实参是数组名时,则以下叙述中,正确的是 ( )。 A 必须在调用函数中说明此数组的大小 B 实数组类型与形参数组类型可以不相同 C 在被调用函数中,形参数组必须与实参数组大小相等 D 实数组名与形参数组名必须一致,B,A,27.定义联合数据类型 union int a; 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; flo

10、at f; ;语句printf(%d,sizeof(struct s)的输出结果为( )。 A 2 B 3 C 4 D 6,D,29.C语言中,宏定义有效范围从定义处开始,到本源文件结束处终止。但可以用_来提前解除宏定义的作用。 A.#ifndef B.#endif C.#undefine D.#undef30.程序中定义以下宏 #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

11、*a=6 b=3 c=9 C #a=6 b=3 c=10 D*a=6 b=3 c=10,A,32. 有以下程序:#includemain ()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,

12、33.下面程序的输出是_main()int y=9; for(;y0;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.请选出以下程序的输出结果是_#

13、 includemain()int a=1,2,3,4,i;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

14、.12 C.11 D.14 【38】A.8 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);

15、 ,【39】 A feof(fp)!=0 B !feof(fp) C feof(fp) D feof(fp)!= NULL 【40】 A fread(&r,1,sizeof(struct datarec),fp) B fread(r,sizeof(struct datarec),1,fp) C fread(r,1,sizeof(struct datarec),fp) D fread(&r,sizeof(struct datarec),1,fp),B,D,39.【程序】 extern int a; main() int i; for (i=1;i4;i+) +a;printf(%d, a);s(

16、); 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,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)i

17、nt 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”,*a,*b);main() int a=3,b=5; swap( ,5335,3、阅读下面程序,写出结果void inv(int *x,int n) int *p,m,t,*i,*j; m=(n-1)/2; i=x;j

18、=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 11 9 7 3,4、阅读下面程序,写出结果main() union zj int a; char ch2; au; au.a257; printf(dndn,au.ch0,au.ch1); ,1,1,5、阅读下面程序,写出结果#d

19、efine M3#define NM+3#define S(N) N*N*Nmain() 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循环,从键盘输入一个正整数n,然后显示n行hello。,main() int n,i; printf(Please input N:); scanf(%d,3、编写程序,从键盘输入一个正整数n,计算n的阶乘并显示结果。,main() int n,i; long s=1; printf(Please input N:); scanf(%d,4、编写程序,从键盘输入一个正整数n,计算该数的各位数字之和,并显示结果。,main() long x,a6; int i=0,s=0; printf(Please input X:); scanf(%ld,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号