二级C语言试题-汇总

发布于 2019-05-13 11:25  编辑:simi
0
计算机等级考试题库 扫码微信刷题


二级C语言试题.jpg


有些二级C语言试题你需要去做,做了才知道自己行不行,光在那里想是没用的。


二级C语言试题

1

1.以下选项中,不能作为合法常量的是(  )

A.1.234e05

B.1.234e+5

C.1.234e0.5

D.1.234e0

参考答案:C

参考解析:C语言的语法规定,字母e(E)之前必须有数字,且e(E)后面的指数必须是整数,而选项c)中,e(E)后面的指数是小数,所以不合法。

 

2.以下选项中合法的标识符是(  )

A.1_2

B._12

C.2_1

D.12__

参考答案:B

参考解析:标识符命名规则:标识符必须由字母(azAz)或下划线(_)开头;标识符的其他部分可以用字母、下划线或数字(09)组成;大小写字母表示不同意义,如coutCout代表不同的标识符;在定义标识符时,虽然语法上允许用下划线开头,但是,最好避免定义用下划线开头的标识符,因为编译器常常定义一些下划线开头的标识符。因此,本题正确答案为B)

 

3.以下选项中不属于c语言的类型的是(  )

A.unsigned long int

B.long short

C.unsigned int

D.signed short int

参考答案:B

参考解析:c语言中整型变量分为4种,基本型int,短整型short int,长整型long int和无符号型(unsigned intun-signed shortunsigned long)。因此B)选项不属于c语言的类型。

 

4.以下可用作C语言用户标识符的是( )

A.void,define,WORD

B.a3_b3,_123,IF

C.FOR,- -abc,Case

D.2a,Do,Sizeof

参考答案:B

。参考解析:C语言规定用户标识符由字母、数字和下划线组成,且第一个字符必须是字母或下划线,可见选项C)D)是错误的;此外,c语言不允许用户将关键字作为标识符,而选项A)中的void正是C语言的关键字。

 

5.以下4个选项中,不能看作一条语句的是(  )

A.;

B.a=5,b=2.5,c=3.6;

C.if(b!=5)x=2;y=6;

D.return j;

参考答案:C

参考解析:c语言规定每个语句以;(分号)结束,因此选项c)为两条语句。

 

6.当用“#define F 37.5f”定义后,下列叙述正确的是(  )

A.Ffloat型数

B.FChar型数

C.F无类型

D.F是字符串

参考答案:D

参考解析:字符替换定义格式为:#define标识符(形参表)形参表达式。题中F是代表形参表达式的标识符(字符串)

 

7.以下叙述中正确的是( )

A.C程序中注释部分只能放在程序最后

B.花括号“{“和”}”可以作为函数体的定界符,也可以作为复合语句的定界符

C.构成C程序的基本单位是函数,所有函数名都可以由用户命名

D.分号不是语句的一部分,是C语句之间的分隔符

参考答案:B

参考解析:花括号可以作为函数体的定界符,也可以作为复合语句的定界符。函数是c程序的基本单位,用户可以命名自定义函数,而库函数名是固定的。c语句以分号结尾,分号是语句的一部分。

 

8.以下能定义为用户标识符的是(  )

A.printf

B.char

C._8abc

D.Void

参考答案:C

 

9. C语言中,合法的字符串常量是(  )

A."M"

B.'\t'

C.100

D.MUST

参考答案:A

参考解析:字符串常量必须用双引号括起来,因此只有选项A)正确。

 

 

 

2

1.下面程序的输出结果是(  )

#include

main()

{

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

p =a;

printf("%d\n",*p+8);

}

A.0

B.1

C.10

D.9

参考答案:D

参考解析:“*”号的优先级比“+”的优先级高,所以先执行“*p;指针P指向的是数组的首地址,因此*p=1;再加89

 

2.下面说法正确的是(  )

A.一个C程序可以有多个主函数

B.一个C语言的函数中只允许有一对花括号

C.C程序的书写格式是自由的,一个语句可以写在一行上,也可以写在多行内

D.在对C程序进行编译时,可以发现注释行中的拼写错误

参考答案:C

参考解析:本题涉及C语言基本的3个知识点:①C 语言规定一个程序只允许有一个主函数,一个函数内可以允许有多个花括号;C程序的注释部分仅仅是方便程序员阅读,提高程序的可读性和可移植性,它并不参与程序的编译,所以编译器也就不会发现注释中的错误。

 

3.以下4个选项,不能看作一条语句的是(  )

A.{;}

B.int x=0y=1z=0;

C.if(!a);

D.if(b==0)m=1n=2

参考答案:D

参考解析:语句是用来判定所给的条件是否满足,根据判定的结果(真或假)决定执行给出的两种操作之一。 ifelse后面可以只含一个内嵌的操作语句,也可以有多个操作语句,此时用花括号“{}”将几个语句括起来成为一个复合语句。选项D)中没有将两个操作语句括起来,不能看作一条语句。

 

4.计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )

A.C语言程序仅可以编译执行

B.C语言程序仅可以解释执行

C.c)C语言程序既可以编译执行又可以解释执行

D.以上说法都不对

参考答案:A

参考解析:C语言作为计算机高级语言,用它编写的程序必须经过C语言的编译器编译后,转换为二进制的机器来运行。

 

5.以下叙述中错误的是(  )

A.C语言编写的函数源程序,其文件名后缀可以是.C

B.C语言编写的函数都可以作为一个独立的源程序文件

C.C语言编写的每个函数都可以进行独立的编译并执行

D.一个C语言程序只能有一个主函数

参考答案:C

参考解析:C语言程序是从main函数开始执行的,每一个函数可以进行独立的编译。

 

6.以下叙述正确的是(  )

A.C程序中,main函数必须位于程序的最前面

B.每个后缀为.cC语言源程序都可以单独进行编译

C.C语言程序中,只有main函数才可单独进行编译

D.每个后缀为.cC语言源程序都应该包含一个main函数

参考答案:B

参考解析:每一个C 语言的文件或函数都可以单独编译,但只有main 函数的才可以执行。

 

7. C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是

A.预定义标识符(如库函数中的函数名)可用作用户标识符,但失去原有含义

B.用户标识符可以由字母和数字任意顺序组成

C.在标识符中大写字母和小写字母被认为是相同的字符

D.关键字可用作用户标识符,但失去原有含义

参考答案:A

参考解析:预定义标识符是C语言中的标识符,在C语言中也有特定的含义,如函数printfscanfsin 等和编译预处理命令名(define include)。预定义标识符可以作为用户标识符使用,只是这样会失去系统规定的原义。

 

8. c语言规定,在一个源程序中,main函数的位置(  )

A.必须在最开始

B.必须在系统调用的库函数的后面

C.可以任意

D.必须在最后

参考答案:C

参考解析:不论main函数在整个过程中的位置如何,一个c程序总是从main函数开始执行的

 

9.以下叙述不正确的是(  )

A.C程序中,逗号运算符的优先级最低

B.C程序中,APHaph是两个不同的变量

C.ab类型相同,在计算赋值表达式a=b后,b的值将放入a中,而b的值不变

D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值

参考答案:D

参考解析:在c语言所有的运算符中,逗号运算符的优先级最低。C语言区分大小写,所以APHaph是两个不同的变量。赋值表达式a=b表示将b的值赋予a,而b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项D)中当从键盘输人数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。

 

10.有以下程序:

main()

{

unsigned char a=2,b=4,c=5,d;

d =a|b;d&=c;printf("%d\n",d);

}

程序运行后的输出结果是(  )

A.3

B.4

C.5

D.6

参考答案:B

参考解析:本题考查的是逻辑运算。本题中主要是进行位的逻辑运算。将a的值转换成二进制为:0000 0010b的值转换成二进制为:0000 0100,将ab进行按位或运算(参加计算的两个位只要有一个为1,那么运算结果为l),因此此时d的二进制为:0000 0110C的值转换成二进制为:00000101,接下来将dC进行按位与运算(参加计算的两个位都为1,则结果为1,否则为0),结果为:0000 0100,转换成十进制数结果为4

 

 

 

3

1[单选题] 下列描述中正确的是( )

A.软件工程只是解决软件项目的管理问题

B.软件工程主要解决软件产品的生产率问题

C.软件工程的主要思想是强调在软件开发过程中需要应用工程化原则

D.软件工程只是解决软件开发中的技术问题

参考答案:C

 

2[单选题] 在软件设计中,不属于过程设计工具的是( )

A.PDL(过程设计语言)

B.PAD

C.N-S

D.DFD

参考答案:D

 

3[单选题] 下列叙述中正确的是( )

A.软件交付使用后还需要进行维护

B.软件一旦交付使用就不需要再进行维护

C.软件交付使用后其生命周期就结束

D.软件维护是指修复程序中被破坏的指令

参考答案:A

 

4[单选题] 以下叙述中错误的是(  )

A.C语言是一种结构化程序设计语言

B.结构化程序有顺序、分支、循环三种基本结构组成

C.使用三种基本结构构成的程序只能解决简单问题

D.结构化程序设计提倡模块化的设计方法

参考答案:C

 

5[单选题] C语言中用于结构化程序设计的三种基本结构是( )

A.顺序结构、选择结构、循环结构

B.ifswitchbreak

C.forwhiledo-while

D.ifforcontinue

参考答案:A

 

6[填空题]

在结构化分析使用的数据流图(DFD)中,利用_____ 对其中的图形元素进行确切解释。

执行以下程序后的输出结果是 a=14

main()

{int a=10;

a=(3*5,a+4); printf(“a=%d\n”,a);

}

参考解析:数据字典

 

7[单选题] 结构化程序设计的基本原则不包括 (  )

A.多态性

B.自顶向下

C.模块化

D.逐步求精

参考答案:A

参考解析:结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化。程序设计时,应先从最上层总目标开始设计,逐步使问题具体化。对复杂问题,应设计-些子目标作为过渡,逐步细化。模块化是把程序要解决的总目标分解为子目标,再进-步分解为具体的小目标,把每一个小目标称为一个模块。

 

8[单选题] 下列选项中不属于结构化程序设计原则的是 (  )

A.可封装

B.自顶向下

C.模块化

D.逐步求精

参考答案:A

参考解析:结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化,限制使用go to语句等。

 

9[填空题]

在面向对象方法中,_________描述的是具有相似属性与操作的一组对象。

参考解析:类

【解析】在面向对象方法中,把具有相同属性和方法的对象称为类,类是对象的抽象,对象是类的实例。

 

 

 

4

1.为了使模块尽可能独立,要求(  )

A.内聚程度要尽量高,耦合程度要尽量强

B.内聚程度要尽量高,耦合程度要尽量弱

C.内聚程度要尽量低,耦合程度要尽量弱

D.内聚程度要尽量低,耦合程度要尽量强

参考答案:B

参考解析:模块独立性是指每个模块只完成系统要求的独立的子功能,并且与其他模块的联系最少且接口简单。耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦台性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

 

2.[填空题]

符合结构化原则的三种基本控制结构是顺序结构、__________和循环结构。

参考解析:选择结构

【解析】程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。

 

3.结构化程序所要求的基本结构不包括(  )

A.顺序结构

B.GOT0跳转

C.选择(分支)结构

D.重复(循环)结构

参考答案:B

参考解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。

 

4.[填空题]

对软件设计的最小单位(模块或程序单元)进行的测试通常称为__________测试。

参考解析:单元 解析:对软件的模板进行的测试通常称为单元测试。

 

5.[填空题]

数据结构分为线性结构与非线性结构,带链的栈属于__________

参考解析:线性结构 【解析】一般将数据结构分为线性结构与非线性结构两大类。如果一个非空的数据结构满足以下两个条件:

①有且只有一个根结点;

②每一个结点最多有一个前件,也最多有一个后件。

则称该数据结构为线性结构,所以带链栈为线性结构。

 

6.针对简单程序设计,以下叙述的实施步骤正确的是(  )

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

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

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

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

参考答案:A

参考解析:简单程序设计的步骤是首先要确定算法和数据结构,然后编码、调试,最后整理相关文档。

 

7.下列数据结构中,属于非线性结构的是(  )

A.带链队列

B.循环队列

C.带链栈

D.二叉树

参考答案:D

参考解析:根据数据结构中各数据元素之间前后关系的复杂程度,一般将数据结构分为两大类型:线性结构与非线性结构。线性结构表示数据元素之间为一对一的关系,非线性结构表示数据元素之间为一对多或者多对一的关系。根据各种结构的定义知二叉树是一种非线性结构。

 

8.在结构化程序设计中,模块划分的原则是(  )

A.各模块应包括尽量多的功能

B.各模块的规模应尽量大

C.各模块之间的联系应尽量紧密

D.模块内具有高内聚度,模块间具有低耦合度

参考答案:D

参考解析:[考核] 软件设计的概念 [评析] 软件设计中通常采用结构化设计方法,模块的独立程度是评价设计好坏的重要度量标准。耦合性与内聚 性是模块独立性的两个定性标准。内聚性是一个模块内部各个元素间彼此结合的紧密程度的度量;耦合性是模块间互相连接的紧密程度的度量。一般较优秀的软件设 计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

 

9.结构化分析可以使用的工具是(  )

A.Ns

B.DFD

C.PAD

D.程序流程图

参考答案:B

参考解析:数据流图(DFD)、数据字典、判定表和判定树是结构化分析常用的工具。程序流程图、NS图、PAD图是详细设计过程中常用的图形工具。

 

 

 

5

1[单选题] 线性表常采用的两种存储结构是(  )

A.散列方法和索引方式

B.链表存储结构和数组

C.顺序存储结构和链式存储结构

D.线性存储结构和非线性存储结构

参考答案:C

参考解析:线性表的存储通常要用两种存储结构:顺序存储结构和链式存储结构。

 

2[单选题] 程序设计的任务包括(  )

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

B.确定所用数据结构

C.确定所用算法

D.以上选项均正确

参考答案:D

参考解析:程序设计是一门技术,需要相应的理论、技术、方法和工具来支持。程序设计的任务包括选项A)B)c) 等方面。

 

3[填空题]

在最坏情况下,堆排序需要比较的次数为_________

参考解析:O(nlog2n)

【解析】在最坏情况下,冒泡排序所需要的比较次数为n(n-1)/2;简单插入排序所需要的比较次数为n(n-1)/2;希尔排序所需要的比较次数为O(n1.5);堆排序所需要的比较次数为O(nlog2n)

 

4[单选题] 下列关于栈的描述中,正确的是(  )

A.在栈中只能插入元素

B.在栈中只能删除元素

C.只能在一端插入或删除元素

D.只能在一端插入元素,而在另一端删除元素

参考答案:C

参考解析:栈实际也是线性表,只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。当表中没有元素时称为空栈。栈顶元素总是最后被插入的元素,从而也是最先被删除的元素:栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。

 

5[单选题] 在一棵二叉树中,叶子结点共有30个,度为1的结点共有40个,则该二叉树中的总结点数共有(  )个。

A.89

B.93

C.99

D.100

参考答案:C

参考解析:根据二叉树性质3:对任何一棵二叉树,度为0的结点(即叶子结点)总是比度为2的结点多一个。所以该二叉树度为2的结点有29个,故总结点数=30个叶子结点+29个度为2的结点+40个度为1的结点=99个结点。

 

6[填空题]

队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作__________

参考解析:队头

【解析】队列是只允许在一端删除,在另一端插入的顺序表,在队列中。允许插入的一端叫做“队尾”,允许删除的一端叫做“队头”。

 

7[单选题] 下列关于栈叙正确的是(  )

A.栈顶元素最先能被删除

B.栈顶元素最后才能被删除

C.栈底元素永远不能被删除

D.以上三种说法都不对

参考答案:A

参考解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。

 

8[单选题] 下列叙述中正确的是(  )

A.有一个以上根结点的数据结构不一定是非线性结构

B.只有一个根结点的数据结构不一定是线性结构

C.循环链表是非线性结构

D.双向链表是非线性结构

参考答案:B

参考解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。

 

9[单选题] 某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1)(  )

A.3

B.4

C.6

D.7

参考答案:D

参考解析:叶子节点就是度为0的结点,比度为2的结点多一个,即度2的没有,这样度为1的结点就是6个,故深度为7(1度就是结点连着1个子树,二叉树最多俩子树,即左右子树)。根据二叉树的性质,度为0的结点(即叶子结点)总是比度为2的结点多一个。题目中的二叉树的叶子结点为1,因此度为2的结点的数目为0,因而这个二叉树的深度为7



考完别放松,趁着热乎,叫上你下一次要考试的好同学,坐好小板凳,一起看看这次计算机等级考试题库-二级C语言试题的讲解吧,为后面的等级考试做准备!



文章推荐:

全国计算机等级考试可以不考一级直接考二级吗?

2019年全国计算机等级考试题库“二级MS Office 高级应用考试大纲”

全国计算机等级考试报考成功后可以退费吗?(内附计算机等级考试题库)


温馨提示:

考试想拿高分吗?更多计算机等级考试题库二级ms office试题请点击查看>>>二级ms office

想要了解更多的计算机等级考试题库请点击下载>>>计算机等级考试题库

想知道更多关于计算机等级考试题库的近期资讯吗?点击进入>>>计算机等级考试题库资讯


本文网址:http://www.k51.com.cn/info/jsjdjks/1905/1352017.html
选择分享到: