2007年9月二级C语言笔试真题及答案(已再修改)

合集下载

2007年(秋)江苏二级C语言笔试试卷参考答案及解析

2007年(秋)江苏二级C语言笔试试卷参考答案及解析

2007 年(秋)笔试试卷参考答案及解析第一部分计算机基础知识(1)D)【解析】1 bit 是单个的二进制数值,0 或1。

虽然计算机可以提供指令测试和操作比特,但通常以多个比特的集合——字节来存储数据和执行指令。

在大多数计算机系统中,1B 由8bit 构成。

1bit 数值在存储器中用单个电容器充放电高于或低于某个电平来表示,比特是最小单位,字节是比特的集合也是一个单位。

(2)D)【解析】根据美国半导体协会预测,到2010 年将能达到18 英寸、0.07~0.05 微米的工艺水平。

(3)B)【解析】通信可分为模拟通信和数字通信,计算机网络属于数字通信。

(4)A)【解析】主存储器的基本编址单位是位,也就是它只能存储一个二进制的0 或1。

目前市场上销售的PC 机,其内存容量可达数几百GB。

不是所有PC 的内存条都是通用的,DDR1 和DDR2 是不可以互换的。

(5)D)【解析】现行PC 机中,IDE(或SATA)接口标准主要用于硬盘与主机的连接。

(6)A)【解析】Pentium 系列微机的内存条不相同,比如接口有些都不一样。

主板上芯片组的作用提供存储器控制功能和I/O 控制。

主板上CMOS 芯片用于存储BIOS 设置程序和一些软硬件设置信息。

(7)A)【解析】目前的主流硬盘容量为60~160GB,影响硬盘容量的因素有单碟容量和碟片数量。

(8)C)【解析】在Windows 操作系统(95 以后版本)中文件名最长可以使用255 个字符。

(9)B)【解析】一个算法应该具有以下五个重要的特征。

有穷性:一个算法必须保证执行有限步之后结束;确切性:算法的每一步骤必须有确切的定义;输入:一个算法有0 个或多个输入,以刻画运算对象的初始情况;输出:一个算法有一个或多个输出,以反映对输入数据加工后的结果。

没有输出的算法是毫无意义的;可行性:算法原则上能够精确地运行,而且人们用笔和纸做有限次运算后即可完成。

(10)B)【解析】目前IP 地址都是 4 组数,每组都是由二进制换算所得,IP 是0~255 的数字。

2007年9月全国计算机等级考试二级笔试试卷

2007年9月全国计算机等级考试二级笔试试卷

2007年9月全国计算机等级测试二级笔试试卷access测试试题一、选择题(1~35每小题2分,共70分)1.软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据和相关文档的完整集合答案:D【分析】:软件是程序、数据和相关文档的完整集合,相对于计算机硬件而言,软件是逻辑产品而不是物理产品,是计算机的无形部分。

2.软件调试的目的是A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性答案:B【分析】:软件测试和软件调试是两个不同的概念:软件测试的目的是发现错误,而软件调试的目的是发现错误或导致程序失误的原因,并修改程序以修正错误,调试是测试之后的活动。

3.在面向对象方法中,实现信息隐蔽是依靠A)对象的继承B)对象的多态C)对象的封装D)对象的分类答案:C【分析】:封装是一种信息屏蔽技术,目的在于将对象的使用者和对象的设计者分开。

用户只能见到对象封装界面上的信息,不必知道实现的细节。

封装一方面通过数据抽象,把相关的信息结合在一起,另一方面也简化了接口。

答案:A【分析】:当今主导的程序设计风格是清晰第一,效率第二的观点。

结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,而实际使用中,人们更重视程序的可理解性。

4.下列叙述中,不符合良好程序设计风格要求的是A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息答案:A【分析】:当今主导的程序设计风格是清晰第一,效率第二的观点。

结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,而实际使用中,人们更重视程序的可理解性。

5.下列叙述中正确的是A)程序执行的效率和数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对答案:A【分析】:程序执行的效率和很多因素有关,如数据的存储结构、程序所处理的数据量、程序所采用的算法等。

2007年9月全国计算机等级考试真题及答案

2007年9月全国计算机等级考试真题及答案

2007年4月全国计算机等级考试二级C语言笔试试卷(含参考答案)发布日期:2007-06-01 浏览次数:2783一、选择题((1)—(10)每小题2分,(11)—(50)每题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上答在试卷上不得分。

(1)下列叙述中正确的是(B)A)算法的效率只与问题的规模有关,而与数据的存储结构无关B)算法的时间复杂度是指执行算法所需要的计算工作量C)数据的逻辑结构与存储结构是一一对应的D)算法的时间复杂度与空间复杂度一定相关(2)在结构化程序设计中,模块划分的原则是(D)A)各模块应包括尽量多的功能B)各模块的规模应尽量大C)各模块之间的联系应尽量紧密D)模块内具有高内聚度、模块间具有低耦合度(3)下列叙述中正确的是(A)A)软件测试的主要目的是发现程序中的错误B)软件测试的主要目的是确定程序中错误的位置C)为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D)软件测试是证明软件没有错误(4)下面选项中不属于面向对象程序设计特征的是(C)A)继承性 B)多态性C)类比性D)封装性(5)下列对队列的叙述正确的是(D)A)队列属于非线性表B)队列按“先进后出”原则组织数据C)队列在队尾删除数据D)队列按“先进先出”原则组织数据(6)对下列二叉树AB CD E F XY Z进行前序遍历的结果为(C)A) DYBEAFCZX B) YDEBFZXCAC) ABDYECFXZ D) ABCDEFXYZ(7) 某二叉树中有n个度为2的结点,则该二叉树中的叶子结点数为(A)A) n+1 B) n-1 C) 2n D) n/2(8) 在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是(B)A) 并B)交C)投影D)笛卡儿乘积(9) 在E-R图中,用来表示实体之间联系的图形是(C)A) 矩形B)椭圆形C)菱形 D)平行四边形(10)下列叙述中错误的是(A)A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B)数据库技术的根本目标是要解决数据的共享问题C)数据库设计是指在已有数据库管理系统的基础上建立数据库D)数据库系统需要操作系统的支持(11)算法中,对需要执行的每一步操作,必须给出清楚、严格的规定,这属于算法的(C)A)正当性 B)可行性 C)确定性D)有穷性(12)下列叙述中错误的是(D)A)计算机不能直接执行用C语言编写的源程序B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件D)后缀为.obj和.exe的二进制文件都可以直接运行(13)按照C语言规定的用户标识符命名规则,不能出现在标识符中的是(B)A)大写字母 B)连接符C)数字字符 D)下划线(14)以下叙述中错误的是(C)A)C语言是一种结构化程序设计语言B)结构化程序有顺序、分支、循环三种基本结构组成C)使用三种基本结构构成的程序只能解决简单问题D)结构化程序设计提倡模块化的设计方法(15)对于一个正常运行的C程序,以下叙述中正确的是(A)A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结束C)程序的执行总是从main函数开始,在程序的最后一个函数中结束D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束(16)设变量均已正确定义,若要通过scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。

20072013全国计算机二级C等级考试真题及答案

20072013全国计算机二级C等级考试真题及答案

2007年9全国计算机等级考试二级笔试试卷一、选择题(每小题2分,共70分)(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是 AA autoB extemC registerD static(12)对于一个类定义,下列叙述中错误的是BA 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(13)如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是 DA public和publicB public和protectedC protected 和publicD protected 和protected(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是DA int operator-(FunNumber)B FunNumber operator-()C FunNumber operator-(int)D int operator – (FunNumber)(15)C++中的模板包括CA 对象模板和函数模板B 对象模板和类模板C 函数模板和类模板D 变量模板和对象模板(16)如果调用C++流进行输入输出,下面的叙述中正确的是AA 只能借助于流对象进行输入输出B 只能进行格式化输入输出C 只能借助于cin和cout进行输入输出D 只能使用运算符》和《进行输入输出(17)下列符号中不属于C++关键字的是DA friendB namespaceC continueD byte(18)下列各组的量申明中,含义相同的一组是 BA unsigned long int 和longB signed short int 和shortB unsigned short 和short D short int 和int(19) 必须用一对打括号括起来的程序段是DA switch 语句中的case标号语句B if 语句的分支C 循环语句的循环体D 函数的函数体(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是AA int*p;p=&kB int*p;p=kC int*p;*p=&kD int*p;*p=k(21)关于函数重载,下列叙述中错误的是CA 重载函数的函数名必须相同B 重载函数必须在函数个数或类型上有所不同C 重载函数的返回值类型必须相同D 重载函数的函数体可以有所不同(22)有如下头文件Int f1();Static int f2();Class MA{PublicInt f3();Static int f4();(静态函数)};在所描述的函数中,具有隐含的this指针的是 CA f1B f2C f3D f4(23)派生类的成员函数不能访问基类的CA 共有成员和保护成员B 共有成员C 私有成员D 保护成员(24)下列关于运算符重载的描述中,正确的是 AA 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符B 一元运算符只能作为成员函数重载C 二元运算符重载为非成员函数时,参数表中有一个参数D C++中可以重载所有的运算符(25)下列关于类模板的模板参数的叙述中,错误的是 DA 模板参数可以作为数据成员的类型B 模板参数可以作为成员函数的返回类型C 模板参数可以作为成员函数的参数类型D 模板函数不能作为成员函数的局部变量的类型(26)已知一程序运行后执行的第一个输出操作是BCout<<setw(10)<<setfill(*)<<1234则此操作的输出结构是A 1234B ******1234C **********1234D 1234******(27)有如下程序#include <iostrcam>Using namespace std;Class myclass{Public:MyClass(){++count;}~MyClass(){--count;}Static int getcount(){return count;}PrivateStatic int count;};Int MyClass::count=0;Int main(){Myclass obj;Cout<<obj,getCount();MyClass*ptr=new MyClass;Cout<<MyClass::getcount();Delete ptr;Cout<<MyClass::gercount();Return();}程序的输出结果是 AA 121B 232C 221D 122程序的输出结果是CA val=10 const:val=20B const:val=10 const:val=20C const:val=10 val=20D val=10 val=20(29)有如下程序#include <iostream>Using namespace std;Class part{Public;Part(int x=(\):val(x){cout<<val;}-part(){cout<<val;}Private;Int val;};Class whole{Public;Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}Whole(){count<<val;}Private;Part p1,p2;Int val;};Int maint{Whole obj(1,2,3);Resturn();}程序输出的结果是DA 123321B 213312C 213(30) 有如下程序:#include <iostream>Using namespace std;Class base{Public:Base(int x=0){cout<<x;}};Class derived : public base{Public:Derivedrin(x=y){cout<<x;}Priblic:Base val;};Int main(){Derived d(!);Return();}程序的输出结果是CA 0B 1C 01D 001(31)若有如下类定义:Classs B {Void fun1(){}Protected;Double varl;Public:Void fun2(){}};Class D:public B{Protected;Void fun3(){}};已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是CA obj.fun1();B obj.var1;C obj.fun2();D obj.fun3();(32)有如下程序:#include<iostream>Using namespace sid;Class base{Public;Void output(){cout<<1;}Virtual void print() {cout<<B;}};Class derived:public base{Public:Void output(){cout<<2;}Void pri nt(){cout<<’D’;}};Int main()Base * passnew derived;Ptr->output();Ptr->print();Delete ptr;Return();}程序的输出结果是DA 1B B 1DC 2BD 2D33.下列是重载乘法运算的函数原型声明,其中错误的是AA myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myclass operator*( myclass , myclass);*是二元运算符,而且标准库里面已经有double*double的运算符定义,返回值为double,所以A的重载是错误的34.A(35) 有如下程序:#include <iostream>using namespace std;class B{public:virtual void show(){cout<<"b";}};class D:public B {public:void show(){cout<<"D";}};void fun1(B*ptr){ptr->show();}void fun2(B &ref){ref.show();}void fun3(B b){b.show();}void main(){B b,*p=new D;D d;fun1(p);fun2(b);fun3(d);}程序的输出结果是DA DBDB BBDC DBBD Dbb二、填空题(每空2分,共三十分)(6).在有定义语句:int a=3,b=2,c=1;则表达式a<b?a:b的值是_____(7).执行下列语句后,变量sum的值是____.Int sum =0;For (int j=I;j<=I;j++)For (int j=I;j<=I;j++)Sum++;(8).已知有函数f的定义如下:Int f(){Static int -6;s-2;return s}则在某程序中第二次执行函数用语句f();时,函数f的返回值是_____.(9)已知如下程序得输出结果时23,请将划线处缺失得部分补充完整。

2007年9月全国计算机等级考试二级C语言口试试题(含参考答案)

2007年9月全国计算机等级考试二级C语言口试试题(含参考答案)

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

(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)有以下计算公式y=(x≥0)(x<0)若程序前面已在命令中包含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)有以下程序#include<stdio.h>main(){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)有以下程序#include<stdio.h>main(){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’。

2007年9月全国计算机等级考试二级C语言笔试考试试卷

2007年9月全国计算机等级考试二级C语言笔试考试试卷

2007年9月全国计算机等级考试二级C语言笔试考试试卷2007年9月全国计算机等级考试二级C语言笔试考试试卷2007-12-15 23:58A)GEDHFBCAB)DGEBHFCAC)ABCDEFGHD)ACBFEDHG2.树是结点的集合,它的根结点数目是A)有且只有1B)1或多于1C)0或1D)至少23.如果进栈序列为e1,e2,e3,e4,则可能的出栈序列是A)e3,e1,e4,e2B)e2,e4,e3,e1C)e3,e4,e1,e2D)任意顺序4.在设计程序时,应采纳的原则之一是A)不限制goto语句的使用B)减少或取消注解行C)程序越短越好D)程序结构应有助于读者理解5.程序设计语言的基本成分是数据成分、运算成分、控制成分和A)对象成分B)变量成分C)语句成分D)传输成分6.下列叙述中,不属于软件需求规格说明书的作用的是A)便于用户、开发人员进行理解和交流B)反映出用户问题的结构,可以作为软件开发工作的基础和依据C)作为确认测试和验收的依据D)便于开发人员进行需求分析7.下列不属于软件工程的3个要素的是A)工具B)过程C)方法D)环境8.单个用户使用的数据视图的描述称为A)外模式B)概念模式C)内模式D)存储模式9.将E-R图转换到关系模式时,实体与联系都可以表示成A)属性B)关系C)键D)域10.SQL语言又称为A)结构化定义语言B)结构化控制语言C)结构化查询语言D)结构化操纵语言11.下列叙述中正确的是A)C语言编译时不检查语法B)C语言的子程序有过程和函数两种C)C语言的函数可以嵌套定义D)C语言的函数可以嵌套调用12.在C语言中,退格符是A)\nC)\fD)\b13.以下叙述中正确的是A)构成C程序的基本单位是函数B)可以在一个函数中定义另一个函数C)main()函数必须放在其他函数之前D)所有被调用的函数一定要在调用之前进行定义14.若已定义:int a=25,b=14,c=19;以下三目运算符(?:)所构成语句的执行后a<=25&&b--<=2&&c?printf("***a=%d,b=%d,c=%d\n",a,b,c):printf("###a=% d, b=%d,c=%d\n",a,b,c);程序输出的结果是A)***a=25,b=13,c=19B)***a=26,b=14,c=19C)### a=25,b=13,c=19D)### a=26,b=14,c=1915.下列程序段的输出结果是int a=1234;float b=123.456;double c=12345.54321;printf("-,%2.1f,%2.1f",a,b,c);A)无输出B)12,123.5,12345.5C)1234,123.5,12345.5D)1234,123.4,1234.516.若运行以下程序时,从键盘输入ADescriptor(表示回车),则下面程序的运行结果是#includemain()int v0=1,v1=0,v2=0;do{ switch(c=getchar()){ case ′a′:case ′A′:case ′e′:case ′E′:case ′i′:case ′I′:case ′o′:case ′O′:case ′u′:case ′U′:v1+=1;default:v0+=1;v2+=1;}} while(c!=′\n′);printf("v0=%d,v1=%d,v2=%d\n",v0,v1,v2); } A)v0=7,v1=4,v2=7B)v0=8,v1=4,v2=8C)v0=11,v1=4,v2=11D)v0=13,v1=4,v2=1217.设有以下程序段int x=0,s=0;while(!x!=0)s+=++x;printf("%d",s);则A)运行程序段后输出0B)运行程序段后输出1C)程序段中的控制表达式是非法的D)程序段执行无限次18.执行下面的程序段后,变量k中的值为int k=3, s[2];s[0]=k; k=s[1]*10;A)不定值B)33D)1019.以下程序段的描述,正确的是x=-1;do{x=x*x;} while(!x);A)是死循环B)循环执行两次C)循环执行一次D)有语法错误20.有如下程序段int a=14,b=15,x;char c=′A′;x=(a&&b)&&(c<′B′);执行该程序段后,x的值为A)tureB)falseC)0D)121.下列程序执行后的输出结果是void func1(int i);void func2(int i);char st[]="hello,friend!"; void func1(int i){ printf("%c",st[i]);if(i<3){i+=2;func2(i);}}void func2(int i){ printf("%c",st[i]);if(i<3){i+=2;func1(i);}}main(){ int i=0; func1(i); printf("\n");}A)helloB)helC)hloD)hlm22.以下函数返回a所指数组中最大值所在的下标值fun(int *a,int n){ int i,j=0,p;p=j;for(i=j;iif(a[i]>a[p]);return(p);}在下划线处应填入的内容是A)i=pB)a[p]=a[i]C)p=jD)p=i23.以下程序的输出结果是#includevoid prt (int *x, int*y, int*z){ printf("%d,%d,%d\n",++*x,++*y,*(z++));} main(){ int a=10,b=40,c=20;prt (&a,&b,&c);prt (&a,&b,&c);}A)11,42, 3112,22,41B)11,41,2012,42,20C)11,21,4011,21,21D)11,41,2112,42,2224.有如下程序main(){ char s[]="ABCD", *p;for(p=s+1; p}该程序的输出结果是A)ABCDBCDCDDB)ABCDC)BCDD)BCDCDD25.下列程序执行后的输出结果是main(){ int a[3][3], *p,i;p=&a[0][0];for(i=1; i<9; i++)p[i]=i+1; printf("%d\n",a[1][2]); }B)6C)9D)随机数31.以下对结构体类型变量的定义中,不正确的是A)typedef struct aa{ int n;float m;} AA;AA tdl;B)#define AA struct aaAA{ int n;float m;} tdl;C)struct{ int n;float m;} aa;struct aa tdl;D)struct{ int n;float m;} tdl;32.在下述程序中,判断i>j共执行的次数是main(){ int i=0, j=10, k=2, s=0;for (;;){ i+=k;if(i>j){ printf("%d",s);break;}}A)4B)7C)5D)633.若有以下程序#includevoid f(int n);main(){ void f(int n);f(5);}void f(int n){ printf("%d\n",n); }则以下叙述中不正确的是A)若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f B)若在主函数前对函数f进行说明,则在主函数和其后的其他函数中都可以正确调用函数fC)对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明D)函数f无返回值,所以可用void将其类型定义为无返回值型34.以下程序的输出是struct st{ int x; int *y;} *p;int dt[4]={ 10,20,30,40 };struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt [0],60,&dt[0]}; main(){ p=aa;printf("%d\n",++(p->x));}A)10B)11C)51D)6035.有以下程序#includemain(){ FILE *fp; int i=20,j=30,k,n;fp=fopen("d1.dat","w");fprintf(fp,"%d\n",i);fprintf(fp,"%d\n",j);fclose(fp);fp=fopen("d1.dat","r");fscanf(fp,"%d%d",&k,&n); printf("%d %d\n",k,n);fclose(fp);}程序运行后的输出结果是A)20 30B)20 50C)30 50D)30 20二、填空题(每空2分,共计30分)1.数据结构分为逻辑结构与存储结构,线性链表属于【1】。

全国计算机等级考试二年级C语言笔试试卷含答案

全国计算机等级考试二年级C语言笔试试卷含答案

全国计算机等级考试二年级C语言笔试试卷含答案文件管理序列号:[K8UY-K9IO69-O6M243-OL889-F88688]2007年9月全国计算机等级考试二级C语言真题及参考答案一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。

(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>=0x:-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’。

2007-2013全国计算机二级C++等级考试真题及答案

2007-2013全国计算机二级C++等级考试真题及答案

2007年9全国计算机等级考试二级笔试试卷一、选择题(每小题2分,共70分)(11)在函数中,可以用auto,extem,register,和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是AA autoB extemC registerD static(12)对于一个类定义,下列叙述中错误的是BA 如果没有定义拷贝构造函数,编译器将生成一个拷贝构造函数B 如果没有定义缺省的构造函数,编译器将一定生成一个缺省的构造函数C 如果没有定义构造函数,编译器将生成一个缺省的构造函数和一个拷贝构造函数D 如果已经定义了构造函数和拷贝构造函数,编译器不会生成任何构造函数(13)如果派生类以public方式继承基类,则原基类的protected成员和public成员在派生类中的访问类型分别是DA public和publicB public和protectedC protected 和publicD protected 和protected(14)下列运算符函数中肯定不属于类FunNumber的成员函数的是DA int operator-(FunNumber)B FunNumber operator-()C FunNumber operator-(int)D int operator – (FunNumber)(15)C++中的模板包括CA 对象模板和函数模板B 对象模板和类模板C 函数模板和类模板D 变量模板和对象模板(16)如果调用C++流进行输入输出,下面的叙述中正确的是AA 只能借助于流对象进行输入输出B 只能进行格式化输入输出C 只能借助于cin和cout进行输入输出D 只能使用运算符》和《进行输入输出(17)下列富豪中不属于C++关键字的是DA friendB namespaceC continueD byte(18)下列各组的量申明中,含义相同的一组是BA unsigned long int 和longB signed short int 和shortB unsigned short 和short D short int 和int(19) 必须用一对打括号括起来的程序段是DA switch 语句中的case标号语句B if 语句的分支C 循环语句的循环体D 函数的函数体(20)语句的int*p=&k定义于指针P,于这个语句等效的语句序列是AA int*p;p=&kB int*p;p=kC int*p;*p=&kD int*p;*p=k(21)关于函数重载,下列叙述中错误的是CA 重载函数的函数名必须相同B 重载函数必须在函数个数或类型上有所不同C 重载函数的返回值类型必须相同D 重载函数的函数体可以有所不同(22)有如下头文件Int f1();Static int f2();Class MA{PublicInt f3();Static int f4();};在所描述的函数中,具有隐含的this指针的是CA f1B f2C f3D f4(23)派生类的成员函数不能访问基类的CA 共有成员和保护成员B 共有成员C 私有成员D 保护成员(24)下列关于运算符重载的描述中,正确的是AA 运算符重载为成员函数时,若参数表中五参数,重载的是一元运算符B 一元运算符只能作为成员函数重载C 二元运算符重载为非成员函数时,参数表中有一个参数D C++中可以重载所有的运算符(25)下列关于类模板的模板参数的叙述中,错误的是DA 模板参数可以作为数据成员的类型B 模板参数可以作为成员函数的返回类型C 模板参数可以作为成员函数的参数类型D 模板函数不能作为成员函数的局部变量的类型(26)已知一程序运行后执行的第一个输出操作是BCout<<setw(10)<<setfill(*)<<1234则此操作的输出结构是A 1234B ******1234C **********1234D 1234******(27)有如下程序A#include <iostrcam>Using namespace std;Class myclass{Public:MyClass(){++count;}~MyClass(){--count;}Static int getcount(){return count;}PrivateStatic int count;};Int MyClass::count=0;Int main(){Myclass obj;Cout<<obj,getCount();MyClass*ptr=new MyClass;Cout<<MyClass::getcount();Delete ptr;Cout<<MyClass::gercount();Return();}程序的输出结果是A 121B 232C 221D 122程序的输出结果是CA val=10 const:val=20B const:val=10 const:val=20C const:val=10 val=20D val=10 val=20(29)有如下程序#include <iostream>Using namespace std;Class part{Public;Part(int x=(\):val(x){cout,,val;}-part(){cout<<val;}Private;Int val;};Class whole{Public;Whole(int x,int y,int z=0):p2(x),p1(y),val(z){cout<<val;}Whole(){count,,val;}Private;Part p1,p2;Int val;};Int maint{Whole obj(1,2,3);Resturn();}程序输出的结果是DA 123321B 213312C 213(30) 有如下程序:#include <iostream>Using namespace std;Class base{Public:Base(int x=0){cout<<x;}};Class derived : public base{Public:Derivedrin(x=y){cout<<x;}Priblic:Base val;};Int main(){Derived d(!);Return();}程序的输出结果是CA 0B 1C 01D 001(31)若有如下类定义:Classs B {Void fun(){}Protected;Double varl;Public:Void fun2(){}};Class D:public B{Protected;Void fun3(){}};已知obj是类D的对象,下列语句中不违反成员访问控制的权限的是CA obj.fun1();B obj.var1;C obj.fun2();D obj.fun3();(32)有如下程序:#include<iostream>Using namespace sid;Class base{Public;V oid output(){cout<<1;}Virtual void print() {cout<<B;}};Class derived:public base{Public:Void output(){cout<<2;}Void print(){cout<<’D’;}};Int main()Base * passnew derived;Ptr->output();Ptr->print();Delete ptr;Return();}程序的输出结果是DA 1B B 1DC 2BD 2D下列是重载乘法运算的函数原型声明,其中错误的是 A 34.AA myclass operator*(double,double);B myclass operator*(double,myclass);C myclass operator*(myclass,double);D myclass operator*( myclass , myclass);(35) 有如下程序:#include <iostream>Using namespace std:Class B{Public:Virtual voi d show(){cout<<”b”;}};Class D:public B {Public:Void show(){cout<<D;}};Void fun1(B*ptr){ptr->show();}Void fun2(B &ref){ref.show();}Void fun3(B b){b.show();}Int main(){B b,*p=new D;D d;Fun1(p);Fun2(b);Fun3(d);Return();}程序的输出结果是DA DBDB BBDC DBBD DBD二、填空题(每空2分,共三十分)(6).在有定义语句:int a=3,b=2,c=1;则表达式a<b?a:b的值是_____(7).执行下列语句后,变量sum的值是____.Int sum =0;For (int j=I;j<=I;j++)For (int j=I;j<=I;j++)Sum++;(8).已知有函数f的定义如下:Int f(){Static int -6;s-2;return s}则在某程序中第二次执行函数用语句f();时,函数f的返回值是_____.(9)已知如下程序得输出结果时23,请将划线处缺失得部分补充完整。

2007年9月国家二级(VISUALFOXPRO)笔试真题试卷(题后含答案及解析)

2007年9月国家二级(VISUALFOXPRO)笔试真题试卷(题后含答案及解析)

2007年9月国家二级(VISUALFOXPRO)笔试真题试卷(题后含答案及解析)题型有:1. 选择题 2. 填空题选择题(每小题2分,共70分)下列各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。

1.软件是指A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合正确答案:D解析:本题考查软件的定义。

软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档的总和。

因此,本题正确答案是选项D。

2.软件调试的目的是A.发现错误B.改正错误C.改善软件的性能D.验证软件的正确性正确答案:B解析:本题考查软件工程调试。

调试与测试是两个不同的过程,有着根本的区别:调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题:测试是一个有计划的,可以重复的过程,它的目的是为了发现软件中的问题。

因此,软件调试的目的是为了改正软件中的错误。

本题的正确答案是选项B。

3.在面向对象方法中,实现信息隐蔽是依靠A.对象的继承B.对象的多态C.对象的封装D.对象的分类正确答案:C解析:通常认为,面向对象方法具有封装性、继承性、多态性几大特点。

就是这几大特点,为软件开发提供了一种新的方法学。

封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。

简单地说,封装就是隐藏信息。

这是面向对象方法的中心,也是面向对象程序设计的基础。

继承性:子类具有派生它的类的全部属性(数据) 和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。

继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。

继承有利于提高软件开发效率,容易达到一致性。

多态性:多态性就是多种形式。

不同的对象在接收到相同的消息时,采用不同的动作。

例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。

二级C语言真题2007年09月

二级C语言真题2007年09月

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

(1) 用8位无符号二进制数能表示的最大十进制数为A) 127 B) 128 C) 255 D) 256(2) 在64位高档微机中,一个字长所占的二进制位数为A) 8 B) 16 C) 32 D) 64(3) 在Windows环境下,为了复制一个对象,在用鼠标拖动该对象时应同时按住A) Alt键B) Esc键C) Shift键D) Ctrl键(4) 在Windows菜单中,暗淡(灰色)的命令项表示该命令A) 暂时不能用B) 正在执行C) 包含下一层菜单D) 包含对话框(5) 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为A) TYPE B) TYPE/H C) TYPE/* D) TYPE/?(6) 下列选项中,能作为合法DOS文件名的是A) ANP/A.DAT B) ABCCOM C) ECD.BASIC D) XY+Z.TXT(7) 下列叙述中正确的是A) 在Windows环境下,最大化的窗口是不能移动的B) 在Windows环境下,应用程序窗口最小化后,该应用程序暂停执行C) 在Windows环境下,只有最小化的窗口才能关闭D) 在Windows环境下,不能关闭最小化窗口(8) 在Windows环境下,工具栏中用于完成复制操作的按钮是A) 打印按钮B) 剪切按钮C) 复制按钮D) 粘贴按钮(9) 在Windows环境下,若要将整个屏幕上显示的内容存入剪贴板,可以按A) Ctrl+Printscreen键B) Alt+Printscreen键C) Shift+Printscreen键D) Printscreen键(10) 目前,计算机病毒扩散最快的途径是A) 通过软件复制B) 通过网络传播C) 通过磁盘拷贝D) 运行游戏软件(11) 以下叙述正确的是A) C语言比其他语言高级B) C语言可以不用编译就能被计算机识别执行C) C语言以接近英语国家的自然语言和数学语言作为语言的表达形式D) C语言出现的最晚、具有其他语言的一切优点(12) C语言中用于结构化程序设计的三种基本结构是A) 顺序结构、选择结构、循环结构B) if、switch、breakC) for、while、do-whileD) if、for、continue(13) 在一个C语言程序中A) main函数必须出现在所有函数之前B) main函数可以在任何地方出现C) main函数必须出现在所有函数之后D) main函数必须出现在固定位置(14) 下列叙述中正确的是A) C语言中既有逻辑类型也有集合类型B) C语言中没有逻辑类型但有集合类型C) C语言中有逻辑类型但没有集合类型D) C语言中既没有逻辑类型也没有集合类型(15) 下列关于C语言用户标识符的叙述中正确的是A) 用户标识符中可以出现下划线和中划线(减号)B) 用户标识符中不可以出现中划线,但可以出现下划线C) 用户标识符中可以出现下划线,但不可以放在用户标识符的开头D) 用户标识符中可以出现下划线和数字,它们都可以放在用户标识符的开头(16) 若有以下程序段(n所赋的是八进制数)int m=32767,n=032767;printf("%d,%o\n",m,n);执行后输出结果是A) 32767,32767B) 32767,032767C) 32767,77777D) 32767,077777(17) 下列关于单目运算符++、--的叙述中正确的是A) 它们的运算对象可以是任何变量和常量B) 它们的运算对象可以是char型变量和int型变量,但不能是float型变量C) 它们的运算对象可以是int型变量,但不能是double型变量和float型变量D) 它们的运算对象可以是char型变量、int型变量和float型变量(18) 若有以下程序段int m=0xabc,n=0xabc;m-=n;printf("%X\n",m);执行后输出结果是A) 0X0 B) 0x0 C) 0 D) 0XABC(19) 有以下程序段int m=0,n=0; char c='a';scanf("%d%c%d",&m,&c,&n);printf("%d,%c,%d\n",m,c,n);若从键盘上输入:10A10<回车>,则输出结果是:A) 10,A,10 B) 10,a,10 C) 10,a,0 D) 10,A,0(20) 有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf("%d",i);case 2: printf("%d",i);default: printf("%d",i);}}执行后输出的结果是A) 011122 B) 012 C) 012020 D) 120(21) 有以下程序main(){ int i=1,j=1,k=2;if((j++||k++)&&i++) printf("%d,%d,%d\n",i,j,k); }执行后输出的结果是A) 1,1,2 B) 2,2,1 C) 2,2,2 D) 2,2,3(22) 有以下程序main(){ int a=5,b=4,c=3,d=2;if(a>b>c)printf("%d\n",d);else if((c-1>=d)==1)printf("%d\n",d+1);elseprintf("%d\n",d+2);}执行后输出的结果是A) 2 B) 3 C) 4 D) 编译时有错,无结果(23) 有以下程序main(){ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i]; i++;}printf("%d\n",k);}执行后输出的结果是A) 58 B) 56 C) 45 D) 24(24) 有以下程序main(){ int i=0,s=0;do{if(i%2){i++;continue;}i++;s+=i;} while(i<7);printf("%d\n",s);}执行后输出的结果是A) 16 B) 12 C) 28 D) 21(25) 有以下程序main(){ int i=10,j=1;printf("%d,%d\n",i--,++j);}执行后输出的结果是A) 9,2 B) 10,2 C) 9,1 D) 10,1(26) 有以下程序main(){ char a,b,c,*d;a='\'; b='\xbc';c='\0xab'; d="\0127";printf("%c%c%c%c\n",a,b,c,*d);}编译时出现错误,以下叙述中正确的是A) 程序中只有a='\';语句不正确B) b='\xbc';语句不正确C) d="\0127";语句不正确D) a='\';和c='\0xab';语句都不正确(27) main(){int a=4,b=3,c=5,d,e,f;d=f1(a,b); d=f1(d,c);e=f2(a,b); e=f2(e,c);f=a+b+c-d-e;printf("%d,%d,%d\n",d,f,e);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 3,5,4(28) 有以下程序void f(int x,int y){ int t;if(x<y){ t=x; x=y; y=t; }}main(){ int a=4,b=3,c=5;f(a,b); f(a,c); f(b,c);printf("%d,%d,%d\n",a,b,c);}执行后输出的结果是A) 3,4,5 B) 5,3,4 C) 5,4,3 D) 4,3,5(29) 若有一些定义和语句#include <stdio.h>int a=4,b=3,*p,*q,*w;p=&a; q=&b; w=q; q=NULL;则以下选项中错误的语句是A) *q=0; B) w=p; C) *p=va; D) *p=*w;(30)有以下程序int *f(int *x,int *y){ if(*x<*y)return x;elsereturn y;}main(){ int a=7,b=8,*p,*q,*r;p=&a; q=&b;r=f(p,q);printf("%d,%d,%d\n",*p,*q,*r);}执行后输出结果是A) 7,8,8 B) 7,8,7 C) 8,7,7 D) 8,7,8(31)有以下程序main(){ char *s[]={"one","two","three"},*p;p=s[1];printf("%c,%s\n",*(p+1),s[0]);}执行后输出结果是A) n,two B) t,one C) w,one D) o,two(32)有以下程序main(){ int x[8]={8,7,6,5,0,0},*s;s=x+3;printf("%d\n",s[2]);}执行后输出结果是A) 随机值B) 0 C) 5 D) 6(33) 以下能正确定义数组并正确赋初值的语句是A) int N=5,b[N][N];B) int a[1][2]={{1},{3}};C) int c[2][]={{1,2},{3,4}};D) int d[3][2]={{1,2},{3,4}};(34)有以下程序main(){ int m[][3]={1,4,7,2,5,8,3,6,9};int i,j,k=2;for(i=0;i<3;i++){ printf("%d ",m[k][i]); }}执行后输出结果是A) 4 5 6 B) 2 5 8 C) 3 6 9 D) 7 8 9(35) 以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。

2007年9月全国计算机二级(C语言程序设计)笔试真题及参考答案_百度文库

2007年9月全国计算机二级(C语言程序设计)笔试真题及参考答案_百度文库
page 2
(39)有以下程序 #include #include void fun(char s[][10],int n) { char t;int i,j; for(i=0;ifor(j=i+1,j/*比较字符串的首字符大小,并交换字符串的首字 符 */ if(s[0])>s[j][0]{t=s[0];s[0]=s[j][0];s[j][0]=t;} } main() { char ss[ 5][10]={“bcc”,”bbcc”,”xy”,”aaaacc””aabcc”} fun(ss,5); printf(“% s,%s\n”,ss[0],ss[4]); } 程序运行结果是 A) xy,aaaacc B) aaaacc,xy C) xcc,a abcc D) acc,xabcc (40) 在一个 C 语言源程序文件中所定义的全局变量,其作用域为: A) 所在文 件的全部范围 B) 所在程序的全部范围 C) 所在函数的全部范围 D) 由具体定义位置 和 extern 说明来决定范围 (41)有以下程序 #include int a=1; int f(int c) {st atic int a=2; c=c+1; return (a++)+c;} main() { int i,k=0; for(i=0;i<2;i++) {int a=3;k+=f(a);} k+=a; printf(“%d\n”,k); } 程序运行结果是 A) 14 B) 15 C) 16 D) 17 (42)有以下程序 #include 6 void fun(int n,int *p) { int f1,f2; if(n==1||n==2) *p=1; else { fun(n -1,&f1); fun(n-2,&f2); *p=f1+f2; } } main() { int s; fun(3,&s); printf("%d \n",s); } 程序的运行结果是 A)2 B)3 C)4 D)5 (43)若程序中有宏定义行:#define N 100 则以下叙述中正确的是 A)宏定义行中定义了标识符 N 的值为整数 100 B)在编 译程序对 C 源程序进行预处理时用 100 替换标识符 N C) 对 C 源程序进行编译时用 100 替换标识符 N D)在运行时用 100 替换标识符 N (44)以下关于 typedef 的叙述 错误的是 A)用 typedef 可以增加新类型 B)typedef 只是将已存在的类型用一个新的 名字来代表 C)用 typedef 可以为各种类型说明一个新名,但不能用来为变量说明一个 新名 D)用 typedef 为类型说明一个新名,通常可以增加程序的可读性 (45)有以下程 序 #include struct tt {int x;struct tt *y;} *p; struct tt a[4]={20,a+1,15, a+2,30,a+3,17,a}; main() { int i; p=a; for(i=1;i<=2;i++) {printf("%d,",p-> x); p=p->y;} } 程序的运行结果是 A)20,30, B)30,17 C)15,30, D)20,15, 7 (46)有以下程序 #include #include typedef struct{ char name[9];char se x; float score[2]; } STU; STU f(STU a) { STU b={"Zhao",'m',85.0,90.0}; int i; strcpy(a.name,b.name); a. sex=b.sex; for(i=0;i<2;i++) a.score=b.score; return a; } main() {STU c={"Qian",'f',95.0,92.0},d; d=f(c); printf("%s,%c ,%2.0f,%2.0f\n",d.name,d.sex,d.score[0],d.score[1]); } 程序的运行结果是 A) Qian,f,95,92 B)Qian,m,85,90 C)Zhao,m,85,90 D)Zhao,f,95,92 (47)设有以下定义 union data { int d1; float d2; }demo; 则下面叙述中错误的是 A)变量 demo 与 成员 d2 所占的内存字节数相同 C)变量 demo 和各成员的地址相同 (48)有以下程序 #include main() { int a=1,b=2,c=3,x; x=(a^b)&c; printf("%d\n",x); } 程序的 运行结果是 A)0 B)1 C)2 D)3 (49)读取二进制文件的函数调用形式为:fread(buffer ,size,coun

全国计算机等级考试二级公共基础知识真题2007年9月_真题(含答案与解析)-交互

全国计算机等级考试二级公共基础知识真题2007年9月_真题(含答案与解析)-交互

全国计算机等级考试二级公共基础知识真题2007年9月(总分30, 做题时间90分钟)一、选择题1.软件是指SSS_SINGLE_SELA 程序B 程序和文档C 算法加数据结构D 程序、数据与相关文档的完整集合该问题分值: 2答案:D[解析] 本题考查软件的定义。

软件是计算机系统中与硬件相互依存的另一部分,它包括程序、相关数据及其说明文档的总和。

因此,本题正确答案是选项D。

2.软件调试的目的是SSS_SINGLE_SELA 发现错误B 改正错误C 改善软件的性能D 验证软件的正确性该问题分值: 2答案:B[解析] 本题考查软件工程调试。

调试与测试是两个不同的过程,有着根本的区别:调试是一个随机的、不可重复的过程,它用于隔离和确认问题发生的原因,然后修改软件来纠正问题:测试是一个有计划的,可以重复的过程,它的目的是为了发现软件中的问题。

因此,软件调试的目的是为了改正软件中的错误。

本题的正确答案是选项 B。

3.在面向对象方法中,实现信息隐蔽是依靠SSS_SINGLE_SELA 对象的继承B 对象的多态C 对象的封装D 对象的分类该问题分值: 2答案:C[解析] 通常认为,面向对象方法具有封装性、继承性、多态性几大特点。

就是这几大特点,为软件开发提供了一种新的方法学。

封装性:所谓封装就是将相关的信息、操作与处理融合在一个内含的部件中(对象中)。

简单地说,封装就是隐藏信息。

这是面向对象方法的中心,也是面向对象程序设计的基础。

继承性:子类具有派生它的类的全部属性 (数据) 和方法,而根据某一类建立的对象也都具有该类的全部,这就是继承性。

继承性自动在类与子类间共享功能与数据,当某个类作了某项修改,其子类会自动改变,子类会继承其父类所有特性与行为模式。

继承有利于提高软件开发效率,容易达到一致性。

多态性:多态性就是多种形式。

不同的对象在接收到相同的消息时,采用不同的动作。

例如,一个应用程序包括许多对象,这些对象也许具有同一类型的工作,但是却以不同的做法来实现。

2007年9月 C语言程序设计 真题真题

2007年9月 C语言程序设计 真题真题

2007年9月 C语言程序设计真题真题一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分))下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。

(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)有以下计算公式y=(x≥0)(x<0)若程序前面已在命令中包含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)有以下程序#include<stdio.h>main(){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)有以下程序#include<stdio.h>main(){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’。

2007年9月全国计算机等级考试二级笔试试卷

2007年9月全国计算机等级考试二级笔试试卷

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

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

(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)nlog2 n 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)要使一个文本框可以显示多行文本,应设置为True的属性是A)Enabled B)MultiLine C)MasLenfth D)Width(12)在窗体上有一个名为Text1的文本框。

2007年9月全国计算机等级考试二级ACCESS笔试试题及答案

2007年9月全国计算机等级考试二级ACCESS笔试试题及答案

注:下文中出现的“本书”均指“等级考试考点分析、题解与模拟-二级Access数据库一书(希赛IT教育研发中心组编阮国明周娜琴主编电子工业出版社2007年1月出版)”一、选择题(1~35每小题2分,共70分)1-10为二级公共基础题,答案如下:1-5 DACAA6-10 DCABC11. D解析:关系模型用表格形式表示实体类型及其实体间的联系。

关系模型是目前最重要的一种模型,它是建立在严格的数学概念的基础上的。

关系模型的基本数据结构是二维表,每一张二维表称为一个关系。

请参考本书 P76 5.2.3考点3:层次、网状、关系模型12. B解析:一对多联系(1:n)如果实体集A中的每一个实体,实体集B中有n个实体(n≥0)与之联系,反之,实体集B中的每一个实体,实体集A中至多只有一个实体与之联系,则称实体集A与B具有一对多联系。

请参考本书 P73 5.2.4 考点2:实体联系模型及E-R图13. A解析:码(又称为关键字):二维表中的某个属性,若它的值唯一地标识了一个元组,则称该属性为关键字。

本题中:只有A. 书号能够满足关键字定义中的唯一性要求。

请参考本书 P93 6.2.1考点1:基本概念14. D解析:Access数据库由数据库对象和组两部分组成。

其中对象又分为7种,包括:表、查询、窗体、报表、数据访问页、宏和模块。

这些对象都存放在扩展名为.mdb的数据库文件中。

请参考本书 P97 6.5.3考点3:Access数据库的系统结构15. D解析:编辑表中内容的操作主要包括选定记录、添加记录、修改记录、删除记录、复制记录等。

这些操作是在数据表视图中完成的。

请参考本书 P112 7.3.3考点3:编辑表的内容16. D解析:参照完整性是一个准则系统,Access使用这个系统用来确保相关表中的记录之间关系的有效性,并且不会因意外而删除或更改相关数据。

请参考本书 P110 7.2.5考点5:建立表之间的关系17. C解析:将表A的记录复制到表B中,且不删除表B中的记录,可以使用的查询是追加查询。

C++2007年秋及答案

C++2007年秋及答案

2007 年秋浙江省高等学校计算机等级考试试卷(二级 C)说明:(1) 考生应将所有试题的答案填写在答卷上. 其中试题一到试题六请在答卷上的各小题选项的对应位置上填“√”.(2) 请将你的准考证号的后五位填写在答卷右下角的指定位置内.(3) 考试时间为 90 分钟.试题1 (每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案,[程序说明]输入 2 个整数lower 和 upper,输出一张华氏一摄氏温度转换表,华氏温度的取值范围是[lower,upper],每次增加 20 F. 计算公式如下,式中: c 表示摄氏温度,f表示华氏温度。

C= 5x(f一32)/9运行示例:Enter lower: 30Enter upper: 35fahr celsius30 -1.132 0.034 1.1[程序]#include <stdio.h>main( ){ int fahr, lower, upper,double celsiusprintf (”Enter lower:”);scanf ("%d”, &lower”);printf ("Enter upper:”);scanf (“%d”, &upper);printf(”fahr celsius \n”);for (fahr=lower;__ fahr <= upper __(1)___ fahr + 2_;____(2)____){celsius =__(5.0/9.0)*(fahr – 32)__(3)____ ;printf (“%d ___%6.lf _ (4)_____ \n“, fahr, celsius);}}[供选择的答案]计算机等级考试试卷(二级C)第1页(共7页)(l) A、 fahr <= upper B、fahr < upperC 、 fahr >=uppa r D、 fahr > upper(2) A、 fahr++ B、 fahr =fahr -2C、 fahr + 2D、fahr + 2(3) A、5*(fahr – 32) /9 B、(5.0/9.0)*(fahr – 32)C、 5/9*(fahr – 32)D、 5 * fahr - 32/9(4) A、 %6d B、%6.2f C、%6.lf D、%6.0f试题2 (每小题3分,共12分)阅读下列程序说明和程序. 在每小题提供的若干可选答案中,挑选一个正确答案.[程序说明]输入2 个正整数 a 和 n,求 a+aa+aaa+aa...a(n 个 a)之和.要求定义并调用函数fn(a,n),它的功能是返回aa...a(n个a).例如,fn(3,2)的返回值是33.运行示例,Enter a: 2Enter n: 3sum = 246[程序]#include<stdio.h>main ( ){ int i, n;long a, sn;long fn(long a, int n);printf(“Enter a;”);scanf (“%ld”, &a);printf(“Enter n:”);scanf(“%d”,&n);_________(5)__ sn=0;_____________for ( i=1;i<=n; i++)_________(6)_ sn=sn+fn(a, I );___________printf(“sum=%ld\n”,sn);}long fn(long a,int n){ int i;long tn=0;for(i=1;i<=n;i++) {tn=tn+a;________(7)___ A tn=tn*10; _________}计算机等级考试试卷(二级C)笫 2 页(共 7 页)(8)return tn;}[供选择的答案](5)A sn=0; B ;C sn=1;D sn=a;(6) A sn=sn+fn(a, I ); B sn=sn+fn(a,n);C sn=sn+fn(I,a);D sn=sn+fn(I,n);(7) A tn=tn*10; B a=a*10;C sn=tn*10;D sn=sn+a*10;(8) A return; B return sn;C return a;D return tn;试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

2007年9月全国计算机等级考试二级笔试试卷

2007年9月全国计算机等级考试二级笔试试卷

2007年9月全国计算机等级考试二级笔试试卷access考试试题一、选择题(1~35每小题2分,共70分)1.软件是指A)程序B)程序和文档C)算法加数据结构D)程序、数据与相关文档的完整集合答案:D【解析】:软件是程序、数据与相关文档的完整集合,相对于计算机硬件而言,软件是逻辑产品而不是物理产品,是计算机的无形部分。

2.软件调试的目的是A)发现错误B)改正错误C)改善软件的性能D)验证软件的正确性答案:B【解析】:软件测试与软件调试是两个不同的概念:软件测试的目的是发现错误,而软件调试的目的是发现错误或导致程序失误的原因,并修改程序以修正错误,调试是测试之后的活动。

3.在面向对象方法中,实现信息隐蔽是依靠A)对象的继承B)对象的多态C)对象的封装D)对象的分类答案:C【解析】:封装是一种信息屏蔽技术,目的在于将对象的使用者和对象的设计者分开。

用户只能见到对象封装界面上的信息,不必知道实现的细节。

封装一方面通过数据抽象,把相关的信息结合在一起,另一方面也简化了接口。

答案:A【解析】:当今主导的程序设计风格是清晰第一,效率第二的观点。

结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,而实际应用中,人们更重视程序的可理解性。

4.下列叙述中,不符合良好程序设计风格要求的是A)程序的效率第一,清晰第二B)程序的可读性好C)程序中要有必要的注释D)输入数据前要有提示信息答案:A【解析】:当今主导的程序设计风格是清晰第一,效率第二的观点。

结构化程序设计思想提出之前,在程序设计中曾强调程序的效率,而实际应用中,人们更重视程序的可理解性。

5.下列叙述中正确的是A)程序执行的效率与数据的存储结构密切相关B)程序执行的效率只取决于程序的控制结构C)程序执行的效率只取决于所处理的数据量D)以上三种说法都不对答案:A【解析】:程序执行的效率与很多因素有关,如数据的存储结构、程序所处理的数据量、程序所采用的算法等。

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

2007年9月二级C语言笔试真题及答案(考试时间:120分钟,满分100分)一、选择题((1)-(10)每题2分,(11)-(50)每题1分.共60分)) 下列各题A)、B)、C)、D)四个选项中,只有一个是正确的,请将正确选项涂写在答题卡上,答在试卷上不得分。

(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(13)以下选项中,合法的一组C语言数值常量是A)028 B)12. C).177 D)0x8A(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)若变量已正确定义,有以下程序段int i=0;do printf("%d,",i); while(i++);printf("%d\n",i);其输出结果是A)0,0 B)0,1 C)1,1 D)程序进入无限循环(21)设有条件表达式:(EXP)?i++;j--,则以下表达式中(EXP)完全等价的是A)(EXP= =0)B)(EXP!=0) C)(EXP= =1) D)(EXP!=1)(22)有以下程序好#include <stdio.h>main(){int y=9;for( ;y>0;y--)if(y%3= =0) printf("%d",--y);}程序的运行结果是A)741 B)963 C)852 D)875421(24)有以下程序好—稍难#include <stdio.h>main(){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’。

执行语句printf("%d,%d",c1,c2-2);后,输出结果是A)A,B B)A,68 C)65,66 D)65,68(27)以下叙述中错误的是A)改变函数形参的值,不会改变对应实参的值B)函数可以返回地址值C)可以给指针变量赋一个整数作为地址值D)当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL(28)以下正确的字符串常量是A)"\\\" "\\" 就可以B)’abc’ C)OlympicGames D)""(30)有以下函数删除此题int aaa(char *s){char *t=s;while(*t++);t--;return(t-s);}以下关于aaa函数的功能叙述正确的是A)求字符串s的长度 B)比较两个串的大小C)将串s复制到串t D)求字符串s所占字节数(31)若有定义语句:int a[3][6]; ,按在内存中的存放顺序,a数组的第10个元素是A)a[0][4] B)a[1][3] C)a[0][3] D)a[1][4](32)有以下程序二级指针问题#include <stdio.h>void fun(char **p){++p; printf("%s\n",*p);}main(){char *a[]={"Morning","Afternoon","Evening","Night"}; fun(a);}程序的运行结果是A)Afternoon B)fternoon C)Morning D)orning删除(33)若有定义语句:int a[2][3],*p[3]; ,则以下语句中正确的是A)p=a; B)p[0]=a; C) p[0]=&a[1][2]; D)p[1]=&a;(34)有以下程序删除#include <stdio.h>void fun(int *a,int n)/*fun函数的功能是将a所指数组元素从大到小排序*/{int t,i,j;for(i=0;i<N-1;i++)for(j=i+1;j<N;j++)if (a}main(){int c[10]={1,2,3,4,5,6,7,8,9,0},i;fun(c+4,6);for (i=0;i<10;i++) printf("%d,",c);printf("\n");}程序运行的结果是A)1,2,3,4,5,6,7,8,9,0, B)0,9,8,7,6,5,1,2,3,4,C) 0,9,8,7,6,5,4,3,2,1, D)1,2,3,4,9,8,7,6,5,0,(35)有以下程序删除#includeint fun(char s[]){int n=0;while(*s<=’9’&&*s>=’0’) {n=10*n+*s-’0’;s++;} return(n);}main(){chars[10]={’6’,’1’,’*’,’4’,’*’,’9’,’*’,’0’,’*’};printf("%d\n",fun(s));}程序运行的结果是A)9 B)61490 C)61 D)5(36)当用户要求输入的字符串中含有空格时,应使用的输入函数是A)scanf() B)getchar() C)gets() D)getc()(37)以下关于字符串的叙述中正确的是A)C语言中有字符串类型的常量和变量B)两个字符串中的字符个数相同时才能进行字符串大小的比较C)可以用关系运算符对字符串的大小进行比较D)空串一定比空格打头的字符串小删除(38)有以下程序:#include <stdio.h>void fun(char *t,char *s){while(*t!=0){ printf(“*p=%c ”, *p);t++;} while((*t++=*s++)!=0);}main(){char ss[10]=”acc”,aa[10]=”bbxxyy”;fun(ss,aa);printf(“%s,%s\n”,ss,aa);}程序运行结果是A) accxyy , bbxxyy B) acc, bbxxyyC) accxxyy,bbxxyy D) accbbxxyy,bbxxyy删除(39)有以下程序#include <stdio.h>void fun(char s[][10],int n){char t;int i,j;for(i=0;i<N-1;i++)for(j=i+1,j<N;j++)/*比较字符串的首字符大小,并交换字符串的首字符 */if(s[0])>s[j][0]{t=s[0];s[0]=s[j][0];s[j][0]=t;}}main(){charss[5][10]={“bcc”,”bbcc”,”xy”,”aaaacc””aabcc”} fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);}程序运行结果是A) xy,aaaacc B) aaaacc,xyC) xcc,aabcc D) acc,xabcc(40) 在一个C语言源程序文件中所定义的全局变量,其作用域为:A) 所在文件的全部范围 B) 所在程序的全部范围C) 所在函数的全部范围D)由具体定义位置和extern 说明来决定范围(43)若程序中有宏定义行:#define N 100 则以下叙述中正确的是A)宏定义行中定义了标识符N 的值为整数100B )在编译程序对C 源程序进行预处理时用100替换标识符NC) 对C 源程序进行编译时用100替换标识符ND)在运行时用100替换标识符N(41)有以下程序 删除程序运行结果是A ) 14 B) 15C) 16 D) 17(42)有以下程序 删 –递归调用#include <stdio.h>int a=1;int f(int c){static int a=2;c=c+1;return (a++)+c;}//第一次返回值 6 main() { int i,k=0; for(i=0;i<2;i++) {int a=3;k+=f(a);} k+=a; printf(“%d \n”,k); }#include <stdio.h>void fun(int n,int *p){ int f1,f2;if(n==1||n==2) *p=1;else{ fun(n-1,&f1); fun(n-2,&f2);*p=f1+f2;}}main(){ int s;fun(3,&s); printf("%d\n",s);}程序的运行结果是A)2 B)3 C)4 D)5删(44)以下关于typedef的叙述错误的是A)用typedef可以增加新类型B)typedef只是将已存在的类型用一个新的名字来代表C)用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D)用typedef为类型说明一个新名,通常可以增加程序的可读性删(45)有以下程序#includestruct tt{int x;struct tt *y;} *p;struct tt a[4]={20,a+1,15,a+2,30,a+3,17,a};main(){ int i;p=a;for(i=1;i<=2;i++) {printf("%d,",p->x); p=p->y;}}程序的运行结果是A)20,30, B)30,17 C)15,30, D)20,15,删(46)有以下程序#include <stdio.h>typedef struct{ char name[9];char sex; float score[2]; } STU;STU f(STU a){ STU b={"Zhao",'m',85.0,90.0}; int i;strcpy(,);a. sex=b.sex;for(i=0;i<2;i++) a.score=b.score;return a;}main(){STU c={"Qian",'f',95.0,92.0},d;d=f(c);printf("%s,%c,%2.0f,%2.0f\n",,d.sex,d.score[0],d .score[1]);}程序的运行结果是A)Qian,f,95,92 B)Qian,m,85,90 C)Zhao,m,85,90 D)Zhao,f,95,92删(47)设有以下定义union data{ int d1; float d2; }demo;则下面叙述中错误的是A)变量demo与成员d2所占的内存字节数相同B)变量demo中各成员的地址相同C)变量demo和各成员的地址相同D)若给demo.d1赋99后, demo.d2中的值是99.0(48)有以下程序删(p306 运算符)#include <stdio.h>main(){ int a=1,b=2,c=3,x;x=(a^b)&c; printf("%d\n",x);}程序的运行结果是A)0 B)1 C)2 D)3(49)读取二进制文件的函数调用形式为:fread(buffer,size,count,fp); ,其中buffer代表的是A)一个文件指针,指向待读取的文件B)一个整型变量,代表待读取的数据的字节数C)一个内存块的首地址,代表读入数据存放的地址D)一个内存块的字节数删 (50)有以下程序#include <stdio.h>main(){FILE *fp; int a[10]={1,2,3,0,0},i;fp=fopen("d2.dat,"wb");fwrite(a,sizeof(int),5,fp);fwrite(a,sizeof(int),5,fp);fclose(fp);fp=fopen("d2.dat","rb");fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i<10;i++) printf("%d",a);}程序的运行结果是A)1,2,3,0,0,0,0,0,0,0, B)1,2,3,1,2,3,0,0,0,0,C)123,0,0,0,0,123,0,0,0,0, D)1,2,3,0,0,1,2,3,0,0,二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡[1]至[20]序号的横线上,答在试卷上不得分.(1) 软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的_[1]_______.(2) 在两种基本测试方法中, _[2]_______测试的原则之一是保证所测模块中每一个独立路径至少要执行一次.(3) 线性表的存储结构主要分为顺序存储结构和链式存储结构.队列是一种特殊的线性表,循环队列是队列的_[3]_______存储结构.(4) 对下列二叉树进行中序遍历的结果为_[4]_______F/ \C E/ \ \A D G/ / \B H P(5) 在E-R图中距形表示_[5]_______(6) 执行以下程序时输入1234567,则输出结果是_[6]_______. #includemain(){ int a=1,b;scanf("%2d%2d",&a&b);printf("%d %d\n",a,b);}(7) 以下程序的功能是:输出a、b、c三个变量中的最小值.请填空。

相关文档
最新文档