2013年全国计算机等级二级C语言模拟试题及答案

合集下载

全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月

全国计算机等级考试二级C语言真题2013年3月(总分40, 做题时间90分钟)一、选择题1. 程序流程图中带有箭头的线段表示的是______。

A 图元关系B 数据流C 控制流D 调用关系答案:C[解析] 在数据流图中,用标有名字的箭头表示数据流。

在程序流程图中,用标有名字的箭头表示控制流。

所以选择C。

2. 结构化程序设计的基本原则不包括______。

A 多态性B 自顶向下C 模块化D 逐步求精答案:A[解析] 结构化程序设计的思想包括:自顶向下、逐步求精、模块化、限制使用goto语句,所以选择A。

3. 软件设计中模块划分应遵循的准则是______。

A 低内聚低耦合B 高内聚低耦合C 低内聚高耦合D 高内聚高耦合答案:B[解析] 软件设计中模块划分应遵循的准则是高内聚低偶合、模块大小规模适当、模块的依赖关系适当等。

模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护。

模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高。

4. 在软件开发中,需求分析阶段产生的主要文档是______。

A 可行性分析报告B 软件需求规格说明书C 概要设计说明书D 集成测试计划答案:B[解析] A错误,可行性分析阶段产生可行性分析报告。

C错误,概要设计说明书是总体设计阶段产生的文档。

D错误,集成测试计划是在概要设计阶段编写的文档。

B正确,需求规格说明书是后续工作如设计、编码等需要的重要参考文档。

5. 算法的有穷性是指______。

A 算法程序的运行时间是有限的B 算法程序所处理的数据量是有限的C 算法程序的长度是有限的D 算法只能被有限的用户使用答案:A[解析] 算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

有穷性是指算法程序的运行时间是有限的。

6. 对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是______。

A 快速排序B 冒泡排序C 直接插入排序D 堆排序答案:D[解析] 除了堆排序算法的比较次数是O(nlog2n),其他的都是n(n-1)/2。

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(2)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1) 有下列程序:void sort(int a[],int n) { int i,j,t;for(i=0;i<n-l;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]一a[j];a[j]=t;} }main(){ int aa[10]:{1,2,3,4,5,6,7,8,9,10),i;sort(aa+2,5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是( )。

A. 1,2,3,4,5,6,7,8,9,l0,B. 1,2,7,6,3,4,5,8,9,10,C. 1,2,7,6,5,4,3,8,9,10,D. 1,2,9,8,7,6,5,4,3,10,(2) 执行下列程序后,变量a,b,C的值分别是( )。

int x=5,y=4;int a,b,c;a=(--x==y++)?X:++y;b=++x:c=y:A. a=5,b=5,c=5B. a=4,b=5,c=5C. a=5,b=6,c=5D. a=1,b=5,c=6(3) 设有如下定义:int arr[]={6,7,8,9,10);int*ptr:ptr=arr;*(ptr2)=2;printf("%d,%d\n",*ptr,*(ptr2)):则下列程序段的输出结果为( )。

A. 8,10B. 6,8C. 7,9D. 6,2(4) 以下所列的C语言常量中,错误的是()。

A. 0xFFB. 1.2e0.5C. 2LD. ‘72’(5) 数字字符0的ASCII值为48,运行以下程序的输出结果是( )。

2013年9月份全国计算机二级C语言考试参考资料1——真题

2013年9月份全国计算机二级C语言考试参考资料1——真题

2013年9月二级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)数据的逻辑结构与存储结构必定是一一对应的B)由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线线结构D)以上三种说法都不对(7)冒泡排序在最坏情况下的比较次数是A)n(n+1)/2 B)nlog2n C)n(n-1)/2 D)n/2(8)一棵二叉树中共有70个叶子结点与80个度为1的结点,则该二叉树中的总结点数为A)219 B)221 C)229 D)231(9)下列叙述中正确的是A)数据库系统是一个独立的系统,不需要操作系统的支持B)数据库技术的根本目标是要解决数据的共享问题C)数据库管理系统就是数据库系统D)以上三种说法都不对(10)下列叙述中正确的是A)为了建立一个关系,首先要构造数据的逻辑关系B)表示关系的二维表中各元组的每一个分量还可以分成若干数据项C)一个关系的属性名表称为关系模式D)一个关系可以包括多个二维表(11)C语言源程序名的后缀是A).exe B).C C).obj D).cp(12)可在C程序中用做用户标识符的一组标识符是A)and B)Date C)Hi D)case_2007 y-m-d Dr.Tom Bigl(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A. 5e-3 OXa23 4c1.5 10,000-0xf 4.5e0 Oabc 3.e5(14)以下叙述中正确的是A)C语言程序将从源程序中第一个函数开始执行B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束D)main可作为用户标识符,用以命名任意一个函数作为主函数(15)若在定义语句:int a,b,c,*p=&c;之后,接着执行以下选项中的语句,则能正确执行的语句是A)scanf("%d",a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%d",p); D)scanf("%d",&p);(16)以下关于long、int和short类型数据占用内存大小的叙述中正确的是A)均占4个字节 B)根据数据的大小来决定所占内存的字节数C)由用户自己定义 D)由C语言编译系统决定(17)若变量均已正确定义并赋值,以下合法的C语言赋值语句是A)x=y==5; B)x=n%2.5; C)x+n=I; D)x=5=4+1;(18)有以下程序段int j; float y; char name[50];scanf("%2d%f%s",&j,&y,name);当执行上述程序段,从键盘上输入55566 7777abc后,y的值为A)55566.0 B)566.0 C)7777.0 D)566777.0(19)若变量已正确定义,有以下程序段i=0;do printf("%d,",i);while(i++);printf("%d\n",i)其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(20)有以下计算公式若程序前面已在命令中包含math.h文件,不能够正确计算上述公式的程序段是A)if(x>=0) y=sqrt(x); B)y=sqrt(x)else y=sqrt(-x); if(x<0) y=sqrt(-x);C)if(x>=0)y=sqrt(x); D)y=sqrt(x>=0?x:-x);If(x<0)y=sqrt(-x);(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0) B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序#includemain(){int y=9;for( y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(23)已有定义:char c; ,程序前面已在命令行中包含ctype.h文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c) B)’A’<=c<=’Z’C)’A’<=c&&c<=’Z’ D)c<=(‘2’-32)&&(‘a’-32)<=c(24)有以下程序#includemain(){int i,j,m=55;for(i=1;i<=3;i++)for(j=3;j<=i;j++) m=m%j;printf("%d\n",m);}程序的运行结果是A)0 B)1 C)2 D)3(25)若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是A)函数的实参和其对应的形参共占同一存储单元B)形参只是形式上的存在,不占用具体存储单元C)同名的实参和形参占同一存储单元D)函数的形参和实参分别占用不同的存储单元(26)已知字符’A’的ASCⅡ代码值是65,字符变量c1的值是’A’,c2的值是’D’。

2013全国计算机等级考试新大纲二级C语言题库及参考答案

2013全国计算机等级考试新大纲二级C语言题库及参考答案

参考答案第一套题二、程序填空题本题是根据给定的公式来计算函数的值。

第一处:程序中使用双精度double类型进行计算,所以函数的返回值类型也为double,所以应填:double。

第二处:当i等于1时,则返回f1函数的值,所以应填:f1。

第三处:如果i不等于1,则返回f2函数的值,所以应填:f2。

三、程序修改题解题思路:第一处: 试题要求返回字符串的首地址,所以应改为:char *fun(char *s,char *t)第二处: 取字符串指针ss的下一个位置,所以应改为:ss++;。

第三处:取字符串指针tt的下一个位置,所以应改为:tt++;。

四、程序设计题解题思路:本题是考察字符串的操作。

1. 由于函数fun1是将字符串中字符循环左移一个位置,并通过实参w返回循环左移一个位置的字符串。

2. 利用循环for语句来操作多少个字符(m)需要循环左移。

参考答案:void fun(char *w, int m) /* 可调用fun1函数左移字符*/{int i;for(i = 0 ; i < m ; i++) fun1(w);}第二套题一、选择题解题思路:第一处:计算好的平均值通过形参av返回,所以应填:*av。

第二处:计算小于平均值且最接近平均值的位置j,所以应填:i。

第三处:返回该数,所以应填:x[j]。

三、程序修改题解题思路:第一处:函数的返回是浮点型数,所以应改为:float fun(int n)。

第二处:for的终止条件应是i<=n。

四、程序设计题解题思路:本题是利用两重循环给二维数组右上三角元素中的值乘以m。

参考答案:int fun ( int a[][N], int m ){int i, j;for(i = 0 ; i < N ; i++)for(j = i ; j < N ; j++)a[i][j] *= m ;}第三套题一、选择题解题思路:第一处:如果n是奇数,则中间的元素不动,所以应填:1。

2013全国计算机等级考试新大纲二级C语言题库及参考答案-推荐下载

2013全国计算机等级考试新大纲二级C语言题库及参考答案-推荐下载

C
A
D
B
B
C
B
D
C
C
A
B
B
A
A
D
A
B
A
D
if(strcmp(a[i].num, b)==0) { /* 判断学号是否相等 */ strcpy(c.num, a[i].num) ; /* 相等,则对学号进行赋值 */ c.s=a[i].s; /* 相等,则对成绩进行赋值 */ break ; /* 退出循环体 */ } return c ; /* 返回结构体变量 */ }
第三套题
一、选择题
1-10 D
11-20 B
21-30 A
31-40 A
二、程序填空题
解题思路:
D
A
D
A
C
D
D
B
第一处:如果 n 是奇数,则中间的元素不动,所以应填:1。
第二处:使用 for 循环语句来交换数组元素的值,所以应填:i。 第三处:使用中间变量 t 来交换的,所以应填:t。 三、程序修改题
解题思路:
B
A
A
C
第一处:在函数 fun 体中,k 是一个浮点型变量,所以应改为:float k;。
C
D
D
D
第二处:三个数比较大小,第 1 个条件是第 1 个比第 2 个小,则交换。第 3 个条件是第 2
个比第 3 个小,则也交换。第 2 个条件是应该第 1 和第 3 个小,则交换就符合题意了,所
以应改为: if(*a<*c)。
解题思路:
第一处: 试题要求返回字符串的首地址,所以应改为:char *fun(char *s,char *t)
第二处: 取字符串指针 ss 的下一个位置,所以应改为:ss++;。 第三处:取字符串指针 tt 的下一个位置,所以应改为:tt++;。 四、程序设计题

全国计算机等级考试二级教程:C语言程序设计(2013年版)

全国计算机等级考试二级教程:C语言程序设计(2013年版)

《全国计算机等级考试二级教程:C语言程序设计(2013年版)》根据教育部考试中心制订的《全国计算机等级考试二级C语言程序设计考试大纲(2013年版)》的要求而编写,是教育部考试中心组织编写的计算机等级考试系列教程之一。

《全国计算机等级考试二级教程:C语言程序设计(2013年版)》主要内容包括:C语言的各种数据类型和运算符,各种表达式,语句结构,函数及库函数,地址和指针,数组,字符串,变量的作用域及存储类,结构体及共用体,文件等。

《全国计算机等级考试二级教程——C语言程序设计(2013年版)》内容精练,结构合理,便于自学,对读者可能遇到的难点做了十分系统、清楚和详细的阐述,极大地减轻了读者学习C语言的困难,是应试人员考前必备的教材,也可作为普通高等学校的教材。

目录第1章程序设计基本概念1.1 程序和程序设计1.1.1 C程序1.1.2 程序设计1.2 算法1.3 结构化程序设计和模块化结构1.3.1 结构化程序1.3.2 模块化结构习题第2章 C程序设计的初步知识2.1 简单C语言程序的构成和格式2.2 标识符、常量和变量2.2.1 标识符2.2.2 常量2.2.3 符号常量2.2.4 变量2.3 整型数据2.3.1 整型常量2.3.2 整型变量2.3.3 整型数据的分类2.3.4 整数在内存中的存储形式2.4 实型数据2.4.1 实型常量2.4.2 实型变量2.5 算术表达式2.5.1 基本的算术运算符2.5.2 运算符的优先级、结合性和算术表达式2.5.3 强制类型转换表达式2.6 赋值表达式2.6 赋值运算符和赋值表达式2.6.2 复合赋值表达式2 6.3 赋值运算中的类型转换2.7 自加、自减运算符和逗号运算符2.7.1 自加运算符“++”和自减运算符2.7.2 逗号运算符和逗号表达式习题第3章顺序结构3.1 赋值语句3.2 数据输出3.2.1 printf函数的一般调用形式3.2.2 printf函数中常用的格式说明3.2.3 使用printf函数时的注意事项3.3 数据输入3.3.1 scanf函数的一般调用形式3.3.2 scanf函数中常用的格式说明3.3.3 通过scanf函数从键盘输入数据3.4 复合语句和空语句3.4.1 复合语句3.4.2 空语句3.5 程序举例习题第4章选择结构4.1 关系运算和逻辑运算4.1.1 C语言的逻辑值4.1.2 关系运算符和关系表达式4.1.3 逻辑运算符和逻辑表达式4.2 if语句和用if语句构成的选择结构4 2.1 “语句4 2.2 嵌套的if语句4.3 条件表达式构成的选择结构4.4 swilch语句以及用swltch语句和break语句构成的选择结构4.4.1 switch语句4.4.2 switch语句的执行过程4.4.3 在switch语句体中使用break语句4.5 语句标号和goto语句4.5.1 语句标号4.5.2 goto语句习题第5章循环结构5.1 while语句和用while语句构成的循环结构5.1.1 while循环的一般形式5.1.2 while循环的执行过程5.2 do-while语句和用do -while语句构成的循环结构5.2.1 do-while语句构成的循环结构5.2.2 do-while循环的执行过程5.3 for语句和用for语句构成的循环结构5.3.1 for语句构成的循环结构5.3.2 for循环的执行过程5.3.3 有关for语句的说明5.4 循环结构的嵌套5.5 break和continue语句在循环体中的作用5.5.1 break语句5.5.2 continue语句5.6 程序举例习题第6章字符型数据6.1 字符型常量6.1.1 字符常量6.1.2 转义字符常量6.1.3 字符串常量6.1.4 可对字符量进行的运算6.2 字符变量6.3 字符的输入和输出6.3.1 调用printf和scanf函数输出和输入字符6.3.2 调用putchar和getchar函数输出和输入字符6.4 程序举例习题第7章函数7.1 库函数7.2 函数的定义和返回值7.2.1 函数定义的语法7.2.2 函数的返回值7.3 函数的调用7.3.1 函数的两种调用方式7.3.2 函数调用时的语法要求7.4 函数的说明7.4.1 函数说明的形式7.4.2 函数说明的位置7.5 调用函数和被调用函数之间的数据传递7.6 程序举例习题第8章地址和指针8.1 变量的地址和指针8.2 指针变量的定义和指针变量的基类型8.3 给指针变量赋值8.3.1 给指针变量赋地址值8.3.2 给指针变量赋“空”值8.4 对指针变量的操作8.4.1 通过指针来引用一个存储单元8.4.2 移动指针8.4.3 指针比较8.5 函数之间地址值的传递8.5.1 形参为指针变量时实参和形参之间的数据传递8.5.2 通过传送地址值在被调用函数中直接改变调用函数中的变量的值8.5.3 函数返回地址值第9章数组第10章字符串第11章对函数的进一步讨论第12章 C语言中用户标识符的作用域和存储类第13章编译预处理和动态存储分配第14章结构体、共用体和用户定义类型第15章位运算第16章文件第17章考试指导附录1 C语言的关键字附录2 双目算术运算中两边运算量类型转换规律附录3 运算符的优先级和结合性附录4 常用字符与ASCII代码对照表附录5 库函数附录6 全国计算机等级考试二级C语言程序设计考试大纲(2013年版)附录7 全国计算机等级考试二级C语言程序设计样卷及参考答案。

2013年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

2013年9月全国计算机等级考试二级c语言笔试试题(含参考答案)

全国计算机等级考试二级笔试试卷基础部分和C语言程序设计(考试时间120分钟,满分100分)2013年9月一、选择题((1)-(40)每个选项1分,(41)-(50)每个选项2分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应的位置上,答在试卷上不得分。

(1) 十进制数1385转换成十六进制数为A) 568 B) 569 C) D85 D) D55(2) 下列叙述中正确的是A) 计算机病毒只能传染给可执行文件B) 计算机软件是指存储在软盘中的程序C) 计算机每次启动的过程之所以相同,是因为RAM中的所有信息在关机后不会丢失D) 硬盘虽然装在主机箱内,但它属于外存(3) 一个字长的二进制位数是A) 8 B) 16 C) 32 D) 随计算机系统而不同的(4) CPU主要由运算器与控制器组成,下列说法中正确的是A) 运算器主要负责分析指令,并根据指令要求作相应的运算B) 控制器主要完成对数据的运算,包括算术运算和逻辑运算C) 控制器主要负责分析指令,并根据指令要求作相应的运算D) 控制器直接控制计算机系统的输入与输出操作(5) 下列叙述中正确的是A) 将数字信号变换成便于在模拟通信线路中传输的信号称为调制B) 以原封不动的形式将来自终端的信息送入通信线路称为调制解调C) 在计算机网络中,一种传输介质不能传送多路信号D) 在计算机局域网中,只能共享软件资源,而不能共享硬件资源(6) 各种网络传输介质A) 具有相同的传输速率和相同的传输距离B) 具有不同的传输速率和不同的传输距离C) 具有相同的传输速率和不同的传输距离D) 具有不同的传输速率和相同的传输距离(7) 多媒体计算机系统的两大组成部分是A) 多媒体功能卡和多媒体主机B) 多媒体通信软件和多媒体开发工具C) 多媒体输入设备和多媒体输出设备D) 多媒体计算机硬件系统和多媒体计算机软件系统(8) 按通信距离划分,计算机网络可以分为局域网和广域网。

2013年9月份全国计算机等级考试二级C语言题库及详解

2013年9月份全国计算机等级考试二级C语言题库及详解

1 2013年9月份 全国计算机等级考试二级C 语言 试题题库(无纸化考试专用)(说明:无纸化考试选择题40分,程序题60分。

学会这些题,保证二级高空飘过!!!)第一套给定程序的功能是:求二分之一圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。

例如,输入圆的半径值:19.527,输出为:s=598.949991。

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

请勿改动main 函数和其他函数中的任何内容,仅在横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h> double fun( double r) { return 3.14159*【1】/2.0;}void main() {double x; printf("Enter x: "); scanf("%lf",【2】);printf("s=%lf\n",fun(【3】));}【参考答案】 (1)r*r (2)&x (3)x【考点分析】 本题考查:圆面积计算公式S π=*r*r;scanf( )函数的形式,其一般形式为"scanf("格式控制字符串",地址表列);",注意地址是由地址运算符"&"后跟变量名组成的;printf( )函数的形式,其一般形式为"printf("格式控制字符串",输出表列);";函数实参调用,函数作为另一个函数调用的实际参数出现。

【解题思路】填空1:计算圆的面积,公式为:s r π=*r 。

填空2:scanf( )函数一般形式为scanf(格式控制,地址表列),因此填入&x 。

填空3:函数的实际参数是圆的半径x 。

下列给定程序中,函数fun 的功能是:计算S=f(-n)+f(-n+1)+…+f(0)+f(1)+f(2)+…f(n)的值。

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案3篇

计算机二级《C语言》模拟试题及答案第一篇:C语言基础知识1. C语言的发明人是谁?简要介绍一下他的背景。

2. int型变量的取值范围是多少?unsigned int呢?3. 请问下面这段代码输出的结果是什么?char str1[] = "hello";char str2[] = "world";strcat(str1, str2);printf("%s", str1);4. 以下哪些数据类型可以用来存储浮点数?A. floatB. doubleC. long doubleD. char5. 下列代码的输出结果是什么?int a = 1;long b = 2;float c = 3.0;printf("%ld\n", a + b + c);答案:1. C语言的发明人是丹尼斯·里奇(Dennis Ritchie)。

他于1941年出生在美国,是贝尔实验室研究员和计算机科学家。

在20世纪70年代,他和肯·汤普逊(Ken Thompson)合作,发明了UNIX操作系统和C语言。

C语言是一种高级计算机程序语言,在操作系统、编译器、数据库、游戏等领域被广泛使用。

丹尼斯·里奇因发明了C语言,被誉为“计算机编程之父”。

2. int型变量的取值范围是-2147483648到2147483647,unsigned int的取值范围是0到4294967295。

3. 输出结果为“helloworld”。

strcat是C语言的字符串拼接函数,将两个字符串连接成一个字符串。

在拼接之前,需要保证第一个字符串的数组足够大,以容纳两个字符串的内容。

如果第一个字符串不够大,程序会出现内存溢出等问题。

4. A、B、C三个数据类型可以用来存储浮点数。

5. 输出结果为“6”。

在printf函数中,%ld表示输出长整型数据,而c是一个float型变量。

2013年3月份全国计算机等级考试二级C语言_笔试+上机题库(完整版)

2013年3月份全国计算机等级考试二级C语言_笔试+上机题库(完整版)

.全国计算机等级考试二级C语言笔试+上机题库(全)一、选择题在下列各题的A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确的选项涂写在答题卡相应位置上,答在试卷上不得分。

(1)为了避免流程图在描述程序逻辑时的灵活性,提出了用方框图来代替传统的程序流程图,通常也把这种图称为A)PAD图B)N-S图 C)结构图 D)数据流图(2)结构化程序设计主要强调的是A)程序的规模 B)程序的效率 C)程序设计语言的先进性 D)程序易读性(3)为了使模块尽可能独立,要求A)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B)模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D)模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(4)需求分析阶段的任务是确定A)软件开发方法 B)软件开发工具 C)软件开发费用 D)软件系统功能(5)算法的有穷性是指A)算法程序的运行时间是有限的B)算法程序所处理的数据量是有限的C)算法程序的长度是有限的D)算法只能被有限的用户使用(6)对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是A)快速排序 B)冒泡排序 C)直接插入排序 D)堆排序(7)如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2 B)e2,e4,e3,e1 C)e3,e4,e1,e2 D) 任意顺序(8)将E-R图转换到关系模式时,实体与联系都可以表示成A)属性 B)关系 C)键 D)域(9)有三个关系R、S和T如下:RB C Da 0 k1b 1 n1SB C Df 3 h2a 0 k1n 2 x1TB C Da 0 k1由关系R和S通过运算得到关系T,则所使用的运算为A)并 B)自然连接 C)笛卡尔积 D)交(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字(11)以下叙述中正确的是A)用C程序实现的算法必须要有输入和输出操作B)用C程序实现的算法可以没有输出但必须要有输入C)用C程序实现的算法可以没有输入但必须要有输出D)用C程序实现的算法可以既没有输入也没有输出(12)下列可用于C语言用户标识符的一组是A)void, define, WORD B)a3_3,_123,Car C)For, -abc, IF Case D)2a, DO, sizeof(13)以下选项中可作为C语言合法常量的是A)-80 B)-080 C)-8e1.0 D)-80.0e(14)若有语句:char *line[5];,以下叙述中正确的是A) 定义line是一个数组,每个数组元素是一个基类型为char为指针变量B) 定义line是一个指针变量,该变量可以指向一个长度为5的字符型数组C) 定义line是一个指针数组,语句中的*号称为间址运算符D) 定义line是一个指向字符型函数的指针(15)以下定义语句中正确的是A)int a=b=0; B)char A=65+1,b=′b′; C)float a=1,*b=&a,*c=&b;D)double a=00;b=1.1;(16)有以下程序段char ch; int k;ch=′a′;k=12;printf("%c,%d,",ch,ch,k); printf("k=%d \n",k);已知字符a的ASCII码值为97,则执行上述程序段后输出结果是A)因变量类型与格式描述符的类型不匹配输出无定值B)输出项与格式描述符个数不符,输出为零值或不定值C)a,97,12k=12D)a,97,k=12(17)有以下程序main(){ int i,s=1;for (i=1;i<50;i++)if(!(i%5)&&!(i%3)) s+=i;printf("%d\n",s);}程序的输出结果是A)409 B)277 C)1 D)91(18)当变量c的值不为2、4、6时,值也为"真"的表达式是A)(c==2)||(c==4)||(c==6)B)(c>=2&& c<=6)||(c!=3)||(c!=5)C)(c>=2&&c<=6)&&!(c%2)D)(c>=2&& c<=6)&&(c%2!=1)(19)若变量已正确定义,有以下程序段int a=3,b=5,c=7;if(a>b) a=b; c=a;if(c!=a) c=b;printf("%d,%d,%d\n",a,b,c);其输出结果是A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7 (20)有以下程序#include <stdio.h>main(){ int x=1,y=0,a=0,b=0;switch(x){ case 1:switch(y){ case 0:a++; break;case 1:b++; break;}case 2:a++; b++; break;case 3:a++; b++;}printf("a=%d,b=%d\n",a,b);}程序的运行结果是A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1(21)下列程序的输出结果是#include "stdio.h"main(){ int i,a=0,b=0;for(i=1;i<10;i++){ if(i%2==0){a++;continue;}b++;}printf("a=%d,b=%d",a,b); }A)a=4,b=4 B)a=4,b=5 C)a=5,b=4 D)a=5,b=5(22)已知#int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对(23)下面程序的输出结果是main(){ int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;printf("%d\n",*(p+2));}A)3 B)4 C)1 D)2(24)以下错误的定义语句是A)int x[][3]={{0},{1},{1,2,3}}; B)int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};C)int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; D)int x[][3]={1,2,3,4}; (25)有以下程序void ss(char *s,char t){ while(*s){ if(*s==t)*s=t-′a′+′A′;s++; } }main(){ char str1[100]="abcddfefdbd",c=′d′;ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBD B)abcDDfefDbD C)abcAAfefAbA D)Abcddfefdbd(26)有如下程序main(){ char ch[2][5]={"6937","8254"},*p[2];int i,j,s=0;for(i=0;i<2;i++)p[i]=ch[i];for(i=0;i<2;i++)for(j=0;p[i][j]>′\0′;j+=2)s=10*s+p[i][j]-′0′;printf("%d\n",s);}该程序的输出结果是A)69825 B)63825 C)6385 D)(27)有定义语句:char s[10];,若要从终端给s输入5个字符,错误的输入语句是A)gets(&s[0]); B)scanf("%s",s+1); C)gets(s); D)scanf("%s",s[1]); (28)以下叙述中错误的是A)在程序中凡是以"#"开始的语句行都是预处理命令行 B)预处理命令行的最后不能以分号表示结束 C)#define MAX 是合法的宏定义命令行 D)C程序对预处理命令行的处理是在程序执行的过程中进行的(29)设有以下说明语句typedef struct{ int n;char ch[8];} PER;则下面叙述中正确的是A)PER 是结构体变量名 B)PER是结构体类型名 C)typedef struct 是结构体类型D)struct 是结构体类型名(30)以下叙述中错误的是A)gets函数用于从终端读入字符串 B)getchar函数用于从磁盘文件读入字符C)fputs函数用于把字符串输出到文件 D)fwrite函数用于以二进制形式输出数据到文件(31)以下能正确定义一维数组的选项是A)int a[5]={0,1,2,3,4,5}; B)char a[]={′0′,′1′,′2′,′3′,′4′,′5′,′\0′}; C)char a={′A′,′B′,′C′}; D)int a[5]="0123";(32)有以下程序#include<string.h>main(){ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};printf("%d%d\n",strlen(p),strlen(q));}以下叙述中正确的是A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3D) 由于p和q数组中都没有字符串结束符,故长度都不能确定(33)有以下程序#include <stdio.h>#include <string.h>void fun(char *s[],int n){ char *t; int i,j;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]:s[j];s[j]=t;}}main(){ char *ss[]={"bcc","bbcc","xy","aaaacc","aabcc"};fun(ss,5); printf("%s,%s\n",ss[0],ss[4]);}程序的运行结果是A)xy,aaaacc B)aaaacc,xy C)bcc,aabcc D)aabcc,bcc(34)有以下程序#include <stdio.h>int f(int x){ int y;if(x==0||x==1) return(3);y=x*x-f(x-2);return y;}main(){ int z;z=f(3); printf("%d\n",z);}程序的运行结果是A)0 B)9 C)6 D)8(35)下面程序段的运行结果是char str[]="ABC",*p=str;printf("%d\n",*(p+3));A)67 B)0 C)字符′C′的地址 D)字符′C′(36)若有以下定义:struct link{ int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。

2013计算机二级考试c语言试题及答案第二套

2013计算机二级考试c语言试题及答案第二套

2013计算机二级考试c语言试题及答案第二套一、选择题(每题2分,共20分)1. 在C语言中,以下哪个选项是合法的字符常量?A. 'a'B. "a"C. 'ab'D. '0x6A'答案:A2. 以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A3. 在C语言中,以下哪个选项是合法的整型变量名?A. _2numberB. number_2C. 2numberD. number$答案:A4. 下面哪个选项表示的是“不等于”的逻辑运算符?A. ==B. !=C. <=D. >=答案:B5. 以下哪个选项是合法的C语言函数声明?A. int fun(int a, int b);B. int fun(int, int);C. int fun();D. int fun(int a; int b);答案:A6. 下列哪个选项是正确的C语言数组声明?A. int a[10];B. int a[2,3];C. int a[3][2];D. int a[3][2];int b[5];答案:C7. 在C语言中,以下哪个选项是正确的文件包含指令?A. #include <stdio.h>B. #include "stdio.h"C. #include<stdio> D. #include "stdio"答案:A8. 以下哪个选项是C语言中的预处理指令?A. #defineB. #includeC. #ifD. #for答案:A9. 在C语言中,以下哪个选项是正确的字符串声明?A. char str[] = "Hello";B. char str = "Hello";C. char str[] = {"Hello"};D. char str = {'H', 'e', 'l', 'l', 'o'};答案:A10. 下列哪个选项是C语言中正确的注释?A. // this is a commentB. /* this is a comment */C. //*this is a comment D. /* this is a comment */答案:B二、填空题(每题2分,共10分)1. 在C语言中,使用________关键字可以定义一个变量。

全国计算机等级考试《二级C语言程序设计》历年真题与模拟试题详解446p

全国计算机等级考试《二级C语言程序设计》历年真题与模拟试题详解446p

全国计算机等级考试《二级C语言程序设计》历年真题与模拟试题详解最新资料,WORD格式,可编辑修改!目录第一部分历年真题及详解 (5)2016年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (5)2015年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (18)2015年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (33)2014年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (48)2014年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (62)2013年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (76)2013年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (91)2012年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (106)2012年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (121)2011年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (135)2011年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (149)2010年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (165)2010年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (180)2009年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (195)2009年3月全国计算机等级考试《二级C语言程序设计》真题及详解 (209)2008年9月全国计算机等级考试《二级C语言程序设计》真题及详解 (224)第二部分模拟试题及详解 (239)全国计算机等级考试《二级C语言程序设计》模拟试题及详解(一) (239)全国计算机等级考试《二级C语言程序设计》模拟试题及详解(二) (255)第一部分历年真题及详解2016年3月全国计算机等级考试《二级C语言程序设计》真题及详解(考试时间120分钟满分100分)一、选择题(每题1分,共40分)1.有以下定义:struct data{ int i;char c;double d;}x;以下叙述中错误的是()。

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

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

全国计算机等级考试二级C语言模拟试题及答案(一) 一、选择题(1)栈和队列的共同特点是A)都是先进先出B)都是先进后出C)只允许在端点处插入和删除元素D)没有共同点正确答案: C(2)已知二叉树后序遍历序列是dabec,中序遍历序列是debac,它的前序遍历序列是A)acbedB)decabC)deabcD)cedba正确答案: D(3)链表不具有的特点是A)不必事先估计存储空间B)可随机访问任一元素C)插入删除不需要移动元素D)所需空间与线性表长度成正比正确答案: B(4)结构化程序设计的3种结构是A)顺序结构、选择结构、转移结构B)分支结构、等价结构、循环结构C)多分支结构、赋值结构、等价结构D)顺序结构、选择结构、循环结构正确答案: D(5)为了提高测试的效率,应该A)随机选取测试数据B)取一切可能的输入数据作为测试数据C)在完成编码以后制定软件的测试计划D)集中对付那些错误群集的程序正确答案: D(6)算法的时间复杂度是指A)执行算法程序所需要的时间B)算法程序的长度C)算法执行过程中所需要的基本运算次数D)算法程序中的指令条数正确答案: C(7)软件生命周期中所花费用最多的阶段是A)详细设计B)软件编码C)软件测试D)软件维护正确答案: D(8)数据库管理系统DBMS中用来定义模式、内模式和外模式的语言为A)CB)BasicC)DDLD)DML正确答案: C(9)下列有关数据库的描述,正确的是A)数据库是一个DBF文件B)数据库是一个关系C)数据库是一个结构化的数据集合D)数据库是一组文件正确答案: C(10)下列有关数据库的描述,正确的是A)数据处理是将信息转化为数据的过程B)数据的物理独立性是指当数据的逻辑结构改变时,数据的存储结构不变C)关系中的每一列称为元组,一个元组就是一个字段D)如果一个关系中的属性或属性组并非该关系的关键字,但它是另一个关系的关键字,则称其为本关系的外关键字正确答案: D(11)以下叙述中正确的是A)C语言比其他语言高级B)C语言可以不用编译就能被计算机识别执行C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D)C语言出现的最晚,具有其他语言的一切优点正确答案: C(12)C语言中用于结构化程序设计的3种基本结构是A)顺序结构、选择结构、循环结构B)if,switch,breakC)for,while,do-whileD)if,for,continue正确答案: A(13)C语言中最简单的数据类型包括A)整型、实型、逻辑型B)整型、实型、字符型C)整型、字符型、逻辑型D)字符型、实型、逻辑型正确答案: B(14)若变量已正确定义并赋值,以下符合C语言语法的表达式是A)a:=b+1B)a=b=c+2C)int %3D)a=a+7=c+b正确答案: B(15)下列可用于C语言用户标识符的一组是A)void, define, WORDB)a3_b3, _123,CarC)For, -abc, IF CaseD)2a, DO, sizeof正确答案: B(16)C语言中运算对象必须是整型的运算符是A)%=B)/C)=D)<=正确答案: A(17)若变量a,i已正确定义,且i已正确赋值,合法的语句是A)a= =1B)++i;C)a=a++=5;D)a=int(i);正确答案: B(18)已知int t=0;while (t=1){...}则以下叙述正确的是A)循环控制表达式的值为0B)循环控制表达式的值为1C)循环控制表达式不合法D)以上说法都不对正确答案: B(19)若变量已正确说明为float型,要通过语句scanf("%f%f%f",&a,&b,&c);给a赋予,b赋予,c赋予,下列不正确的输入形式是A)10<回车>22<回车>33<回车>B),,<回车>C)<回车>22.033.0<回车>D)10 22<回车>33<回车>正确答案: B(20)有如下程序:main(){int x=1,a=0,b=0;switch(x){case 0: b++;case 1: a++;case 2: a++;b++;}printf("a=%d,b=%d\n",a,b);} 该程序的输出结果是A)a=2,b=1B)a=1,b=1C)a=1,b=0D)a=2,b=2正确答案: A(21)有以下程序main(){int i=1,j=1,k=2;if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); }执行后输出结果是A)1,1,2B)2,2,1C)2,2,2D)2,2,3正确答案: C(22)有如下程序main(){float x=,y;if(x<)y=;else if(x<)y=x;else y=;printf("%f\n",y);}该程序的输出结果是A)B)0.250000C)D)正确答案: C(23)有如下程序:main(){int n=9;while(n>6){n--; printf("%d",n);}}该程序的输出结果是A)987B)876C)8765D)9876正确答案: B(24)在下列选项中,没有构成死循环的是A)int i=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)int k=10000;do{k++;}while(k>10000);D)int s=36;while(s)--s;正确答案: D(25)设int x=1,y=1;表达式(!x||y--)的值是A)0B)1C)2D)-1正确答案: B(26)若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是A)函数调用可以作为独立的语句存在B)函数调用可以作为一个函数的实参C)函数调用可以出现在表达式中D)函数调用可以作为一个函数的形参正确答案: D(27)有以下程序float fun(int x,int y){return(x+y);}main(){int a=2,b=5,c=8;printf("%3.0f\n",fun((int)fun(a+c,b),a-c));}程序运行后的输出结果是A)编译出错B)9C)21D)正确答案: B(28)若有以下调用语句,则不正确的fun函数的首部是main(){ …int a[50],n;…fun(n, &a[9]);…}A)void fun(int m, int x[])B)void fun(int s, int h[41])C)void fun(int p, int *s)D)void fun(int n, int a)正确答案: D(29)fseek函数的正确调用形式是A)fseek(文件指针,起始点,位移量)B)fseek(文件指针,位移量,起始点)C)fseek(位移量,起始点,文件指针)D)fseek(起始点,位移量,文件指针)正确答案: B(30)若fp是指向某文件的指针,且已读到文件末尾,则函数feof(fp)的返回值是A)EOFB)-1C)1D)NULL正确答案: C(31)若有说明语句:char c='\72';则变量cA)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法,c的值不确定正确答案: A(32)若有说明 int a[3][4];则a数组元素的非法引用是A)a[0][2*1]B)a[1][3]C)a[4-2][0]D)a[0][4]正确答案: D(33)设有以下说明语句struct stu{int a;float b;} stutype;则下面的叙述不正确的是A)struct是结构体类型的关键字B)struct stu是用户定义的结构体类型C)stutype是用户定义的结构体类型名D)a和b都是结构体成员名正确答案: C(34)在C语言中,引用数组元素时,其数组下标的数据类型允许是A)整型常量B)整型表达式C)整型常量或整型表达式D)任何类型的表达式正确答案: C(35)若运行时给变量x输入12,则以下程序的运行结果是main(){int x,y;scanf("%d",&x);y=x>12?x+10:x-12;printf("%d\n",y);}A)0B)22C)12D)10正确答案: A(36)以下说法正确的是A)C语言程序总是从第一个的函数开始执行B)在C语言程序中,要调用函数必须在main()函数中定义C)C语言程序总是从main()函数开始执行D)C语言程序中的main()函数必须放在程序的开始部分正确答案: C(37)表达式0x13^0x17的值是A)0x04B)0x13C)0xE8D)0x17正确答案: A(38)有以下程序#define F(X,Y)(X)*(Y)main(){int a=3, b=4;printf("%d\n", F(a++, b++)); }程序运行后的输出结果是A)12B)15C)16D)20正确答案: A(39)下列程序执行后的输出结果是void func(int *a,int b[]){ b[0]=*a+6; }main(){int a,b[5];a=0; b[0]=3;func(&a,b); printf("%d\n",b[0]);}A)6B)7C)8D)9正确答案: A(40)若有下面的程序段:char s[]="china";char *p; p=s;则下列叙述正确的是A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[0]相等正确答案: D(41)以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序void sort(int a[],int n){int i,j,t;for(i=0;i<n-1;i++)for(j=i+1;j<n;j++)if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}}main(){int aa[10]={1,2,3,4,5,6,7,8,9,10},i;sort(&aa[3],5);for(i=0;i<10;i++)printf("%d,",aa[i]);printf("\n");}程序运行后的输出结果是A)1,2,3,4,5,6,7,8,9,10,B)10,9,8,7,6,5,4,3,2,1,C)1,2,3,8,7,6,5,4,9,10,D)1,2,10,9,8,7,6,5,4,3,正确答案: C(42)以下程序的运行结果是#include ""main(){struct date{int year,month,day;}today;printf("%d\n",sizeof(struct date));}A)6B)8C)10D)12正确答案: A(43)若有语句int *point,a=4;和 point=&a;下面均代表地址的一组选项是A)a,point,*&aB)&*a,&a,*pointC)*&point,*point,&aD)&a,&*point,point正确答案: D(44)在调用函数时,如果实参是简单的变量,它与对应形参之间的数据传递方式是A)地址传递B)单向值传递C)由实参传形参,再由形参传实参D)传递方式由用户指定正确答案: B(45)已定义以下函数fun(char *p2, char *p1){while((*p2=*p1)!='\0'){p1++;p2++;}}函数的功能是A)将p1所指字符串复制到p2所指内存空间B)将p1所指字符串的地址赋给指针p2C)对p1和p2两个指针所指字符串进行比较D)检查p1和p2两个指针所指字符串中是否有'\0'正确答案: A(46)若执行下述程序时,若从键盘输入6和8时,结果为main(){int a,b,s;scanf("%d%d",&a,&b);s=aif(a<b)s=b;s*=s;printf("%d",s);}A)36B)64C)48D)以上都不对正确答案: B(47)fscanf函数的正确调用形式是A)fscanf(fp,格式字符串,输出表列);B)fscanf(格式字符串,输出表列,fp);C)fscanf(格式字符串,文件指针,输出表列);D)fscanf(文件指针,格式字符串,输入表列);正确答案: D(48)下列关于C语言数据文件的叙述中正确的是A)文件由ASCII码字符序列组成,C语言只能读写文本文件B)文件由二进制数据序列组成,C语言只能读写二进制文件C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件正确答案: D(49)有以下程序void ss(char *s,char t){while(*s){if(*s= =t)*s=t-'a'+'A';s++;}}main(){char str1[100]="abcddfefdbd",c='d';ss(str1,c); printf("%s\n",str1);}程序运行后的输出结果是A)ABCDDEFEDBDB)abcDDfefDbDC)abcAAfefAbAD)Abcddfefdbd正确答案: B(50)若以下定义:struct link{int data;struct link *next;} a,b,c,*p,*q;且变量a和b之间已有如下图所示的链表结构:指针p指向变量a,q指向变量c。

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(5)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(5)-中大网校

2013年9月全国计算机等级《二级C语言程序设计》上机模考试卷(5)总分:100分及格:60分考试时间:120分一、选择题(每小题1分,共40分)(1) 下列叙述中正确的是( )。

A. 在赋值表达式中,赋值号的左边既可以是变量,也可以是任意表达式B. 实型变量中允许存放整型数C. 若a和b类型相同,在执行赋值a=b后,b中的值将放入a中,但b中的值不变D. 在C程序中,求余算符“%”两边的类型相同时才能进行运算(2) 软件生命周期中,花费最多的阶段是( )。

A. 详细设计B. 软件编码C. 软件测试D. 软件维护(3) 假定X和Y为double型,则表达式x=2,y=x+3/2的值是( )。

A. 3.500000B. 3C. 2.000000D. 3.000000(4) 有如下程序:main(){ int x=1,a=0,b=0;switch(x){case 0:b++;case 1:a++;case 2:a++.b++;}printf("a=%d,b=%d\n",a,b);}该程序的输出结果是( )。

A. a=2,b=1B. a=1,b=1C. a=1,b=0D. a=2,b=2(5) 设x、y和z是int型变量,且x=4,y=6,z=8,则下列表达式中值为0的是( )。

A. x&&yB. x&lt;=yC. x||y+z&&y—ZD. !((x&lt;y)&&!z||1)(6) 有下列程序:main(){ char s[]="abcde";s+=2:printf("%d\n",s[0]);}执行后的结果是( )。

A. 输出字符a的ASCII码B. 输出字符c的ASCII码C. 输出字符cD. 程序出错(7) 设有以下定义union data{int d1;float d2;)demo;则下面叙述中错误的是( )。

A. 变量demo与成员d2所占的内存字节数相同B. 变量demo中各成员的地址相同C. 变量demo和各成员的地址相同D. 若给demo.d1赋99后,demo.d2中的值是99.0(8) 要求通过while循环不断读入字符,当读入字母N时结束循环,若变量已正确定义,下列正确的程序段是( )。

2013年6月全国计算机等级考试二级C语言上机题库(最全)

2013年6月全国计算机等级考试二级C语言上机题库(最全)

第一套1.程序填空程序通过定义学生结构体数组,存储了若干个学生的学号、姓名和三门课的成绩。

函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大排序)。

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

第一处struct student t;第二处for(i=0;i<n-1;i++)第三处if(strcmp(a[i].name,a[j].name)>0)2程序修改给定程序MODI1.C中函数fun的功能是:在p所指字符串中找出ASCII码值最大的字符,将其放在第一个位置上;并将该字符前的原字符向上顺序移动。

/**found**/q=p+i;/**found**/while(q>p)3程序设计学生的记录由学号和成绩组成,N名学生的数据已在主函数中放入结构体数组s中,请编写了函数fun,它的功能是:把指定分数范围内的学生数据放在b所指的数组中,分数范围内的学生人数由函数值返回。

int fun(STREC *a,STREC *b,int l,int h){int i,j=0;for(i=0;i<N;i++)if((a[i].s>=1&&a[i].s<=h)b[j++]=a[i];return j;}第二套1.程序填空给定程序中已建立一个带有头结点的单向链表,链表中的各结点按数据域递增有序连接。

函数fun的功能是:删除链表中数据域值相同的结点,使之只保留一个。

第一处free(q);第二处q=p->next;第三处q=q->next;2. 程序修改给定程序MODI1.C中函数fun的功能是:用选择法对数组中的n各元素按从小到大的顺序进行排序。

/**found**/p=j;/**found**/p=i;3. 程序设计请编写一个fun函数,它的功能是:求出1到m之间(含m)能被7或11整除的所有整数放在数组a中,通过n返回这些数的个数。

2013年3月计算机二级C语言上机试题题库答案

2013年3月计算机二级C语言上机试题题库答案

第一套1. 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。

Ss所指字符串数组中共有N个字符串,且串长小于M。

1 N2 k3 ss[i]2. 给定程序MODI1.C中函数fun的功能是:逐个比较p、q所指两个字符串对应位置中的字符,把ASCII值或相等的字符依次存放在c所指数组中,形成一个新的字符串。

1 int k=0;2 while(*p||*q)3. 假定输入的字符串中只包含字母和*号。

请编写函数fun,它的功能是:除了字符串前导*号之外,将串中其它*号全部删除。

在编写函数时,不得使用C语言提供的字符串函数。

函数fun中给出的语句仅供参考。

int i=0;char *p=a;while(*p&&*p=='*'){ a[i]=*p;i++;p++;}while(*p){ if(*p!='*'){a[i]=*p;i++;}p++;}a[i]='\0';第二套1. 给定程序中已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。

函数fun的功能是:把形参x的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。

1 x2 p3 s2. 给定程序MODI1.C中函数fun的功能是:计算正整数num的各位上的数字之积。

1 long k=1;2 num/=103. 请编写函数fun,它的功能是:计算n门课程的平均分,计算结果作为函数返回。

int i;float ave=0.0;for(i=0;i<n;i++)ave=ave+a[i];ave=ave/n;return ave;第三套1. 给定程序中,函数fun的功能是:在形参ss所指字符串数组中,查找含有形参substr所指子串的所有字符串并输出,若没找到输出相应信息。

Ss所指字符串数组中共有N个字符,且串长小于M。

2013年9月份国家计算机等级考试二级C语言题库(共100套)(2)

2013年9月份国家计算机等级考试二级C语言题库(共100套)(2)

请补充函数fun,该函数的功能是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。

例如,若输入"Are you come from Sichuan?",则输出"are you come from sichuan?"。

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

请勿改动main函数和其他函数中的任何内容,仅在函数fun的横线上填入所编写的若干表达式或语句。

试题程序:#include <stdio.h>#include <string.h>#include <conio.h>char *fun(char tt[]){int i;for(i=0;tt[i];i++){if((tt[i]>='A')&&( 【1】))【2】;}return (【3】) ;}void main(){char tt[81];printf("\nPlease enter a string:");gets(tt);printf("\nThe result string is: \n%s", fun(tt));}【参考答案】(1) tt[i]<='Z' (2) tt[i]+=32 (3) tt【考点分析】本题考查:if语句,一般需根据题意确定条件表达式;大写字母转换成小写字母的方法;通过return语句将函数值返回。

【解题思路】填空1:此处考查判断大写字母的方法,如果字符的ASCII码大于字符A的ASCII码,并且小于字符Z的ASCII码,则此字符为大写字母。

填空2:考生必须掌握大写字母转换为小写字母的方法,小写字母的ASCII码比大写字母的ASCII码大32。

填空3:函数fun的返回值为字符型指针,而字符型的数组名就是字符型指针,所以返回tt。

下列给定程序中函数fun的功能是:求出字符串中最后一次出现的子字符串的位置,通过函数值返回,在主函数中输出从此位置开始的字符串;若未找到,则函数值为NULL。

2013年全国计算机二级C语言考试真题

2013年全国计算机二级C语言考试真题

1、对于一个正常运行的C程序,以下叙述中确的是A)程序的执行总是从main 涵数开始B)程序的执行总是从程序的笫一个函数开始,在程序的最后一个函数中结束C)程序的执行总是从main函数幵始,在程序的最后一个函数中结束D)程序的执行总是从程序的笫一个函数开始,在main函数结束3、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是A)x+1=yB) x=x+10=x+yC)double (x)/10D)++x,y=x--4、以下选项中能表示合法常量的是A)‟\‟B)1,200C)1.5E2.0D)”\007”5、以下定义语句中正确的是A) double a=0.0;b=1.1;B) float a=1,*b=&a,*c=&b;C) int a=b=0;D) char A=65+1,b=‟b‟7、若变量已正确定义为int型,要通过语句scanf(“%d,%d,%d”,&a,&b,&c);给a赋值1、给b赋值2、给c赋值3,以下输入形式中错误的是(注:□代表一个空格符)A) □□□1,2,3<回车>B)1,2,3<回车>C)1, □□□2, □□□3<回车>D)1 □2 □3<回车>8、当变量c的值不为2、4、6时,值也为“真”的表达式是()A (c>=2&&c<=6)&&(c%2!=1)B) (c>=2&&c<=6)&&!(c%2) )C) (c==2)‖(c==4)‖(c==6)D) (c>=2&&c<=6)‖(c!=3)‖(c!=5)9、以下选项中,值为1的表达式是A) …\0‟-…0‟B)‟1‟-0C)1-…0‟D)1- 030、以下选项中,不合法的C语言用户标识符是A a——bB AaBcC _1D a_b31. 以下选项中关于C语言常量的叙述错误的是A经常被使用的变量可以定义成常量B 所谓常量,是指在程序运行过程中,其值不能被改变的量C常量可分为数值型常量和非数值型常量D常量分为整型常置、实型常量、字符常量和字符串常量34、以下叙述中正确的是A C语句必须在一行内写完B C语言程序中的注释必须与语句写在同一行C C程序中的每一行只能写一条语句D 简单C语句必须以分号结束37、以下选项中不能作为C语言合法常量的是A ‟cd‟B‟\011‟ C 0.le+6 D "\a"58、以下选项中不能用作C程序合法常量的是A."\x7D"B.1,234C.123D.'\123'60、C语言源程序名的后缀是A) . cpB) .objC) .exeD) .C61、阅读以下程序#include <stdio .h>main (){ int case ;float printF;printf ("请输入2个数:");scanf ( "%d %f",&case, &printF );printf("%d %f\n",case,printF );}该程序在编译时产生错误,其出错原因是A.定义语句出错,case是关键字,不能用作用户自定义标识符B.定义语句无错,printf不能输出case的值C.定义语句无错,scanf不能作为输入函数使用D.定义语句出错,printF不能用作用户自定义标识符62.若有定义语句:int x=12,y=8, z;在其后执行语句z= 0.9+x/y;则z的值为A.2.4B.1C.2D.1.963. 表达式a+=a-= a=9的值是A.-9B.0D.1868. 以下选项中非法的c语言字符常量是A.'\b'B.'\xaa'C.'\007'D.'aa'72. 以下叙述中正确的是A.英文大写字母X和荚文小写字母x都可以作为二进制数字的开头字符B.八进制数的开头要使用英文字母o,否则不能与十进制区分开C. 在C程序中的八进制和十六进制,可以是浮点数D.整型变量可以分为int型、short型、long型和unsigned型四种79. 以下选项中,当x为大于1奇数时,值为0的表达式是A.x%2==0B.x%2==lC.x%2!=0D.x/2101. 以下选项中不能作为c语言合法常量的是A.'cd'B.'\011'C.0.le+6D."\a"104. 以下选项中不能用作C程序合法常量的是A"\x7D"B.1,234C.123D.'\123'134. 若有定义语句:char a='\82 ';则变量aA.包含3个字符B.说明不合法C.包含1个字符D.包含2个字符135. 有以下程序#include <stdio.h>main (){char cl='A',c2='Y';printf ("%d,%d\n", cl,c2 );}程序的输4结果是A.输出格式不合法,输出出错信息B.65.89D.65.90154. 以下选项中,能用作数据常量的是A.115LB.0118C.0115D.1.5el.5155. 设变量已正确定义并赋值,以下正确的表达式是A.x=y*5=x+zB.int(15.8%5)C.x-25%5.0D.x=y+z+5,++y185. 有以下程序#include <stdio.h>main(){ char a='H';a = ( a>='A' && a<= 'Z' ) ? (a+32) : a;printf("%c\n",a );}程序运行后的输出结果是A) AB) aC) hD) H194. 以下叙述中正确的是A)程序可以包含多个主函数,但总是从第一个主函数处开始执行B)书写源程序时,必须注意缩进格式,否则程序会有编译错误C)程序的主函数名除main外,也可以使用Mainl或_mainD)在C程序中,模块化主要是通过函数来实现的199. 以下叙述中正确的是A)字符变量在定义时不能赋初值B)同一英文字母的大写和小写形式代表的是同一个字符常量C)转义字符用@符号开头D)字符常量可以参与任何整数运算200. 以下叙述中正确的是A)"a"表示一个字符常量B)"\"是非法的C)'\0'表示字符0D)表达式:'a'>'b'的结果是"假"202. 以下叙述中正确的是A)由&&构成的逻辑表达式与由||构成的逻辑表达式都有"短路"现象B)C语言的关系表达式:0<x<10完全等价于:(0<x)&& (x<10)C)逻辑"或"(即运算符||)的运算级别比算术运算要高D)逻辑"非〃〈即运算符!)的运算级别是最低的219. c源程序中不能表示的数制是A) 八进制B)十六进制C)十进制D) 二进制221. 以下四个程序中,完全正确的是A) # include<stdio .h>main (){/* programming */printf("programming!\n"); }B)include<stdio. h>main (){/* programming */printf("programming!\n"); }C) #include <stdio.h>main ();{/* programming /*/printf("programming!\n"}; }D) # include<stdio .h>main (){/*/* programming */*/printf("programming!\n"); }222. 若有定义语句:int x=10;则表达式x-=x+x的值为A) 10B) -10C) -20D) 0224. 己知大写字母A的ASCII码是65’小写字母a的ASCII码是97。

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

2013年全国计算机等级二级C 语言模拟试题及答案2013年3月份全国计算机等级二级C语言试题及答案一、填空题1、C语言中基本的数据类型有:__________、__________ 、__________ 。

2、C语言中普通整型变量的类型说明符为__________,在内存中占__________字节,有符号普通整型的数据范围是__________。

3、整数-35在机内的补码表示为__________。

4、执行下列语句int a=8; a+=a-=a*a; 后,a的值是__________ 。

5、有如下语句:char A[ ]={”I am a student”}; 该字符串的长度是__________,A[3]=__________ 。

6、符号”a”和’a’的区别是__________。

7、所谓“指针”就是__________ 。

“&”运算符的作用是__________。

“*”运算符的作用是__________ 。

8、有如下输入语句:scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);为使变量a的值为1,b的值为3,c的值为2,从键盘输入数据的正确形式应是__________。

二、选择题1、设整型变量a为5,使b不为2的表达式是()。

A. b=a/2B. b=6-(--a)C. b=a%2D. b=a>3?2:12、为了避免嵌套的条件分支语句if-else的二义性,C语言规定:C程序中的else总是与()组成配对关系。

A. 缩排位置相同的ifB. 在其之前未配对的ifC. 在其之前未配对的最近的ifD.同一行上的if3、以下程序的输出结果是( )。

int x=10,y=10;printf(“%d%d\n”,x--,--y);A. 10 10B. 9 9C. 9 10D. 10 94、设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i 个元素的地址为()。

A.P+i*2B. P+(i-1)*2printf(“%d\n”,c);}int adds(int x,int y){static int m=0,n=3;n*=++m;m=n%x+y++;return(m); }A. 2,3B. 2,2C. 3,2D. 2,411、下列描述中不正确的是()。

A. 字符型数组中可能存放字符串。

B. 可以对字符型数组进行整体输入、输出。

C. 可以对整型数组进行整体输入、输出。

D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。

12、以下程序的输出结果是()。

#define f(x) x*xmain(){int a=6,b=2,c;c=f(a)/f(b);printf(“%d\n”,c);}A. 9B. 6C. 36D. 1813、设有如下定义: int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y)); 的输出结果是()。

A. 1B. 0C. 4D. 314、定义如下变量和数组:int i; int x[3][3]={1,2,3,4,5,6,7,8,9};则语句for(i=0;i<3;i++) printf("%d ",x[i][2-i]); 的输出结果是()。

A. 1 5 9B. 1 4 7C. 3 5 7D. 3 6 915、以下对二维数组a进行正确初始化的是()A. int a[2][3]={{1,2},{3,4},{5,6}};B. int a[ ][3]={1,2,3,4,5,6};C. int a[2][ ]={1,2,3,4,5,6};D. int a[2][ ]={{1,2},{3,4}};16、两次运行下面的程序,如果从键盘上分别输入6和3,则输出结果是()。

int x;scanf("%d",&x);if(x++>5) printf("%d",x);else printf("%d\n",x - -);A. 7和5B. 6和3C. 7和4D. 6和417、设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是()。

A)aa数组成元素的值分别是"abcd"和ABCD"B)aa是指针变量,它指向含有两个数组元素的字符型一维数组C)aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址D)aa数组的两个元素中各自存放了字符'a'和'A'的地址18、下列程序的输出结果是()。

char *p1="abcd", *p2="ABCD", str[50]="xyz";strcpy(str+2,strcat(p1+2,p2+1));printf("%s",str);A. xyabcABB. abcABzC. ABabczD. xycdBCD19、下列程序的输出结果是()。

int a[5]={2,4,6,8,10},*P,* *k;p=a; k=&p;printf("%d",*(p++));printf("%d\n",* *k);A. 4 4B. 2 2C. 2 4D. 4 620、不能把字符串:Hello!赋给数组b的语句是()。

A. char b[10]={'H','e','l','l','o','!'};B. char b[10]; b="Hello!";C. char b[10]; strcpy(b,"Hello!");D. char b[10]="Hello!";三、读程序题1、float f=3.1415927;printf(“%f,%5.4f,%3.3f”,f,f,f);则程序的输出结果是__________ 。

2、int x=6, y=7;printf(“%d,”,x++);printf(“%d\n”,++y);程序的输出结果是__________ 。

3、a=3;a+=(a<1)?a:1;printf(“%d”,a);结果是__________。

4、for (a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){b+=3; continue;}b-=5; }程序的输出结果a的值为__________ 。

5、int y=1, x, *p, a[ ]={2,4,6,8,10};p=&a[1];for(x=0;x<3;x++)y + = * (p + x);printf("%d\n",y);程序的输出结果y的值是__________ 。

四、程序填空题1、从键盘上输入10个数,求其平均值。

main(){int i;float f,sum;for(i=1,sum=0.0;i<11;i++){__________ ;__________ ; }printf(“average=%f\n”,sum/10);}2、以下程序是建立一个名为myfile的文件,并把从键盘输入的字符存入该文件,当键盘上输入结束时关闭该文件。

#includemain(){ FILE *fp;char c;fp=__________ ;do{c=getchar();fputs(c,fp);}while(c!=EOF);__________ }3、以下程序的功能是:从键盘上输入若干个学生的成绩, 统计并输出最高成绩和最低成绩,当输入负数时结束输入.请填空.main(){ float x,amax,amin;scanf("%f",&x);amax=x; amin=x;while( ){ if(x>amax) amax=x;if( ) amin=x;scanf("%f",&x); }printf("\namax=%f\namin=%f\n",amax,amin); }五、编程题1.三个整数a、b、c,由键盘输入,输出其中最大的一个数。

2.输出1900~2000年中所有的闰年。

每输出3个年号换一行。

(判断闰年的条件为下面二者之一:能被4整除,但不能被100整除。

或者能被400整除。

)3.请编一个函数int fun(int a),它的功能是:判断a是否是素数,若a是素数,返回1;若不是素数,返回0。

A的值由主函数从键盘读入。

4.有N个学生,每个学生的信息包括学号、性别、姓名、四门课的成绩,从键盘上输入N个学生的信息,要求输出总平均成绩最高的学生信息,包括学号、性别、姓名和平均成绩。

参考答案一、填空题(1)整型、实型、字符型。

(2) int , 2 , -32768~ +32767(3) 1111111111011101 (4) - 112 (5)14,’m’(6) ”a”是字符串常量,而’a’是字符常量。

(7) 存放地址值的变量或常量,或者答地址。

(8)取运算对象的地址。

取指针变量所指的内容。

(8) a=1,b=3,c=2二、选择题1、C2、C3、D4、B5、D6、A7、C8、C9、D 10、A11、C 12、C 13、D 14、C 15、B16、C 17、D 18、D 19、C 20、B三、阅读程序题(1) 3.141593,3.1416,3.142 (2) 6,8 (3) 4 (4) 22 (5) 19四、程序填空题1、scanf(“%f”,&f); sum+=f;2、fopen(“myfile”,w) fclose(fp);3、x>=0.0 x<=amin五、编程题1、main(){int a,b,c;printf(“请输入三个整数:”);scanf(“%d,%d,%d”,&a,&b,&c);if(a<B)if(belse printf(“max=%d\n”,b);else if(aelse printf(“max=%d\n”,a); }2、#include”stdio.h”main(){int I,n;for(n=0,I=1900;I<=2000;I++){if(I%4==0&&I 0!=0||I@0==0){printf(“%d ”,I); n++; }if(n%3==0)printf(“\n”); } } }3、#include”stdio.h”int fun(int a){int I;if(a==2) return 1; I=2;while((a%I)!=0&&I<=sqrt((float)a))I++;if(a%I==0){printf(“%d is not a prime!”,a);return 0; }printf(“%d is a prime!”,a);return 1; }main(){int x;printf(“\n please enter a number:”);scanf(“%d”,&x);printf(“%d\n”,fun(x)); }4、#include"stdio.h"#define N 3struct student{long stu_num; char sex;char name[15]; int score[4];float average; };main(){int I,j,index; float sum,max;struct student stuarr[N];for(I=0;I<N;I++){printf("please input %d student information:\n",I+1);scanf("%ld,%c,%s",&stuarr[I].stu_num,&stuarr[I].sex,stuarr[I].name);for(j=0;j<4;j++)scanf("%d",&stuarr[I].score[j]); }for(I=0;I<N;I++){sum=0.0;for(j=0;j<4;j++)sum+=stuarr[I].score[j];stuarr[I].average=sum/4.0; }max=stuarr[0].average;index=0;for(I=1;I<N;I++)if(stuarr[I].average>max){max=stuarr[I].average;index=I; }printf("总平均成绩最高的学生信息是学号=%ld,性别=%c,姓名=%s,平均成绩=%4.1f\n",stuarr[index].stu_num,stuarr[index].sex,stuarr[index].name,stuarr[index].average);}。

相关文档
最新文档