2017年全国计算机等级考试二级C语言真题及答案
最新精品2 017年9月计算机等考二级C语言真题及答案
五、单项选择题(计算机常识及应用。
在每小题列出的四个备选项中只有一个是正确的,请将正确项的代码填写在题干的括号内。
每小题1分,共20分。
)1 .计算机系统由()组成。
A.主机和系统软件B.硬件系统和应用软件C.硬件系统和软件系统D.微处理器和软件系统2.通常,在微机中标明的P4或奔腾4是指()A.产品型号B.主频C.微机名称D.微处理器型号3.Windows2000操作系统的主要功能是()A.控制和管理系统资源的使用B.实现软硬件的转接C.管理计算机的硬件设备D.把源程序译成目标程序4.计算机中,一个浮点数由两部分组成,它们是()A.阶码和尾数B.基数和尾数C.阶码和基数D.整数和小数5.在Windows的窗口中切换、可以通过()方式进行。
A.Alt+Esc键B.选择资源管理器C.选择任务栏D.选择控制面板6.喷墨打印机较针式打印机的最大优点()A.打印成本较低B.体积小,重量轻C.采用非击打式,噪音较小D.以上说法都不对7.计算机病毒是指()A.编制有错误的计算机程序B.设计不完善的计算机程序C.计算机的程序已被破坏D.以危害系统为目的的特殊的计算机程序8.400个24×24点阵汉字的字形库存储容量是()A.28800个字节B.0.23604M个二进制位C.0.8K个字节D.288个二进制位9.文件夹中不可存放( )A.文件B.多个文件C.文件夹D.字符10.在微型机算计中,若将一个物理硬盘划分为多个逻辑硬盘,则约定第一个逻辑硬盘的名称为A.A盘B.C盘C.D盘D.E盘11.下面关于快捷菜单说法正确的是()A.快捷菜单内容与鼠标指向的区域和对象有关B.快捷菜单的内容是一样的C.单击鼠标左键调出快捷菜单D.双击鼠标右键调出快捷菜单12.在Excel中,给当前单元格输入文字型数据时,其默认值为()A.居中B.左对齐C.右对齐D.随机13.在计算机的应用中,“OA”表示()A.管理信息系统B.决策支持系统C.办公自动化D.人工智能14.在word中将鼠标指针移动到文档某一段的任意行处并要选定该段的内容,则鼠标的操作是()A.单击左键B.单击右键C.双击左键 C.三击左键15.在磁盘上保存的演示文稿的文件扩展名是()A.POTB.PPTC.DOTD.PPA16.word中显示页号、节号、页数、总页数等内容的是()A.常用工具栏B.菜单栏C.格式工具栏D.状态栏17.在word中,默认的行间距是()A.单倍行距B.1.5倍行距C.2倍行距D.多倍行距18.在Windows中,终止应用程序的正确方法是()A.按组合键Alt+F4B.将应用程序最小化成图标C.用鼠标双击标题栏 C.以上都不正确19.以下操作中,不能关闭窗口的是()A. Alt+F4B.用鼠标左键单击窗口标题栏上的“×”B.双击窗口的控制菜单按钮C.用鼠标左键单击窗口标题栏上的“-”20.在word中,进行“撤销”操作,应按的快捷键是()A.Ctrl+ZB.Ctrl+YC.Ctrl+WD. Ctrl+X。
计算机二级c语言2017试题及答案
计算机二级c语言2017试题及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项不是合法的变量名?A. _2ndB. intC. forD. sum答案:C2. 下列关于C语言中数组的描述,错误的是:A. 数组可以存储多个相同类型的数据B. 数组的索引从0开始C. 数组的大小在声明时确定D. 数组的大小可以动态改变答案:D3. 在C语言中,以下哪个关键字用于定义函数?A. structB. intC. returnD. void答案:D4. 若有定义int a=5;,则执行语句a+=a-=a*a;后,变量a的值是多少?A. -20B. -25C. 0D. 1答案:C5. 在C语言中,以下哪个选项是正确的文件操作函数?A. fopenB. fcloseC. printfD. scanf答案:A6. 下列关于C语言中指针的描述,错误的是:A. 指针可以存储变量的地址B. 指针可以存储字符串C. 指针可以存储函数的地址D. 指针可以存储数组的元素答案:B7. 在C语言中,以下哪个选项是正确的循环结构?A. do-whileB. do…untilC. forD. all of the above答案:D8. 下列关于C语言中结构体的描述,错误的是:A. 结构体可以包含不同类型的数据B. 结构体可以包含其他结构体C. 结构体不能包含函数D. 结构体可以包含数组答案:C9. 在C语言中,以下哪个选项是正确的逻辑运算符?A. &&B. ||C. ==D. <答案:A10. 在C语言中,以下哪个选项是正确的预处理指令?A. #includeB. #defineC. #ifD. all of the above答案:D二、填空题(每题3分,共15分)1. 在C语言中,定义一个整型数组,数组名为arr,数组长度为10,正确的定义方式是:int arr[10]; ____________。
2017年4月全国计算机等级考试二级c语言笔试试题(含参考答案)
全国计算机等级考试二级笔试试题基础知识与C语言程序设计(考试时间120分钟,满分100分)2017年4月一、选择题(1-30每小题1分,31-45每小题2分,共60分)下列各题 A),B),C),D)四个选项,只有一个选项是正确的,请将正确的选项在答题卡相应位置上涂黑。
答在试卷上不得分。
(1)二进制数101110转换为等值的八进制数是【1】。
【1】 A) 45 B) 56 C) 67 D) 78(2)CPU是由【2】组成的。
【】【2】A) 内存储器和控制器B) 控制器和运算器C) 内存储器和运算器D) 内存储器、控制器和运算器(3)DOS是为IBM PC系列微型计算机及其兼容机所配置的【3】磁盘操作系统。
【3】A) 多用户多任务B) 单用户单任务 C) 分时D) 分布式(4)启动MS-DOS操作系统后,【4】已驻留内存。
【4】A) B) C) D) CCCC.EXE(5)设当前目录为F2,则把A盘根目录下的PROG.BAS文件复制到B盘F3子目录中的命令是【5】。
【5】A) COPY PROG.BAS B: B) COPY A:PROG.BAS B:\C) COPY A:\PROG.BAS B:\F3 D) COPY A:PROG.BAS B:\F3\(6)下面四组DOS命令中,意义完全相同的一组是【6】。
【6】A) COPY和DISKCOPY B) COMP和DISKCOMPC) DEL和RD D) RENAME和REN(7)防止软盘感染病毒的有效方法是【7】。
【7】A) 不要把软盘和有毒软盘放在一起 B) 在写保护缺口上贴上胶条C) 保持机房清洁 D) 定期对软盘格式化(8)双面高密度5英寸软磁盘的容量是【8】。
【8】A) 360KB B) 720KB C) 1.2MB D) 1.44MB(9)在FOXBASE中,可以使用的两类变量是【9】。
【9】A) 内存变量和字段变量B) 全局变量和局部变量C) 字段变量和简单变量D) 内存变量和自动变量(10)建立一个新子目录的DOS命令是【10】。
全国计算机二级《C语言》操作试题及答案
全国计算机二级《C语言》操作试题及答案2017全国计算机二级《C语言》操作试题及答案一、程序填空题给定程序中,函数fun的功能是:把形参S所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。
若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。
例如,形参s所指的字符串为:abcdefgh,n的.值为5,程序执行后t所指字符数组中的字符串应为:defgh。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:部分源程序在文件BLANKl.C中。
二、程序修改题下列给定程序中,函数fun的功能是:找出一个大于给定整数m 且紧随m的素数,并作为函数值返回。
请改正程序中的错误,使它能得出正确的结果。
注意:部分源程序在文件MODll.C中,不要改动main函数,不得增行或删行,也不得更改程序的结构!三、程序设计题参考答案一、程序填空题【参考答案】二、程序修改题【参考答案】(1)if(i%k==0)(2)if(k==i)【解题思路】(1)判断当前数是否为素数,若存在一个数(除1和其自身)能整除当前数,则跳出本次循环,所以if条件应为i%k==0。
(2)如果i是素数,则循环结束时k==i,将该值返回。
三、程序设计题【参考答案】【解题思路】本题考查:偶数的判定方法;整除的实现。
本题题干信息是:能整除X且不是偶数的所有整数。
循环语句中变量i从1开始且每次增2,所以i始终是奇数。
整除的方法,已经讲过多次,这里就不再赘述了。
对于本题目要求的不是偶数的判定方法,即该数对2求余不为0。
除本题描述的方法外,还可以通过for循环语句直接把偶数筛出去,确保参与操作的数均为奇数。
更多计算机二级考试相关试题推荐:1.2.3.4.5.6.7.8.9.10.。
全国计算机二级C语言考试试题及答案
全国计算机二级C语言考试试题及答案2017全国计算机二级C语言考试试题及答案尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
下面是店铺整理的关于全国计算机二级C语言考试试题及答案,欢迎大家参考!一、选择题1). 下列数据结构中,属于非线性结构的是( )A.循环队列B.带链队列C.二叉树D.带链栈正确答案:C答案解析:根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类:线性结构和非线性结构。
循环队列、带链队列和带链栈都是线性结构,而二叉树是非线性结构。
2). 设有定义: char s[81]; int i=0; 以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是( )A.while((s[i++]=getchar())!=′\n′);s[i]=′\0′;B.scanf(″%s″,s);C.gets(s);D.do{ scanf(″%c″,&s[i]); }while(s[i++]!=′\n′); s[i]=′\0′;正确答案:B答案解析:本题考查标准输入输出函数和循环语句。
gets(s)函数的作用是将输入的字符读入字符串s,直到遇到回车。
而scanf()函数接收字符串时的结束标志为回车或者空格。
3). 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )A.++x,y=x--B.x+1=yC.x=x+10=x+yD.double(x)/10正确答案:A答案解析:用逗号将表达式连接起来的式子称为逗号表达式。
其表达式的一般形式为:表达式1,表达式2,……,表达式n。
最后一个表达式的值就是此逗号表达式的值。
所以选项A为C语言中的逗号表达式。
赋值表达式的左侧只能是变量,不能是常量或表达式。
强制类型转换表达式的形式为:(类型名)(表达式),其中(类型名)称为强制类型转换运算符,数据类型两边的圆括号不能省略。
2017计算机二级c试题及答案
2017计算机二级c试题及答案一、选择题1. 在C语言中,以下哪个选项是合法的变量名?A. 2variableB. intC. _variableD. variable2答案:C2. 关于C语言中的数组,以下说法正确的是?A. 数组的大小在定义后可以改变B. 数组的索引从1开始C. 数组的元素必须是同一数据类型D. 数组可以存储不同类型的数据答案:C3. 下列哪个函数不能正确计算两个整数的和?A. int add(int a, int b) { return a + b; }B. int sum(int a, int b) { return a - b; }C. int total(int a, int b) { return a + b; }D. int combine(int a, int b) { return a + b; }答案:B4. 在C语言中,以下哪个关键字用于声明一个函数?A. structB. staticC. voidD. int答案:C5. 关于C语言中的指针,以下说法错误的是?A. 指针可以存储变量的地址B. 指针可以被初始化为NULLC. 指针可以直接存储整数值D. 指针可以指向函数答案:C二、填空题1. 在C语言中,定义一个整型变量并初始化为10的语句是:______。
答案:int x = 10;2. 如果一个函数的返回类型是void,那么该函数______返回任何值。
答案:不能3. 在C语言中,用于表示逻辑“与”操作的运算符是______。
答案:&&4. 声明一个指向整型的指针变量的语句是:______。
答案:int *p;5. 在C语言中,用于定义一个结构体的关键字是______。
答案:struct三、编程题1. 编写一个函数,计算并返回两个整数的乘积。
答案:```cint multiply(int a, int b) {return a * b;}```2. 编写一个程序,读取用户输入的两个整数,然后调用上述函数计算它们的乘积,并输出结果。
2017年9月全国计算机等级考试二级C++语言程序设计真题+
2017年9月全国计算机等级考试二级C++语言程序设计真题(总分:100.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.程序流程图中带有箭头的线段表示的是(分数:1.00)A.图元关系B.数据流C.控制流(正确答案)D.调用关系解析:详细设计阶段的主要描述工具分为图形、语言和表格描述工具。
程序流程图是常用的图形描述工具之一,流程图中包含的主要元素有方框:表示一个处理步骤;菱形框:表示一个逻辑条件;箭头:表示控制流向。
2.结构化程序设计的基本原则不包括(分数:1.00)A.多态性(正确答案)B.自顶向下C.模块化D.逐步求精解析:结构化程序设计方法的主要原则可以概括为自顶向下,逐步求精,模块化。
程序设计时,应先从最上层总目标开始设计,逐步使问题具体化。
对复杂问题,应设计一些子目标作为过渡,逐步细化。
模块化是把程序要解决的总目标分解为子目标,再进一步分解为具体的小目标,把每一个小目标称为一个模块。
3.软件设计中模块划分应遵循的准则是(分数:1.00)A.低内聚低耦合B.高内聚低耦合(正确答案)C.低内聚高耦合D.高内聚高耦合解析:内聚性是对一个模块内部各个元素之间结合的紧密程度进行度量,它用于对模块功能强度进行衡量,内聚性越高,则模块的独立性越高;耦合性是各个模块之间的相互联系紧密程度的衡量,它用于对模块的块间联系进行度量,耦合性越低,则模块的独立性越高。
模块内聚性高而耦合性低是模块划分的重要原则之一。
4.在软件开发中,需求分析阶段产生的主要文档是(分数:1.00)A.可行性分析报告B.软件需求规格说明书(正确答案)C.概要设计说明书D.集成测试计划解析:软件开发中的主要文档有,市场调研(可行性分析“做还是不做” );需求分析(软件需求规格说明书“做什么,不做什么”。
);概要设计(概要设计说明书);详细设计(详细设计说明书);测试 (集成测试计划)。
5.算法的有穷性是指(分数:1.00)A.算法程序的运行时间是有限的(正确答案)B.算法程序所处理的数据量是有限的C.算法程序的长度是有限的D.算法只能被有限的用户使用解析:算法的基本特征:可行性,确定性,有穷性,拥有足够的情报。
计算机二级c语言试题及答案
计算机二级c语言试题及答案2017年计算机二级c语言试题及答案(1)以下数据结构属于非线性数据结构的是________。
A)队列 B)线性表 C)二叉树 D)栈(1)C知识点:栈和队列的定义;栈和队列的顺序存储结构及其基本运算评析:线性表、栈和队列等数据结构所表达和处理的数据以线性结构为组织形式。
栈是一种特殊的线性表,这种线性表只能在固定的一端进行插入和删除操作,允许插入和删除的一端称为栈顶,另一端称为栈底。
一个新元素只能从栈顶一端进入,删除时,只能删除栈顶的元素,即刚刚给插入的元素。
所以栈又称后进先出表(Last In First Out)。
队列可看作是插入在一端进行,删除在另一端进行的线性表,允许插入的一端称为队尾,允许删除的一端称为队头。
在队列中,只能删除队头元素,队列的最后一个元素一定是最新入队的元素。
因此队列又称先进先出表(First In First Out)。
二叉树的数据结构是树型结构,结构中数据元素之间存在着一对多的关系,因此它是一种非线性数据结构。
2)下面叙述正确的是________。
A)算法的执行效率与数据的存储结构无关B)算法的空间复杂度是指算法程序中指令(或语句)的条数C)算法的有穷性是指算法必须能在执行有限个步骤之后终止D)算法的时间复杂度是指执行算法程序所需要的时间(2)C知识点:算法的基本概念;算法复杂度的概念和意义(时间复杂度与空间复杂度)评析:算法的设计可以避开具体的计算机程序设计语言,但算法的实现必须借助程序设计语言中提供的数据类型及其算法。
数据结构和算法是计算机科学的两个重要支柱。
它们是一个不可分割的整体。
算法在运行过程中需辅助存储空间的大小称为算法的空间复杂度。
算法的有穷性是指一个算法必须在执行有限的步骤以后结束。
算法的时间复杂度是指执行算法所需要的计算工作量,即算法执行过程中所需要的基本运算次数。
(3)在一棵二叉树上第8层的结点数最多是________。
二级C语言真题2017年09月-(2)
二级C语言真题2017年09月-(2)(总分:100.00,做题时间:90分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中错误的是______。
(分数:1.00)A.向量是线性结构B.非空线性结构中只有一个根节点没有前件C.非空线性结构中只有一个终节点没有后件D.只有一个根节点和一个叶子节点的结构必定是线性结构√解析:[解析] 向量也是一种线性结构。
非空线性结构中只有根节点无前件,只有终端节点无后件,其他所有节点只有一个前件也只有一个后件。
二叉树可以只有一个根节点和一个叶子节点,但二叉树是非线性结构。
故答案为D选项。
2.设顺序表的长度为40,对该表进行冒泡排序。
在最坏情况下需要的比较次数为______。
(分数:1.00)A.820B.780 √C.40D.41解析:[解析] 冒泡排序在最坏情况下,对长度为n的线性表排序,需要经过n/2遍的从前住后的扫描和n/2遍的从后住前的扫描,需要比较的次数为n(n-1)/2。
本题中为40×(40-1)÷2=780。
故答案为B选项。
3.设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。
则后序序列为______。
(分数:1.00)A.DGHEBIJFCA √B.JIHGFEDCBAC.GHIJDEFBCAD.ABCDEFGHIJ解析:[解析] 二叉树遍历可以分为3种:前序遍历(访问根节点在访问左子树和访问右子树之前)、中序遍历(访问根节点在访问左子树和访问右子树两者之间)、后序遍历(访问根节点在访问左子树和访问右子树之后)。
二叉树的前序遍历序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ,可知该树A为根节点,右子树节点为CFIJ,左子树节点为BDEGH,则后序序列为DGHEBIJFCA。
故A选项正确。
4.设表的长度为n。
在下列算法中,最坏情况下时间复杂度最高的是______。
(分数:1.00)A.堆排序B.希尔排序√C.有序链表查找D.循环链表中寻找最大项解析:[解析] 最坏情况下,希尔排序所需要比较次数为n 1.5,循环链表中寻找最大项需要n-1次,有序链表查找需要n次,堆排序次数为nlog 2 n。
2017年计算机二级c试题及答案
2017年计算机二级c试题及答案一、选择题1. 下面哪个选项中,声明一个指向字符型的指针?A. charB. intC. floatD. double答案:A2. 下面哪个选项中,用于循环控制的关键字是?A. forB. ifC. whileD. switch答案:A3. 下面哪个选项中,用于输出到标准输出设备的函数是?A. printfB. scanfC. fgetsD. strcmp答案:A4. 在C语言中,如何定义一个常量?A. 使用const关键字B. 使用static关键字C. 使用volatile关键字D. 使用extern关键字答案:A5. 下面哪个选项中是C语言中的一个逻辑运算符?A. &&B. ||C. !D. |答案:A二、填空题1. 在C语言中,用于获取用户输入的函数是______。
答案:scanf2. 子程序在C语言中也被称为______。
答案:函数3. 用于在程序中引入外部文件的关键字是______。
答案:#include4. 在C语言中,用于释放动态分配的内存的函数是______。
答案:free三、简答题1. 请解释静态变量和全局变量的区别,并给出一个使用场景。
答:静态变量和全局变量都具有静态存储期,但有以下区别:- 静态变量在函数内部声明,只在声明的函数内部可见,作用域为函数内部。
全局变量在函数外部声明,整个程序内部都可见,作用域为整个程序。
- 静态变量的生命周期与程序运行时间一致,而全局变量的生命周期也与程序运行时间一致,但全局变量可以通过使用extern关键字在其他文件中进行声明并使用。
使用场景:静态变量常用于需要在函数调用之间保持值的场景,例如在递归函数中保存某个计数器的值。
全局变量常用于需要在多个函数中共享数据的场景,例如在一个程序中的多个函数中都需要访问某个配置信息。
2. 请简要介绍C语言中的位运算符,并给出一个例子。
答:C语言中的位运算符用于对二进制数进行操作。
2017年全国计算机等级考试二级C语言真题及答案
全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‟\‟ D)字符串:”\007” (16)表达式a+=a-=a=9 的值是A)9 B)-9 C)18 D)0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar() C)a==b+c D)a++(18)有以下程序#includemain(){ int a=1,b=0;if(!a) b++;else if(a==0)if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;default : a++; b++; }(20)有以下程序#includemain(){ int a=1,b=2;while(a<6) {b+=a; a+=2;b%=10;}printf(“%d, %d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ char s[ ]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是A)tuv B) 字符t 的ASCII 值C)t D)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]=”STRING”;x[0]=0; x[1]=‟\0‟; x[2]=‟0‟;printf(“%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint f(int x);main(){ int n=1,m;m=f(f(f(n)));printf(“%d\n”,m);}int f(int x){ return x*2; }程序运行后的输出结果是A)1 B)2 C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf(“%d”,&p);B) int *p; scanf(“%d”,p);C) int k, *p=&k; scanf(“%d”,p);D) int k,*p; *p=&k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p; C)int *(p[4]); D)int (*p)[4];(27)下列定义数组的语句中,正确的是A) int N=10; B) #define N 10 int x[N]; int x[N]; C) int x[0..10]; D) int x[ ];(28)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)int a[5]={0}; B) int b[ ]={0,0,0,0,0}; C)int c[2+3]; D) int i=5,d[i];(29)有以下程序#includevoid f(int *p);main(){ int a[5]={1,2,3,4,5},*r=a;f(r );printf(“%d\n”,*r); }void f(int *p){ p=p+3;printf(“%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=2){k=i;for(j=i;j<n;j+=2) if(a[j]>a[k]) k=j;t=a[i]; a[i]=a[k]; a[k]=t; }}main(){ int aa[10]={1,2,3,4,5,6,7},i;fun(aa,7);for(i=0;i<7;i++)printf(“%d,”,aa[i]);printf(“\n”);}程序运行后输出结果是A)7,2,5,4,3,6,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-s2==0) ST;(32)以下不能将s 所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++,s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++]; );(33)有以下程序(strcat 函数用以连接两个字符串)#include <stdio.h>#include <string.h>main(){ char a[20]=”ABCD\0EFG\0”, b[ ]=”IJK”;strcat(a,b);printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==‟…&&islower(p[i-1])) p[i-1]=p[i-1]-‟a‟+‟A‟;i++;}}main(){ char s1[100]=”ab cd EFG !”;fun(s1);printf(“%s\n”,s1);}程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(35)有以下程序#includevoid fun(int x){ if(x/2>1)fun(x/2);printf(“%d ”,x);}main(){ fun(7);printf(“\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1 C)7 3 D)3 7(36)有以下程序#includeint fun(){ static int x=1;x+=1;return x;}main(){ int i, s=1;for(i=1;i<=5;i++)s+=fun();printf(“%d\n”,s);}程序运行后的输出结果是A)11 B)21 C)6 D)120(37)有以下程序`#include <stdio.h>#include <stdlib.h>main(){ int *a,*b,*c;a=b=c=(int *)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;printf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#includemain(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编绎运行,程序运行后输出结果是A)2,4 B)1,4 C)4,8 D)10,6(39)若有以下语句typedef struct S{int g ; char h;} T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是struct 类型的变量D)T 是struct S 类型的变量(40)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。
计算机二级考试C语言编程题练习题及答案
计算机二级考试C语言编程题练习题及答案2017年计算机二级考试C语言编程题练习题及答案计算机二级考试是全国计算机等级考试(National Computer Rank Examination,简称NCRE)四个等级中的一个等级,考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。
下面是2017年计算机二级考试C语言编程题练习题及答案。
欢迎阅读。
2017年计算机二级考试C语言编程题练习题及答案1.3程序编程题请编写函数fun,其功能是:找出2×M整型二维数组中最大元素的值,并将此值返回调用函数。
【参考答案】int fun (int a[][M]){int i,j,max=a[0][0];for(i=0;i<2;i++)fr(j=0;jif(maxmax=a[i][j];return max;}2.3程序编程题编写函数fun,其功能是:根据以下公式求π的值(要求精度0.0005,即某项小于0.0005时停止迭代)。
程序运行后,若输入精度0.0005,则程序应输出为3.14…。
【参考答案】double fun ( double eps){double s=1.0,s1=1.0;int n=1;while(s1>=eps){s1=s1*n/(2*n+1);s=s+s1;n++;}return 2*s;}3.3程序编程题编写函数fun,其功能是:求出1~1000之间能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。
【参考答案】void fun (int *a, int *n){int i,j=0;for(i=1;i<=1000;i++)if((i%7==0||i%11==0)&&i%77!=0)a[j++]=i;*n=j;}4.3程序设计题规定输入的字符串中只包含字母和*号。
编写函数fun,其功能是:删除字符串中所有的*号。
2017c语言二级等级试题及答案
2017c语言二级等级试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级语言B. C语言具有结构化的特点C. C语言可以直接被计算机执行D. C语言可以用于编写操作系统答案:C2. C语言中,用于定义变量的关键字是()。
A. varB. letC. defineD. int答案:D3. 在C语言中,下列哪个运算符用于取模运算()。
A. %B. /C. *D. -答案:A4. 下列关于数组的描述中,正确的是()。
A. 数组的下标从0开始B. 数组的下标从1开始C. 数组的下标可以是负数D. 数组的下标可以是小数答案:A5. 下列关于指针的描述中,错误的是()。
A. 指针可以指向一个变量B. 指针可以指向一个函数C. 指针可以作为函数的参数D. 指针可以存储数据答案:D6. 在C语言中,用于实现循环结构的关键字是()。
A. loopB. whileC. repeatD. do答案:B7. 下列关于函数的描述中,错误的是()。
A. 函数可以有返回值B. 函数可以没有返回值C. 函数可以有多个返回值D. 函数可以有参数答案:C8. 在C语言中,用于定义结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A9. 下列关于文件操作的描述中,错误的是()。
A. 文件操作需要使用文件指针B. 文件操作需要包含头文件stdio.hC. 文件操作需要使用fopen函数打开文件D. 文件操作后不需要关闭文件答案:D10. 在C语言中,下列哪个关键字用于定义宏()。
A. defineB. macroC. constD. var答案:A二、填空题(每题2分,共10分)1. C语言中,用于定义一个整型变量的关键字是________。
答案:int2. C语言中,用于定义一个字符型变量的关键字是________。
答案:char3. C语言中,用于定义一个浮点型变量的关键字是________。
二级C语言真题2017年09月-(1)及答案解析
二级C语言真题2017年09月-(1)及答案解析(1/40)单项选择题第1题设有一个栈与一个队列的初始状态均为空。
现有一个序列的元素为A,B,C,D,E,F,G,H,先分别将序列中的前4个元素依次入栈,后4个元素依次入队;然后分别将栈中的元素依次退栈,再将队列中的元素依次退队。
最后得到的序列为______。
A.A,B,C,D,H,G,F,EB.D,C,B,A,H,G,F,EC.A,B,C,D,E,F,G,HD.D,C,B,A,E,F,G,H下一题(2/40)单项选择题第2题设某棵树的度为3,其中度为2,1,0的节点个数分别为3,4,15,则该树中总节点数为______。
A.30B.22C.35D.不可能有这样的树上一题下一题(3/40)单项选择题第3题设二叉树的前序序列为ABDEGHCFIJ,中序序列为DBGEHACIFJ。
则按层次输出(从上到下,同一层从左到右)的序列为______。
A.ABCDEFGHIJB.DCHEBIJFCAC.JIHGFEDCBAD.GHIJDEFBCA上一题下一题(4/40)单项选择题第4题设顺序表的长度为16,对该表进行简单插入排序。
在最坏情况下需要的比较次数为______。
A.15B.60C.30D.120上一题下一题(5/40)单项选择题第5题软件系统总体结构图的作用是______。
A.描述软件系统结构的图形工具B.描述软件系统的控制流C.描述软件系统的数据流D.描述软件系统的数据结构上一题下一题(6/40)单项选择题第6题不属于对象构成成份的是______。
A.属性B.规则C.方法(或操作)D.标识上一题下一题(7/40)单项选择题第7题十进制整数设为整数类Ⅰ,则下面属于类Ⅰ的实例的是______。
A.-518B.0.518C.518E-2D..518上一题下一题(8/40)单项选择题第8题结构化程序设计原则强调的是______。
A.自顶向下B.可封装性C.可复用性D.可恢复性上一题下一题(9/40)单项选择题第9题违背数据流图(DFD)构造规则的是______。
2017年全国计算机等级考试二级C语言程序设计真题
2017年3月全国计算机等级考试二级C语言程序设计真题(1)(总分:100.00,做题时间:120分钟)一、选择题(总题数:40,分数:40.00)1.下列叙述中正确的是(分数:1.00)A.程序执行的效率与数据的存储结构密切相关(正确答案)B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上说法均错误解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
2.下列与队列结构有关联的是(分数:1.00)A.函数的递归调用B.数组元素的引用C.多重循环的执行D.先到先服务的作业调度(正确答案)解析:队列的修改是依照“先进先出” 的原则进行的,故D 正确。
3.对下列二叉树进行前序遍历的结果为(分数:1.00)A.DYBEAFCZXB.YDEBFZXCAC.ABDYECFXZ (正确答案)D.ABCDEFXYZ解析:前序遍历是指在访问根节点、遍历左子树与遍历右子树这三者中,首先访问根节点,然后遍历左子树,最后遍历右子树;并且在遍历左、右子树时,仍然先访问根节点,然后遍历左子树,最后遍历右子树。
因此,前序遍历可描述为:若二叉树为空,则执行空操作。
否则:①访问根节点;②前序遍历左子树;③前序遍历右子树。
所以C 正确。
4.一个栈的初始状态为空,现将元素1,2,3,A,B,C 依次入栈,然后再依次出栈,则元素出栈的顺序是(分数:1.00)A.1,2,3,A,B,CB.C,B,A,1,2,3C.C,B,A,3,2,1 (正确答案)D.1,2,3,C,B,A解析:栈的修改是按照“后进先出” 的原则进行的,所以顺序应与入栈顺序相反,故选C。
5.下面属于白盒测试方法的是(分数:1.00)A.等价类划分法B.逻辑覆盖(正确答案)C.边界值分析法D.错误推测法解析:白盒测试法主要有逻辑覆盖、基本路径测试等。
逻辑覆盖测试包括语句覆盖、路径覆盖、判定覆盖、条件覆盖、判断一条件覆盖,故选择B。
2017年全国计算机等级考试二级C 语言真题及答案8
2017 年全国计算机等级考试笔试试卷及答案二级公共基础知识和C 语言程序设计(考试时间120 分钟,满分100 分)一、选择题((1)-(10)每小题2 分,(11)-(50)每小题1 分,共60 分)(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)ABCDEFB)DBEAFCC)ABDECFD)DEBFCA(7)在深度为7 的满二叉树中,叶子结点的个数为()。
A)32B)31C)64D)63(8)“商品”与“顾客”两个实体集之间的联系一般是()。
A)一对一B)一对多C)多对一D)多对多(9)在E-R 图中,用来表示实体的图形是()。
A)矩形B)椭圆形C)菱形D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS 之间的关系是()。
A)DB 包含DBS 和DBMSB)DBMS 包含DB 和DBSC)DBS 包含DB 和DBMSD)没有任何关系(11)下列不合法的用户标识符是()。
A)j2_KEYB)DoubleC)4dD)_8_(12)下列不合法的数值常量是()。
A)011B)1e1C)8.0E0.5D)0xabcd(13)下列不合法的字符常量是()。
A)'\018'B)'\" 'C)'\\'D)'\xcc'(14)表达式3.6-5/2+1.2+5%2 的值是()。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2017年全国计算机等级考试二级笔试试卷C 语言程序设计(附答案)(考试时间90 分钟,满分100 分)一、选择题((1)—(10)、(21)—(40)每题2 分,(11)—(20)每题1 分,共70 分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项填涂在答题卡相应位置上,答在试卷上不得分。
(1)下列叙述中正确的是A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构D)上述三种说法都不对(2)下列叙述中正确的是A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D)上述三种说法都不对(3)软件测试的目的是A)评估软件可靠性B)发现并改正程序中的错误C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是A)软件过程不规范B)软件开发生产率低C)软件质量难以控制C)软件成本不断提高(5)软件生命周期是指A)软件产品从提出、实现、使用维护到停止使用退役的过程B)软件从需求分析、设计、实现到测试完成的过程C)软件的开发过程D)软件的运行维护过程(6)面向对象方法中,继承是指A)一组对象所具有的相似性质B)一个对象具有另一个对象的性质C)各对象之间的共同性质D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是A)记录长度B)文件的大小B)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员与实体计算机之间的联系是A)一对一B)一对多C)多对多D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式B)概念模式C)外模式D)设计模式(10)有三个关系R、S 和T 如下:则由关系R 和S 得到关系T 的操作是A)自然连接B)交C)投影D)并(11)以下关于结构化程序设计的叙述中正确的是A)一个结构化程序必须同时由顺序、分支、循环三种结构组成B)结构化程序使用goto 语句会很便捷C)在C 语言中,程序的模块化是利用函数实现的D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是A)C 程序在运行过程中所有计算都以二进制方式进行B)C 程序在运行过程中所有计算都以十进制方式进行C)所有C 程序都需要编译链接无误后才能进行D)C 程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是A)a%(int)(x-y) B)a=x!=y; C)(a*y)%b D)y=x+y=x(15)以下选项中能表示合法常量的是A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‟\‟ D)字符串:”\007” (16)表达式a+=a-=a=9 的值是A)9 B)-9 C)18 D)0(17)若变量已正确定义,在if(W)printf(“%d\n”,k);中,以下不可替代W的是A)a<>b+c B)ch=getchar() C)a==b+c D)a++(18)有以下程序#includemain(){ int a=1,b=0;if(!a) b++;else if(a==0)if(a) b+=2;else b+=3;printf(“%d\n”,b);}程序运行后的输出结果是A)0 B)1 C)2 D)3(19)若有定义语句int a,b;double x;则下列选项中没有错误的是A)switch (x%2){ case 0: a++; break;case 1: b++; break;default: a++; b++; }B) switch ((int)x/2.0){ case 0: a++; break;case 1: b++; break;default : a++; b++; }C) switch((int)x%2){ case 0: a++; break;case 1: b++; break;default : a++; b++; }D)switch((int)(x)%2){ case 0.0: a++; break;case 1.0: b++; break;default : a++; b++; }(20)有以下程序#includemain(){ int a=1,b=2;while(a<6) {b+=a; a+=2;b%=10;}printf(“%d, %d\n”,a,b);}程序运行后的输出结果是A)5,11 B)7,1 C)7,11 D)6,1(21)有以下程序#includemain(){ int y=10;while(y--);printf(“y=%d\n”,y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while 构成无限循环(22)有以下程序#includemain(){ char s[ ]=”rstuv”;printf(“%c\n”,*s+2);}程序运行后的输出结果是A)tuv B) 字符t 的ASCII 值C)t D)出错(23)有以下程序#include <stdio.h>#include <string.h>main(){ char x[ ]=”STRING”;x[0]=0; x[1]=‟\0‟; x[2]=‟0‟;printf(“%d %d\n”,sizeof(x),strlen(x));}程序运行后的输出结果是A) 6 1 B) 7 0 C) 6 3 D) 7 1(24)有以下程序#includeint f(int x);main(){ int n=1,m;m=f(f(f(n)));printf(“%d\n”,m);}int f(int x){ return x*2; }程序运行后的输出结果是A)1 B)2 C)4 D)8(25)以下程序段完全正确的是A)int *p; scanf(“%d”,&p);B) int *p; scanf(“%d”,p);C) int k, *p=&k; scanf(“%d”,p);D) int k,*p; *p=&k; scanf(“%d”,p);(26)有定义语句:int *p[4];以下选项中与此语句等价的是A)int p[4]; B)int **p; C)int *(p[4]); D)int (*p)[4];(27)下列定义数组的语句中,正确的是A) int N=10; B) #define N 10 int x[N]; int x[N]; C) int x[0..10]; D) int x[ ];(28)若要定义一个具有5 个元素的整型数组,以下错误的定义语句是A)int a[5]={0}; B) int b[ ]={0,0,0,0,0}; C)int c[2+3]; D) int i=5,d[i];(29)有以下程序#includevoid f(int *p);main(){ int a[5]={1,2,3,4,5},*r=a;f(r );printf(“%d\n”,*r); }void f(int *p){ p=p+3;printf(“%d,”,*p);}程序运行后的输出结果是A)1,4 B)4,4 C) 3,1 D)4,1(30)有以下程序(函数fun 只对下标为偶数的元素进行操作)#includevoid fun(int *a,int n){ int i,j,k,t;for(i=0;i<n-1;i+=2){k=i;for(j=i;j<n;j+=2) if(a[j]>a[k]) k=j;t=a[i]; a[i]=a[k]; a[k]=t; }}main(){ int aa[10]={1,2,3,4,5,6,7},i;fun(aa,7);for(i=0;i<7;i++)printf(“%d,”,aa[i]);printf(“\n”);}程序运行后输出结果是A)7,2,5,4,3,6,1,B)1,6,3,4,5,2,7,C)7,6,5,4,3,2,1,D)1,7,3,5,6,2,1,(31)下列选项中,能够满足“若字符串s1 等于字符串s2, 则执行ST”要求的是A)if(strcmp(s2,s1) ==0) ST;B) if(s1==s2) ST;C) if(strcpy(s1,s2) ==1) ST;D) if(s1-s2==0) ST;(32)以下不能将s 所指字符串正确复制到t 所指存储空间的是A)while(*t=*s){t++,s++;}B)for(i=0;t[i]=s[i];i++);C)do{*t++=*s++;}while(*s);D)for(i=0,j=0;t[i++]=s[j++]; );(33)有以下程序(strcat 函数用以连接两个字符串)#include <stdio.h>#include <string.h>main(){ char a[20]=”ABCD\0EFG\0”, b[ ]=”IJK”;strcat(a,b);printf(“%s\n”,a);}程序运行后的输出结果是A)ABCDE\OFG\OIJK B)ABCDIJK C)IJK D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch 中的字母是否为小写字母#include <stdio.h>#include <ctype.h>void fun(char *p){ int i=0;while(p[i]){ if(p[i] ==‟…&&islower(p[i-1])) p[i-1]=p[i-1]-‟a‟+‟A‟;i++;}}main(){ char s1[100]=”ab cd EFG !”;fun(s1);printf(“%s\n”,s1);}程序运行后的结果是A) ab cd EFG ! B) Ab Cd EFg ! C) aB cD EFG ! D) ab cd EFg !(35)有以下程序#includevoid fun(int x){ if(x/2>1)fun(x/2);printf(“%d ”,x);}main(){ fun(7);printf(“\n”);}程序运行后的输出结果是A)1 3 7 B)7 3 1 C)7 3 D)3 7(36)有以下程序#includeint fun(){ static int x=1;x+=1;return x;}main(){ int i, s=1;for(i=1;i<=5;i++)s+=fun();printf(“%d\n”,s);}程序运行后的输出结果是A)11 B)21 C)6 D)120(37)有以下程序`#include <stdio.h>#include <stdlib.h>main(){ int *a,*b,*c;a=b=c=(int *)malloc(sizeof(int));*a=1;*b=2;*c=3;a=b;p rintf(“%d,%d,%d\n”,*a,*b,*c);}程序运行后的输出结果是A)3,3,3 B)2,2,3 C)1,2,3 D)1,1,3(38)有以下程序#includemain(){ int s,t,A=10;double B=6;s=sizeof(A);t=sizeof(B);printf(“%d,%d\n”,s,t);}在VC6 平台上编绎运行,程序运行后输出结果是A)2,4 B)1,4 C)4,8 D)10,6(39)若有以下语句typedef struct S{int g ; char h;} T;以下叙述中正确的是A)可用S 定义结构体变量B)可用T 定义结构体变量C)S 是struct 类型的变量D)T 是struct S 类型的变量(40)有以下程序#includemain(){ short c=124; c=c ;printf(“%d\n”,c);}若要使程序的运行结果为248,应在下划线处填入的是A)>>2 B) |248 C)& 0248 D) <<1二、填空题(每空2 分,共30 分)请将每空的正确答案写在答题卡【1】至【15】序号的横线上,答在试卷上不得分。