二级C语言笔试真题及答案Word文档格式.docx
- 文档编号:16831104
- 上传时间:2022-11-26
- 格式:DOCX
- 页数:13
- 大小:44.02KB
二级C语言笔试真题及答案Word文档格式.docx
《二级C语言笔试真题及答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试真题及答案Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
A)double a;
b;
B)double a=b=7;
C)double a=7,b=7;
D)double,a,b;
15.以下不能正确表示代数式2ab/cd的C语言表达式是
A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2 D)2*a*b/c*d
16.C源程序中不能表示的数制是
A)二进制 B)八进制 C)十进制 D)十六进制
17.若有表达式(w)?
(--x):
(++y),则其中与w等价的表达式是
A)w==1 B)w==0 C)w!
=1 D)w!
=0
18.执行以下程序段后,w的值为
int w='
A'
x=14,y=15;
w=((x||y)&
&
(w<
'
a'
));
A)-1 B)NULL C)1 D)0
19.若变量已正确定义为int型,要通过语句scanf("
%d,%d,%d"
&
a,&
b,&
c);
给a赋值1、
给b赋值2、给c赋值3,以下输入形式中错误的是(μ代表一个空格符)
A)μμμ1,2,3<
回车>
B)1μ2μ3<
C)1,μμμ2,μμμ3<
D)1,2,3<
20.有以下程序段
int a,b,c;
a=10;
b=50;
c=30;
if(a>
b) a=b,b=c;
c=a;
printf("
a=%d b=%d c=%d\n"
a,b,c);
程序的输出结果是
A)a=10 b=50 c=10 B)a=10 b=50 c=30
C)a=10 b=30 c=10 D)a=50 b=30 c=50
21.若有定义语句:
intm[]={5,4,3,2,1},i=4;
则下面对m数组元素的引用错误的是
A)m[--i] B)m[2*2] C)m[m[0]] D)m[m[i]]
22.下面的函数调用语句中func函数的实参个数是
func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));
A)3 B)4 C)5 D)8
23.若有定义语句:
double x[5]={1.0,2.0,3.0,4.0,5.0},*p=x;
则错误引用x数组元素的是
A)*p B)x[5] C)*(p+1) D)*x
A
B
C
D
24.
若有定义语句:
char s[10]="
1234567\0\0"
;
则strlen(s)的值是
A)7 B)8 C)9 D)10
25.以下叙述中错误的是
A)用户定义的函数中可以没有return语句
B)用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值
C)用户定义的函数中若没有return语句,则应当定义函数为void类型
D)函数的return语句中可以没有表达式
26.以下关于宏的叙述中正确的是
A)宏名必须用大写字母表示 B)宏定义必须位于源程序中所有语句之前
C)宏替换没有数据类型限制 D)宏调用比函数调用耗费时间
27.有以下程序
#include <
stdio.h>
main()
{ int i,j;
for(i=3;
i>
=1;
i--)
{ for(j=1;
j<
=2;
j++) printf("
%d"
i+j);
printf("
\n"
);
}
}
程序的运行结果是
A)2 3 4 B)4 3 2 C)2 3 D)4 5
3 4 5 5 4 3 3 4 3 4
4 5 2 3
28.有以下程序
{ int x=1,y=2,z=3;
if(x>
y)
if(y<
z) printf("
++z);
else printf("
++y);
printf("
%d\n"
x++);
A)331 B)41 C)2 D)1
29.有以下程序
{ int i=5;
do
{ if(i%3==1)
if(i%5==2)
{ printf("
*%d"
i);
break;
}
i++;
}while(i!
=0);
A)*7 B)*3*5 C)*5 D)*2*6
30.有以下程序
int fun(int a,int b)
{ if(b==0) return a;
else return(fun(--a,--b));
{ printf("
fun(4,2));
A)1 B)2 C)3 D)4
31.有以下程序
stdlib.h>
int fun(int n)
{ int *p;
p=(int*)malloc(sizeof(int));
*p=n;
return *p;
{ int a;
a=fun(10);
a+fun(10));
A)0 B)10 C)20 D)出错
32.有以下程序
void fun(int a,int b)
{ int t;
t=1;
a=b;
b=t;
{ int c[10]={1,2,3,4,5,6,7,8,9,0},i;
for(i=0;
i<
10;
i+=2) fun(c[i],c[i+1]);
i++) printf("
%d,"
c[i]);
A)1,2,3,4,5,6,7,8,9,0, B)2,1,4,3,6,5,8,7,0,9,
C)0,9,8,7,6,5,4,3,2,1, D)0,1,2,3,4,5,6,7,8,9,
33.有以下程序
struct st
{ int x,y;
} data[2]={1,10,2,20};
{ struct st *p=data;
Td,"
p->
y);
(++p)->
x);
A)10,1 B)20,1 C)10,2 D)20,2
34.有以下程序
void fun(int a[], int n)
{ int i,t;
n 2;
i++) {t=a[i];
a[i]=a[n-1-i];
a[n-1-i]=t;
{ int k[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(k,5);
for(i=2;
8;
i++) printf("
k[i]);
A)345678 B)876543 C)1098765 D)321678
35.有以下程序
#define N 4
void fun(int a[][N],int b[])
{ int i;
N;
i++) b[i]=a[i][i];
{ int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
fun(x,y);
y[i]);
A)1,2,3,4, B)1,0,7,0, C)1,4,5,9, D)3,4,8,10,
36.有以下程序
int fun(int (*s)[4],int n,int k)
{ int m,i;
m=s[0][k];
for(i=1;
n;
i++) if(s[i][k]>
m) m=s[i][k];
return m;
{ int a[4][4]={{1,2,3,4},{11,12,13,14},{21,22,23,24},{31,32,33,34}};
fun(a,4,0));
A)4 B)34 C)31 D)32
37. #include <
{ struct STU{ char name[9];
char sex;
double score[2];
};
struct STU a={"
Zhao"
'
m'
85.0,90.0},b={"
Qian"
f'
95.0,92.0};
b=a;
%s,%c,%2.0f,%2.0f\n"
b.name,b.sex,b.score[0],b.score[1]);
A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,f,95,92 D)Zhao,m,85,90
38.假定已建立一下链表结构,且指针p和q已指向如图所示的结点:
则以下选项中
可将q所指结点从链表中删除并释放该结点的语句组是
A)(*p).next=(*q).next;
free(p);
B)p=q->
next;
free(q);
C)p=q;
D)p->
next=q->
39.有以下程序
{ char a=4;
printf("
a=a<
<
1);
A)40 B)16 C)8 D)4
40.有以下程序
{ FILE *pf;
char *s1="
China"
*s2="
Beijing"
pf=fopen("
abc.dat"
"
wb+"
fwrite(s2,7,1,pf);
rewind(pf);
*文件位置指针回到文件开头*
fwrite(s1,5,1,pf);
fclose(pf);
以上程序执行后abc.dat文件的内容是
A)China B)Chinang C)ChinaBeijing D)BeijingChina
二、填空题(每空2分,共计30分)
1.对下列二叉树进行中序遍历的结果是【1】
2.按照软件测试的一般步骤,继承测试应在【2】测试之后进行。
3.软件工程三要素包括方法、工具和过程,其中,【3】支持软件开发的各个环节
的控制和管理。
4.数据库设计包括概念设计、【4】和物理设计。
5.在二维表中,元组的【5】不能再分成更小的数据项。
6.设变量a和b已正确定义并赋初值。
请写出a-=a+b等价的赋值表达式【6】
7.若整形变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:
a=7
b=9
请完成输出语句:
printf("
【7】"
a,b);
8.以下程序的输出结果是【8】
{ int i,j,sum;
{ sum=0;
for(j=1;
=i;
j++) sum+=i*j;
sum);
9.以下程序的输出结果是【9】
{ int j,a[]={1,3,5,7,9,11,13,15},*p=a+5;
for(j=3;
j;
j--)
{ switch(j)
{ case 1:
case 2:
*p++);
case 3:
*(--p));
}
10.以下程序的输出结果是【10】
#define N 5
int fun(int *s, int a, int n)
{ int j;
*s=a;
j=n;
while(a!
=s[j]) j--;
return j;
{ int s[N+1];
int k;
for(k=1;
k<
=N;
k++) s[k]=k+1;
fun(s,4,N));
11.以下程的输出结果是【11】。
int fun(int x)
{ static int t=0;
return (t+=x);
{ int s,i;
for(i=1;
=5;
i++) s=fun(i);
s);
12.以下程序按下面指定的数据给x数组的下三角置数,并按如下形式输出,请填空
4
3 7
2 6 9
1 5 8 10
{ int x[4][4]={0},n=0,i,j;
for (j=0;
4 ;
j++ )
for(i=3;
=j;
【12】) {n++;
x[i][j]=【13】;
}
for (i=0;
i++ )
{ for(j=0;
%5d"
x[i][j]);
printf("
}
13.上面第【13】空的答案是:
14.以下程序的功能是:
通过函数func输入字符,并统计输入字符的个数。
输入时用字符
@作为输入结束标志。
请填空。
long 【14】;
{ long n;
n=func();
n=%ld\n"
n);
long func()
{ long m;
for(m=0;
getchar()!
='
@'
【15】);
return m;
答案:
序号
正确答案
28
D
1
B
29
A
2
30
3
C
31
4
32
5
33
6
34
7
35
8
36
9
37
10
38
11
39
12
40
13
41
DBXEAYFZC
14
42
单元
15
43
过程
16
44
逻辑设计
17
45
分量
18
46
a=-b
19
47
a=%d\nb=%d\n
20
48
21
49
9911
22
50
23
51
24
52
i--
25
53
n
26
54
func()
27
55
m++
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 答案
![提示](https://static.bdocx.com/images/bang_tan.gif)