2011年9月全国计算机二级C语言笔试试卷及参考答案

合集下载

2011年9月计算机二级C笔试试题及答案word版(详细解析)

2011年9月计算机二级C笔试试题及答案word版(详细解析)

201 1年9月全国计算机等级考试二级笔试试卷(1)下列叙述中正确的是( )。

A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是( )。

A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是( )。

A)叶子结点总是比度为2的结点少一个 B)叶子结点总是比度为2的结点多一个c)叶子结点数是度为2的结点数的两倍 D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是( )。

A)学生成绩管理系统 B)C语言编译程序C)UNIX操作系统 D)数据库管理系统(5)某系统总体结构图如下图所示:该系统总体结构图的深度是( )。

A)7 B)6 C)3 D)2(6)程序调试的任务是( )。

A)设计测试用例 B)验证程序的正确性 C)发现程序中的错误 D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是( )。

A)在需求分析阶段建立数据字典 B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典 D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括( )。

A)概念模式 B)内模式C)外模式 D)数据模式(9)有三个关系R、S利T如下:则由关系R和s得到关系T的操作是( )。

A)自然连接 B)差 C)交 D)并(10)下列选项中属于面向对象设计方法主要特征的是( )。

A)继承 B)自顶向下 C)模块化 D)逐步求精(11)以下叙述中错误的是( )。

A)C语言编写的函数源程序,其文件名后缀可以是.CB)C语言编写的函数都可以作为一个独立的源程序文件C)C语言编写的每个函数都可以进行独立的编译并执行D)一个C语言程序只能有一个主函数(12)以下选项中关于程序模块化的叙述错误的是( )。

2011年9月计算机等级考试二级C语言笔试答案

2011年9月计算机等级考试二级C语言笔试答案

2011年 2011年9月计算机等级考试二级 VB 笔试答案 ) (网友提供,非官方答案,仅供参考! 网友提供,非官方答案,仅供参考! 选择 【1—5】45215 【6—10】32421 【11—15】25241 【16—20】24132

【21—25】23113 【26—30】23132 【31—35】32115 填空 【1】线性结构 【2】n 【3】结构化 【4】 【5】Autosize 【6】 【7】Result*x 【8】m 【9】t 【10】m<40 【11】4 【12】70 【13】#1 【14】"end " 【15】ct,nt
Access:选择: Access:选择: 选择 1-10:4421343421 11-20:4413424121 21-30:4231311442 31-35:23234 填空: 填空: 1、线性结构 2、N 3、结构化 4、dbms 5、关系 6、1 7、 8、页 9、This.Caption="Access 窗体" 10、m<=100 11、-1*f 12、Second+1
2011年 2011年9月计算机等级考试二级 C 语言笔试答案 ) (网友提供,非官方答案,仅供参考! 网友提供,非官方答案,仅供参考! 参考答案1 参考答案1 C 语言 44213 43421 34132 32344 22211 34221 44241 22413 1、线性结构2、n 3、结构化 4、DBMS 5、关系 6、自己做 7、1 8、34 9、14 10、AEJ 11、2 12、213 13、2 14、i+1 15、1 参考答案2 参考答案2 1-10BBBACDADCA11-15CDDCD 16-20CACDA 【21-25】22114 【26—30】34245 【31—35】42141 【36—40】15413 填空 【1】线性结构 【2】n 【3】 【4】数据库系统 【5】 【6】print('****a=%d,b=%d****') 【7】1 【8】34 【9】14 【10】AFK 【11】211 【12】213 【13】3 【14】i+1 【15】1

2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt

2011年9月全国计算机等级考试C语言笔试试卷、答案 电子书.txt
(17)i若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和
k2的值分别为___________。
A)0和1 B)0和20 C)10和1 D)10和20
(17)B 【解析】根据清华大学出版社“C程序设计”P94关于逻辑表达式运算规定(1),
a&&b&&c,只要a为0,则不必判别b和c;若a为1才判别b;若b为0,则不必判别c。
现题目逻辑表达式左边(k1=k1>k2)为0,右边不再判别,所以答案是a为0;b仍为原值20。
(18)有以下程序
#include <stdio.h>
main()
{ int a=1,b=0;
是所有用户的公共数据视图。外模式也称用户模式,它是数据库用户能够看见和使用的局部
数据的逻辑结构和特征的描述,是数据库用户的数据视图,是与某一应用有关的数据的逻辑
表示。内模式也称存储模式,一个数据库只有一个内模式。它是数据物理结构和存储方式的
描述,是数据在数据库内部的表示方式,所以正确答案为D。
(9)有三个关系R、S和T如下:
R S T
A
B
C
A
B
C
A
B
C
a
1
2
a
1
2
c
3
1
b
2
1
b
2
1
C
3
1
则由关系R和S得到关系T的操作是___________。
辑判断值为0,输出y;D) 逻辑判断值a==0为1,输出x

2011年计算机二级C语言编写程序题及答案解析精选

2011年计算机二级C语言编写程序题及答案解析精选

2011年计算机二级C语言编写程序题及答案解析精选【4.1】已知银行整存整取存款不同期限的月息利率分别为:0.315%期限一年0.330%期限二年月息利率=0.345%期限三年0.375%期限五年0.420%期限八年要求输入存钱的本金和期限,求到期时能从银行得到的利息与本金的合计。

【4.2】输入年份year和月month,求该月有多少天。

判断是否为闰年,可用如下C语言表达式:year%4==0&&year0!=0||year@0==0。

若表达式成立(即表达式值为1),则year 为闰年;否则,表达式不成立(即值为0),year为平年。

【4.3】编写一个简单计算器程序,输入格式为:data1op data2。

其中data1和data2是参加运算的两个数,op为运算符,它的取值只能是+、-、*、/。

【4.4】输入n值,输出如图所示矩形。

【4.5】输入n值,输出如图所示平行四边形。

【4.6】输入n值,输出如图所示高为n的等腰三角形。

【4.7】输入n值,输出如图所示高为n的等腰三角形。

【4.8】输入n值,输出如图所示高和上底均为n的等腰梯形。

【4.9】输入n值,输出如图所示高和上底均为n的等腰空心梯形。

【4.10】输入n值,输出如图所示边长为n的空心正六边型。

【4.11】输入n值,输出如图所示图形。

【4.12】输入n值,输出如图所示图形。

【4.13】输入n值,输出如图所示图形。

【4.14】输入n值,输出如图所示图形。

【4.15】输入n值,输出如图所示图形。

【4.16】输入n值,输出如图所示图形。

(例为n=6时)【4.17】编写程序,输出如图所示sin(x)函数0到2π的图形。

【4.18】编写程序,在屏幕上输出一个由*号围成的空心圆。

【4.19】编写程序,在屏幕上绘制如图余弦曲线和直线。

若屏幕的横向为x轴,纵向为y 轴,在屏幕上显示0~360度的cos(x)曲线与直线x=f(y)=45*(y-1)+31的迭加图形。

最新2011年9月全国计算机等级考试二级C语言 (全)

最新2011年9月全国计算机等级考试二级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 返回这些数的个数。

2011年计算机等级考试二级C语言上机题库(含答案)

2011年计算机等级考试二级C语言上机题库(含答案)

重要说明:本题库为从题中一题一题复制出来工作量大,而且有许多表达式无法在word中快速表示出来(这样会加大工作量)故而省略,或者表达错位,有的地方可能或者肯定会有错,我相信准备参加C语言二级考试的同学应当能够对照参考答案看出来,这是2011年最新版最完整考试题库,相信大家一定都能通过!第一套程序填空给定程序中,函数fun的功能是:将形参n所指变量中,各位上为偶数的数去除,剩余的数按原来从高位到低位的顺序组成一个新的数,并通过形参指针n传回所指变量。

如输入一个数:27638496,新的数为729第一空:{ t=*n%10;第二空:if(t%2!=0)第三空:*n=x;2.程序修改给定程序modi1.c中函数fun的功能是:计算n!。

例如,给n输入5,则输出120.000000。

double fun(int n ){ double result=1.0;/*****found******/if(n==0)return 1.0;while(n>1&&n<170)/*****found******/result*=n--;return result;}程序设计请编写一个函数fun,它的功能是:将一个数字字符串转换为一个整数(不得调用C语言提供的将字符串转换为整数的函数)。

例如,若输入字符串“-1234”,则函数把它转换为整数值-1234。

long fun(char *p){int i,len,t;long x=0;len=strlen(p);if(p[0]==‘-‗){ t=-1;len--;p++;}else t=1;while(*p)x=x*10-48+(*p++);return x*t;}第二套1. 给定程序中,函数fun的功能是将形参给定的字符串、整数、浮点数写到文本文件中,再用字符方式从此文本文件中逐个读入并显示在终端屏幕上。

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

国家二级计算机考试c语言试题及答案

国家二级计算机考试c语言试题及答案

国家二级计算机考试c语言试题及答案国家二级计算机考试C语言试题及答案一、选择题(本大题共10小题,每小题2分,共20分。

每小题只有一个正确答案。

)1. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. returnD. function答案:A2. 下列哪个选项是合法的C语言变量名?A. 2variableB. variable2C. variable2!D. _variable2答案:D3. C语言中,用于表示逻辑“与”的运算符是?A. &&B. ||C. !D. =答案:A4. 在C语言中,哪个函数用于将字符串复制到另一个字符串?A. strcpyB. strcatC. strcmpD. strlen答案:A5. 下列哪个选项是正确的C语言注释?A. // This is a single line commentB. /* This is a single line comment */C. // This is a multi-line commentD. /* This is a multi-line comment */答案:A6. 在C语言中,以下哪个选项是正确的数组声明?A. int arr[5] = {1, 2, 3};B. int arr[] = {1, 2, 3};C. int arr[5] = {1, 2};D. int arr = {1, 2, 3};答案:A7. C语言中,用于计算两个整数相加的函数是?A. strcatB. strcmpC. strcpyD. sum答案:D(注:sum不是C语言标准库函数,此处假设为自定义函数)8. 下列哪个选项是C语言中的合法常量?A. 0x1AB. 1.23e5C. 123.45D. All of the above答案:D9. C语言中,用于定义一个结构体的关键字是?A. structB. unionC. enumD. typedef答案:A10. 在C语言中,哪个关键字用于声明一个指针?A. intB. charC. floatD. *答案:D二、填空题(本大题共5小题,每小题2分,共10分。

2011年计算机二级C语言各类题型试题及答案解析精选汇总

2011年计算机二级C语言各类题型试题及答案解析精选汇总

一、单项选择题【1.1】以下不正确的C语言标识符是____。

A) int B) a_1_2 C) ab1exe D) _x【1.2】以下是正确的C语言标识符是____。

A) #define B) _123 C) %d D) \n【1.3】下列四组字符串中都可以用作C语言程序标识符的一组是。

••• A) print B) i\am C) Pxq D) str_l ••• _3d one_half My->book Cpp ••• oodbs tart$it line# pow ••• aBc 3pai His.age while【1.4】下面各选项组中,均是C语言关键字的组是。

A) auto,enum,include B) switch,typedef,continue C) signed,union,scanf D) if,struct,type【1.5】下列不属于C语言关键字的是。

A) default B) register C) enum D) external【1.6】C语言程序从main()函数开始执行,所以这个函数要写在____。

A) 程序文件的开始B) 程序文件的最后C) 它所调用的函数的前面D) 程序文件的任何位置【1.7】下列关于C语言的叙述错误的是____A) 大写字母和小写字母的意义相同B) 不同类型的变量可以在一个表达式中C) 在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型D) 同一个运算符号在不同的场合可以有不同的含义【1.8】在C语言中,错误的int类型的常数是。

A) 32768 B) 0 C) 037 D) 0xAF【1.9】执行语句printf("%x",-1);屏幕显示____。

A) -1 B) 1 C) -ffff D) ffff【1.10】已知long i=32768;执行语句printf("%d",i);屏幕显示____。

2011年9月笔试参考答案及解析[共3页]

2011年9月笔试参考答案及解析[共3页]

全国计算机等级考试上机专用题库与笔试模拟考场——二级C 语言一、选择题(1)【答案】 D) 【解析】 算法不等于程序且优先于程序,是对解题方案准确而完整的描述,也是一组严谨定义运算顺序的规则,强调程序的易读性。

设计算法时不仅要考虑算法的时间复杂度(即对数据对象的操作和运算),也需要考虑算法的控制结构(即空间复杂度)。

故本题答案选择D)。

(2)【答案】 C) 【解析】 线性表的链式存储结构称为线性链表。

在线性链表中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据间的逻辑关系可以不一致,后者由指针域确定。

对线性链表的插入与删除操作,不需要移动链表中的元素。

因此C)选项正确。

(3)【答案】 B) 【解析】 根据二叉树的性质3,二叉树中叶子结点的个数总是要比度为2的结点的个数多一个。

故本题答案选择B)。

(4)【答案】 A) 【解析】 系统软件使计算机成为一个整体,用于管理计算机中独立的硬件,但又无需顾及这些硬件的工作原理,包括操作系统以及一系列基本工具(如编译器、数据库管理、文件系统、网络连接等相关的工具)。

支撑软件也可以说是软件开发环境,用于支撑软件的开发与维护。

应用软件是为了实现某种特定功能而开发的软件,既可以是一个程序,也可以是一组程序的集合,还可以是由诸多程序组成的软件系统。

"学生成绩管理系统"属于应用软件,故本题答案选择A)。

(5)【答案】 C) 【解析】 系统总体结构图是对软件的系统结构的总体设计进行的图形显示,其深度是指结构的层数。

本题中的系统总体结构图为树形结构,共3层,故本题答案选择C)。

(6)【答案】 D) 【解析】 程序调试是指在程序的开发阶段,用手工或程序编译等方法对编制好的程序进行测试,修正语法错误和逻辑错误,其主要目的在于诊断并改正程序中的错误。

程序调试可分为两步:第一步,确定程序中错误所在位置、产生原因及错误性质;第二步,修改程序,排除错误。

2011年9月全国计算机二级C语言(笔试)及答案

2011年9月全国计算机二级C语言(笔试)及答案

2011年 9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90 分钟,满分100分)一、选择题(每小题2分,共70分)1.下列叙述中正确的是。

A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是A.叶子结点总是比度为2的结点少一个B.叶子结点总是比度为2的结点多一个C.叶子结点数是度为2的结点数的两倍D.度为2的结点数是度为1的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统5.某系统总体结构图如下图所示:XY系统功能1功能2 功能3功能2.1功能2.2 功能2.3 该系统总体结构图的深度是A.7B.6C.3D.26.程序调试的任务是A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括A.概念模式B.内模式C.外模式D.数据模式9.有三个关系R、S和T如下:R S TA B C A B C A B Ca 1 2 a 1 2 c 3 1b 2 1 b 2 1c 3 1则由关系R和S得到关系T的操作是A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是A.C语言编写的函数源程序,其文件名后缀可以是CB.C语言编写的函数都可以作为一个独立的源程序文件C.C语言编写的每个函数都可以进行独立的编译并执行D.一个C语言程序只能有一个主函数12.以下选项中关于程序模块化得叙述错误的是A.把程序分成若干相对独立的模块可便于编码和调试B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于C语言常量的叙述错误的是:A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量14.若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b值得类型是A.charB.intC.doubleD.float15.如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为A.1.9B.1C.2D.2.416.若有定义:int a,b;,通过语句scanf(‚%d;%d‛,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是A.3 5B.3,5C.3;5D.3517.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为A. 0和1B.0和20C.10和1D. 10和2018.有以下程序#include <stdio.h>Main(){ int a=1,b=0;If(--a) b++;Else if(a==0) b+=2;Elseb+=3;Printf(‚%d\n‛,b);}程序运行后的输出结果是A.0B.1C.2D.319.下列条件语句中输出结果与其他语句不同的是A.if(a)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);B.if(a==0)printf(‚%d\n‛,y); else printf(‚%d\n‛,x);C.if(a!=0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);D.if(a==0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);20.有以下程序:#include <stdio.h>Main(){ int a=7;While(a--);Printf(‚%d\n‛,a);}程序运行后的输出结果是A.- 1B.0C.1D.721.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A.printf(‚%c\n‛,’A’-32);B.printf(‚%d\n‛,’A’);C.printf(‚%c\n‛,65);D.printf(‚%c\n‛,’B’-1);22.有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>Main(){ char *s={‚abc‛};Do{printf(‚%d‛,*s%10);++s;}While(*s);}程序运行后的输出结果是A.abcB.789C.7890D.97989823.若有定义语句:double a,*p&a;以下叙述中错误的是A.定义语句中的*号是一个地址运算符B.定义语句中的*号只是一个说明符C.定义语句中的p只能存放double类型变量的地址D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p24.有以下程序:#include <stdio.h>Double f(double x);Main(){ double a=0; int I;For(i=0;i<30;i+=10) a+=f((double)i);Printf(‚%5.0f\n‛,a);}Double f(double x){return x*x+1;}程序运行后的输出结果是A.503B.401C.500D.140425.若定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是A.*p+=1;B.(*p)++;C.++(*p);D.*p++;26.以下定义数组的语句中错误的是A.int num[]={1,2,3,4,5,6};B.int num[][3]={{1,2},3,4,5,6};C.int num[2][4]={{1,2},{3,4},{5,6}};D.int num[][4]={1,2,3,4,5,6};27.有以下程序#include <stdio.h>Void fun(int *p){printf(‚%d\n‛,p[5]);}Main(){int a[10]={1,2,3,4,5,6,7,8,9,10};Fun(&a[3]);}程序运行后的输出结果是A.5B.6C.8D.928. 有以下程序#include<stdio.h>#define N 4Void fun(int a[][N],int b[]){ int i;For(i=0;i<N;i++) b[j]=a[i]][j]-a[i][N,1-i];}Main(){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;Fun(x,y);For(i=0;i<N;i++) printf(‚%d‛,y[i]); printf(‚\n‛);程序运行后的输出结果是A.-12,-3,0,0,B.-3,-1,1,3,C.,0,1,2,3,D.-3,-3,-3,-3,29.有以下函数Int fun(char *x,char *y)( int n=0;While((*x=*y)&&*x!=’\0’){x++;y++;n++;}Return n;}函数的功能是A.查找x和y所指字符串中是否有‘\0‘B.统计x和y所指字符串中最前面连续相同的字符个数C.将y所指字符串赋给x所值存储空间D.统计x和y所指字符串中相同的字符个数30.若有定义语句:char *s1=‛OK‛;*s2=‛ok‛;,以下选项中,能够输出‚OK‛的语句是A.if(stremp(s1,s2)==0) puts(s1);B.if(stremp(s1,s2)!=0) puts(s2);C.if(stremp(s1,s2)==1) puts(s1);D.if(stremp(s1,s2)!=0) puts(s1);31.以下程序的主函数中调用了在其前面定义的fun函数#include<stdio.h>:Main(){double a[15],k;K=fun(a);:}则以下选项中错误的fun函数首部是A.double fun(double a[15])B.double fun(double *a)C.double fun(double a[])D.double fun(double a)32.有以下程序:#include<stdio.h>#include<string.h>Main(){ char a[5][10]={‚china‛,‛beijing‛,‛you‛,‛tiananmen‛,‛welcome‛};Int I,j; char t[10];For(i=0;i<4;i++)For(j=i+1;j<5;j++)If(stremp(a[i],a[j])>0){ strepy(t,a[i]); strepy(a[i],a[j]); strepy(a[i],t);}Puts(a[3]);}程序运行后的输出结果是A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序:#include<stdio.h>Int f(int m){ static int n=0;N+=m;Return n;}Main(){ int n=0;Printf(‚%d,‛,f(++n));Printf(‚%d\n‛,f(n++));程序运行后的输出结果是A.1,2B.1,1 C) 2,3 D) 3,334.有以下程序#include<stdio.h>Main(){ char ch[3][5]={‚AAAA‛,‛BBB‛,‛CC‛}Printf(‚%s\n‛,ch[1]);}程序运行后的输出的结果是A. AAAAC.BBBCCD.BBB35.有以下程序#include<stdio.h>#include<string.h>Void fun(char *u,int n){ char x,*y1,*y2;Y1=u;y2=u+n-1;While(y1<y2) {s=*y1;*y1=*y2;*y2=s;p1++;p2--;}}Main(){ char a[]=‛1,2,3,4,5,6‛;Fun(a,strem(a));puts(a);}程序运行后的输出结果是A.654321B.115611C.153525D.12345636.有以下程序#include<stdio.h>#include<string.h>typedef struct{char name[];char sex;int score[2]}STU;STU f(STU i){STU i={‚Zhao‛,‛m‛,85,90};Int I;Strcpy(a name,b name);A sex=b sex;For(i=0;i<2;i++) a score[i]=b score[i];Return a;}Main()STU c={‚Qian‛,‛f‛,95,92},d;D=f(c);Printf(‚%s,%c,%d,%d,‛,,d.sex,d.score[0],d.score[1]);Printf(‚%s,%c,%d,%d\n‛,,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A.zhao,m,85,90,Qian,f,95,92B.zhao,m,85,90,zhao,m,85,90C.Qian,f,95,92,Qian,f,95,92D.Qian,f,95,92,zhao,m,85,9037.在以下程序#include<stdio.h>Main(){struct node{int n; struct node *next;}*p;Struct node x[3]={{2,x+1},{4,x+2},{6,NULL}};P=x;Printf(‚%d,‛,p>a);Printf(‚%d\n‛,p>next>a);程序运行后的输出结果是A.2,3B.2,4C.3,4D.4,638.有以下程序#include<stdio.h>Main(){ int a=2,b;B=a<<2; printf(‚%d\n‛,b);}程序运行后的输出结果是A.2B.4C.6D.839.以下选项中叙述错误的是A.C程序函数中定义的赋有初始值的静态变量,每调用一次函数,赋一次初值B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不能自动赋确定的初值D.C程序函数的形参不可以说明为static型变量40.有以下程序#include<stdio.h>Main(){FILE *fp;Int k,n,I,a[6]={1,2,3,4,5,6};Fp=fopen(‚d2.dat‛,‛w‛);For(i=0;i<6;i++) fprintf(fp,‛%d\n‛,a[i]);Fclose(fp);Fp=fopen(‚d2.dat‛,‛r‛);For(i=0;i<3;i++) fscanf(fp,‛%d%d‛,&k,&n);Fclose(fp);Printf(‚%d,%d\n‛,k,n);}程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456二、填空题(每空2分,共30 分)1.数据结构分为线性结构与非线性结构,带链的栈属于【1】2.在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】3.常见的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。

计算机二级c语言笔试题库及答案

计算机二级c语言笔试题库及答案

计算机二级c语言笔试题库及答案一、选择题(每题2分,共20分)1. 在C语言中,以下哪个关键字用于定义一个结构体?A. structB. unionC. enumD. typedef答案:A2. 以下哪个函数用于将字符串s2连接到字符串s1的末尾?A. strcat(s1, s2)B. strcpy(s1, s2)C. strncpy(s1, s2, n)D. strcmp(s1, s2)答案:A3. 在C语言中,以下哪个运算符用于取地址?A. *B. &C. %D. #答案:B4. 若有以下定义:int a[5] = {1, 2, 3, 4, 5}; 则表达式a[0] +a[2] + a[4]的值是多少?A. 8B. 10C. 12D. 15答案:C5. 在C语言中,以下哪个函数用于将一个字符串复制到另一个字符串?A. strcat()B. strcpy()C. strncpy()D. strcmp()答案:B6. 在C语言中,以下哪个关键字用于声明一个函数?A. intB. voidC. returnD. function答案:A7. 在C语言中,以下哪个关键字用于声明一个变量?A. varB. letC. intD. var答案:C8. 在C语言中,以下哪个函数用于将一个整数转换为字符串?A. atoi()B. itoa()C. sprintf()D. strcpy()答案:B9. 在C语言中,以下哪个函数用于打开一个文件?A. fopen()B. fclose()C. fread()D. fwrite()答案:A10. 在C语言中,以下哪个关键字用于定义一个指针?A. pointerB. ptrC. *D. ref答案:C二、填空题(每题2分,共20分)1. 在C语言中,________关键字用于定义一个宏。

答案:#define2. 在C语言中,________关键字用于定义一个枚举类型。

2011年 9月全国计算机等级考试二级笔试试卷与答案

2011年 9月全国计算机等级考试二级笔试试卷与答案

2011年9月全国计算机等级考试二级笔试试卷Visual Basic语言程序设计(考试时间90 分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列叙述中正确的是()。

A)算法就是程序B)设计算法时只需要考虑数据结构的设计C)设计算法时只需要考虑结果的可靠性D)以上三种说法都不对(2)下列关于线性链表的叙述中,正确的是A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三种说法都不对(3)下列关于二叉树的叙述中,正确的是A)叶子结点总是比度为2的结点少一个B)叶子结点总是比度为2的结点多一个C)叶子结点数是度为2的结点数的两倍D)度为2的结点数是度为1的结点数的两倍(4)软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是A)学生成绩管理系统B)C语言编译程序C)UNIX操作系统D)数据库管理系统(5)某系统总体结构图如下图所示:< xmlnamespace prefix ="v" ns ="urn:schemas-microsoft-com:vml" />该系统总体结构图的深度是A)7 B)< xmlnamespace prefix ="st1" ns="urn:schemas-microsoft-com:office:smarttags" />6 C)3 D)2(6)程序调试的任务是A)设计测试用例B)验证程序的正确性C)发现程序中的错误D)诊断和改正程序中的错误(7)下列关于数据库设计的叙述中,正确的是A)在需求分析阶段建立数据字典B)在概念设计阶段建立数据字典C)在逻辑设计阶段建立数据字典D)在物理设计阶段建立数据字典(8)数据库系统的三级模式不包括A)概念模式B)内模式C)外模式D)数据模式(9)有三个关系R、S和T如下:R S T则由关系R和S得到关系T的操作是A)自然连接B)差C)交D)并(10)下列选项中属于面向对象设计方法主要特征的是A)继承B)自顶向下C)模块化D)逐步求精(11)以下描述中错误的是A)窗体的标题通过其Caption属性设置B)窗体的名称(Name属性)可以在运行期间修改C)窗体的背景图形通过其Picture属性设置D)窗体最小化时的图标通过其Icon属性设置(12)在设计阶段,当按Ctrl+R键时,所打开的窗口是A)代码窗口B)工具箱窗口C)工程资源管理器窗口D)属性窗口(13)设有如下变量声明语句:Dim a, b As Boolean则下面叙述中正确的是A)a和b都是布尔型变量B)a是变体型变量,b是布尔型变量C)a是整型变量,b是布尔型变量D)a和b都是变体型变量(14)下列可以作为Visual Basic变量名的是A)A#A B)4ABC C)?xy D)Print_Text(15)假定一个滚动条的LargeChange属性值为100,则100表示A)单击滚动条箭头和滚动框之间某位置时滚动框位置的变化量B)滚动框位置的最大值C)拖动滚动框时滚动框位置的变化量D)单击滚动条箭头时滚动框位置的变化量(16)在窗体上画一个命令按钮,然后编写如下事件过程:Private Sub Command1_Click()MsgBox Str(123 + 321)End Sub程序运行后,单击命令按钮,则在信息框中显示的提示信息为A)字符串“123+321”B)字符串“444”C)数值“444”D)空白(17)假定有以下程序:Private Sub Form_Click()Do Until a >= 5x = a * bPrint b; xa = a + bb = b + aLoopEnd Sub程序运行后,单击窗体,输出结果是A) 1 1 B) 1 1 C) 1 1 D) 1 12 3 2 4 3 8 3 6(18)在窗体上画一个名称为List1的列表框,列表框中显示若干城市的名称。

2011年3、9月全国计算机等级考试二级笔试试卷及标准参考答案

2011年3、9月全国计算机等级考试二级笔试试卷及标准参考答案

2011年3月全国计算机等级考试二级笔试试卷Visual FoxPro数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。

请将正确选项填涂在答题卡相应位置上,答在试卷上不得分。

(1)下列关于栈叙述正确的是A) 栈顶元素最先能被删除B)栈顶元素最后才能被删除C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是A)有一个以上根结点的数据结构不一定是非线性结构B)只有一个根结点的数据结构不一定是线性结构C)循环链表是非线性结构D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)A)3 B)4 C)6 D)7(4)在软件开发中,需求分析阶段产生的主要文档是A)软件集成测试计划B)软件详细设计说明书C) 用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括A)顺序结构B)GOTO跳转C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是A) 系统总体结构图支持软件系统的详细设计B)软件设计是将软件需求转换为软件表示的过程C)数据结构与数据库设计是软件设计的任务之一D)PAD图是软件详细设计的表示工具(7)负责数据库中查询操作的数据库语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。

则实体教师和课程间的联系是A)1:1联系B)1:m联系C) m:1联D) m:n联系(9)有三个关系R、S和T如下则由关系R和S得到关系T的操作是A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类T实例化值的是A)-369 B)369 C)0.369 D)整数集合{1,2,3,4,5}(11)在建立数据库表时给该表指定了主索引,该索引实现了数据完整性中的A)参照完整性B)实体完整性C)域完整性D)用户定义完整性(12)执行如下命令的输出结果是?15%4,15%-4A)3 -1 B)3 3 C)1 1 D)1 -1(13)在数据库表中,要求指定字段或表达式不出现重复值,应该建立的索引是A)惟一索引B)惟一索引和候选索引C)惟一索引和主索引D)主索引和候选索引(14)给student表增加一个“平均戍绩”字段(数值型,总宽度6} 2位小数)的SQL命令是A)ALTER TABLE studeni ADD平均成绩N(b,2)B)ALTER TABLE student ADD平均成绩D(6,2)C)ALTER TABLE student ADD平均成绩E(6,2)D)ALTER TABLE student ADD平均成绩Y(6,2)(15)在Visual FoxPro中,执行SQL的DELETE命令和传统的FoxPro DELETE命令都可以删除数据库表中的记录,下面正确的描述是A)SQL的DELETE命令删除数据库表中的记录之前,不需要先用USE命令打开表B)SQL的DELETE命令和传统的FoxPro DELETE命令删除数据库表中的记录之前,都需要先用命令USE打开表C)SQL的DELETE命令可以物理地删除数据库表中的记录,而传统的FoxPro DELETE命令只能逻辑删除数据库表中的记录D)传统的FoxPro DELETE命令还可以删除其它工作区中打开的数据库表中的记录(16)在Visual FoxPro中,如果希望跳出SCAN…ENDSCAN循环语句、执行ENDSCAN后面的语句,应使用A)LOOP语句B)EXIT语句 C ) BREAK语句 D ) RETURN语句(17)在Visual FoxPro中,“表”通常是指A)表单B)报表C)关系数据库中的关系D)以上都不对(18)删除student表的“平均成绩”字段的正确SQL命令是A)DELETE TABLE student DELETE COLUMN平均成绩B)ALTER TABLE student DELETE COLUMN平均成绩C)ALTER TABLE student DROP COLUMN平均成绩D)DELETE TABLE student DROP COLUMN平均成绩(19)在Visual FoxPro中,关于视图的正确描述是A)视图也称作窗口B)视图是一个预先定义好的SQL SELECT语句文件C)视图是一种用SQL SELECT语句定义的虚拟表D)视图是一个存储数据的特殊表(20)从student表删除年龄大于30的记录的正确SQL命令是A)DELETE FOR年龄>30B)DELETE FROM student WHERE年龄>30C)DEL ETE student FOP年龄>30D)DELETE student WF IERE年龄>30(21)在Vaual FoxPro中,使用LOCATL FOR }expL>命令按条件查找记录,当查找到满足条件的第一条记录后,如果还需要查找下一条满足条件的记录,应该A)再次使用LOCATE命令重新查询B)使用SKIP命令C)使用CONTINUE命令D)使用GO命令(22)为了在报表中打印当前时间,应该插入的控件是A)文本框控件B)表达式C)标签控件D)域控件(23)在Visual FoxPro中,假设student表中有40条记录,执行下面的命令后,屏幕显示的结果是?RECCOUNT()A)0 B)1C)40 D)出错(24)向student表插入一条新记录的正确SQL语句是A)APPEND INTO student VALUES('0401’,’王芳’,’女’,18)B)APPEND student VALUES('0401’,’王芳’,’女’,18):C)INSERT INTO student VALUES('0401’,’王芳’,’女’,18)D)INSERT student VALUES('0401’,’王芳’,’女’,18)(25)在一个空的表单中添加一个选项按钮组控件,该控件可能的默认名称是A)Optiongroup 1 B)Checkl C)Spinnerl D)Listl(26)恢复系统默认菜单的命令是A)SET MENU TO DEFAULT B)SET SYSMENU TO DEFAULTC)SET SYSTEM MENU TO DEFAULT D)SET SYSTEM TO DEFAULT(27)在Visual F'oxPro中,用于设置表单标题的属性是A)Text B)TitleC)Lable D)Caption(28)消除SQL SELECT查询结果中的重复记录,可采取的方法是A)通过指定主关键字B)通过指定惟一索引C)使用DISTINCT短语D)使用UNIQUE短语(29)在设计界面时,为提供多选功能,通常使用的控件是A)选项按钮组B)一组复选框C)编辑框D)命令按钮组(30)为了使表单界面中的控件不可用,需将控件的某个属性设置为假,该属性是A)Default B)Enabled C)Use D)Enuse第(31)-(35)题使用如下三个数据库表:学生表:student(学号,姓名,性别,出生日期,院系)课程表:course(课程号,课程名,学时)选课成绩表:score(学号,课程号,成绩)其中出生日期的数据类型为日期型,学时和成绩为数值型,其它均为字符型。

2011年9月计算机二级C语言笔试题库50套,答案解析详细

2011年9月计算机二级C语言笔试题库50套,答案解析详细

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

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

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

2011年 9月全国计算机等级考试二级笔试试卷C语言程序设计(考试时间90 分钟,满分100分)一、选择题(每小题2分,共70分)1.下列叙述中正确的是。

A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是A.叶子结点总是比度为2的结点少一个B.叶子结点总是比度为2的结点多一个C.叶子结点数是度为2的结点数的两倍D.度为2的结点数是度为1的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。

下面属于应用软件的是A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统5.某系统总体结构图如下图所示:XY系统功能1功能2 功能3功能2.1功能2.2 功能2.3 该系统总体结构图的深度是A.7B.6C.3D.26.程序调试的任务是A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括A.概念模式B.内模式C.外模式D.数据模式9.有三个关系R、S和T如下:R S TA B C A B C A B Ca 1 2 a 1 2 c 3 1b 2 1 b 2 1c 3 1则由关系R和S得到关系T的操作是A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是A.C语言编写的函数源程序,其文件名后缀可以是CB.C语言编写的函数都可以作为一个独立的源程序文件C.C语言编写的每个函数都可以进行独立的编译并执行D.一个C语言程序只能有一个主函数12.以下选项中关于程序模块化得叙述错误的是A.把程序分成若干相对独立的模块可便于编码和调试B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于C语言常量的叙述错误的是:A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量14.若有定义语句:int a=10;double b=3.14;,则表达式‘A’+a+b值得类型是A.charB.intC.doubleD.float15.如有定义语句:int x=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为A.1.9B.1C.2D.2.416.若有定义:int a,b;,通过语句scanf(‚%d;%d‛,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是A.3 5B.3,5C.3;5D.3517.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为A. 0和1B.0和20C.10和1D. 10和2018.有以下程序#include <stdio.h>Main(){ int a=1,b=0;If(--a) b++;Else if(a==0) b+=2;Elseb+=3;Printf(‚%d\n‛,b);}程序运行后的输出结果是A.0B.1C.2D.319.下列条件语句中输出结果与其他语句不同的是A.if(a)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);B.if(a==0)printf(‚%d\n‛,y); else printf(‚%d\n‛,x);C.if(a!=0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);D.if(a==0)printf(‚%d\n‛,x); else printf(‚%d\n‛,y);20.有以下程序:#include <stdio.h>Main(){ int a=7;While(a--);Printf(‚%d\n‛,a);}程序运行后的输出结果是A.- 1B.0C.1D.721.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A.printf(‚%c\n‛,’A’-32);B.printf(‚%d\n‛,’A’);C.printf(‚%c\n‛,65);D.printf(‚%c\n‛,’B’-1);22.有以下程序(注:字符a的ASCII码值为97)#include <stdio.h>Main(){ char *s={‚abc‛};Do{printf(‚%d‛,*s%10);++s;}While(*s);}程序运行后的输出结果是A.abcB.789C.7890D.97989823.若有定义语句:double a,*p&a;以下叙述中错误的是A.定义语句中的*号是一个地址运算符B.定义语句中的*号只是一个说明符C.定义语句中的p只能存放double类型变量的地址D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p24.有以下程序:#include <stdio.h>Double f(double x);Main(){ double a=0; int I;For(i=0;i<30;i+=10) a+=f((double)i);Printf(‚%5.0f\n‛,a);}Double f(double x){return x*x+1;}程序运行后的输出结果是A.503B.401C.500D.140425.若定义语句:int year=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是A.*p+=1;B.(*p)++;C.++(*p);D.*p++;26.以下定义数组的语句中错误的是A.int num[]={1,2,3,4,5,6};B.int num[][3]={{1,2},3,4,5,6};C.int num[2][4]={{1,2},{3,4},{5,6}};D.int num[][4]={1,2,3,4,5,6};27.有以下程序#include <stdio.h>Void fun(int *p){printf(‚%d\n‛,p[5]);}Main(){int a[10]={1,2,3,4,5,6,7,8,9,10};Fun(&a[3]);}程序运行后的输出结果是A.5B.6C.8D.928. 有以下程序#include<stdio.h>#define N 4Void fun(int a[][N],int b[]){ int i;For(i=0;i<N;i++) b[j]=a[i]][j]-a[i][N,1-i];}Main(){ int x[N][N]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},y[N],i;Fun(x,y);For(i=0;i<N;i++) printf(‚%d‛,y[i]); printf(‚\n‛);程序运行后的输出结果是A.-12,-3,0,0,B.-3,-1,1,3,C.,0,1,2,3,D.-3,-3,-3,-3,29.有以下函数Int fun(char *x,char *y)( int n=0;While((*x=*y)&&*x!=’\0’){x++;y++;n++;}Return n;}函数的功能是A.查找x和y所指字符串中是否有‘\0‘B.统计x和y所指字符串中最前面连续相同的字符个数C.将y所指字符串赋给x所值存储空间D.统计x和y所指字符串中相同的字符个数30.若有定义语句:char *s1=‛OK‛;*s2=‛ok‛;,以下选项中,能够输出‚OK‛的语句是A.if(stremp(s1,s2)==0) puts(s1);B.if(stremp(s1,s2)!=0) puts(s2);C.if(stremp(s1,s2)==1) puts(s1);D.if(stremp(s1,s2)!=0) puts(s1);31.以下程序的主函数中调用了在其前面定义的fun函数#include<stdio.h>:Main(){double a[15],k;K=fun(a);:}则以下选项中错误的fun函数首部是A.double fun(double a[15])B.double fun(double *a)C.double fun(double a[])D.double fun(double a)32.有以下程序:#include<stdio.h>#include<string.h>Main(){ char a[5][10]={‚china‛,‛beijing‛,‛you‛,‛tiananmen‛,‛welcome‛};Int I,j; char t[10];For(i=0;i<4;i++)For(j=i+1;j<5;j++)If(stremp(a[i],a[j])>0){ strepy(t,a[i]); strepy(a[i],a[j]); strepy(a[i],t);}Puts(a[3]);}程序运行后的输出结果是A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序:#include<stdio.h>Int f(int m){ static int n=0;N+=m;Return n;}Main(){ int n=0;Printf(‚%d,‛,f(++n));Printf(‚%d\n‛,f(n++));程序运行后的输出结果是A.1,2B.1,1 C) 2,3 D) 3,334.有以下程序#include<stdio.h>Main(){ char ch[3][5]={‚AAAA‛,‛BBB‛,‛CC‛}Printf(‚%s\n‛,ch[1]);}程序运行后的输出的结果是A. AAAAC.BBBCCD.BBB35.有以下程序#include<stdio.h>#include<string.h>Void fun(char *u,int n){ char x,*y1,*y2;Y1=u;y2=u+n-1;While(y1<y2) {s=*y1;*y1=*y2;*y2=s;p1++;p2--;}}Main(){ char a[]=‛1,2,3,4,5,6‛;Fun(a,strem(a));puts(a);}程序运行后的输出结果是A.654321B.115611C.153525D.12345636.有以下程序#include<stdio.h>#include<string.h>typedef struct{char name[];char sex;int score[2]}STU;STU f(STU i){STU i={‚Zhao‛,‛m‛,85,90};Int I;Strcpy(a name,b name);A sex=b sex;For(i=0;i<2;i++) a score[i]=b score[i];Return a;}Main()STU c={‚Qian‛,‛f‛,95,92},d;D=f(c);Printf(‚%s,%c,%d,%d,‛,,d.sex,d.score[0],d.score[1]);Printf(‚%s,%c,%d,%d\n‛,,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是A.zhao,m,85,90,Qian,f,95,92B.zhao,m,85,90,zhao,m,85,90C.Qian,f,95,92,Qian,f,95,92D.Qian,f,95,92,zhao,m,85,9037.在以下程序#include<stdio.h>Main(){struct node{int n; struct node *next;}*p;Struct node x[3]={{2,x+1},{4,x+2},{6,NULL}};P=x;Printf(‚%d,‛,p>a);Printf(‚%d\n‛,p>next>a);程序运行后的输出结果是A.2,3B.2,4C.3,4D.4,638.有以下程序#include<stdio.h>Main(){ int a=2,b;B=a<<2; printf(‚%d\n‛,b);}程序运行后的输出结果是A.2B.4C.6D.839.以下选项中叙述错误的是A.C程序函数中定义的赋有初始值的静态变量,每调用一次函数,赋一次初值B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不能自动赋确定的初值D.C程序函数的形参不可以说明为static型变量40.有以下程序#include<stdio.h>Main(){FILE *fp;Int k,n,I,a[6]={1,2,3,4,5,6};Fp=fopen(‚d2.dat‛,‛w‛);For(i=0;i<6;i++) fprintf(fp,‛%d\n‛,a[i]);Fclose(fp);Fp=fopen(‚d2.dat‛,‛r‛);For(i=0;i<3;i++) fscanf(fp,‛%d%d‛,&k,&n);Fclose(fp);Printf(‚%d,%d\n‛,k,n);}程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456二、填空题(每空2分,共30 分)1.数据结构分为线性结构与非线性结构,带链的栈属于【1】2.在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】3.常见的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。

相关文档
最新文档