c++复习资料及答案_第1页
c++复习资料及答案_第2页
c++复习资料及答案_第3页
c++复习资料及答案_第4页
c++复习资料及答案_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《C++》复习资料及答案

一、判断题

1、在变量定义intsum,SUM;中sum和SUM是两个相同的

变量名。(N)

2、字符串"china”在内存中占据的存储空间是5个字节。

(N)

3、在C++语言中,“A"和'A,是等价的。(N)

4、C++表达式4/7和4.0/7的值是相等的,且都为double

型。(N)

5、关系表达式a=b>c等价于a=(b>c),同时也等价于

a==b>co(N)

6^continue语句和break语句的区别是:break语句提前

跳出switch结构或结束循环的执行;continue语句只结束本次

循环,而不是终止整个循环的执行。(Y)

7、数组是-一种构造型数据,即是若干相同类型的数据的集

合。()

8、C++语言中,二维数组中元素排列的顺序是:按行存放,

即在内存中先顺序存放第一行的元素,再存放第二行的元素。

9^^include“iostream,h”的作用是将说明标准输入输

出流对象的头文件包含到当前源文件中来。(Y)

10、C++语言中允许函数“嵌套调用”和“递归调用”,所谓

“递归调用”就是指:在调用一个函数的过程中又出现直接或间

接地调用该函数本身。(Y)

二、选择题

1、由C++源程序文件编译而成的目标代码文件的缺省扩展名

为(C)

A).cppB).exeC).objD).lik

2、设x和y均为bool类型(bool类型:1或0),贝x&&y

为真的条件是(A)

A).它们均为真B).其中一个为真

0.它们均为假D).其中一个为假

3、设有inti;则表达式i=l,++i,++i||++i,i的值为(C)

A).1B).20.3D).4

4、设有inti;则表达式(i=l,i=10)?i++||++i:++i的值为

(A)

解析:(i=l,i=10)?i++||++i:++i

(i=l,i=10)是真的情况表达式的值=i++ll++i

是假的时候=++i

(匕1,退10)这个是逗号运算符最终匕10,是真

所以表达式的值是i++||++i=10||12=1

A).1B).20.3D).10

5、设有inta[]={10,11,12},*p=&a[0];则执行完

*p++;*p+=l;后a[0],a[l],a[2]的值依次是()

A).10,11,12B).11,12,12

C).10,12,12D).11,11,12

6、设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表

达式中,值为0的表达式是()

1B).a<=b1

C).c>-b|b4-c&&b-c1D).a<-b+c&.&c>~a+b

7、若x和y都是int型变量,x=100,y=200,则下面程序片段

cout<<(x,y)«endl;的输出结果是()

解析:语句中遵循优先级高的优先执行的原则,括号优先级

最高,所以(x,y)最先计算。这是一个逗号表达式,注意,是一

个表达式,是表达式就有值。逗号表达式的值等于最右边的那个

值,即x,y,z的值是z,依次类推。所以(x,y)=y=200,最后执

行语句其他部分,输出200

A).200B).100

0.100200D).输出格式符不够,输出不确

定的值

8、下面各语句中,能正确进行字符串赋值操作的语句行是

()

A).chars[4][5]={,,ABCDE,/};B).char

s[5]={'A','B','C','D','E'}(chars[6]=

『A:B:C;下})

C).Char*s;s=“ABCDE”;D).char*s;

cin»s;

9、若有:inta[6]={4,5,6,9,5,7},*p=a,*q=p;则对数组

元素的错误引用是()

A).a[4]B).*(p+4)C).*a++(变量才能加减)

D).*q++

10、下列不正确的转义字符是()

A).'\\'B).'\〃C).'O74'D).'\0'

11、假定a和b为int型变量,则执行以下语句后b的值为

()

a=l;b=10;

do

{b-=a;a++;}

while(b--<0);

A).9B).-2C).-1D).8

12、对于结构中定义的成员,其隐含访问权限为()

A).publicB).protected

C).privateD).static

13、设Pl和P2是指向同一个int型一维数组的指针变量,k

为int型变量,则不能正确执行的语句是()

A).k=*P1+*P2:B).p2=k:0.P1=P2;D).K=*P1

*(*P2);

14、设有如下定义:

intarr[]={6,7,8,9,10);

int*ptr;

则下列程序段的输出结果为()

ptr=arr;

*(ptr+2)+=2;

cout«*ptr<<*(ptr+2)<<endl;

A).8,10B).6,8C).7,9D).6,10

15、执行以下程序段后,m的值为()

inta[2][3]={{1,2,3},{4,5,6});

intm,*p;

p=&a[0][0];

m=(*p)*(*(p+2))*(*(p+4));

A).15B).14C).13D).12

三、填空题

1、描述命题“A小于B或小于C”的表达式

为o

2、在C++中有二种参数传递方式:

和O

3、定义重载函数时,应在参数个数、参数类型或参数次序

上O

4、拷贝初始化构造函数使用来

初始化创建中的对象。

5、一个C++函数由两部分组成,即:

和O

6、一个C++程序总是从开始执

行。

7、C++语言程序中出现的/*……*/部分或〃……部分所起的

作用是:o

8、C++语言中数组元素的访问方式有两种,即:

和O

9、C++规定:在每一个字符串的结尾加上一

个,以便系统据此判断字符串是否结束。

10、C++语言中数据类型的转换有两种,即:

和O

11、C++语言规定了运算符的优先级和结合性,其结合性分

为:和O

12、若有intx=4,y=7;则表达式x+=y,x*=x+y的值

为o

13、x>l&&y!=0的相反条件为o

14、过程化程序设计方法中,程序由三种基本结构,即:顺

序结构、、o

15、在C++中,若需要在程序文件中进行标准输入输出操作,

则必须在开始加入预处理命令,若使用到数

学库中的函数时,要在源程序的开始加入预处理命

令。

16、C++语言中用来存放变量地址的变量称

作o

17、int*p[10];的含义

是_______________________________________________________

_O

18、int**p;的含义

是o

四、简答题

1、请用C++语言的表达式表示下列代数式。

(1)Vsin55・出

(2)A(e=2.71828)

3

2

a+hxh~-

(3)——-~

a+h+1

(4),"・sin50。(e=2.71828)

(5)In5

2、根据要求完成下列各题。

(1)用两种方法实现一个字符串str,并赋以初值"welcome

toNanjing!”。

(2)定义结构体类型date,该结构体包含的成员为year

(整型)、month(整型)、day(整型),再使用typedcf

将结构体类型date等价成DATE,最后使用DATE定义

一个变量pdatec

五、程序分析题

1、写出下列程序运行结果:

(1)ttinclude"iostream.h〃(4分)

voidmain()

{intx=5,y=8,*px,*py;

px=&x,py=&y;

cout〈<〃numl=”<<*px<<','<<"num2=〃;';

if(x<y)swapl(x,y);

cout〈<〃numl=”<<*px<<','<<,?num2=〃;';

if(x<y)swap2(px,py);

cout〈〈“numl=“〈<*px<<','<<"num2=〃<<*py«'

if(x<y)swap3(px,py);

cout〈<"numl="<<*px<<','num2=〃;'

swapl(inta,intb)

{intt;

t=a;a=b;b=t;

cout〈<〃nuinl="<<a«','<<vnum2=,z<<b<<

swap2(int次p,int*q)

{int*t;

t—P;p—QQ-t;

cout〈〈〃nunil="'«?,num2=,/«*q«,;

swap3(int*p,int*q)

{intt;

t=*p;*p=*q;*q=t;

cout〈<〃numl=”,'<<"num2=;';

(2)tfincludeiostream.hn(3分)

main(intargc,char*argv[])

{inti;

cout<<"argc="<<argc<<';

for(i=0;i<=argc-l;i++)cout«argv[i]«,;

若上面的程序编译'连接后生成可执行文件ABC.EXE,

若输入以下命令行abcfilelfile2<enter>(表示

回车)注:文件的路径可以不考虑

(3)#include<iostream.h>(4分)

classA

{inta,b;

public:A(){a=b=0;}

A(intaa,intbb):a(aa),b(bb)

{cout

a="«a«>,,"b="«b«endl;}

~A(){cout«,,Destructor!<<endl;}

voidmain()

{Ax,y(2,3);}〃对象x,y消亡后分别自动

调用析构函数~A()

2、试分析下列程序或函数的功能。(4分)

(1)ftinclude"iostream.h〃

voidmain()

{charstr[81],*sptr;

inti;

for(i=0;i<80;i++)

{str[i]=cin.get();

if(str[i]==,\n,)break;

str[i]=,\0’;

sptr=str;

while(*sptr)cout<<(*sptr++);

3、程序改错题:(4分)

从键盘输入一个分数(0^100),判断它属于哪个分数段,并

输出分数段字母代号。

#include<iostream.h>

main()

{intnum;chargrade;

cout<<"pleaseinputnum:

cin>>num;

if((grade>=90)&&(grade<==100)grade="A";

cout<<"Thegradeis:“<<grade;

if(grade>=80)grade二"B”;cout<<"The

gradeis:“«grade;

if(grade>=70)grade二"C";cout<<“The

gradeis:“<<grade;

if(grade>=60)grade二"D";cout<<uThe

gradeis:"<<grade;

elsegradeiE";cout«uThe

gradeis:“<<gradc;

4、程序填空题:(每空1分,共8分)

(1)以下程序通过调用自定义函数scopy()将字符串si

复制到字符串s2,并输出显示,请填空。

#include“iostream,h”

voidscopy(,)

{while(*p!='\0')

*q='\0';

voidmain()

{char*sl="Nanjing,China”;

chars2[20];

cout<<z,\nThesiis:,,«sl;

cout<<z/\nThes2is:,,«s2;

(2)classA

int

intn;

public:A(intnn=0):n(nn)

{if(n==0)a=0;

elsea=;〃分配长度为n的动态

数组

voidseta(int*aa)

{for(inti=0;i<n;i++)a[i]=aa[i];}

__________________________〃定义析构函数,释

放动态数组空间

六、编程题

I、编制一个完整的程序:从键盘输入10个整型数组元素,

调用自定义函数voidsort(intarray[],intn)对其进

行由大到小排序,最后将排序结果输出到显示器终端,要求自定

义函数sort()中用冒泡法实现排序。

04财计《C++程序设计语言》答案

一、判断题(10分)

1~5:F,F,F,F,F

2~10:T,T,T,T,T

二、选择题(25分)

1~5:C,A,C,A,C

6~10:D,A,C,C,C

11~15:D,A,B,D,A

1620:C,D,D,A,A

三、语法填空题(15分)

KA〈B|A«。

2、值传递和地址传递。

3、不相同。

4、已存在同类型对象的引用o

5、函数的说明数分和函数体部分。

6、main函数的入口地址处。

7、注释说明,以增加程序的可读性」

8、下标方式和指针方式。

9、字符串结束标志‘\0'

10.自动类型转换和强制类型转换。

1K左结合性和右结合性。

12.198o

13>x〈=l|y=0。

14、选择结构、循环结构。

15、-include<iostream.h>,^include

“math.h"。

16.指针变量。

17.定义指针数组p,它有10个指向整型数据的指针元素

组成°

18.定义一个指针变量P,它指向一个指向整型数据的指

针变量。

四、简答题(16分)

1、请用C++语言的表达式表示下列代数式。

(1)x*x*x*sin(55*3.14/180)/(3.14*d)

(2)1.0/3*exp(a-b)

(3)(a+b*b*h-b/4)/(a+h/t)

(4)exp(a+b)*sin(50*3.14/180)

(5)log(a+x/5.0*sqrt(a+x*x))

2、根据要求完成下列各题。

(1)staticcharstr[]="welcometoNanjing!”

char*str="welcometoNanjing!”;

(2)structdate

{intyear;

intmonth;

intday;

typedefstructdateDATE;

DATEpdate;

五、程序分析题

1、(1)、各cout按执行次序输出的结果为5,8;8,5;5,8;8,5;

5,8;8,5;8,5

(2)、程序执行后的输出结果是:argc=3;abc.exe;filel;

file2;

(3)、程序的输出结果是:a-2,b=3

Destructor!

Destructor!

2、程序的功能是:从键盘上输入一行字符,存入一个字符数

组中,然后输出该字符串。

3、改错题:

#include<iostream.h>

main()

{

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论