国家二级(C语言)机试历年真题试卷汇编18

国家二级(C语言)机试历年真题试卷汇编18(总分:86.00,做题时间:90分钟)一、选择题(总题数:40,分数:80.00)1.下列叙述中错误的是( )。

(分数:2.00)A.算法的时问复杂度与算法所处理数据的存储结构有直接关系B.算法的空间复杂度与算法所处理数据的存储结构有直接关系C.算法的时间复杂度与空间复杂度有直接关系√D.算法的时间复杂度与算法程序执行的具体时间是不一致的解析:解析:算法的时间复杂度是指执行算法所需要的计算工作量。

数据的存储结构直接决定数据输入,而这会影响算法所执行的基本运算次数,A项正确。

算法的空间复杂度是指执行这个算法所需要的内存空间,其中包括输入数据所占的存储空间,B项正确。

而算法的时间复杂度与空间复杂度没有直接关系,C项错误。

算法程序执行的具体时间受到所使用的计算机、程序设计语言以及算法实现过程中的许多细节所影响,而算法的时间复杂度与这些因素无关,所以是不一致的,D项正确。

2.在满足实体完整性约束的条件下( )。

(分数:2.00)A.一个关系中应该有一个或多个候选关键字√B.一个关系中只能有一个候选关键字C.一个关系中必须有多个候选关键字D.一个关系中可以没有候选关键字解析:解析:实体完整性约束要求关系的主键中属性值不能为空值,因此本题答案为A。

3.下面描述中,不属于软件危机表现的是( )。

(分数:2.00)A.软件过程不规范√B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:解析:软件危机主要表现在:软件需求的增长得不到满足;软件开发成本和进度无法控制;软件质量难以保证;软件不可维护或维护程度非常低;软件的成本不断提高;软件开发生产率的提高赶不上硬件的发展和应用需求的增长。

因此本题答案为A。

4.下列各项中不属于需求分析阶段任务的是( )。

(分数:2.00)A.确定软件系统的功能需求B.确定软件系统的性能需求C.需求规格说明书评审D.制定软件集成测试计划√解析:解析:需求分析阶段的工作包括:需求获取、需求分析、编写需求规格说明书、需求评审,因此本题答案为D。

5.待排序的关键码序列为(15,20,9,30,67,65,45,90),要按关键码值递增的顺序排序,采取简单选择排序法,第一趟排序后关键码15被放到第( )个位置。

(分数:2.00)A.2B.3 √C.4D.5解析:解析:简单选择排序的算法可以描述为:前面的元素己经有序,扫描剩下的线性表,找到最小的元素,将它交换到剩余表的最前面,直到剩余表为空。

所以第一趟排序后,将选出的最小元素与15交换,15被放在第3个位置。

6.构成计算机软件的是( )。

(分数:2.00)A.源代码B.程序和数据C.程序和文档D.程序、数据及相关文档√解析:解析:计算机软件的定义为:与计算机系统的操作有关的计算机程序、规程、规则,以及可能有的文件、文档及数据。

答案选D。

7.在黑盒测试方法中,设计测试用例的主要根据是( )。

(分数:2.00)A.程序内部逻辑B.程序外部功能√C.程序数据结构D.程序流程图解析:解析:黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证,黑盒测试完全不考虑程序内部的逻辑结构和内部特性,只根据程序的需求和功能规格说明,检查程序的功能是否符合它的功能规格说明,因此本题答案为B。

8.在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。

(分数:2.00)A.外模式B.内模式√C.概念模式D.逻辑模式解析:解析:数据库系统的三级模式是概念模式、外模式和内模式。

概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户的公共数据视图。

外模式也称子模式或用户模式,它是用户的数据视图,给出了每个用户的局部数据描述。

内模式又称物理模式,它给出了数据库的物理存储结构与物理存取方法,因此本题答案为B。

9.在关系模型中,每一个二维表称为一个( )。

(分数:2.00)A.关系√B.属性C.元组D.主码(键)解析:解析:关系模型采用二维表来表示,一个二维表表示一个关系。

10.有三个关系R、S和T R和S得到关系T的操作是( )。

(分数:2.00)A.自然连接B.交C.除√D.并解析:解析:如果T=R/S,则T称为R除以S的商。

在除运算中,T的域由R中那些不出现在S中的域所组成,对于T中的任一有序组,由它与关系S中每个有序组所构成的有序组均出现在关系R中。

因此本题选择C。

11.以下叙述中正确的是( )。

(分数:2.00)A.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√B.程序必须包含所有三种基本结构才能成为一种算法C.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达D.只有简单算法才能在有限的操作步骤之后结束解析:解析:顺序、选择、循环是C语言程序的三个基本结构,一个C语言算法可以由其中一种或者多种构成,选项B错误;三种基本结构能解决所有的问题,而且C语言只能有这三种结构,选项C错误;C语言算法的特点之一就是有穷性,任何一个算法都必须能在有限的操作步骤之后结束,选项D错误;C语言程序编译时将每条可执行语句转换为二进制的机器指令,答案选A。

12.以下叙述中正确的是( )。

(分数:2.00)A.计算机只接收由0和1代码组成的二进制指令或数据√B.计算机只接收由0和1代码组成的十进制指令或数据C.计算机可直接接收并运行C源程序D.计算机可直接接收并运行任意高级语言编写的源程序解析:解析:二进制数中只有两个字符0和1,表示具有两个不同稳定状态的元器件。

例如,电路中有/无电流,有电流用1表示,无电流用O表示。

类似的还比如电路中电压的高/低,晶体管的导通和截止等;二进制数运算简单,大大简化了计算中运算部件的结构,故选项A正确。

13.以下叙述中错误的是( )。

(分数:2.00)A.C程序在运行过程中所有计算都以十进制方式进行√B.C程序在运行过程中所有计算都以二进制方式进行C.所有C程序都需要编译链接无误后才能运行D.C程序中字符变量存放的是字符的ASCII值解析:解析:C程序在运行过程中,所有计算都以二进制方式进行。

14.若有定义语句: int a=3,b=2,c=1;以下选项中错误的赋值表达式是( )。

(分数:2.00)A.a=(b=4)+c;B.a=b=c+1;C.a=(b=4)=3;√D.a=1+(b=c=4):解析:解析:b=4不能作为左值,(b=4)=3出现编译错误。

15.有以下程序: #include main() { int x,y,z; x=y=1; z=x++;y++;++y; printf("%d %d %d \n",x,y,z); } 程序运行后的输出结果是( )。

(分数:2.00)A.2 3 2B.2 3 3C.2 3 1 √D.2 2 1解析:解析:考查逗号表达式。

逗号表达式的计算过程是分别计算所有表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。

x=y=1;将x、y初始化为1,逗号表达式z=x++,y++,++y;中先计算z=x++,得到x=2,z=1,计算y++,得y=2,再计算++y,得y=3。

所以最终结果为x=2,y=3,z=1,答案选C。

16.以下选项中,合法的实数是( )。

(分数:2.00)A.4.5E2 √B.E1.3C.7.11ED.1.2E1.2解析:解析:实型常量用带小数点的数字表示,其值有两种表达形式,分别为十进制小数形式和指数形式。

十进制小数形式由数字和小数组成,必须有小数点,且小数点的位置不受限制。

指数形式由十进制数加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。

4.5E2为指数形式实数,A项正确。

E1.3阶码标志前缺少十进制数,并且阶数不是整数,B项错误。

7.11E缺少阶数,C项错误。

1.2E1.2阶数不是整数,D项错误。

17.以下能正确输出字符a的语句是( )。

(分数:2.00)A.printf("%s","a");√B.printf("%s",'a');C.printf("%c","a");D.printf("%d",'a');解析:解析:输出函数printf()的一般形式为“printf("格式控制字符串",输出项1,输出项2,…)”,输出项的形式要和格式控制字符串中的格式控制符保持一致,“%s”为输出字符串,“%c”为输出单个字符,“%d”为以十进制形式输出带符号整数,答案选A。

18.有以下程序段:int m=33,n=66;m=m^n;n=n^m;m=m^n;执行上述语句后,m和n的值分别是( )。

(分数:2.00)A.m=66,n=33 √B.m=33,n=66C.m=66,n=66D.m=33,n=33解析:解析:m=m^n;n=n^m;m=m^n;语句实现了m和n的交换。

故正确选项为A。

19.有以下程序段,若变量已正确定义并赋值 if(a>b)printf("x=%d",x); else printf("y=%d",y);if(a<=b)i++; else j++;则与此程序段功能相同的选项是( )。

(分数:2.00)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++;}解析:解析:程序的逻辑是当a>b时,执行语句“printf("x=%d",x);”和语句“j++;”,否则执行语句“printf("y=%d",y);”和语句“i++;”,由此答案选A。

20.有以下程序: #include main() { int x: for(x=5;x>0;x一一) if(x一一(分数:2.00)A.4,3,2,B.4,3,1,√C.5,4,2,D.5,3,1,解析:解析:本题主要考查if选择语句的嵌套和自加自减运算符的用法。

合集下载

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案

计算机二级c语言历年真题及答案【篇一:国家计算机二级c语言历年真题及答案】class=txt>c语言程序设计(考试时间90分钟,满分100分)一、选择题((1)—(10)、(21)—(40)每题2分,(11)—(20)每题1分,共70分)(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) 可封装d) 自顶向下c) 模块化d) 逐步求精(7)软件详细设计产生的图如下:该图是a) n-s图b) pad图c) 程序流程图d) e-r图(8)数据库管理系统是a)操作系统的一部分b) 在操作系统支持下的系统软件c) 一种编译系统d) 一种操作系统(9)在e-r图中,用来表示实体联系的图形是a) 椭圆图b) 矩形c) 菱形d) 三角形(10)有三个关系r,s和t如下:其中关系t由关系r和s通过某种操作得到,该操作为a) 选择b) 投影c) 交d) 并(11)以下叙述中正确的是a)程序设计的任务就是编写程序代码并上机调试b)程序设计的任务就是确定所用数据结构c)程序设计的任务就是确定所用算法d)以上三种说法都不完整(12)以下选项中,能用作用户标识符的是a)voidb)8_8c)_0_d)unsigned(13)阅读以下程序#includemain(){ int case; float printf;printf(“请输入2个数:”);scanf(“%d %f”,case,pjrintf);printf(“%d %f\n”,case,printf);}该程序编译时产生错误,其出错原因是a)定义语句出错,case是关键字,不能用作用户自定义标识符b)定义语句出错,printf不能用作用户自定义标识符c)定义语句无错,scanf不能作为输入函数使用d)定义语句无错,printf不能输出case的值(14)表达式:(int)((double)9/2)-(9)%2的值是a)0b)3c)4d)5(15)若有定义语句:int x=10;,则表达式x-=x+x的值为a)-20b)-10c)0d)10(16)有以下程序#includemain(){ int a=1,b=0;printf(“%d,”,b=a+b);printf(“%d\n”,a=2*b);}程序运行后的输出结果是a)0,0c)3,2d)1,217)设有定义:int a=1,b=2,c=3;,以下语句中执行效果与其它三个不同的是a)if(ab) c=a,a=b,b=c;b)if(ab) {c=a,a=b,b=c;}c)if(ab) c=a;a=b;b=c;d)if(ab) {c=a;a=b;b=c;}(18)有以下程序#includemain(){ int c=0,k;for (k=1;k3;k++)switch (k){ default: c+=kcase 2: c++;break;case 4: c+=2;break;}printf(“%d\n”,c);}程序运行后的输出结果是a)3b)5c)7d)9(19)以下程序段中,与语句:k=ab?(bc?1:0):0;功能相同的是 a)if((ab)(bc)) k=1;else k=0;b)if((ab)||(bc) k=1;else k=0;c)if(a=b) k=0;else if(b=c) k=1;d)if(ab) k=1;else if(bc) k=1;else k=0;20)有以下程序#include{ char s[]={“012xy”};int i,n=0;for(i=0;s[i]!=0;i++)if(s[i]=’a’s[i]=’z’) n++;printf(“%d\n”,n);}程序运行后的输出结果是a)0b)2c)3d)5(21)有以下程序#includemain(){ int n=2,k=0;while(k++n++2);printf(“%d %d\n”,k,n);}程序运行后的输出结果是a)0 2b)1 3c)5 7d)1 2(22)有以下定义语句,编译时会出现编译错误的是a)char a=’a’;b)char a=’\n’;c)char a=’aa’;d)char a=’\x2d’;(23)有以下程序#includemain(){ char c1,c2;c1=’a’+’8’-‘4’;c2=’a’+’8’-‘5’;printf(“%c,%d\n”,c1,c2);}已知字母a的ascii码为65,程序运行后的输出结果是a)e,68【篇二:2014年三月全国计算机二级c语言上机考试题库】txt>题库100套第01套:给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案

全国计算机等级考试二级C语言笔试试题及答案一、选择题1. 以下关于C语言的描述中,正确的是(A)A. C语言是一种结构化程序设计语言B. C语言是面向对象的程序设计语言C. C语言是一种解释型语言D. C语言是一种高级汇编语言答案:A2. 在C语言中,以下哪个选项是非法的整型常量?(D)A. 012B. 0x123C. 0XabcD. 0123答案:D3. 若变量已正确定义并赋值,以下正确的表达式是(C)A. a = b ++ + 1;B. a = b ++ = a++;C. a = b + b++;D. a = ++b + ++b;答案:C4. 在C语言中,以下哪个函数用于输出字符?(B)A. printfB. putcharC. putcharcD. putchart答案:B5. 已知 int a = 5, b = 3;,以下哪个选项的结果为1?(D)A. a % bB. a / bC. a + bD. a - b答案:D二、填空题1. 在C语言中,一个int类型的数据在内存中占______个字节。

答案:42. C语言中,逻辑运算符“或”用______表示。

答案:||3. 若定义 int a = 10, b = 20;,则执行语句 a += b -= a; 后,b的值为______。

答案:104. 在C语言中,函数的返回值类型为void时,表示该函数______。

答案:无返回值5. 在C语言中,以下函数的返回类型为______。

int max(int a, int b) {return (a > b) ? a : b;}答案:int三、判断题1. C语言中的数组名可以作为指针使用。

(正确)2. 在C语言中,静态存储区的数据在程序运行期间一直存在。

(正确)3. 在C语言中,结构体是一种用户自定义的数据类型。

(正确)4. 在C语言中,函数的参数传递都是按值传递的。

(错误,部分按引用传递)5. 在C语言中,文件操作完成后必须关闭文件,否则可能导致数据丢失。

2018计算机二级C语言考试真题汇总(本站推荐)

2018计算机二级C语言考试真题汇总(本站推荐)

2018计算机二级C语言考试真题汇总(本站推荐)第一篇:2018计算机二级C语言考试真题汇总(本站推荐)模拟卷1 1 [填空题]下列给定程序中,函数fun的功能是:在形参S所指字符串中寻找与参数C相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则不做任何处理。

例如,若s所指字符串为“baacda”,c中的字符为a,执行后S 所指字符串为“baaaacdaa”。

请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。

注意:部分源程序给出如下。

不得增行或删行,也不得更改程序的结构!试题程序:参考解析:【参考答案】【解题思路】填空1:for语句循环条件是判断是否到达字符串结尾,即当前字符是否为‘’。

填空2:while语句用以确定字符串的长度,所以变量n赋初值为0。

填空3:题目要求如果找到与参数c相同的字符,就在后面插入一个相同的字符,且找到后应该给数组元素赋值,本题目给出参数为c。

二、程序修改题[简答题]下列给定程序中函数fun的功能是:逐个比较p、q所指两个字符串对应位置上的字符,并把ASCII值大或相等的字符依次存放到c所指的数组中,形成一个新的字符串。

例如,若主函数中a字符串为“aBCDeFgH”,b字符串为“Abcd”,则c中的字符串应为“aBcdeFgH”。

请改正程序中的错误,使它能得出正确的结果。

注意:部分源程序在文件MODl1.C中,不得增行或删行,也不得更改程序的结构!参考解析:【参考答案】(1)int k=0;(2)while(*p||*q)【考点分析】本题考查:变量初始化,需根据题意确定变量含义,然后对其进行初始化操作;while循环语句。

【解题思路】(1)变量k存放数组e的下标,因此应初始化为0。

(2)while循环语句的循环条件是判断两个字符串是否到达结尾。

三.程序设计题[简答题]规定输入的字符串中只包含字母和*号。

请编写函数fun,其功能是:将字符串尾部的*号全部删除,前面和中间的*号不动。

历届国家二级c语言考试真题及其答案,word版

历届国家二级c语言考试真题及其答案,word版

B)操作系统C)教务管理系统D)汇编程序(6)下面叙述中错误的是A)软件测试的目的是发现错误并改正错误B)对被调试的程序进行“错误定位”是程序调试的必要步骤C)程序调试通常也称为DebugD)软件测试应严格执行测试计划,排除测试的随意性(7)耦合性和内聚性是对模块独立性度量的两个标准。

下列叙述中正确的是A)提高耦合性降低内聚性有利于提高模块的独立性B)降低耦合性提高内聚性有利于提高模块的独立性C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度D)内聚性是指模块间互相连接的紧密程度(8)数据库应用系统中的核心问题是A)数据库设计B)数据库系统设计C)数据库维护D)数据库管理员培训(9)有两个关系R,S如下:由关系R通过运算得到关系S,则所使用的运算为A)选择 B)投影 C)插入 D)连接(10)将E-R图转换为关系模式时,实体和联系都可以表示为A)属性 B)键 C)关系 D)域(11)以下选项中合法的标识符是A) 1-1 B)1—1 C)-11 D)1--(12)若函数中有定义语句:int k;,则A)系统将自动给k赋初值0B)这时k中值无定义C)系统将自动给k赋初值-1D)这时k中无任何值(13)以下选项中,能用作数据常量的是A)o115 B) 0118 C)1.5e1.5 D) 115L(14)设有定义:int x=2;,以下表达式中,值不为6的是A) x*=x+1B) x++,2*xC)x*=(1+x)D)2*x,x+=2(15)程序段:int x=12;double y=3.141593; printf(“%d%8.6f”,x,y);的输出结果是A)123.141593B)123.141593C)12,3.141593D)123.141593(16)若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是A)scanf(“%f%f”,x,y);B) scanf(“%f%f”,&x,&y);C) scanf(“%lf%le”,px,py);D) scanf(“%lf%lf”,x,y);(17)以下是if语句的基本形式:if(表达式)语句其中“表达式”A)必须是逻辑表达式B)必须是关系表达式C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式(18)有以下程序#include <stdio.h>main(){int x;scanf(“%d”,&x);if(x<=3); elseif(x!=10)printf(“%d\n”,x);}程序运行时,输入的值在哪个范围才会有输出结果A)不等于10的整数B)大于3且不等于10的整数C)大于3或等于10的整数D)小于3的整数(19)有以下程序#include<stdio.h> Main(){int a=1,b=2,c=3,d=0;if(a= =1 &&b++= =2)if(b!=2 || c--!=3)printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);else printf(“%d,%d,%d\n”,a,b,c);}程序运行后的输出结果是A)1,2,3B)1,3,2C)1,3,3D)3,2,1(20)以下程序中的变量已正确定义for(i=0;i<4;i++,i++for(k=1;k<3;k++);printf(*”);程序段的输出结果是A)********B)****C)**D)*(21)有以下程序#include<stdio.h>main(){char*s=(“ABC);do{printf(“%d”,*s%10);s++;}while(*s);}注意,字母A的ASCII码值为65。

历届国家二级c语言考试真题及其答案,word版

历届国家二级c语言考试真题及其答案,word版

2010年3月计算机二级C语言笔试真题一、选择题(1)下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏清况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(nlog2n)(2)算法的时问复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语司或指令条数D)算法在执行过程中所需要的基本运算次数(3)软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。

下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器(4)软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质(5)数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具(6)软件生命周期可分为定义阶段,开发阶段和维护阶段。

详细设计属于A)定义阶段B)开发阶段C)维护阶段D)上述三个阶段(7)数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录(9)数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计一阶段C)概念设计阶段D)物理设计阶段(10)有两个关系R和T如下:则由关系K得到关系T的操作是A)选择B)投影C)交D)并(11)以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在(12)以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示(13)以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a—b(14)若有定义:double a=22;int i=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;(15)有以下程序#includemain(){ char a,b,c,d;scanf(“%c%c”,&a,&b);c=getchar(); d=getchar();printf(“%c%c%c%c\n”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,代表回车,注意:回车也是一个字符)1234则输出结果是A)1234B)12C)123D)1234(16)以i关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定(18)以下选项中与if(a==1)a=b; else a++;语句功能不同的switch语句是A)switch(a){case:a=b;break;default:a++;}B)switch(a==1){case 0:a=b;break;case 1:a++;}C)switch(a){default:a++;break;case 1:a=b;}D)switch(a==1){case 1:a=b;break;case 0:a++;}(19)有如下嵌套的if语句if (aif(aelse k=c;elseif(belse k=c;以下选项中与上述if语句等价的语句是A)k=(aB)k=(ac)?b:c);C)k=(aD)k=(a(20)有以下程序#includemain(){in i,j,m=1;for(i=1;i<3;i++) {for(j=3;j>O;j--){if(i*j)>3)break;m=i*j;}}printf("m=%d\n",m); }程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=5(21)有以下程序#include(stdio.h> main(){int a=l;b=2; for(;a<8;a++) {b+=a;a+=2;}printf("%d,%d\n",a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,14(22)有以下程序,其中k的初值为八进制数#includemain(){int k=011;printf("%d\n",k++);}程序运行后的输出结果是A)12B)11C)10D)9(23)下列语句组中,正确的是A)char *s;s="Olympic";B)char s[7];s="Olympic";C)char *s;s={"Olympic"};D)char s[7];s={"Olympic"};(24)以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返回到调用处(25)下列选项中,能正确定义数组的语句是A)int num[0..2008];B)int num[];C)int N=2008;int num[N];D)#define N 2008int num[N];(26)有以下程序#includevoid fun(char *c,int d){*c=*c+1;d=d+1;printf("%c,%c,",*c,d);main(){char b=''a'',a=''A'';fun(&b,a);printf("%e,%e\n",b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B(27)若有定义int(*Pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组(28)设有定义double a[10],*s=a;,以下能够代表数组元素a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+3(29)有以下程序#include(stdio.h)main(){int a[5]={1,2,3,4,5},b[5]={O,2,1,3,0},i,s=0;for(i=0;i<5;i++) s=s+a[b[i]]);printf("%d\n", s);}程序运行后的输出结果是A)6B)10C)11D)15(30)有以下程序#includemain(){int b [3][3]={O,1,2,0,1,2,O,1,2},i,j,t=1;for(i=0;i<3;i++)for(j=ij<=1;j++) t+=b[i][b[j][i]];printf("%d\n",t);}程序运行后的输出结果是A)1B)3C)4D)9(31)若有以下定义和语句char s1[10]="abcd!",*s2="\n123\\";printf("%d %d\n", strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 8(32)有以下程序#include#define N 8void fun(int *x,int i){*x=*(x+i);}main(){int a[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=O;i{printf("%d",a[i]);}printf("\n");}程序运行后的输出结果是A)1313B)2234C)3234D)1234(33)有以下程序#includeint f(int t[],int n);main{ int a[4]={1,2,3,4},s;s=f(a,4); printf("%d\n",s);}int f(int t[],int n){ if(n>0) return t[n-1]+f(t,n-1); else return 0;}程序运行后的输出结果是A)4B)1OC)14D)6(34)有以下程序#includeint fun(){ static int x=1;x*2; return x;}main(){int i,s=1,for(i=1;i<=2;i++) s=fun(); printf("%d\n",s);}程序运行后的输出结果是A)O B)1 C)4 D)8 (35)有以下程序#include#define SUB(a) (a)-(a)main(){ int a=2,b=3,c=5,d;d=SUB(a+b)*c;printf("%d\n",d);}程序运行后的输出结果是A)0B)-12C)-20D)10(36)设有定义:struct complex{ int real,unreal;} data1={1,8},data2; 则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;(37)有以下程序#include#includestruct A{ int a; char b[10]; double c;};void f(struct A t);main(){ struct A a={1001,"ZhangDa",1098.0};f(a); printf("%d,%s,%6.1f\n",a.a,a.b,a.c);}void f(struct A t){ t.a=1002; strcpy(t.b,"ChangRong");t.c=1202.0;}程序运行后的输出结果是A)1001,zhangDa,1098.0B)1002,changRong,1202.0C)1001,ehangRong,1098.OD)1002,ZhangDa,1202.0(38)有以下定义和语句struct workers{ int num;char name[20];char c;struct{int day; int month; int year;}s;};struct workers w,*pw;pw=&w; 能给w中year成员赋1980的语句是A)*pw.year=198O;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;(39)有以下程序#includemain(){ int a=2,b=2,c=2;printf("%d\n",a/b&c);}程序运行后的输出结果是A)OB)1C)2D)3(40)有以下程序#includemain(){ FILE *fp;char str[10];fp=fopen("myfile.dat","w");fputs("abc",fp);fclose(fp); fpfopen("myfile.data","a++"); fprintf(fp,"%d",28);rewind(fp);fscanf(fp,"%s",str); puts(str); fclose(fp); }程序运行后的输出结果是 A)abc B) 28c C) abc28D)因类型不一致而出错 二、填空题(1)一个队列的初始状态为空。

c语言二级考试题及答案

c语言二级考试题及答案

c语言二级考试题及答案一、单项选择题(本大题共40小题,每小题2分,共80分)1. 在C语言中,下列哪个选项是正确的整型常量?A. 0.5B. 0x12C. 0x12.0D. 0x12L答案:B2. C语言中,下列哪个选项是正确的字符串字面量?A. "hello"B. 'hello'C. "hello'"D. 'hello"答案:A3. 在C语言中,下列哪个选项是合法的标识符?A. 2variableB. variable2C. _variableD. variable-2答案:C4. 下列哪个选项是C语言中的关键字?A. intB. integerC. realD. double答案:A5. 在C语言中,下列哪个选项是正确的二进制常量表示?A. 0x1BB. 0b1101C. 0B1101D. 0x1101答案:B6. C语言中,下列哪个选项是正确的浮点型常量表示?A. 3.14B. 3.14e2C. 3.14E-2D. 3.14f答案:C7. 在C语言中,下列哪个选项是正确的字符常量表示?A. 'a'B. "a"C. 'ab'D. '0x61'答案:A8. 下列哪个选项是C语言中合法的数组声明?A. int a[5] = {1, 2, 3, 4, 5};B. int a[] = {1, 2, 3, 4, 5};C. int a[5] = {1, 2, 3};D. int a = {1, 2, 3, 4, 5};答案:A9. 在C语言中,下列哪个选项是正确的函数声明?A. int add(int a, int b);B. int add();C. int add(int, int);D. int add(int a, b);答案:A10. 下列哪个选项是C语言中合法的指针声明?A. int *p;B. int *p[];C. int *p[5];D. int (*p)();答案:A11. 在C语言中,下列哪个选项是正确的结构体声明?A. struct Point { int x, y; };B. struct { int x, y; } Point;C. struct Point { int x; int y; };D. struct { int x; int y; };答案:C12. 下列哪个选项是C语言中合法的枚举声明?A. enum {RED, GREEN, BLUE} color;B. enum color {RED, GREEN, BLUE};C. enum {RED, GREEN, BLUE};D. enum color {0, 1, 2};答案:B13. 在C语言中,下列哪个选项是正确的宏定义?A. #define PI 3.14159B. #define PI = 3.14159C. #define PI(3.14159)D. #define PI 3.14159;答案:A14. 下列哪个选项是C语言中合法的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include <stdio.h>D. #include "stdio.h"答案:A15. 在C语言中,下列哪个选项是正确的条件语句?A. if (a > b) { ... }B. if a > b { ... }C. if (a > b) then { ... }D. if a > b then { ... }答案:A16. 下列哪个选项是C语言中合法的循环语句?A. for (i = 0; i < n; i++) { ... }B. for i = 0; i < n; i++ { ... }C. for (i = 0; i < n; i++) { ... }D. for i = 0 to n { ... }答案:A17. 在C语言中,下列哪个选项是正确的switch语句?A. switch (a) { case 1: ...; case 2: ...; }B. switch (a) { case 1: ...; case 2: ...; default: ...; }C. switch (a) { case 1: ...; case 2: ...; break; }D. switch (a) { case 1: ...; case 2: ...; default: ...; }答案:D18. 下列哪个选项是C语言中合法的goto语句?A. goto label;B. goto 10;C. label: ...D. goto;答案:C19. 在C语言中,下列哪个选项是正确的函数调用?A. printf("%d", 10);B. scanf("%d", &a);C. printf("%d", a);D. scanf("%d", a);答案:B20. 下列哪个选项是C语言中合法的函数定义?A. int add(int a, int b) { return a + b; }B. int add(int a, b) { return a + b; }C. int add(int a, int b) { return a + b; }D. int add(a, b) { return a + b; }答案:A21. 在C语言中,下列哪个选项是正确的递归函数调用?A. int factorial(int n) { return n * factorial(n - 1); }B. int factorial(int n) { if (n == 0) return 1; else return n * factorial(n - 1); }C. int factorial(int n) { return n * factorial(n + 1); }D. int factorial(int n) { if (n == 1) return 1; else return n * factorial(n - 1); }答案:B22. 下列哪个选项是C语言中合法的数组初始化?A. int a[5] = {1, 2, 3, 4, 5};B. int a[5] = {1, 2, 3, 4};C. int a[5] = {1, 2, 3};D. int a[5] = {1, 2, 3, 4, 5, 6};答案:A23. 在C语言中,下列哪个选项是正确的字符串复制?A. strcpy(a, b);B. strcopy(a, b);C. copy(a, b);D. strcp(a, b);24. 下列哪个选项是C语言中合法的内存分配?A. int *p = (int *)malloc(sizeof(int) * 10);B. int *p = malloc(10 * sizeof(int));C. int *p = (int *)malloc(10);D. int *p = malloc(sizeof(int) * 10);答案:A25. 在C语言中,下列哪个选项是正确的内存释放?A. free(p);B. delete p;C. deallocate p;D. dispose p;答案:A26. 下列哪个选项是C语言中合法的指针运算?B. p--;C. p += 2;D. p = 2;答案:A27. 在C语言中,下列哪个选项是正确的结构体赋值?A. Point p1 = {1, 2};B. Point p1 = p2;C. Point p1 = {1, 2};D. Point p1 = {1, 2, 3};答案:B28. 下列哪个选项是C语言中合法的枚举值使用?A. color = RED;B. color = 0;C. color = "RED";D. color = 1;答案:A29. 在C语言中,下列哪个选项是正确的宏替换?A. #define SQUARE(x) x * xB. #define SQUARE(x) (x) * (x)C. #define SQUARE(x) x * xD. #define SQUARE(x) (x) * (x)答案:D30. 下列哪个选项是C语言中合法的文件操作?A. FILE *fp = fopen("file.txt", "r");B. FILE *fp = open("file.txt", "r");C. FILE *fp = fopen("file.txt", "w");D. FILE *fp = open("file.txt", "w");答案:A31. 在C语言中,下列哪个选项是正确的文件读取?A. fscanf(fp, "%d", &a);B. scanf(fp, "%d", &a);C. fscanf(fp, "%d", a);D. scanf(fp, "%d", a);答案:A32. 下列哪个选项是C语言中合法的文件写入?A. fprintf(fp, "%d", a);B. printf(fp, "%d", a);C. fprintf(fp, "%d", &a);D. printf(fp, "%d", &a);答案:A33. 在C语言中,下列哪个选项是正确的文件关闭?A. close(fp);B. fclose(fp);C. fclose(fp);D. close(fp);答案:B34. 下列哪个选项是C语言中合法的错误处理?A. if (fp == NULL) { perror("Error opening file"); exit(1); }B. if (fp == NULL) { printf("Error opening file"); exit(1); }C. if (fp == NULL) { perror("Error opening file"); return 1; }D. if (fp == NULL) { printf("Error opening file"); return 1; }答案:A35. 在C语言中,下列哪个选项是正确的位运算?A. a & b;B. a && b;D. a || b;答案:A36. 下列哪个选项是C语言中合法的逻辑运算?A. a && b;B. a || b;C. a & b;D. a | b;答案:A37. 在C语言中,下列哪个选项是正确的自增运算?A. a++;B. ++a;C. a += 1;D. a = a + 1;38. 下列哪个选项是C语言中合法的自减运算?A. a--;B. --a;C. a -= 1;D. a = a - 1;答案:A39. 在C语言中,下列哪个选项是正确的类型转换?A. (int)a;B. int(a);C. (int)(a);D. int a;答案:C40. 下列哪个选项是C语言中合法的sizeof运算?A. sizeof(a);B. sizeof int;C. sizeof(int);D. sizeof "string";答案:C二、程序填空题(本大题共2小题,每小题10分,共20分)1. 给定以下代码片段,请填写缺失的部分以实现计算并打印两个整数的和。

二级C语言上机考试100套真题答案(背诵版)

二级C语言上机考试100套真题答案(背诵版)被二级上机考试困扰,本人归纳出来的索引小抄(怕被逮,拿来背也是可以的),本人就此过了二级。

归纳简单易懂,抄时查看方便。

重点:你放心,别担心里边的题错啥的,本人细心总结的,共100题,每题都是准确的!!检索方法:共三题(填空,改错,程序),按每题的第一个字来检索,一定是第一个字,所以三题就是三个字。

重点是但这里的每套题里面才两个字,那是为了方便(因为程序题答案太长),适合要求低分的同学。

三字的我也会上传在我的文档里面。

重点:一定要下载检索表,按首字来查找,方便快速找题!!第一套1将1 struct student2 n-13 a[i].name,a[j].name 2在1 q=p+i; 2 while(q>p)第二套1删1q 2 next 3 next2用1 p=j; 2 p=i;第三套1逆1 n/2 2 i 3 a[n-i-1]2将1 n=*p-'0'; 2 n=n*8+*p-'0';第四套1在1 NULL 2 n 3 head,ch2删1. for(i=0,t=0;p[i];i++)2. c[t]='\0';第五套1.计(1) 0 (2) n (3) (t*t)2统(1)for(i=0;str[i];i++) (2) if(substr[k+1]= ='\0')第六套1.将1 s[i] 2 k 3 02.将1 while(*w) 2 if(*r = =*p)第七套1 程序1 struct student *2 a->score[i]3 a2.从1 char *fun(char (*sq)[M])2 return sp;第八套1.将1 1 2 i 3 a[p+i]2.把1 float k; 2 if(*a<*c)第九套1.计1 x[i]/N 2 j++ 3 i++2.统1 num[k]=0; 2 switch(*s)第十套1程序 1 struct student 2 /doc/177712401.html, 3 a.score[i] 2删1 if(p= =n) return-1; 2 a[i]=a[i+1];第十一套1.计1 s/N 2 j++ 3 -12.读 1 #include 2 void upfst (char *p)第十二套1.将1 fp 2 fclose(fp) 3 fname2.将1 for(i=j+1;i<="">1.找1 a[0][i] 2 < 3 x,y2.交 1 void fun(int *x,int *y) 2t=*x;*x=*y;*y=t;第十四套1. 函数1 && 2 'A' 3 ch2给1 void fun(int *a) 2 a[j]=a[j-1]; 第十五套1.把1 1 2 s[k] 3 c2.求1 long s=0,t=0; 2 t=t/10;第十六套1.找1 STU 2 std[i].num 3 std[i]2.从1 if(*r==*p){r++;p++;}2 if(*r= ='\0')第十七套1.统1 s[i] 2 '9' 3 *t = n;2.通1 t=*x;*x=y; 2 return(t);第十八套1.有1 i++ 2 m 3 m2.计 1 while((high >= 2)&&(n<10)) 2 yes=0;break;第十九套1.将1 k 2 N-1 3 temp2根1 void fun(int a[][M],int m)2 a[j][k]=(k+1)*(j+1);第二十套1.对1 t=i 2 i 3 02.用1 while(fabs(t)>=num) 2 t=s/n; 第二十一套1.在1 [M] 2 N 3 '\0'2.根1 t=1.0; 2 return(s*2);第二十二套1.将1 k 2 N 3 a[k][i]2读 1 for(i=strlen(t)-1;i;i--) 2if(t[j]>t[j+1])第二十三套1.调1 "r" 2 fs 3 ft2.将1 if(d%2==0) 2 s/=10;第二十四套1程序(1) a (2)/doc/177712401.html,(3)score[i] 2从1 s[j++]=s[i]; 2 s[j]='\0';第二十五套1.首1 a[i] 2 a[i] 3 02.为1 y=1; 2 d=a-i;第二十六套1.最1 [N] 2 i 3 i+12.将1 void fun(int m, int k)2 aa[i]=m%k;3 printf(“%d”,aa[i-1]);第二十七套1.计1 1.0 2 -1 3 t2从1 for(i=1;i<=3;i++)2 if(k>=0&&k<=6)第二十八套1.计1 sum=0 2 t[i][i] 3 12.用1 double r;2 while(fabs(n-m)>0.001)第二十九套1.有1 0 2 j-- 3 j2.计1 double f(double x) 2 return s;第三十套1.把第一处 1 第二处 j++ 第三处 j2.求1 t=a;a=b;b=t; 2 return (b);第三十一套1.在1 N 2 k 3 ss[i]2.逐1 int k=0; 2 while(*p||*q)第三十二套1.把1 x 2 p 3 s2.计1 long k=1; 2 num/=10第三十三套1.在1 N 2 substr 3 02.求 1 fun(int x,int y,int z) 2return j;第三十四套1.在1 N 2 i 3 -12.从1 a2=k/10; 2 return i;第三十五套1.统1 *n 2 next 3 head2.求1 a=NULL; 2 if(*r==*p)第三十六套1.函数1 char 2 ch<='9' 3 '0'2.将1 b[k]=*p; 2 b[k]='';k++;第三十七套1.把1 a[i]%2 2 a[j] 3 j2.按1 fun(int n) 2 if(n==1)第三十八套1.利1 i 2 ps[j] 3 tp2.计1 double fun(int n) 2 return sum; 第三十九套1.计1 *av 2 i 3 x[j];2.根 1 float fun(int n) 2for(i=2;i<=n;i++)第四十套1.将1 j++ 2 s[i]=t1[i] 3 j2.用 1 for(j=i+1;j<6;j++) 2*(pstr+i)=*(pstr+j);第四十一套1.将1 48 2 s++ 3 sum2.计1 if((k%13==0││(k%17==0))2 }第四十二套1给定1 p->next 2 q 3 p->next2将1 while(*s) 2 s++;第四十三套1 判1 02 ||3 12根1 t=t-1.0/i; 2 return t;第四十四套将1 N 2 N-1 3 02计1 s=s+(n+1.0)/n; 2 return t;第四十五套1 2、1 next2 NULL3 r2计1 r=t; 2 r=t;第四十六套1将1 *s 2 s++ 3 n2由1 { int j,c=0;float xa=0.0;2 if(x[j]>=xa)第四十七套1计1 x 2 n 3 fabs(t)2求1 for(i=1;i<=y;i++) 2 t=t%1000;第四十八套1计1 data2 next3 head2将1 while(*r) 2 *a=*r;a++;r++; 第四十九套1把1 t,s 2 s[i] 3 02找1 if(i%k==0) 2 if(k>=i)第五十套1将1 j 2 k 3 p2首1 while(i<="" p="">第五十一套1计1 0 2 i++ 3 2.0*i2将1 void fun(char*s, char *t) 2 t[2*d]='\0';第五十二套1在1 j 2 0 3 i++2根 1 for(i=2;i<=m;i++) 2y-=1.0/(i*i);第五十三套1将1 std[] 2 PERSON 3 std2将1 int k,q,i; 2 pt[i]=str[k][i]; 第五十四套1计1 0.0 2 x[i]/N 3 j++2根 1 double fun(int m) 2for(i=100;i<=m;i+=100)第五十五套1判1 s 2 -- 3 return 02求1 double fun(int n)2 s=s+(double)a/b;第五十六套1.从1 *fw 2 str 3 str2从 1 void fun(long s,long*t) 2s1=s1*10;第五十七套1计1 n++ 2 0 3 s++;2从1 t+=s[k]; 2 *aver=ave;第五十八套1计 1. x=3.0/4; 2 while(x>e) 3x=(2*i+1)/(t*t);2求 1 double fun(int n) 2s=s+(double)a/b;第五十九套1把1 a[i] 2 a[j] 3 a[j]2用 1 switch(g)去掉分号2 case 1:return 1; case 2:return 1;第六十套1有1 [N] 2 t[i][j] 3 t[j][i]2计 1 #define FU(m,n) ((m)/(n))2 return (value);第六十一套1找1 std[i].year 2 std[i] 3 n2读1 IsPrime (int n) 2 if (!(n%i))第六十二套1将1 t [] [N] 2 i=0; i<="">2利 1 fun (int a [], int m)2 else if (m>a [mid])第六十三套1求1 M 2 < 3 k2将1 if (( ' a ' <=tt[i])&&(tt[i]<= ' z ' )) 2 tt[ i ]- =32;第六十四套1对1 i+1 2 k=j 3 t2判1 void fun(char *str, char ch ) 2 if (*str! =ch) 3 str [1]=0;第六十五套1计1 1 2 2*i 3 (-1)2判 1 k++; 2 if (m==k)第六十六套1在1 && 2 0 3 s [j]2根1 for (i =2 ; i<= m; i++) 2 y+=1. 0/( i* i) ;第六十七套1找1 999 2 t/10 3 x2从 1 void fun (long s, long *t)2 while (s>0)第六十八套1将(1)0(2) 10*x (3)n/102将1 *t=0; 2 if (d%2!=0)第六十九套1 甲乙 1 i2 t++ 3count2根1 int fun (int a,int b, int c)2 else return 1;第七十套1统1 (n%10) 2 break 3 break2统1 if (t==0) 2 *zero =count;第七十一套1把1 a[] 2 2 3 i+12按1 sum=0.0; 2 if ((i+1)%5==0)第七十二套1统1 j=2 2 i 3 j2计1 sum =0; j=0; 2 if (sum %4==2) 第七十三套1计1 x 2 n 3 t2计1 d=1 ; s=0 ; 2 d=d/10 ;第七十四套1.计1 1 2 1 3 i2找1 k= i ; 2 c=k%10;第七十五套1给定1 next 2 t->data 3 t2将1 fun (char *a )2 printf ( "%c" , *a);第七十六套1在给1 '\0' 2 0 3 c2计1 double sum =0. 0; 2 sum/=c; 第七十七套1将1 10 2 0 3 x2计1 if (n==0) 2 result *=n--;第七十八套1 给定1 FILE*2 fp3 ch2依1 s [j++]=s [ i ]; 2 s [ j ]= ' \ 0 ' ; 第七十九套110. 1 h - >next 2 p - > next 3 >2求1 p= h - >next; 2 p=p->next;第八十套1 X 1 double2 f 13 f 22 给1 while(p!=NULL) 2 p= p - >next; 第八十一套1 给定1 FILE* fp2 fclose (fp) 3fp2对1 t=calloc(m,sizeof(STU));2 t [k] =b [ j ] ;第八十二套1 x 1 double2 f13 f22比1 char *fun (char *s ,char *t)2 ss++;3 tt++;第八十三套1 程序1 tt2 tt.score [ i ]3 std2求1 m= i ; 2 if ( a [k]>a [m]) m=k; 第八十四套1 程序1 filename2 fp3 fp2 给定 1 p=(NODE*) malloc (sizeof(NODE)); 2 return h;第八十五套1 程序1 "r"2 >3 fwrite2在1 p=s ; 2 while (*p++)第八十六套1 2、1 NODE2 next3 r2将1 if ( i % 2 || s [ i ]%2= =0 )2 t [ j ]= ' \0 ' ;第八十七套1 程序1 fp2 = =3 fp12利1 n=strlen (aa); 2 ch =aa [i];第八十八套1调1 N 2 break 3 n2先1 sum=02 scanf ("%d" , &a [ i ] [ j ]) ;第八十九套1求1 [N] 2 len 3 *n=len2根1 t+=1. 0/ i ; 2 return t;第九十套1求1 ss[i] 2 n+j 3 12将1 if(*p= =' ')2 *(p-1)=toupper(*(p-1));第九十一套1将 1 std[0] 2 std[i].age 3 /doc/177712401.html,2实1 void fun(int *a,int *b)2 t=*b;*b=*a;*a=t;第九十二套1将1 '0' 2 s++ 3 ctod(a)+ctod(b)2分1 void fun ( char *s, int *a, int *b ) 2*a=*a+1; 3 *b=*b+1;第九十三套1找1 0 2 x 3 t++2先1 int i,s1; 2 t[i]=s[s1-i-1];第九十四套1从1 a 2 a 3 b2首1 c=c+32; 2 c=c+5;第九十五章1 给定 1 STYPE2 FILE 3fp2先1 for(i=0;i<="" p="" t[2*s1]="\0"> 第九十六套1 程序1 ->sno2 ->name3 &t2应1 double fun(double a,double x0) 2 if(fabs(x1-x0)>0.00001)第九十七套1找1 *s 2 1 3 k[n]2求1 float fun(int k) 2 return s;第九十八套1将1 1 2 s>0 3 i*102输1 int fun(int n,int xx[][M])2 printf("%d",xx[i][j]);第九十九套1求1 k 2 len 3 ss[i][j]2计1 result *=n--; 2 return result;第一百套1 给1 STU2 score[i]3 &std2求1 if(k>1) 2 elsse if(k= =0)答题方法,例如100题:1填空题例如程序中__1__,对应答案1,把__1__删除填入STU都填完(一般2-3个空)然后编译程序即可。

2018年国家计算机二级C语言笔试真题及答案解析7

2018年国家计算机二级C语言笔试真题及答案解析72018年国家计算机二级C语言笔试真题及答案解析1.以下选项中不符合良好程序设计风格的是什么?A)源程序应该文档化B)数据说明的顺序应该规范化C)避免滥用goto语句D)模块设计应该保证高耦合、高内聚2.从工程管理角度,软件设计一般分为两步完成,它们是什么?A)概要设计与详细设计B)数据设计与接口设计C)软件结构设计与数据设计D)过程设计与数据设计3.下列选项中不属于软件生命周期开发阶段任务的是什么?A)软件测试B)概要设计C)软件维护D)详细设计4.在数据库系统中,用户所见的数据模式是什么?A)概念模式B)外模式C)内模式D)物理模式5.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和什么?A)编码设计B)测试阶段C)运行阶段D)物理设计6.设有如下三个关系表,下列操作中正确的是什么?7.下列叙述中正确的是什么?A)一个算法的空间复杂度大,则其时间复杂度也必定大B)一个算法的空间复杂度大,则其时间复杂度必定小C)一个算法的时间复杂度大,则其空间复杂度必定小D)上述三种说法都不对8.在长度为64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为什么?A)63B)64C)6D)79.数据库技术的根本目标是要解决数据的什么问题?A)存储问题B)共享问题C)安全问题D)保护问题10.对下列二叉树进行中序遍历的结果是什么?A)ACBDFEGB)ACBDFGEC)ABDCGEFD)FCADBEG11.下列叙述中错误的是什么?A)一个C语言程序只能实现一种算法B)C程序可以由多个程序文件组成C)C程序可以由一个或多个函数组成D)一个C函数可以单独作为一个C程序文件存在12.下列叙述中正确的是什么?A)每个C程序文件中都必须有一个main()函数B)在C程序中main()函数的位置是固定的C)C程序可以由一个或多个函数组成D)在C程序的函数中不能定义另一个函数13) 错误的是B)double int_。

全国计算机等级考试二级C语言【附详解】


是对顺序队列的改进,故循环队列是队列的一种顺序存储结正确的是
A、栈是一种先进先出的线性表 B、队列是一种后进先出的线性表 C、栈和队列都是非线性结构 D、以上三种说法都不对
栈是一种后进先出的线性表
队列是一种先进先出的线性表,二者均是线性结构,
答案为选项D。
ppt课件
4
一棵二叉树共有25个节点,其中5个是子节点,那么度为1的节
一个C程序有且只有一个主函数 main()。
一个C 程序可以包含多个不同名字的子函数
C程序在书写时没有严格的缩进要求。
ppt课件
16
设有以下语句 Char ch1,ch2, scanf(”%c%c”,&ch1,&ch2); 若要为变量ch1和ch2分别输入字符A和B,正确的输入形式应该是 A、A和B之间用逗号间隔 B、A和B之间不能有任何间隔符 C、A和B之间可以用回车间隔 D、A和B之间用空格间隔
软件详细设计- - 程序流程图(PDF)和PAD(问题分析图)是过程设计的常 用工具 数据流图(DFD图 ) 是 软 件 定 义 阶 段 结 构 化 分 析 方 法 常 用 的 工 具 。
ppt课件
12
针对简单程序设计,以下叙述的实施步骤正确的是 A、确定算法和数据结构、编码、调试、整理文档 B、编码、确定算法和数据结构、调试、整理文档 C、整理文档、确定算法和数据结构、编码、调试 D、确定算法和数据结构、调试、编码、整理文档
在输入格式中定义好了”%c%c”,其中没有任何符号,所以中间不能加任何字符,包 含不能加逗号、回车和空格,因为这些也算是字符。
ppt课件
17
以下选项中非法的字符常量是 A、’\102’ B、’\65’ C、’\xff’

四川省计算机二级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分。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档