全国计算机等级二级C语言模拟试题及答案8Word文档格式.docx
《全国计算机等级二级C语言模拟试题及答案8Word文档格式.docx》由会员分享,可在线阅读,更多相关《全国计算机等级二级C语言模拟试题及答案8Word文档格式.docx(7页珍藏版)》请在冰豆网上搜索。
5.下列表达式的结果正确的是(
int
a,b,c,d;
a=b=c=d=2;
d=a+1==3?
b=a+2:
a+3
A.2
B.4
C.3
D.5
二、填空题
1.在C语言中,正确的标识符是由______________________组成的,且由_______________开头的。
2.设x=3,那么表达式y=(++x)+(++x)的结果为_________,表达式执行后,变量x的结果为_________。
3.一个变量的指针是指_________________________________________________________________。
4.组成数组元素的特点是_______________________________________________;
组成结构体元素的特点是________________________________________________。
5.在C语言程序中,对文件进行操作首先要______________________________;
然后对文件进行操作,最后要对文件实行__________________________________操作,防止文件中信息的丢失。
6.对字符串进行操作的函数有_______________________________________________________等。
7.C语言程序是由___________________构成的,而C语言的函数是由____________________构成的。
8.要想定义整型变量a,实型变量b,字符型的变量c,应该使用的正确语句为______________________________________________________________________________________。
9.写出下面表达式的值
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
三、判断题
1.C语言的一个特点是可以对计算机硬件进行操作
(
)
2.在循环过程中,使用break语句和continue语句的作用是一样的
3.在函数的定义和调用过程中,形式参数和实在参数数目可以不一致
4.指针变量可以接收任何类型的值
5.在C语言程序设计中,字符数组和字符串不是完全一样的概念
6.文件指针是结构体类型,用符号file来表示
7.选择结构(if语句)和循环结构都可以使用嵌套形式
8.在定义二维数组时,可以将该数组的两个维数全部省略
9.逻辑运算符
||
!
的运算顺序是
优先于&
优先于||
10.任何数组都可以实现整体使用操作
四、程序填空题
1.下面是实现打印九九乘法表的程序,请在画线的位置填上适当的语句,使程序(段)完整。
main()
{
i,j,k;
for(i=1;
_____________;
i++)
for(j=1;
______________;
j++)
printf(“%d*%d=%d”,_______________);
printf(________________);
}
2.自己设计一个自定义函数,实现求两个数的最大数的功能,自定义函数如下:
max(x,y)
x,y;
{
3.设有如下面的结构体,请用C语言的语句定义出正确的结构体形式:
学生信息:
包括(姓名,性别,年龄,分数),并且定义变量stud和数组stud1[30]
struct
student
4.根据给出的程序段,请写出正确的结果
x=1;
sum=1;
for(x=1;
x<
=5;
x++)
sum=sum*x;
上面的程序段实现的功能是:
______________________________________________________;
其运行结果为______________________________________________________________________。
5.设有如下的语句。
a=43,b,c;
b=23;
c=a++*--b;
(1)上面的语句段执行后a=
b=
c=
;
(2)简述a++和++a的相同点和不同点:
6.设有如下的程序:
main()
{inti=3,*p1;
inta[3]={15,30,45},*p2;
p1=&
i;
p2=a;
p1=p2+2;
printf(“%d,%d\n”,*p1,*p2);
程序运行结果是:
_______。
五、编程题(25分)
1.编程实现对10个整数进行冒泡排序(要求排成升序)。
2.编程实现求下面的式子的结果
3.编程实现将文本文件file1.dat中的内容复制到文本文件file2.dat中去
六、附加题
用C语言程序实现在已知链表中的第三个位置插入数值为a的程序
参考答案
1.D
2.
C
3.A
4.
5.
B
1.字母、数字、下划线;
以字母、下划线开头。
2.10;
5。
3.该变量的地址。
4.一组数据类型相同的元素构成的;
一组数据类型不同的元素构成的。
5.
打开;
关闭。
6.字符串长度、取子字符串、字符串替换、字符串复制等。
7.函数;
语句。
8.inta;
floatb;
charc;
9
9
9.3
6
2
三、判断题
1.对
错
3.错
4.错
5.对
6.错
7.对
8.错
9.对
10.错
四、程序填空题
1.
i<
=9
j<
=9
printf(“%d*%d=%d”,i,j,i*j);
printf(“\n”);
i,j,k;
2.
intz;
if(x>
=y)
z=x;
else
z=y;
return
z;
3.
char
name[20];
sex;
int
age;
float
score;
4.实现功能:
计算连续数之积,
即sum=1*2*3*4*5
;
运行结果:
sum=120
5.44
22
946
a++:
先加1,后使用表达式的值;
++a表示先加1,后使用表达式的值,它们最后的结果使a加1。
6.45,15
五、编程题
1.编程实现对12个整数进行冒泡排序(要求排成升序)。
Main()
{
a[12];
m,n,p;
for(m=0;
m<
=11;
m++)(m=0;
m++)
scanf(“%d”,&
a[m]);
for(n=0;
n<
11-m;
n++)
if(a[n]>
a[n+1])
p=a[n];
a[n]=a[n+1];
a[n+1]=p;
}
printf(“%d”,a[m]);
2.编程实现求下面的式子的结果
#include“math.h”
main()
floatx,y;
scanf(“%f”&
x);
6)
y=(x-3)/(2*x-12);
y=-2*x*x+4*x-10;
printf(“y=%f”,y);
charch;
FILE*fp1,*fp2;
Fp1=fopen(“file1.dat”,“r”);
Fp2=fopen(“file2.dat”,“w”);
Ch=fgetc(fp1);
While(ch!
=EOF)
fputc(ch,fp2);
Fclose(fp1);
Fclose(fp2);
p=H;
K=0;
While(p!
=NULL&
k<
i-1)
p=p->
next;
k++;
if(p==NULL
&
H!
=NULL)
printf(“thisisinvilid”);
else
q=(StructLinklist*)malloc(sizeof(StructLinklist));
q->
data=x;
next=p->
next;
p->
next=q;