06-11高校等考预测试题与真题对比二级C
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后,写出程序的运行结果
真题运行结果第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后,写出程序的运行结果