计算机等考二级C语言模拟试题一Word格式.docx
《计算机等考二级C语言模拟试题一Word格式.docx》由会员分享,可在线阅读,更多相关《计算机等考二级C语言模拟试题一Word格式.docx(27页珍藏版)》请在冰点文库上搜索。
B.空格
C.未知的值或无任何值
D.空字符串
10.下列说法中,不属于数据模型所描述的内容的是(
A.数据结构
B.数据操作
C.数据查询
D.数据约束
11.在C语言中,退格符是(
A.\n B.\t C.\f D.\b
12.若已定义:
inta=25,b=14,c=19;
以下三目运算符(?
:
)所构成语句的执行后
a<
=25&
&
b--<
=2&
c?
printf(″***a=%d,b=%d,c=%d\n″,a,b,c):
printf(″###a=%d,b=%d,c=%d\n″,a,b,c);
程序输出的结果是(
A.***a=25,b=13,c=19
B.***a=26,b=14,c=19
C.###a=25,b=13,c=19
D.###a=26,b=14,c=19
13.若运行以下程序时,从键盘输入ADescriptor<
CR>
(<
表示回车),则下面程序的运行结果是(
#include<
stdio.h>
main()
{charc;
intv0=1,v1=0,v2=0;
do{switch(c=getchar())
{case′a′:
case′A′:
case′e′:
case′E′:
case′i′:
case′I′:
case′o′:
case′O′:
case′u′:
case′U′:
v1+=1;
default:
v0+=1;
v2+=1;
}
}while(c!
=′\n′);
printf(″v0=%d,v1=%d,v2=%d\n″,v0,v1,v2);
A.v0=7,v1=4,v2=7 B.v0=8,v1=4,v2=8
C.v0=11,v1=4,v2=11
D.v0=13,v1=4,v2=12
14.执行下面的程序段后,变量k中的值为(
intk=3,s[2];
s[0]=k;
k=s[1]*10;
A.不定值
B.33
C.30
D.10
15.有如下程序段
inta=14,b=15,x;
charc=′A′;
x=(a&
b)&
(c<
′B′);
执行该程序段后,x的值为(
A.ture B.false C.0 D.1
16.以下函数返回a所指数组中最大值所在的下标值
fun(int*a,intn)
{inti,j=0,p;
p=j;
for(i=j;
i<
n;
i++)
if(a[i]>
a[p])_______
return(p);
在下划线处应填入的内容是(
A.i=p B.a[p]=a[i] C.p=j D.p=i
17.有如下程序
{chars[]=″ABCD″,*p;
for(p=s+1;
p<
s+4;
p++)printf(″%s\n″,p);
该程序的输出结果是(
A.ABCD
B.A
BCD
B
CD
C
D
D
C.B
D.BCD
C
CD
18.以下正确的说法是(
A.定义函数时,形参的类型说明可以放在函数体内
B.return后边的值不能为表达式
C.如果函数值的类型与返回值类型不一致,以函数值类型为准
D.如果形参与实参类型不一致,以实参类型为准
【参考答案】B
19.结构化程序设计的三种基本逻辑结构是(
A.选择结构、循环结构和嵌套结构
B.顺序结构、选择结构和循环结构
C.选择结构、循环结构和模块结构
D.顺序结构、递归结构和循环结构
20.设有如下定义
strucksk
{inta;
floatb;
}data;
int*p;
若要使p指向data中的a域,正确的赋值语句是(
A.p=8a;
B.p=data.a;
C.p=&
data.a;
D.*p=data.a;
21.在下述程序中,判断i>
j共执行的次数是(
{inti=0,j=10,k=2,s=0;
for(;
;
)
{i+=k;
if(i>
j)
{printf(″%d″,s);
break;
}s+=i;
A.4 B.7 C.5 D.6
22.以下程序的输出是(
structst
{intx;
int*y;
}*p;
intdt[4]={10,20,30,40};
structstaa[4]={50,&
dt[0],60,&
dt[0]};
{p=aa
printf(″%d\n″,++(p->
x));
A.10 B.11 C.51 D.60
23.下列数据中,不合法的C语言实型数据的是(
A.0.123 B.123e3 C.2.1e3.5 D.789.0
24.设变量a是int型,f是float型,i是double型,则表达式10+′a′+i*f值的数据类型为(
A.int B.float C.double D.不确定
25.设以下变量均为int类型,表达式的值不为7的是(
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+1,x=y,x+1)
26.若变量a是int型,并执行语句:
a=′A′+1.6;
,则正确的叙述是(
A.a的值是字符C
B.a的值是浮点型
C.不允许字符型和浮点型相加
D.a的值是字符′A′的ASCII值加上1
27.有如下程序
{
intx=23;
do
{printf(″%d″,x--);
}while(!
x);
该程序的执行结果是(
A.321 B.23 C.不输出任何内容 D.陷入死循环
28.若变量c为char类型,能正确判断出c为小写字母的表达式是(
A.′a′<
=c<
=′z′
B.(c>
=′a′)||(c<
=′z′)
C.(′a′<
=c)and(′z′>
=c)
D.(c>
=′a′)&
29.下面程序段的运行结果是(
charstr[]=″ABC″,*p=str;
printf(″%d\n″,*(p+3));
A.67
B.0
C.字符′C′的地址
D.字符′C′
30.有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)(
inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
A.a[p-a]
B.*(&
a[i])
C.p[i]
D.*(*(a+i))
31.有以下程序
fun(intx,inty,intz)
{z=x*y;
}
inta=4,b=2,c=6;
fun(a,b,c);
printf(″%d″,c);
程序运行后的输出结果是(
A.16 B.6 C.8 D.12
32.以下叙述中不正确的是(
A.预处理命令都必须以#号开始
B.在程序中凡是以#号开始的语句行都是预处理命令行
C.宏替换不占用运行时间,只占编译时间
D.在以下定义是正确的:
#definePI3.1415926
33.下面程序段的运行结果是(
char*p=″abcdefgh″;
p+=3;
printf(″%d\n″,strlen(strcpy(P,″ABCD″)));
A.8 B.12 C.4 D.7
34.已知函数的调用形式:
fread(buf,size,count,fp),参数buf的含义是(
A.一个整型变量,代表要读入的数据项总数
B.一个文件指针,指向要读的文件
C.一个指针,指向要读入数据的存放地址
D.一个存储区,存放要读的数据项
35.C语言规定,在一个源程序中,main函数的位置(
A.必须在最开始 B.必须在系统调用的库函数的后面
C.可以任意 D.必须在最后
36.以下叙述中正确的是(
A.C语言比其他语言高级
B.C语言可以不用编译就能被计算机识别执行
C.C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D.C语言出现的最晚,具有其他语言的一切优点
37.C语言中最简单的数据类型包括(
A.整型、实型、逻辑型
B.整型、实型、字符型
C.整型、字符型、逻辑型
D.字符型、实型、逻辑型
38.下列可用于C语言用户标识符的一组是(
A.voiddefineWORD
B.a3_b3_123Car
C.ForabcIFCase
D.2aDOsizeof
39.已知
intt=0;
while(t=1)
{…}
则以下叙述正确的是(
A.循环控制表达式的值为0
B.循环控制表达式的值为1
C.循环控制表达式不合法
D.以上说法都不对
40.有以下程序
{inti=1,j=1,k=2;
if((j++||k++)&
printf(″%d,%d,%d\n″,i,j,k);
执行后输出结果是(
A.1,1,2
B.2,2,1
C.2,2,2
D.2,2,3
41.在下列选项中,没有构成死循环的是(
A.inti=100;
while
(1)
{i=i%100+1;
if(i>
100)break;
B.for(;
);
C.intk=1000;
do{k++;
}while(k>
10000);
D.ints=36;
while(s)--s;
42.有以下程序
floatfun(intx,inty)
{return(x+y);
{inta=2,b=5,c=8;
printf(″%3.0f\n″,fun((int)fun(a+c,b),a-c));
A.编译出错 B.9 C.21 D.9.0
43.设有以下说明语句
structstu
}stutype;
则下面的叙述不正确的是(
A.struct是结构体类型的关键字
B.structstu是用户定义的结构体类型
C.stutype是用户定义的结构体类型名
D.a和b都是结构体成员名
44.以下说法正确的是(
A.C语言程序总是从第一个函数开始执行
B.在C语言程序中,要调用函数必须在main()函数中定义
C.C语言程序总是从main()函数开始执行
D.C语言程序中的main()函数必须放在程序的开始部分
45.下列程序执行后的输出结果是(
voidfunc(int*a,intb[])
{b[0]=*a+6;
}
{inta,b[5]={0};
a=0;
b[0]=3;
func(&
a,b);
printf(″%d\n″,b[0]);
A.6 B.7 C.8 D.9
46.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序
voidsort(inta[],intn)
{inti,j,t;
for(i=0;
n-1;
for(j=i+1;
j<
j++)
if(a[i]<
a[j]){t=a[i];
a[i]=a[j];
a[j]=t;
{intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&
aa[3],5);
10;
i++)printf(″%d″,aa[i]);
printf(″\n″);
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,2,3,8,7,6,5,4,9,10,
D.1,2,10,9,8,7,6,5,4,3,
47.若执行下述程序时,若从键盘输入6和8时,结果为(
{inta,b,s;
scanf(″%d%d″,&
a,&
b);
s=a
if(a<
b)
s=b;
s*=s;
printf(″%d″,s);
A.36 B.64 C.48 D.以上都不对
48.有以下程序
voidss(char*s,chart)
{while(*s)
{if(*s==t)*s=t-′a′+′A′
s++;
}
{charstrl[100]=″abcddfefdbd″,c=′d′;
ss(strl,c);
printf(″%s\n″,strl);
A.ABCDDEFEDBD
B.abcDDfefDbD
C.abcAAfefAbA
D.Abcddfefdbd
49.请选出可用作C语言用户标识符的是(
A.void,define,WORD
B.a3_b3,_123,IF
C.FOR,--abc,Case
D.2a,Do,Sizeof
50.下面程序的功能是把316表示为两个加数的和,使两个加数分别能被13和11整除,在划线处应填入的选项是(
{inti=0,j,k;
do{i++;
k=316-13*i;
}while(______);
j=k/11;
printf(″316=13*%d+11*%d″,i,j);
A.k/11
B.k%11
C.k/11==0
D.k%11==0
二.填空题
1.用树结构表示实体类型及实体间联系的数据模型称为____【1】____。
【参考答案】
【1】层次模型
2.数据流图的类型有____【2】____和事务型。
【2】变换型
3.冒泡排序算法在最好的情况下的元素交换次数为____【3】____。
【3】0
4.若串s="
MathTypes"
,则其子串的数目是____【4】____。
【4】46
5.关系数据库的关系演算语言是以____【5】____为基础的DML语言。
【5】谓词演算
6.以下程序的功能是从键盘输入若干学生的成绩,并输出最高成绩和最低成绩,当输入负数时结束。
请填空。
main()
{floatx,amax,amin;
scanf(″%f″,&
amax=x;
amin=x;
while(____【6】____)
{if(x>
amax)
else
if____【7】____
elsescanf(″%f″,&
printf(″\namax=%f\namin=%f\n″,amax,amin);
【6】x>
0
【7】x<
amin
7.下列程序的功能是输入一个整数,判断是否是素数,若为素数输出1,否则输出0,请填空。
{
inti,x,y=1;
scanf(″%d″,&
for(i=2;
=x/2;
if____【8】____{y=0;
break;
printf(″%d\n″,y);
【8】(x%i==0)
8.以下程序可把输入的十进制数以十六进制数的形式输出,请填空。
charb[17]={″0123456789ABCDEF″};
intc[64],d,i=0,base=16;
longn;
printf(″Enteranumber:
\n″);
scanf(″%1d″,&
n);
do{c[i]=____【9】____;
i++;
n=n/base;
while(n!
=0);
printf(″Transmitenewbase:
for(--i;
i>
=0;
--i)
{d=c[i];
printf(″%c″,b____【10】____);
printf(″\n″);
【9】n%base
【10】[d]
9.以下程序段的输出结果是____【11】____
main
inta=2,b=3,c=4;
a*=16+(b++)-(++c);
printf(″%d″,a);
【11】28
10.设i,j,k均为int型变量,则执行完下面的for语句后,k的值为____【12】____。
for(i=0,j=10;
=j;
i++,j--)k=i+j;
【12】10
11.以下程序的输出结果是____【13】____。
voidfun()
staticinta=0;
a+=2;
printf(″%d″,a);
intcc;
for(cc=1;
cc<
4;
cc++)fun();
【13】246
12.用以下语句调用库函数malloc,使字符指针st指向具有11个字节的动态存储空间,请填空。
st=(char*)____【14】____。
【14】malloc(11)或malloc(sizeof(char)*11)
13.以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。