2007春C++语言程序设计B卷答案

合集下载

2007春C++语言程序设计B卷

2007春C++语言程序设计B卷

课程号:0401045 《计算机高级语言(C++)》期末考试试卷(B卷)考试形式:闭卷考试考试时间:120分钟班号学号姓名得分一、简答题(本大题共10小题,每小题3分,共30分)1、C++语言具有面向对象程序设计语言的哪些主要特征?2、指针运算的实质是什么?有哪几种基本形式?3、在C++语言中,符号常量有那几种定义形式?请给出实例。

4、在C++语言中,存储类型static的含义是什么?5、设置函数参数的默认值有何作用?在实际应用中要注意什么事情?6、请给出struct类类型定义的一般形式。

7、class类类型中,析构函数具有什么特征?8、类定义体中,有些函数之前有关键字virtual的意义是什么?9、请说明内联函数与外联函数有什么不同?10、C++语言里,重载有那几种方式?二、数据与运算(本大题共10小题,每小题2分,共20分)1、若int x=1,y=0; 则表达式(y = = x>>2)? x/++y : ++x 的运算结果是什么? 答:2、若int x=10, y(0), *p=&y ; 则经过y+=1, *p=++x+(- -y) 的运算之后,cout<<x << “ ” << y<<endl; 的输出结果是什么?答:3、若unsigned char x=016, y =0xf6; 则x^~y 的值是什么?答:4、若int x(0), y=2 ; 则经过语句y+=x+2, x+=++y, x+=y- -; 的运算, 则x, y的结果各是什么?答:5、若char x = ’2’, y = ’=’ ;int z; z = x + = 3; 则cout<< x<< y << z <<endl; 的输出结果是什么?答:6、若int x, data[8]={1, 2 , 3, 4, 5, 6, 7, 8}; 则x=*(data+1)+*(&data[3]-2) 之后,x存放的数是什么?答:7、若说明int a[8]={10,9,8,7,6,5,4,3}, *p=&a[1]; 则经过表达式*(p-3)+=(*++p+=1, *++p+=1, a[2]+a[3] ); 运算之后,则数组a各元素的值是什么?答:8、若struct MyData { int a; float b ; char c[3];}; MyData x ={ 10, 2.0f, “ab”},*y=&x;则经过x.c[1]++, (y->b) += 10+x.a++ ; 运算,x的各分量结果是什么?答:9、若定义union MyUnion{char x[2]; int y;};(设int占4个字节),说明MyUnion MyKey, *pKey=&MyKey; pKey->y=0, pKey->x[0]=’2’;则表达式(*pKey) . y 的结果是什么?答:10、若说明int a=-1; double b(6) ; 则表达式(a<<2) * sizeof(b) 的值是什么?答:三、给出下列程序的运行输出结果(本大题共3小题,每小题5分,共15分)1、#include<iostream.h>int f(int n){ if(n==1) return 1;else return f(n-1)+1;}void main(){ int i,j=0;for(i=1;i<5;i++) j+=f(i);cout<<j<<endl;}答案:2、int d=1;#include "stdio.h"int fun(int p){ static int d=10; d +=p; printf("%d ",d);return(d);}void main( void ){int a=5; printf("%d \n",fun( fun(a) - fun(d) ));}答案:3、#include <iostream.h>class CPoint{ public:CPoint(int xx=0, int yy=0) {X=xx; Y=yy; countP++; }~CPoint(){ countP--; }void GetC() {cout<<"countP="<<countP<<endl;}private:int X,Y;static int countP;};int CPoint::countP=0;void main(){ CPoint A(4,5),B;A.GetC();{ CPoint C(1,2); C.GetC(); }B.GetC();}答案:四、程序填空题(每空2分,共20分)阅读下列程序以及运算结果,填空使得下列程序成为一个完整的程序。

2007年(春)答案

2007年(春)答案

2007年(春)笔试试卷第一部分计算机基础知识1.微电子技术是信息技术领域的关键技术,它以集成电路(IC)为核心。

在下列有关叙述中,错误的是。

A.目前IC芯片(如CPU芯片)的集成度可达数千万个电子元件B.Moor定律指出,单块IC的集成度平均每半年翻一番C.从原材料熔炼到最终产品包装,IC的制造工序繁多,工艺复杂,技术难度非常高D.非接触式IC卡采用电磁感应方式无线传输数据,所以又称为射频卡或感应卡2.在下列有关通信中使用的传输介质的叙述中,错误的是。

A.计算机局域网中大多数使用无屏蔽双绞线,其无中继有效传输距离大约100mB.同轴电缆可用于传输电视信号C.光纤价格高,一般不在校园网和企业网中使用D.微波的波长很短,适合于长距离、大容量无线通信3.二进制数(1010)2与十六进制数(B2)16相加,结果为。

A.(273)8B.(274)8C.(314)8D.(313)84.设有一段文本由基本ASCII字符和GB2312字符集中的汉字组成,其代码为B0 A1 57 69 6E D6D0 CE C4 B0 E6,则在这段文本中含有。

A.1个汉字和9个西文字符 C.3个汉字和5个西文字符B.2个汉字和7个西文字符 D.4个汉字和3个西文字符5.在下列有关CPU的叙述中,错误的是。

A.CPU的主要组成部分有运算器、控制器和寄存器组B.CPU的主要功能是执行指令,不同类型CPU的指令系统通常有所不同C.为了加快运算速度,CPU中可包含多个算术逻辑部件(ALU)D.目前PC机所用的CPU芯片均为Intel公司的产品6.PC机在加电启动过程中会运行POST程序、引导程序、系统自举程序等。

若在启动过程中,用户按某一热键(通常是Del键)则可以启动CMOS设置程序。

这些程序运行的顺序是。

A.POST程序→CMOS设置程序→系统自举程序→引导程序B.POST程序→引导程序→系统自举程序→CMOS设置程序C. CMOS设置程序→系统自举程序→引导程序→POST程序D.POST程序→CMOS设置程序→引导程序→系统自举程序7.目前PC机一般都有USB和FireWire接口,用于连接各种外部设备。

C语言程序设计期末试题B及答案

C语言程序设计期末试题B及答案

C语言程序设计教程期末考试试卷(B卷)(考试时间90分钟,满分100分)一、选择题(每小题1分,共20分)下面各题A、B、C、D四个选项中,只有一个选项是正确的,请将正确选项涂抹在答题卡相应的位置上,答在试卷上不得分。

1. 在C语言中,下列标识符中合法的是( )A. -intB. in1_3C. A_B!DD. const2. 不属于C语言基本数据类型的是( )A. intB. unionC. charD. unsigned3. 下面是对宏定义的描述。

不正确的是( )A. 宏不存在类型问题,宏名无类型,它的参数也无类型B. 宏替换不占用运行时间C. 宏替换只是字符串的简单替代D. 宏替换时先检查类型,类型一致时才可以替换4. C语言中,″\\xfds″在内存中占用的字节数是( )A. 3B. 4C. 5D. 65. 设int x;则执行printf(″%x\n″,~x^x);的结果是( )A. ffffffffB. ffC. 0D. 16. 对于while语句,错误的说法是( )A. 用条件控制循环体的执行次数B. 循环体至少要执行一次C. 循环体有可能一次也不执行D. 循环体中可以包含若干条语句7. 执行下列语句后输出的结果是( )int a=8,b=7,c=6;if(a<b)if(b>c){a=c;c=b;}printf("%d,%d,%d\n",a,b,c);A. 6,7,7B. 6,7,8C. 8,7,6D. 8,7,88. 设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是( )A. 9,19B. 9,20C. 10,19D. 10,209. 设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么( )A. x数组的长度等于y数组的长度B. x数组的长度大于y数组的长度C. x数组的长度少于y数组的长度D. x数组与y数组的存储区域相同10. 设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是( )for(i=0;i<3;i++)printf(″%d″,x[i][2-i]);A. 147B. 159C. 357D. 36911. 执行完下列语句后,n的值是( )int n;for (n=0 ; n<100 ; n=2*n+1);A. 125B. 126C. 127D. 12812. 有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果( )A. –132B. –60C. -24D. 013. 为了连接两个字符串s1与s2,应当使用( )A. strcat( s1,s2 )B. strcpy( s1, s2 )C. strlen( s1, s2 )D. strcmp( s1, s2 )14. 设int a,*p;则语句p=&a;中的运算符“&”的含义是( )A. 位与运算B. 逻辑与运算C. 取指针内容D. 取变量地址15. 下面输出的结果为( )int a=13, b=64;printf(“%d\n”, !a || (b>>3) );A. 13B. 64C. 1D. 016. 下列定义正确的是( )A. enum t={a,b}x;B. enum t{1,2}x;C. enum {′+′,′-′}x;D. enum t{a,b}x;17. 设有定义:struct u{int a[4];float b[3]; char c[16];}aa;则printf(″%d\n″,sizeof(aa));的输出是( )A. 32B. 36C. 12D. 818. 数据-54.78在文本文件中占用的字节个数是( )A. 4B. 5C. 6D. 819. 在宏定义#define p(r) 3.14*r中,请问宏名是( )A. pB. p(r)C. 3.14*rD. p(r) 3.14*r20. 要打开一个已存在的用于修改的非空二进制文件“hello.txt”,正确语句是( )A. fp=fopen( "hello.txt ","r" )B. fp=fopen( "hello.txt ","ab+" )C. fp=fopen( "hello.txt ","w" )D. fp=fopen( "hello.txt ","r+" )二、填空题(每小题4分,共36分)请将每一个空的正确答案写在答题卡相对应的横线上,答在试卷上不得分。

2007春C++语言程序设计B卷答案

2007春C++语言程序设计B卷答案

课程号:0401045《计算机高级语言(C++)》期末考试试卷(B卷)标准答案考试形式:闭卷考试考试时间:120分钟一、简答题(本大题共10小题,每小题3分,共30分)1、C++支持数据封装;C++类中包含私有、公有和保护成员;C++中通过发送消息来处理对象;C++中允许友元破坏封装性;C++允许函数名和运算符重载;C++支持继承性;C++支持动态联编。

(每答对一个得1分。

)2、指针运算的实质是地址的计算(1.5分);指针运算的种类是有限的,它只能进行算术运算、关系运算和赋值运算(每对一个得0.5分)。

3、两种:1)const <数据类型> <标识符> = <值>;(1分)如const int Max=12;(0.5分)2)#define <符号常量名称> <常量>(1分),如#define Max 12(0.5分)。

4、static表示定义的变量是静态变量(1分),在内存中是以固定地址存放的,而不是以堆栈方式存放的。

只要程序还在继续运行静态变量就不会随着声明它的程序段的结束而消失(1分)。

函数体内定义的static 变量,具有全局寿命但局部可见;函数体外定义的static变量,具有全局寿命全局可见(1分)。

5、在函数说明语句中预先初始化一些参数的值,从而使调用语句中相应的参数可以缺省(1分)。

设置函数参数的默认值是按从右至左的方式;参数默认值设置必须出现在函数调用之前,并且只能设置一次(2分)。

6、struct <结构体名称>{<数据类型1> <成员1>;<数据类型2> <成员2>;…….<数据类型n> <成员n>;} ;7、析构函数的函数名为类名前加“~”;没有参数,不指定返回类型;一个类内只能声明一个析构函数,必须是公有的;在对象终止时由系统自动调用,以释放分配给对象的内存;析构函数可以被调用;如果类中没有声明,编译器也会自动生成一个默认的析构函数。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案默认分类2007-09-10 12:38:44 阅读6618 评论13 字号:大中小订阅【习题1】一、简答题(在课本中寻找答案,略)1.1 C程序的基本结构包括哪些内容?1.2 如何定义标识符?1.3 输入格式、输出格式的组成包括哪些内容?1.4 C语言函数分为哪两类?1.5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头。

错误:main函数可以放在程序的任何位置。

并不限定在程序的开头。

1.8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现。

错误:不可以交叉出现,数据说明部分在执行语句部分的前面。

1.9 编辑与编译不是一回事。

错误:不是一回事。

编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。

1.10 scanf("%d,%d",&x,&y);的正确输入格式:3,4<回车>。

正确1.11 注释内容太多会影响程序的执行效率。

错误:不会影响程序的执行效率。

因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中。

1.12 所有的数学公式可以直接出现在源程序中。

错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。

三、编程题1.13 在屏幕上输出自己名字的拼音。

提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。

1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。

提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%.2f1.15 输入两个整数,输出其中最大者。

提示:模仿例1.31.16 输入三个整数,输出其中最小者。

提示: min(min(a,b),c);【习题2】一、简答题(在课本中寻找答案,略)2.1 常量与变量的区别?2.2 C语言中的标识符的定义规则?2.3 变量为什么要“先定义,后使用”?2.4 字符常量'a'与字符串常量"a"有何区别?2.5 大小写字母转换的规则是什么?2.6 变量的具有哪三种属性?二、单项选择题2.7C语言中,int型数据在内存中的存储形式是(D)。

2007年(春)笔试试卷

2007年(春)笔试试卷

• 11.以下程序运行后输出结果的第一行为1 3 13 , . 第二行为1 5 21 ,第三行为 2 8 24 。 • #include”stdio.h" . • #define N 3 • main() • { int a[N][N],b[N*N]={1,1},i,j; , , ,,; • for(i=2;i<N*N;i++)b[i]=b[i-1]+b[j-2]; ; ; ; • for(i=0;i<N;i++) ; ; • for(j=0;j<N;j++)a[j][i]=b[i*N+j]; ; ; ; • for(i=0;i<N;i++) ; ; • { for(j=0;j<N;j++)printf(”%5d”,a[i][j]); ; ; % , ; • printf(”\n”); ; • } • }
• 26.下面关于循环语句for、while、do一 .下面关于循环语句 、 、 一 while的叙述中正确的是 D 。 的叙述中正确的是 • A.三种循环语句的循环体都必须放入一对 . 花括号中 • B.三种循环语句中都可以缺省循环终止条 . 件表达式 • C.三种循环语句的循环体都至少被无条件 . 地执行一次 • D.三种循环语句都可能出现无穷循环 .
• 29.若有如下的类型定义和变量声明,则在给出的 .若有如不为 的表达式是 A 。 • A.ptr->a B.(++ptr)->a . . • C.x[1].a D.x[0].b->a . . • struct ss • { int a;struct ss*b;}x[3]={{5,&x[1]},{7, ; ; , , , &x[2]},{9,0}},*ptr=&x[0]; , , , ; • 30.若需要对一个数据文件abe.txt中的数据做加 .若需要对一个数据文件 . 中的数据做加 密处理并且限定只能做一次打开文件操作, 密处理并且限定只能做一次打开文件操作,则在 “fp=fopen(”abc.txt”,模式字符串 ;”中,模式 ,模式字符串); B 。 字符串应当是 • A.“w+“ B.“r+“ C.“a+“ D."r" . . . .

C++2007试卷B及答案

C++2007试卷B及答案

命题人: 审批人: 试卷分类(A 卷或B 卷) B五邑大学 试 卷学期: 2006 至 2007 学年度 第 2 学期 课程: 程序设计原理 专业: 计算机、电子、交通 班级: 姓名: 学号:选择题(30分,1.5*20)1、下列各组中全是字符串常量的是 ( )A) "a+b " "1+2=5" , "china " B) 'abc ' , 'xyz ' , '5'C) '123' , "456" , "789" D) '\n ' , "1+2=3" , "aaa " 2、下面各选项中,属于非法的C++整型常量的是( )A) 01 B) 0x11 C) 081 D) -32765 3、以下各选项中,(a ? )中都是C++语言保留字的A) cout, operator, this B) short, string, static C) if , while, >= D) private, public, printf 4、逻辑运算符两侧运算对象的数据类型 ( )A) 只能是0或1 B) 只能是0或非0数C) 只能是整型或字符型数据 D) 可以是任何类型的数据 5、 在函数中未指定存储类别的变量,其隐含存储类别为( b )A) 静态 B) 自动 C) 外部 D) 存储器6、 设有以下语句,对a 数组元素的引用中(其中0<=i<10),不正确的是(d ? )int a[10]={0,1,2,3,4,5,6,7,8,9},*p=a;A)a[p-a] B)*(&a[i]) C)p[i] D)*(*(a+i)) 7、 关于类型转换的说法中,错误的是( )A )如果a 为int 型变量,b 为char 型,则a+b 的值为int 型B )如果a 为float 型变量,b 为int 型,则a-b 的值为float 型C )如果a 为double 型变量,b 为float 型,则a*b 的值为double 型D )如果a 为int 型变量,b 为int 型,则a/(double)b 的值为int 型 8、 下列关于switch 语句的描述中,正确的是( a )C)switch语句中default字句只能放在最后D)switch语句中case子句后面的表达式可以是整型表达式9、对于switch(c)中的变量c不能定义为的类型是(d ?)A)unsigned B)int C)char D)float10、下面不属于C++语言的基本数据类型的是(b )A)字符类型B)枚举类型C)逻辑类型D)整数类型11、下列关于成员访问权限的描述中,不正确的是()A)公有数据成员和公有成员函数都可以被类对象直接处理B)类的私有数据成员只能被公有成员函数以及该类的任何元素或友元函数访问C)只有类和派生类的成员函数和友元函数可以访问保护成员D)保护成员在派生类中可以被访问,而私有成员不可以12、在重载一个运算符函数时,其参数表中没有任何参数,这说明该运算符是()A) 一元非成员运算符B) 一元成员运算符C) 二元非成员运算符D) 二元非成员运算符13、一个类的友元函数或友元类可以通过成员操作符访问该类的()A)私有成员B)保护成员C)公有成员D)所有成员14、下列关于派生类的描述中,错误的是()。

2007年春季江苏省二级c语言试题与答案

2007年春季江苏省二级c语言试题与答案

2007年春季江苏计算机C语言试题2007年春江苏省二级考试(C语言理论试题)(本试卷笔试时间为120分钟)说明:1.本试卷包括计算机基础知识部分和程序设计部分。

2.本试卷满分为60分,分选择题和填空题,试卷不分A、B类型。

3.计算机基础知识部分全部是选择题(20分),程序设计部分分为选择题(10分)和填空(30分)两种。

4.选择题用答题卡答题。

每一项有A、B、c、D四个可供选择的答案,请选择其中一个你认正确的答案,用HB铅笔或2B铅笔涂写在答题卡的相应答题号内。

每选对一项得1分,选或选错不得分。

5.填空题用答题纸答题。

请将答案用蓝色或黑色笔填写在答题纸的相应答题号内,每个答只占一行,不得换行。

每填对一个答案得1分,不填或填错不得分。

6.请认真填写并仔细核对答题卡和答题纸上的学校名称、准考证号和姓名。

7.考试结束时将试卷、答题卡和答题纸放在桌上,不得带走。

待监考人员收毕清点后,方离场。

第一部分基础知识1.微电子技术是信息技术领域的关键技术,它以集成电路(Ic)为核心。

下列有关叙述错误是(1) 。

A.目前Ic芯片(如CPU芯片)的集成度可达数千万个电子元件B.Moore定律指出,单块IC的集成度平均每半年翻一番c.从原料熔炼到最终产品包装,IC的制造工序繁多,工艺复杂,技术难度非常高D.非接触式Ic卡采用电磁感应方式无线传输数据,所以又称为射频卡或感应卡2.下列有关通信中使用的传输介质的叙述错误的是(2) 。

A.计算机局域网中大多使用无屏蔽双绞线,其无中继有效传输距离大约100mB.同轴电缆可用于传输电视信号.c.光纤价格高,一般不在校园网和企业网中使用D.微波的波长很短,适合于长距离、大容量无线通信3.二进制数(1010)与十六进制数(B2)相加,结果为(3) 。

A (273)8B (274)8C (314)8 D(313)84.设有一段文本由基本ASCII字符和GB2312字符集中的汉字组成,其代码为B0 A1 57 69 6E D6 DO CE C4 B0 E6,则在这段文本中含有(4) 。

中国计量-2007-2008第二学期《C语言程序设计(1)》课程考试试卷(B)及答案

中国计量-2007-2008第二学期《C语言程序设计(1)》课程考试试卷(B)及答案

《C语言程序设计(1)》课程考试试卷(B)及答案开课二级学院:信息、机电、计测、质安,考试时间:2008年6月27日18时、开卷□,允许带入场考生姓名:学号:专业:班级:试题1(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】水仙花数是指一个n(>=3)位数字的数,它等于每个数字的n次幂之和。

统计1000以内的水仙花数。

【程序】#include <stdio.h>void main( ){int i,g,s,b,t;for ( (1) ){(2)g=t%10;t=t/10;(3)b=t/10;if( (4) ){printf("%d ",i);}}}【供选择的答案】(1) A、i=100,i<1000,i++ B、i=100;i<999;i++C、i=100;i<1000;i++D、i=100,i<999,i++(2) A、t=i; B、i = t;C、t==i;D、;(3) A、s=t/10; B、s=t%10;C、s=t/100;D、s=t%100;(4) A、i==g*g*g+s*s*s+b*b*b B、 i==g*g+s*s+b*bC、i=g*g*g+s*s*s+b*b*bD、 i=g*g+s*s+b*b试题2(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

【程序说明】连续输入十个整数,找出并返回最大值及其下标。

运行示例:10 9 8 7 6 5 4 3 2 1max=10, imax=0【程序】#include <stdio.h>void main( ){int i, max, imax;(5)for (i=1; i<11; i++){scanf("%d", &a[i]);}max=a[1];(6)for(i=2; i<11; i++){if( (7) ){(8)imax=i;}}printf("max=%d, imax=%d\n", max, imax);}【供选择的答案】(5) A、int a[9]; B、int a[10];C、int a[11];D、int a(10);(6) A、; B、imax=1;C、imax=10;D、imax=0;(7) A、 max>a[i] B、 max<a{i}C、 max<(a+i)D、 max<a[i](8) A、a[i]=max; B、;C、max=a[i];D、max==a[i];试题3(每小题3分,共12分)阅读下列程序说明和程序,在每小题提供的若干可选答案中,挑选一个正确答案。

C语言程序设计(B)期末考试A卷-答案

C语言程序设计(B)期末考试A卷-答案

C语言程序设计(B)期末考试A卷-答案------------------------------------------作者------------------------------------------日期北京理工大学珠海学院2009 ~ 2010学年第二学期《C语言程序设计B》期末试卷(A)答案及评分标准一、选择题(每题 分,共 分)   ✌✌    ✌评分标准:答错不给分二、填空题(每空 分,共 分). 整型、实型、字符型. ☐❒♓⏹♦♐. ❖☐♓♎. ♓⏹♦ ♋❒❒♋⍓☯❝. 非. . ♌♓ ♍评分标准:每空一分,答错不给分三、程序阅读题(每题 分,共 分) ⌧⍓  ✉✁✉✁ 或者  四、简答题(每题 分,共 分)、编写程序,编译,连接,执行、顺序程序结构,选择(分支)程序结构,循环程序结构、‘♦’是字符型数据,在内存中只占一个字节“♦”是字符串,除了字符♦占用一个字节外,还有一个结束符号❼❼,一共占用两个字节的内存空间。

、值传递 和 地址传递值传递:函数调用时,为形参分配内存单元,并将实参的值复制到形参中,调用结束,形参所占的内存单元被释放,实参的内存单元仍然保留并维持原值。

地址传递:将实参数据的存储地址作为参数传递给形参。

形参与实参占用同样的内存单元,函数中对形参值的改变也会改变实参的值。

评分标准:按表述评分标准:按知识点给分。

五、编程题(每题 分,共 分)参考程序✁♓⏹♍●◆♎♏♦♦♎♓☐♒❖☐♓♎ ❍♋♓⏹☎✆♐●☐♋♦ ♋☯♋❖♏♦◆❍ ♓⏹♦ ♓♐☐❒☎♓♓♓✆♦♍♋⏹♐☎✂♐✂♋☯♓✆♦◆❍♋☯♓❝♋❖♏♦◆❍☐❒♓⏹♦♐☎✂♋❖♏♐⏹✂♋❖♏✆♐☐❒☎♓♓♓✆♓♐☎♋☯♓♋❖♏✆☐❒♓⏹♦♐☎✂♐⏹✂♋☯♓✆❝❝、参考程序:✁♓⏹♍●◆♎♏♦♦♎♓☐♒❖☐♓♎ ❍♋♓⏹ ☎ ✆♓⏹♦ ♓♦◆❍♐☐❒☎♓♓♓✆♦◆❍♐☐❒ ☎♓✆♓♐☎♓✆♦◆❍❝♓♐☎♦◆❍♓✆☐❒♓⏹♦♐☎✂♎⏹✂♓✆❝❝、参考程序:✁♓⏹♍●◆♎♏♦♦♎♓☐♒✁♓⏹♍●◆♎♏❍♋♦♒♒♓⏹♦ ♐◆⏹☎♐●☐♋♦ ♋♐●☐♋♦ ♌♐●☐♋♦ ♍✆♓♐☎♋♌♍✆❒♏♦◆❒⏹ ♏●♦♏ ♓♐☎♋♍♌✆❒♏♦◆❒⏹ ♏●♦♏ ♓♐☎♌♍♋✆❒♏♦◆❒⏹ ♏●♦♏❒♏♦◆❒⏹ ❝♋♦ ☐✆☐☎♋♌♍✆♦♦❑❒♦☎☐✉☎☐♋✆✉☎☐♌✆✉☎☐♍✆✆❒♏♦◆❒⏹ ♦❝❖☐♓♎ ❍♋♓⏹☎✆♐●☐♋♦ ♋♌♍☐♦☐♦☐❒♓⏹♦♐☎✂♓⏹☐◆♦ ♦♒♏ ♦♒❒♏♏ ♏♎♑♏✂✆♦♍♋⏹♐☎✂♐♐♐✂♋♌♍✆♓♐☎♐◆⏹☎♋♌♍✆✆☐❒♓⏹♦♐☎✂♦♒♏ ♦♒❒♏♏ ♏♎♑♏♦ ♍♋⏹ ⏹☐♦ ♌♏ ♋ ♦❒♓✂✆♏●♦♏♦♐◆⏹☎♋♌♍♦☐✆☐❒♓⏹♦♐☎✂♦♒♏ ♋❒♏♋ ♓♦♐⏹✂♦✆❝❝。

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

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

全国计算机等级考试二级C语言真题2007年4月(总分:88.00,做题时间:90分钟)一、{{B}}选择题{{/B}}(总题数:50,分数:50.00)1.下列叙述中正确的是(分数:1.00)A.算法的效率只与问题的规模有关,而与数据的存储结构无关B.算法的时间复杂度是指执行算法所需要的计算工作量√C.数据的逻辑结构与存储结构是一一对应的D.算法的时间复杂度与空间复杂度一定相关解析:[解析] 根据时间复杂度和空间复杂度的定义可知,算法的时间复杂度与空间复杂度并不相关。

数据的逻辑结构就是数据元素之间的逻辑关系,它是从逻辑上描述数据元素之间关系的,是独立于计算机中的,数据的存储结构是研究数据元素和数据元素之间的关系如何在计算机中表示,它们并非一一对应。

算法的执行效率不仅与问题的规模有关,还与数据的存储结构有关。

2.在结构化程序设计中,模块划分的原则是(分数:1.00)A.各模块应包括尽量多的功能B.各模块的规模应尽量大C.各模块之间的联系应尽量紧密D.模块内具有高内聚度、模块间具有低耦合度√解析:[解析] 在结构化程序设计中,一般较优秀的软件设计尽量做到高内聚、低耦合,这样有利于提高软件模块的独立性,这也是模块划分的原则。

3.下列叙述中正确的是(分数:1.00)A.软件测试的主要目的是发现程序中的错误√B.软件测试的主要目的是确定程序中错误的位置C.为了提高软件测试的效率,最好由程序编制者自己来完成软件测试的工作D.软件测试是证明软件没有错误解析:[解析] 软件测试是为了发现错误而执行程序的过程,且为了达到好的测试效果,应该由独立的第三方来构造测试,程序员应尽量避免检查自己的程序。

4.下面选项中不属于面向对象程序设计特征的是(分数:1.00)A.继承性B.多态性C.类比性√D.封装性解析:[解析] 面向对象程序设计的3个主要特征是:封装性、继承性和多态性。

5.下列对队列的叙述正确的是(分数:1.00)A.队列属于非线性表B.队列按“先进后出”原则组织数据C.队列在队尾删除数据D.队列按“先进先出”原则组织数据√解析:[解析] 队列是一种操作受限的线性表。

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年4月份C语言的考试真题以及答案

2007年4月份C语言的考试真题以及答案
2007 年 4 月全国计算机等级考试二级笔试试卷 C 语言程序设计
(考试时间 120 分钟,满分 100 分) 一、选择题((1)—(10)每小题 2 分,(11)—(50)每题 1 分,共 60 分)下列各题 A)、 B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上, 答在试卷上不得分。
(24)有以下程序
mian()
{int i,j;
for(i=1;i<4;i++)
{for(j=i;j<4;j++) printf(“%d*%d=%d “,i,j,i*j);
printf(“\n”);
}
}
程序运行后的输出结果是(B)
A) 1*1=1 1*2=2 1*3=3
B) 1*1=1 1*2=2 1*3=3
C)程序的执行总是从 main 函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
(16)设变量均已正确定义,若要通过 scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量 a1
和 a2 赋数值 10 和 20,为变量 c1 和 c2 赋字符 X 和 Y。以下所示的输入形式中正确的是(注:
main() {int a[4][4]={{1,4,3,2,},{8,6,5,7,},{3,7,2,5,},{4,8,6,1,}},i,j,k,t; for(i=0;i<4;i++)
for(j=0;j<3;j++) for(k=j+1;k<4;k++) if(a[j][i]>a[k][i]){t=a[j][i];a[j][i]=a[k][i];a[k][i]=t;}/*按列排序*/

3套 《C语言程序设计》试卷+参考答案

3套 《C语言程序设计》试卷+参考答案

一、选择填空:(每题1.5分,共15分)1.以下可以正确表示字符型常数的是。

(A) “a”(B) ‘297’ (C) ‘\t’ (D)“\n”2. typedef struct{ char name[10];int age;char interests[20];} student;以上语句中 student 是:(A)结构体变量,有存储空间 (B)结构体数据类型,无存储空间(C)结构体变量,无存储空间 (D)结构体数据类型,有存储空间3.函数:void f(void){int i = 12, j;for(j=0; j<20; j++)i++;}当f执行完退出后,i的值为_____ _____(A) 12 (B) 32 (C) 29 (D) 无定义4.若有以下说明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为6的表达式是(A)*p+6 (B)*(p+6) (C)*p+=5(D)p+55.以下代码执行后,result的值为:#define FIVE 2+3result = FIVE * FIVE(A) 11 (B) 13 (C) 25 (D)106.已知函数定义的形式如下:struct data *f(void){……}则函数f:(A) 没有参数,返回值是一个结构体(B)有一个参数void, 返回值是一个结构体(C)没有参数,返回值是一个结构体指针(D)有一个参数void, 返回值是一个结构体指针7.下列说法中,不正确的是_ ____(A)函数中可以没有return语句。

(B)所有的函数都不能嵌套定义,但可以相互调用。

(C)函数的实参应与其对应的形式参数类型一致。

(D)函数可以不加函数返回值类型标识符。

8.一个C程序的执行是。

(A)从本程序的main函数开始,到main函数结束(B)从本程序文件的第一个函数开始,到本程序文件最后一个函数结束(C)从本程序的main函数开始,到本程序文件的最后一个函数结束(D)从本程序文件的第一个函数开始,到本程序的main函数结束9.在C语言的算术运算符中只能用于整型数的运算符是(A)* (B)/ (C)++ (D)%10 在下列选项中,没有构成死循环的程序段是(A)int i=100;while (1) {i=i%100+1;if(i>=100) break;}(B)for(;;);(C)int k=1000;do{++k;} while (k>=1000);(D)int s=36while(s); --s;二、写出下列程序的运行结果:(共35分)1.(8分)int funa(int *a) { a[0] ++; }int funb(int b[]) { b[1] += 5; }main(){int a[5] = {2,3,4,5,6};int b[5] = {2,3,4,5,6};int *p, i;p = &a[0];(*p)++;funb(p);for(i = 0; i <5; i++)printf("%d,",a[i]);p = &b[1];funa(p);funb(p);for(i = 0; i < 5; i++)printf("%d,",b[i]);}运行结果:2、(6分)main(){char a[]="programming", b[]="language";char *p1,*p2;int i;p1=a; p2=b;for(i=0; *(p1+i)!=’\0’&&*(p2+i)!=’\0’;i++)if(*(p1+i)==*(p2+i)) printf("%c",*(p1+i)); }运行结果是:3、(8分)int f(int n){if (n==1){return 1;}else{return 2 * f(n/2);}}运行结果: f(20)的值是多少?4、(6分)void change (int *a, int *b){int x =* a;*a = *b; *b = x;printf(“%d %d “, *a, *b)';}void main(){int x=10,y=25;change (&x, &y);printf(“%d %d “, x, y)';}运行结果:5、(5分)已知字母A的ASCII码为十进制的65,下面程序的输出是void main(){char ch1,ch2;ch1='A'+'5'-'3';ch2='A'+'6'-'3';printf("%d,%c\n",ch1,ch2);}答案三、程序填空(每空2分,共38分)1、下面是一个求数组元素之和的程序。

(完整版)C语言程序设计试卷及参考答案

(完整版)C语言程序设计试卷及参考答案

《C语言程序设计》期末考试模拟试卷及参考答案(B)2012.6.5整理一、选择题(每题2分,共30分)1、# include <stdio.h>的结果是______void main ( ){ int a[3][3]={1,2,3,4,5,6,7,8,9};int s=0,i;for (i=0;i<3;i++)s+=(*(a+i))[i];printf("%d",s);}A.9B.12C.14D.15参考答案—D2、设有说明语句:char a= '\123abc';则变量a __________A. 包含7个字符B.包含6个字符C. 包含5个字符D. 包含4个字符参考答案—D3、有以下程序段int k=0while(k=1)k++;while 循环执行的次数是_____A. 无限次B.有语法错,不能执行C. 一次也不执行D. 执行1次参考答案—A4、在C语言中,_____。

A.函数定义可以嵌套,但函数调用不能嵌套B.函数定义不可以嵌套,但函数调用可以嵌套C.函数定义和调用均不能嵌套D.函数定义和调用均可以嵌套参考答案—B 5、以下叙述正确的是________A)do-while语句构成的循环不能用其它语句构成的循环代替。

B)do-while语句构成的循环只能用break语句退出。

C)用do-while语句构成的循环,在while后的表达式为非零时结束循环。

D)用do-while语句构成的循环,在while后的表达式为零时结束循环。

参考答案—D6、以下关于函数叙述中,正确的是。

A.在函数体中可以直接引用另一个函数中声明为static类别的局部变量的值B.在函数体中至少必须有一个return 语句C.在函数体中可以定义另一个函数D.在函数体中可以调用函数自身参考答案—D7、以下数组声明语句中正确的是。

A.int a,a[n];B.int a[ ];C. int a[2][3]={{1},{2},{3}};D.int a[ ][3]={{1},{2},{3}};参考答案—C8、以下不能正确进行字符串赋初值的语句是________A.char str[5]= "good!";B.char str[ ]= "good!";C.char *str="good!";D.char str[5]={ 'g','o','o','d'};参考答案—A9、以下关于switch语句和break语句的描述中,只有______是正确的。

浙江理工大学07-08c语言期末试卷b卷(含答案)详解

浙江理工大学07-08c语言期末试卷b卷(含答案)详解

2007/2008学年第2学期《C程序设计》期末考试试卷(B)说明: (1)考生应将答案填写在答卷上,否则作无效处理;(2)考试时间为120分钟。

试题一、判断题(每小题2分,共20分)说明:在以下提供的若干陈述中,逐一判断其正确与否,用A表示正确,用B表示错误。

(1) 一个C语言程序可以有一个或多个函数组成。

(2) 流程图是描述算法的最常用的方法之一。

(3) 在C语言中,符号A与a可以用来表示同一个变量。

(4) 在C语言中,‘1’和1表示同一个常量。

(5) 当复合语句多于一条时,要用一对括号括起来。

(6) if语句只能用逻辑表达式作为其控制条件。

(7) Break能结束循环,而continue只能结束本次循环。

(8) 如果定义了char a[10],则数组a可以能够容纳的最长字符串长度为10。

(9) 语句a<<=2执行后,a的值将变为原来的4倍。

(10) 结构体成员的类型可以是另外一种结构体类型。

试题二、单选题(每小题2分,共20分)(11) 下列语句或命令中,不符合C语言程序书写规则的是________。

[A]int a ; [B]a=6;[C] int a、b; [D]#include “stdio.h”(12) 以下说法正确的是________。

[A] C语言程序是从第一个定义的函数开始执行的。

[B] C语言程序中要调用的函数必须在main()函数中定义。

[C] C语言程序是从main()函数开始执行的。

[D] C语言程序的main()函数必须放在程序的开始部分。

(13) 当c=0时,在下列选项中能正确将c的值赋给变量a、b的是______[A]c=b=a; [B] (a=c)‖(b=c);[C] (a=c)&&(b=c);[D] a=c=b;(14) 下列说法中正确的是________。

[A] break语句用在switch语句中,而continue语句有在循环语句中。

C++2007试卷B答案

C++2007试卷B答案

命题人: 审批人: 试卷分类(A 卷或B 卷) B五邑大学 答卷纸学期: 2006 至 2007 学年度 第 2 学期 课程: 程序设计原理 专业: 计算机、电子、交通 班级: 姓名: 学号:选择题(30分,1.5*20)判断题 (在括号内正确的打√,错误的打╳,每空1分 共10分)。

程序填空(根据给出的程序功能说明,补充完整程序中缺少的代码,每一空行只填写一条语句或一个表达式、保留字,不写、多写、错写不给分。

)(20分 每空2分)1.编写程序,判断某一年是否为闰年。

润年的条件是符合下面两者之一:1、能被4整除,但不能被100整除。

2、能被100整除,又能被400整除。

④ leap2、编写程序,用起泡法对10个数排序(按由小到大顺序)⑤ cin>>a[i] ⑥ a[i]>a[i+1] ⑦ a[i]=a[i+1]3、用递归方法求n!⑧ n==0||n==1 ⑨ f=fac(n-1)*n ⑩ f四、阅读程序(20分)1)阅读下面程序,在相应的语句后写注释(说明该语句的作用),并写出运行结果(5分)①声明基类(定义基类)②定义基类成员函数③用保护方式声明基类Student的派生类Student1④声明派生类Student1类的对象⑤通过对象stud1 访问派生类中的公用成员函数2、阅读下面程序,在相应的语句后写注释(说明该语句的作用)(5分)。

①声明以下是基类中的保护成员②用保护方式声明基类Student的派生类Student1③定义派生类的公用成员函数④通过对象stud1 访问派生类中的公用成员函数⑤错误,外界不能访问保护成员3、阅读下面程序,写出该程序的功能和运行结果。

(5分)该程序的功能是:①将一个字符串复制到另一个字符串中该程序的运行结果是:②The string2 is:student4、阅读下面程序,写出执行后的输出结果。

(5分)程序运行后的输出结果是: 0,1,2,3,4,5,6,五、编程题:(20分)1、编写strcat字符串连接函数。

计算机科学与技术专业专接本入学考试(2007春季)B

计算机科学与技术专业专接本入学考试(2007春季)B

2007年北京联合大学春季高职升本科基础课、专业基础课考试考试科目程序设计基础(总分:100分考试时间:120分钟)注意事项:1. 共10 页,用钢笔或圆珠笔直接答在试题卷上。

2. 答卷前将密封线内的项目填写清楚。

3. 请选择答题时所使用的语言种类:C语言[ ]QBASIC语言[ ]注意:本试卷共五道大题。

一、单选题(每题2分,共30分)注:答案写在题号前面!1.计算机内部表示数据信息采用的是A)二进制B)八进制C)十进制D)十六进制2.用计算机高级语言编写的程序通常称为A)汇编程序B)目标程序C)源程序D)二进制代码程序3.以下合法的用户标识符是A)6x B)$A C)X123D)U max 4.以下四个字符中ASCII码值最大的是A)'A' B)'a' C)'Z' D)'z'5.以下对字符串大小的判断中正确的是A)"the"大于"then" B)"Max"小于"Min"C)" abc"等于"abc"D)"NAME"等于"name"6.计算机能直接识别的语言是A)高级语言B)符号语言C)汇编语言D)机器语言7.完整的计算机软件系统应包括A)程序与文档B)操作系统与工具软件C)系统软件与应用软件D)程序与数据8.可移植性最好的计算机语言是A)机器语言B)高级语言C)汇编语言D)机器语言和汇编语言9.编译程序的作用之一是A)将高级语言程序翻译成可执行程序B)发现源程序中的逻辑错误C)发现源程序中的语法错误D)纠正源程序中的语法错误10.修改高级语言编写的源程序使用的是A)编辑程序B)解释程序C)编译程序D)链接程序11.以下错误的赋值语句是[QBASIC语言]A)x=x+1 B)a+b=10C)c$="abc" D)m=1.125[C语言]A)x++; B)a=a+b=5;C)n+=2; D)a=b=3; 12.以下程序的输出结果是A)x<6 B)x>5 C)x=5 D)x<6 x=5[QBASIC语言] [C 语言]x = 5main( )IF x > 5 THEN{ int x=5;PRINT "x>5";if (x>5)ELSEIF x < 6 THENprintf("x>5");PRINT "x<6";else if (x<6)ELSEIF x = 5 THENprintf("x<6");PRINT "x=5";else if (x==5)END IFprintf("x=5");END }13.以下关于数组定义语句的叙述中不正确的是[QBASIC语言]DIM a(10) AS INTEGERA) 定义了一个名为a的一维数组B) a数组共有11个元素C) a数组的下标范围是1~11D) a数组中的每个元素应该是整型[C语言]int a[10];A) 定义了一个名为a的一维数组B) a数组共有10个元素C) a数组的下标范围是1~10D) a数组中的每个元素应该是整型14.以下有关字符串处理的函数中,用来计算字符串长度的是[QBASIC语言]A)VAL B)STR$C)LEFT$ D)LEN[C语言]A)strcpy B)strcmpC)strcat D)strlen15.以下程序段中,while循环体内语句执行的次数是A)3 B)4 C)5 D)9[QBASIC语言] [C语言]n=0 int n=0;WHILE n<10while(n<10)n=n+1 { n++;n=n*nn=n*n;WEND } 二、填空题(每空2分,共20分)1.结构化程序由三种基本结构组成,它们是 【1】 结构、 【2】 结构、和 【3】 结构。

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

课程号:0401045 《计算机高级语言(C++)》期末考试试卷(B卷)标准答案
考试形式:闭卷考试考试时间:120分钟
一、简答题(本大题共10小题,每小题3分,共30分)
1、C++支持数据封装;C++类中包含私有、公有和保护成员;C++中通过发送消息来处理对象;C++中允许友元破坏封装性;C++允许函数名和运算符重载;C++支持继承性;C++支持动态联编。

(每答对一个得1分。


2、指针运算的实质是地址的计算(1.5分);指针运算的种类是有限的,它只能进行算术运算、关系运算和赋值运算(每对一个得0.5分)。

3、两种:1)const <数据类型> <标识符> = <值>;(1分)如const int Max =12;(0.5分)2)#define <符号常量名称> <常量>(1分),如#define Max 12(0.5分)。

4、static表示定义的变量是静态变量(1分),在内存中是以固定地址存放的,而不是以堆栈方式存放的。

只要程序还在继续运行静态变量就不会随着声明它的程序段的结束而消失(1分)。

函数体内定义的static变量,具有全局寿命但局部可见;函数体外定义的static变量,具有全局寿命全局可见(1分)。

5、在函数说明语句中预先初始化一些参数的值,从而使调用语句中相应的参数可以缺省(1分)。

设置函数参数的默认值是按从右至左的方式;参数默认值设置必须出现在函数调用之前,并且只能设置一次(2分)。

6、struct <结构体名称>
{
<数据类型1> <成员1>;
<数据类型2> <成员2>;
…….
<数据类型n> <成员n>;
} ;
7、析构函数的函数名为类名前加“~”;没有参数,不指定返回类型;一个类内只能声明一个析构函数,必须是公有的;在对象终止时由系统自动调用,以释放
分配给对象的内存;析构函数可以被调用;如果类中没有声明,编译器也会自动生成一个默认的析构函数。

(每答对一点得1分)
8、virtual表示说明的函数是虚函数(1分),使用基础类的指针动态调用其派生类中函数时,在运行阶段,才将虚函数的调用与对应的函数体进行连接(2分)。

9、内联函数和外联函数在定义时不同;(1分)从使用形式上没有区别,但其内部代码有区别,也就是形成执行程序有区别:外联函数是类中不同对象共享的程序代码;内联函数是某个对象独享的程序代码(2分)。

10、函数重载(1.5分)和运算符重载(1.5分)。

二、数据与运算(本大题共10小题,每小题2分,共20分)
1、1
2、11 11 //每答对一个得1分
3、7
4、10 4 //每答对一个得1分
5、5=53
6、4
7、27 9 9 8 6 5 4 3 //前4个数每对一个得0.5分
8、11, 22.0, “ac”//每答对一个得0.5分,全答对得2分
9、50
10、-32
三、给出下列程序的运行输出结果(本大题共3小题,每小题5分,共15分)
1、10
2、15 16 15 15 //每答对一个得1分,全答对得5分
3、countP=2 //1分
countP=3 //2分
countP=2 //2分
四、程序填空题(每空2分,共20分)
1、float real, image;
2、real=0;image=0;
3、cout<<real<<’+’<<image<<’i’<<endl;
4、CComplex
5、return CComplex(a-c.real,c.image)
6、CComplex CComplex::
7、*this
8、return old
9、c2=20-c1
10、(c1--).out();
五、编程题(15分)
#include “iostream.h”
int FindMaxDommonDivisor (int a, int b)
{
int m;
if( a>b ) m=b; else m=a;
for(int i=m; i>=1; i--)
if( a%i ==0 && b%i == 0)
{
m=i;
break;
}
return(m);
}
void main(void)
{
cout<< “108与76 最大公约数为” << FindMaxDommonDivisor(108,76)<<endl;
cout<< “201与77 最大公约数为” << FindMaxDommonDivisor(201,77)<<endl; }。

相关文档
最新文档