计算机二级c语言 第7套 笔试模拟试卷
全国计算机等级测验考试二级c++题库7共17套
第七套1、数据库管理系统是______。
A、操作系统的一部分B、在操作系统支持下的系统软件C、一种编译系统D、一种操作系统数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
故本题答案为B。
2、对于循环队列,下列叙述中正确的是______。
A、队头指针是固定不变的B、队头指针一定大于队尾指针C、队头指针一定小于队尾指针D、队头指针可以大于队尾指针,也可以小于队尾指针所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。
在循环队列中,用队尾指针rear指向队列中的队尾元素,用排头指针front指向排头元素的前一个位置。
循环队列主要有两种基本运算:入队运算与退队运算。
每进行一次入队运算,队尾指针就进一。
每进行一次退队运算,排头指针就进一。
当rear或front的值等于队列的长度+1时,就将rear或front的值置为1。
一般情况下,rear大于front,因为入队的元素肯定比出队的元素多。
特殊的情况是rear到达数组的上限之后又从数组的低端开始,此时,rear是小于front的。
故本题答案为D。
3、算法的空间复杂度是指______。
A、算法在执行过程中所需要的计算机存储空间B、算法所处理的数据量C、算法程序中的语句或指令条数D、算法在执行过程中所需要的临时工作单元数一个算法的空间复杂度,一般是指执行这个算法所需要的内存空间。
故本题答案为A。
4、下列数据结构中,能够按照"先进后出"原则存取数据的是______。
A、循环队列B、栈C、队列D、二叉树在栈中,允许插入与删除的一端称为栈顶,而不允许插入与删除的另一端称为栈底。
栈顶元素总是最后被插入的元素,从而也是最先能被删除的元素;栈底元素总是最先被插入的元素,从而也是最后才能被删除的元素。
即栈是按照"先进后出"或"后进先出"的原则组织数据的。
国家二级C语言机试C语言基础知识模拟试卷7_真题-无答案
国家二级C语言机试(C语言基础知识)模拟试卷7(总分60,考试时间90分钟)1. 选择题1. DOS文件系统的组织结构属于A. 星形结构B. 网星结构C. 环形结构D. 树形结构2. 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是A. C语言程序仅可以编译执行B. C语言程序仅可以解释执行C. C语言程序既可以编译执行又可以解释执行D. 以上说法都不对3. 以下叙述中错误的是A. C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件B. 用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中C. C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令D. C语言源程序经编译后生成后缀为.obj的目标程序4. 下列叙述中错误的是A. C程序可以由多个程序文件组成B. 一个C语言程序只能实现一种算法C. C程序可以由一个或多个函数组成D. 一个C函数可以单独作为一个C程序文件存在5. 以下叙述中错误的是A. 结构化程序由顺序、分支、循环三种基本结构组成B. C语言是一种结构化程序设计语言C. 使用三种基本结构构成的程序只能解决简单问题D. 结构化程序设计提倡模块化的设计方法6. 以下叙述中错误的是A. 算法正确的程序最终一定会结束B. 算法正确的程序可以有零个输入C. 算法正确的程序可以有零个输出D. 算法正确的程序对于相同的输入一定有相同的结果7. 以下选项中关于程序模块化的叙述错误的是A. 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块B. 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序C. 把程序分成若干相对独立的模块,可便于编码和调试D. 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序8. C语言源程序名的后缀是A. .exeB. .objC. .cD. .cp9. 关于算法,以下叙述中错误的是A. 同一个算法对于相同的输入必能得出相同的结果B. 一个算法对于某个输入的循环次数是可以事先估计出来的C. 某个算法可能会没有输入D. 任何算法都能转换成计算机高级语言的程序,并在有限时间内运行完毕10. 以下不能用于描述算法的是A. 程序语句B. E-R图C. 伪代码和流程图D. 文字叙述11. 以下叙述中正确的是A. 程序的算法只能使用流程图来描述B. N—S流程图只能描述简单的顺序结构的程序C. 计算机可以直接处理C语言程序,不必进行任何转换D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构12. 以下叙述中正确的是A. 在C语言程序设计中,所有函数必须保存在一个源文件中B. 在算法设计时,可以把复杂任务分解成一些简单的子任务C. 只要包含了三种基本结构的算法就是结构化程序D. 结构化程序必须包含所有的二三种基本结构,缺一不可13. 以下叙述中正确的是A. 每个后缀为.c的C语言源程序都应该包含一个main函数B. 在C语言程序中,main函数必须放在其他函数的最前面C. 每个后缀为.c的C语言源程序都可以单独进行编译D. 在C语言程序中,只有main函数才可单独进行编译14. 有以下程序,在VC6平台上编译运行,程序运行后的输出结果是#include<stdio.h>main(){int s,t,A=10;double B=6:s=sizeof(A);t=sizeof(B);printf("%d,%d\n",s,t);}A. 4,4B. 2,4C. 4,8D. 10,615. 对于一个正常运行的C程序,以下叙述中正确的是A. 程序的执行总是从程序的第一个函数开始,在main函数结束B. 程序的执行总是从main函数开始,在程序的最后一个函数中结束C. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束D. 程序的执行总是从main函数开始16. 计算机能直接执行的程序是A. 目标程序B. 可执行程序C. 汇编程序D. 源程序17. 以下叙述中正确的是A. 可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行B. C语言程序将从源程序中第一个函数开始执行C. main的各种大小写拼写形式都可以作为主函数名,如:MAIN,Main等D. C语言规定必须用main作为主函数名,程序将从此开始执行18. 以下叙述中错误的是A. C程序在运行过程中所有计算都以二进制方式进行B. 所有C程序都需要编译链接无误后才能运行C. C程序在运行过程中所有计算都以十进制方式进行D. C程序中字符变量存放的是字符的ASCII值19. 下列叙述中正确的是A. 在C程序中main函数的位置是固定的B. C程序中所有函数之间都可以相互调用C. 每个C程序文件中都必须要有一个main函数D. 在C程序的函数中不能定义另一个函数20. 以下叙述正确的是A. C语言程序是由过程和函数组成的B. C语言函数可以嵌套调用,例如:fun(fun(x))C. C语言函数不可以单独编译D. C语言中除了main函数,其他函数不可作为单独文件形式存在21. C语言程序的模块化通过以下哪个选项来实现A. 变量B. 程序行C. 函数D. 语句22. 以下叙述中正确的是A. 程序的主函数名除main外,也可以使用Main或mainB. 在C程序中,模块化主要是通过函数来实现的C. 程序可以包含多个主函数,但总是从第一个主函数处开始执行D. 书写源程序时,必须注意缩进格式,否则程序会有编译错误23. 以下叙述中正确的是A. C语言程序总是从最前面的函数开始执行B. C语言程序总是从main函数开始执行C. C语言程序中main函数必须放在程序的开始位置D. C语言程序所调用的函数必须放在main函数的前面24. C语言主要是借助以下哪种手段来实现程序模块化A. 定义常量和外部变量B. 使用丰富的数据类型C. 使用三种基本结构语句D. 定义函数25. 以下四个程序中,完全正确的是A. #include<stdio.h>main();{/*/1Programming /*/printf("programming!\n");}B. #include<stdio.h>main();{/*programming*/printf("programming!\n");}C. #include<stdio.h>main() {/*/*programming*/*/printf("programming!\n");}D. include<stdio.h>main() {/*programming*/printf("programming!\n");}26. 以下关手结构化程序设计的叙述中正确的是A. 结构化程序使用goto语句会很便捷B. 一个结构化程序必须同时由顺序、分支、循环三种结构组成C. 由三种基本结构构成的程序只能解决小规模的问题D. 在C语言中,程序的模块化是利用函数实现的27. 以下叙述中正确的是A. C程序中的每一行只能写一条语句B. 简单C语句必须以分号结束C. C语言程序中的注释必须与语句写在同一行D. C语句必须在一行内写完28. 以下叙述中正确的是A. C程序书写格式严格,要求一行内只能写一个语句B. C程序书写格式自由,一个语句可以写在多行上C. C程序中的注释只能出现在程序的开始位置和语句的后面D. 用C语言编写的程序只能放在一个程序文件中29. 以下关于C语言的叙述中正确的是A. C语言中的变量可以在使用之前的任何位置进行定义B. 在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致C. C语言的数值常量中夹带空格不影响常量值的正确表示D. C语言中的注释不可以夹在变量名或关键字的中间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=30B. a+b=10C. 出错D. a+b=0。
江苏省计算机二级C语言试题笔试 (7)
A.打印机与主机的连接c.声卡与主机的连接
B.显示器与主机的连接D.硬盘与主机的连接
6.下列有关PC机的CPU、内存和主板的叙述中,正确的是( 6 )。
A.大多数Pc机只存一块CPu芯片,即使是“双核”CPU也是一块芯片
B.所有Pentium系列微机的内存条相同,仅有速度和容量大小之分
都有一个IP地址。下面不能作为IP地址的是( 10 )
A.120.34.0.18 C.21.18.33.48
B. 201.256.39.68 D.37.250.68.0
11.常用局域网有以太网、FDDI网等,下面的叙述中错误的是( 11 )
A•总线式以太网采用带冲突检测载波侦听多路访问(CSMA/CD)方法进行通信
19.在下列有关Microsoft Word 2000/2003(中文版)功能的叙述中,( 19 )
A.起始页的页码可以不为1
B.利用菜单命令,可更改所选英文文本的大小写
C.利用菜单命令“字数统计”,可以统计出当前文档的行数和段落数
D.表格中的数据不可排序,也不能利用公式进行统计计算
20.在下列有关Microsoft PowerPoint 200012003(中文版)功能的叙述中,错误的是( )
int t;
int sub(int *s)
{ *s+=1:
t+=*S:
retum t;
}
main()
{ int i;
for(i=1;i<4;i++)
printf("%4d",sub(&i));
}
8.以下程序运行时输出结果是(8)。
2014年9月二级C语言程序设计模拟(7)试题及答案
2014年9月二级C语言程序设计模拟(7)试题及答案单项选择题1.下面关于算法的叙述中,正确的是( )。
A:算法的执行效率与数据的存储结构无关B:算法的有穷性是指算法必须能在执行有限个步骤之后终止C:算法的空间复杂度是指算法程序中指令(或语句)的条数D:以上三种描述都正确参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
2.下列二叉树描述中,正确的是( )。
A:任何一棵二叉树必须有一个度为2的结点B:二叉树的度可以小于2C:非空二叉树有0个或1个根结点D:至少有2个根结点参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 二叉树是由n≥0个结点的有限集合构成,此集合或者为空集,或者由一个根结点及两棵互不相交的左右子树组成,并且左右子树都是二叉树。
二叉树可以是空集合,根可以有空的左子树或空的右子树。
二叉树不是树的特殊情况,它们是两个概念。
二叉树具有如下两个特点:①非空二叉树只有一个根结点。
②每一个结点最多有两棵子树,且分别称为该结点的左子树与右子树。
3.如果进栈序列为A,B,C,D,则可能的出栈序列是( )。
A: C,A,D,BB: B,D,C,AC: C,D,A,BD:任意顺序参考答案: B 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 栈的操作原则为后进先出。
选项B)中出栈顺序可按“A进,B进,B出,C进,D进,D出,C出,A出”实现。
4.下列各选项中,不属于序言性注释的是( )。
A:程序标题B:程序设计者C:主要算法D:数据状态参考答案: D 题目分值: 1.0 分您的答案: 得分: 0.0详细解答: 注释一般为序言性注释和功能性注释。
序言性注释常位于程序开头部分,它包括程序标题、程序功能说明、主要算法、接口说明、程序位置、开发简历、程序设计者、复审者、复审日期及修改日期等。
计算机二级《C语言》模拟试题及答案
计算机二级《C语言》模拟试题及答案计算机C语言是学计算机设计的根底语言,同学们学得怎么样了呢?为同学分享最新的C语言考试题库,希望能帮助到大家学习!1.算法的空间复杂度是指( )。
A.算法程序的长度B.算法程序中=的指令条数C.算法程序所占的存储空间D.算法执行过程中所需要的存储空间2.以下表达中正确的选项是( )。
A.一个逻辑数据构造只能有一种存储构造B.逻辑构造属于线性构造,存储构造属于非线性构造C.一个逻辑数据构造可以有多种存储构造,且各种存储构造不影响数据处理的效率D.一个逻辑数据构造可以有多种存储构造,且各种存储构造影响数据处理的效率3.简单的交换排序方法是( )。
A.快速排序B.选择排序C.堆排序D.冒泡排序4.关于构造化程序设计原那么和方法的描述错误的选项是( )。
A.选用的构造只准许有一个入口和一个出口B.复杂构造应该用嵌套的根本控制构造进展组合嵌套来实现C.不允许使用GOT0语句D.语言中假设没有控制构造,应该采用前后一致的方法来模拟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之间的关系是( )。
2020年全国计算机二级等级考试模拟试卷及答案(第七套)
2020年全国计算机二级等级考试模拟试卷及答案(第七套)1. 下列叙述中正确的是()。
A) 循环队列是队列的一种链式存储结构B) 循环队列是队列的一种顺序存储结构C) 循环队列是非线性结构D) 循环队列是一种逻辑结构参考答案:B2. 下列关于线性链表的叙述中,正确的是()。
A) 各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B) 各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C) 进行插入与删除时,不需要移动表中的元素D) 以上说法均不正确参考答案:C3. 一棵二叉树共有25个结点,其中5个是叶子结点,则度为1的结点数为()A) 16B) 10C) 6D) 44. 在下列模式中,能够给出数据库物理存储结构与物理存取方法的是()。
A) 外模式B) 内模式C) 概念模式D) 逻辑模式参考答案:B5. 在满足实体完整性约束的条件下()。
A) 一个关系中应该有一个或多个候选关键字B) 一个关系中只能有一个候选关键字C) 一个关系中必须有多关键字个候选D) 一个关系中可以没有候选关键字参考答案:A6. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是( )。
A) 自然连接B) 交C) 除D) 并7. 下面描述中,不属于软件危机表现的是()。
A) 软件过程不规范B) 软件开发生产率低C) 软件质量难以控制D) 软件成本不断提高参考答案:A8. 下面不属于需求分析阶段任务的是()。
A) 确定软件系统的功能需求B) 确定软件系统的性能需求C) 需求规格说明书评审D) 制定软件集成测试计划参考答案:D9. 在黑盒测试方法中,设计测试用例的主要根据是()。
A) 程序内部逻辑B) 程序外部功能C) 程序数据结构D) 程序流程图参考答案:B10. 在软件设计中不使用的工具是()。
A) 系统结构图B) PAD图C) 数据流图(DFD图)D) 程序流程图参考答案:C11. 以下选项中关于程序模块化的叙述错误的是A) 可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序B) 把程序分成若干相对独立、功能单一的模块,可便于重复使用这些模块C) 把程序分成若干相对独立的模块,可便于编码和调试D) 可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序参考答案:A12. 以下叙述中正确的是A) 用C语言编写的程序只能放在一个程序文件中B) C程序书写格式严格,要求一行内只能写一个语句C) C程序中的注释只能出现在程序的开始位置和语句的后面D) C程序书写格式自由,一个语句可以写在多行上参考答案:D13. 以下不合法的数值常量是A) 8.0E0.5B) 1e1C) 011D) 0xabcd参考答案:A14.以下关于C语言数据类型使用的叙述中错误的是A) 若要处理如"人员信息"等含有不同类型的相关数据,应自定义结构体类型B) 若要保存带有多位小数的数据,可使用双精度类型C) 若只处理"真"和"假"两种逻辑值,应使用逻辑类型D) 整数类型表示的自然数是准确无误差的参考答案:C15. 设有定义:int k=0;以下选项的四个表达式中与其他三个表达式的值不相同的是A) ++kB) k+=1C) k++D) k+1参考答案:C16. 有如下程序段:int x=12;double y=3.141593;printf("%d%8.6f", x, y);其输出结果是A) 123.141593B) 12 3.141593C) 12, 3.141593D) 123.1415930参考答案:A17. 已知字符'A'的ASCII代码值是65,字符变量c1的值是'A',c2的值是'D'。
计算机二级《C语言》模拟试题及答案3篇
计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。
2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。
他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。
在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。
C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。
丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。
2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。
3. 输出结果为“helloworld”。
strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。
在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。
如果第一个字符串不够大,程序会出现内存溢出等问题。
4. A、B、C三个数据类型可以用来存储浮点数。
5. 输出结果为“6”。
在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。
浙江省计算机二级考试C语言模拟考试题
浙江省计算机二级考试(C语言)模拟考试题试题1(每小题3分,共12分)阅读下列程序说明和程序,在没小题提供的若干可选答案中,挑选一个正确答案.【程序说明】求1-2/3+3/5-4/7+5/9-…的前20项之和.运行示例:sum = 0.386453【程序】#includevoid main(){int i,b=1;double s;(1)for(i=1;i<=20;i++){if(i%2)s=s+ (2) ;elses=s- (2) ;(3)}printf("(4)",s);}【供选择的答案】(1)A、S=0 B、S=1C、S=-1D、S=2(2)A、i/b B、double(i)/double(b)C、b=b+2;D、(double)i/(double)b(3)A、; B、b=2*i-1;C、b=1.0*b;D、b=b+2;(4)A、"sum=%d\n" B、"s=%c\n"C、"sum=%f\n"D、"s=%s\n"试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题供的若干可选答案中,挑选一个正确答案.【程序说明】下列程序运行时,输入n个学生的姓名和3门功课成绩,然后根据3门功课的平均成绩从高分到低分显示每个学生的姓名,3门功课成绩以及平均成绩.【程序】#include(5)void main(){ struct student { char name[9]; int a[3]; float v; } temp,*s;int i,j,k;scanf("%d",&n);s=(student*)malloc(n*sizeof(student));for( (6) ) {scanf("%s",s[i].name); s[i].v=0;for(j=0;j<3;j++) { scanf("%d",&s[i].a[j]); (7) ; }}for(i=0;is[k].v) k=j;temp=s[i]; s[i]=s[k]; s[k]=temp;}for(i=0;i s[i].name,s[i].a[0],s[i].a[1],s[i].a[2],s[i].v);}(5) A,#include B,#includeC,#include D,#include(6) A,i=1;i<=n;i++ B,i=1;i C,i=0;i0;--i(7) A,s[i].v=s[i].v+s[i].a[j] B,s[i].v+=s[i].a[j]/3C,s+i->v=s+i->v+s+i->a[j]/3 D,s+i->v+=s+i->a[j]/3(8) A,j=i-1;j C,j=i+1;j试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题供的若干可选答案中,挑选一个正确答案.【程序说明】从键盘输入一批以 -1结束的整数,将其中的奇数写入当前目录下的文本文件res.txt. #include#includevoid main(){ int x;(9) ;if((fp=fopen("res.txt","w"))==NULL) {printf("不能打开文件");exit(0);}scanf("%d", &x);while( (10) ){if(x%2!=0) (11) ;(12) ;}fclose(fp);}(9) A,FILE fp B,FILE *fpC,file fp D,file *fp(10) A,x == -1 B,feof(fp)C,!feof(fp) D,x!=-1(11) A,fprintf(fp, "%d ", x) B,printf( "%d ", x)C,fprintf("%d ", x, fp) D,break(12) A,printf("%d ", x) B,fscanf(fp,"%d", &x)C,fprintf("%d ", x, fp) D,scanf("%d", &x)试题4(每小题3分,共12分)阅读下列程序并回答问题,在每个小题提供的若干可选答案中,挑选一个正确的答案. 【程序】#include "stdio.h"void main( ){ int j, k, n, s, a[6][6];scanf("%d",&n);for(k=0; k for(j=0; j a[k][j]=j*n+k;printf("a[0][1]=%d\n", a[0][1]);s=0;for (k=0; k s +=a[k][k];printf("sum1=%d\n", s);for (k=0; k s +=a[n-k-1][k];printf("sum2=%d\n", s);for (k=0; k s +=a[k][2];printf("sum3=%d\n", s);}(13)程序运行时,输入3后,第一行输出____A a[1][0]=6B a[0][1]=6C a[1][0]=3D a[0][1]=3(14) 程序运行时,输入3后,第二行输出______A sum1=22B sum1=21C sum1=12D sum1=11(15) 程序运行时,输入6后,第一行输出______A sum2=210B sum2=211C sum2=200D sum2=120(16) 程序运行时,输入6后,第二行输出______A sum3=279B sum3=927C sum3=297D sum3=277试题5(每小题3分,共12分)阅读下列程序并回答问题,在每个小题提供的若干可选答案中,挑选一个正确的答案. 【程序】#includevoid main(){int i=0,n;char s[10]="95682h01";n=0;for(i=0;s[i]!=’\0’;i++)if(s[i]=’0’){n=n*10+(s[i]-’0’);printf("%d\n",n);}elsebreak;}(17)程序运行时,第2行输出____(17)____.A,9 B,95 C,5 D,59(18)程序运行时,第3行输出____(18)____.A,956 B,659 C,965 D,96(19)程序运行时,第4行输出____(19)____.A,9586 B,5896 C,5698 D,9568(20)程序运行时,第5行输出____(20)____.A,92568 B,95682 C,68295 D,58629试题6(每小题3分,共12分)#includestruct student{char * name;char *sex;int age;float score;};void initial(struct student st[], char *xm[ ], char *xb[ ],int nl[],float cj[]){ int i;for (i=0; i<4; i++){st[i].name = xm[(i+3)%4];st[i].sex = xb[(i+3)%4];st[i].age = nl[(i+3)%4];st[i].score = cj[(i+3)%4];}}void show(struct student st[]){ int i;printf("学生信息如下:\n");for (i=0; i<4; i++)printf("姓名:%s\t性别:%s\t年龄:%d\t成绩:%f\n",st[i].name,st[i].sex,st[i].age,st[i].score); }void main( ){ struct student st[4];char * xm[ ]={"张三", "李四","小周","小吴"};char *xb[ ]={"男", "男","女","女"};int nl[]={18,17,17,18};float cj[]={85,86,80,84};initial(st, xm, xb,nl,cj);show (st);}(21)程序运行时,第1行输出____(21)____.A,姓名:小吴性别:女年龄:18 成绩:84.000000B,姓名:李四性别:男年龄:17 成绩:86.000000C,姓名:张三性别:男年龄:18 成绩:85.000000D,姓名:小周性别:女年龄:17 成绩:80.000000(22)程序运行时,第2行输出____(22)____.A,姓名:小吴性别:女年龄:18 成绩:84.000000B,姓名:李四性别:男年龄:17 成绩:86.000000C,姓名:张三性别:男年龄:18 成绩:85.000000D,姓名:小周性别:女年龄:17 成绩:80.000000(23)程序运行时,第3行输出____(23)____.A,姓名:小吴性别:女年龄:18 成绩:84.000000B,姓名:李四性别:男年龄:17 成绩:86.000000C,姓名:张三性别:男年龄:18 成绩:85.000000D,姓名:小周性别:女年龄:17 成绩:80.000000(24)程序运行时,第4行输出____(24)____.A,姓名:小吴性别:女年龄:18 成绩:84.000000B,姓名:李四性别:男年龄:17 成绩:86.000000C,姓名:张三性别:男年龄:18 成绩:85.000000D,姓名:小周性别:女年龄:17 成绩:80.000000试题7 (14分)编写程序,求出数组a中各相邻两个元素的和,并将这些和存放在数组 b中,按每行3个元素的形式输出.试题8 (14分)编写程序,找出100~999之间所有的Armstrong数.所谓Armstrong数是指这个3位数各位上数字的立方和等于自身.例如:371=3*3*3+7*7*7+1*1*1,那么371就是Armstrong数.。
国家二级(C语言)机试模拟试卷7(题后含答案及解析)_1
国家二级(C语言)机试模拟试卷7(题后含答案及解析)题型有:1. 程序填空题 2. 程序修改题 3. 程序设计题程序填空题(30分)1.请补充函数fun( ),该函数的功能是:按‘0’到‘9’统计一个字符串中的奇数数字字符各自出现的次数,结果保存在数组num中。
注意:不能使用字符串库函数。
例如:输入“x=112385713.456+0.909*bc”,结果为:1 =3,3=2,5=2,7=1,9=2。
注意:部分源程序给出如下。
请勿改动主函数main 和其他函数中的任何内容,仅在函数fun( )的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>#define N 1000 void fun(char*tt,int num[]) { int i,j; int bb[10];char *p=tt;for(i=0;i <10;i++) { num[i]=0;bb[i]=0;} while (【】) { if(*p>=‘0’&&*p<=‘9’) 【】;p++;}for(i=1;j=0;i<10;i=i+2,j++)【】; } main( ) {char str[N];int num[10],k;clrscr( );printf(“\nPlease enter a char string:”);gets(str);printf(“\n**The original string**\n”);puts(str);fun(str,num);printf(“\n**The number of letter**\n”);for(k=0;k<5;k++){printf(“\n”);printf(“%d=%d”,2*k+1,num[k]);}printf(“\n”);return;}正确答案:*pbb[*p-’0’]++num[j]=bb[i]解析:第一空:通过移动指针p,指向字符串tt中的各个字符,当指针p所指的字符为,’\0’时,即指向字符串tt的最后一个字符,while循环结束。
计算机二级 C语言 程序设计基础试题七
《程序设计》考试试卷七1.C语言中,如果对函数类型未加说明,则函数的隐含类型为()A.duobleB. voidC.intD.char2.union data{ int i;char c;float f; };定义了()A.共用体类型dataB.共用体变量dataC.结构体类型dataD.J结构体变量data3.设a=3,b=4,表达式a>b?b:a的值是()A.3B. 4C.4:3D.04.下面对枚举类型的叙述,不正确的是()A.定义枚举类型用enum开头B.枚举常量的值是一个常数C.一个整数可以直接赋给一个枚举变量D.枚举值可以用来作判断比较5.求0到50的总和,不正确的程序段是()A. int i,sum;sum=0;for(i=0;i<51;i++) sum+=i;B. int i,sum;for(i=0,sum=0;i<51;sum+=i++);C. int i,sum;i=0;sum=0;for(i<51) {sum+=i;i++;}D. int i,sum=0;for(i=0; ;i++) {if(i>50) break; sum+=i;}6. 表达式 (int)3.6*3的值为()A.9 B. 10 C . 10.8 D.187.程序的结果为()main(){ int a=3,b=4,t=1;if (a>b){t=a;a=b;b=t;}printf(“%d”,a) }A. 3B.4C.1D.08.程序main(){ int a=1;switch(a){ case 1: printf(“1”);case 2: printf(“2”);default: printf(“other”);}} 的结果为()A.12otherB.1C.2D.Other9.函数strcmp(“A”, “B”)的值为( )A.0B.-1C.1D.310.下程序的结果为( )int f(a) int a;{ auto int b=0; static int c=3; b=b+1; c=c+1;return(a+b+c);}main(){ int a=2,i;for (i=0;i<3;i++)printf(“%d”,f(a));}A.789B.777C.8910D.911.合法的C语言标识符是()A.ab&cB.2abC._a1D./n12.若有定义int a=2,b=9,k;k=a+b++/a++;则k的值是()A.6.5B.7C.6D.813.标有/* */语句的输出结果为()int x=20; printf(“%d,%o,%x”,x,x,x);/* */A.20,20,20B.20,24,14C.20,14,24D.20,024,1414. 将p定义为指向含n个元素的一维数组的指针变量,正确的语句为()A. int (*p)[n];B. int *p[n];C.int p[n];D. int **p[n];15. 下面程序执行结果是()main(){ char c1,c2;int i=2;c1=’a’;c2=’c’;c1=c1+i; c2=c2-i;printf(“%c,%d”,c1,c2);/*’a’的ASCII码为97*/A.语法错误 B.99,97 C.c,a D.c,9716.请问:071^052的结果是()A.032B.016C.023D.02217.下面对函数的叙述,不正确的是()A.函数的返回值是通过函数中的return语句获得的B.函数不能嵌套定义C.一个函数中有且只有一个return语句D.函数中没有return语句,并不是不带回值18.下面的叙述,不正确的是()A.宏名无类型,其参数也无类型B.宏定义不是C语句,不必在行末加分号C.宏替换只是字符替换D.宏替换定义命令必须写在文件开头19.有定义int a[3][4],输入其3行2列元素的正确语句为()A.scanf(“%d”,a[3,2]);B.scanf(“%d”,*(*(a+2)+1))C.scanf(“%d”,*(a+2)+1);D.scanf(“%d”,*(a[2]+1));20.下面对指针变量的叙述,正确的是()A.指针变量可以加上一个指针变量B.可以把一个整形数赋给指针变量C.指针变量的值可以赋给指针变量D.指针变量不可以有空值,即该指针变量必须指向某一变量二、阅读程序,写出执行结果(每题5分,共20分)1、#include “stdio.h”main(){ int i,k,a[10],p[3];k=5;for ( i=0;i<10;i++) a[i]=i;for (i=0;i<3;i++) p[i]=a[i*(i+1)];for ( i=0;i<3;i++) k+=p[i]*2;printf(“%d\n”,k); }2、#include “stdio.h”main( ){ int a=2,*p,**pp;pp=&p;p=&a;a++;printf(“%d,%d,%d\n”,a,*p,**p p);}3、main( ){ union{ char s[2];int i;}g;g.i=0x4142;printf(“g.i=%x\n”,g.i);printf(“g.s[0]=%x\t g.s[1]=%x\n”,g.s[0],g.s[1]);g.s[0]=1;g.s[1]=0;printf(“g.s=%x\n”,g.i); }4、#include “stdio.h”main( ){ int x=1;void f1( ),f2( );f1( );f2(x);printf(“x=%d\n”,x);}void f1(void){ int x=3; printf(“x=%d\n”,x);}void f2(x)int x;{ printf(“x=%d\t”,x);}Q (下列每小题只有一个错误,请改正。
下半年全国计算机二级C语言考前模拟试题及答案
下半年全国计算机二级C语言考前模拟试题及答案无论是在学校还是在社会中,我们最不陌生的就是试题了,试题是命题者根据一定的考核需要编写出来的。
什么样的试题才是好试题呢?以下是我收集整理的2023下半年全国计算机二级C语言考前模拟试题及答案,仅供参考,大家一起来看看吧。
下半年全国计算机二级C语言考前模拟试题及答案11). 关于C语言的变量,以下叙述中错误的是( )A.所谓变量是指在程序运行过程中其值可以被改变的量B.变量所占的存储单元地址可以随时改变C.程序中用到的所有变量都必须先定义后才能使用D.由三条下划线构成的符号名是合法的变量名正确答案:B答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。
在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但是其值可以变化。
变量命名要符合标识符的规定,其中下划线是标识符的组成字符。
程序中所有变量都必须先定义后使用。
2). 当变量c的值不为2、4、6时,值也为″真″的表达式是( )A.(c==2)||(c==4)||(c==6)B.(c>=2 选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。
9). 以下结构体类型说明和变量定义中正确的是( )A.typedefstruct { int n; char c; } REC; REC t1,t2;B.structREC ; { int n; char c; }; REC t1,t2;C.typedefstruct REC; { int n=0; char c=′A′; } t1,t2;D.struct{ int n; char c; } REC; REC t1,t2;正确答案:A答案解析:定义结构体类型的一般形式为:struct 结构体名{成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D 中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。
国家二级(C语言)笔试模拟试卷100(题后含答案及解析)
国家二级(C语言)笔试模拟试卷100(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.在计算机中,算法是指______ 。
A.查询方法B.加工方法C.解题方案的准确而完整的描述D.排序方法正确答案:C解析:计算机算法是指解题方案的准确而完整的描述,它有以下几个基本特征:可行性、确定性、有穷性和拥有足够的情报。
2.栈和队列的共同点是______。
A.都是先进后出B.都是先进先出C.只允许在端点处插入和删除元素D.没有共同点正确答案:C解析:栈和队列是一种特殊的操作受限的线性表,只允许在端点处进行插入和删除。
二者的区别是:栈是一种“后进先出”的线性表;而队列是一种“先进先出”的线性表。
3.已知二叉树BT的后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是______。
A.cedbaB.acbedC.decabD.deabc正确答案:A解析:二叉树BT的后序遍历序列为dabec,故BT的根结点为c;而BT的中序遍历序列是debac,即遍历序列中最后一个结点为跟结点,说明BT的右子树为空。
由BT的的后序遍历序列和中序遍历序列可知BT的左子树(LST)的后序遍历序列和中序遍历序列分别为dabe和deba(树是递归定义的);故LST的根结点是e,在由LST的中序遍历序列可知其左子树为d。
因此BT的前序遍历序列为cedba。
4.在下列几种排序方法中,要求内存量最大的是______。
A.插入排序B.选择排序C.快速排序D.归并排序正确答案:D解析:快速排序的基本思想是,通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分记录的关键字小,再分别对这两部分记录继续进行排序,以达到整个序列有序;插入排序的基本操作是指将无序序列中的各元素依次插入到已经有序的线性表中,从而得到一个新的序列;选择排序的基本思想是:扫描整个线性表,从中选出最小的元素,将它交换到表的最前面(这是它应有的位置),然后对剩下的子表采用同样的方法,直到表空为止;归并排序是将两个或两个以上的有序表组合成一个新的有序表。
计算机等级考试二级C语言考前密卷(7)
(1)最简单的交换排序⽅法是 A)快速排序B)选择排序 C)堆排序D)冒泡排序(2)栈通常采⽤的两种存储结构是 A)线性存储结构和链表存储结构 B)散列⽅式和索引⽅式 C)链表存储结构和数组 D)线性存储结构和⾮线性存储结构(3)线性表的顺序存储结构和线性表的链式存储结构分别是 A)顺序存取的存储结构、顺序存取的存储结构 B)随机存取的存储结构、顺序存取的存储结构 C)随机存取的存储结构、随机存取的存储结构 D)任意存取的存储结构、任意存取的存储结构(4)完全不考虑程序的内部结构和内部特征,⽽只是根据程序功能导出测试⽤例的测试⽅法是 A)⿊箱测试法 B)⽩箱测试法 C)错误推测法 D)安装测试法(5)在结构化设计⽅法中,⽣成的结构图(SC)中,带有箭头的连线表⽰ A)模块之间的调⽤关系 B)程序的组成成分 C)控制程序的执⾏顺序 D)数据的流向(6)下列选项中,不属于模块间耦合的是 A)数据耦合 B)同构耦合 C)异构耦合 D)公⽤耦合(7)⼀个关系中属性个数为1时,称此关系为 A)对应关系 B)单⼀关系 C)⼀元关系 D)⼆元关系(8)为⽤户与数据库系统提供接⼝的语⾔是 A)⾼级语⾔B)数据描述语⾔(DDL) C)数据操纵语⾔(DML)D)汇编语⾔(9)相对于数据库系统,⽂件系统的主要缺陷有数据关联差、数据不⼀致性和 A)可重⽤性差 B)安全性差 C)⾮持久性 D)冗余性(10)需求分析阶段的任务是确定 A)软件开发⽅法 B)软件开发⼯具 C)软件开发费⽤ D)软件系统功能(11)下列关于C语⾔的说法不正确的是 A)C语⾔既具有⾼级语⾔的⼀切功能,也具有低级语⾔的⼀些功能 B)C语⾔中的每⼀条执⾏语句都必须⽤分号结束,分号不是C语⾔的⼀部分,是语句之间的分隔符号 C)注释可以出现在程序中任意合适的地⽅ D)命令⾏后⾯不能加分号,命令⾏不是C语⾔的语句(12)下列关于标识符的说法中错误的是 A)合法的标识符是由字母、数字和下划线组成 B)C语⾔的标识符中,⼤写字母和⼩写字母被认为是两个不同的字符 C)C语⾔的标识符可以分为三类,即关键字、预定义标识符和⽤户标识符 D)⽤户标识符与关键字不同时,程序在执⾏时将给出出错信息(13)下列合法的整型常量的表⽰是 A)098 B)oXde C)32767 D)0xDG(14)现在有以下定义,int a;double b;float c;char k;则下⾯的表达式a/b+c-k值的类型为: A)int B)double C)float D)char(15)假设整型变量a,b,c的值均为5,则表达式a+++b+++c++的值为 A)17 B)16 C)15 D)14(16)下列关于复合语句和空语句的说法错误的是 A)复合语句是由“{”开头,由“}”结尾的 B)复合语句在语法上视为⼀条语句 C)复合语句内,可以有执⾏语句,不可以有定义语句部分 D)C程序中的所有语句都必须由⼀个分号作为结束(17)关于printf()函数的返回值叙述正确的是 A)通常是本次调⽤中输出字符的个数 B)通常是输出的第⼀个数值 C)通常返回布尔值真 D)通常返回⾮零值(18)现有格式化输⼊语句,scanf("x=%dц,sumцy=%d,lineцz=%dL",&x,&y,&z);,现在已知在输⼊数据后,x,y,z的值分别是12,34,45,则下列数据是正确的输⼊格式的是 A)12,34,45 B)x=12,y=34,z=45 C)x=12C,sumy=34,z=45 D)x=12],sum]y=34,line]z=45 [注]:“ц”表⽰空格, 表⽰回车(19)设x,y,z,t均为整型变量,现有如下语句x=y=z=1;t=++x||++y&&++z;则执⾏这个语句后t的值为 A)2 B)1 C)0 D)不定值(20)现有如下程序段,此程序段编译有错误,则程序段的错误出在 #include main() { int a=30,b=40,c=50,d; d=a>30?b:c; switch(d){case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c); default:printf("#");}} A)default:printf("#");这个语句 B)d=a>30?b:c;这个语句 C)case a:printf("%d,",a); case b:printf("%d,",b); case c:printf("%d,",c);这三个语句 D)switch(d)这个语句(21)下列语句中,错误的是(x,y,a,b假设已经定义好) A)while(x=y)5; B)do x++ while(x==10); C)while(0); D)do 2;while(a==b);(22)若i,j已经定义为整型,则以下程序段中,内循环体的执⾏次数是 for(i=6;i;i--) for(j=0;j<5;j++){……} A)40 B)35 C)30 D)25(23)下列说法中错误的是 A)只能在循环体内使⽤break语句 B)在循环体内使⽤break语句可以使流程跳出本层循环体,从⽽提前结束本层循环 C)在while和do…while循环中,continue语句并没有使整个循环终⽌ D)continue的作⽤是结束本次循环,即跳过本次循环体中余下尚未执⾏的语句,接着再⼀次进⾏循环判断(24)阅读如下程序段 #include "stdio.h" main() { int x,a,b; scanf("%d",&x); a=b=x; for(;x!=0;) { if(x if(x>a)a=x; scanf("%d",&x);} printf("a=%d,b=%d\n",a,b);} 现输⼊如下。
2020年全国计算机二级等级考试全真模拟试卷及答案(第七套)
2020年全国计算机二级等级考试全真模拟试卷及答案(第七套)1.在最坏情况下A)快速排序的时间复杂度比冒泡排序的时间复杂度要小B)快速排序的时间复杂度比希尔排序的时间复杂度要小C)希尔排序的时间复杂度比直接插入排序的时间复杂度要小D)快速排序的时间复杂度与希尔排序的时间复杂度是一样的参考答案: C2.在深度为 7的满二叉树中,度为 2的结点个数为A)64B)63C)32D)31参考答案: B3.设栈的顺序存储空间为 S(1: m) ,初始状态为 top=m+1。
现经过一系列入栈与退栈运算后, top=20 ,则当前栈中的元素个数为A)30B)20C)m-19D)m-20参考答案: C4.算法空间复杂度的度量方法是A)算法程序的长度B)算法所处理的数据量C)执行算法所需要的工作单元D)执行算法所需要的存储空间参考答案: D5.下面不属于软件开发阶段任务的是A)测试B)可行性研究C)设计D)实现参考答案: B6.下面属于字符类的实例是A)'518'B)"5"C)'nmD)'\n'参考答案: D7.某系统结构图如下图所示该系统结构图的最大扇出数是A)nB) 1C) 3D) 4参考答案: A8.一个兴趣班可以招收多名学生,而一个学生可以参加多个兴趣班。
则实体兴趣班和实体学生之间的联系是A)1:1 联系B)1:m联系C)m:1联系D)m:n联系参考答案: D9.有三个关系表 R、S和T如下,其中三个关系对应的关键字分别为 A,B和复合关键字( A,B)。
表T的记录项( b,q,4)违反了A)实体完整性约束B)参照完整性约束C)用户定义的完整性约束D)关系完整性约束参考答案: B10.在数据库系统中,给出数据模型在计算机上物理结构表示的是A)概念数据模型B)逻辑数据模型C)物理数据模型D)关系数据模型参考答案: C11.若有定义语句: int a=12; ,则执行语句: a+= a-= a*a; 后, a的值是A)-264B)552C)144D)264参考答案: A12.若在程序中变量均已定义成 int类型,且已赋大于 1的值,则下列选项中能正确表示代数式的表达式是A) 1.0/a/b/cB)1/(a*b*c)C) 1.0/a*b*cD)1/a/b/(double)c参考答案: A13.有以下程序#include <stdio.h>main(){int x=010, y=10;printf("%d,%d\n", ++x, y--);}程序运行后的输出结果是A)9,10B)11,10C)010,9D)10,9参考答案: A14.以下选项中叙述正确的是A)C语言的标识符可分为关键字、预定义标识符和用户标识符三类B)C语言的标识符可分为语句、变量和关键字三类C)C语言的标识符可分为函数名、变量和预定义标识符三类D)C语言的标识符可分为运算符、用户标识符和关键字三类参考答案: A15.以下选项中叙述正确的是A)函数体必须由 { 开始B)C程序必须由 main语句开始C)C程序中的注释可以嵌套D)C程序中的注释必须在一行完成参考答案: A16.已知 a=5,b=6,c=7,d=8,m=2,n=2 ,执行(m=a>b)&&(n=c<d)后n的值为A) 2B)0C) 1D)-1参考答案: A17.有以下程序#include <stdio.h>main(){int x=23;do{printf("%2d\n", x--);} while( !x );}程序的执行结果是A)输出 23B)输出 321C)不输出任何内容D)陷入无限循环参考答案: A18.有以下程序#include <stdio.h>main(){char c;while( ( c=getchar() )!= '\n' ){switch( c-'2' ){case 0 :case 1 : putchar( c+4 );case 2 : putchar( c+4 ); break;case 3 : putchar( c+3 );default : putchar( c+2 ); break;}}printf( "\n" );}程序运行后从第一列开始输入以下数据2473<回车 >程序的输出结果是A)668977B)4444C)6677877D)68766参考答案: A19.有以下程序#include <stdio.h>main(){ int i=0, sum=1;do{sum +=i++ ; }while( i<6 );printf("%d \n",sum);}程序的输出结果是A)16B)18C)20D)22参考答案: A20.有以下程序段,若变量已正确定义并赋值if(a>b)printf("x=%d,", x);else printf("y=%d,", y);if(a<=b)i++;else j++;则与此程序段功能相同的选项是A)if(a>b){printf("x=%d,", x);j++;}else {printf("y=%d,", y);i++;}B)if(a>b){printf("x=%d,", x);i++;}else {printf("y=%d,", y);j++;}C)if(a<=b){printf("x=%d,", x);i++;}else {printf("y=%d,", y);j++;}D)if(a>=b){printf("x=%d,", x);i++;}else {printf("y=%d,", y);j++;}参考答案: A21.以下程序的功能是判断输入的一个整数是否能被 3或7整除,若能整除,输出 YES,否则输出 NO。
计算机等级考试二级C语言模拟试卷(七)
全国计算机等级考试二级C语言模拟试卷(七)一、选择题(每小题1分,共40分)1、下列关于循环队列的叙述,正确的是A.循环队列是队列的一种顺序存储结构B.循环队列是队列的一种链式存储结构C.循环队列是非线性结构D.循环队列是一种逻辑结构2、下列叙述中,正确的是A.栈是一种先进先出的线性表B.队列是一种后进先出的线性表C.栈和队列都是非线性结构D.栈和队列都是操作受限的线性结构3、一棵二叉树共有25个节点,其中5个叶子节点,那么度为1的节点数为A.4 B.6 C.10 D.164、在下列模式中,能够给出数据库物理存储结构与物理存取方法的是A.内模式B.外模式C.概念模式D.逻辑模式5、在满足实体完整性约束的条件下A.一个关系中可以没有候选关键字B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中应该有一个或者多个候选关键字6、有三个关系R、S和T如下:则由关系R和S得到关系T的操作是A.自然连接B.并C.差D.交7、软件生命周期中的活动不包括A.软件维护B.市场调研C.软件测试D.需求分析8、下列不属于需求分析阶段任务的是A.确定软件系统的功能需求B.确定软件系统的性能需求C.制定软件集成测试计划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、设有以下语句char ch1,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 <stdio.h>main(){int a=0,b=0,c=0;c=(a-=a-5); a=b,b+=4;p rintf(“%d, %d, %d\n”,a,b,c)}程序运行后输出的结果是A.0,0,0 B.0,4,5 C.4,4,4 D.4,4,518、设变量均已正确定义并且赋值,以下与其他三组输出结构不同的一组语句是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、以下选项中,能表示逻辑值“假”的是A.0 B.0.000001 C.1 D.100.020、有以下程序#include <stdio.h>main(){ int a;s canf(“%d”,&a);if (a++<9) printf((“%d\n”,a);else printf(“%d\n”,a--);}程序运行时键盘输入9<回车>,则输出的结果是A.8 B.9 C.10 D.11 21、有以下程序#include <stdio.h>int main(){int s=0,n;for (n=0;n<3;n++){switch(s){ case 0:case 1:s+=1;case 2:s+=2;break;case 3:s+=3;default:s+=4;}printf("%d,",s);}return 0;}程序运行后的结果是A.1,2,4, B.1,3,6 , C.3,6,10, D.3,10,14, 22、若k是int类型变量,且有以下for语句for(k=-1;k<0;k++)printf(“****\n”);下面关于语句执行情况的叙述中正确的是A.循环体执行一次B.循环体执行两次C.循环体一次也不执行D.构成无限循环23、有以下程序#include <stdio.h>int main(){char a,b,c;b='1';c='A';for (a=0;a<6;a++){if(a%2) putchar(b+a);else putchar(c+a);}return 0;}程序运行后输出的结果是A.123456 B.1B3D5F C.A2C4E6 D.ABCDEF24、设有如下定义语句int m[ ]={2,4,6,8},*k=m;以下选项中,表达式的值为6的是A.*(k+2) B.k+2 C.*k+2 D.*k+=225、fun函数的功能是:通过键盘输入给x所指的整型数组所有元素赋值。
全国计算机等级考试二级C语言笔试模拟试题(7)-中大网校
全国计算机等级考试二级C语言笔试模拟试题(7)总分:100分及格:60分考试时间:120分每小题1分,共40分(1)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A. e3,e1,e4,e2B. e4,e3,e2,e1C. e3,e4,e1,e2D. 任意顺序(2)下列关于标识符的说法中错误的是A. 合法的标识符是由字母、数字和下划线组成B. C语言的标识符中,大写字母和小写字母被认为是两个不同的字符C. C语言的标识符可以分为三类,即关键字、预定义标识符和用户标识符D. 用户标识符与关键字不同时,程序在执行时将给出出错信息(3)下列常量中,为不合法的实型常量表示的是A. .0032B. 0.0C. 0.3242E8D. .E3(4)字符型数据在机器中是用ASCII码表示的,字符"5"和"7"在机器中表示为A. 10100011和01110111B. 01000101和01100011C. 00110101和00110111D. 01100101和01100111(5)以下说法错误的是A. 一个算法应包含有限个步骤B. 在计算机上实现的算法是用来处理数据对象的C. 算法中指定的操作,不能通过已经实现的基本运算执行有限次后实现D. 算法的目的是为了求解(6)下列程序执行后的输出结果是main(){ int a[3][3], *p,i; p=&a[0][0]; for(i=1; i<9; i++)p[i]=i+1; printf("%d\n",a[1][2]);}A. 3B. 6C. 9D. 随机数(7)在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。
其中数据独立性最高的阶段是A. 数据库系统B. 文件系统C. 人工管理D. 数据项管理(8)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; } main(){int a,b[5]; a=0; b[0]=3; func(&a,b); printf("%d\n",b[0]); }A. 6B. 7C. 8D. 9(9)数据处理的最小单位是A. 数据B. 数据元素C. 数据项D. 数据结构(10)数据库系统的核心是A. 数据库B. 数据库管理系统C. 模拟模型D. 软件工程(11)下列关于C语言数据文件的叙述中正确的是A. 文件由ASCII码字符序列组成,C语言只能读写文本文件B. 文件由二进制数据序列组成,C语言只能读写二进制文件C. 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D. 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件(12)下面程序的文件名为t.exe,在DOS下输入的命令行参数如下:t to meet me<回车> 则程序输出的结果是#include "stdio.h" main(argc,argv)int argc;char*argv[]; {int i; printf("%d\n",argc);}A. 3B. 4C. 2D. 以上答案都不正确(13)在单链表中,增加头结点的目的是A. 方便运算的实现B. 使单链表至少有一个结点C. 标识表结点中首结点的位置D. 说明单链表是线性表的链式存储实现(14)以下程序的输出结果是main(){ int x=1,y=3; printf("%d,",x++); { int x=0;x+=y*2; printf("%d,%d, ",x,y); } printf("%d,%d\n",x,y); }A. 1,6,3,1,3B. 1,6,3,6,3C. 1,6,3,2,3D. 1,7,3,2,3(15)在计算机中,算法是指A. 加工方法B. 解题方案的准确而完整的描述C. 排序方法D. 查询方法(16)数据库的故障恢复一般是由A. 数据流图完成的B. 数据字典完成的C. DBA完成的D. PAD图完成的(17)有如下定义struct person{char name[9];int age;}; struct person class[10]={"John",17,"paul",19,"Mary",18,"Adam",16,}; 根据上述定义,能输出字母M的语句是A. printf("%c\n",class[3].name);B. printf("%c\n",class[3].name[1]);C. printf("%c\n",class[2].name[1]);D. printf("%c\n",class[2].name[0]);(18)请选出可用作C语言用户标识符的是A. void,define,WORDB. a3_b3,_123,IFC. FOR,--abc,CaseD. 2a,Do,Sizeof(19)下列语句中,错误的是(x,y,a,b假设已经定义好)A. while(x=y)5;B. dox++while(x==10);C. while(0);D. do2;while(a==b);(20)以下不正确的叙述是A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,APH和aph是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(21)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a [50],n; …fun(n, &a[9]); …}A. voidfun(intm,intx[])B. voidfun(ints,inth[41])C. voidfun(intp,int*s)D. voidfun(intn,inta)(22)下列叙述中,不属于软件需求规格说明书的作用的是A. 便于用户、开发人员进行理解和交流B. 反映出用户问题的结构,可以作为软件开发工作的基础和依据C. 作为确认测试和验收的依据D. 便于开发人员进行需求分析(23)栈通常采用的两种存储结构是A. 线性存储结构和链表存储结构B. 散列方式和索引方式C. 链表存储结构和数组D. 线性存储结构和非线性存储结构(24)若运行以下程序时,从键盘输入ADescriptor<CR>(<CR>表示回车),则下面程序的运行结果是#include <stdio.h> main(){char c; int v0=1,v1=0,v2=0; do{switch(c=getchar()){case ′a′:case ′A′: case ′e′:case ′E′: case ′i′:case ′I′: case ′o′:case ′O′: case ′u′:case ′U′:v1+=1; default:v0+=1;v2+=1; } }while(c!=′\n′); printf ("v0=%d,v1=%d,v2=%d\n",v0,v1,v2);}A. v0=7,v1=4,v2=7B. v0=8,v1=4,v2=8C. v0=11,v1=4,v2=11D. v0=13,v1=4,v2=12(25)下面函数的功能是将指针t2所指向的线性链表,链接到t1所指向的链表的末端。
计算机等级考试二级C语言笔试模拟题及答案
计算机等级考试二级C语言笔试模拟题及答案是全国计算机(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机根底知识和使用一种高级计算机语言编写程序以及上机调试的根本技能。
那么计算机等级考试二级会怎么考?以下仅供参考!以下各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1) 二进制数101110 转换为等值的八进制数是()。
A.45B.56C.67D.78(2) CPU 是由()组成的。
A.内存储器和控制器B.控制器和运算器C.内存储器和运算器D.内存储器、控制器和运算器(3) DOS 是为IBM PC 系列微型计算机及其兼容机所配置的()磁盘。
A.多用户多任务B.单用户单任务C.分时D.分布式(4) 启动MS-DOS 操作系统后,()已驻留内存。
A.B.C.D.CCCC.EXE(5) 设驱动器B 中软盘上的目录构造如以下图所示。
设当前目录为F2,那么把A 盘根目录下的PROG.BAS 文件复制到B 盘F3 子目录中的命令是()。
A.COPY PROG.BAS B:B.COPY A:PROG.BAS B:C.COPY A:PROG.BAS B:F3D.COPY A:PROG.BAS B:F3(6) 下面四组DOS 命令中,意义完全相同的一组是()。
A.COPY 和DISKCOPYB.P 和DISKPC.DEL 和RDD.RENAME 和REN(7) 防止软盘感染病毒的有效方法是()。
A.不要把软盘和有毒软盘放在一起B.在写保护缺口上贴上胶条C.保持机房清洁D.定期对软盘格式化(8) 双面高密度5 英寸软磁盘的容量是()。
A.360KBB.720KBD.1.44MB(9) 在FOXBASE 中,可以使用的两类变量是()。
A.内存变量和字段变量B.全局变量和部分变量C.字段变量和简单变量D.内存变量和自动变量(10) 建立一个新子目录的DOS 命令是()。
国家二级(C语言)笔试模拟试卷7(题后含答案及解析)
国家二级(C语言)笔试模拟试卷7(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(1-10、21-40每题2分,11-20每题1分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。
1.数据的存储结构是指A.存储在外存中的数据B.数据所占的存储空间量C.数据在计算机中的顺序存储方式D.数据的逻辑结构在计算机中的表示正确答案:D解析:数据的逻辑结构在计算机存储空间中的存放形式称为数据的存储结构,也称数据的物理结构。
所以选项D正确,2.在深度为5的满二叉树中,结点的个数为A.32B.31C.16D.15正确答案:B解析:二叉树有如下性质:深度为m的二叉树最多有2的m次方再减1个结点。
由此可知答案为B。
3.编制一个好的程序,首先要保证它的正确性和可靠性,还应强调良好的编程风格,在书写功能性注释时应考虑A.仅为整个程序作注释B.仅为每个模块作注释C.为程序段作注释D.为每个语句作注释正确答案:C解析:功能性注释是嵌在源程序体中的,用以描述其后的语句或程序段是在做什么工作,或者执行了下面的语句会怎么样。
所以它描述的是一段程序,是为程序段做注释,而不是每条语句。
4.下列关于栈的描述正确的是A.在栈中只能插入元素而不能删除元素B.在栈中只能删除元素而不能插入元素。
C.栈是特殊的线性表,只能在一端插入或删除元素D.栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素正确答案:C解析:栈是一种特殊的线性表,其插入与删除运算都只在线性表的一端进行。
由此可见,选项A、选项B和选项D错误,正确答案是选项C。
5.在结构化方法中,软件功能分解属于下列软件开发中的阶段是A.详细设计B.需求分析C.总体设计D.编程调试正确答案:C解析:详细设计的任务是:在使用程序设计语言编程以前,对所采用算法的逻辑关系进行分析,并给予清晰的表达。
需求分析是指用户对目标软件系统在功能、行为、性能、设计约束等方面的希望。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第7套笔试模拟试卷一选择题:(1)实现算法所需要的存储单元的多少称为()。
A)可实现性B)空间复杂度C)时间复杂度D)困难度(2)下列关于线性链表的描述中正确的是()。
A)存储空间不一定连续,且各元素的存储顺序是任意的B)存储空间不一定连续,且前件元素一定存储在后件元素的前面C)存储空间必须连续,且各前件元素一定存储在后件元素的前面D)存储空间必须连续,且各元素的存储顺序是任意的(3)以下关于栈的描述中错误的是()。
A)栈是先进先出的线性表B)栈只能顺序存储C)栈具有记忆作用D)对栈的插入与删除操作中,不需要改变栈底指针(4)下面数据结构中,属于非线性的是()。
A)线性表B)队列C)树D)栈(5)下列数据结构中,能用二分法进行查找的是()。
A)顺序存储的有序线性表B)结性链表C)二叉链表D)有序线性链表(6)有下列二叉树,对此二叉树前序遍历的结果为()。
A)ABCPOEFYZXB)ABXCOYZPEFC)ABCOPXYZEFD)ABOXYCZPEF(7)树是结点的集合,它的根结点的数目是()。
A)有且只有1个B)1或多于1C)0或1D)至少有2个(8)需求分析阶段的任务是()。
A)软件开发方法B)软件开发工具C)软件开发费用D)软件系统功能(9)关系数据库管理系统能实现的专门关系运算包括()。
A)排序、索引、统计B)选择、投影、连接C)关联、更新、排序D)显示、打印、制表(10)数据库管理员(DBA)是数据库系统的一个重要组成部分,有很多职责。
以下选项不属于DBA职责的是()。
A)定义数据的存储结构和存取策略B)定义数据库的结构C)定期对数据库进行重组和重构D)设计和编写应用系统的程序模块(11)以下说法中正确的是()。
A)C语言程序的执行都是从程序的第一个函数开始B)在C语言程序中,要调用的函数必须在main()函数中声明C)任何C语言程序的执行都是从main()函数开始D)C语言程序中的main()函数必须放在程序的最前面(12)下列合法的标识符是()。
A)123B)#256C)a.55D)abhj1_2_3(13)以下程序的运行结果是()。
#include<stdio.h>main(){ int a=3,b=4,c=8,d=4,m=1,n=3;printf("%d\n",(m=a>b)&&(n=c>d));}A)0B)1C)2D)3(14)有定义语句:int b; char c[10];,则正确的输入语句是()。
A)scanf("%d%s",&b,&c);B)scanf("%d%s",&b,c);C)scanf("%d%s",b,c);D)scanf("%d%s",b,&c);(15)有下列程序:main( ){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。
A)m=123 n=456 p=789B)m=123 n=456 p=789C)m=123,n=456,p=789D)123 456 789(16)有以下程序:main(){ int y=1,x=2,z=3;printf("%d,%d\n",(++x,y++),z+2);}执行后的输出结果是()。
A)3,5B)2,5C)3,3D)1,5(17)要求当A的值为奇数时,表达式的值为"假",A的值为偶数时,表达式的值为"真"。
则以下能满足要求的是()。
A)A%2==1B)!(A%2==0)C)!(A%2)D)A%2(18)当把四个表达式用作if语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是()。
A)k%2B)k%2= =1C)(k%2) ! =0D)!k%2= =1(19)下列不能正确计算代数式sin2()值的C语言表达式是()。
A)1/3 *sin(1/2)*sin(1/2)B)sin(0.5)*sin(0.5)/3C)pow(sin(0.5),2)/3D)1/3.0*pow(sin(1.0/2),2)(20)执行以下程序段的输出结果是()。
int m=0x12,n=0x12;m=m-n;printf("%X\n",m);A)0X0B)0X12C)0x0D)0(21)在printf的格式字符中,e格式字符的作用是()。
A)以十六进制无符号形式输出整数B)以带符号的十进制形式输出整数C)以指数形式输出实数D)以字符形式输出,且只输出一个字符(22)若要求从键盘读入含有空格字符的字符串,应使用函数()。
A)getc( )B)gets( )C)getchar( )D)scanf( )(23)当a=4,b=5,c=7,d=6时,执行下面一段程序:if(a<b)if(c<d) x=1;elseif(a<c)if(b<c) x=2;else x=3;else x=4;else x=5;程序执行后,x的值为()。
A)1B)2C)3D)4(24)有以下程序:#include<stdio.h>main(){ int a=6,b=7,m=1;switch(a%2){ case 0:m++;break;case 1:m++;switch(b%2){ defaut:m++;case0:m++;break;}}printf("%d\n",m);}程序运行后的输出结果是()。
A)1B)2C)3D)4(25)下面4个关于C语言的结论中错误的是()。
A)可以用do…while语句实现的循环一定可以用while语句实现B)可以用for语句实现的循环一定可以用while语句实现C)可以用while语句实现的循环一定可以用for语句实现D)do…while语句与while语句的区别仅是关键字"while"出现的位置不同(26)关于字符常量,以下叙述正确的是()。
A)空格不是一个字符常量B)字符常量能包含大于一个的字符C)单引号中的大写字母和小写字母代表的是相同的字符常量D)所有的字符常量都可以作为整型量来处理(27)下面函数调用语句含有实参的个数为()。
func((exp1,exp2),(exp3,exp4,exp5));A)1B)2C)3D)5(28)有以下函数定义:int fun(double a,double b){return a*b;}若以下选项中所用变量都已正确定义并赋值,错误的函数调用是()。
A)if(fun (x,y)){……}B)z= fun (fun (x,y),fun (x,y));C)z= fun (fun (x,y)x,y);D)fun (x,y);(29)下面程序段的运行结果是()。
#include<stdio.h>void main(){char str[]="ABC",*p=str;printf("%d\n",*(p+3));}A)67B)0C)字符'C'的地址D)字符'C'(30)执行以下语句段后,xy的值是()。
xy=200;pt=&xy;xy=*pt+30;A)200B)170C)260D)230(31)以下程序段的输出结果是()。
#include<stdio.h>main(){ char p[]={"ABC","DEF","GHI");int i;for(i=0;i<3;i++)puts(p[i]);}A)A B)A D GBCC)A B C D)A B CD E FG H I(32)下述程序的输出结果是()。
# include<stdio.h>void main(){int a[20],*p[4];int i,k=0;for(i=0;i<20;i++)a[i]=i;for(i=0;i<4;i++)p[i]=&a[i*i+1];for(i=0;i<4;i++)k=k+*(p+i);printf ("%d",k);}A)10B)18C)6D)数组元素引用不合法,输出结果不定(33)下面程序的运行结果是()。
#include<stdio.h>#include<string.h>main(){ char*s1="abDuj";char*s2="ABdUG";t=strcmp(s1,s2);printf("%d",t);}A)正数B)负数C)零D)不确定的值(34)下面各语句行中,能正确进行赋值字符串操作的是()。
A)char s[5]={'a','b','c','d', 'e'};B)char *s;gets(s);C)char *s;s="ABCDEF";D)char s[5];scanf("%s",&s);(35)说明语句"static int i=10;"中"i=10"的含义是()。
A)说明变量i为整型的静态变量B)等价于"auto int i=10"C)将i初始化为10D)将i赋值为10(36)以下有关宏的不正确的是()。
A)宏名无类型B)宏定义不做语法检查C)宏名必须用大写字母表示D)双引号中出现的宏名不进行替换(37)以下程序的输出结果是()。
#include<stdio.h>struct st{ int x;int *y;} *p;int dt[4]={1,2,3,4};struct st aa[4]={2,&dt[0],3,&dt[0],4,&dt[0],5,&dt[0],};main(){ p=aa;printf("%d\n",++(p->x));}A)1B)2C)3D)4(38)以下程序的输出结果是()。
typedef union{long a[1];int b[3];char c[10];} S;S t;{printf("%d\n",sizeof(t));}A)32B)16C)10D)20(39)在C语言中,十进制的37可等价地写为()。