四川省二级c语言29次机试试题及答案
c语言二级考试试题及答案
c语言二级考试试题及答案C语言二级考试试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言中数组的描述,正确的是:A. 数组名是一个变量名B. 数组名是一个常量C. 数组名是一个指针D. 数组名是一个函数答案:B2. 以下哪个是C语言中的合法变量名?A. 2variableB. variable-nameC. variable_nameD. variable name答案:C3. 在C语言中,以下哪个是正确的字符串字面量?A. "Hello World"B. 'Hello World'C. "Hello World" + "Hello World"D. "Hello\nWorld"答案:D4. C语言中,以下哪个不是标准输入输出库函数?A. printf()B. scanf()C. getchar()D. puts()答案:C5. 下列哪个是C语言中的条件语句?A. ifB. switchC. forD. while答案:A6. C语言中,以下哪个是正确的函数定义?A. int function_name(int x, int y) { /* ... */ }B. int function_name(int x, int y);C. int function_name(int x, y) { /* ... */ }D. int function_name(int x; int y) { /* ... */ }答案:A7. 在C语言中,以下哪个是正确的递归函数调用?A. function_name(x)B. function_name(x, y)C. function_name(function_name(x))D. function_name(&x)答案:C8. 在C语言中,以下哪个是正确的结构体定义?A. struct person { int age; char name[50]; };B. struct person { int age; char name[50] }C. struct person { int age; char name[50]; }D. struct person { int age; char name[50] } person;答案:A9. 在C语言中,以下哪个是正确的指针声明?A. int *ptr;B. int ptr*;C. *int ptr;D. int * ptr;答案:A10. 下列哪个是C语言中的位运算符?A. &&B. ||C. &D. ++答案:C二、填空题(每题2分,共10分)1. C语言中,使用________运算符可以实现两个整数的按位与操作。
四川省计算机二级c语言考试试题及答案及解析
四川省计算机二级c语言考试试题及答案及解析一、选择题(每题2分,共20分)1. C语言中,用于定义变量的关键字是()。
A. structB. intC. charD. float答案:B解析:在C语言中,定义变量时需要使用关键字,其中用于定义整型变量的关键字是int。
2. 下列哪个选项是合法的C语言标识符?()A. 2variableB. variable2C. _variableD. variable!答案:C解析:C语言中标识符可以由字母、数字、下划线组成,但不能以数字开头。
3. C语言中,用于表示逻辑“与”操作的运算符是()。
A. &&B. ||C. ==D. =答案:A解析:在C语言中,逻辑“与”操作符是&&,用于比较两个表达式是否都为真。
4. 下列哪个选项不是C语言中的控制语句?()A. ifB. switchC. forD. goto答案:D解析:goto语句虽然在C语言中存在,但它不是控制语句,而是一种跳转语句。
5. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A解析:struct关键字用于定义一个结构体类型。
6. 下列哪个选项是C语言中的预处理指令?()A. #includeB. #defineC. #ifD. All of the above答案:D解析:#include、#define和#if都是C语言中的预处理指令。
7. C语言中,用于表示逻辑“或”操作的运算符是()。
A. &&B. ||C. ==D. =答案:B解析:逻辑“或”操作符是||,用于比较两个表达式是否至少有一个为真。
8. C语言中,用于表示逻辑“非”操作的运算符是()。
A. !B. &&C. ||D. =答案:A解析:逻辑“非”操作符是!,用于取反一个表达式的逻辑值。
9. 在C语言中,用于定义一个数组的关键字是()。
全国计算机二级《C语言》考试题库与答案
全国计算机二级《C语言》考试题库与答案全国计算机二级《C语言》考试题库与答案在学习、工作中,我们都离不开试题,借助试题可以检验考试者是否已经具备获得某种资格的基本能力。
什么样的试题才能有效帮助到我们呢?以下是店铺为大家收集的全国计算机二级《C语言》考试题库与答案,欢迎大家分享。
全国计算机二级《C语言》考试题库与答案篇1(1)下列关于栈叙述正确的是( )。
A.栈顶元素最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先被删除(2)下列叙述中正确的是( )。
A.在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化B.在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化C.在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化D.以上说法都不正确某二叉树共有7个结点,其中叶子结点只有l个,则该二叉树的深度为(假设根结点在第1层)( )。
A.3B.4C.6D.7软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。
下面属于应用软件的是( ):A.学生成绩管理系统B.c语言编译程序C.UNIX操作系统D.数据库管理系统(5)结构化程序所要求的基本结构不包括( )。
A.顺序结构B.GOT0跳转C.选择(分支)结构D.重复(循环)结构(6)下面描述中错误的是( )。
A.系统总体结构图支持软件系统的详细设计B.软件设计是将软件需求转换为软件表示的过程C.数据结构与数据库设计是软件设计的任务之一D.PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是( )。
A.数据定义语言B.数据管理语言C.数据操纵语言D.数据控制语言一个教师可讲授多门课程,一门课程可由多个教师讲授。
则实体教师和课程间的联系是( )。
A.1:1联系B.1:m联系C.m:1联系D.m:n联系(9)已知大写字母A的ASCIl码值是65,小写字母a的ASCIl码值是97。
以下不能将变量C中的大写字母转换为对应小写字母的语句是( )。
计算机二级c语言考试题库及答案
计算机二级c语言考试题库及答案在计算机二级考试的题库中,有哪些与c语言相关的题目呢?下面是店铺给大家整理的计算机二级c语言考试题库及答案,供大家参阅!计算机二级c语言考试题库一、单选题1). 若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是( )A.++x,y=x--B.x+1=yC.x=x+10=x+yD.double(x)/102). 下列叙述中正确的是( )A.一个算法的空间复杂度大,则其时间复杂度也必定大B.一个算法的空间复杂度大,则其时间复杂度必定小C.一个算法的时间复杂度大,则其空间复杂度必定小D.算法的时间复杂度与空间复杂度没有直接关系3). 待排序的关键码序列为(15,20,9,30,67.65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。
A.2B.3C.4D.54). 以下结构体类型说明和变量定义中正确的是( )A.typedef struct { int n; char c; } REC; REC t1,t2;B.struct REC ; { int n; char c; }; REC t1,t2;C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;D.struct { int n; char c; } REC; REC t1,t2;二、程序填空题函数fun的功能是:输出a所指数组中的前n个数据,要求每行输出5个数。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANKl.C中。
不得增行或删行,也不得更改程序的结构!三、程序设计题请编写函数fun,函数的功能是查找X在s所指数组中下标的位置,并作为函数值返回,若x不存在,则返回-l。
注意:部分源程序在文件PROG1.C文件中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入你编写的若干语句。
四川计算机二级C语言真题19-31次
四川省普通高等学校计算机应用知识和能力第十九次等级考试二级(C与C++语言) 笔试试卷时间: 2003年10月18日( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在目前,用于保证软件质量的主要手段是进行软件测试。
( 1 )2. 使用DMA方式传送数据期间不需要CPU干预。
( 2 )3. 线性顺序队列会产生“假溢出”,而线性循环队列则不会。
( 3 )4. 对同一种算法,用高级语言编写的程序比用低级语言编写的程序运行速度快。
( 4 )5. 在线性表中,数据的存储方式有顺序和链接两种。
( 5 )6. 进程是由程序块、文件控制块和数据块三部分组成。
( 6 )7. 在面向对象的程序设计中,派生类只能从一个基类产生。
( 7 )8. 操作系统是用户和硬件的接口。
( 8 )9. 个人计算机中可配置的最大内存容量受地址总线位数的限制。
( 9 )10.软件维护中最困难的问题是软件配置不全。
( 10 )二、选择题(每小题1分,共5分)1. 在排序法中,从未排序序列中依次取出元素,与已排序序列中的元素作比较,将其放入已排序序列的正确位置称为( 11 )。
11 (A) 选择排序(B) 快速排序(C) 插入排序(D) 冒泡排序2. 有X、Y、Z三个元素依次入栈,不可能的出栈顺序是( 12 )。
12 (A) Z,Y,X (B) Z,X,Y(C) Y,X,Z (D) X,Y,Z3. 进程的状态是可以转换的,而以下哪个状态转换是不可能的( 13 )。
13 (A) 就绪状态→执行状态(B) 执行状态→就绪状态(C) 阻塞状态→就绪状态(D) 等待状态→执行状态4. 线性链表的地址( 14 )。
14 (A) 必须连续(B) 部分地址必须连续(C) 一定不连续(D) 连续与否均可以5. 在软件测试中,( 15 )主要分析程序的内部结构。
15 (A) 白盒法(B) 黑盒法(C) 因果图法(D) 错误推测法第 2 页共129 页1. 对下列程序段的描述正确的是(16 )。
四川省计算机二级VFP第29次笔试真题
第二十九次等级考试二级(数据库)笔试考试试卷一、是非判断题1.在设备管理中通道是处理、输出的软件。
2.从逻辑上可以把数据结构分为线性结构和非线性结构。
3.若无进程处于运行状态,这就绪队列为空。
4.在但处理系统中,程序的并发执行,实质上是程序的交替执行。
5.分页存储管理器中,页面不能映射道不连续的内存块中。
6.瀑布模型的突出的突出特点是适应用火狐需求的变化。
7.栈和列队的共同点是允许在断点之外出插入和删除元素。
8.为了便于对照检查,测试用例应由输入数据和预期的输出结果连部分组成。
9.在软件生存期内,能确定软件系统必须做什么和必须具备的功能阶段是编码。
10.在结构化分析中,用于描述加工逻辑的主页工具有三种,即:结构化语言、判定表、判定树。
二、选择题1、软件开发中,模块设计的原则是()A低偶合、高内聚B高偶合、高内聚C高偶合、低内聚D低偶合、低内聚2、进程与运行状态进入就绪状态的原因可能是()A 时间片用完B等待某一事件C 等待的事件已发生D被选中占有处理机3、队列的操作原则()A先进后出B先进先出C只进不出D只出不进4、以下()不是实时操作系统的特点。
AA高可能性B及时响应C高效性D通用性5、程序流程图是用于描述结构化方法中()工作阶段的工具。
A可行性分析B程序编码C详细设计D需求分析第二部分程序设计一、单项选择1、VFP是一种关系数据库管理系统,所谓关系是指()A 表中各个记录之间的关系B数据模型满足一定条件的二维表格C表中各个字段之间的联系D一个表与另一个表之间的联系2、下列关于事件的说法,不正确的是()A用户可以根据自己的需要创建事件B事件是一种由系统预先定义而由用户或系统发出的动作C事件可以由系统和用户操作引发D用户不能随便修改事件3、项目管理器中的“全部”选项卡用于显示和管理()A数据、文档、自由表、文本文件B数据、文档、类库、代码、其他C表单、报表、文档、标签、查询、D表单、菜单、文本文件、数据库、其他文件4、一下赋值语句之执行后,变量A的值不是日期的事()A A=DATE()B A={^2008-4-5}C A=CTOD(“4/52008”)D STORE (4/5/2008) TO A5、在SQL查询命令中,要去掉查询结果中某字段的重复值,应该在SELECT后面该字段名面前使用()A DISTINGCTB WHEREC HA VINGD TOP6、在VISUAL FOXPRO 中,以下()不是进行选择运算A FORB WHEREC FILLDSD WHILE7、关于VISUAL FOXPRO中工具栏的叙述错误的是()A用户可以创建自己的工具栏B可以修改和删除用户自己创建的工具栏C工具栏可以显示与隐藏D可以修改和删除系统提供的工具栏8、在下列属性中,()是每一个控件都有A CAPTIONB CONTRO LSOURCEC NAMED PICTURE9、如果要在报表中输出“学生”数据表中的“姓名”字段的内容,应使用()A B C D10、下列()不能作为应用程序系统的主程序A表单B数据库C菜单D程序二、读程序题1、阅读下列程序CLEARMX=“VISUAL FOXPRO”MY=“二级”DO SUB1 WITH MX?MY+MXRETURNPROCEDURE SUB1PARAMETERS MX1LOCAL MXMX=“VISUAL FOXPRO DBMS 考试”MY=“计算机等级考试‘+MY?MY+MXRETURN VISUAL FOXPRO1、程序执行后,屏幕的第一行显示结果为()A二级VISUAL FOXPROB计算机二级考试VISUAL FOXPRO DBMS 考试C二级VISUAL FOXPRO DBMS 考试D计算机二级考试VISUAL FOXPRO2、程序执行后,屏幕的第二行结果为()A二级VISUAL FOXPROB计算机二级考试VISUAL FOXPRO DBMS 考试C二级VISUAL FOXPRO DBMS 考试D计算机二级考试VISUAL FOXPRO3、用LOCAL说明的变量是()A局部变量B全局变量C私有变量 D 普通变量2、阅读下面程序段DO CASECASE 计算机<60?‘计算机成绩:’+“不及格”CASE 计算机>=60??‘计算机成绩:’+“及格”CASE 计算机>=70‘计算机成绩:’+“中”CASE 计算机>=80?‘计算机成绩:’+“良”CASE计算机>=90?‘计算机成绩:’+“优”ENDCASE1、以上程序是()结构A顺序B分支C循环D过程2、设学生数据表当前记录的“计算机“字段的值是89,屏幕输出为()A计算机成绩:不及格B计算机成绩:及格C计算机成绩:良D计算机成绩:优3、该程序段()A结果可能会出错B语法有错C结果不会出错D结果一定会错4、阅读下面程序CLEARDIME(5)FOR I=1 TO 5INPUT “请输入数据:” TO A(I)ENDFORFOR I=1 TO 5?? A(I)ENDFOR?FOR I=1 TO 4FOR J=I+1 TO 5IF A(I)>A(J)T=A(I)A(I)=A(J)A(J)=TENDIFENDFORENDFORFOR I= 1 TO 5?? A(I)ENDFORRETURN1、该程序的功能是()A找最大值B找最小值C从小到大排序D从大到小排序2、如果输入的数据分别是:5,1,8,3,9,程序最后速出的结果是()A5,1,8,3,9 B1,3,5,8.,9C9,8,5,3,1 D9,3,8,1,53、程序变量T的作用是()A存放输入的各个数据B存放最大值或最小值C存放排序后的数据D交换两个变量的值4、阅读下面程序有成绩文件CJ.DBF ,其中数据如图所示:阅读下面程序:CLEARUSE CJS=0DO WHILE NOT EOF( )SCATTER TO XCJ FIELDS 大学语文,大学英语,法律基础,计算机基础NG=0FOR I=1 TO 4IF XCJ(I)<60NG=NG+1ENDIFNEXTIF NG>=2S=S+1DELETEENDIFSKIPENDDO?SUSERETURN(1)本程序中记录被逻辑删除的条件是(35)(A)有两门课程成绩低于60的记录(B)1-4号记录(C)有两门以上课程成绩低于60的记录(D)记录号大于2的记录(2)程序最后输出S的值是()(A)2 (B)3 (C)4 (D)7(3)退出DO WHILE 循环后,NG的值是()(A)0 (B)1 (C)2 (D)35、阅读下面程序THISFORM. TEXT1. V ALUE =“”FOR I=1 TO 3A=UPPER(CHR(INT(RAND()*26)+65))THISFORM. TEXT1. V ALUE=THISFORM.TEXT1.V ALUE+a ENDFOR1、该程序的功能是()A产生1-30的数字B产生30个随机数字C产生30 个大写字母D产生30 个小写字母2、产生的数字或字母显示在()A表单标题中B表单标签中C表单文本框中D屏幕上3、程序中的V ALUE是一个()A属性B事件C方法D变量三、程序填空题1、下面程序的功能是利用参数传递求2个圆柱体的体积CLEAR**主程序. PRGFOR K=1 TO 2INPUT“圆半径R=”TO RINPUT“高H=” TO R(1)DO SUB1 WITH —(2)—?“圆柱体V=”,V__(3)______RETURN**子程序PROCEDURE SUB1PARAMETER ___(4)____V=(3.14*R^2*H)RETURN2、在“教材订购“数据库中有3个表:其表名和结构如下:教材(书号C(6),书名C(20),作者C(8),出版社C(20),价格N(3))班级(班级编号C(2),班级名C(10))教材订购(书号C(6),班级编号C(2),数量N(3))1、在“教材订购”数据库中查询每个班级的平均定书数量:SELECT 班名,——(1)——AS平均定书数量FORM班级,教材订购:WHERE 班级.班级编号=教材订购.班级编号;GROUP BY ____(2)___2、在“教材订购”数据库中查询订购了5中以上教材的编号和订购的教材种类数量。
计算机二级《C语言》考试题库及答案
计算机二级《C语言》考试题库及答案(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.一组对象所具有的相似性质B.一个对象具有另一个对象的性质C.各对象之间的共同性质D.类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是( )。
A.记录长度B.文件的大小C.联系的复杂程度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.目标程序C.汇编程序D.可执行程序(12)以下叙述中正确的是( )。
A.c语言规定必须用main作为主函数名,程序将从此开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.c语言程序将从源程序中第一个函数开始执行、D.main的各种大小写拼写形式都可以作为主函数名,如MAIN,Main等(13)以下选项中可用做c程序合法实数的是( )。
C语言四川省计算机二级笔试真题
C 语言四川省计算机二级笔试真题C32总共 30 题共 100 分一.单项选择题〔共 15 题,共 37.5 分〕1.【题号:5113】以下能正确进展字符串赋值的是〔〕〔2.5 分〕A.char s[5]={'a','e','i','o','u'};B.c har s[5]; s=“good“;C.c har s[5];s[5]=“abcd“;D.c har s[5];s[ ]=“good“;标准答案:A2.【题号:5114】有下面的说明和语句,则输出的结果是〔〕char a=9,b=020;printf(“%o\n“,~a&b<<1);〔2.5 分〕A.377B.40C.32D.以上答案均不对标准答案:B3.【题号:5115】假设有 float x; 则 sizeof ( x ) 和 sizeof ( float ) 两种描述〔〕〔2.5 分〕A.都正确B.都不正确C.前者正确,后者不正确D.后者正确,前者不正确标准答案:A4.【题号:5116】假设有代数式,则不正确的 C 语言表达式是〔)〔2.5 分〕A.3*a*e/b*cB.3*a*e/b/cC.a/b/c*e*3D.a*e/c/b*3标准答案:A5.【题号:5117】以下程序运行的结果是 ( )main{ struct cmplx{ int x;int y;}cnum[2]={1,3,2,7};printf(“%d\n“,cnum[0].y/cnum[0].x*cnum[1].x);}〔2.5 分〕A.0B.1C.3D.6标准答案:D6.【题号:5118】假设有以下说明和语句,且0=<i A.*(a+i)B.a[p-a]C.p+iD.*(&a[i])标准答案:C7.【题号:5119】#define M 2#define X(m) ((M+2)*m)则执行语句:z=2*(M+X(3+2); 后,z 的值为〔〕〔2.5 分〕A.44B.45C.32D.338.【题号:5120】以下函数定义中,会消灭编译错误的选项是 ( )〔2.5 分〕A.i nt fun(int x,int y){ int z;z=(x>y)?x:y;return z;}B.i nt fun(int x,int y,int *z){ z=(x>y)?x:y;return z;}C.i nt fun(int x,int y){ return ( (x>y) ? x : y ); }D.int fun(int x,int y,int *z){ *z = (x>y) ? x : y ; }标准答案:B9.【题号:5121 】下面C++ 的语句) 能实现( p rintf(“%d%d\n“,a,b);的功能〔2.5 分〕A.cin>>a>>bB.cin>>a>>bC.cout<<a<<b<p=““>D.cout<<a<<b<<endl<p=““>标准答案:D10.【题号:5122】在如下程序段中的 while 循环 ( )int k=0;while(k=1) k++;〔2.5 分〕A.有语法错,不能执行B.无限循环C.一次都不执行D.执行一次11.【题号:5123】下述程序的输出结果是 ( )# includevoid main{int y=10;while(y--);printf(“y=%d“,y);}〔2.5 分〕A.y=0B.y=1C.y=随机值D.y=-1标准答案:D12.【题号:5124】假设有以下说明:char*str1=“copy“,str2[20],*str3=“str“,*str4,*str5=“good“;则错误的串操作语句是 ( )〔2.5 分〕A.strcpy(str4,str1);B.strcat(str1,str3);C.str2=“newstr“;D.strcpy(str5,str3);标准答案:C13.【题号:5125】下面程序运行后,x,y,z 的值分别为( ) void main { int x=0,y=0,z=0; ++x||++y||++z; printf(“%d%d%d\n“,x,y,z); }〔2.5 分〕A.100B.000C.111D.001标准答案:A14.【题号:5126】关于 C++和 C 语言学关系描述中,错误的选项是 ( )〔2.5 分〕A.C 语言与 C++是兼容的B.C++对 C 语言进展了一些改进C.C 语言是 C++的一个子集D.C++和 C 语言都是面对对象的标准答案:D15.【题号:5127】#define f(x) 1+x+x*x#includevoid main{int a=2,b=3;printf(“%d\n“,f(a+b));}〔2.5 分〕A.17B.31C.13D.7标准答案:A二.读程序答复以下问题〔共 10 题,共 25 分〕16.【题号:5128】以下程序运行的结果为〔〕。
四川省计算机二级C语言18次至31次机试试题及答案1
(第一套)(60分钟)一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为testl-l.c的C程序文件,其功能是:计算并输出M以内最大的10个素数之和,M 由主函数传给fun 函数。
例如:当M的值为100,则函数的值为732。
调试程序使之能输出正确的结果。
注意:可以增加和修改程序行,但不得删除程序中的整行。
在一处增加的程序行不得超过两行。
源程序如下:# include <stdio.h># include <conio.h>int fun(int m);{ int sum,n=0,j,yes;while((m>=2)&&(n<10){ yes=0;for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1){ sum+=m; n++;m--;}}return ;}main(){ int m;clrscr();scanf("%d",m);printf("%d\n",fun(m));}二、编写程序(程序文件名为testl-2.c)(60分)要求编写函数fun,其函数的功能是:根据形参m的值(2<=m<=9),在m行m列的二维数组中存放如下所示的数据,由main函数输出结果。
结果显示在屏幕上并送testl1-2·txt中保存。
例如:如输入3 如输入5则输出:则输出:1 2 3 4 51 2 3 2 4 6 8 102 4 63 6 9 12 153 6 94 8 12 16 205 10 15 20 2518-1套参考答案:一、程序调试题(文件名test1-1.c)(40分)# include <stdio.h># include <conio.h>int fun(int m);/* 去掉分号(;) */{ int sum,n=0,j,yes; /* 改为sum=0 */ while((m>=2)&&(n<10)/* 改为(n<10))*/{ yes=0; /* 改为yes=1*/ for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1) /* 改为yes==1 */{ sum+=m; n++;m--;}}return ; /* 改为return sum*/ }main(){ int m;clrscr();scanf("%d",m); /* 改为&m */printf("%d\n",fun(m));}评分标准:每改对一处得5分,运行结果正确得5分。
二级C语言机试-289
二级C语言机试-289(总分:100.00,做题时间:90分钟)一、填空题(总题数:1,分数:30.00)1.从键盘输入一组小写字母,并保存在字符数组str中。
请补充函数fun(),该函数的功能是:把字符数组str中ASCII码为奇数的小写字母转换成对应的大写字母,结果仍保存在原数组中。
例如,输入“abcdefg”,输出“AbCdEfG”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:#include<stdio.h>#define N 80void fun(char s[])int i;for( 【1】;【2】;i++)if( 【3】 )s[i]-=32;main()char str[N];clrscr();printf("/n lnput a string:/n");gets(str);printf("/n*** original string ***/n");puts (str);fun (str);printf("/n*** new string ***/n");puts (str);(分数:30.00)填空项1:__________________ (正确答案:[1]i=0[2]s[i]!='/0'[3]s[i]%2!=0或s[i]%2==1)解析:[解析] 填空1:变量i用作字符数组s的下标,所以在for循环中,i的初始值应为0。
填空2:for 循环的执行条件是当前字符不为'/0',即还没有到字符串的最后一个字符'/0'填空3:如果当前字符的ASCII码对2求余,结果不为0,也就是等于1,则这个字符的ASCII码为奇数,要将这个小写字母转换成对应的大写字母。
二、改错题(总题数:1,分数:30.00)2.下列给定的程序中,fun()函数的功能是:将p所指字符串中每个单词的最后一个字母改成大写(这里的“单词”是指有空格隔开的字符串)。
(整理)四川省二级c语言29次机试试题及答案
(第一套)(60分钟)一、程序调试题(40分)磁盘上有一程序test1-1.c,其中函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。
字符串数组中共有M个字符串,且串长<N。
请改正程序中的错误,使程序能得出正确的结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:# include <stdio.h># include <string.h># define M 5# define N 20void fun(char (*ss)[N]){ int i,j,k=0,n,m,len;for(i=0;i<M;i++){ len=strlen(ss[i]);if(i=0) n=len;if(len<n){ n=len;k=i;}}for(i=0;i<M;i++)if(i!=k){ m=n;len=strlen(ss);for(j=len;j>=0;j--)ss[i][m--]=ss[i][j];for(j=0;j<n+len;j++)ss[i][j]='*';}}void main(){ char ss[M][N];int i;FILE *fp;fp=fopen("test1-1.in","r");if(fp==NULL){ printf("File cannot open!\n");exit(0);}for(i=0;i<M;i++)fscanf("%s",ss[i]);printf("\nThe original strings are:\n");for(i=0;i<M;i++)printf("%s\n",ss[i]);printf("\n");fun(ss);for(i=0;i<M;i++)printf("%s\n",ss[i]);fclose(fp);}二、编写程序test1-2.c(60分)程序的功能是:删除一个字符串中指定的字符。
计算机二级c语言考试题及答案
计算机二级c语言考试题及答案一、选择题1. 下列关于C语言的描述中,错误的是()。
A. C语言是一种高级编程语言B. C语言具有可移植性C. C语言可以直接在操作系统上运行D. C语言具有结构化编程的特点答案:C2. 在C语言中,用于定义一个结构体的关键字是()。
A. structB. unionC. enumD. typedef答案:A3. 下列关于数组的描述中,正确的是()。
A. 数组必须在程序的开始处定义B. 数组的大小在定义后可以改变C. 数组可以存储不同类型的数据D. 数组的下标从0开始答案:D二、填空题1. 在C语言中,使用________关键字可以定义一个函数。
答案:void2. C语言中,用于输入输出的库函数分别是________和________。
答案:scanf; printf3. 在C语言中,声明一个字符型数组可以使用________关键字。
答案:char三、编程题1. 编写一个C语言程序,计算并输出100以内的奇数和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i < 100; i += 2) {sum += i;}printf("100以内的奇数和为:%d\n", sum);return 0;}```2. 编写一个C语言程序,实现两个整数的交换。
```c#include <stdio.h>int main() {int a = 10, b = 20, temp;temp = a;a = b;b = temp;printf("交换后的值:a = %d, b = %d\n", a, b);return 0;}```四、简答题1. 简述C语言中指针的作用。
答案:指针在C语言中用于存储变量的内存地址,它允许程序间接访问内存中的数据。
四川省计算机等级考试二级C语言机试试题
四川省计算机等级考试二级C语言机试题(第十八次)(第一套)(60分钟)一、程序调试题(文件名test1-1.c)(40分)磁盘上有一个名为testl-l.c的C程序文件,其功能是:计算并输出M以内最大的10个素数之和,M由主函数传给fun 函数。
例如:当M的值为100,则函数的值为732。
调试程序使之能输出正确的结果。
注意:可以增加和修改程序行,但不得删除程序中的整行。
在一处增加的程序行不得超过两行。
# include <stdio.h># include <conio.h>int fun(int m);{ int sum,n=0,j,yes;while((m>=2)&&(n<10){ yes=0;for(j=2;j<=m/2;j++)if(m%j==0){ yes=0;break;}if(yes=1){ sum+=m; n++;m--;}}return ;}main(){ int m;clrscr();scanf("%d",m);printf("%d\n",fun(m));}二、编写程序(程序文件名为testl-2.c)(60分)要求编写函数fun,其函数的功能是:根据形参m的值(2<=m<=9),在m行m列的二维数组中存放如下所示的数据,由main函数输出结果。
结果显示在屏幕上并送testl1-2·txt中保存。
例如:如输入3 如输入5则输出:则输出:1 2 3 4 51 2 3 2 4 6 8 102 4 63 6 9 12 153 6 94 8 12 16 205 10 15 20 25四川省计算机等级考试二级C语言机试题(第十九次)(第一套)(60分钟)一、程序调试题(文件名testl-1.c)(40分)磁盘上有testl-l.c,程序中函数fun的功能是:从低位开始取出正长整型变量s中奇数位上的数,依次构成一个新数放在t中。
国家二级(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语言考试30次机试真题
(第一套)(60分钟)一、程序调试题(40分)磁盘上有一个名为程序test1-1.c的C程序文件,其中有两个函数:1)fun函数的功能是:将N方阵中对角线元素和反向对角线元素互换;2)main函数的功能是:从已有文件test1-1.dat中读入N阶方阵的数据,然后调用fun函数,最后输出交换后的N阶方阵。
注意:可以修改程序行,但不得增行或删行,不得更改程序结构。
源程序如下:# include <stdio.h># define N 4void fun(int a[][N]){int i,t;for(i=0;i<N;i++){ t=a[i][i];a[i][i]=a[i][N-i];a[i][N-i]=t;}}void main(){int a[N][N],i,j;FILE *fp;fp=fopen("test1-1.dat","r");if(fp==NULL){ printf("test1-1.dat can not open.\n");exit(0);}for(i=0;i<N;i++)for(j=0;j<N;j++)fscanf("%d",&a[i][j]);fclose(fp);fun( );printf("output:\n");for(i=0;i<N;i++){ for(j=0;j<N;j++)printf("%5d",&a[i][j]);printf("\n");}}二、编写程序test1-2.c(60分)请用函数调用方式编写程序test1-2.c,要求:1.编写函数fun,其功能是:生成某整型数组的前N(20)项。
该数组前两个数据分别为1和2,以后每个奇数下标(数组的下标从0开始)的项是前两项的和,偶数下标的项为前两项差的绝对值。
C语言(29次)答案及分析
四川省普通高等学校计算机应用知识和能力第二十九次等级考试二级(C与C++语言) 笔试试卷时间: 2008年10月18 日( 判断下列各题是否正确,如正确,在客观答题纸上对应编号选A,否则选B )1. 在设备管理中通道是处理输入、输出的软件。
( 1 )2. 从逻辑上可以把数据结构分为线性结构和非线性结构。
( 2 )3. 若无进程处于运行状态,则就绪队列为空。
( 3 )4. 在单处理器系统中,程序的并发执行,实质上是程序的交替执行。
( 4 )5. 分页存储管理中,页面不能映射到不连续的内存块中。
( 5 )6. 瀑布模型的突出缺点是不适应用户需求的变化。
( 6 )7. 栈和队列的共同特点是允许在端点之外处插入和删除元素。
( 7 )8. 为了便于对照检查,测试用例应由输入数据和预期的输出结果两部分组成。
( 8 )9. 在软件生存期内,能确定软件系统必须做什么和必须具备的功能阶段是编码。
( 9 )10.在结构化分析中,用于描述加工逻辑的主要工具有三种,即:结构化语言、判定表、判定树。
( 10 )二、选择题(每小题1分,共5分)1. 软件开发中,模块设计的原则是(11 )。
11 (A) 低偶合、高内聚(B) 高偶合、高内聚(C) 高偶合、低内聚(D) 低偶合、低内聚2. 进程从运行状态进入就绪状态的原因可能是(12 )。
12 (A) 时间片用完(B) 等待某一事件(C) 等待的事件已发生(D) 被选中占有处理机3. 队列的操作原则是(13 )。
13 (A) 先进后出(B) 先进先出(C) 只进不出(D) 只出不进4. 以下(14 )不是实时操作系统的特点。
14 (A) 高可靠性(B) 及时响应(C) 高效性(D) 通用性5. 程序流程图是用于描述结构化方法中(15 )工作阶段的工具。
15 (A) 可行性分析(B) 程序编码(C) 详细设计(D) 需求分析1. 下列关于C++语言类的描述中错误的是(16 )。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(第一套)(60分钟)一、程序调试题(40分)磁盘上有一程序test1-1.c,其中函数fun的功能是:求出形参ss所指字符串数组中最长字符串的长度,其余字符串左边用字符*补齐,使其与最长的字符串等长。
字符串数组中共有M个字符串,且串长<N。
请改正程序中的错误,使程序能得出正确的结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:# include <stdio.h># include <string.h># define M 5# define N 20void fun(char (*ss)[N]){ int i,j,k=0,n,m,len;for(i=0;i<M;i++){ len=strlen(ss[i]);if(i=0) n=len;if(len<n){ n=len;k=i;}}for(i=0;i<M;i++)if(i!=k){ m=n;len=strlen(ss);for(j=len;j>=0;j--)ss[i][m--]=ss[i][j];for(j=0;j<n+len;j++)ss[i][j]='*';}}void main(){ char ss[M][N];int i;FILE *fp;fp=fopen("test1-1.in","r");if(fp==NULL){ printf("File cannot open!\n");exit(0);}for(i=0;i<M;i++)fscanf("%s",ss[i]);printf("\nThe original strings are:\n");for(i=0;i<M;i++)printf("%s\n",ss[i]);printf("\n");fun(ss);for(i=0;i<M;i++)printf("%s\n",ss[i]);fclose(fp);}二、编写程序test1-2.c(60分)程序的功能是:删除一个字符串中指定的字符。
编写fun函数,其功能是删除一个字符串中指定的字符。
假设字符串为:turbo c and borland c++,指定要删除的字符为n,则删除后的字符串变为:turbo c ad borlad c++。
如果输入的字符在字符串中不存在,则字符串照原样输出。
同一字母的大、小按不同字符处理。
在main函数中输入一个字符串(可以有空格)和一个要删除的字符,调用函数fun,最后输出结果。
一、程序调试题(40分)磁盘上有一个名为test2-1.c 的C 程序,其中函数fun 的功能是:用下面的公式求π的近似值,直到最后一项的绝对值小于指定的数(参数num)为止:⋯+-+-≈71513141π例如,程序运行后,输入0.0001,则程序输出3.1414 。
请改正程序中的错误,使程序能得出正确的结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:# include <math.h># include <stdio.h>float fun(float num){ int s;float n,t,pi;t=1;pi=0;n=1;s=1;while(t>=num){ pi=pi+t; n=n+2; s=-s;t=s%n;}pi=pi*4;return;}main(){float n1,n2;FILE *fp;fp=fopen("test2-1.out","r");if(fp==NULL){ printf("\nFile cannot open!\n");exit(0);}printf("Enter a float number:");scanf("%f",&n1);n2=fun();printf("%6.4f\n",n2);fprintf(fp,"Result=%6.4f\n",n2);fclose(fp);}二、编写程序test2-2.c (60分)编写函数fun ,其功能是:将形参指针a 指向的字符顺序放入形指针c 指向的字符串中,再把形参指针b 指针的字符串逆序放入形参指针c 指向的字符串中。
注:不能使用字符串的复制和连接函数。
例如:a 指向的字符串为adcb ,b 指向的字符串为213,则字符串c 中的内容为adcb312。
一、程序调试题(40分)磁盘上有一个名为test3-1.c的C程序文件,其中函数fun的功能是:将数组a中n个整数进行移动,大于等于0的数放在数组的前面,小于0的数放在后面。
例如:数组中的数为:12 -34 56 -9 -10 25 9 -8 24 90,移动后的结果为:12 56 25 9 24 90 -34 -9 -10 -8在main函数中,从一文本文件test3-1.in中读取10个整数放入整型数组中,调用函数fun,并输出最后的结果。
请改正程序中的错误,使其能得到正确的结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:# include <stdio.h>void fun(int a[],int n){int i,j=0,b[20];for(i=0;i<n;i++)if(a[i]>=0)b[j]=a[i];for(i=0;i<n;i++)if(a[i]>0)b[j++]=a[i];for(i=0;i<n;i++)a[i]=b[i];}void main(){int a[10],i;char filename[20];FILE *fp;printf("Input filename:");scanf("%c",filename);if((fp=fopen(filename,"r"))==NULL){printf("Cannot open the file.\n");exit(0);}for(i=0;i<10;i++)fscanf(fp,"%d",a[i]);fun(a,10);for(i=0;i<10;i++)printf("%4d",a+i);fclose(fp);}二、编写程序test3-2.c(60分)编写函数fun,函数fun的功能是:将字符串s最右边的n个字符赋值到新串t中,若n大于s的长度,则将s复制到t中。
注:不能使用字符串的复制函数。
例如:字符串s为abcdefgh,n=5,则字符串t为defgh 。
main函数中输入一字符串s及n的值,调用fun函数并输出结果。
(第四套)(60分钟)一、程序调试题(40分)磁盘上有一个名为test4-4.c 的C 程序文件,其功能是:在main 函数中随机生成一个N*N 的二维数组,fun 函数使该数组左下半三角元素中的值乘以n 。
例如n=3,当a 数组中的值为:⎪⎪⎪⎭⎫ ⎝⎛=654832791a ,运行程序后a 数组的值就变为:⎪⎪⎪⎭⎫ ⎝⎛=181512896793a在main 函数中将运行结果输出到屏幕上和文件test4-4.out 中。
请改正程序中的错误,使它能得出正确结果。
注意:不得增行或删行,也不得更改程序结构。
源程序如下:# include "stdio.h"# define N =3int fun(int a[][N],n){int i,j;for(i=0;i<N;i++)for(j=0;j<N;j++)if(i>=j)a[i][j]=*n;}main(){int a[N][N],n,i,j;FILE *fp;for(i=0;i<N;i++){ for(j=0;j<N;j++){ a[i][j]=rand()%10;printf("%4d",a[j][i]);}printf("\n");}don=rand()%10;while(n<=3)printf("n=%4d\n",n);fun(a,n);fp=fopen("test4-1.out","w");if(fp==NULL){ printf("\nFile cannot open!\n);exit(0);}for(i=0;i<N;i++){ for(j=0;j<N;j++){ printf("%4d",a[i][j]);fprintf(fp,"%4d",a[[i][j]);}printf("\n");}fclose(fp);}二、编写程序test4-2.c(60分)假定输入的字符串只包含字母和*号。
请编写函数fun(),它的功能是:只删除字符串前导和尾部的*号,串中字母之间的*号都不删除。
形参n给出字符串的长度,形参h给出字符串中前导*号的个数,形参e给出字符串中尾部*号的个数。
在编写函数时,不得使用C语言提供的字符串函数。
例如,若字符串中的内容****A*BC*DEF*G*******,删除后,字符串中的内容则应该是A* BC*DEF*G。
(第五套)(60分钟)一、程序调试题(40分)给定程序test5-1.c,函数fun的功能是求两个形参的乘积和商,其结果存入形参指针所指的地址中,函数io实现数据的输入和输出。
假设输入文件test5-1.in有数据61.82和12.65,则两个数的乘积和商分别为782.02300和4.886957 。
main函数调用函数io 。
请改正程序中的错误,使程序能得出正确结果。
、注意:不得增行或删行,也不得更改程序结构。
源程序如下:# include <stdio.h>void fun(double a,b,*x,*y){ x=a*b; y=a/b;}io(){ int i;double a,b,c,d;file *rf,*wf;rf=fopen("test5-1.in","r");wf=fopen("test5-1.out","w");fscanf(rf,"%lf%lf",&a,&b);fun(a,b,c,d);fprintf("c=%lf\nn=%lf\n",c,d);printf("c=%lf\nn=%lf\n",c,d);fclose(rf);fclose(wf);}void main(){double a,b,c,d;clrscr();io();}二、编写程序test5-2.c(60分)用函数调用方式编写程序。