python二级题库(百分之九十原题) 刷题软件推荐 第二套
Posted SYBH.
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python二级题库(百分之九十原题) 刷题软件推荐 第二套相关的知识,希望对你有一定的参考价值。
目录
刷题软件(模拟python二级考试):
公众h:露露IT
回复:python二级
一、选择题
1、下列叙述中正确的是()。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D.以上说法均不正确
解析:在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。栈跟队列不同,元素只能在栈顶压入或弹出,栈底指针不变,栈中元素随栈顶指针的变化而动态变化,遵循后进先出的规则,所以选C。
2、循环队列的存储空间为Q(1:50)。经过一系列正常的入队与退队操作后,front=rear=25。后又成功地将一个元素退队,此时队列中的元素个数为()。
A.24
B.49
C.26
D.0
解析:当front=rear时可知队列要么为空要么队列满,题目又成功地将一个元素退队,说明之前队列为满(为空时队列中无元素),退出一个元素后队列中还有50-1=49个元素。本题选B选项。
3、某二叉树共有730个结点,其中度为1的结点有30个,则叶子结点个数为()。
A.351
B.1
C.350
D.不存在这样的二叉树
解析:在二叉树中,总结点数=叶子结点数+度为1的结点数+度为2的结点数,所以度为0和度为2的结点,共有730-30=700个,而二叉树又有如下性质:在任意一棵二叉树中,度为0的结点(即叶子结点)总是比度为2的结点多一个。所以度为0的结点个数加上度为2的结点个数之和一定是奇数,不可能是700,所以选D。
4、给出二叉树前序序列为ABDEGCFH,中序序列为DBGEAFHC,则该二叉树后序序列为
A.ABDEGCFH
B.DBGEAFHC
C.DGEBHFCA
D.ABCDEFGH
解析:二叉树遍历可以分为3种:前序遍历(访问根结点在访问左子树和访问右子树之前)、中序遍历(访问根结点在访问左子树和访问右子树两者之间)、后序遍历(访问根结点在访问左子树和访问右子树之后)。本题中前序遍历为ABDEGCFH,中序遍历为DBGEAFHC,后序遍历为DGEBHFCA,所以为C。
5、下面不属于软件工程三要素的是()。
A.环境
B.工具
C.过程
D.方法
解析:软件工程包含3个要素:方法、工具和过程。本题选A选项。
6、软件集成测试不采用()。
A.自顶向下增量组装
B.自底向上增量组装
C.迭代式组装
D.一次性组装
解析:集成测试时将模块组装成程序通常采用两种方式:非增量方式组装与增量增量方式组装。非增量方式也称为一次性组装方式;增量方式又分为自顶向下,自底向上,自顶向下与自底向上相结合的混合增量方法,所以选C。
7、下面属于“对象”成份之一的是()。
A.封装
B.规则
C.属性
D.继承
解析:面向对象方法中的对象由两部分组成:①数据,也称为属性,即对象所包含的信息,表示对象的状态;②方法,也称为操作,即对象所能执行的功能、所能具有的行为。本题选C选项。
8、数据流图(DFD)的作用是()。
A.支持软件系统功能建模
B.支持软件系统的面向对象分析
C.描述软件系统的控制流
D.描述软件系统的数据结构
解析:数据流图是描述数据处理过程的工具,是需求理解的逻辑模型的图形表示,它直接支持系统的功能建模,所以选A。
9、实体电影和实体演员之间的联系是()。
A.一对一
B.多对多
C.多对一
D.一对多
解析:一部电影可由多名演员参演,一名演员可以参演多部电影,因此实体电影和实体演员之间的联系是多对多。本题选B选项。
10、定义学生的关系模式如下:S(S#,Sn,Sex,Age,D#,Da)(其属性分别为学号、姓名、性别、年龄、所属学院、院长)该关系的范式最高是()。
A.1NF
B.2NF
C.3NF
D.BCNF
解析:关系数据库中的关系是要满足一定要求的,满足不同程度要求的为不同的范式。满足最低要求的叫第一范式,简称1NF。在满足第一范式的基础上,进一步满足更多要求规范则是第二范式。然后在满足第二范式的基础上,还可以再满足第三范式,以此类推。对于关系模式,若其中的每个属性都已不能再分为简单项,则它属于第一范式。若某个关系R为第一范式,并且R中每一个非主属性完全依赖于R的某个候选键,则称其为第二范式。第二范式消除了非主属性对主键的部分依赖如果关系R是第二范式,并且每个非主属性都不传递依赖于R的候选键,则称R为第三范式。(传递依赖:在关系模式中,如果Y→X,X→A,且X不决定Y和A不属于X,那么Y→A是传递依赖。)本题中,关系S满足第一范式和第二范式,但是S#→D#,D#→Da,存在传递依赖,因此不满足第三范式。该关系的范式最高是2NF。本题选B选项。
11、以下选项中Python用于异常处理结构中用来捕获特定类型的异常的保留字是()。
A.while
B.except
C.pass
D.do
解析:保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python3.x版本中有35个保留字,while用来构建循环,except用来捕获异常,pass表示空语句,本题选B选项
11、以下选项中Python用于异常处理结构中用来捕获特定类型的异常的保留字是()。
A.while
B.except
C.pass
D.do
解析:保留字,也称关键字,是指被编程语言内部定义并保留使用的标识符。Python3.x版本中有35个保留字,while用来构建循环,except用来捕获异常,pass表示空语句,本题选B选项
12、以下选项中符合Python语言变量命名规则的是()。
A.¥1
B.5_10
C.Templist
D.He!!o
解析:表示符命名规则是字母数字下划线,数字不能作为开头。除下划线,不要有其他字符。所以本题选C。
13、以下关于Python字符串的描述中,错误的是()。
A.在Python字符串中,可以混合使用正整数和负整数进行索引和切片
B.Python字符串采用[N:M]格式进行切片,获取字符串从索引N到M的子字符串(包含N和M)
C.字符串'C:\\\\python.py'中第一个\\表示转义符
D.空字符串可以表示为""或''
解析:Python字符串采用[N:M]格式进行切片,获取字符串从索引N到M的子字符串(包含N,不包含M)。本题选B选项。
14、以下选项中不是Python文件读操作方法的是()。
A.read
B.readtext
C.readline
D.readlines
解析:Python中对文件的读操作有read、readline、readlines。所以本题选B。
15、以下关于语言类型的描述中,正确的是()。
A.静态语言采用解释方式执行,脚本语言采用编译方式执行
B.解释是将源代码一次性转换成目标代码同时逐条运行目标代码的过程
C.C语言是静态编译语言,Python语言是脚本语言
D.编译是将目标代码转换成源代码的过程
解析:高级语言根据计算机执行机制的不同可分为两类:静态语言和动态语言。静态语言采用编译方式执行,脚本语言采用解释方式执行。例如,C语言是静态语言,Python是脚本语言。编译是将源代码转换成目标代码的过程。解释是将源代码逐条转换成目标代码同时逐条运行目标代码的过程。本题选C选项。
16、以下选项中,Python语言中代码注释使用的符号是()。
A.!
B.//
C.#
D./*… …*/
解析:Python中的单行注释符号为#,多行注释为##。 所以本题选C。
17、以下关于函数的描述,错误的是()。
A.使用函数的目的只是为了增加代码复用。
B.函数是一种功能抽象
C.使用函数后,代码的维护难度降低了
D.函数名可以是任何有效的Python标识符
解析:函数是一种功能抽象,使用函数后,函数处修改则所有调用的函数处都被修改,所以大大的降低了代码的维护难度,函数名可以是任何有效的Python表示符。增加代码复用只是函数的一个优点之一。所以本题选A。
18、以下代码的输出结果是()。
def fun(ss, x = 2.0,y = 4.0):
ss += x * y
ss = 10
print(ss, fun(ss, 3))
A.22 None
B.10.0 22.0
C.10 None
D.22.0 None
解析:本题打印第一个ss值为10,第二个参数调用了函数,该函数没有返回值,得到None。所以本题选C。
19、以下代码的输出结果是()。
def demo( b = 2, a = 4):
global z
z += a * b
return z
z = 10
print(z, demo())
A.10 18
B.18 18
C.UnboundLocalError
D.18 None
解析:本题打印第一个z值为10,第二个参数调用了函数,该函数返回值是18,则本题输出的结果为10 18。所以本题选A。
20、以下关于分支和循环结构的描述中,错误的是()。
A.While循环只能用来实现无限循环
B.保留字break可以终止一个循环
C.所有的for分支都可以用while循环改写
D.continue可以停止后续代码的执行,从循环的开头重新执行
解析:Python中循环包括两种:遍历循环和无限循环。遍历循环使用保留字for依次提取遍历结构元素进行处理;无限循环使用保留字while根据判断条件执行程序。如果while中判断条件可以执行一次或两次,while中的语句块也就执行一次或两次,A项错误。循环结构有两个辅助循环控制保留字:break和continue。break用来跳出最内层for或while循环,脱离该循环后程序从循环后的代码继续执行;continue用来结束当前当次循环,即跳出循环体中下面尚未执行的语句,但跳不出当前循环。两者的区别是:continue语句只结束本次循环,不终止整个循环的执行,而break具备结束循环的能力。C、D两项正确。所有的for分支都可以用while循环改写,B项正确。本题选A选项。
21、以下关于函数优点的描述中,正确的是()。
A.函数可以表现程序的复杂度
B.函数可以使程序更加模块化
C.函数可以减少代码多次使用
D.函数便于书写
解析:函数定义:函数是指一组语句的集合通过一个名字(函数名)封装起来,要想执行这个函数,只需要调用其函数名即可。函数能提高应用的模块性和代码的重复利用率。本题选B选项。
22、Python中定义类的关键字是()。
A.def
B.class
C.function
D.defun
解析:在Python语言中,用关键字class来定义类。本题选B选项。
23、random库的seed(1)函数的作用是 ()。
A.生成一个随机数
B.生成一个k比特长度的随机整数
C.设置初始化随机数种子1
D.生成一个[0.0, 1.0)之间的随机小数
解析:在Python语言中,seed函数的作用是设置初始化随机种子,本题选C选项
24、以下关于Python函数的描述中,错误的是()。
A.Python程序的main函数可以改变为其他名称
B.如果Python程序包含一个函数main(),这个函数与其他函数地位相同
C.Python程序可以不包含main函数
D.Python程序需要包含一个主函数且只能包含一个主函数
解析:Python是一种脚本解释语言,与C/C++和Java有很大的区别,没有主函数的说法。当运行单个python文件时,如文件名为a.py,则a的属性name=='_main_',并不是首先执行所谓的main函数。Python整个程序自顶向下顺序执行。本题选D选项。
25、以下代码的输出结果是()。
n = 2
def multiply(x,y = 10):
global n
return x * y * n
s = multiply(10,2)
print(s)
A.400
B.1024
C.200
D.40
解析:本题考察的是函数的使用,x和y的值分别为10和2,则函数返回值为40。所以本题选D
26、当用户输入2时,下面代码的输出结果是()。
try:
n=input("请输入一个整数:")
def fun (n):
return n**5
fun(n)
except:
print("程序执行错误")
A.10
B.32
C.程序没有任何输出
D.程序执行错误
解析:input()函数从控制台获得用户的一行输入,无论用户输入什么内容,input()函数都以字符串类型返回结果。当用户输入2时,n='2',这是字符2,不是数字2,不能进行数值运算,故程序会执行except后面的语句,输出程序执行错误。本题选D选项。
27、在Python语言中,不属于组合数据类型的是()。
A.复数类型
B.字典类型
C.列表类型
D.元组类型
解析:最常用的组合数据类型有大类,分别是集合类型、序列类型和映射类型。其中序列类型包括字符串类型、列表类型和元组类型,字典类型属于映射类型。本题选A选项。
28、以下代码的输出结果是()。
ls=list(range(4))
print(ls)
A.[0,1,2,3,4]
B.[0,1,2,3]
C.0,1,2,3,
D.0,1,2,3,4
解析:用中括号([0])表示列表类型,也可以通过list(x)函数将集合或字符串类型转换成列表类型。此代码生成列表ls=[0,1,2,3],最后通过print()函数输出。本题选B选项
29、元组变量t=("cat", "dog", "tiger", "human"), t[::-1]的结果是()。
A.('human', 'tiger', 'dog', 'cat')
B.'human', 'tiger', 'dog', 'cat'
C.['human', 'tiger', 'dog', 'cat']
D.运行出错
解析:元组属于序列类型,t[::-1]表示从右边往左边切片。所以本题选A。
30、关于Python文件的‘+’打开模式,以下选项正确的描述是()。
A.只读模式
B.追加写模式
C.与r/w/a/x一同使用,在原功能基础上增加同时读写功能
D.覆盖写模式
解析:r表示只读模式,a表示追加写模式,w表示覆盖写模式,+可以和r/w/a/x一同使用,表示在原功能基础上增加同时读写功能。所以本题选C。
31、以下代码运行的结果是()。
def split(s):
return s.split("a")
s = "Happy birthday to you!"
print(split(s))
A.运行出错
B.['Happy', 'birthday', 'to', 'you!']
C.['H', 'ppy birthd', 'y to you!']
D."Happy birthday to you!"
解析:本题考查字符串的split()函数,更具split()里面指定参数分隔字符串,本题是更具字符a去分隔该字符串s,所以本题选C。
32、以下代码的输出结果是()。
L1 =['abc', ['123','456']]
L2 = ['1','2','3']
print(L1 > L2)
A.TypeError: '>' not supported between instances of 'list' and 'str'
B.True
C.False
D.1
解析:本题考查的是两个列表的大小比较方法,列表比较大小可采用从左到右依次比较元素大小,若产生结果则不需继续比较。本题第一个元素是‘abc’和‘1’比较,字符串比较大小也是采用此方法,所以‘a’比‘1’字符大,则L1大于L2。所以本题答案选B。
33、以下程序输出正确的是()。
def func(num):
num *= 2
x = 20
func(x)
print(x)
A.出错
B.无输出
C.40
D.20
解析:本题考查的是函数的使用,该函数没有返回值,结果打印输出的是x则输出结果为20。所以本题选D。
34、文件demo.txt在当前代码所在目录内,其内容是一段文本:python is best language,以下代码的输出结果是()。
txt=open("demo.txt","r")
print(txt)
txt.close()
A.txt
B.demo.txt
C.非其他答案
D.python is best language
解析:open()函数打开一个文件,并返回可以操作这个文件的变量txt,并且open()函数有两个参数:文件名和打开模式。本题只是打开了文件,并没有对文件进行操作,因此不会输出文件的内容。print(txt)语句输出的是变量txt代表的文件的相关信息:。若想要输出文件的内容,需要把文件的内容读入,如txt1=txt.read()。本题选C选项。
35、本题输出的结果正确的是()。
def func(a,*b):
for item in b:
a += item
return a
m = 0
print(func(m,1,1,2,3,5,7,12,21,33))
A.7
B.33
C.85
D.0
解析:本题考查的是函数和循环的使用, 调用该函数的时候形参a得到的值是0,b得到的值是1,1,2,3,5,7,12,21,33。函数内部的语句是进行循环依次取出a中的元素进行累加。最终结果为85。所以本题选C。
36、以下属于 Python 脚本程序转变为可执行程序的第三方库的是:()。
A.scrapy
B.numpy
C.pyinstaller
D.requests
解析:numpy是主要用作数据分析,scrapy和requests主要用于爬虫, pyinstaller主要用作打包程序。本题选C。
37、以下属于 Python 中文分词方向第三方库的是:()。
A.python-docx
B.pandas
C.beautifulsoup4
D.jieba
解析:jieba库的主要用于中文分词。所以本题选D。
38、在Python语言中,包含矩阵运算的第三方库是()。
A.numpy
B.PyQt5
C.wordcloud
D.wxPython
解析:numpy是Python的一种开源数值计算扩展第三方库,用于处理数据类型相同的多维数组,简称“数组”。numpy可以用来存储和处理大型矩阵,提供了许多高级的数组编程工具,如矩阵运算、矢量处理、N维数据变换等。本题选A选项。
39、在Python语言中,能够处理图像的第三方库是()。
A.pyinstaller
B.pyserial
C.pygame
D.PIL
解析:PIL库是Python语言在图像处理方面的重要的第三方库,支持图像存储、处理和显示,它能够处理几乎所有的图片格式,可以完成对图像的缩放、剪裁、叠加以及图像添加线条、图像和文字等操作。使用Python语言处理图像相关的程序,首选PIL库。本题选D选项。
40、在Python语言中,属于Web开发框架第三方库的是()。
A.Mayavi
B.Flask
C.PyQt5
D.time
解析:在Python语言中,属于Web开发框架第三方库的有:Django库、Pyramid库和Flask库。本题选B选项。
二、基本操作
三、简单应用
四、综合应用
计算机二级C语言题库(44套真题+刷题软件)第一套
刷题软件
gongzhonghao:露露IT
1、循环队列的存储空间为Q(1:100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为( )。
A. 0或100
B. 1
C. 2
D. 99
本题考查知识点是循环队列。当队头和队尾指针指向同一个元素时,队列为空或队列为满。故所以本题答案为A。
2、某系统结构图如下图所示。该系统结构图的最大扇入数是( )。
A. 1
B. 4
C. 2
D. 3
本题的考查知识点是软件结构。模块的扇入指模块直接调用该模块的上级模块的个数。根据定义,功能模块n.1的直接上级模块有3个,扇入数最大。所以本题答案为D。
3、下列叙述中正确的是( )。
A. 数据库的数据项之间存在联系
B. 数据库中任意两个表之间一定不存在联系
C. 数据库的数据项之间无联系
D. 数据库的数据项之间以及两个表之间都不存在联系
本题考查知识点是数据库知识。数据库中的数据是有结构的,这种结构由数据库管理系统所支持的数据模型表现出来。数据库系统不仅可以表示事物内部各数据项之间的联系,而且可以表示事牧与事物之间的联系,从而反映出现实世界事物之间的联系。以关系数据库系统为例,数据库中的数据存储在二维表中,表由记录构成,每个记录都有相同的结构,既每个记录所包含的属性类型相同,而取值不同,因此可以肯定数据库中的记录之间存在联系。数据库中的数据项,也就是二维表的字段,而在数据库的表中,通常会设定某个字段或某些字段为键,通过这些键就可以确定其他字段的值,既数据库中的数据项之间也存在一定的关系,因此,数据库的数据项之间以及记录之间都存在联系。所以本题答案为A。
4、下列叙述中正确的是( )。
A. 数据库系统可以减少数据冗余和增强数据独立性,而文件系统不能
B. 数据库系统能够管理各种类型的文件,而文件系统只能管理程序文件
C. 数据库系统可以管理庞大的数据量,而文件系统管理的数据量较少
D. 以上选项都不正确
本题考查知识点是数据库系统基本特点。数据库技术是在文件系统基础上发展产生的,两者都以数据文件的形式组织数据,但由于数据库系统在文件系统之上加入了DBMS对数据库进行管理,从而使得数据库系统具有以下特点: 1、数据的继承性; 2、数据的高共享性和低冗余性; 3、数据独立性; 4、数据统一管理与控制。所以本题答案为A。
5、在关系数据库设计中,关系模式设计属于( )。
A. 需求分析
B. 概念设计
C. 物理设计
D. 逻辑设计
本题的考查知识点是关系模式。数据库的逻辑设计主要工作是将E-R图转换成指定RDBMS中的关系模式。所以关系模式设计属于逻辑设计。所以本题答案为D。
6、表示学生选修课程的关系模式是SC(S#,C#, G),其中S#为学号,C#为课程号,G为成绩,检索选修了课程号为2的课且成绩不及格的学生学号的表达式是( )。
本题考查知识点是关系运算。检索的是学生学号S#,故A、B选项错误。检索选修了课程号为2的课且成绩不及格,此处是两个并列条件,课程号为2并且成绩<6O,所以选项D错误。所以本题答案为C。
7、按照传统的数据模型分类,数据库系统可分为( )。
A. 层次、网状和关系
B. 大型、中型和小型
C. 西文、中文和兼容
D. 数据、图形和多媒体
本题考查知识点是数据模型的定义。逻辑数据模型又称数据模型,是一种面向数据库系统的模型,该模型着重于在数据库系统一级的实现,较为成熟并先后被人们大量使用过的有:层次模型、网状模型、关系模型、面向对象模型等。所以本题答案为A。
8、现有表示患者和医疗的关系如下:P(P#,Pn,Pg,By),其中P#为患者编号,Pn为患者姓名,Pg为性别,By为出生日期,Tr(P#,D#,Date,Rt),其中D#为医生编号,Date为就诊日期,Rt为诊断结果。检索在1号医生处就诊的男性病人姓名的表达式是( )。
本题考查知识点是关系运算。本题检索的是病人姓名Pn,故B、D选项错误。检索在1号医生处就诊的男性病人姓名,选项C中未筛选病人性别,故选项C错误。所以本题答案为A。
9、一名员工可以使用多台计算机,每台计算机只能由一名员工使用,则实体员工和计算机间的联系是( )。
A. 一对一
B. 多对多
C. 多对一
D. 一对多
本题考查知识点是实体联系。一对多联系表现为主表中每一条记录与相关表中的多条记录关联,则员工与计算机的关系为一对多。所以本题答案为D。
10、学生选课成绩表的关系模式是SC(S#,C#, G),其中S#为学号,C#为课号,G为成绩,学号为20的学生所选课程中成绩及格的全部课号为( )。
本题考查知识点是关系运算。本题检索的是课号C#,故B、C选项错误。选项D中未筛选成绩及格的记录,故选项D错误。所以本题答案为A。
11、若有以下程序
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct stu
char *name,gender;
int score;
;
main()
struct stu a=NULL,'m', 290 , b;
a. name=(char *)malloc(10) ;
strcpy (a.name,"Zhao") ;
b=a;
b. gender=' f' ;
b.score=350;
printf("%s,%c, %d," , a.name, a. gender, a.score) ;
printf("%s,%c, %d\\n", b.name, b.gender, b.score) ;
则程序的输出结果是( )。
A. Qian, m,290,Qian,f,350
B. Zhao, m,290,Qian,f,350
C. Qian,f,350,Qian,f,350
D. Zhao,m,290, Zhao,f,350
本题的考查点是结构体的运用。本题在结构体内定义了指针变量name,字符变量gender,整型变量score,在主函数中定义了两个结构体变量a和b,并为a赋予了新值;语句b=a是将结构体变量a的内容赋给了结构体变量b。对于结构体的赋值,意味着将其中的每一个元素都进行赋值,但b.gender= 'f' ;b.score=350;语句又为b赋予了新值,a. name和b.name是指向同一内存地址的,因此a.name=b. name=Zhao。故本题答案为D。
12、若有以下程序
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
typedef struct stu
char *name,gender;
int score;
STU;
void f(char*p)
p=(char *)malloc(10) ;
strcpy(p,"Qian");
main()
STU a=NULL,'m'', 290 ,b;
a.name=(char *)malloc(10);
strcpy ( a.name,"Zhao");
b = a;
f(b.name);
b.gender = 'f' ; b.score = 350;
printf("%s,%c, %d,",a. name,a.gender,a.score) ;
printf("%s,%c,%d\\n", b.name,b.gender,b.score) ;
则程序的输出结果是( )。
A. Zhao,m,290,Qian,f,350
B. Zhao,m, 290, Zhao,f,350
C. Qian,f,350,Qian, f, 350
D. Qian, m,290,Qian,f[逗号]350
本题的考查点是结构体的运用。本题定义了两个结构体变量a和b,并为a赋予了新值;语句b=a是将结构体变量a的内容赋给了结构体变量b,对于结构体的赋值,意味着将其中的每一个元素都进行赋值,执行f (b.name)时,调用f函数,在f函数体中给p开辟了一个新的空间,在新的空间里的*p=Qian,但对主函数无任何影响,语句又为b中的gender和score元素赋予了新值,b.gender = 'f'; b.score = 350 ; 。故本题答案为B。
13、若有定义
typedef int* T;
T a[10];
则a的定义与下面哪个语句等价( )。
A. int *a;
B. int (*a)[10];
C. int *a[10];
D. int a[10];
本题的考查点是用户定义类型(typedef) 。 C语言允许用typedef说明一种新类型名,说明新类型名的语句一般形式为: typedef 类型名 标识符; 由题目可知T是指针类型,T a[10]是数组指针,int *a[10]是数组指针;int (*a)[10]是指针数组; int *a是指针变量; int a[10]是数组。故本题答案为C。
14、若有以下程序
#include <stdio.h>
main()
int c;
c= 10^5;
printf("%d\\n",c);
则程序的输出结果是( )。
A. 5
B. 10000
C. 15
D. 105
本题的考查点是"异或"运算符。 "按位异或"运算的规则是参与运算的两个运算数中相对应的二进制位上,若数相同,则该位的结果为0,不同则为1。c=10^5=01010^00101=01111=15。故本题答案为C。
15、若有以下程序
#include <stdio.h>
main()
FILE*fp ;
int i, a[6]=1,2,3,4,5,6 , k;
fp = fopen("data.dat","w+");
for (i=0; i<6; i++)
fseek(fp,0L, 0) ; fprintf(fp,"%d\\n", a[i]) ;
rewind(fp);
fscanf(fp,"%d",&k);
fclose(fp);
printf("%d\\n", k);
则程序的输出结果是( )。
A. 6
B. 1
C. 123456
D. 21
本题的考查点是文件。 "w+"的作用:首先建立一个新文件,进行写操作,随后可以从头开始读,如果指定的文件已存在,则原有的内容将全部消失。rewind函数的功能是使文件的位置指针回到文件的开头。当i=0时,向文件写入a[0],即写入:1 当i=1时,向文件写入a[1],即写入:2,并覆盖原来文件中的内容当i=2时,向文件写入a[2],即写入:3,并覆盖原来文件中的内容当i=3时,向文件写入a[3],即写入:4,并覆盖原来文件中的内容当i=4时,向文件写入a[4],即写入:5,并覆盖原来文件中的内容当i=5时,向文件写入a[5],即写入:6,并覆盖原来文件中的内容所以k=6。故本题答案为A。
16、若有以下程序
#include <stdio.h>
#define S(x) (x)*(x)
#define T(x) S(x)/S(x)+1
main()
int k=3,j=2;
printf("%d, %d\\n",S(k+j),T(k+j));
则程序的输出结果是( )。
A. 25.2
B. 25.26
C. 11.12
D. 11.2
本题的考查点是define关键字。由#define S(x) x*x和#define T(x) S(x)/S(x)+1得: S(k+j)=(k+j)*(k+j)=(3+2)* (3+2)=25; T(k+j)= S(x)/S(x)+1=(k+j)* (k+j)/ (k+j)*(k+j)+1=(3+2)*(3+2)/ (3+2)*(3+2)+1=26。故本题答案为B。
17、若有以下程序
#include <stdio.h>
typedef struct stu
char name[10],gender;
int score;
STU;
void f(STU a,STU b)
b = a;
printf( "%s,%c,%d,",b.name,b. gender,b.score );
main()
STU a="Zhao",'m', 290,b="Qian", 'f', 350 ;
f(a, b);
printf("%s,%c, %d\\n", b.name,b.gender,b.score);
则程序的输出结果是( )。
A. Zhao, m,290,Qian,f,350
B. Zhao, m, 290,Zhao, m,290
C. Qian, f,350,Qian,f,350
D. Zhao, m,290,Zhao,f,350
本题的考查点是结构体的运用。本题定义了两个结构体变量a和,f(a,b)函数是按值传送,因此在f函数中将a的内容复制给b,输出Zhao, m,2 90,但并未对主函数中结构体b中的值造成影响,因i主函数中输出Qian,f,350。故本颗答案为A。
18、若有以下程序
#include <stdio.h>
#include <string.h>
typedef struct stu char name[10],gender;
int score;
STU;
void f( char*p )
strcpy( p, "Qian");
main()
STU a="Zhao", 'm', 290,b;
b=a;
f(b.name) ;
b. gender = 'f' ; b.score = 350 ;
printf("%s,%c,%d,",a.name,a.gender,a.score) ;
printf("%s,%c,%d\\n", b.name,b.gender,b.score) ;
则程序的输出结果是( )。
A. Zhao, m,290,Qian,f,350
B. Zhao, m, 290,Zhao, m,290
C. Qian,f,350,Qian,f,350
D. Zhao, m,290, Zhao,f,350
本题的考查点是结构体的运用。本题定义了两个结构体变量a和b,f(b.name)的作用是Qian赋值给p和b.nam e所共同指向的内存单元的值。故本题答案为A。答案:A 本题的考查点是结构体的运用。本题定义了两个结构体变量a和b,f(b.name)的作用是Qian赋值给p和b.name所共同指向的内存单元的值。故本题答案为A。
19、有以下程序
#include <stdio.h>
main()
char c='A';
int x=36, b;
b=(x>>2)&& ( c<'a') ;
printf("%d\\n",, b ) ;
程序运行后的输出结果是______。
A. 2
B. 0
C. 1
D. 4
本题考查的是位运算。 C语言提供六种位运算符,按优先级由高到低的顺序分别为:取反(~)→左移(<<)和右移(>>)→按位与(&)→按位异或(^)→按位或(|)。 (x>>2)是右移两位为(右移1位是除以2)∶9,条件为真,则为1,(c<' a')为真则是1,符号&&两侧同时为真,表达式的值才为真,故(x>>2)&&( c<'a')表达式为真,即b=1。故本题答案为C。
20、若有以下程序
#include <stdio.h>
typedef struct
char name[10];
int age;
ST;
main()
ST stud[10]= "Adum",15,
"Muty",16,
"Paul", 17,
"Johu", 14,
;
程序运行后不能输出字符u的语句是( )。
A. printf("%c\\n",stud[1].name[1]);
B. printf("%c\\n",stud[3].name[3]);
C. printf("%c \\n",stud[2].name[2] );
D. printf("%c \\n",stud[0].name[3] ) ;
本题的考查点是结构体的运用。假设i,j为整型;stud iJ.name[j])对应的是变量stud[10]第i个元素,name[10]中的第j个元素,注意数字是从0开始的。stud[0].name[3]对应的是m,其余的对应的是u。故本题答案为D。
21、以下叙述正确的是( )。
A. EOF可以作为所有文件的结束标志
B. EOF只能作为文本文件的结束标志,其值为-1
C. EOF只能作为二进制文件的结束标志
D. 任何文件都不能用EOF作为文件的结束标志
本题的考查点是EOF的作用。 EOF作为文件结束的标志,但是文件必须是文本文件。EOF的值为-1。故本题答案为B。
22、以下叙述正确的是( )
A. 在C语言中调用fopen函数就可把程序中要读、写的文件与磁盘上实际的数据文件联系起来
B. fopen函数的调用形式为: fopen(文件名)
C. fopen函数的返回值为NULL时,则成功打开指定的文件
D. fopen函数的返回值必须赋给一个任意类型的指针变量
本题的考查点是对fopen函数的理解。在C语言中fopen函数就可把程序中要读、写的文件与磁盘上实际的数据文件联系起来,其调用形式为:fopen (文件名,文件使用方式)﹔若该函数调用成功,函数返回一个FILE类型的指针,赋给文件指针变量,从而与文件联系起来,当打开文件时出现错误,fopen函数将返回NLL。故本题答案为A。
23、以下不能对文件进行输出的库函数是( )。
A. fwrite
B. fputc
C. fpout
D. fprintf
本题的考查点是文件输出函数。对文件进行输出的库函数是fputc、 fwrite、fprintf。故本题答案为C。
24、有以下程序
#include <stdio.h>
struct link
int data;
struct link*next;
;
main()
struct link*h, a ,b;
h=&a; a. data=10; a.next=&b; b.data=20;
程序运行时不能输出10,20的语句是( )。
A. printf("%d, %d \\n" , a.data,(*a.next).data) ;
B. printf("%d,%d\\n",h->data, a.next.data);
C. printf("%d,%d \\n", h->data,(*a. next).data) ;
D. printf("%d, %d \\n" , a.data, a.next->data);
本题的考查点是对结构体变量成员的引用。若已定义了一个结构体变量和基类型为同一结构体类型的指针变量,并使该指针指向同类型的变量则可以用以下三种形式来引用结构体变量中的成员。结构体变量名也可以是已定义的结构体数组的数组元素。 (1)结构体变量名.成员名 (2)指针变量名->成员名 (3) (*指针变量名).成员名故本题答案为B。
25、有以下程序
#include <stdio.h>
main()
int a=3 , b=3;
printf("%d \\n", a&b);
程序运行后的输出结果是( )。
A. 3
B. 1
C. 0
D. 6
本题考查的是位运算。 C语言提供六种位运算符,按优先级由高到低的顺序分别为:取反(~)→左移(<<)和右移(>>)→按位与(&)→按位异或(^)→按位或(|)。相同的两个数进行相与,还是原来的数。故本题答案为A。
26、以下选项中的编译预处理命令行,正确的是( )。
A. #define int INT
B. ##define eps 0.001
C. #DEFINE TRUE
D. #define PI 3.14
本题考查的是宏替换。不带参数的宏定义命令形式如下: #define 宏名 替换文本宏名是用户定义的标识符,因此不能与程序中的其他名字相同。故本题答案为D。
27、设有以下程序段
struct person
char name[10];
char sex;
float weight;
zhangsan,*ptr;
ptr = &zhangsan;
若要从键盘读入姓名给结构体变量zhangsan的name成员,输入项错误的是( )。
A. scanf("%s", zhangsan->name);
B. scanf("%s", zhangsan. name) ;
C. scanf("%s", ptr->name);)
D. scanf("%s",(*ptr). name);
本题的考查点是对结构体变量成员的引用。若已定义了一个结构体变量和基类型为同一结构体类型的指针变量,并使该指针指向同类型的变量则可以用一下三种形式来引用结构体变量中的成员。结构体变量名也可以是已定义的结构体数组的数组元素。 (1)结构体变量名.成员名 (2)指针变量名->成员名 (3)(*指针变量名).成员名故本题答案为A。
28、有如下程序
#include <stdio.h>
struct person
char name[10] ;
int age;
main()
struct person room[4] = "Zhang",19,"Li",20,"Wang",17,"Zhao",18;
printf("%s: %d\\n", (room+2)->name,room->age) ;
程序运行后的输出结果是_____。
A. Li:20
B. Wang:17
C. Wang:19
D. Li : 19
本题的考查点是结构体的运用。由题目可知:room指针指向的是结构体room[4]的第一个元素"Zhang",19 ;(room+2)->name指针指向的是结构体room[4]的第三个元素中的Wang 故本题答案为C。
29、表达式3.6-5/2+1.2+5%2的值是( )。
A. 3.8
B. 4.8
C. 3.3
D. 4.3
本题的考查点是算数运算符。基本的算数运算符是+、一、*、/、%,其中/和%运算的运算两边类型一致,结果也与运算数的类型一致。3.6-5/2+1.2+5%2=3.6-2+1.2+1=3.8。故本题答案为A。
30、有以下程序
#include <stdio.h>
main()
int a=0, b=0;
/*给a赋值 a=10;
b=20; 给b赋值*/
printf("a+b=%d\\n" , a+b); /* 输出计算结果*/
程序运行后的输出结果是( )。
A. a+b=0
B. a+b=30
C. a+b=10
D. 出错
本题的考查点是注释的运用。题目中开始给a和b分别赋初值=0,而第4和第5行语句是在注释中,不起作用,因此a+b=0。故本题答案为A。
31、我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是______。
A. 一条C语句可能会被转换成零条机器指令
B. 一条C语句可能会被转换成多条机器指令
C. 一条C语句对应转换成一条机器指令
D. 某种类型和格式的C语句被转换成机器指令的条数是固定的
本题的考查点是编译。一条C语言被转换成的机器指令条数可能是0条,一条或者多条。故本题答案为C。
32、关于"while(条件表达式)循环体",以下叙述正确的是( )。
A. 条件表达式的执行次数总是比循环体的执行次数多一次
B. 循环体的执行次数总是比条件表达式的执行次数多一次
C. 条件表达式的执行次数与循环体的执行次数一样
D. 条件表达式的执行次数与循环体的执行次数无关
本题的考查点是while(条件表达式)循环体。对于while(条件表达式)循环体,我们是先判断,若满足条件表达式则执行循环体、若不满足则退出循环。当遇到不满足条件时,我们执行了条件表达式,并没有执行循环体。故条件表达式的执行次数总是比循环体的执行次数多一次。故本题答案为A。
33、关于C语言的符号常量,以下叙述中正确的是( )。
A. 符号常量的符号名是标识符,但必须大写
B. 符号常量是指在程序中通过宏定义用一个符号名来代表一个常量
C. 符号常量在整个程序中其值都不能再被重新定义
D. 符号常量的符号名必须是常量
本题的考查点是符号常量。在C语言程序中,可以用一个符号名来代表一个常量,称为符号常量。这个符号名必须在程序中进行特别的"指定",并符合标识符的命名规则。故本题答案为B。
34、若有以下程序
#include <stdio.h>
main()
int b=10, a=-11;
a %= b %=4;
printf("%d %d\\n", a,b);
则程序的输出结果是_______。
A. -1 2
B. 1 2
C. -1 -2
D. 1 -2
本题考查的是算术运算符。在算术运算符中%是求余。 a%=b%=4可知b=b%4=10%4=2,a=a%b=-11%2=-1。故本题答案为A。
35、若有以下程序
#include <stdio.h>
main()
int a=0, b=0,c=0;
c= (a -= ++a),(a+=b, b+=4);
printf("%d,%d,%d\\n" , a, b, c);
则程序的输出结果是_______。
A. 0,4,0
B. 0,4,4
C. 1,4,1
D. 1,4,4
本题考查的是算术运算符。 (a-=++a)即a=a-(++a)=1-1=0;c=(a-=++a)=0; a+=b=0+0=0; b+=4=0+4=4故本题答案为A。
36、有以下程序
#include <stdio.h>
main()
int a=0, b=0,c=0, d;
c= (a+=b,, b+=a); /*第4行*/
d=c ;; /*第5行*/
; /*第6行*/
; printf("%d,%d,%d\\n" , a, b, c); /*第7行*/
编译时出现错误,你认为出错的是_____。
A. 第7行
B. 第5行
C. 第6行
D. 第4行
本题考查的是逗号表达式。在逗号表达式中,左边是表达式,右边是返回值,但在第4行语句中有多余的","。故本题答案为D。
37、关于算法,以下叙述中错误的是( )。
A. 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕
B. 同一个算法对于相同的输入必能得出相同的结果
C. 一个算法对于某个输入的循环次数是可以事先估计出来的
D. 某个算法可能会没有输入
本题考查的是算法。算法是指为解决某个特定问题而采取的确定且有效的步骤。一个算法应该具有以下五个特性: (1) 有穷性:一个算法包含的有效步骤应该是有限的,也就是说,在执行若干个操作步骤之后,算法将结束,而且每一步都在合理的时间内完成。 (2) 确定性:算法中的每一条指令必须有确切的含义,不能有二义性,对于相同的输入必能得出相同的执行结果。 (3)可行性:算法中指定的操作,都可以通过已经验证过可以是实现的基本运算执行有限次后的实现。 (4)有零个或多个输入:在计算机上实现的算法是用来处理数据对象的,在大多数情况下这些数据对象需要通过输入来得到。 (5)有一个或多个输出:算法的目的是为了求"解"这些"解[双引号]只有通过输出才能得到。故本题答案为A。
38、关于C语言的变量,以下叙述中错误的是( )。
A. 变量所占的存储单元地址可以随时改变
B. 所谓变量是指在程序运行过程中其值可以被改变的量
C. 程序中用到的所有变量都必须先定义后才能使用
D. 由三条下划线构成的符号名是合法的变量名
本题考查的是变量。所谓变量是指在程序运行过程中其值可以改变的量,程序中用到的所有变量都必须有一个名字作为标识,变量的名字是由用户定义,它必须符合标识符的命名规则;一个变量实质上代表了内存中的某个存储单元;C语言规定,程序中所有的标量都必须先定义后使用。故本题答案为A。
39、关于do循环体while (条件表达式);以下叙述中正确的是( )。
A. 条件表达式的执行次数与循环体的执行次数无关
B. 循环体的执行次数总是比条件表达式的执行次数多一次
C. 条件表达式的执行次数总是比循环体的执行次数多一次
D. 条件表达式的执行次数与循环体的执行次数一样
本题的考查点是while(条件表达式)循环体。对于while(条件表达式)循环体,我们是先判断,若满足条件表达式则执行循环体,若不满足则退出循环。当遇到不满足条件时,我们执行了条件表达式,并没有执行循环体。故条件表达式的执行次数总是比循环体的执行次数多一次。故本题答案为D
40、若有以下程序
#include <stdio.h>
main()
int a=-11,b=10;
a /= b /= -4;
printf("%d %d\\n",a, b);
则程序的输出结果是______。
A. 5 -2
B. -1 -2
C. 4 -3
D. 5 -3
本题考查的是算术运算符。基本的算术运算符是+、一、*、/、%,其中/和%运算的运算两边类型一致,结果也与运算数的类型一致。a/=b/=-4可知b=b/-4=10/-4=-2; a=a/b=-11/(-2)=5。故本题答案为A。
以上是关于python二级题库(百分之九十原题) 刷题软件推荐 第二套的主要内容,如果未能解决你的问题,请参考以下文章