广西科技大学C语言模拟试题.docx

上传人:b****3 文档编号:26567529 上传时间:2023-06-20 格式:DOCX 页数:32 大小:33.91KB
下载 相关 举报
广西科技大学C语言模拟试题.docx_第1页
第1页 / 共32页
广西科技大学C语言模拟试题.docx_第2页
第2页 / 共32页
广西科技大学C语言模拟试题.docx_第3页
第3页 / 共32页
广西科技大学C语言模拟试题.docx_第4页
第4页 / 共32页
广西科技大学C语言模拟试题.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

广西科技大学C语言模拟试题.docx

《广西科技大学C语言模拟试题.docx》由会员分享,可在线阅读,更多相关《广西科技大学C语言模拟试题.docx(32页珍藏版)》请在冰豆网上搜索。

广西科技大学C语言模拟试题.docx

广西科技大学C语言模拟试题

广西工学院—学年第学期课程考核试题

考核课程《C语言程序设计》(卷)考核班级

学生数印数考核方式闭卷考核时间120分钟

一、选择题(每小题2分,共70分)

下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)数据的逻辑结构可以分为()。

A)静态结构和动态结构B)物理结构和存储结构

C)线性结构和非线性结构D)紧凑结构和松散结构

(2)对线性表,采用顺序存储的优点是()。

A)便于随机存取B)便于进行插入和删除操作

C)需要的存储空间不必连续D)方便线性表的扩充

(3)设具有n个结点的完全二叉树的第1层为根结点,若一个结点i满足2i>n,则该结点没有()。

A)左子结点B)右子结点

C)左子结点和右子结点D)左子结点、右子结点和兄弟结点

(4)快速排序算法的平均时间复杂度为()。

A)O(n)B)O(n2)C)O(nlog2n)D)O(log2n!

(5)在面向对象的程序设计方法中,描述对象静态和动态特征的三要素是()。

A)封装、继承和重载B)属性、事件和方法

C)数据、代码和接口D)内聚、耦合和驱动

(6)软件测试的目的是()。

A)证明软件的正确性B)找出软件系统中存在的所有错误

C)证明软件系统中存在错误D)尽可能多地发现软件系统中的错误

(7)软件开发范型的作用是()。

A)为了控制软件需求的易变性B)作为一种软件工程方法学

C)作为一种项目管理方法D)作为需求分析的指导

(8)在数据库三级模式结构中,描述数据库中全体数据的全局逻辑结构和特征的是()。

A)外模式B)内模式C)存储模式D)模式

(9)在数据库技术中,面向对象数据模型是一种()。

A)概念模型B)结构模型C)物理模型D)逻辑模型

(10)数据库(DB)、数据库系统(DBS)、数据库管理系统(DBMS)三者之间的关系是()。

A)DBS包括DB和DBMSB)DBMS包括DB和DBS

C)DB包括DBS和DBMSD)DBS就是DB,也就是DBMS

(11)阅读以下程序

main()

{intx;

scanf(”%d”,&x);

if(x--<5)printf(”%d\n”,x);

elseprinff(”%d\n”,x++);}

程序运行后,如果从键盘上输入5,则输出结果是()。

A)3B)4C)5D)6

(12)假定W,X,Y,z和m均为int型变量,有如下程序段:

w=1;x=2;y=3;z:

4;

m=(w

w:

x;m=(m

m:

y;m=(m

m:

z;

则该程序段执行后,m的值为()。

A)4B)3C)2D)1

(13)t为int型变量,进入下面的循环之前,t的值为0。

while(t-1)

{……}

则以下叙述中正确的是()。

A)循环控制表达式的值为0B)循环控制表达式的值为1

C)循环控制表达式不合法D)以上说法都不对

(14)以下程序的输出结果是()。

main()

{intnum=0;

while(num<=2)

{num++;printf(”%d\n”,num);}}

A)1B)1C)1D)l

222

33

4

(15)以下各选项企图说明一种新的类型名,其中正确的是()。

A)typedefvlint;B)typedefv2=int;

C)typedefintv3;D)typedefv4:

int;

(16)在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。

A)地址传递B)单向值传递

C)由实参传给形参,再由形参传给实参D)传递方式由用户指定

(17)以下函数值的类型是()

fun(floatx)

{floaty;

y=3*x-4:

returny;}

A)intB)不确定C)voidD)float

(18)设有以下函数:

f(inta)

{intb=0;

staticintc=3;

b++;c++;

return(a+b+c);}

如果在下面的程序中调用该函数,则输出结果是()。

main()

{inta=2,i;

for(i=0;i<3;i++)

printf("%d\n",f(a));}

A)7B)7C)7D)7

89107

911137

(19)以下程序的输出结果是()。

main()

{charc='Z';

printf("%c",c-25);}

A)aB)ZC)z-25D)Y

(20)以下选项中,非法的字符常量是()。

A)'\t'B)'\17'C)"\n"D)'\xaa'

(21)若有说明inti,j=2,*p=&i;,则能完成i=j赋值功能的语句是()。

A)i=*p;B)*p=*&j;C)i=&j;D)i=**p;

(22)以下定义语句中,错误的是()。

A)inta[]={1,2};B)char*a[3];C)chars[10]="test";D)intn=5,a[n];

(23)假设int型变量占两个字节的存储单元,若有定义intx[10]={0,2,4};,则数组x在内存中所占字节数为。

A)3B)6C)10D)20

(24)以下程序的输出结果是()。

main()

{inti,a[10];

for(i=9;i>=0;i--)

a[i]=10-i:

printf("%d%d%d",a[2],a[5],a[8]);}

A)258B)741C)852D)369

(25)以下数组定义中不正确的是()。

A)inta[2][3];B)intb[][3]={0,1,2,3};

C)intc[100][100]={0};D)intd[3][]={{1,2},{1,2,3},{1,2,3,4}};

(26)以下程序的输出结果是()。

main()

{inta[4][4]={{l,3,5},{2,4,6},{3,5,7}};

prinff("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]);}

A)0650B)1470C)5430D)输出值不确

(27)以下程序的输出结果是()。

#include

main()

{charst[20]="hello\0\t\’\\";

printf("%d%d\n",stden(st,sizeof(st));}

A)99B)520C)1320D)2020

(28)以下程序的输出结果是()。

amovep(int*p,int(*a)[3],intn)

{inti,j;

for(i=0;i

for(j=0;j

{*p=a[i][j];p++;}

}

main()

{int*p,a[3][3]={{1,3,5},{2,4,6}};

p=(int*)malloc(100);

amovep(p,a,3);

printf("%d%d\n",p[2],p[5]);

free(p);

}

A)56B)25C)34D)程序错误

(29)以下程序的输出结果是()。

structHAR

{intx,y;

structHAR*p;}h[2];

main()

{h[0].x=l;h[0].y=2;

h[1].x=3;h[1].y=4;

h[0].p=&h[1];h[1].p-h;

printf("%d%d\n",(h[0].p)->x,(h[1].p)->y);

}

A)12B)23C)14D)32

(30)以下程序的输出结果是()。

main()

{inta,b;

for(a=l,b=l;a<=100;a++)

{if(b>=10)break;

if(b%3==1)

{b+=3;continue;}

}

printf("%d\n",a);

}

A)101B)6C)5D)4

(31)以下程序的输出结果是()。

unionmyun

{struct{intx,y,z;}u;

intk;}a;

main()

{a.u.x=4;a.u.y=5;a.u.z=6;

a.k=0;

printf("%d\n",a.u.x);

}

A)4B)5C)6D)0

(32)以下程序的输出结果是()。

inta,b;

voidfun()

{a=100;b=200;}

main()

{inta=5,b=7;

fun();

printf("%d%d\n",a,b);

}

A)100200B)57C)200100D)75

(33)以下程序的输出结果是()。

#defineM(x,y,z)x*y+z

main()

{inta=l,b=2,c=3;

printf("%d\n",M(a+b,b+c,c+a));

}

A)19B)17C)15D)12

(34)整型变量X和Y的值相等,且为非0值,则以下选项中,结果为0的表达式是()。

A)x||yB)x|yC)x&yD)x^y

(35)下面的程序执行后,文件test.t中的内容是()。

#include

#include

voidfun(char*fname,char*st)

{FILE*myf;

inti;

myf=fopen(fname,"w");

for(i=0;i

fputc(st[i],myf);

fclose(myf);

}

main()

{fun("test.t","newworld");

fun("test.t","hello,");

}

A)hello,B)newworldhello,C)newworldD)hello,world

二、填空题(每空2分,共30分)

请将每一个空的正确答案写在答题卡[1]至[15]序号的横线上,答在试卷上不得分。

(1)算法的复杂性指的是[1]和空间复杂性。

(2)设栈S的初始状态为空,队列Q的初始状态如下图所示:

a1a2a3a4

↑↑

队头队尾

对栈S和队列Q进行如下两步操作:

①Q中的元素依次出队,并压入栈S中,直至Q为空;②依次弹出S中的元素并进入Q,直至S为空。

在上述两步操作后,队列Q的状态是[2]。

(3)面向对象程序设计使用的对象是[3]的封装体。

(4)在关系数据库中,关系模型的三类完整性是指[4]、参照完整性和用户定义的完整性。

(5)为数据库建立索引,是一种以牺牲[5]换取提高数据库访问速度的策略。

(6)以下函数的功能是求x的y次方,请填空。

doublefun(doublex,inty)

{inti;

doublez;

for(i=1,z=x;i

z=z*[6];

returnz;

}

(7)设有以下程序:

main()

{inta,b,k=4,m=6,*pl=&k,*p2=&m;

a=p1==&m:

b=(*p1)/(*p2)+7;

printf("a=%d\n",a);

printf("b=%d\n",b);

}

执行该程序后,a的值为[7],b的值为[8]。

(8)若已定义inta[10],l;,以下fun函数的功能是:

在第一个循环中给前10个数组元素依次赋1,2,3,4,5,6,7,8,9,10;在第二个循环中使a数组前10个元素中的值对称折叠,变成1,2,3,4,5,5,4,3,2,1。

请填空。

fun(inta[])

{inti;

for(i=l;i<=10;i++)[9]=i;

for(i=0;i<5;i++)[10]=a[i]:

}

(9)以下程序运行后的输出结果是[11]。

main()

{chars[]="9876",*p;

for(p=s;p

printf("%s\n",p);

}

(10)若有定义语句chars[l00],d[100];intj=0,i=0;,且s中已赋字符串,请填空以实现字符串拷贝。

(注意:

不得使用逗号表达式。

while(s[i])

{d[j]=[l2];

j++;

d[j]=0;

}

(11)以下程序段用于构成个简单的单向链表,请填空。

structSTRU

{intx,y,

floatrate;

[13]p;

}a,b;

a.x=0;a.y=0;a.rate=0;a.p=&b;

b.x=0;b.y=0;b.rate=0;b.p=NULL;

(12)若有如下结构体说明:

structSTRU

{inta,b;

charc;

doubled;

structSTRUpl,p2;

};

请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。

[14]t[20];

(13)以下程序段打开文件后,先利用fseek函数将文件位置指针定位在文件末尾,然后调用ftell函数返回当前文件位置指针的具体位置,从而确定立件长度,请填空。

FILE*myf;

longfl;

myf=[15]("test.t","rb");

fseek(myf,0,SEEK_END);

fl=ftell(myf);

fclose(myf);

printf("%ld\n",f1);

参考答案

一、选择题

1.C2.A3.A4.C5.B6.D7.D8.D9.B10.A

11.B12.D13.B14.B15.C16.B17.A18.A19.A20.C

21.B22.D23.D24.C25.D26.A27.B28.A29.D30.D

31.D32.B33.D34.D35.A

二、填空题

[1]时间复杂性[2]a4a3a2a1[3]数据和代码[4]实体完整性

[5]存储空间[6]x[7]0[8]7

[9]a[i-1][10]a[i-9][11]9876[12]s[i++]

[13]structSTRU*[14]structSTRU[15]fopen

2012年3月全国计算机等级考试二级C语言真题

一、选择题

1、下列叙述中正确的是:

A、循环队列是队列的一种顺序存储结构B、循环队列是队列的一种链式存储结构

C、循环队列是非线性结构D、循环队列是一直逻辑结构

2、下列叙述中正确的是

A、栈是一种先进先出的线性表B、队列是一种后进先出的线性表

C、栈和队列都是非线性结构D、以上三种说法都不对

3、一棵二叉树共有25个节点,其中5个时子节点,那么度为1的节点数为

A、4B、6C、10D、16

4、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是

A、内模式B、外模式C、概念模式D、逻辑模式

5、在满足实体完整性约束的条件下

A、一个关系中可以没有候选关键词

B、一个关系中只能有一个候选关键词

C、一个关系中必须有多个候选关键词

D、一个关系中应该有一个或者多个候选关键词

6、有三个关系R、S和T如下:

S

A

B

C

a

1

2

b

2

1

R

A

B

C

a

1

2

b

2

1

c

3

1

T

A

B

C

a

2

1

b

3

1

则由关系R和S得到关系T的操作是

A、自然连接B、并C、差D、交

7、软件生命周期中的活动不包括

A、软件维护B、市场调研C、软件测试D、需求分析

8、下面不属于需求分析阶段任务的是

A、确定软件系统的功能需求B、确定软件系统的系统的系能需求

B、制定软件集成测试计划D、需求规格说明书审评

9、在黑盒测试方式中,设计测试用例的主要根据是

A、程序外部功能B、程序内部逻辑

C、程序数据结构D、程序流程图

10、在软件设计中不使用的工具是

A、系统结构图B、程序流程图C、PAD图D、数据流图(DFD图)

11、针对简单程序设计,以下叙述的实施步骤正确的是

A、确定算法和数据结构、编码、调试、整理文档

B、编码、确定算法和数据结构、调试、整理文档

C、整理文档、确定算法和数据结构、编码、调试

D、确定算法和数据结构、调试、编码、整理文档

12、关于C语言中数的表示,以下叙述正确的是

A、只有整型数在允许范围内能精确无误的表示,实型数会有误差

B、只要在在允许范围内整型和实型都能精确表示

C、只有实型数在允许范围内能精确无误的表示,整型数会有误差

D、只有八进制表示的数在不会有误差

13、以下关于算法叙述错误的是

A、算法可以用伪代码、流程图等多种形式来描述

B、一个正确的算法必须有输入

C、一个正确的算法必须有输出

D、用流程图可以描述的算法可以用任何一种计算机高级语言编写成程序代码

14、以下叙述错误的是

A、一个C程序可以包含多个不同名的函数

B、一个C程序只能有一个主函数

C、C程序在书写时,有严格的缩进要求,否则不能编译通过

D、C程序的主函数必须用main作为函数名

15、设有以下语句

Charch1,ch2,scanf(”%c%c”,&ch1,&ch2);

若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是

A、A和B之间用逗号间隔B、A和B之间不能有任何间隔符

C、A和B之间可以用回车间隔D、A和B之间用空格间隔

16、以下选项中非法的字符常量是

A、’\102’B、’\65’C、’\xff’D、’\019’

17、有以下程序

#include

Main()

{

IntA=0,B=0,C=0;

C=(A-=A-5);(A=B,B+=4);

Printf(“%d,%d,%d\n”,A,B,C)

}

程序运行后输出的结果是

A0,4,5B4,4,5C4,4,4D0,0,0

18、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是

A、x++;printf((“%d\n”,x);B、n=++x;printf((“%d\n”,n);

C、++x;printf((“%d\n”,x);D、n=x++;printf((“%d\n”,n);

19、以下选项中,能表示逻辑值“假”的是

A1B0.000001C0D100.0

20、有以下程序

#include

Main()

{inta;

Scanf(“%d”,&a);

If(a++<9)printf((“%d\n”,a);

Elseprintf((“%d\n”,a--);

}

程序运行时键盘输入9<回车>,则输出的结构是

A、10B11C9D8

21、有以下程序

#include

Main()

{ints=0,n;

For(n=0;n<3;n<++)

{switch(s)

{case0;

Case1;s+=1;

Case2;s+=2;break;

Case3;s+3;

Case4;s+=4;

}

printf((“%d\n”,s);

}

}

程序运行后的结果是

A1,2,4B1,3,6C3,10,14D3,6,10

22、若k是int类型变量,且有以下for语句

For(k=-1;k<0;k++)printf(****\n”);

下面关于语句执行情况的叙述中正确的是

A、循环体执行一次B、循环体执行两次

C、循环体一次也不执行D、构成无限循环

23、有以下程序

#include

Main()

{charA,B,C;

B=’1’;C=’A’

For(A=0;A<6;A++)

{if(A%2)putchar(B+A);

Elseputchar(C+A);

}

}

程序运行后输出的结果是

A1B3D5FBABCDFECA2C4E6D123456

24、设有如下定义语句

Intm[]={2,4,6,8},*k=m;

以下选项中,表达式的值为6的是

A*(k+2)Bk+2C*k+2D*k+=2

25、fun函数的功能是:

通过键盘输入给x所指的整型数组所有元素赋值。

在下列划线处应该填写的是

#include

#defineN5

Viodfun(intx[N])

{intm;

For(m=N-1;m>0;m--)scanf(“%d\n”,);

}

A&x[++m]B&x[m+1]Cx+(m++)Dx+m

26、若有函数

Viodfun(doublea[],int*n)

{………}

以下叙述中正确的是

A、调用fun函数时只有数组执行按值传送,其他实参和形参之间执行按地址传送

B、形参a和n都是指针变量

C、形参a是一个数组名,n是指针变量

D、调用fun函数时将把double型实参数组元素一一对应地传送给形参a数组

27、有以下程序

#include

Main()

{inta,b,k,m,*p1,*p2;

k=1,m=8;

p1=&k,p2=&m;

a=/*p1-m;b=*p1+*p2+6;

printf(“%d”,a);printf(“%d\n”,b);

}

编译时编译器提示错误信息,你认为出错的语句是

A、a=/*p1-mB、b=*p1+*p2+6

C、k=1,m=8;D、p1=&k,p2=&m;

28、以下选项中有语法错误的是

Achar*str[]={“guest”};B、charstr[10]={“guest”};

C、char*str[3]*str[1]={“guest”};D、charstr[3][10];str[1]={“guest”};

29、avg函数的功能是求整型数组中的前若干个元素的平均值,设数组元素个数最多不超过10,则下列函数说明语句错误的是

A、intavg(int*a,intn);B、intavg(inta[10],intn);

C、intavg(inta,intn);D、intavg(inta[],intn);

30、有以下函数

#include

#include

main()

{printf(“%d\n”,str

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 商业计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1