2011年全国计算机等级二级C语言模拟试题及答案(7)
一、填空题
1.在C语言程序设计中,正确的标识符是由____________________组成的。
2. 设x=4,y=(++x)+(++x);那么y的值为_____,表达式执行后,变量x的值为_______。
3.一个变量的指针是指_____________________________________________。
4.能够构成一个数组,其元素满足的特点是__________________________________;
那么,构成结构体的成员可以是_________________________________________。
5.下面运算符 < % ++ = 按照优先级从高到低排列顺序为______________。
6.C程序设计中语句后的符号 /*……*/ 所起作用是_________________________。
7.写出下面表达式的值
3*5/7+7%3____________________
x=2 ; y=4; (x++)+y _____________________
3+4>=7-10_____________________
3>4 ? 3%2: 1 ___________________
x=2,y=2;++x||++y_______________
x=3 ; x+=x-=2 _____________________
二、选择题
⑴.在使用TurboC2.0环境编辑程序时,运行某程序使用的菜单项为( )
A.FILE
B.RUN
C.EDIT
D.OPTION
⑵.下列语句不具有赋值功能的是( )
A.a*=b
B.x=1
C.a+b
D.a++
⑶.C语言程序中,当出现条件分支语句if~else时, else与( )组成配对关系
A.同一复合语句内部的if
B.在其之前任意的if
C.在其之前未配对的最近的if
D.首行位置相同的if
⑷.下列数组定义方式不正确的语句是( )
A.char x[5];
B.char y[]={‘h’, ‘e’, ‘l’, ‘l’, ‘o’};
C. int x[10]={12,13,14,15};
D.int y[];
⑸. 若有如下定义和语句,且0<=i<5,下面( )是对数值为3数组元素的引用
int a[]={1,2,3,4,5},*p,i;
p=a;
A. *(a+2)
B.a[p-3]
C.p+2
D.a+3
⑹. 下列( )表达式的值为真
a=5; b=8; c=10; d=0
A.a*2>8+2
B.a&&d
C. (a*2-c)||d
D.a-b<c*d
⑺. 下列字符数组长度为5的是( )
A. char a[]={‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
B. char b[]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’, ‘\0’};
C. char c[10]= {‘h’, ‘a’, ‘b’, ‘c’, ‘d’};
D. char d[6]= {‘h’, ‘a’, ‘b’, ‘c’, ‘\0’ }
⑻. 执行下列程序后,其结果为( )
int a[]={2,4,6,8,10,12}; *p;
p=a;
*(p+4) =2;
printf(“%d,%d\n”,*p,*(p+4));
A.0,10
B.0,2
C.2,10
D.2,2
⑼. 有下列结构体,对该结构体变量stu的成员项引用不正确的是( )
struct student
{ int m;
float n;
} stu ,*p;
A. stu.n
B.p->m
C.(*p).m
D.p.stu.n
⑽.下列函数中不能用于对文件进行输入输出操作的是( )
A.fscanf( )
B.printf( )
C.fgetc( )
D. fputs( )
三、判断题
1.C语言程序设计可以对计算机硬件进行操作。 ( )
2.在循环过程中,使用break语句和continue语句的作用是一样的。 ( )
3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致。 ( )
4.对于某一指针变量可以接收任何类型的值。 ( )
5.在C语言程序设计中,不同类型的数在计算机内存中所占空间是不同的。( )
6.文件指针是结构体类型,可以用表示file来定义。 ( )
7.选择结构不可以使用嵌套形式,但是循环结构可以使用嵌套形式。 ( )
8.在定义数组时,有时可以将该数组的维数省略。 ( )
9.运算符 && + * 的优先级是 * 优先于 + 优先于&&。 ( )
10.任何数组都可以实现对其进行整体操作。 ( )
三、程序填空题
1.下面是实现输出九九乘法表的程序,在画线的位置填上适当的语句,使该程序完整。
main()
{ int i , j , k;
for(i=1;_____________; i++)
{bsp; {
for(__________; j<=i ; j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
}
2.设计一个自定义函数,实现如下功能:求两个数的平方和,并且返回该和。
自定义函数如下:
int max(x,y)
{
}
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:包括(姓名,性别,年龄,分数:根据合适情况选择各项类型)
struct student
{
}
4. 根据给出的程序段,请写出正确的结果
x=1 ; p=1 , sum=0 ;
for (x=1 ; x<=5 ; x++)
{ p=p*x;
sum=sum+p ; }
上面的程序段实现的功能是计算下面的式子_______________________________ ;
其运行结果为_________________________________________________________。
五、阅读程序,写出下列程序段的结果
1. int *p,i;
i=100;
p=&i;
i=*p+10; 执行完上面的语句段后, i的值是______
2. int A,B,C,m=1,n=0;
A=(--m=n++)?- -m:++n;
B=++m;
C=n--;
执行完上面的语句段后,A的值为______B的值为______C的值为______
3. main()
{ int c1=10,c2=10;
printf(“c1=%d,c2=%d \n c1=%d”,++c1,c2++,c1--);
}
该程序的运行结果是_______________________________________________。
4.main()
{ int i;
for(i=3;i<10;i++)
{ if(i%4==0)
continue;
else
printf(“%d,”,i);
} }
该程序输出的结果是 _______________________________________
5. main()
{ int x;
x=3;
do
{ printf(“%d”,x--);
}while(!x); }
该程序运行的结果是___________________________________________________________
六、编程题
1.编程实现:从键盘上接收10个整数,并对其进行排序(要求排成升序)。
2.编程实现求下面的式子的结果
3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去,同时将小写字母转换成大写字母。
参考答案
一、填空题
1.字母、数字、下划线
2. 12,6
3.该变量的地址
4.同一类型;不同类型
5. ++ % < = 6.注释
6.3, 1, 1, 6 1 2
二、选择题
⑴.B
⑵.C
⑶. C
⑷. C
⑸. A
⑹.D
⑺. A
⑻. D
⑼. D
⑽.B
三、判断题
1.对 2.不对 3.不对 4.不对 5.对
6.不对 7.不对 8.对 9.对 10.不对
四、程序填空题
1.i<=9 j=1 i , j , i*j “\n”
2 2 2.int max(x,y)
int x,y;sp; int x,y;
{ int z;
z=x*x+y*y;
return(z); }
3. struct student
{ char xm [10];
char sex;
int age;
float score; }
4. 1!+2!+3!+4!+5! 1+2+6+24+120=153
五、阅读程序,写出下列程序段的结果
1. 110
2. –1 0 1
3. c1=10 ,c2=10
c1=10
4.3,5,6,7,9
5. 3
六、编程题
1.main()
{ int a[10];
int m,n,t;
for (m=0;m<10;m++)
scanf(“%d”,&a[m]);
for(m=0;m<9;m++)
for(n=0;n<9;n++)
if(a[n]>a[n+1])
{ t=a[n]; a[n]=a[n+1]; a[n+1]=t;}
for (m=0;m<10;m++)
printf(“%d”,a[m]);
}
2.
main()
{ float x,y;
scanf(“%f”,&x);
if(x>6)
y=(x+2)/(3*x+1);
else
y=x*x+3*x+1;
printf(“%f”,y);
}
3.main()
{ FILE *fp1 , *fp2;
char ch;
fp1=fopen(“file1.dat”, “r”);
fp2=fopen(“file1.dat”, “w”);
ch=fgetc(fp1);
while(ch!=EOF)
{
if(ch>=’a’ && ch<=’z’)
ch=ch-32;
fputc(ch,fp2); fputc(ch,fp2);
ch=fgetc(fp1);
}bsp; }
fclose(fp1);
fclose(fp2);
}
编辑特别推荐:
2011年计算机等级二级C语言课后练习题及答案解析汇总
计算机等级考试二级C语言上机试题上汇总
计算机等级考试二级C语言上机模拟试题及答案