计算机2级C语言笔试模拟题目Word文件下载.docx
《计算机2级C语言笔试模拟题目Word文件下载.docx》由会员分享,可在线阅读,更多相关《计算机2级C语言笔试模拟题目Word文件下载.docx(19页珍藏版)》请在冰豆网上搜索。
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
7.执行下面的程序段后,变量k中的值为(
intk=3,s[2];
s[0]=k;
k=s[1]*10;
A.不定值
B.33
C.30
D.10
【参考答案】A
8.串的长度是(
A.串中不同字符的个数
B.串中不同字母的个数
C.串中所含字符的个数且字符个数大于零
D.串中所含字符的个数
9.以下不属于对象的基本特点的是(
A.分类性
B.多态性
C.继承性
D.封装性
10.下面不属于软件设计原则的是(
A.抽象
B.模块化
C.自底向上
D.信息隐蔽
11下列SQL语句中,用于修改表结构的是(
A.ALTER
B.CREATE
C.UPDATE
D.INSERT
12.关系模型允许定义3类数据约束,下列不属于数据约束的是(
A.实体完整性约束 B.参照完整性约束
C.域完整性约束 D.用户自定义的完整性约束
13.非空的循环单链表head的尾结点(由p所指向),满足(
A.p->
next==NULL
B.p==NULL
C.p->
next=head
D.p=head
14.对建立良好的程序设计风格,下面描述正确的是(
A.程序应简单、清晰、可读性好
B.符号名的命名只要符合语法
C.充分考虑程序的执行效率
D.程序的注释可有可无
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函数返回当前文件位置指针的具体位置,从而确定文件长度,请填空。
F