二级C语言笔试429真题无答案.docx
- 文档编号:14583476
- 上传时间:2023-06-24
- 格式:DOCX
- 页数:14
- 大小:28.63KB
二级C语言笔试429真题无答案.docx
《二级C语言笔试429真题无答案.docx》由会员分享,可在线阅读,更多相关《二级C语言笔试429真题无答案.docx(14页珍藏版)》请在冰点文库上搜索。
二级C语言笔试429真题无答案
二级C语言笔试-429
(总分94,考试时间90分钟)
一、选择题
1.下列叙述中正确的是( )。
A)一个逻辑数据结构只能有一种存储结构
B)逻辑结构属于线性结构,存储结构属于非线性结构
C)一个逻辑数据结构可以有多种存储结构,且各种存储结构不影响数据处理的效率
D)一个逻辑数据结构可以有多种存储结构,且各种存储结构影响数据处理的效率
2.算法的时间复杂度是指( )。
A.算法的执行时间 B.算法所处理的数据量
C.算法程序中的语句或指令条数 D.算法在执行过程中所需要的基本运算次数
3.在长度为n的有序线性表中进行二分查找,最坏情况下需要比较的次数是
A)O(n) B)O(n2) C)O(log2n) D)O(nlog2n)
4.对长度为n的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。
A)125 B)n/2 C)n D)n+1
5.下面关于数据库三级模式结构的叙述中,正确的是( )。
A)内模式可以有多个,外模式和模式只有一个
B)外模式可以有多个,内模式和模式只有一个
C)内模式只有一个,模式和外模式可以有多个
D)模式只有一个,外模式和内模式可以有多个
6.对建立良好的程序设计风格,下列描述中正确的是( )。
A)程序应该简单、清晰、可读性好 B)符号名的命名只需要符合语法
C)充分考虑程序的执行效率 D)程序的注释可有可无
7.下列叙述中正确的是( )。
A)软件交付使用后还需要进行维护 B)软件一旦交付使用就不需要再进行维护
C)软件交付使用后其生命周期就结束 D)软件维护是指修复程序中被破坏的指令
8.数据库设计的四个阶段是:
需求分析,概念设计,逻辑设计和______。
(A)编码设计
(B)测试阶段
(C)运行阶段
(D)物理设计
9.在E-R图中,用来表示实体的图形是______。
A)矩形 B)椭网形
C)菱形 D)三角形
10.有三个关系R、S利T如下:
则由关系R和S得到关系T的操作是( )。
A)自然连接 B)差 C)交 D)并
11.下列叙述中正确的是________。
(A)为了建立一个关系,首先要构造数据的逻辑关系
(B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项
(C)一个关系的属性名表称为关系模式
(D)一个关系可以包括多个二维表
12.下列不正确的转义字符是( )。
A)'\\' B)'\t' C)'\n' D)'088'
13.C语言中最简单的数据类型包括
A)整型、实型、逻辑型 B)整型、实型、字符型
C)整型、字符型、逻辑型 D)字符型、实型、逻辑型
14.以下叙述中错误的是______。
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
15.有以下程序:
main()
intx=3,y=2,z=1;
printf("%d\n",x/y&~z);
程序运行后的输出结果是______。
A)3 B)2 C)-1 D)0
16.若变量均已正确定义并赋值,以下合法的C语言赋值语句是
A)x=y==5; B)x=n%2.5; C)x+n=i; D)x=5=4+1;
17.能正确表示逻辑关系“a≥10或a≤0”的C语言表达式是
A)a>=10ora<=0 B)a>=0|a<=10 C)a>=10&&a<=0 D)a>=10‖a<=0
18.以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是
A)switch(a)
case1:
a=b;break;
default:
a++;
B)switch(a==1)
case0:
a=b;break;
case1:
a++;
C)switch(a)
default:
a++;break;
case1:
a=b;
D)switch(a==1)
case1:
a=b;break;
case0:
a++;
19.有下列程序:
fun(intx,inty)return(x+y);
main()
inta=1,b=2,c=3,sum;
sum=fun((a++,b++,a+b),c++);
printf("%d\n",sum);
执行后的输出结果是( )。
A)6 B)7
C)8 D)9
20.已知下面的程序段,正确的判断是______。
#defineA3
#defineB(A)((A+1)*A)
……
inta=3;
X=3*(A+B(7));
A)程序错误,不允许嵌套定义 B)X=93
C)X=81 D)程序错误,宏定义不允许有参数
21.若执行下列程序时从键盘上输入2,则输出结果是( )。
#include<stdio.h>
main()
inta;
scanf("%d",&a);
if(a++<3)
printf("%d\n",a);
elseprintf("%d\n",va--);
A)1 B)3 C)2 D)4
22.若变量已正确定义,下列正确的程序段是( )。
A)while(ch=getchar()=='\N')putchar(ch);
B)while((ch=getchar())=='\n')putchar(ch);
C)while((ch=getchar())!
='\N')putchar(ch);
D)while((ch=getchar())!
='\n')putchar(ch);
23.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是______。
A)地址传递
B)单向值传递
C)由实参传递给形参,再由形参传递给实参
D)传递方式由用户指定
24.下面程序段的运行结果是
char*s="abcde";
s+=2;printf("%d",s);
A)cde B)字符'c' C)字符'c'的地址 D)无确定的输出结果
25.以下关于return语句的叙述中正确的是( )。
A.一个自定义函数中必须有一条return语句
B.一个自定义函数中可以根据不同情况设置多条return语句
C.定义成void类型的函数中可以有带返回值的return语句
D.没有return语句的自定义函数在执行结束时不能返回到调用处
26.以下关于return语句的叙述中正确的是
A)一个自定义函数中必须有一条return语句
B)一个自定义函数中可以根据不同情况设置多条return语句
C)定义成void类型的函数中可以有带返回值的return语句
D)没有return语句的自定义函数在执行结束时不能返同到调用处
27.下列选项中,能正确定义数组的语句是
A)intnum[0..2008]; B)intnum[];
C)intN=2008; D)#defineN2008
intnum[N]; intnum[N];
28.有定义语句:
chars[10];,若要从终端给s输入5个字符,错误的输入语句是
A)gets(&s[0]); B)scanf("%s",s+1);
C)gets(s); D)scanf("%s",s[1]);
29.在C语言程序中,下列说法正确的是( )。
A)函数的定义和函数的调用均可以嵌套
B)函数的定义不可以嵌套,但函数的调用可以嵌套
C)函数的定义可以嵌套,但函数的调用不可以嵌套
D)函数的定义和函数的调用均不可以嵌套
30.以下程序运行后的输出结果是
#include<stdio.h>
main( )
intx=1,y=2,z=3;
it(x>y)
if(y<z)printf("%d",++z);
elseprintf("%d",++y);
printf("%d\n",x++);
A)331 B)41 C)2 D)1
31.若希望下列的程序运行后输出25,程序空白处的正确选项是( )。
main()
inti,j=50,a[]=7,4,10,5,8;
for( )
j+=a[i];
printf("%d",j-40);
A)i=1;i<4;++i B)i=1;i<3;++i C)i=4;i>2;i-- D)i=2;i<4;++i
32.若有定义inta[10],*p=a,则p+6表示( )。
A)数组元素a[5]的值 B)数组元素a[5]的地址
C)数组元素a[6]的地址 D)数组元素a[0]的值加上5
33.下列说法正确的是( )。
A)在C语言中,可以使用动态内存分配技术,定义元素个数可变的数组
B)在C语言中,数组元素的个数可以不确定,允许随机变动
C)在C语言中,数组元素的数据类型可以不一致
D)在C语言中,定义了一个数组后,就确定了它所容纳的元素的个数
34.有下列程序:
#include<stdio.h>
structst
int(x,y)date[2]=1,10,2,20;
main()
structst*p=date;
printf("%d,",p->y);printf("%d\n",(++p)->x);
程序的运行结果是( )。
A.10,1 B.20,1 C.10,2 D.20,2
35.下列语句中,在字符串s1和s2相等时显示"theyareEqual"的是( )。
A)if(*s1==*s2)
puts("theyareEqual");
B)if(!
strcmp(s1,s2))
puts("theyareEqual");
C)if(s1==s2)
Puts("theyareEqual");
D)if(strcmp(s1,s2))
puts("theyareEqual");
36.以下程序运行后的输出结果是
#include<stdio.h>
#defineSUB(a)(a)-(a)
main()
inta=2,b=3,c=5,d;
d=SUB(a+b)*e;
printf("%d\n",d);
A)0 B)-12 C)-20 D)10
37.有以下程序:
#definef(x)(x*x)
main()
inti1,i2;
i1=f(8)/f(4);i2=f(4+4)/f(2+2);
printf("%d,%d\n",i1,i2);
程序运行后的输出结果是______。
A)64,28 B)4,4
C)4,3 D)64,64
38.在C语言中,只有在使用时才占用内存单元的变量,其存储类型是
A)auto和register B)extern和register C)auto和static D)static和register
39.有以下程序
structSintn;inta[20];;
voidf(int*a,intn)
inti;
for(i=0;i<N-1;i++) A[I]+=I;
main()
inti;structSs10,2,3,1,6,8,7,5,4,10,9;
f(s.a,s.n);
for(i=0;i<S.N;i++) PRINTF("%D",S.A[I]);
程序运行后的输出结果是______。
(A)2,4,3,9,12,12,11,11,18,9,
(B)3,4,2,7,9,8,6,5,11,10,
(C)2,3,1,6,8,7,5,4,10,9,
(D)1,2,3,6,8,7,5,4,10,9,
40.若有结构体定义:
structstuintnum;
charsex;
intage;
a1,a2;
则下列语句中错误的是( )。
A)printf("%d,%c,%d",a1); B)a2.age=a1.age;
C)a1.age++; D)a1.num=5;
二、填空题
41.数据的独立性分为逻辑独立性与物理独立性。
当数据的存储结构改变时,其逻辑结构可以不变,因此,基于逻辑结构的应用程序不必修改,这称为______。
42.软件工程研究的内容主要包括:
软件开发技术和______。
43.诊断和改正程序中错误的工作通常称为______。
44.语句“x++;++x;x=1+x;”执行后都使变量x中的值增1,请写出一条同一功能的赋值语句______。
45.软件工程研究的内容主要包括:
______技术和软件工程管理。
46.以下程序运行后的输出结果是 。
#include<stdio.h>
main()
inta=200,b=010;
printf("%d%d\\n",a,b);
47.有以下程序:
#include <stdio.h>
main()
intt=1,i=5;
for(;i>=0;i--)t*=i;
printf("%d\\n",t);
执行后的输出结果是 。
48.下列程序的功能:
对输入的一行字符中的数字字符的字面值累加,输出此累加和,请填空。
#include<stdio.h>
#include<ctype.h>
main()
charc;
inta,s=0;
while(______)
if(isdigit(c))
a=c-'0';s+=a;
printf("s=%d",s);
49.下列程序段的运行结果是______。
intx=0,y=0;
while(x<15)y++,x+=++y;
printf("%d,%d",y,x);
50.将以下程序段写成三目运算表达式:
。
if(a>b) max=a;
elsemax=b;
51.请将以下程序中的函数声明语句补充完整。
#include<stdio.h>
int______;
main()
intx,y,(*P)();
scanf("%d%d",&x,&y);
p=max;
printf("%d\n",(*P)(x,y));
intmax(inta,intb)
return(a>b?
a:
b);
52.以下程序的功能是:
借助指针变量找出数组元素中最大值所在的位置并输出该最大值。
请在输出语句中填写代表最大值的输出项。
#include<stdio.h>
main()
inta[10],*p,*s;
for(p=a;p-a<10;p++)scanf("%d",p);
for(p=a,s=a;p-a<10;p++)if(*p>*s)s=p;
printf("max=%d\n",______);
53.在宏定义#defineP13.14159中,用宏名PI代替一个______。
54.以下程序的功能是:
借助指针变量找出数组元素中的最大值及其元素的下标值。
请填空。
#include<stdio.h>
main()
inta[10],*p,*s;
for(p=a;P-a<10;p++)scanf("%d",p);
for(p=a,s=a;p-a<10;p++)if(*p>*s)s=______;
printf("index=%d\n",s-a);
55.在E-R图中,图形包括矩形框、菱形框、椭圆框,其中表示实体联系的是______框。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 二级 语言 笔试 429 真题无 答案