下半年二级C语言模拟.docx

上传人:b****5 文档编号:5985604 上传时间:2023-01-02 格式:DOCX 页数:23 大小:385.74KB
下载 相关 举报
下半年二级C语言模拟.docx_第1页
第1页 / 共23页
下半年二级C语言模拟.docx_第2页
第2页 / 共23页
下半年二级C语言模拟.docx_第3页
第3页 / 共23页
下半年二级C语言模拟.docx_第4页
第4页 / 共23页
下半年二级C语言模拟.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

下半年二级C语言模拟.docx

《下半年二级C语言模拟.docx》由会员分享,可在线阅读,更多相关《下半年二级C语言模拟.docx(23页珍藏版)》请在冰豆网上搜索。

下半年二级C语言模拟.docx

下半年二级C语言模拟

填空题(共15题,合计30分)

第1题.下面程序的输出是___20______。

20【解析】本题的考查点是fur循环。

第2题.有以下程序:

答:

24【解析】continue语句功能:

结束本次循环(注:

不是终止整个循环),即跳过循环体中continue语句后面的语句,开始下一次循环。

我的得分:

第3题.下列程序的输出结果是_________。

答:

98【解析】本题的考查点是函数的调用。

本题中a,b,c,d是实参,x,y,cp,dp是形参。

c语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。

在内存中,实参单元与形参单元是不同的单元。

在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参单元仍保留并维持原值。

因此,程序的输出结果是98。

我的得分:

第4题.算法的复杂度主要包括__________复杂度和空间复杂度。

答:

时间【解析】算法的复杂度主要包括时间复杂度和空间复杂度。

算法的时间复杂度,是指执行算法所需要的计算工作量。

算法的空间复杂度是指执行这个算法所需要的内存空间。

我的得分:

第5题.

答:

x

<=""【解析】本题考查的是循环的嵌套。

本题定义二维数组a,存放3行4列的数组元素,定义了一维数组b用于存放每行的最大数。

在函数fun中,通过二重for循环求每行的最大数,外层for循环用于控制行数,内层fbr循环用于控制列数。

当外层循环执行一次时,内层循环则执行4次,并求出了这一行的最大值x,最后将每一行="">

我的得分:

第6题.

您的答案:

未作答

正确答案:

答:

10200【解析】本题考查的是混合运算。

“(a/b<1)&&(a%b<1)”的运算顺序为:

括号>算术运算符,关系运算符>逻辑运算符。

其中a%b=10.a/b=0,所以a%b<1的值为0,a/b<1的值为1,故整个表达式的结果为0,所以输出的a,b,c的值为10200。

我的得分:

第7题.

您的答案:

未作答

正确答案:

答:

*ss!

='\0'【解析】本题考查的是指针的应用。

题目要求求出字符串ss中指定字符的个数,分析整个程序,空缺处是检验指针ss是否指向了字符串的末尾,如没有,即执行下面语句,判断指针ss指向的字符是否字符c,若是,i自加1;所以空缺处填入*ss!

='\0',作为循环终止的条件。

我的得分:

第8题.

您的答案:

未作答

正确答案:

答:

a[i][j]+b[i][j]【解析】求两个矩阵的和只要将对应元素相加即可。

我的得分:

第9题.若有定义:

inta=10,b=8,c=4:

然后顺序执行下列语句后,变量a中的值是__________。

c=(b-=(a-4));a=(c%2)+(b-1);

您的答案:

未作答

正确答案:

答:

2【解析】本题考查的是基本赋值运算符和赋值表达式。

表达式c=(b-=a-4)等价于c=(b=b-a+4)等价于c=b=2;表达式a=(c%2+(b-1))等价于a=1+2-1=2:

因此最后a的值为2。

我的得分:

第10题.以下程序的功能是将字符串s中所有小写字母'a'删去,请填空。

您的答案:

未作答

正确答案:

答:

s[i]!

='a'【解析】本题是要将字符串s中所有小写字母'a'删去,所以if语句的判断条件应该是字符串s中的字符和字符'a'不相同的时候,就把它仍然存在原来的数组中,若是和字符'a'相同,就不再保存它。

我的得分:

第11题.

您的答案:

未作答

正确答案:

答:

36912【解析】本题考查最基本的for循环。

for(cc=1;cc<5;cc++)规定循环次数为4次,每次a+=3,即每次a的值增加3,但因为fun函数中变量a为static类型,所以每次调用完子函数之后,变量a所做的改变都要保存。

我的得分:

第12题.

您的答案:

未作答

正确答案:

答:

a【解析】本程序先将指针ptr1和ptr2分别指向字符数组a和b,然后通过指针的移动比较a和b中是否有相同的字符,若有相同的字符则将其输出。

我的得分:

第13题.

您的答案:

未作答

正确答案:

答:

emoclew【解析】在主函数中执行for循环语句实现把字符串“welcome”逆序输入。

所以输入结果为emoclew。

我的得分:

第14题.用树形结构表示实体之间联系的模型是__________。

您的答案:

未作答

正确答案:

答:

层次模型【解析】层次模型是最早发展起来的数据库模型。

层次模型的基本结构是树形结构。

我的得分:

第15题._________的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。

您的答案:

未作答

正确答案:

答:

数据库概念设计【解析】数据库概念设计的目的是分析数据间内在语义关联,在此基础上建立…个数据的抽象模型

一、选择题(共40题,合计70分)

1.

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

因为题中有语句“intk=0;”,所以选项B)、c)、D)都是对k的值加1,选项A)的语句k++表示先利用k的值进行运算,然后k的值才加1。

2.程序设计的任务包括(  )。

A)编写程序代码并上机调试

B)确定所用数据结构

C)确定所用算法

D)以上选项均正确

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。

程序设计的任务包括选项A)、B)、c)等方面。

3.以下选项中,能用作数据常量的是(  )。

A)018

B)o11

C)0.8e2.5

D)25L

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

本题考查常量定义。

数据常量可有1O进制、8进制、16进制、指数法等,8进制数字为0-7,第一个字符为0,而不是0,因此选项A)和B)错误。

为指数法时,指数部分须为整形,因此选项C)错误,选项D)中数字后加入L是说明此变量为长整型。

4.设a和b均为int型变量,且a=6、b=11、c=3,则能使值为3的表达式是(  )。

A)b%(c%4)

B)b%(c-a%5)

C)b%a-a%5

D)(b%a)-(a%4)

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

选项D)括号内的运算分别是b%a=11%6=5和a%c=6%4=2,最后得到5-2=3。

5.

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

C基本数据类型包括:

分为整型、实型、枚举型、字符型四种,实型就是浮点型,实型数据只有十进制,没有2,8,16进制表达,在C语言中没有定义逻辑类型,而是一般用0代表假,用非零代表真。

6.

【您的答案】:

未作答【正确答案】:

C

【参考解析】:

C基本数据类型包括:

分为整型、实型、枚举型、字符型四种,实型就是浮点型,实型数据只有十进制,没有2,8,16进制表达,在C语言中没有定义逻辑类型,而是一般用0代表假,用非零代表真。

7.对于一个正常运行的C程序,下列叙述中正确的是(  )。

A)程序的执行总是从main函数开始,在main函数结束

B)程序的执行总是从程序的第一个函数开始,在main函数结束

C)程序的执行总是从main函数开始,在程序的最后一个函数中结束

D)程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

一个C语言源程序无论包括了多少函数,总是从main函数开始执行,从main函数结束。

8.有以下程序

A)0

B)4

C)6

D)7

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

因为没有break语句,当k=2的时候,会顺序执行两条语句,k=-1的时候,会顺序执行3条语句。

9.下列合法的标识符是(  )。

A)123

B)#256

C)a.55

D)abhj1_2_3

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或者下划线。

“#”、“.”不允许出现在标识符中。

10.

以下不正确的转义字符是(  )。

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

遍历就是不重复地访问二叉树的所有结点。

二叉树遍历的方法有3种:

前序遍历、中序遍历和后序遍历。

记住3种遍历的顺序:

①前序,访问根一按前序遍历左子树一按前序遍历右子树。

②中序,按中序遍历左子树一访问根一按中序遍历右子树。

③后序,按后序遍历左子树一按后序遍历右子树->访问根。

所以对该二叉树的中序遍历结果为GDBEHACF。

11.对下列二叉树进行中序遍历的结果是(  )。

A)ABCDEFGH

B)ABDGEHCF

C)GDBEHACF

D)GDHEBFCA

【您的答案】:

未作答【正确答案】:

C

【参考解析】:

遍历就是不重复地访问二叉树的所有结点。

二叉树遍历的方法有3种:

前序遍历、中序遍历和后序遍历。

记住3种遍历的顺序:

①前序,访问根一按前序遍历左子树一按前序遍历右子树。

②中序,按中序遍历左子树一访问根一按中序遍历右子树。

③后序,按后序遍历左子树一按后序遍历右子树->访问根。

所以对该二叉树的中序遍历结果为GDBEHACF。

12.下述程序的输出结果是(  )

A)9

B)10

C)12

D)2

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

本题主要考查C语言最基本的算术运算“左移(<<)”和“异或(A)”。

“左移”或“右移”运算表达式的一般形式为:

x<>n。

“左移(<<)”运算的规则是将x的二进制位全部向左移动n位,将左边移动的高位舍弃,右边空出的位补0;“右移(>>)”运算的规则是将x的二进制位全部向右移动n位,将右边移动的高位舍弃,左边高位空出要根据原来符号位的情况进行补充,对无符号数则补0,对有符号数,若为正数则补0,若为负数则补1。

“异或”运算是当两个运算量的相应位相同时结果为0,不相同时结果为1。

b=2的二进制为(00000010)b<<2后为00001000,a=1的二进制为00000001,所以c=a^b<<2为00001001,转化为十进制届为9。

13.开发大型软件时,产生困难的根本原因是(  )。

A)大型系统的复杂性

B)人员知识不足

C)客观世界千变万化  

D)时间紧、任务重

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

随着计算机软件规模的扩大,软件本身的复杂性不断增加,研制周期显著变长,正确性难以保证,软件开发费用上涨,生产效率急剧下降,从而出现了人们难以控制软件发展的局面,即所谓的“软件危机”。

14.列关于线性链表的描述中,正确的是(  )。

I、只含有一个指针域来存放下一个元素地址

II、指针域中的指针用于指向该结点的前一个或后一个结点(即前件或后件)

III、结点由两部分组成:

数据域和指针域。

A)仅I、II

B)仅I、III

C)仅Il、III

D)全部

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

在定义的链表中,若只含有一个指针域来存放下一个元素地址,称这样的链表为单链表或线性链表。

在链式存储方式中。

要求每个结点由两部分组成:

一部分用于存放数据元素值,称为数据域;另一部分用于存放指针,称为指针域。

其中指针用于指向该结点的前~个或后一个结点(即前件或后件)。

15.设有定义:

char*c;,以下选项中能够使字符型指针c正确指向一个字符串的是(  )

A)charstr[]="string";c=str;

B)scanf("%s",c);

C)c=getchar();

D)charstr[]="string";strcpy("c,str")

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

在题目的题干中定义了字符指针变量c,在选项A)中,首先定义字符数组s订,然后再把字符数组str的首地址赋给字符指针变量c。

所以选项A)是正确的。

在选项B)中,应改成scanf(”%s”,&c);在选项c)中,getchar函数的返回值是用户输入的第一个字符的ASCIl码,如出错返回.l,且将用户输入的字符回显到屏幕.如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存区中,等待后续getchar调用读取。

即c只能指向一个字符而不能指向字符串。

在选项D)中,strepy函数只是将sla"字符串中的内容赋给c,并没有使其指向str,所以选项D)是错误的。

16.下列字符数组初始化语句中,不正确的是(  )。

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

本题考查两个概念。

①用单引号括起来的一个字符常量只能存放一个字符;②C语言中没有字符串变量,只能用字符数组来存储字符串。

选项A)中一个单引号内存放了若干个字符,是错误的;选项B)和选项D)中将一个字符串赋值给一个字符数组是允许的。

17.设有如下关系表,由关系R和S通过运算得到关系T,则所使用的运算为(  )。

A)T=R∩S

B)T=R∪S

C)T=R×S

D)T=R/S

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

T就是关系R中插入关系S,合并为T,即并运算(u)。

18.下列叙述中,不属于设计准则的是(  )。

A)提高模块独立性

B)使模块的作用域在该模块的控制域中

C)设计成多入口、多出口模块

D)设计功能可预测的模块

【您的答案】:

未作答【正确答案】:

C

【参考解析】:

大量软件设计表明,以下的设计准则是可以借鉴为设计的指导和对软件结构图进行优化,这些准则是:

提高模块独立性:

模块规模适中:

深度、宽度、扇出和扇入适当;使模块的作用域在该模块的控制域中:

应减少模块的接口和界面的复杂性;设计成单入口、单出口的模块;设计功能可预测的模块。

19.在软件开发中,需求分析阶段产生的主要文档是,(  ).

A)数据字典

B)详细设计说明书

C)数据流图说明书

D)软件需求规格说明书

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

需求分析的最终结果是生成软件需要规格说明书,可以为用户、分析人员和设计人员之间的交流提供方便。

20.算法的空问复杂度是指(  )。

A)算法程序的长度

B)算法程序中的指令条数

C)算法程序所占的存储空间

D)算法执行过程中所需要的存储空间

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

算法的空问复杂度是指执行这个算法所需要的内存空间。

一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间以及算法执行中所需要的额外空间。

其中额外空间包括算法程序执行过程中的工作单元以及某种数据结构所需要的附加存储空间。

如果额外空间量相对于问题规模来说是常数,则称该算法是原地工作的。

在许多实际问题中,为了减少算法所占的存储空间,通常采用压缩存储技术,以便尽量减少不必要的额外空间。

21.一棵二叉树的前序遍历结果是ABCEDF,中序遍历结果是CBAEDF,则其后序遍历的结果是(  )。

A)DBACEF

B)CBEFDA

C)FDAEBC  

D)DFABEC

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

由于该二叉树的前序遍历结果是ABCEDF,显然A结点为根结点,所以后序遍历时A结点是最后遍历的,其后序遍历的结果为CBEFDA。

22.若定义函数int*func(  ),则函数func的返回值为(  )。

A)一个实数

B)一个指向整型变量的指针

C)一个指向整型函数的指针  

D)一个整型函数的入口地址

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

本题考查的是指针函数。

指针函数定义的基本格式为:

类型说明符+函数名()。

其中,“类型说明符”表示返回的指针值所指向的数据类型。

23.若执行下述程序时,若从键盘输入6和8,结果为(  )

A)36

B)64

C)48

D)以上都不对

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

首先通过scanf函数把从键盘读入的数据赋给变量a和b,if语句判断如果a和b不等。

执行S=S*S=64。

24.在数据流图中,带有箭头的线段表示的是(  )。

A)控制流

B)数据流

C)模块调用

D)事件驱动

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。

25.

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

从main函数入手,定义了一个一维数组并赋初值,接着调用函数fun(),函数的功能是:

比较数组中各元素的长度,按元素长度从小到大的顺序排列元素,所以执行fun(ss.5)函数后,+ss[]={"xy","bcc","bbcc","aabcc","aaaacc"},所以调用prinff函数输出ss[0],ss[4]的值分别为xy,aaaacc。

26.

下列关于C语言数据文件的叙述中正确的是(  )。

A)文件由ASCII码字符序列组成,C语言只能读写文本文件

B)文件由二进制数据序列组成,C语言只能读写二进制文件

C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件

D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

本题考查的是数据文件的有关概念。

文件由数据流的形式组成,可以按数据存放的形式分为二进制文件和文本文件,C语言既能读写文本文件,又能读写二进制文件。

27.

【您的答案】:

未作答【正确答案】:

C

【参考解析】:

本题考查if语句。

先判断if语句的条件是否成立,因为++a-1>0,所以条件成立,又因为是进行逻辑或运算,在已知其中一个运算对象为真的情况下,不必判断另外一个运算对象的真假,即不进行++b操作,就可以直接得出整个表达式的值为逻辑1,执行下面的++c。

28.

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

本题主要考查结构体变量的定义与初始化。

题目中定义了complex类型的结构体变量datal和data2,并对datal进行了初始化。

选项A)、C)、D)都是正确的,可以用一个结构体变量对另一个结构体变量赋值,用一个结构体变量的成员对另一个结构体变量的成员赋值。

29.

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

*s-*t的输出实际是比较两个字符的ASCIl码值,比较两个字符串的大小。

30.

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

C语言规定,字符常量在程序中要用单引号括起来。

首先判断c1是否为小写字母的主要条件c1>='a'和cl<='z'是逻辑与关系,其次选项A)的这种形式C语言中没有,所以选项D)正确。

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

A)21

B)12

C)编译出错

D)00

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

本题考查函数调用时的参数传递。

分析题目可知fun函数的形参是指向实参的指针,但main()函数中调用fun()函数时,实参是指针变量x、Y(分别为指向a和b的指针),a、b的值在函数调用前后未发生变化,因而a=1,b=2,即输出12。

32.

在C语言程序中,以下说法正确的是(  )。

A)函数的定义和函数的调用均不可以嵌套

B)函数的定义不可嵌套,但函数的调用可以嵌套

C)函数的定义可以嵌套,但函数的调用不可以嵌套

D)函数的定义和函数的调用均可以嵌套

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

本题考查函数调用的基本概念。

因为函数的结果是一个未知量,而函数定义时不能使用未知量,所以函数定义不可以嵌套,但是函数调用可以嵌套。

33.若输入“abcdef”、“abdef”,以下程序的输出结果为(  )

#include

A)-1

B)0

C)’abcdeff’

D)’abdef’

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

暂无

34.

【您的答案】:

未作答【正确答案】:

C

【参考解析】:

“联合体”所占用的内存空间为最长的成员所占用的空间。

题中联合体的z[10]成员是联合体中占空间最长的成员。

35.下面关于数据库三级模式结构的叙述中,正确的是(  )。

A)内模式可以有多个,外模式和模式只有一个

B)外模式可以有多个,内模式和模式只有一个

C)内模式只有一个,模式和外模式可以有多个

D)模式只有一个,外模式和内模式可以有多个

【您的答案】:

未作答【正确答案】:

B

【参考解析】:

数据库的三级模式结构是指数据库系统的外模式、模式和内模式。

一个数据库可以有多个外模式,但只有一个模式和一个内模式。

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

A)2,2

B)1,3

C)3,2

D)3,1

【您的答案】:

未作答【正确答案】:

C

【参考解析】:

解答本题的关键在于读懂if语句条件中的表达式。

初始时a=1,b=3,所以++a-2>0,因此++a<0为假,因为是进行逻辑与(&&)运算,在&&的第一个运算对象为假的前提下不用判断第二个运算对象的真假,就可以直接得出整个表达式的值为逻辑0,所以直接执行else语句。

37.

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

暂无

38.设Y为整型变量,a=6,a的地址为E2000,b=14,b的地址为E2001;执行语句b=&a;y=&a;后Y的值为(  )。

A)E2000

B)E2001

C)6

D)14

【您的答案】:

未作答【正确答案】:

D

【参考解析】:

&是取地址运算符,y=&a是将a的地址赋给Y,而a的地址没有发生变化,因此Y的值为E2000。

39.

【您的答案】:

未作答【正确答案】:

C

【参考解析】:

本题考查函数调用时的参数传递。

选项C)中第一个参数的表达式不正确,因此不能得到正确的结果。

40.待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第(  )个位置。

A)2

B)3

C)4

D)5

【您的答案】:

未作答【正确答案】:

A

【参考解析】:

选择排序的基本思想是扫描整个线性表,从中选出最小的元素,将它交换到表的最前面,然后对剩下的子表采用同样的方法,直到子表为空。

所以第一趟排序后,将选出最小的元素9放在第一个位置,元素15则放在第二个位置。

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

当前位置:首页 > 求职职场 > 简历

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

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