06-11高校等考预测试题与真题对比------- 二级C
一、C语言部分统计数据
真题 |
预测题 |
知识点 |
选择第2题 |
第三套选择第2题 |
变量自增自减 |
选择第4题 |
第四套选择第3题 |
表达式位移运算 |
选择第6题 |
第三套选择第6题 |
do…while循环 |
选择第7题 |
第二套选择第2题 |
数组定义 |
选择第8题 |
第四套选择第8题 |
指针数组 |
选择第9题 |
第四套选择第9题 |
结构体 |
运行结果第2题 |
第三套运行结果第2题 |
break、continue语句 |
运行结果第3题 |
第四套运行结果第3题 |
循环嵌套 |
运行结果第5题 |
第三套运行结果第5题 |
函数调用 |
程序填空第3题 |
第三套程序填空第3题 |
求最大值和最小值 |
程序填空第4题 |
第三套程序填空第4题 |
矩阵对角线之和 |
程序问答第2题 |
第三套程序问答第2题 |
字符串复制 |
二、试题对比: 1、真题选择第2题 预测第三套选择第2题 考查知识点:变量自增自减 真题选择第2题: 2、已知整型变量i的值是3,则执行下面的语句后,k,i的值是 (2) 。 k=i++; A. 3,4 B. 4,4 C. 4,3 D. 3,3 预测第三套选择第2题: 2、语句int i=3;k=(i++)+(++i)+(i++);则执行过后k,i的值是 (2) 。 A.12,6 B. 12,5 C. 18,6 D. 15,5
2、真题选择第4题 预测第四套选择第3题 考查知识点:表达式位移运算 真题选择第4题: 4、设int b=2;则表达式(b<<2)/(b>>1)的值为 (4) 。 A. 0 B. 2 C. 4 D. 8 预测第四套选择第3题: 3、设int b=2;表达式(b<<2)/(b>>1)的值为 (3) 。 A. 0 B. 2 C. 4 D. 8
3、真题选择第6题 预测第三套选择第6题 考查知识点:do…while循环 真题选择第6题: 6、执行下列程序段后,输出的结果是 (6) 。 int x=9; do {printf("%d",x--);} while(!x); A. 8 B. 9 C.不输出任何内容 D.陷入死循环 预测第三套选择第6题: 6、执行下列程序段后,输出的结果是 (6) 。 int x=9; do {pringtf(“%d”,x--);} While(!x) A. 8 B. 9 C.不输出任何内容 D.陷入死循环
4、真题选择第7题 预测第二套选择第2题 考查知识点:数组定义 真题选择第7题: 7、下列合法的数组定义是 (7) 。 A. char a[4]="china"; B. int a[4]={0,1,2,3,4}; C. char a="china"; D. char s[]={'0','1','2','3','4'}; 预测第二套选择第2题: 2、以下能正确定义一维数组的选项是 (2) 。 A.int a[5]={0,1,2,3,4,5}; B.char a[]={0,1,2,3,4,5}; C.char a={‘A’,’B’,’C’}; D.int a[5]=”0123”;
5、真题选择第8题 预测第四套选择第8题 考查知识点:指针数组 真题选择第8题: 8、执行下列程序段后,输出的结果是 (8) 。 int a[]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf("%d\n",*p+8); A. 0 B. 1 C. 8 D. 9 预测第四套选择第8题: 8、执行下列程序段后,输出的结果是 (8) 。 int a{}={1,2,3,4,5,6,7,8,9,0},*p; p=a;; printf("%d\n",*p+8); A. 0 B. 1 C. 10 D. 9
6、真题选择第9题 预测第四套选择第9题 考查知识点:结构体 真题选择第9题: 9、设有以下说明语句 struct student {int num; char sex; int age; }a1; 则变量a1占用的字节数是 (9) 。 A.3 B.5 C.7 D.4 预测第四套选择第9题: 9、若有以下结构体,则正确的定义或引用是 (9) 。 struct Test { int x; int y; }vl; A. Test.x=10; B. struct Test v2={10}; C. struct v2;v2.x=10; D. Test v2;v2.x=10;
7、真题运行结果第2题 预测第三套运行结果第2题 考查知识点:break、continue语句 真题运行结果第2题: 2、程序 main() { int a, b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue; } b-=5; } printf("%d",a); } 预测第三套运行结果第2题: 2、程序 main() { int a, b; for(a=1,b=1;a<=100;a++) {if(b>=20)break; if(b%3==1) {b+=3; continue; } b-=5; } printf("%d",a); }
8、真题运行结果第3题 预测第四套运行结果第3题
考查知识点:循环嵌套 真题运行结果第3题: 3、程序 main() { int a,b[10],c,i=0; scanf("%d",&a); while(a!=0) { c=funct(a,2); a=a/2; b[i]=c; i++; } for(;i>0;i--)printf("%d",b[i-1]); } funct(int a,int n) {return(a%n);} 设输入数据为:12 预测第四套运行结果第3题: 3、程序 main() { int a,b[10],c,i=0; scanf("%d",&a); while(a!=0) { c=funct(a,2); a=a/2; b[i]=c; i++; } for(;i>0;i--)printf("%d",b[i-1]); } funct(int a,int n) {return(a%n);} 设输入数据为:12
9、真题运行结果第5题 预测第三套运行结果第5题 考查知识点:函数调用 真题运行结果第5题: 5、程序 #include<stdio.h> #include<malloc.h> char *rev(char *s1) { char *s; int i=0,len; for(len=0;s1[len];len++) s=(char *)malloc(sizeof(len)); while (i<len) { s[i]=s1[len-i-1]; i++; } s[len]='\0'; return s; } main() { char *p1,*p; p1="ABCDE"; p=rev(p1); printf("%s\n\n",p); } 预测第三套运行结果第5题: 5、程序 #include<stdio.h> #include<malloc.h> char *rev(char *s1) { char *s; int i=0,len; for(len=0;s1[len];len++) s=(char *)malloc(sizeof(len)); while (i<len) { s[i]=s1[len-i-1]; i++; } s[len]='\0'; return s; } void main() { char *p1,*p; p1="TODAY IS SUNDAY"; p=rev(p1); printf("%s\n\n",p); }
10、真题程序填空第3题 预测第三套程序填空第3题 考查知识点:求最大值和最小值 真题程序填空第3题: 3、下面程序的功能是:从键盘上输入若干实数,求出最大值和最小值,当输入负数时结束。 main() {float x,max,min; scanf("%f",&x); max=x; min=x; while( (6) ) {if(x>max) max=x; if( (7) ) min=x; scanf("%f",&x); } printf("\nmax=%f\nmin=%f\n",max,min); } 预测第三套程序填空第3题: 3、下面程序的功能是:从键盘上输入若干数,要求输出最大值和最小值,当输入负数时结束输入。 main() {float x,max,min; scanf("%f",&x); max=x; min=x; while(__(6)_______) {if(x>max) max=x; if(____(7)____) min=x; scanf("%f",&x); } printf("\nmax=%f\nmin=%f\n",max,min); }
11、真题程序填空第4题 预测第三套程序填空第4题 考查知识点:矩阵对角线之和 真题程序填空第4题: 4、下面程序的功能是:先从键盘上输入一个5行5列方阵的各个元素的值,然后输出主对角线元素之和。 void sum1(int a[][5],int *p) { int i,j; *p=0; for(i=0;i<5;i++) for(j=0;j<5;j++) if( (8) )*p=*p+a[i][j]; } main() { int x[5][5],i,j,y; for(i=0;i<5;i++) for(j=0;j<5;j++) scanf("%d",&x[i][j]); (9) ; printf("sum=%d\n",y); } 预测第三套程序填空第4题: 4、下面程序的功能是:先从键盘上输入一个3行3列矩阵的各个元素的值,然后输出主对角线之和。 #include<stdio.h> int cont() { int a[3][3],sum; int i,j; ____(8)____; for(i=0;i<3;i++) { for(j=0;j<3;j++) scanf("%d",&a[i][j]); } for(i=0;i<3;i++) ______(9)______; printf("sum=%d\n",sum); } main() { cont(); }
12、真题程序问答第2题 预测第三套程序问答第2题 考查知识点:字符串复制 真题问答第2题: 2、程序 #include<stdio.h> void cp(char *p,char *b) { int i,k=0; i=0; while(i<3&&*p) {b[k]=*p; k++;p++;i++; } b[k]='\0'; } main() {char a[20],b[20]; gets(a); cp(a,b); puts(b); printf("\n"); } 问题3:函数cp的功能是什么? 问题4:若程序运行时输入下面的字符串,请写出运行结果。 abc123xy 预测第三套程序问答第2题: 2、程序 #include<stdio.h> void cp(char *p,char *b) { int i,k=0; while(*p) { i=0; while(i<3&&*p) {b[k]=*p; k++;p++;i++; } if(*p) {b[k++]=' '; } } b[k]='\0'; } main() {char a[20],b[20]; gets(a); cp(a,b); puts(b); printf("\n"); } 问题3:函数cp的功能是什么? 问题4:若在调用cp函数之前给字符串a输入abc123xy后,写出程序的运行结果
|