2006年4月份二级C真题

合集下载

2006年4月全国计算机等级考试二级笔试试卷(1)

2006年4月全国计算机等级考试二级笔试试卷(1)

2006年4月全国计算机等级考试二级笔试试卷Visual FoxPro数据库程序设计(考试时间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)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为A)32B)31C)64D)63(8)”商品”与”顾客”两个实体集之间的联系一般是A)一对一B)一对多c)多对一D)多对多(9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBS C)DBS包含DB和DBMS D)没有任何关系(11)在Visual FoxPro中以下叙述错误的是A)关系也被称作表B)数据库文件不存储用户数据C)表文件的扩展名是.dbf D)多个表存储在一个物理文件中(12)扩展名为SCX的文件是A)备注文件B)项目文件c)表单文件D)菜单文件(13)表格控件的数据源可以是A)视图B)表c)SQL SELECT语句D)以上三种都可以(14)在Visual FoxPro 中以下叙述正确的是A)利用视图可以修改数据B)利用查询可以修改数据C)查询和视图具有相同的作用D)视图可以定义输出去向(15)在Visual FoxPro中可以用DO命令执行的文件不包括A)PRG文件B)MPR文件C)FRX文件D)QPR文件(17)在Visual FoxPro中,宏替换可以从变量中替换出A)字符串B)数值C)命令D)以上三种都可能(18)以下关于”查询”的描述正确的是A)查询保存在项目文件中B)查询保存在数据库文件中C)查询保存在表文件中D)查询保存在查询文件中(19)设X="11”,Y="1122",下列表达式结果为假的是A)NOT(X==y)AND(X$y)B)NOT(X$Y)OR(X◇Y)C)NOT()(>=Y)D)NOT(XSY)(20)以下是与设置系统菜单有关的命令,其中错误的是A)SET SYSMENU DEFAULT B)SET SYSMENU TO DEFAULT C)SET SYSMENUNOSA VE D)SET SYSMENU SA VE(21)在下面的Visual FoxPro表达式中,运算结果不为逻辑真的是A)EMPTY(SPACE(0))B)LIKE('xy*','xyz')C)AT('xy','abcxyz')D)ISNULL(.NUILL.)(22)SQL的数据操作语句不包括A)INSERT B)UPDA TE C)DELETE D)CHANGE(16)不允许出现重复字段值的索引是A)侯选索引和主索引B)普通索引和惟一索引C)惟一索引和主索引D)惟一索引(23)假设表单上有一选项组:●男○女,其中第一个选项按钮”男”被选中。

2006年年年年4月

2006年年年年4月

2006年年年年4月全国计算机等级考试二级月全国计算机等级考试二级月全国计算机等级考试二级月全国计算机等级考试二级C语言笔试试题语言笔试试题语言笔试试题语言笔试试题解析解析解析解析一一一一、、、、选择题选择题选择题选择题(1)D)解析:结构化程序设计方法的主要原则是:自顶向下,逐步求精,模块化,限制使用goto语句。

可复用性是指软件元素不加修改和稍加修改可在不同的软件开发过程中重复使用的性质。

软件可复用性是软件工程追求的目标之一,是提高软件生产效率的最主要方法。

面向对象的程序设计具有可复用性的优点。

(2)A)解析:模块的独立程度可以由两个定性标准度量:内聚性和耦合性。

耦合衡量不同模块彼此间互相依赖(连接)的紧密程度;内聚衡量一个模块内部各个元素彼此结合的紧密程度。

一般来说,要求模块之间的耦合尽可能地弱,而要求模块的内聚程度尽可能的高。

(3)D)解析:因为测试的目的在于发现错误,从心理学角度讲,由程序的编写者自己进行测试是不合适的,为了达到最好的测试效果,应该由独立的第三方进行测试工作,所以选项A)错误;程序调试,修改一个错误的同时可能引入了新的错误,解决的办法是在修改了错误之后,必须进行回归测试,所以选项B)错误;所谓软件维护,就是在软件已经交付使用之后,为了改正错误或满足新的需要而修改软件的过程,可见选项C)也是错误的。

(4)B)解析:栈的特点是栈顶元素总是最后被插入的元素,也是最早被删除的元素;栈底元素总是最早被插入的元素,也是最晚才能被删除的元素。

即栈的修改原则是“后进先出”(Last In First Out,简称LIFO) 或“先进后出”(First In Last Out,简称FILO),因此,栈也称为“后进先出”表或“先进后出”表。

(5)A)解析:所谓线性链表,就是指线性表的链式存储结构,简称链表。

线性表链式存储结构的基本单位称为存储结点,每个存储结点包括数据域和指针域两个组成部分。

2006-2011全国计算机等级考试二级C语言笔试答案

2006-2011全国计算机等级考试二级C语言笔试答案

2006年4月全国计算机等级考试二级C语言笔试答案一、选择题((1)~(40)题每题1分,(41)~(50)每题2分,共60分)1-5DADBA 6-10DCDAC 11-15CCADD 16-20DBBCA21-25CA BDD 26-30CDDDB 31-35DBABB36-40CACAC 41-45ACADB 46-50DCDBA二、填空题(每空2分,共40分)(1)【1】45(2)【2】类(3)【3】关系(4)【4】静态分析(5)【5】物理独立性(6)【6】printf("a=%d,b=%d",a,b)(7)【7】a+b>c&&a+c>b&&b+c>a(8)【8】30(9)【9】a*b*c*d*(10)【10】11(11)【11】ahT(12)【12】p+n 或 str+n(13)【13】i<=9 或 i<10 【14】j%3!=0(14)【15】return 0 【16】return 1(15)【17】ch=ch+1 【18】printf("\n")(16)【19】p!=NULL 【20】p->next2006年9月全国计算机等级考试二级C语言笔试答案一、选择题((1)~(40)题每题1分,(41)~(50)题每题2分,共60分)1-5DACBD 6-10CDBBA 11-15AADDD 16-20AABBC21-25DACBC 26-30BBCAC 31-35ACBAD36-40BBADC 41-45CBBCD 46-50BABDC二、填空题(每空2分,共40分)(1)【1】3 (2)【2】程序调试(3)【3】记录(4)【4】栈(5)【5】线性结构(6)【6】123.460000 (7)【7】10 11 (8)【8】1 (9)【9】1 1 (10)【10】n/=10或n=n/10;(11)【11】x+8 【12】sin(x)(12)【13】j+1 【14】i%2或i%2==1(13)【15】s-1 【16】*s++(14)【17】18(15)【18】16 11(16)【19】->next->data 【20】"rb"2007年4月全国计算机等级考试二级C语言笔试答案一、选择题:1-5 BDACD6-10 CACBA11-15CDBCA 16-20 DCAAC 21-25 DCDBA 26-30ADBDA31-35BBDAB 36-40BCBCB 41-45DBDAA 46-50ACBDA二、填空题:1. 63 2,墨盒 3.DBNS 4,开发5,数据字典 6,a-14 7,0 8,无答案9,#与号 10,9 11,1 12,5_4 13,13 0 14,i=115,X[i-1] 16,无答案 17,10 18,40 19,无答案20,"20a"2007年9月全国计算机等级考试二级C语言笔试答案一、选择题1~10 DBCAD CCABD 11~20 BABCC DABBB 21~30 BCBBD CCDAA 31~40 BDCDC CDDDD 41~50 AABAD CDDCD二、选择题1.无歧义性2.白盒3.顺序4.ACBDFEHGP5.实体6.12 347.a:b c:t1 8.54321 9.k<=n k++ 10.ACE 11.efgh12.x[0] x[0] 13.c=getchar() 1 14.3 7 15 15.55 16.p->next2008年4月全国计算机等级考试二级C语言笔试答案一、选择题1-5CABBA 6-10DBCD 11-15CCBCB 16-20DBBBD 21-25DADCA26-30DDCAB 31-35CCACC 36-40ABAAB二、填空题(1)【1】输出 (2)【2】16(3)【3】24 (4)【4】关系(5)【5】数据定义语言 (6)【6】0(7)【7】3 (8)【8】##2##4(9)【9】2 【10】2 4 6 8 (10)【11】35(11)【l2】4 (12)【13】l3(I 3)【14】 person[i].sex (14)【1 5】"filea.dat","r"2008年9月全国计算机等级考试二级C语言笔试答案一、选择题1~10 BDCAD BABCD 11~20 CDACD ADCBA21~30 CABAB CDDAB 31~40 CACDB CDDCB二、选择题1.DBXEAYFZC2.单元3.过程4.逻辑设计5.分量6.a=a-(a+b)7.a=%d\nb=%d 8.1 9.9911 10.3 11.5 12.i-- 13.n14.func() 15.m++2009年3月全国计算机等级考试二级C语言笔试答案一选择题:1-5 DACDC 6-10 ABABC 11-15CBDDA 16-20 CDBCB21-25CDABA 26-30 BACBC 31-35ADBCC 36-40 CBDAC二填空题:(1)19 (2)白盒(3)顺序结构(4)数据库管理系统(DBMS)(5)菱形(6)4 (7)"x/y=%d" (8)能( 9)s=0(10)1AbCeDf2Df (11)7777654321 (12)max(int a,int b) (13)NULL (14)1001,ChangRong,1098.0 (15)p=p—>next2009年9月全国计算机等级考试二级C语言笔试答案一。

2006年4月计算机等级考试二级 C++笔试真题及答案

2006年4月计算机等级考试二级 C++笔试真题及答案

2006年4月全国计算机等级考试二级C++试卷公共基础知识一、选择题(1)下列关于栈的叙述正确的是A)栈是非线性结构B)栈是一种树状结构C)栈具有先进先出的特征D)栈具有后进先出的特征(2)结构化程序设计所规定的三种基本控制结构是A)输入、处理、输出B)树形、网形、环形C)顺序、选择、循环D)主程序、子程序、函数(3)结构化程序设计的一种基本方法是A)筛选法B)递归法C)归纳法D)逐步求精法(4)如果对一个关系实施了一种关系运算后得到了一个新的关系,而且新的关系中属性个数少于原来关系中属性个数,这说明所实施的运算关系是:A)选择B)投影C)连接D)并二、填空题1.对于输入为N个数进行快速排序算法的平均时间复杂度是()2.在面向对象方法学中,直接反映了用户对目标系统的要求的模型是()3.软件测试方法中,黑盒测试个白盒测试法是常用的方法,其中黑盒测试法主要是用于测试()4.关系型数据库管理系统中存储与管理数据的基本形式是()C++语言程序设计一、选择题(1)C++语言是从早期的C语言逐渐发展演变而来的.与C语言相比,它在求解问题方法上进行的最大改进是()A)面向过程B)面向对象C)安全性D)复用性(2)C++语言的跳转语句中,对于break和continue说法正确的是()A)break语句只应用与循环体中B)continue语句只应用与循环体中C)break是无条件跳转语句,continue不是D)break和continue的跳转范围不够明确,容易产生问题(3)for(int x=0,y=o;!x& &y<=5;y++)语句执行循环的次数是()A)0B)5C)6D)无次数(4)考虑函数原型void test(int a,intb=7,char="*"),下面的函数调用中,属于不合法调用的是()A)test(5); B)test(5,8); C)test(6,"#") D)test(0,0."*");(5)下面有关重载函数的说法中正确的是()A)重载函数必须具有不同的返回值类型;B)重载函数形参个数必须不同;C)重载函数必须有不同的形参列表D)重载函数名可以不同;(6)下列关于构造函数的描述中,错误的是()A)构造函数可以设置默认参数;B)构造函数在定义类对象时自动执行C)构造函数可以是内联函数;D)构造函数不可以重载(7)下面描述中,表达错误的是()A)公有继承时基类中的public成员在派生类中仍是public的B)公有继承是基类中的private成员在派生类中仍是private的C)公有继承时基类中的protected成员在派生类中仍是protected的D)私有继承时基类中的public成员在派生类中是private的(8)应在下列程序划线处填入的正确语句是()#includeclass Base{ public:void fun(){cout<<"Base::fun"<<ENDL;}};class Derived:public Base{ void fun(){_____________ //显示调用基类的函数fun()cout<<"Derived::fun"<<ENDL;}};A)fun(); B)Base.fun(); C)Base::fun(); D) Base->fun();(9)有如下程序:#includeclass BASE{char c;public:BASE(char n):c(n){}virtual~BASE(){cout<<C;}};class DERIVED:public BASE{char c;public:DERIVED(char n):BASE(n+1),c(n){}~DERIVED(){cout<<C;}};int main(){ DERIVED("X");return 0;}执行上面的程序将输出()A)XY B)YX C)X D)Y(10)在进行完任何C++流的操作后,都可以用C++流的有关成员函数检测流的状态;其中只能用于检测输入流状态的操作函数名称是()A)fail B)eof C)bad D)good二、填空题(1)下面程序的打印结果是[1]#incudeint f(int);int main(){ int i;for(i=0;i<5;i++)cout<<F(I)<<"";return0;}int f(int i){ static int k=1;for(;i>0;i- -)k + = i;return k;}(2)在用class定义一个类时,数据成员和成员函数的默认访问权限是[2](3)含有纯虚函数的类称为[3](4)已知intDBL(int n){return n + n;}和longDBL(long n){return n+n;}是一个函数模板的两个实例,则该函数模板的定义是[4](5)在下面程序的横线处填上适当的语句,使该程序执行结果为10.#includeclass MyClass{ public:MyClass(int a){x = a;}[5] //取x值privateint x;};int main(){ MyClass my(10);cout<<MY.GETNUM()<<ENDL;return 0;}三、上机操作题(改错题1道,简单应用1道,综合应用1道)1.使用VC6打开考生文件夹下的工程proj1,此工程包含一个源程序文件main.cpp,但该程序运行有问题,请改正main函数中的错误,使程序的输出结果为:member=0member=5menber=10源程序文件main.cpp清单如下:#includeclass MyClass{public:MyClass(int i){member=i;}void SetMember(int m){member=m;}int GetMember()const{return menber;}void print()cont{cout<<"member="<<MEMBER><<ENDL;}private:int member;};voed main(){/* * * ** * * * * * found * * * * * * * * * */MyClass obj1;obj1.print();MyClass obj2(3);/* * * * * * * * * * found * * * * * * * * * */obj1.member=5;/* * * * * * * * * * found * * * * * * * * * */MyClass.SetMember(10);obj1.print();obj2.print();}2.请编写一个函数int find(char s[],chart[]),该函数在字符串s中查找字符串t,如果找到,则返回字符串t在字符串s中的位置(整数值);否则返回-1.注意:用数组方式及两重循环来实现该函数.注意:部分源文件程序已存在文件PROC2,CPP中.请勿修改主函数main和其他函数中的任何内容,仅在函数find的花括号中填写若干语句.文件PROC2.CPP的内容如下:#in c ludeint find(char s[],char t[]);const int MAXLINE =256;int main(){ char source[MAXLINE],rarget[MAXLINE];;cout <<"Please input a string for searching: ";cin.getline(source,MAXLINE);cout<<"Please input a string you want to find: ";cin.getline(target,MAXLINE);int intpos = find(source,target);if(intpos>=0cout<<"Finding it.The target string is at index"<<INTPOS><<"OF string ?;elsecout<<"Not finding it. ";return 0;}int find(char s[],char t[]){}3.使用VC6打开考生文件夹下的工程proj3.此工程包含一个源程序文件main.cpp.其中定义了用于表示日期的类Date,但类Date的定义并不完整.请按要求完成下列操作,将类Date的定义补充完整:(1)定义私有数据成员year,month和day分别用于表示年,月,日,它们都是int型的数据.请在注释"// * * 2* *"之后添加适当的语句.(2)完成默认构造函数Date的定义,使Date对象的默认值为:year=1,month=1,day=1,请在注释"// ** 2 * *"之后添加适当的语句.(3)完成重载构造函数Date(int y,int m,intd)的定义,把数据成员year,month和day分别初始化为参数y,m,d的值,请在注释"//* * 3**"之后添加适当的语句.(4)完成成员函数print的类外定义,使其以"年-月-日"的格式将Date对象的值输出到屏幕上.请在注释"//* * 4* *"之后添加适当的语句.注意:除在指定位置添加语句之外,请不要改动程序中的其他内源程序文件main.cpp清单如下://main.cpp#includeclass Date{public://* * 2 * *Date(int y,int m,int d){//* * 3 * *}void print() const;private:// date members//* * 1 * *};void Date::print()const{//* * 4 * *}int main();{Date national_day(1949,10,1); national_day.print();return 0;}参考答案:一、选择题1-10 DADBA DDDAC11-20 CABAA CAACB 21-30 DCBAC ADACD 31-35 ABDBB。

2006年广西区计算机等级考试二级C语言笔试试题及答案

2006年广西区计算机等级考试二级C语言笔试试题及答案

第一卷(共70分)第一部分:基础知识(20题,共40分)1、一个C程序总是从()开始执行。

A.程序的第一条执行语句B.主函数C.子程序D.主程序2、在C语言中,int, char和short int三种类型变量所占用的内存大小是()。

A.均为2个字节B.由用户自己定义C.由所用机器的字长决定D.是任意的3、若有以下类型说明语句:char a; int b; float c; short int d;则表达式(c*b+a)*d的结果类型是()。

A.charB.intC.doubleD.float4、若有说明语句:int w=1,x=2,y=3,z=4;则表达试w>x?w:z>y?z:x的值是()A.4B.3C.2D.15、设x,y 为int型变量,则执行下列语句后,y的值是()x=5;y=x++*x++;y=--y*--y;A.529B.2401C.1209D.6256、C语言中函数返回值的类型是()A.return语句中的表达式类型B.调用函数的类型C.总是int型D.定义函数时所指定的函数类型7、凡是在函数中未指定存储类别的变量,其隐含的存储类别是()A.自动B.静态C.外部D.寄存器8、在源程序的一个文件中定义的全局变量的作用域是()A.本文件的全部范围B.该程序的全部范围C.一个函数的范围D.从定义该变量的位置开始至该文件的结束9、以下不正确的描述是()A.break语句只能用于循环语句和switch语句B.在switch语句中,break语句的作用也可用continue语句来替代C.在循环语句中,使用continue语句是为了结束本次循环,而不是终止循环的执行D.在循环语句中,使用break语句是为了使流程跳出循环体,提前结束循环10、若有宏定义 #define mod(x,y) x%y则执行以下程序段后,输出为()int z,a=15,b=100;z=mod(b,a);printf(“%d\n”,z++);A.11B.10C.6D.宏定义不合法11、若有说明语句:char s1[4]=”12”; char *ptr;则执行下列语句后输出为()ptr=s1;printf(“%c\n”,*(ptr+1));A.字符‘2’B.整数2C.字符串“12”D.字符‘1’12、若有以下语句int x[]={2,4,6,8,10,12},*ptr;ptr=x;则对数组元素的正确引用为()A.xB.x[6]C.*(--ptr)D. *(++ptr)13、若有说明语句:int i,x[3][4];则不能实现将x[1][1]的值赋给变量i的语句是()A.i=*(*(x+1)+1)B.i=*(*(x+1))C.i=x[1][1]D.i=*(x[1]+1)14、若已定义了如下的共用体类型变量x,则x所占用的字节数(在16位PC机条件下)为()union data{int i;char ch;double f;}x;A.7B.11C.8D.1015、如下说明语句:enum A {A0=1,A1=3,A2,A3,A4,A5};enum A B;执行:B=A3;printf(“%d\n”,B);输出的是()A.5B.3C.2D.编译时出错16、while(!x)中的条件表达式(!x)与下面条件()等价。

2006年4月计算机等级考试二级C笔试试题

2006年4月计算机等级考试二级C笔试试题

2006年4月计算机等级考试二级C笔试试题(28)有如下程序main(){ int x=3;do{ printf("%d",x--);}while(!x);}该程序的执行结果是________。

A)321 B)3C)不输出任何内容 D)陷入死循环答案:B评析:本题x赋初值为3,当执行printf("%d",x--);时,由于X--的作用是先运算x,再将x的值减l,所以,printf输出的x值为3,等输出后,x的值减1变为2,继续执行,判断条件!x为假,循环只被执行一次。

(29)设有声明语句:char a=’\72’;则变量a__________A)包含1个字符B)包含2个字符C)包含3个字符D)声明不合法答案:A评析:转义字符常量’\xx’可以把’\’后面的数字转换为对应的ASCII 字符。

(30)有以下程序段:main(){int a=5,*b,**cc==&b;b=&a;}程序在执行了c=&b;b=&a;语句后,表达式ttc的值是__________。

A)变量a的地址B)变量b中的地址C)变量a中的值D)变量b的地址答案:C评析:指针变量是用来存放地址的。

&:取地址运算符。

+:指针运算符。

**c 为指针变量*c所指向的存储单元,*c为指针指针变量c所指向的存储单元,而c=&b表示c为变量b的地址,b=&a表示b为变量a的地址。

表达式一c的值就是变量a中的值。

(31)有如下函数调用语句func(recl,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是________。

A)3 B)4C)5 D)有语法错误答案:A评析:(rec4,rec5)是逗号表达式,它的值是rec5的值。

所以该函数调用语句含有的实参个数是3。

(32)有如下程序main(){char s[115]={.tabc","de","fgh"};printf("%e",s[2][6]);}其输出为__________。

2006年4月全国计算机等级考试二级Access数据库程序设计

2006年4月全国计算机等级考试二级Access数据库程序设计

2006年4月全国计算机等级考试二级Access数据库程序设计2006年4月全国计算机等级考试二级Access数据库程序设计(考试时间90分钟,满分100分)一、选择题(每小题2分,共70分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项写在答题卡相应位置上,答在试卷上不得分。

(1)下列选项中不属于结构化程序设计方法的是A)自顶向下B)逐步求精C)模块化D)可复用(2)两个或两个以上模块之间关联的紧密程度称为A)耦合度B)内聚度C)复杂度D)数据传输特性(3)下列叙述中正确的是A)软件测试应该由程序开发者来完成B)程序经调试后一般不需要再测试C)软件维护只包括对程序代码的维护D)以上三种说法都不对(4)按照“后进先出”原则组织数据的数据结构是理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB 和DBSC)DBS包含DB和DBMS D)没有任何关系(11)常见的数据模型有3种,它们是A)网状、关系和语义B)层次、关系和网状C)环状、层次和关系D)字段名、字段类型和记录(12)在以下叙述中,正确的是A)ACCESS只能使用系统菜单创建数据库应用系统B)ACCESS不具备程序设计能力C)ACCESS只具备了模块化程序设计能力D)ACCESS具有面向对象的程序设计能力,并能创建复杂的数据库应用系统(13)不属于Access对象的是A)表B)文件夹C)窗体D)查询(14)表的组成内容包括A)查询和字段B)字段和记录C)记录和窗体D)报表和字段(15)在数据表视图中,不能A)修改字段的类型B)修改字段的名称C)删除一个字段D)删除一条记录(16)数据类型是A)字段的另一种说法B)决定字段能包含哪类数据的设置C)一类数据库应用程序D)一类用来描述Access表向导允许从中选择的字段名称(17)现有一个已经建好的“按雇员姓名查询”窗体,如下图所示。

运行该窗体后,在文本框中输入要查询雇员的姓名,当按下“查询”按钮时,运行一个是“按雇员姓名查询”的查询,该查询显示出所查雇员的雇员ID、姓名和职称等三段。

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

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

全国计算机等级考试二级C语言真题2006年4月(总分:82.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:50,分数:50.00)1.下列选项中小属于结构化程序设计方法的是______。

(分数:1.00)A.自顶向下B.逐步求精C.模块化D.可复用√解析:知识点:结构化程序设计方法评析:20世纪70年代以来,提出了许多软件设计方法,主要有①逐步求精:对复杂的问题,应设计—些子目标作过渡,逐步细化:②自顶向下:程序设计时应先考虑总体,后考虑细节;先考虑全局目标,后考虑局部目标。

不要—开始就过多追求众多的细节,先从最上层总目标开始设计,逐步使问题具体化;③模块化:—个复杂问题,肯定是由若干稍简单的问题构成。

模块化是把程序要解决的总目标分解为分目标,再进一步分解为具体的小目标,把每个小目标称为—个模块,而可复用是面向对象程序设计的—个优点。

2.两个或两个以上的模块之间关联的紧密程度称为______。

(分数:1.00)A.耦合度√B.内聚度C.复杂度D.数据传输特性解析:知识点:耦台度评析:耦合度是模块间互相连接的紧密程度的度量;内聚度是一个模块内部各个元素间彼此结合的紧密程度的度量。

3.下列叙述中正确的是______。

(分数:1.00)A.软件测试应该由程序开发者来完成B.程序经调试后—般不需要再测试C.软件维护只包括对程序代码的维护D.以上三种说法都不对√解析:知识点:软件的测试与程序的调试评析:程序调试的任务是诊断和改正程序中的错误。

它与软件测试不同,软件测试是尽可能多地发现软件中的错误。

先要发现软件的错误,然后借助于一定的调试工具去找出软件错误的具体位置。

软件测试贯穿整个软件生命期,调试主要在开发阶段。

为了达到更好的测试效果,应该由独立的第三方来构造测试。

因为从心理学角度讲,程序人员或设计方在测试自己的程序时,要采取客观的态度是程度不同地存在障碍的。

软件的运行和维护是指将已交付的软件投入运行,并在运行使用中不断地维护,根据新提出的需求进行必要而且可能的扩充和删改。

2006年(秋)江苏二级C语言笔试试卷

2006年(秋)江苏二级C语言笔试试卷

江苏省高等学校非计算机专业学生计算机基础知识和应用能力等级考试二级C 语言程序设计2006 年(秋)笔试试卷(考试时间120 分钟,满分60 分)第一部分计算机基础知识(1)在下列有关集成电路的叙述中,错误的是__________。

A)集成电路的规模是根据其所包含的电子元件数目进行划分的B)大规模集成电路一般以功能部件和子系统为集成对象C)现代集成电路使用的半导体材料主要是硅(Si)D)集成电路技术发展很快,至2005 年初已达到线宽0.001μm 的工艺水平(2)在下列有关通信技术的叙述中,错误的是__________。

A)电视节目的传输目前采用的还都是模拟传输技术B)模拟调制的方法有3 种,即调频、调幅和调相C)数字信号不经过调制就在信道上直接进行传输,称为“基带传输”D)用户使用MODEM 通过电话线上网时,采用的是数字调制技术(3)所谓“变号操作”,是指将一个整数变成绝对值相同但符号相反的另一个整数。

假设使用补码表示的8 位整数X=10010101,则经过变号操作后,结果为__________。

A)01101010 C)11101010 B)00010101 D)01101011(4)若计算机内存中连续2 个字节的内容其十六进制形式为34 和64,则它们不可能是__________。

A)2 个西文字符的ASCII 码C)1 个16 位整数B)1 个汉字的机内码D)图像中1 个或2 个像素的编码(5)在下列关于指令和指令系统的叙述中,错误的是__________。

A)指令是构成程序的基本单元,它用来规定计算机执行什么操作B)指令由操作码和操作数组成,操作数的个数由操作码决定C)Intel 公司Pentium 系列的各种微处理器,其指令完全不同D)Pentium 处理器的指令系统包含数以百计的不同指令(6)在下列关于BIOS 及CMOS 存储器的叙述中,错误的是__________。

A)BIOS 是PC 机软件最基础的部分,包含POST 程序、CMOS 设置程序、系统自举程序等B)BIOS 存放在ROM 存储器中,通常称为BIOS 芯片,该存储器是非易失性的C)CMOS 中存放着基本输入输出设备的驱动程序和一些硬件参数,如硬盘的数目、类型等D)CMOS 存储器是易失性的,在关机时由主板上的电池供电(7)PC 机的机箱外面常有很多接口,用来连接外围设备。

2006年4月全国计算机等级考试二级C++笔试试题及答案

2006年4月全国计算机等级考试二级C++笔试试题及答案

(8)“商品”与“顾客”两个实体集之间的联系一般是 A.一对一 B.一对多 C.多对一 D.多对多 (9)在 E-R 图中,用来表示实体的图形是 A.矩形 B.椭圆形 C.菱形 D.三角形 (10)数据库 DB、数据库系统 DBS、数据库管理系统 DBMS 之间的关系是 A.DB 包含 DBS 和 DBMS B.DBMS 包含 DB 和 DBS C.DBS 包含 DB 和 DBMS D.没有任何关系
பைடு நூலகம்
C.cin 是一个预定义的输入流类<br> D.输出流有一个名为 open 的成员函数,其作用是生成一个新的流对象<br> (17)下列符号中可以用作 C++标识符的是<br> A._radius <br> B.foo~bar <br> C.else <br> D.3room<br> (18)下列语句中,错误的是<br> A.const int buffer=256; <br> B.const int temp;<br> C.const double *point; <br> D.const double *rt =new double(5.5);<br> (19)有如下程序:<br>int x=3;<br>do{<br>x -= 2;<br>cout&lt;<br>}while(!(--x));<br>执行这 个程序的输出结果是<br> A. 1 <br> B.3 0 <br> C. l-2 <br> D.死循环<br> (20)有如下程序:<br>#include<br>using namespace std;<br>int main()<br>{<br>int *p;<br>*p = 9;<br>cout&lt;&lt;"The value at p:"&lt;&lt;*p;<br>return 0;<br>}<br>编译运行程序将出现 的情况是<br> A.够编译时出现语法错误,不能生成可执行文件<br> B.运行时一定输出:The value at p: 9<br> C.运行时一定输出:The value at p: *9<br> D.运行时有可能出错 (21)有如下程序: #include using namespace std; int main() { void function(double val); double val; function(val); cout< return 0; } void function(double val) { val = 3; } 编译运行这个程序将出现的情况是 A.编译出错,无法运行 B.输出:3 C.输出:3.0

2006年4月全国计算机等级考试二级Access笔试试题

2006年4月全国计算机等级考试二级Access笔试试题

计算机等级考试二级C语言模拟试题及答案(七)一、选择题(每题2分,共计70分)1.下列叙述中正确的是(A)A)线性表是线性结构 B)栈与队列是非线性结构C)线性链表是非线性结构 D)二叉树是线性结构2.非空的循环单链表head的尾结点(由p所指向),满足 (C)A)p->next==NULL B)p==NULLC)p->next=head D)p=head3.已知数据表A中每个元素距其最终位置不远,为节省时间,应采用的算法是 (B) A)堆排序 B)直接插入排序C)快速排序 D)直接选择排序4.对建立良好的程序设计风格,下面描述正确的是(A)A)程序应简单、清晰、可读性好B)符号名的命名只要符合语法C)充分考虑程序的执行效率D)程序的注释可有可无5.下列不属于结构化分析的常用工具的是(D)A)数据流图 B)数据字典C)判定树 D)PAD图6.在软件生产过程中,需求信息的给出是(D)A)程序员 B)项目管理者C)软件分析设计人员 D)软件用户7.下列工具中为需求分析常用工具的是(D)A)PAD B)PFDC)N-S D)DFD8.NULL是指(C)A)0 B)空格C)未知的值或无任何值 D)空字符串9.数据库的故障恢复一般是由(C)A)数据流图完成的 B)数据字典完成的C)DBA完成的 D)PAD图完成的10.下列说法中,不属于数据模型所描述的内容的是(C)A)数据结构 B)数据操作C)数据查询 D)数据约束11.C语言程序的基本单位是(C)A)程序行 B)语句C)函数 D)字符12.下面四个选项中,均是合法整型常量的选项是(A)A)160-0xffff011 B)-0xcdf01a0xeC)-01986, D)-0x48a2e50x13.以下选项中合法的用户标识符是(B)A)long B)_2TestC)3Dmax D)A.dat14.假定x和y为double型,则表达式x=2,y=x+3/2的值是(D)A)3. B)3C)2. D)3.15.设x,y,t均为int型变量,执行下列语句后,y的值为(C)x=y=3;t=++x||++y;A)不确定 B)4C)3 D)116.已知i,j,k为int型变量,若从键盘输入:1,2,3<回车>,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是(CB)A)scanf("-,-,-", i, j, k);B)scanf("%d %d %d",&i,&j,&k);C)scanf("%d,%d,%d",&i,&j,&k);D)scanf("i=%d,j=%d,k=%d",&i,&j,&k);17.下列程序运行的结果是main(){float x;int i;x=3.6;i=(int)x;printf("x=%f,i=%d ",x,i);} (A)A)x=3.,i=3 B)x=3.6,i=3C)x=3,i=3 D)x=3.,i=3.18.若执行下面的程序时,从键盘上输入5和2,则输出结果是(C)main(){int a,b,k;scanf("%d,%d ",&a,&b);k=a;if(aelse k=b%a;printf("%d\n ",k);}A)5 B)3C)2 D)019.C语言中 while 和do-while循环的主要区别是(A)A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件更严格C)do-while允许从外部转到循环体内D)do-while 的循环体不能是复合语句20.以下程序的输出结果是main(){int x=1,y=3;printf("%d,",x++);{ int x=0;x+=y*2;printf("%d,%d, ",x,y);}printf("%d,%d\n",x,y);} (C)A)1,6,3,1,3 B)1,6,3,6,3C)1,6,3,2,3 D)1,7,3,2,321.下面程序输出的结果是(BC)main(){int i;int a[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)printf("%d ",a[2-i][i]);}A)1 5 9 B)7 5 3C)3 5 7 D)5 9 122.请阅读以下程序main(){int a=5,b=0,c=0;if(a=b+c)printf("***\n");else printf("$$$\n");}以上程序(DB)A)有语法错不能通过编译B)可以通过编译但不能通过连接C)输出***D)输出$$$23.下面函数的功能是char *fun(char *str1,char*str2){while((*str1)&&(*str2++=*str1++)); return str2;} (CB)A)求字符串的长度B)比较两个字符串的大小C)将字符串str1复制到字符串str2中D)将字符串str1接续到字符串str2中24.设有如下定义char *s[2]={ "abcd","ABCD"};则下列说法错误的是(C)A)s数组元素的值分别是"abcd"和"ABCD"两个字符串的首地址B)s是指针数组名,它含有两个元素分别指向字符型一维数组C)s数组的两个元素分别存放的是含有4个字符的一维字符数组中的元素D)s数组的两个元素中分别存放了字符′a′和′A′的地址25.以下不能对二维数组a进行正确初始化的语句是(C)A)int a[2][3]={0};B)int a[][3]={{1,2},{0}};C)int a[2][3]={{1,2},{3,4},{5,6}};D)int a[][3]={1,2,3,4,5,6};26.有以下程序struct STU{ char num[10]; float score[3]; };main(){struct STU s[3]={{"20021",90,95,85},{"20022",95,80,75},{ "20023",100,95,90},},*p=s;int i; float sum=0;for(i=0;i<3;i++)sum=sum+p->score[i];printf("%6.2f\n",sum);}程序运行后的输出结果是(B)A)260.00 B)270.00C)280.00 D)285.0027.设有如下函数fun (float x){printf("\n%d",x*x);}则函数的类型是(CA)A)与参数x的类型相同 B)是voidC)是int型 D)无法确定28.有如下定义#define D 2int x=5;float y=3.83;char c=′D′;则下面选项中错误的是(DC)A)x++; B)y++;C)c++; D)D++;29.C语言规定,函数返回值的类型是由(DA)A)return语句中的表达式类型所决定B)调用该函数时的主调函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的函数类型所决定30.下列程序的运行结果是void fun(int *a,int *b){int *k;k=a;a=b;b=k;}main(){int a=2004, b=9,*x=&a,*y=&b;fun(x,y);printf("%d%d",a,b);} (A B)A)2004 9 B)9 2004C)0 0 D)编译时出错31.下列程序是用来判断数组中特定元素的位置所在。

2006年4月全国计算机等级考试二级C笔试试卷(含参考答案)

2006年4月全国计算机等级考试二级C笔试试卷(含参考答案)

2006年4月二级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)双向链表5)下列叙述中正确的是A)线性链表是线性表的链式存储结构B)栈与队列是非线性结构C)双向链表是非线性结构D)只有根结点的二叉树是线性结构6)对如下二叉树进行后序遍历的结果为A) ABCDEFB) DBEAFCC) ABDECFD) DEBFCA7)在深度为7的满二叉树中,叶子结点的个数为A)32B)31C)64D)638)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多9)在E-R图中,用来表示实体的图形是B)椭圆形C)菱形D)三角形10)数据库DB,数据库系统DBS,数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMSB)DBMS包含DB和DBSC)DBS包含DB和DBMSD)没有任何关系11)以下不合法的用户标识符是A)j2_KEYB)DoubleC) 4dD) _8_12)以下不合法的数值常量是A)011B)lelC) 8.0 E0.5D) 0xabcd13)以下不合法的字符常量是A)'\018'B '\”'C) '\\'D) ‘\xcc'14)表达式3.6-5/2+1.2+5%2的值是A)4.3B) 4.8C) 3.3D) 3.815)以下能正确定义字符串的语句是A)char str[]={‘\064'};B) char str=”\x43”;C) char str=”;D) char str[]=”\0”;16)以下数组定义中错误的是A) int x[][3]={0};B) int x[2][3]={{1,2},{3,4},{5,6}};C) nt x[][3]={{1,2,3},{4,5,6}};D)int x[2][3]={1,2,3,4,5,6};17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc()B) gets()C) getchar()D) scanf()18) 下四个程序中,完全正确的是A)#include B)#includemain(); main(){/*programming*/ {/*/programming/*/printf(“programming!\n”);} printf(“programming!\n”);}C) #include D) includemain() main(){/*/*programming*/*/ {/*programming*/printf(“programming!\n”);} printf(“programming!\n”);}19)若有定义:float x=1.5; int a=1,b=3,c=2;则正确的switch语句是A)switch(x) B) switch((int)x);{case 1.0: printf(“*\n”); {case 1: printf(“*\n”);Case 2.0: printf(“**\n”); } case 2: printf(“**\n”);}C) switch(a+b) D) switch(a+b){ case 1: printf(“*\n”); {case 1: printf(*\n”);case 2+1: printf(“**\n”);} case c: printf(“**\n”);}20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main() B) float fun(int a,int b){……}{……x=fun(2,10);……} main()float fun(int a,int b){……} {……x=fun(i,j);……}C)float fun(int,int); D) main()main() { float fun(int i,int j);{……x=fun(2,10);……} ……x=fun(i,j);……}float fun(int a,int b){……} float fun(int a,int b){……}21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E=0)B) (E>0||E<0)D) (E!=0)22)要求通过while循环不断读入字符,当读入字母N时结束循环。

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

2006年4月全国计算机等级考试二级笔试试卷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)ABCDEF B)DBEAFC C)ABDECF D)DEBFCA(7)在深度为7的满二叉树中,叶子结点的个数为A)32 B)31 C)64 D)63(8)“商品”与“顾客”两个实体集之间的联系一般是A)一对一B)一对多C)多对一D)多对多(9)在E-R图中,用来表示实体的图形是A)矩形B)椭圆形C)菱形D)三角形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是A)DB包含DBS和DBMS B)DBMS包含DB和DBSC)DBS包含DB和DBMS D)没有任何关系(11)以下不合法的用户标识符是A)j2_KEY B)Double C)4d D)_8_(12)以下不合法的数值常量是A)011 B)1e1 C)8.0E0.5 D)0xabcd(13)以下不合法的字符常量是A)'\018' B) '\"' C) '\\' D) '\xcc'(14)表达式3.6-5/2+1.2+5%2的值是A)4.3 B)4.8 C)3.3 D)3.8(15)以下能正确定义字符串的语句是A)char str[]={'\064'}; B)char str="kx43";C)char str="; D)char str[]="\0";(16)以下数组定义中错误的是A)int x[][3]={0}; B)int x[2][3]={{l,2},{3,4},{5,6}};C)int x[][3]={{l,2,3},{4,5,6}}; D)int x[2][3]={l,2,3,4,5,6};(17)若要求从键盘读入含有空格字符的字符串,应使用函数A)getc() B)gets() C)getchar() D)scanf()(18)以下四个程序中,完全正确的是A)#include <stdio.h> B)#include <stdio.h>main(); main(){/*programming*/ {/*/ programming /*/printf("programming!\n");} printf("programming!\n");}C)#include <stdio.h> D)include <stdio.h>main() main(){/*/*programming*/*/ {/*programming*/printf("programming!\n");} printf("programming!\n");}(19)若有定义: float x=1.5; int a=1,b=3,c=2; 则正确的switch语句是A)switch(x) B)switch((int)x);{ case 1.0: printf("*\n"); { case 1: printf("*\n");case 2.0: printf("**\n");} case 2: printf("**\n");}C)switch(a+b) D)switch(a+b){ case 1: printf("*\n"); { case 1: printf("*\n");case 2+1: printf("**\n");} case c: printf("**\n");}(20)若各选项中所用变量已正确定义,函数fun中通过return语句返回一个函数值,以下选项中错误的程序是A)main() B)float fun(int a,int b){……}{ …… x=fun(2,10); ……} main()float fun(int a,int b){……} { …… x=fun(i,j); ……}C)float fun(int,int); D)main()main() { float fun(int i,int j);{ …… x=fun(2,10); ……} …… x=fun(i,j); ……}float fun(int a,int b) {……} float fun(int a,int b){……}(21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式是A)(!E==0) B)(E>0‖E<0) C)(E==0) D)(E!=0)(22)要求通过while循环不断读入字符,当读入字母N时结束循环。

若变量已正确定义,以下正确的程序段是A)while((ch=getchar())!='N') printf("%c",ch);B)while(ch=getchar()!='N') printf("%c",ch);C)while(ch=getchar()=='N') printf("%c",ch);D)while((ch=getchar())=='N') printf("%c",ch);(23)已定义以下函数int fun(int *p){ return *p;)fun函数返回值是A)不确定的值B)一个整数C)形参P中存放的值D)形参P的地址值(24)若有说明语句: double *p,a;则能通过scanf语句正确给输入项读入数据的程序段是A)*p=&a; scanf("%1f",p); B)*p=&a; scanf("%f",p);C)p=&a; scanf("%1f",*p); D)p=&a; scanf("%1f",p);(25)现有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中连续的三个结点。

struct node{ char data;struct node *next;} *p,*q,*r;dat a nextdatanextdatanext…… A B C ……p q r现要将q和r所指结点交换前后位置,同时要保持链表的连续,以下不能完成此操作的语句是A)q->next=r->next;p->next=r;r->next=q; B)p->next=r;q->next=r->next;r->next=q;C)q->next=r->next;r->next=q;p->next=r; D)r->next=q;p->next=r;q->next=r->next;(26)有以下程序段struct st{int x;int *y;)*pt;int a[]={l,2},b[]={3,4};struct st c[2]={10,a,20,b};pt=c;以下选项中表达式的值为11的是A)*pt->y B)pt->x C)++pt->x D)(pt++)->x(27)设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为A)EOF B)非0值C)0 D)NULL(28)设有以下语句int a=1,b=2,c;c=a^(b<<2);执行后,C的值为A)6 B)7 C)8 D)9(29)有以下程序#include <stdio.h>main(){ char c1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar(); c6=getchar();putchar(c1); putchar(c2);printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是A)1267 B)1256 C)1278 D)1245(30)有以下程序main(){ int y=10;while(y--);printf("y=%d\n",y);}程序执行后的输出结果是A)y=0 B)y=-1 C)y=1 D)while构成无限循环(31)有以下程序main(){ int a=0,b=0,c=0,d=0;if(a=1) b=1;c=2;else d=3;printf("%d,%d,%d,%d\n",a,b,c,d);}程序输出A)0,1,2,0 B)0,0,0,3 C)1,1,2,0 D)编译有错(32)有以下程序main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf("x=%d\n",x);}程序执行后的输出结果是A)x=4 B)x=8 C)x=6 D)x=12(33)有以下程序int fun1(double a){return a*=a;}int fun2(double x,double y){ double a=0,b=0;a=fun1(x);b=fun1(y);return(int)(a+b);}main(){ double w; w=fun2(1.1,2.0);……}程序执行后变量w中的值是A)5.21 B)5 C)5.0 D)0.0(34)有以下程序main(){ int i,t[][3]={9,8,7,6,5,4,3,2,1};for(i=0;i<3;i++) printf("%d",t[2-i][i]);}程序执行后的输出结果是A)7 5 3 B)3 5 7 C)3 6 9 D)7 5 1(35)有以下程序fun(char p[][10]){ int n=0,i;for(i=0;i<7;i++)if(p[i][0]=='T')n++;return n;}main(){ char str[][10]={"Mon","Tue","Wed","Thu","Fri","Sat","Sun"};printf("%d\n",fun(str));}程序执行后的输出结果是A)1 B)2 C)3 D)0(36)有以下程序main(){ int i,s=0,t[]={l,2,3,4,5,6,7,8,9};for(i=0;i<9;i+=2) s+=*(t+i);printf("%d\n",s);}程序执行后的输出结果是A)45 B)20 C)25 D)36(37)有以下程序void fun1(char *p){ char *q;q=p;while(*q!='\0'){ (*q)++; q++; )}}main(){ char a[]={"Program"),*p;p=&a[3];fun1(p);printf("%s\n",a);}程序执行后的输出结果是A)Prohsbn B)Prphsbn C)Progsbn D)Program(38)有以下程序void swap(char *x,char *y){ char t;t=*x; *x=*y; *y=t;}main(){ char *s1="abc",*s2="123";swap(s1,s2);printf("%s,%s\n",s1,s2);}程序执行后的输出结果是A)123,abc B)abc,123 C)1bc,a23 D)321,cba(39)有以下程序int fun(int n){ if(n==1)return 1;elsereturn(n+fun(n-1));}main(){ int x;scanf("%d",&x); x=fun(x);printf("%d\n",x);}执行程序时,给变量X输入10,程序的输出结果是A)55 B)54 C)65 D)45(40)有以下程序int fun(int x[],int n){ static int sum=0,i;for(i=0;i<n;i++) sum+=x[i];return sum;}main(){ int a[]={1,2,3,4,5},b[]={6,7,8,9},s=0;s=fun(a,5)+fun(b,4);printf("%d\n",s);}程序执行后的输出结果是A)45 B)50 C)60 D)55(41)有以下程序main(){ union{ char ch[2];int d;} s;s.d=0x4321;printf("%x,%x\n",s.ch[0],s.ch[1]);}在16位编译系统上,程序执行后的输出结果是A)21,43 B)43,21 C)43,00 D)21,00(42)有以下程序main(){ char *p[]={"3697","2584"};int i,j; long num=0;for(i=0;i<2;i++){j=0;while(p[i][j]!='\0'){ if((p[i][j]-'0')%2)num=10*num+p[i][j]-'0';j+=2;}}printf("%d\n",num);}程序执行后的输出结果是A)35 B)37 C)39 D)3975(43)执行以下程序后,test.txt文件的内容是(若文件能正常打开)#include <stdio.h>main(){ FILE *fp;char *s1="Fortran",*s2="Basic";if((fp=fopen("test.txt","wb”))==NULL){ printf("Can't open test.txt file\n");exit(1);}fwrite(s1,7,1,fp); /*把从地址s1开始的7个字符写到fp所指文件中*/fseek(fp,0L,SEEK_SET); /*文件位置指针移到文件开头*/fwrite(s2,5,1,fp);fclose(fp);}A)Basican B)BasicFortran C)Basic D)FortranBasic(44)以下叙述中错误的是A)C语言源程序经编译后生成后缀为.obj的目标程序B)C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C)用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D)C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令(45)以下叙述中错误的是A)算法正确的程序最终一定会结束B)算法正确的程序可以有零个输出C)算法正确的程序可以有零个输入D)算法正确的程序对于相同的输入一定有相同的结果(46)以下叙述中错误的是A)C程序必须由一个或一个以上的函数组成B)函数调用可以作为一个独立的语句存在C)若函数有返回值,必须通过return语句返回D)函数形参的值也可以传回给对应的实参(47)设有以下定义和语句char str[20]="Program",*p;p=str;则以下叙述中正确的是A)*p与str[0]的值相等B)str与p的类型完全相同C)str数组长度和p所指向的字符串长度相等D)数组str中存放的内容和指针变量p中存放的内容相同(48)以下叙述中错误的是A)C程序中的#include和#define行均不是C语句B)除逗号运算符外,赋值运算符的优先级最低C)C程序中,j++;是赋值语句D)C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算(49)以下叙述中正确的是A)预处理命令行必须位于C源程序的起始位置B)在C语言中,预处理命令行都以"#"开头C)每个C程序必须在开头包含预处理命令行: #include<stdio.h>D)C语言的预处理不能实现宏定义和条件编译的功能(50)以下叙述中错误的是A)可以通过typedef增加新的类型B)可以用typedef将已存在的类型用一个新的名字来代表C)用typedef定义新的类型名后,原有类型名仍有效D)用typedef可以为各种类型起别名,但不能为变量起别名二、填空题(每空2分,共40分)请将每一个空的正确答案写在答题卡【1】至【20】序号的横线上,答在试卷上不得分。

相关文档
最新文档