c二级题目
计算机二级考试C语言练习题及答案
structRECctREC;{intn=0;charc='A';}tl,t2;
D.struct{intn;charc;}REC;RECtl,t2;
正确答案:A 答案解析:定义结构体类型的一般形式为:StrUCt结构体名{成员列表};StrUCt结构体名后不能加〃;〃号,所以选 项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为StrUett1,t2;选项A为用户自定义类型 ,其为正确的定义形式。
.若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是() A.一对一 B.一对多
C.多对一 D.多对多 正确答案:B
答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间 也是一对多的联系。
.关于C语言的变量,以下叙述中错误的是() A.所谓变量是指在程序运行过程中其值可以被改变的量
B.变量所占的存储单元地址可以随时改变 C.程序中用到的所有变量都必须先定义后才能使用
D.由三条下划线构成的符号名是合法的变量名
正确答案:B
答案解析:变量是指在程序运行过程中其值可以改变的值,一个变量实质上是代表了内存中的某个存储单元。 在程序中对某个变量的操作实际上就是对这个存储单元的操作,程序运行期间,这个分配的存储单元不会改变,但 是其值可以变化。变量命名要符合标识符的规定,其中下划线是标识符的组成字符。程序中所有变量都必须先定义 后使用。
【参考答案】⑴a[i](2)a[j](3)a[j]
【考点分析】
本题考查:数组的引用;if语句条件表达式,如果表达式的值为真,则执行下面的语句,如果该值为假,财不执 行下面的语句。
全国计算机等级考试《二级C语言程序设计》模拟试卷二
全国计算机等级考试《二级C语言程序设计》模拟试卷二[单选题]1.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是((江南博哥))。
A.外模式B.内模式C.概念模式D.逻辑模式参考答案:B参考解析:数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。
答案选择B选项。
[单选题]4.下面不属于需求分析阶段任务的是()。
A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划参考答案:D参考解析:需求分析阶段的工作主要包括4个方面:①需求获取,其目的是确定对目标系统的各方面需求;②需求分析,对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型;③编写文档,编写需求规格说明书,编写初步用户使用手册;④确认测试计划,修改完善软件开发计划,需求评审。
制定软件集成测试计划属于概要设计阶段的任务。
答案选择D选项。
[单选题]5.结构化程序的三种基本控制结构是()。
A.顺序、选择和重复(循环)B.过程、子程序和分程序C.顺序、选择和调用D.调用、返回和转移参考答案:A参考解析:结构化程序设计中三种基本控制结构为顺序、选择和重复(循环)。
答案选择A选项。
[单选题]6.构成计算机软件的是()。
A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档参考答案:D参考解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。
答案选择D选项。
[单选题]7.在黑盒测试方法中,设计测试用例的主要根据是()。
A.程序内部逻辑B.程序外部功能C.程序数据结构D.程序流程图参考答案:B参考解析:黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明。
2023年9月青少年软件编程C语言等级考试试卷二级真题(含答案)
2023年9月青少年软件编程C语言等级考试试卷二级(含答案)分数:100题数:5一、编程题(共5题,共100分)第1题.数组指定部分逆序重放将一个数组中的前k项按逆序重新存放,例如,将数组8,6,5,4,1前3项逆序重放得到5,6,8,4,1。
时间限制:1000内存限制:65536输入:有两行,第一行两个整数,以空格分隔,分别为数组元素的个数n(1<n<100)以及指定的k(1<=k<=n)。
第二行是n个整数,每两个整数之间用空格分隔。
输出:只有一行,输出按题目要求逆序后数组的整数,每两个整数之间用空格分隔。
样例输入:5386541样例输出:56841参考答案:#include<bits/stdc++.h>using namespace std;int a[1000],b[1000];int main(){int n,k;cin>>n>>k;for(int i=0;i<n;i++){cin>>a[i];b[i]=a[i];}for(int i=k-1;i>=0;i--){cout<<b[i]<<';';}for(int i=k;i<n;i++){cout<<a[i]<<';';}}第2题.谁考了第k名在一次考试中,每个学生的成绩都不相同,现知道了每个学生的学.号和成绩,求考第k名学生的学.号和成绩。
时间限制:1000内存限制:65536输入:第一行有两个整数,分别是学生的人数n(1≤n≤100),和求第k名学生的k(1≤k≤n)。
其后有n行数据,每行包括一个学.号(整数)和一个成绩(浮点数),中间用一个空格分隔。
输出:输出第k名学生的学.号和成绩,中间用空格分隔。
(注:请用%g输出成绩)。
样例输入:539078800167.89078800290.390788003619078800468.49078800573.9样例输出:9078800468.4参考答案:#include<bits/stdc++.h>using namespace std;int sum(int n){int s=0;while(n>0){s+=n%10;n/=10;}return s;}int main(){int i,j,t,n,a[1000],b[1000];cin>>n;for(i=0;i<n;i++){cin>>a[i];b[i]=sum(a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if((b[j]<b[j+1])||((b[j]==b[j+1])&&(a[j]<a[j+1]))){t=b[j];b[j]=b[j+1];b[j+1]=t;t=a[j];a[j]=a[j+1];a[j+1]=t;}}}for(i=0;i<n;i++){cout<<a[i]<<"";}return0;}第3题.内部元素之和输入一个整数矩阵,计算位于矩阵内部的元素之和。
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解
全国计算机等级考试《二级C语言程序设计》历年真题精选及详解一、选择题(请在【答题】菜单上选择【选择题】命令,启动选择题测试程序,按照题目上的内容进行答题。
作答选择题时键盘被封锁,使用键盘无效,考生须使用鼠标答题。
选择题部分只能进入一次,退出后不能再次进入。
选择题部分不单独计时。
)1.下列叙述中正确的是()。
A.所有数据结构必须有根结点B.所有数据结构必须有终端结点(即叶子结点)C.只有一个根结点,且只有一个叶子结点的数据结构一定是线性结构D.没有根结点或没有叶子结点的数据结构一定是非线性结构【答案】D【解析】D项正确,线性结构的特点是:①集合中必存在“第一个元素”且惟一;②集合中必存在“最后一个元素”且惟一;③除最后一个元素外,其他数据元素均有惟一的“后继”;④除第一个元素外,其他数据元素均有惟一的“前驱”。
所以没有根结点或没有叶子结点的数据结构一定是非线性结构。
AB两项错误,不是所有数据结构都必须有根结点和叶子结点;C项错误,数据结构中若有中间结点不满足只有一个前件或者后件的条件,就不是线性结构。
答案选择D选项。
2.以下叙述中错误的是()。
A.C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令B.C程序经过编译、链接步骤之后才能形成一个真正可执行的二进制机器指令文件C.用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D.C语言源程序经编译后生成后缀为.obj的目标程序【答案】A【解析】A项错误,注释语句不会被翻译成二进制的机器指令。
C源程序经过C编译程序编译之后生成后缀为.obj的二进制文件(称为目标文件),然后由“链接程序”(Link)的软件把.obj文件与各种库函数连接起来生成一个后缀为.exe的可执行文件。
答案选择A选项。
3.C语言主要是借助以下()功能来实现程序模块化的。
A.定义函数B.定义常量和外部变量C.三种基本结构语句D.丰富的数据类型【答案】A【解析】C程序的模块化主要通过函数来实现。
国家计算机等级考试二级c语言选择题及答案全部..
11 题号 题目内容 A B C D 答案 1 二进制数1111.1对应的八进制数是( )。
17.5 15.4 17.4 17.1 C 2 计算机能够自动工作,主要是因为采用了( )。
二进制数制 高速电子元件 存储程序控制 程序设计语言 C 3 从第一代计算机到第四代计算机的体系结构都是相同的,都是由运算器、控制器、存储器以及输入输出设备组成的。
这种体系结构称为( )体系结构。
艾伦.图灵 罗伯特.诺依斯 比尔.盖茨 冯.诺依曼 D 4 电子计算机能够自动地按照人们的意图进行工作的最基本思想是( )这个思想是冯.诺依曼提出来 布尔运算 集成电路 程序存储 总线系统 C5 对待计算机软件正确的态度是( )。
计算机软件不需要维护 计算机软件只要能复制得到就不必购买 受法律保护的计算机软件不能随便复制 计算机软件不必有备份 C 6 冯·诺依曼计算机工作原理是( )。
程序设计 存储程序和程序控制 算法设计 程序调试 B 7 根据汉字结构输入汉字的方法是( )。
区位码 电报码 拼音码 五笔字型 D 8 工厂利用计算机系统实现温度调节、阀门开关,该应用属于( )。
过程控制 数据处理 科学计算 CAD A9 计算机系统的组成包括( )。
硬件系统和应用软件 外部设备和软件系统 硬件系统和软件系统 主机和外部设备 C 10 计算机之所以能够按照人的意图自动地进行操作,主要是因为采用了( )。
二进制编码 高级语言 存储程序和程序控制 高速的电子元件 C 11 世界上不同型号的计算机,就其工作原理而言,一般认为都基于冯.诺依曼提出的原理( )。
二进制数 布尔代数 集成电路 存储程序和程序控制 D 12 世界上第一台电子计算机的名字是( )。
ENIAC EDSAC EDVAC UNIVAC A 13 世界上第一台计算机的名称是( )。
IBM APPLEⅡ MAC ENIAC D14 下列叙述中,正确的是( )。
计算机二级c语言考试题库
计算机二级c语言考试题库一、选择题1. 下列哪个是 C 语言的关键字?A. appleB. forC. goodD. while答案:B. for2. C 语言中用于注释的符号是?A. //B. &&C. !D. >答案:A. //3. 假设 int a = 10, b = 20; 那么 a + b 的结果是?A. 15B. 20C. 30答案:C. 304. 下列代码运行后,输出结果是什么?```c#include <stdio.h>int main() {int x = 5;printf("%d", x);return 0;}```A. 5B. 10C. 0D. 1答案:A. 55. 以下哪个函数用于输出一个字符到控制台?A. scanfB. putsD. putchar答案:D. putchar二、填空题1. 下列代码中,第一个空应填入什么?```c#include <stdio.h>int main() {______________printf("Hello, World!");return 0;}```答案:int main()2. 填写代码中的空白部分,使其可以计算 a 和 b 的和并输出结果。
```c#include <stdio.h>int main() {int a = 5, b = 10;int sum = _______;printf("The sum is %d", sum);return 0;}```答案:a + b三、编程题1. 编写一个程序,用户输入一个数字 n,程序输出 1 到 n 的所有整数平方。
```c#include <stdio.h>int main() {int n, i;printf("Enter a number: ");scanf("%d", &n);for (i = 1; i <= n; i++) {printf("%d ", i * i);}return 0;}```2. 编写一个程序,计算并输出 1 到 10 的阶乘。
全国计算机二级考试试题c语言
全国计算机二级考试试题c语言C语言程序设计一、单项选择题(每题2分,共40分)1. 下列关于C语言中变量的叙述,正确的是()。
A. 变量必须先定义后使用B. 变量可以在程序的任何地方定义C. 变量的类型不能改变D. 变量的存储类别可以改变2. C语言中,一个整数变量和一个字符变量分配到的内存空间()。
A. 都是1个字节B. 都是2个字节C. 根据不同的编译器和操作系统可能不同D. 都是4个字节3. 在C语言中,以下哪个关键字用于声明一个函数?()A. intB. voidC. staticD. function4. 若有以下代码段,正确的输出是什么?```c#include <stdio.h>int main() {int a = 10, b = 20, c;c = a + b;printf("%d", c);return 0;}```A. 10B. 20C. 30D. 405. C语言中,字符串常量存储在内存的()。
A. 栈区B. 堆区C. 数据区D. 文字常量区6. 下列哪个不是C语言标准输入输出库函数?()A. printf()B. scanf()C. getchar()D. puts()7. 在C语言中,数组的下标默认从哪个数字开始?()A. 0B. 1C. -1D. 任意数字8. C语言中,指针变量的值是()。
A. 地址B. 数据C. 长度D. 索引9. 下列哪个操作是合法的指针运算?()A. p++B. p--C. p += 1D. p = p * 210. 在C语言中,结构体(struct)可以用来创建()。
A. 函数B. 类C. 联合体D. 集合11. C语言中,以下哪个是正确的循环结构?()A. do-whileB. repeat-untilC. do-untilD. repeat-while12. 在C语言中,以下哪个不是文件操作相关的函数?()A. fopen()B. fclose()C. fputc()D. getchar()13. C语言中,以下哪个是正确的宏定义?()A. #define PI 3.14159B. const double PI = 3.14159;C. int PI = 3.14159;D. All of the above14. 在C语言中,以下哪个操作会导致未定义行为?()A. 使用未初始化的变量B. 整数除以零C. 指针访问未分配的内存D. All of the above15. 下列哪个是C语言中的条件运算符?()A. &&B. ||C. <>D. ?:16. C语言中,函数的返回值()。
全国计算机二级C语言程序设计题((100%全中必过)
目录题目一“回文”字符串 (3)题目二迭代法求给定多项式的值 (4)题目三迭代法求给定方程的根 (5)题目四二维数组三角元素操作1 (6)题目四二维数组三角元素操作2 (7)题目四二维数组三角元素操作3 (9)题目五二维数组元素求最值 (10)题目六二维数组周边元素1 (11)题目六二维数组周边元素2 (12)题目七二维数组转一维数组1 (13)题目七二维数组转一维数组2 (14)题目七二维数组转一维数组3 (15)题目七二维数组转一维数组4 (16)题目八结构体数组排序1 (17)题目八结构体数组排序2 (18)题目八结构体数组排序3 (19)题目八结构体数组排序4 (20)题目九结构体数组求最值1 (22)题目九结构体数组求最值2 (23)题目九结构体数组求最值3 (23)题目九结构体数组求最值4 (24)题目十结构体数组筛选 (25)题目十一结构体数组字符串比较 (26)题目十二矩阵操作1 (27)题目十二矩阵操作2 (28)题目十三类似素数判断1 (29)题目十三类似素数判断2 (30)题目十四累加累乘求和1 (30)题目十四累加累乘求和2 (31)题目十四累加累乘求和3 (31)题目十四累加累乘求和4 (32)题目十四累加累乘求和5 (32)题目十四累加累乘求和6 (33)题目十四累加累乘求和7 (34)题目十四累加累乘求和8 (35)题目十四累加累乘求和9 (35)题目十四累加累乘求和10 (36)题目十四累加累乘求和11 (37)题目十四累加累乘求和12 (37)题目十四累加累乘求和13 (38)题目十四累加累乘求和14 (39)题目十四累加累乘求和15 (39)题目十四累加累乘求和16 (40)题目十五链表2 (42)题目十六删除整数位某数位 (43)题目十七删除字符串中指定字符1 (44)题目十七删除字符串中指定字符2 (45)题目十七删除字符串中指定字符3 (45)题目十七删除字符串中指定字符4 (46)题目十七删除字符串中指定字符5 (47)题目十七删除字符串中指定字符6 (47)题目十七删除字符串中指定字符7 (48)题目十七删除字符串中指定字符8 (48)题目十七删除字符串中指定字符9 (49)题目十七删除字符串中指定字符10 (50)题目十七删除字符串中指定字符11 (50)题目十七删除字符串中指定字符12 (51)题目十七删除字符串中指定字符13 (52)题目十七删除字符串中指定字符14 (53)题目十七删除字符串中指定字符15 (54)题目十七删除字符串中指定字符16 (54)题目十七删除字符串中指定字符17 (55)题目十七删除字符串中指定字符18 (56)题目十八数字字符串转整数1 (57)题目十八数字字符串转整数2 (58)题目十九素数判定1 (58)题目十九素数判定2 (59)题目十九素数判定3 (60)题目二十统计问题 (61)题目二十一小数位操作 (62)题目二十二一维数组或字符串排序1 (62)题目二十二一维数组或字符串排序2 (63)题目二十二一维数组元素的筛选1 (64)题目二十二一维数组元素的筛选2 (64)题目二十二一维数组元素的筛选3 (65)题目二十二一维数组元素的筛选4 (66)题目二十二一维数组元素的筛选5 (67)题目二十二一维数组元素的筛选6 (67)题目二十二一维数组元素的筛选7 (68)题目二十二一维数组元素的筛选8 (69)题目二十二一维数组元素的筛选9 (70)题目二十三一维数组元素筛选 (70)题目二十五一维数组最值求解1 (71)题目二十五一维数组最值求解2 (72)题目二十五一维数组最值求解3 (73)题目二十六移动问题1 (73)题目二十七整数合并1 (75)题目二十七整数合并2 (75)题目二十七整数合并3 (76)题目二十七整数合并4 (76)题目二十七整数合并5 (77)题目二十七整数合并6 (77)题目二十七整数合并7 (78)题目二十七整数合并8 (78)题目二十八字符串长度比较1 (78)题目二十八字符串长度比较2 (79)题目二十九字符串的逆置 (80)题目三十字符串计数 (81)题目三十一字符串连接1 (82)题目三十一字符串连接2 (82)题目三十一字符串连接3 (83)题目三十二字符串中指定字符查找 (84)题目三十三字母大小的判断及转换 (84)题目一“回文”字符串3.请编写函数fun,该函数的功能是:判断字符串是否为回文,若是,则函数返回1,主函数中输出"YES",否则返回0,主函数中输出"NO"。
计算机二级c语言题库
计算机二级c语言题库
计算机二级C语言题库包括以下题目:
1. 选择题
(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为:
A. PAD图
B. N-S图
C. 结构图
D. 数据流图
(2)结构化程序设计主要强调的是:
A. 程序的。
2. 填空题
【】si【】9【】t=n
改错题:【】t=x;x=y;【】return t;
【】t=i【】i【】0
改错题:【】while(fabs(t)=num)【】t=s。
以上只是部分题目的示例,完整的计算机二级C语言题库会包含更多题目,包括选择题、填空题、改错题等各类题型。
您可以通过考试培训网站或教育类网站获取计算机二级C语言题库的全部题目及答案,也可以通过做题应用来练习和提高自己的解题能力。
计算机二级c语言真题操作题
计算机二级c语言真题操作题一、单项选择题(每题1分,共10分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. defineC. typeD. class2. 下列哪个选项是正确的C语言数组声明?A. int array[10];B. int [10] array;C. int array=10;D. int 10[array];3. C语言中,哪个函数用于获取字符串的长度?A. strlen()B. length()C. size()D. getlength()4. 在C语言中,以下哪个是正确的条件表达式?A. if(x)B. if(x==y)C. if(x==y?1:0)D. if(x=y)5. 以下哪个是C语言中的合法常量?A. 0.1LB. 0.1FC. 0.1D. 1.0e-16. 在C语言中,以下哪个是正确的函数声明?A. int function();B. void myFunc();C. int myFunc();D. all of the above7. 下列哪个选项是C语言中的合法变量名?A. 2variableB. variable2C. variable-twoD. variable$8. C语言中,以下哪个关键字用于定义一个枚举类型?A. enumB. enum_typeC. enum_varD. enumed9. 在C语言中,哪个操作符用于计算两个数的乘积?A. *B. /C. %D. +10. 下列哪个选项是C语言中的合法语句?A. for(i=0; i<10; i++) {}B. while(1) {}C. if(x > 0) {}D. all of the above二、程序填空题(每空2分,共20分)根据题目要求,在以下程序的空白处填入正确的代码,使程序能够正确运行。
```c#include <stdio.h>int main() {int a, b, sum;printf("请输入两个整数:");scanf("%d %d", &a, &b);// 计算两个数的和sum = a + b;// 输出结果printf("两个数的和是:%d\n", sum);return 0;}```三、程序改错题(每题5分,共15分)阅读以下C语言程序,找出其中的错误并进行修改。
计算机二级c语言试题及答案
计算机二级c语言试题及答案1. 题目一:请编写一个程序,实现两个整数的互换(不使用第三个变量)。
答案一:```c#include <stdio.h>void swap(int *a, int *b) {*a = *a + *b; // a = a + b*b = *a - *b; // b = a + b - b = a*a = *a - *b; // a = a + b - a = b}int main() {int num1, num2;printf("请输入两个整数:\n");scanf("%d%d", &num1, &num2);printf("交换前的两个数为:%d %d\n", num1, num2);swap(&num1, &num2);printf("交换后的两个数为:%d %d\n", num1, num2);return 0;}```2. 题目二:编写一个程序,计算并输出 100 以内的所有质数。
答案二:```c#include <stdio.h>int isPrime(int num) {int i;for (i = 2; i < num; i++) {if (num % i == 0) {return 0; // 不是质数}}return 1; // 是质数}int main() {int i;printf("100 以内的质数有:\n");for (i = 2; i <= 100; i++) {if (isPrime(i)) {printf("%d ", i);}}return 0;}```3. 题目三:请编写一个程序,判断某年份是否为闰年。
答案三:```c#include <stdio.h>int isLeapYear(int year) {if ((year % 4 == 0 && year % 100 != 0) || year % 400 == 0) { return 1; // 是闰年} else {return 0; // 不是闰年}}int main() {int year;printf("请输入一个年份:\n");scanf("%d", &year);if (isLeapYear(year)) {printf("%d年是闰年。
上海市计算机二级c语言试题及答案
上海市计算机二级c语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。
每小题只有一个选项是正确的,请将正确答案的字母填在题后的括号内。
)1. C语言中,用于定义一个结构体类型的关键字是()。
A. structB. unionC. enumD. typedef2. 以下哪个选项是合法的C语言用户标识符?()A. 2dollarB. intC. _123abcD. float3. 在C语言中,用于定义一个整型数组的语句是()。
A. int a[10];B. int a[];C. int a=10;D. int a(10);4. 下列哪个函数不能用于字符串连接?()A. strcatB. strcpyC. strncatD. printf5. 在C语言中,用于声明一个函数的关键字是()。
A. defineB. typedefC. externD. static6. 以下哪个选项不是C语言中的运算符?()A. %B. &&C. ::D. <7. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. !D. &8. 在C语言中,以下哪个选项不是合法的赋值语句?()A. a = b;B. a = b = c;C. a = (b = c);D. a = (b, c);9. 在C语言中,以下哪个选项不是合法的循环语句?()A. forB. do-whileC. whileD. repeat-until10. C语言中,用于定义一个指针变量的语句是()。
A. int *p;B. int p*;C. int *p = 0;D. int p = 0;二、填空题(本大题共5小题,每小题4分,共20分。
请将答案填在题后的横线上。
)1. 在C语言中,表示逻辑“或”操作的运算符是______。
2. C语言中,用于计算两个整数的最大公约数的函数是______。
国家二级(C语言)机试模拟试卷29(题后含答案及解析)
国家二级(C语言)机试模拟试卷29(题后含答案及解析)题型有:1. 选择题 2. 程序填空题 3. 程序修改题 4. 程序设计题选择题1.设栈的顺序存储空间为S(0:49),栈底指针bottom=49,栈顶指针top=30(指向栈顶元素)。
则栈中的元素个数为A.30B.29C.20D.19正确答案:C解析:栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。
入栈运算即在栈顶位置插入一个新元素,退栈运算即是取出栈顶元素赋予指定变量。
元素依次存储在单元30:49中,个数为20.2.某二叉树的前序序列为ABCDEFG,中序序列为DCBAEFG,则该二叉树的深度(根结点在第1层)为A.2B.3C.4D.5正确答案:C解析:深度,定义一棵树的根节点所在的层次为1,其他节点所在的层次等于它的父节点所在的层次加1,树的最大层次称为树的深度。
二叉树遍历可以分为3种:前序遍历(访问根节点再访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
二叉树的前序序列为ABCDEFG,A为根节点。
中序序列为DCBAEFG,可知DCB为左子树节点,EFG为右子树节点。
同理B为C父节点,C为D父节点。
同理E为F根节点,F为G根节点。
故二叉树深度为4层。
C选项正确。
3.下列叙述中正确的是A.存储空间连续的数据结构一定是线性结构B.存储空间不连续的数据结构一定是非线性结构C.没有根结点的非空数据结构一定是线性结构D.具有两个根结点的数据结构一定是非线性结构正确答案:D解析:一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,也称为线性表,可以采用顺序存储和链接存储,其中顺序存储的空间连续而链式存储空间不连续。
非线性结构是指不满足以上两个条件的数据结构,非线性结构主要是指树形结构和网状结构。
c语言二级考试题库
c语言二级考试题库考试题目一:1. (单选题)以下关于C语言中的运算符,哪个是正确的?A. = 是赋值运算符B. * 是取余运算符C. + 是自增运算符D. / 是逻辑与运算符答案:A2. (多选题)以下哪些是C语言的控制语句?A. if-else语句B. for循环语句C. switch语句D. do-while循环语句答案:A、B、C、D3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;float z = x / y;printf("%f", ____);```答案:z4. (判断题)在C语言中,可以使用浮点数来进行整数运算。
答案:错误考试题目二:1. (单选题)以下表达式的值是多少?```cint a = 10;int b = 5;int c = a++ + ++b;```A. 25B. 26C. 27D. 282. (多选题)以下哪些是C语言中的数据类型?A. intB. floatC. charD. string答案:A、B、C3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint i;for (i = 0; i < 10; i++) {printf("%d ", i);}```答案:无4. (判断题)C语言中的逻辑运算符有 &&、|| 和 !。
答案:正确考试题目三:1. (单选题)以下哪个选项可以用来定义一个常量?A. const int x;B. readonly int y;C. final int z;D. let int w;答案:A2. (多选题)以下哪些是C语言中的关键字?A. whileB. switchC. goD. break答案:A、B3. (填空题)下面的C语言代码片段中,缺少的语句是什么?```cint x = 10;int y = (x > 5) ? 1 : 0;printf("%d", ____);```答案:y4. (判断题)在C语言中,可以直接对两个字符串进行比较运算。
全国计算机等级考试二级C语言程序设计真题精选6(含答案)
全国计算机等级考试二级C语言程序设计真题精选6一、单项选择题1.有以下程序:#includ<stdio.h>#defin4voifun(ina[][N],inb[])ini; for(i=0;i<N;i++)b[i]=a[i][i];}main()inx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("");}程序运行的结果是()。
A.1,2,3,4,B.1,0,7,0, √C.1,4,5,9D.3,4,8,0解析:数组x有4列。
fun函数中for循环的作用是将二维数组前4行的对角线元素赋给b[0],b[1],b[2],b[3]。
在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1,0,7,0,。
2.有以下程序:#includ<stdio.h>main()chaa=4; printf("%",a=a<<1);}程序运行的结果是()。
A.40B.16C.8 √D.4解析:左移一位相当于原数乘以2,右移一位相当于除以2。
a<<1结果为4*2=8,没有超过char类型的范围。
3.一个栈的初始状态为空。
现将元素1、2、3、4、5、A、B、C、D、E依次入栈,然后再依次出栈,则元素出栈的顺序是()。
A.12345ABCDEB.EDCBA54321 √C.ABCDE12345D.54321EDCBA解析:栈是按照“先进后出”的原则组织数据的,入栈的顺序为12345ABCDE,则出栈的顺序应为其逆序,即EDCBA54321。
4.有以下程序:#includ<stdio.h>strucstinx,y;data[2]={1,10,2,20};main ()strucs*p=data; printf("%d,",p->y);printf("%",(++p)->x);}程序运行的结果是()。
2024年6月青少年软件编程C语言等级考试试卷二级真题
2024年6月青少年软件编程C语言等级考试试卷二级真题分数:100 题数:51.冠军魔术(20分)。
2018年FISM(世界魔术大会)近景总冠军简纶廷的表演中有一个情节:以桌面上一根带子为界,当他将纸牌从带子的一边推到另一边时,纸牌会变成硬币;把硬币推回另一边会变成纸牌。
这里我们假设纸牌会变成等量的硬币,而硬币变成纸牌时,纸牌的数量会加倍。
那么给定纸牌的初始数量,当他来回推了N次(来/回各算一次)后,手里拿的是纸牌还是硬币?数量是多少?输入:输入在一行里给出两个正整数,分别是纸牌的初始数量和魔术师推送的次数。
这里假设初始状态下魔术师手里全是纸牌。
输出:如果最后魔术师手里是纸牌,输出0和纸牌数量;如果是硬币,则输出1和硬币数量。
数字间须有1个空格。
题目保证结果数值不超出整型范围(即231-1)。
2.找座位(20分)。
组织一场考试时,监考老师手里会有一份签到表,按座位号的顺序列出学生。
但学生要根据这份表找到自己的座位编号就很麻烦了。
本题就要求你编写程序,帮助学生快速找到他们的座位号。
输入:输入第一行给出一个不超过103的正整数N,是参加考试的学生数。
以下N行,第i行给出座位号为i的学生的学号(i=1,……, N)。
学号是一个不超过8位、完全由数字组成的字符串。
输入保证每个学生只分配一个座位。
接下来一行给出一个不超过105的正整数M,是待查询的学生数。
以下M行,每行给出一个待查询的学生的学号。
输出:对每一个待查询的学生,如果他在考场里有座位,则在一行中输出其座位号;否则输出“NA”(Not Available的缩写),表示座位号不存在。
3.英语老师小助手(20分)。
英语老师要求学生按照如下规则写一串字母:规则1,如果写了某个大写字母,下一个就必须写同个字母的小写,或者写字母表中前一个字母的大写。
规则2,如果写了某个小写字母,下一个就必须写同个字母的大写,或者写字母表中下一个字母的小写。
例如“zZzZYXWwxyYX”就是一个合法的字母串;而“wVUuvUTsR”就是非法的。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2011年计算机二级C语言上机操作题及答案(99)来源:考试大【相信自己,掌握未来,考试大值得信赖!】 2011年7月27日第一题请补充fun函数的功能是:把字符下标能被2或3整除的字符串str中删除,把剩余的字符重新保存在字符串str中。
字符串str从键盘输入,其长度作为参数传入fun函数。
例如,输入“abcdefghijk”,输出“bfh”。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
#include#define N 80void fun(char s[], int n){int i, k;___1___;for (i=0; i{s[k++] = s[i];if ((i%2==0) ___2___ (i%3==0))k--;}___3___;}main(){int i = 0, strlen = 0;char str[N];printf("\nInput a string:\n");gets(str);while (str[i] != '\0'){strlen++;i++;}fun(str, strlen);printf("\n********* display string *********\n");puts(str);}答案:第1处填空:k=0;第2处填空:||第3处填空:s[k]=’\0’或s[k]=0第二题下列给定程序中,函数fun的功能是:统计一个无符号整数中各位数字值为零的个数,通过形参传回主函数;并把该整数中各位上最大的数字值作为函数值返回。
例如,若输入无符号整数30800,则数字值为零的个数为3,各位上数字值最大的是8。
请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#includeint fun(unsigned n, int *zero){int count = 0, max = 0, t;do{t = n ;/********found********/if (t = 0)count++;if (max < t)max = t;n = n/10;} while (n);/********found********/zero = count;return max;}main(){unsigned n;int zero, max;printf("\nInput n(unsigned): ");scanf("%d", &n);max = fun(n, &zero);printf("\nThe result: max=%d zero=%d\n", max, zero);}答案:第1处:if(t=0)应改为if(t==0)第2处:zero=count; 应改为*zero=count;第三题请编写函数fun,其功能是:计算并输出例如,若主函数从键盘给n输入20后,则输出为s=534.188884。
注意:n的值要求大于1但不大于100。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的花括号中填入所编写的若干语句。
#include#includedouble fun(int n){}main(){int n;double s;FILE *out;printf("\n\nInput n: ");scanf("%d",&n);s=fun(n);printf("\n\ns=%f\n\n",s);out=fopen("out.dat","w");fprintf(out, "%f\n", fun(n+20));fclose(out);}答案double fun(int n){int i;double s=1.0;p=1.0;for(i=2;i<=n;i++){p+pow(i,0.5);s+=p;}return s;}第一题请补充fun函数,该函数的功能是:求1~100(不包括100)以内所有素数的平均值。
仅在横线上填入所编写的若干表达式或语句,勿改动函数中的其他任何内容。
#includemain(){int i, j, n = 0, flag;float aver = 0;{flag = 1;for (i=2; iif (___1___){flag = 0;break;}if (___2___){n++;aver += j;}}printf("\n\n average=%4.2f", ___3___);}答案:第1处填空:j%i==0或!(j%i)或0==j%i第2处填空:flag==1或flag或1==flag第3处填空:aver/n第二题数列中,第一项值为3,后一项的值增5;下列给定程序中,函数fun的功能是:计算前n(4<N 请改正函数fun中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#define N 20int fun(int n, int *a){/********found********/int i, j, k, sum;sum = 0;for (k=3, i=0; i{sum = sum+k;/********found********/if (sum%4 = 2)a[j++] = sum;}return j;}main(){int a[N], d, n, i;printf("\nEnter n (4<N<=50);d = fun(n, a);printf("\n\nThe result :\n");for (i=0; iprintf("m", a[i]);printf("\n\n");}答案:第1处:int i,j,k,sum; 应改为int i,j=0,k,sum;第2处:if(sum%4=2) 应改为if(sum%4==2)第三题请编写函数fun,其功能是:计算并输出3到n之间所有素数的平方根之和。
例如,若主函数从键盘给n输入100后,则输出为sum=148.874270。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的花括号中填入所编写的若干语句。
#include#includedouble fun(int n){}main(){int n;double sum;FILE *out;printf("\n\nInput n: ");scanf("%d",&n);sum=fun(n);printf("\n\nsum=%f\n\n",sum);out=fopen("out.dat","w");for (n = 0; n < 10; n++)fprintf(out, "%f\n", fun(n+80));fclose(out);}答案double fun(int n){int m,k ,i;double s=0.0;for(m=3;m<=n;m++){k=sqrt(m);for(i=2;i<=k;i++)if(m%i==0) break;if(i>=k+1)s+=sqrt(m);}return s;}第1题填空题:数组str全由大小写字母字符组成。
请补充fun函数,该函数的功能是:请把str中的字母转换成紧接着的下一个字母,如果原来的字母为’z’或’Z’,则相应地转换成’a’或’A’,结果仍保存在原数组中。
例如,输入“AboutZz”,则输出“BcpvuAa”。
请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。
#include#define N 80void fun(char s[]){int i;for (i=0; ___1___; i++)if (s[i]=='z' || s[i]=='Z')s[i] -= ___2___;elses[i] += ___3___;}main(){char str[N];printf("\n Input a string: \n");gets(str);printf("\n******** original string ********\n");puts(str);fun(str);printf("\n******** new string ********\n");puts(str);}答案:第1空答案:s[i]!=’\0’或s[i]!=0第2空答案:25第3空答案:12、第2题改错题:下列给定程序中,函数fun的功能是:计算函数F(x,y,z)=(x+y)/(x-y)+(z+y)/(z-y)的值。
其中x和y的值不等,z和y的值不等。
例如,当x的值为9、y的值为1、z的值为15时,函数值为3.50。
请改正程序中的错误,使它能得出正确的结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!#include#include/********found********/#define FU(m,n) (m/n)float fun(float a, float b, float c){float value;value = FU((a+b), (a-b))+FU((c+b), (c-b));/********found********/Return (value);}main(){float x, y, z, sum;printf("Input x y z: ");scanf("%f%f%f", &x, &y, &z);printf("x=%f,y=%f,z=%f\n", x, y, z);if (x==y || y==z){printf("Data error!\n");exit(0);}sum = fun(x, y, z);printf("The result is :%5.2f\n", sum);}答案:第一处:#define FU(m,n)(m/n)应改为#define FU(m,n) (m)/(n)第二处:Return(Value):应改为return(value);3、第3题编程题:请编写函数fun,它的功能是:计算并输出n(包括n)以内能被5或9整除的所有自然数的倒数之和。