高考c语言复习题(最新版本).pdf
《高考c语言复习题(最新版本).pdf》由会员分享,可在线阅读,更多相关《高考c语言复习题(最新版本).pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、最新可编辑word 文档1.在 C 语言中,下列选项项中合法的常量是( ) A.019 B.0 xg C.3e2 D.32e E.” 032”F.” ab”G.” n”H.”w”2.下列选项中不能作C 语言表达式的是( ) A.a=b=c B.a=b3?1:5)的值是 ( ) A.1 B.2 C.3 D.5 4.设有 int x=1,y=2,z=3; 则计算表达式z+=(y=(x=10,20+4) 后,x,y,z的值分别是 ( ) A.10,10,10 B.10,10,24 C.10,10,27 D.10,24,27 5.在 C 语言程序中continue 语句不适于 ( ) A.switch
2、 语句B.while 语句C.do-while 语句D.for 语句6.执行下面程序,输出是( ) A.1 B.2 C.15 D.16 main() int t=2,r=0; switch(t)case 1:r=r+1;case 2;r=r+2;case 3:r=r+3;default:r=r+10; printf( “%d”,r); 7.执行下面程序,输出是( ) A.25 B.30 C.35 D.55 main() int i=1,s=0; while(i=10)if(i+%2)continue;s=s+i; printf( “%d”,s); 8.语句 puts(“ABC0DE%0F ”)
3、;的输出结果是( ) A.ABC0DE%0F B.ABC0DE C.ABC0 D.ABC 9.在 C 语言中用字符数组保存字符串”Hello041 ”需要的字节数至少是 ( ) A.5 B.7 C.9 D.11 10.表达式( int)3.4/2+10%3 的值是 ( ) 。11.表达式” e”-“a”+sizeof(char)的值是 ( ) 。12.设有 int a=1,b=2;则表达式 -a&b+ 的值是 ( ) 13.下面程序中有5 处错误,在有错的行后写出该行正确的内容,使程序实现计算一个奇数的阶乘的功能。#include main() int n,i,s=0; do scanf( “
4、 %d”,n); while(n%2=0); for(i=1,i1,in;i+) s=s*i printf( “ %f”,s) 14.程序的功能是求小于n的素数,在横线处填上合适的内容,以实现此功能。#include #include main() int n,i,j; scanf(“ %d”,&n); for(i=3; ;i+) if( ) ; if( )printf( “%d”,i); 15. 运行结果: ( ) #include void main() char s=”2473”, c, i; for(i=0;c=si;i+) switch(c-0) case 2: case 3: pu
5、tchar(c+4); continue; case 4: putchar(c+4); break; case 5: putchar(c+3); default: putchar(c+2); putchar( n); 16. 写出程序的输出结果(假定类型unsigned int 的字长为16位) 。( )#include void main() unsigned int u1=0 x958,u2,u3; u2=(u1 & 0 xff)4; printf(“%x %x %x n”,u2,u3,u2/u3); 17. 设一维数组a 的 4 个输入整数是1,2,3,4,则程序的输出是( )#incl
6、ude #define M 4 void main( ) int i, j, k, m, a4; printf(“Enter 4 numbers: “); for(i=0; i0; i-) k=M-1; for(j=M-1; j0; j-) aj=aj-1; a0=k; for(m=0; mM; m+) printf(“ %d ”,am); printf(“n ”); 18. 以下 isprime函数的功能是判断形参a 是否为素数,是素数,函数返回1,否则返回0。请填空 int isprime(int a) int i; for(i=2; ;i+) if(a%i=O) _ _; _; 19.
7、程序的作用是将字符串s1 复制到字符串s2 中。main() char s=”China”,s220;int i; for(i=0; _ _;i+) *(s2+i)= ; _ _; printf(“s1=%s n”,s1);printf(“s2=%s n”,s2); 20. 以下程序的功能是输入任意整数给n 后, 输出 n 行由大写字母A开始构成的三角形字符阵列图形例如,输入整数5 时( 注意:最新可编辑word 文档n 不得大于10),程序运行结果如下; ABCDE FGHI JKL MN O 请填空完成该程序。 main() int i,j,n; char ch=A; scanf(%d,&
8、n); if(n11) for(i=1;i=n;i+) for(j=1;j ;j+) printf(%2c,ch); ; ; else printf(n is too large!n); printf(n); 21、改错题(每处5 共 15 分)下列程序各有三个错误,请用波浪线标出错误部分, 并在旁边更正。输入 10 个正整数, 计算其中的素数之和并输出结果(不考虑溢出情况) 。#01 #include #02 int sum(int *b, int m) #03 int s=0, is_prime(long); #04 while(m-) #05 if(is_prime(*b+) s+=*b
9、; #06 return s; #07 #08 is_prime(long m) #09 int k; #10 if(m=1) return 0; #11 if(m=2|m=3) return 1#12 for(k=2; k*k=m; k+) #13 if(m%k=0) return 0; #14 else return 1; #15 #16 void main() #17 int x10, i; #18 for(i=0; i10; i+) scanf(“%d ”, x+); #19 printf(“sum=%dn ”, sum(x,10); #20 22. 编程题( 15 分)要求利用到递归
10、法和函数求1+2+3+4+5+ +100 的值23. 给定程序中函数fun 的功能是 : 求整数 x 的 y 次方的低 3 位值。例如 5 的 6 次方为 12625,此值的低3 位值为625。请改正函数fun 中的三处错误,使它能得出正确的结果。#include “stdio.h”long fun(int x,int y, long *p) int i; long t=1; for (i=1;iy;i+) t=t*x; *p=t; t=t/1000; return t; main() logn t,r;int x,y; printf(“n input x and y:” ); scanf(
11、“%ld%ld”,&x,&y); t=fun(x,y,r); printf(“nnx=%d,y=%d,r=%d,last=%ldnn” ,x,y,r,t); 24、编程题( 15 分)求出任意一个数m(设 4=mbc; r2=ac; printf(“r1=%d,r2=%d”,r1,r2); (2)执行下列程序后,输出( ) #include void main() int *a10, b, c; a0=&b; *a0=5; c=(*a0)+; printf(“%d %d n”, b, c); (3)设有如下程序: #include void main() int clock; float f;
12、 char cpu20; scanf( “%4d%f%s”, &clock, &f, cpu);printf(“%d %.0f %sn”, clock, f, cpu); 假设输入数据流为200015.0 P4 is GOOD! ,请写出执行该程序后的输出结果( )。(4)输出结果 ( )#include main() union int a; char b2; c; c.a=65; puts(c.b); printf(%dn,sizeof(c); (5)输出结果 ( ) 最新可编辑word 文档main() union struct int x,y; in; int a,b; e; e.a=
13、1; e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(%d %d,e.in.x,e.in.y); (6)输出结果 ( ) struct w char low ; char high ; ; union u struct w byte ; int word ; uu; main ( ) uu.word = 0 x1234 ; printf(“ %04xn” , , uu.word); printf(“ %02xn” , , uu.byte.high) ; printf(“ %02xn” , , uu.byte.low); uu.byte.low = 0
14、 xff ;printf(“ %04xn” , , uu.word) ; 26. 下面的函数是将p 所指的结点插入head(形参中)所指的单向链表中。 设链表已按学号(num)从小到大顺序排列,要求将 p(形参)所指的结点插入后链表保持有序,函数返回插入后的链表的头指针。结点结构为: typedef struct node int num; struct node *next; NODE; 函数为: NODE *insert(NODE *head ,NODE * p) NODE *front,*rear; front=head; while (front!=NULL & front-num n
15、um) rear=front; ; if (front=NULL ) if (head=NULL) ; else rear-next=p; ; else if (head=front) head=p; else rear-next=p; ; ; 27.下面的函数strcpy1是将源串 src 拷贝到目的串dest 中,并返回目的串的首地址。 char *strcpy1(char *dest,const char *src) char *temp=dest; while ( ); return ; 28. 下面的str_count函数计算串substring在母串 string中出现的次数,并将
16、次数返回。 int str_count(char *string,char *substring) int i,j,k; int count=0; for (i=0; stringi!= ; i+) for (j= ,k=0; substringk=stringj; k+,j+) if (substring =0) count+; break; return ; 29下面函数的功能是用递归法求数组中的最大值及下标值,请填空使程序完整。void findmax(int *a,int n,int i,int *pk) if (ia*pk) ; findmax( ) ; 30. 运行结果()void
17、 del (char *s,char c ) int i,j; for (i=j=0; si!=0; i+) if ( si = = c) sj+=si; sj=0; main() char s=the c language; del(s,a); puts(s); 31. 运行结果()#include #include void fun(char *p,int n) char *i,*j,t; for (i=p,j=p+n-1; i=0; j - ) printf(“ %sn” ,*(p - ) ; 33. 下面程序用 “ 插入法 ” 对数组a 进行由小到大的排序,请填(3)空使程序完整。经典
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高考 语言 复习题 最新 版本
限制150内