C++习题及参考答案文档格式.docx

上传人:b****4 文档编号:7696040 上传时间:2023-05-08 格式:DOCX 页数:50 大小:45KB
下载 相关 举报
C++习题及参考答案文档格式.docx_第1页
第1页 / 共50页
C++习题及参考答案文档格式.docx_第2页
第2页 / 共50页
C++习题及参考答案文档格式.docx_第3页
第3页 / 共50页
C++习题及参考答案文档格式.docx_第4页
第4页 / 共50页
C++习题及参考答案文档格式.docx_第5页
第5页 / 共50页
C++习题及参考答案文档格式.docx_第6页
第6页 / 共50页
C++习题及参考答案文档格式.docx_第7页
第7页 / 共50页
C++习题及参考答案文档格式.docx_第8页
第8页 / 共50页
C++习题及参考答案文档格式.docx_第9页
第9页 / 共50页
C++习题及参考答案文档格式.docx_第10页
第10页 / 共50页
C++习题及参考答案文档格式.docx_第11页
第11页 / 共50页
C++习题及参考答案文档格式.docx_第12页
第12页 / 共50页
C++习题及参考答案文档格式.docx_第13页
第13页 / 共50页
C++习题及参考答案文档格式.docx_第14页
第14页 / 共50页
C++习题及参考答案文档格式.docx_第15页
第15页 / 共50页
C++习题及参考答案文档格式.docx_第16页
第16页 / 共50页
C++习题及参考答案文档格式.docx_第17页
第17页 / 共50页
C++习题及参考答案文档格式.docx_第18页
第18页 / 共50页
C++习题及参考答案文档格式.docx_第19页
第19页 / 共50页
C++习题及参考答案文档格式.docx_第20页
第20页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

C++习题及参考答案文档格式.docx

《C++习题及参考答案文档格式.docx》由会员分享,可在线阅读,更多相关《C++习题及参考答案文档格式.docx(50页珍藏版)》请在冰点文库上搜索。

C++习题及参考答案文档格式.docx

7.字符串常量“ME”的字符个数是()。

(A)4(B)3(C)2(D)1

8.在C++语言中,080是()。

(A)八进制数(B)十进制数(C)十六进制数(D)非法数

9.整型变量i定义后赋初值的结果是()。

inti=2.8*6;

(A)12(B)16(C)17(D)18

10.如有intm=31;

则表达式(m++*1/2)的值是()。

(A)0(B)15(C)15.5(D)16

11.每个C++程序都必须有且仅有一个()。

(A)预处理命令(B)主函数(C)函数(D)语句

12.在C++语言中,自定义的标志符()。

(A)能使用关键字并且不区分大小写(B)不能使用关键字并且不区分大小写

(C)能使用关键字并且区分大小写(D)不能使用关键字并且区分大小写

13.下列C++标点符号中表示一条语句结束的是()。

(A)#(B)//(C)}(D);

14.下列C++标点符号中表示一条预处理命令开始的是()。

15.定义如下变量:

inti=2;

intj=3;

则i/j的结果为()。

(A)0.7(B)0.66667(C)0.…(D)0

16.已知inta=2,a+=a-=a*a的值是()。

(A)-4(B)-2(C)0(D)4

17.下列关于C++关键字的说法中正确的是()。

(A)关键字是用户为程序中各种需要命名的“元素”所起的名字。

(B)关键字是对程序中的数据进行操作的一类单词。

(C)关键字是在程序中起分割内容和界定范围作用的一类单词。

(D)关键字是C++中预先定义并实现一定功能的一类单词。

18.语句n1=2,n2=++n1,n1=n2++,执行后变量n1、n2的值分别为(  )

(A)3,4   (B)3,3   (C)2,3  (D)2,4

19.字符型数据在内存中的存储形式是()。

(A)补码(B)ASCII码(C)反码(D)原码

20.下列程序段执行后输出结果为(   )

chara='

a'

;

cout<

<

"

a="

a-32<

endl;

(A)a=A   (B)a=33   (C)a=65   (D)a=A-32

四、阅读程序,写出运行结果

1.#include<

iostream.h>

voidmain()

{cout<

Thisisahelloworld"

program"

}

2.#include<

{constintR=10;

constdoublePI=3.14159;

doublea,b;

a=2*R*PI;

b=R*R*PI;

cout<

a<

"

b="

b<

五、程序改错

/*求三个整数的平均数

#include<

iostream>

intmian()

{inta,b,c,sum,avg;

请输入三个整数:

/n"

cin>

>

a>

b>

c>

sum=a+b+c

avg=sum/3;

cout>

'

平均数是:

avg;

第3章基本程序设计

一、判断题

()⒈if语句结构中必须有else语句。

()⒉表达式7>

=3+4||6<

4&

&

2<

5的求值结果为假。

()⒊算术运算符的优先级高于比较运算符。

()⒋表达式4>

6||10>

2*6&

2!

=!

5求值结果为真。

()⒌语句for(i=0,x=0;

i<

90;

i++)if(i)x++;

执行完后,x的值是89。

()⒍逻辑表达式10<

x<

20表示“大于10而小于20的数”。

()⒎表达式1<

3&

5<

7的值是1。

()⒏表达式!

(5<

8)||2<

6的值是1。

()⒐表达式a+b<

c&

d==5中运算符优先级由高到低的排列顺序是+、<

、==和&

()⒑表达式x*y>

z&

x*y<

100||x*y>

0中运算符优先级由高到低的排列顺序是:

*、<

和>

、&

、||。

()11.设”inta=3,b=4,c=5;

”;

表达式”(a+b)>

b==c”的值是0。

()12.x,y,z为int类型的时候,下列语句执行之后,x的值为10,y的值为20,z的值为10。

x=10;

y=20;

z=30;

if(x>

y)x=y;

y=z;

z=x;

()13.break和continue语句的作用都是终止本层循环的执行。

()14.判断变量x的数值是否在3到5之间可以用关系表达式3<

5来描述。

()15.判断以下程序是否正确。

#include“iomanip”

usingnamespacestd;

voidmain()

{if(a>

b)

cout<

setw(4)<

a;

setw(4)<

b;

else

()16.不管是当型循环还是直到型循环,其循环体都可能在某种条件下一次也不执行。

()17.为了避免可能出现的歧义,C++对if…else语句配对规则规定为:

else总是与最近的那个if配对。

()18.要运行一个C++程序需要经过编辑、编译、链接和运行四个阶段。

其中编译阶段就是对源程序进行语法与语义分析,查找和排除程序错误,通常能够找出程序中的语法错误和逻辑错误。

()19.switch语句结构中必须有default语句。

()20.break语句只能结束包含该语句的一层循环结构。

二、单项选择题

1.for(i=0,x=0;

!

x&

=3;

i++)循环的次数为()。

(A)4(B)5(C)1(D)是无限循环

2.若有如下程序段:

{inta=2,b=-1,c=2;

if(a<

b)

if(b<

0)c=0;

elsec+=1;

“c="

c<

}

执行后输出到屏幕的结果是______。

(A 

)2(B)1(C)3(D)0

3、若有如下程序段:

inti=10;

switch(i)

{case9:

i++;

case10:

case11:

default:

执行后变量i的正确结果是()。

(A)11(B)12(C)13(D)14

4.以下描述中正确的说法是()。

(A)break语句与continue语句完全一样,可以相互代替

(B)用break语句可以提前终止整个循环

(C)用continue语句可以提前终止整个循环

(D)用break语句与continue语句都不能提前终止执行循环

5.以下for循环的执行次数是()。

for(x=0,y=0;

(y=123)&

(x<

2);

x++)

(A)执行1次(B)执行2次(C)执行3次(D)是无限循环

6.以下描述正确的是()。

(A)goto语句只能用于退出多层循环

(B)switch语句中不能出现break语句

(C)只能用continue语句来终止本次循环

(D)在循环中break语句不能独立出现

7.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

(A)缩排位置相同的if(B)在其之前未配对的if

(C)在其之前未配对的最近的if(D)同一行上的if

8.break语句的作用是()。

(A)立即跳出包含该break语句的最小的各种循环语句和switch语句

(B)立即跳出包含该break语句的最小的各种循环语句

(C)立即跳出包含该break语句的switch语句

(D)立即跳出包含该break语句的各种循环语句和switch语句

9.下面程序段执行完后,x的值是()。

x=0;

for(i=0;

i++)

if(i)x++;

(A)0(B)30(C)89(D)90

10.continue语句的作用是()。

(A)结束包含该continue语句的最小的各种循环语句

(B)结束包含该continue语句的各种循环语句

(C)结束本次循环,直接进行循环条件的判断

(D)循环执行完后,结束循环

11.下列程序段循环()次。

intx=-10;

while(++x){}

(A)9(B)10(C)11(D)无限

12.在下列运算符中,优先级最低的是()。

(A)||(B)!

=(C)<

(D)+

13.下列描述正确的是()。

(A)表示m>

n为false或m<

n为true的表达式为(m>

n&

m<

n)

(B)switch语句结构中必须有default语句

(C)if语句结构中必须有else语句

(D)如果至少有一个操作数为true,则包含||运算符的表达式为true

14.如果switch语句选择表达式中是整型变量,下面哪一项case子句是合法的()。

(A)case“2”:

(B)case2:

(C)case2;

(D)case==2

15.有如下程序段:

……

for(inti=1;

4;

{if(i%2==0)continue;

“,”;

执行以上程序段的输出结果是()。

(A)1,(B)1,3,4,(C)1,3,(D)2,4,

16.下列运算符中优先级最高的是()。

(A)!

(B)%(C)-=(D)&

17.用逻辑表达式表示“大于10而小于20的数”,正确的是()。

(A)10<

20(B)x>

10||x<

20(C)x>

10&

20(D)!

=10||x>

=20)

18.如果switch语句中的选择表达式是字符型变量code,下面哪一项case子句是合法的()。

(A)case“3”;

(B)case‘3’;

(C)case3;

(D)case=3

19.设inta=10,b=11,c=12;

(a+b)<

b==c的值是()。

(A)2(B)0(C)-2(D)1

20.在以下关于C++语言的叙述中,正确的是()。

(A)if语句结构中必须有else语句(B)switch语句结构中必须有default语句

(C)C++程序必须有return语句(D)C++中使用流来执行标准的输入输出操作

21.下列do-while循环的循环次数是()。

 已知:

inti=5;

 do{cout<

i--<

  i--;

 }while(i!

=0);

(A)0(B)2(C)5(D)无限次

22.若m是一个值为10的int型变量,n是一个bool型变量,则表达式!

m||n>

0的值()。

(A)为true   (B)为false   (C)与n的值相反  (D)与n的值相同

第4章数组的应用

()1.在对全部数组元素赋初值时,不可以不指定一维数组的长度。

()2.在对全部二维数组元素赋初值时,可以不指定二维数组的行数。

()3.在C++程序中,有定义:

inta[10];

数组a的最小下标是1。

()4.在C++程序中,有定义:

数组a的最大下标是10。

()5.可以用同一个数组表示以一组数值型数据和字符型数据。

()6.有声明:

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

那么数组元素a[2][1]的初始值是6。

()7.有声明:

charch[10]={’a’,’b’,’c’,’d’,’e’};

那么赋给数组ch的是字符串“abcde”。

()8.在对全部二维数组元素赋初值时,必须要指定二维数组的列数。

()9.字符串"

hello,world"

在内存中存放时,占用12个字节的空间。

()10.定义一个一维字符数组有50个元素,用该一维字符数组表示一个字符串数据最多允许有50个字符。

()11.C++中各种数据类型的变量在定义后会被自动初始化为0值。

()12.定义数组时可以用变量来定义数组的大小,但不能用表达式。

()13.定义一个有50个元素的一维字符数组,用该数组表示一个字符串数据最多允许有50个字符。

()14.定义一个数组后该数组的最小下标取值是0。

()15.静态数组被定义时,数组的所有元素自动获取初始值0。

()16.数组是C++的基本数据类型。

()17.数组不能用来存放字符串。

()18.同一数组的所有数组元素在内存中是连续存放的。

()19.在C++中数组是具有一定顺序关系的若干相同类型变量的集合体。

()20.在给全部数组元素赋初值时,可以不指定二维数组中的常量表达式,

例如:

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

1.若有以下定义语句:

inta[10]={1,2,3,4,5,6,7,8,9,10};

则下列()是对数组元素的正确使用。

(A)a[10](B)a[a[3]-5](C)a[a[9]](D)a[a[4]+4]

2.对语句:

inta[3][4]={0};

描述正确的是()。

(A)只有元素a[0][0]可得到初值0

(B)数组a中每个元素均可得到初值0

(C)此说明语句不正确

(D)数组a中各元素都可得到初值,但其值不一定为0

3.若有以下定义,则数组元素a[2][2]的值是()。

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

(A)4(B)5(C)2(D)6

4.在下面的一维数组定义中,()有语法错误。

(A)inta[]={1,2,3};

(B)inta[];

(C)inta[]={0};

(D)inta[5];

5.在下面的一维数组的定义中,不正确的是()。

(A)intx[10][10];

(B)intx[][10]={{1,3},5,7};

(C)intx[][];

(D)intx[10][10]={0};

6.对长度为N的线性表进行顺序查找,在最坏情况下所需要的比较次数为()。

(A)N+1(B)N(C)(N+1)/2(D)N/2

7.将两个字符串连接起来组成一个字符串时,用()函数。

(A)strcat(B)strlen(C)strcpy(D)strcmp

8.希尔排序法属于哪一种类型的排序法()。

(A)交换类排序法(B)插入类排序法(C)选择类排序法(D)建堆排序法

9.若定义了一个4行3列的数组,则第8个元素是()。

(A)a[1][3](B)a[2][3](C)a[3][1](D)a[2][1]

10.判断两个字符串(分别用a、b表示)是否相等的操作为()。

(A)a==b(B)if(a==b)(C)if(strcmp(a,b))(D)if(strcpy(a,b))

11.定义一个一维数组,正确的语句是(   )。

(A)inta(10);

(B)intn=10;

inta[n];

 

(C)intn;

cin>

n;

(D)constintn=10;

12.以下那种说法错误?

()。

(A)数组中的元素在某些方面彼此相关;

(B)数组中的所有元素具有相同的下标;

(C)数组中的所有元素具有相同的数据类型;

(D)数组中的所有元素具有相同的名字;

13.语句inta[]={0,1,2}执行后,数组的元素个数是()。

(A)2(B)3(C)4(D)不知道

14.下面数组定义错误的是(   )。

(A)#definen5(B)constintn=5;

chara[n]={“good”};

chara[n]={“good”};

(C)intn=5;

   (D)constintn=5;

chara[n]={“good”};

chara[n+2]={“good”};

15.执行下列语句:

intc[4]={0,1,2,3};

for(inti=0;

i<

i++)c[i]=c[i]+i;

则c[3]的值是()。

(A)0(B)4(C)6(D)8

16.下列程序执行后d[5]结果是()。

intd[10];

intI;

for(i=0;

=9;

d[i]=i;

for(i=0;

d[i]=d[9-i];

(A)0(B)4(C)5(D)6

17.数组intarea[4]={1,2,3,4},执行程序

for(inti=1;

=4;

area[i-1]=1;

那么area[4]的值是()。

(A)4(B)3(C)1(D)错误

18.二维数组在内存中的存放顺序是()。

(A)按行存放(B)按列存放(C)由用户自己定义(D)由编译器决定

19.下面初始化不正确的是(   )。

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

(B)inta[][2]={7,8,9};

(C)doublea[][3]={1,2,3,4,5,6,7};

 (D)doublea[3][2]={{1.5,2.0},{3.5},{5,6,7}};

20.若有定义:

inta[3][4]={0};

则以下描述中正确的是()。

(A)只有a[0][0]元素得到初值(B)不正确语句

(C)各元素均得到初值,但不一定为0(D)各元素均得到初值且为0

21.下列对字符数组进行初始化的语句正确的是(  )。

(A)chara[]=“abcd”;

(B)chara[][]=“abcd”;

(C)chara[4]=“abcd”;

(D)chara[2][2]={“ab”,“cd”};

22.二维字符数组[10][10]能够存储()个字符串,每个字符串的长度至多为()。

(A)10,10(B)10,9 (C)9,10(D)9,9

三、阅读程序题

1.#include<

{inta[4],i,j,k;

for(i=0;

a[i]=1;

k=3;

k;

for(j=0;

j<

j++)

a[j]=a[i]+2;

a[1]<

ㄩㄩ"

a[3]<

当执行以上程序时,输出结果是:

2.#include<

#include<

iomanip>

{ints[3][3],i,j,k;

3;

for(j=0;

s[i][j]=i-j;

2;

for(j=i+1;

{k=s[i][j];

s[i][j]=s[j][i];

s[j][i]=k;

{for(j=0;

s[i][j];

}

3.#include<

v

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2