2011年全国计算机等级二级C语言模拟试题及答案(15)Word格式.doc
《2011年全国计算机等级二级C语言模拟试题及答案(15)Word格式.doc》由会员分享,可在线阅读,更多相关《2011年全国计算机等级二级C语言模拟试题及答案(15)Word格式.doc(8页珍藏版)》请在冰豆网上搜索。
A.
传值
B.
传址
C.
不分
11.
逻辑运算符“&
&
、||、
!
”中是短路运算符号是____________________
12.
C语言是由________________基本单位组成的。
A.过程
B.语句
C.函数
D.程序
13.有如下语句:
X+Y*Z>
39
X*Z||Y*Z是什么表达式__________
A.算术表达式
B.逻辑表达式
C.关系表达式
D.字符表达式
14.若进入TC集成环境后,运行(RUN)源程序系统提示包含文件(Include)或库文件(Lib)
无法定义时,应修改TC菜单中的哪一项中的哪个子菜单项?
A.File\Change
File\Directory
Option\Directories
D.TC系统出故障了,应重新安装TC环境。
15.下面几种说法中哪个是正确的?
_____________
else语句需与它前面的if语句配对使用;
else语句需与前面最接近它的if语句配对使用;
else语句需与前面最接近它的,且没有和其它else语句配对的if语句配对;
D.
以上都正确。
16.定义结构体的关键字是_______________
union
enum
C.struct
D.typedef
17.定义联合体的关键字是___________________
18.链表的首指针能根据程序的需要进行移动读取链表中的某项内容,即链表可以没有首指针吗?
A.当然可以
B.不可以
C.无所谓
D.最好不要移动首指针
19.定义一个数组a是一个具有3个元素的指针数组,它的定义语句格式是____
<
类型标识符>
(*a)[3]
*a[2]
*a[3]
D.以上写法都不对。
20.有说明语句:
char
a[
]=“this
is
a
book”。
请问该数组到底占了几个字节?
_____
A.11
B.12
C.14
D.15
21.设整型变量a为5,使b不为2的表达式是___________
b=a/2
b=6-(--a)
b=a%2
D.b=a>
3?
2:
1
22.设整型变量n的值为2,执行语句“n+=n-=n*n”后,n的值是_________
A.0
B.2
C.-4
4
23.设A,B均为整型变量,下列表达式中不是赋值表达式的是__________
A=b+3,b+5,--b
A=4*5;
A=++A-B
D.a=b=5
24.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为_________
3,
2
3,2,2
C.3,2,3
D.2,3,2
25.下列对数组操作不正确的语句是_________
int
a[5];
B.char
b[
]={‘h’,’e’,’l’,’l’,’o’};
]={2,3,4,5};
b[3
][
]={1,2,3,4,5,6};
26.设A为存放短整型的一维数组,如果A的首地址为P,那么A
中第I个元素的地址为_______________
P+I*2
P+(I-1)*2
P+(I-1)
P+I
27.如果X=5,执行语句X*=X+=X*3后,则X的值为__________
A.100
400
450
900
28.下列常量中哪个是不合法的_________________
A.2e32.6
0.2e-5
“basic”
0x4b00
29.下列标识符错误的是_______
x1y
B._123
2ab
_ab
30.
c语言中int型数-8在内存中的存储形式为_____
A.1111111111111000
1000000000001000
0000000000001000
1111111111110111
二、读程序
1.写出下列程序段的输出结果:
main()
{int
x=5;
y=10;
printf("
%d\n"
x++);
++y);
}
2.写出下列程序的输出结果:
x,y,z;
x=y=z=-1;
x=%d\ty=%d\tz=%d\n"
x,y,z);
++y&
++x||++z;
++x||y++&
z;
3.下面程序的输出结果是什么?
#include
"
stdio.h"
{
x=3;
switch(x)
case
1:
x<
3\n"
);
3:
x=3\n"
4:
5:
x>
default:
x
unknow\n"
}
4.标记出变量
p、q、
a、b、c、x、y和c1的作用范围和变量性质(局部、全局)
p=1,q=5;
float
f1(int
a)
b,c;
ch;
…
局部变量ch在此范围内有效
c1;
f2(int
x,int
y)
i,j;
5.根据源程序,写出相应的数学表达式
“stdio.h”
x,y;
scanf(“%d”,&
x);
if
(x<
0)
y=
-1;
else
(x=
=
0)
y=0;
y=1;
printf(“x=%d,y=%d\n”,x,y);
6.分析下列程序所完成的功能。
a,b,c,*pa=&
a,*pb=&
b,*pc=&
c,*p;
scanf("
%d,%d,%d"
pa,pb,pc);
(*pa>
*pb)
p=pa,pa=pb,pb=p;
*pc)
p=pa,pa=pc,pc=p;
(*pb>
p=pb,pb=pc,pc=p;
%d<
=%d<
=%d"
*pa,*pb,*pc);
三、
程序填空:
(根据题意,将空缺的语句补上。
)
1.该程序完成的功能是求1+2+3+…+10的累加和,并进行累加和的输出打印。
变量sum是存放累加值的。
________________
i=1,sum=0;
for(;
i<
=10;
{sum+=i;
_________
sum);
2.阅读函数,根据函数完成的主要功能,补充、完善主函数。
av(float
a[],int
n)
i;
s;
for
(i=0,s=0;
n;
i++)
s=s+a[i];
return
(s/n);
{float
a[10];
_______________
(i=0;
_________)
%f"
______);
av(a,10));
3.从键盘输入一些字符,逐个把它们送到磁盘文件TEXT.txt中,直到输入一个“$”为止。
请将空缺地方补充完善。
{FILE
*fp;
((fp=fopen("
test.txt"
"
w"
))==NULL)
{printf("
cannot
open
file\n"
;
;
while(ch!
=’$’)
fputc(ch,fp);
putchar(ch);
ch=getchar();
_______________________;
四、编程:
1.输入一单精度二维数组a[4][3],计算该二维数组中的最大元素的值及其所在位
置(行、列),并输出计算结果。
2.个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。
参考答案
一、
填空与选择
1.
编辑