中國大學(xué)mooc《C++程序設(shè)計(西北工業(yè)大學(xué)) 》章節(jié)測試答案_第1頁
中國大學(xué)mooc《C++程序設(shè)計(西北工業(yè)大學(xué)) 》章節(jié)測試答案_第2頁
中國大學(xué)mooc《C++程序設(shè)計(西北工業(yè)大學(xué)) 》章節(jié)測試答案_第3頁
中國大學(xué)mooc《C++程序設(shè)計(西北工業(yè)大學(xué)) 》章節(jié)測試答案_第4頁
中國大學(xué)mooc《C++程序設(shè)計(西北工業(yè)大學(xué)) 》章節(jié)測試答案_第5頁
已閱讀5頁,還剩25頁未讀, 繼續(xù)免費閱讀

中國大學(xué)mooc《C++程序設(shè)計(西北工業(yè)大學(xué)) 》章節(jié)測試答案.doc 免費下載

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

titleC++程序設(shè)計(西北工業(yè)大學(xué))中國大學(xué)mooc答案100分最新版content第1講C++語言概述第1講了解計算機的基本工作原理1、以下都可用作計算機輸入設(shè)備的是:A:鍵盤,鼠標(biāo),掃描儀,打印機

B:鍵盤,數(shù)碼相機,鼠標(biāo),繪圖儀

C:鍵盤,數(shù)碼相機,掃描儀,繪圖儀

D:鍵盤,鼠標(biāo),掃描儀,數(shù)碼相機

答案:鍵盤,鼠標(biāo),掃描儀,數(shù)碼相機2、CPU中包含控制器和:A:運算器

B:存儲器

C:輸入設(shè)備

D:輸出設(shè)備

答案:運算器3、下列語言不屬于高級語言中的是:A:C語言

B:機器語言

C:FORTRAN語言

D:C++語言

答案:機器語言4、正確的C++語言標(biāo)識符是:A:3d_max

B:if

C:A&B

D:sum_2

答案:sum_25、對C++語言和C語言的兼容性,描述正確的是:A:C++兼容C

B:C++部分兼容C

C:

C++不兼容C

D:C兼容C++

答案:C++兼容C第2講信息的表示與存儲第2講了解各種進位計數(shù)制及常用數(shù)據(jù)在計算機中的存儲1、下列數(shù)中最大的數(shù)為:A:(101001)B

B:(52)O

C:(43)D

D:(2C)H

答案:(2C)H2、如果X為負數(shù),由[X]補求[-X]補是將:A:[X]補各值保持不變

B:[X]補符號位變反,其它各位不變

C:[X]補除符號位外,各位變反,未位加1

D:[X]補連同符號位一起各位變反,未位加1

答案:[X]補連同符號位一起各位變反,未位加13、以下敘述錯誤的是:A:浮點數(shù)中,階碼反映了小數(shù)點的位置

B:浮點數(shù)中,階碼的位數(shù)越長,能表示的精度越高

C:計算機中,整數(shù)一般用定點數(shù)表示

D:浮點數(shù)和整數(shù)的最高位都是符號位

答案:浮點數(shù)中,階碼的位數(shù)越長,能表示的精度越高4、二進制數(shù)101101.101轉(zhuǎn)換為十進制數(shù)、八進制數(shù)和十六進制數(shù)的結(jié)果分別是:A:45.525、55.5、2D.A

B:45.625、55.5、2D.B

C:45.625、55.5、2D.A

D:45.625、55.6、2D.A

答案:45.625、55.5、2D.A5、字符型數(shù)據(jù)’A’存放在計算機中:A:存放的就是字母’A’

B:存放的是’A’的ASCII碼值的補碼

C:實際存放的是’A’的ASCII碼值97

D:實際存放的是’A’的ASCII碼值65

答案:實際存放的是’A’的ASCII碼值65第3講程序中數(shù)據(jù)的表示第3講掌握常量、變量的表示及基本數(shù)據(jù)類型1、類型修飾符unsigned不能修飾A:char

B:int

C:longint

D:float

答案:float2、在C++語言的數(shù)據(jù)類型中,int,short等類型的長度是A:固定的

B:任意的

C:用戶自定義的

D:與機器字長有關(guān)的

答案:與機器字長有關(guān)的3、下列選項中,均是合法的整型常量的是:A:60-0xffff0011

B:–0xcdf01a0xe

C:–01986,0120668

D:–0x48a2e50x

答案:60-0xffff00114、下列選項中,均是合法的實型常量的是:A:+1e+15e-9.403e2

B:-0.1012e-4-8e5

C:123e1.2e-.4+2e-1

D:–e3.8e-45.e-0

答案:-0.1012e-4-8e55、下列字符串常量表示中,哪個是錯誤的?A:

“\”yes”or\”No\””

B:

“’OK!’”

C:”abcd”

D:

“ABC\0”

答案:

“\”yes”or\”No\””6、字符串”\t\v\\0which”的長度是:A:4

B:3

C:9

D:字符串有非法字符,輸出值不確定

答案:37、以下不是C++語言支持的存儲類別的是:A:auto

B:static

C:dynamic

D:register

答案:dynamic8、下列不是C++語言的合法用戶標(biāo)識符的是:A:a#b

B:_int

C:a_10

D:Pad

答案:a#b9、下列字符列中,可作為C++語言程序自定義標(biāo)識符是:A:switch

B:file

C:break

D:do

答案:file10、下列屬于邏輯運算的一組算式是:A:1/1=1

B:1-1=0

C:1+1=10

D:1+1=1

答案:1+1=1第4講運算符與表達式第4講掌握各種表達式的表示1、命題“10<m<15或m>20”的C++語言表達式是A:

((m>10)&&(m<15)||(m>20))

B:

((m>20)&&(m<15)||(m>10))

C:

(m>10)||((m<15)&&(m>20))

D:

((m>10)||(m<15)||(m>20))

答案:

((m>10)&&(m<15)||(m>20))2、設(shè)int

a=3,b=4,c=5;表達式(a+b)>c&&b==c的值是:A:2

B:-1

C:0

D:1

答案:03、若x是一個bool型變量,y是一個值為100的int型變量,則表達式

!x

&&

y>0

的值為:A:為true

B:為false

C:與x的值相同

D:與x的值相反

答案:與x的值相反4、設(shè)變量m,n,a,b,c,d均為0,執(zhí)行(m

=

a==b)&&(n=c==d)后,m,n的值是:A:0,0

B:0,1

C:1,0

D:1,1

答案:1,15、設(shè)a和b均為double型變量,且a=5.5,b=2.5,則表達式(int)a+b/b的值是:A:6.500000

B:6

C:5.500000

D:6.000000

答案:6.0000006、以下非法的賦值表達式是:A:n=(i=2,i++)

B:

j++

C:++(i+1)

D:x=j>0

答案:++(i+1)7、設(shè)int

x=2,y=4,z=7;則執(zhí)行x=y–<=x|

|

x+y!=z后x,y的值分別為:A:0,3

B:1,3

C:2,3

D:2,4

答案:1,38、表達式!x等效于:A:x==1

B:x==0

C:x!=1

D:x!=0

答案:x==09、設(shè)以下變量均為int類型,則值不等于7的表達式是:A:(x=y=6,x+y,x+1)

B:(x=y=6,x+y,y+1)

C:(x=6,x+1,y=6,x+y)

D:(y=6,y+1,x=y,x+1)

答案:(x=6,x+1,y=6,x+y)10、在下列成對的表達式中,運算符“+”的意義不相同的一對是:A:5.0+2.0和5.0+2

B:5.0+2.0和5+2.0

C:5.0+2.0和5+2

D:5+2.0和5.0+2

答案:5.0+2.0和5+2第5講順序結(jié)構(gòu)的程序設(shè)計第5講掌握C++輸入輸出的格式控制1、輸入輸出格式控制是在哪個頭文件中定義的?A:iostream.h

B:iomanip.h

C:istream.h

D:ostream.h

答案:iomanip.h2、對于語句cout<<endl<<x;中的各個組成部分,下列敘述中錯誤的是:A:”cout”是一個輸出流對象

B:”endl”的作用是輸出回車換行

C:”x”是一個變量

D:”<<”稱作提取運算符

答案:”<<”稱作提取運算符3、在ios中提供控制格式的標(biāo)志位中,哪個是轉(zhuǎn)換為十六進制形式的標(biāo)志位?A:hex

B:oct

C:dec

D:left

答案:hex4、定義變量:char

one_char;則語句cout<<one_char;顯示結(jié)果相當(dāng)于C語言中的:A:printf(one_char);

B:printf(“%c”,one_char);

C:scanf(one_char);

D:scanf(“%c”,&one_char);

答案:printf(“%c”,one_char);5、若有定義“int

x=17;”,則語句“cout<<oct<<x;”的輸出結(jié)果是:A:11

B:0x11

C:21

D:021

答案:216、與C語言printf(“Hello,World\n”);語句功能相同的C++語句是:A:cout>>”Hello,World\n”;

B:cout<<“Hello,World\n”;

C:cin>>”Hello,World\n”;

D:cin<<“Hello,World\n”;

答案:cout<<“Hello,World\n”;7、與語句cout<<endl;不等價的是:A:cout<<’

\n’;

B:cout<<‘\12’;

C:cout<<’

\xA’;

D:D)cout<<’

\0’;

答案:D)cout<<’

\0’;8、下列程序的運行結(jié)果是:#include

<iostream>usingnamespacestd;intmain(){int

a=2;int

b=a+1;cout<<a/b<<endl;return0;}A:0.66667

B:0

C:0.7

D:0.6666666…

答案:09、執(zhí)行下列代碼,程序的輸出結(jié)果是(用下劃線表示空格):int

a=29,b=100;cout

<<setw

(3)

<<

a

<<

b

<<

endl;A:29_100

B:_29_100

C:29100

D:_29100

答案:_2910010、執(zhí)行下列代碼,程序的輸出結(jié)果是:cout

<<″Hex:″<<

hex

<<

255;A:ff

B:hex:ff

C:Hex:ff

D:f

答案:Hex:ff第6講選擇結(jié)構(gòu)的程序設(shè)計第6講掌握選擇結(jié)構(gòu)的程序設(shè)計1、流程控制語句的基本控制結(jié)構(gòu)有三種,不屬于這一種結(jié)構(gòu)的是:A:順序結(jié)構(gòu)

B:選擇結(jié)構(gòu)

C:循環(huán)結(jié)構(gòu)

D:計算結(jié)構(gòu)

答案:計算結(jié)構(gòu)2、在設(shè)計程序時,應(yīng)采納的原則之一是:A:不限制goto語句的使用

B:減少或取消注解行

C:程序越短越好

D:程序結(jié)構(gòu)應(yīng)有助于讀者理解

答案:程序結(jié)構(gòu)應(yīng)有助于讀者理解3、if語句的語法格式可描述為:格式1:if(<條件>)<語句>或if(<條件>)<語句1>else

<語句2>關(guān)于上面的語法格式,下列表述中錯誤的是:A:<條件>部分可以是一個if語句,例如if(if(a==0)……)……

B:<語句>部分可以是一個if語句,例如if(……)if(……)……

C:如果在<條件>前加上邏輯非運算符!并交換<語句1>和<語句2>的位置,語句功能不變

D:<語句>部分可以是一個循環(huán)語句,例如if(……)

while(……)……

答案:<條件>部分可以是一個if語句,例如if(if(a==0)……)……4、在if語句中的表達式是:A:只能是表達式

B:只能是關(guān)系表達式和邏輯表達式

C:只能是邏輯表達式

D:可以是任意表達式

答案:可以是任意表達式5、執(zhí)行如下語句序列,不可能出現(xiàn)的情況是:int

x;

cin>>x;

if(x>250)

cout<<‘A’;

if(x<250)

cout<<‘B’;

else

cout<<‘A’;A:顯示:A

B:顯示:B

C:顯示:AB

D:顯示:AA

答案:顯示:AB6、閱讀下面的程序,如果兩次執(zhí)行上述程序,且鍵盤輸入分別是4和6,則輸出結(jié)果是:#include

<iostream>usingnamespacestd;intmain(){int

x;cin>>x;if

(x++>5)cout

<<x<<endl;elsecout<<x–<<endl;return0;}A:4,6

B:3,6

C:4,7

D:5,7

答案:5,77、下列描述正確的是:A:表示m>n為false或m<n為true的表達式為(m>n&&m<n)

B:switch語句結(jié)構(gòu)中必須有default語句

C:if語句結(jié)構(gòu)中必須有default語句

D:如果至少有一個操作數(shù)為true,則包含||運算符的表達式為true

答案:如果至少有一個操作數(shù)為true,則包含||運算符的表達式為true8、執(zhí)行如下語句序列,不可能出現(xiàn)的情況是:int

n;

cin>>n;

switch(n){

case

1:

case

2:

cout<<‘A’;

case

3:

case

4:

cout<<‘B’;

break;

default:cout<<‘C’;

}A:顯示:A

B:顯示:B

C:顯示:C

D:顯示:AB

答案:顯示:A9、關(guān)于switch語句的說明中,錯誤的是:A:default語句是可缺省的

B:各個分支中的break語句起著退出switch語句的作用

C:switch結(jié)構(gòu)不可以嵌套

D:每個case語句中不必用{},而整體的switch結(jié)構(gòu)一定要寫一對花括號{}

答案:switch結(jié)構(gòu)不可以嵌套10、將以下程序?qū)懗扇窟\算表達式語句是:if

(a>b)

max=a;else

max=b;A:max=(a>b)?;

B:(max=a>b)?a:b;

C:c=(a>b)?a:b;

D:max=(a>b)?a:b;

答案:max=(a>b)?a:b;第7講循環(huán)結(jié)構(gòu)的程序設(shè)計第7講掌握循環(huán)結(jié)構(gòu)的程序設(shè)計1、while(!x)中的(!x)與下面哪個條件等價?A:x==1

B:x!=1

C:x!=0

D:x==0

答案:x==02、已知:inti=5,下列do-while循環(huán)語句的循環(huán)次數(shù)為:do{cout<<i–<<endl;i–;}while(i!=0);A:0

B:1

C:5

D:無限

答案:無限3、下面程序段:x=3;do{y=x–;if(!y){cout<<”x”;continue;}cout<<”#”;}while(x>=1&&x<=2);A:將輸出##

B:是死循環(huán)

C:將輸出###

D:含有不合法的控制表達式

答案:將輸出###4、for(intx=0,y=0;!x&&y<=5;y++)語句執(zhí)行循環(huán)的次數(shù)是:A:0

B:5

C:6

D:無限

答案:65、以下程序的輸出結(jié)果是:#include<iostream>usingnamespacestd;intmain(){chars[]=”abcdefbcde”,p=s;intv1=0,v2=0,v3=0,v4=0;

for(p;p;p++)

switch(*p){

case‘a(chǎn)’:v1++;break;

case‘b’:v3++;break;

case‘e’:v2++;break;

default:v4++;}cout<<v1<<“,”<<v2<<“,”<<v3<<“,”<<v4<<endl;return0;}A:1,2,2,5

B:4,7,5,8

C:1,5,3,10

D:8,8,8,8

答案:1,2,2,56、下面有關(guān)for循環(huán)的正確描述是:A:for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定的情況

B:for循環(huán)是先執(zhí)行循環(huán)體語句,后判斷表達式

C:在for循環(huán)中,不能用break語句跳出循環(huán)體

D:for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用大括號括起來

答案:for循環(huán)的循環(huán)體語句中,可以包含多條語句,但必須用大括號括起來7、C++語言的跳轉(zhuǎn)語句中,對于break和continue說法正確的是:A:break語句只應(yīng)用與循環(huán)體中

B:continue語句只應(yīng)用與循環(huán)體中

C:break是無條件跳轉(zhuǎn)語句,continue不是

D:break和continue的跳轉(zhuǎn)范圍不夠明確,容易產(chǎn)生問題

答案:continue語句只應(yīng)用與循環(huán)體中8、下列循環(huán)語句的循環(huán)次數(shù)是:while(inti=0)i–;A:0

B:1

C:2

D:3

答案:09、下面程序的輸出結(jié)果是:#include<iostream>usingnamespacestd;intmain(){for(inti=-1;i<4;i++)cout<<(i?’0′:’‘);return0;}A:00

B:0000

C:000

D:0000

答案:0*00010、下面程序的輸出結(jié)果是:#include“iostream”usingnamespacestd;intmain(){inti=17;while(i>=10)if(–i%4==3)continue;elsecout<<“i=”<<i–<<endl;return0;}A:i=16i=15i=14i=13

B:i=16i=14i=12

C:i=16i=14i=12i=10

D:i=17i=15i=13i=11

答案:i=16i=14i=12i=10第8講循環(huán)結(jié)構(gòu)的設(shè)計第8講掌握循環(huán)結(jié)構(gòu)的程序設(shè)計1、程序填空完成功能:求出1000以內(nèi)的全部素數(shù)。#include<iostream>usingnamespacestd;intmain(){

constintm=1000;

inti,j,isprime;

for(i=2;i<1000;i++){

isprime=1;

for(j=i-1;j>1;j–)

if(i%j==0)

;

if(isprime)cout<<i<<‘,’;

}

return0;}

答案:isprime=02、程序填空完成功能:求分?jǐn)?shù)序列2/1,3/2,5/3,8/5,13/8……的前20項之和。#include<iostream>usingnamespacestd;intmain(){doublei,n=1,m=1,t,s=0;

for(i=1;i<=20;i++){t=n;

n=m;

;

s=s+m/n;

}cout<<s<<endl;return0;}

答案:(以下答案任選其一都對)m=t+m;

m=m+t;

m=t+n;

m=n+t3、程序填空完成功能:有一堆機器零件(零件個數(shù)小于100),3個為一組則剩下2個,5個為一組則剩下1個,7個為一組則剩下6個,求這堆零件一共有多少個?#include<iostream>usingnamespacestd;intmain(){inti;for(i=1;i<100;i++){if(

)

cout<<i<<endl;}return0;}

答案:(以下答案任選其一都對)i%3==2&&i%5==1&&i%7==6;

(i%3==2)&&(i%5==1)&&(i%7==6);

(i%3==2&&i%5==1&&i%7==6)第9講函數(shù)的定義和使用第9講掌握函數(shù)的定義和函數(shù)的調(diào)用方式1、下列特性中,C與C++共有的是:A:繼承

B:封裝

C:多態(tài)性

D:函數(shù)定義不能嵌套

答案:函數(shù)定義不能嵌套2、必須用一對大括號括起來的程序段是:A:switch語句中的case標(biāo)號語句

B:if語句的分支

C:循環(huán)語句的循環(huán)體

D:函數(shù)的函數(shù)體

答案:函數(shù)的函數(shù)體3、關(guān)于C++主函數(shù)特性,下列敘述正確的是:A:主函數(shù)在同一個C++文件中可以有兩個

B:主函數(shù)類型必須是void類型

C:主函數(shù)一定有返回值

D:每個C++程序都必須有一個main()函數(shù)

答案:每個C++程序都必須有一個main()函數(shù)4、在C++語言中,main函數(shù)默認返回一個()類型的值A(chǔ):int

B:float

C:char

D:void

答案:int5、C++語言中規(guī)定函數(shù)的返回值的類型是由:A:return語句中的表達式類型所決定

B:調(diào)用該函數(shù)時的主調(diào)用函數(shù)類型所決定

C:調(diào)用該函數(shù)時系統(tǒng)臨時決定

D:在定義該函數(shù)時多指定的數(shù)據(jù)類型所決定

答案:在定義該函數(shù)時多指定的數(shù)據(jù)類型所決定6、若調(diào)用一個函數(shù),且此函數(shù)中沒有return語句,則正確的說法是該函數(shù):A:沒有返回值

B:返回若干個系統(tǒng)默認值

C:有返回值,但返回一個不確定的值

D:回一個用戶所希望的函數(shù)值

答案:有返回值,但返回一個不確定的值7、下列敘述中錯誤的是:A:一個函數(shù)中可以有多條return語句

B:調(diào)用函數(shù)必須在一條獨立的語句中完成

C:函數(shù)中通過return語句傳遞函數(shù)值

D:主函數(shù)名main也可以帶有形參

答案:調(diào)用函數(shù)必須在一條獨立的語句中完成8、在C++中把不返回任何類型的函數(shù)應(yīng)該說明為:A:int

B:float

C:char

D:void

答案:void9、在函數(shù)的定義格式中,下面各組成部分中,()是可以省略的。A:函數(shù)名

B:函數(shù)數(shù)據(jù)類型說明

C:函數(shù)體

D:函數(shù)參數(shù)

答案:函數(shù)參數(shù)10、函數(shù)調(diào)用func((exp1,exp2),(exp3,exp4,exp5))中所含實參的個數(shù)為:A:1

B:2

C:3

D:4

答案:2第10講函數(shù)的設(shè)計第10講靈活運用函數(shù)重載、默認參數(shù)和函數(shù)模板1、指出下列對定義重載函數(shù)的要求中,()是錯誤的。A:要求參數(shù)的個數(shù)相同

B:要求參數(shù)的類型相同時,參數(shù)個數(shù)不同

C:函數(shù)的返回值可以不同

D:要求參數(shù)的個數(shù)相同時,參數(shù)類型不同

答案:要求參數(shù)的個數(shù)相同2、一個函數(shù)為voidx(int,charch=’a’),另一個函數(shù)為voidx(int),則它們:A:不能在同一程序中定義

B:可以在同一程序中定義并可重載

C:可以在同一程序中定義,但不可以重載

D:以上說法均不正確

答案:可以在同一程序中定義,但不可以重載3、重載函數(shù)在調(diào)用時選擇的依據(jù)中,錯誤的是:A:函數(shù)的參數(shù)

B:參數(shù)的類型

C:函數(shù)的名字

D:函數(shù)返回值類型

答案:函數(shù)返回值類型4、下列函數(shù)原型聲明中錯誤的是:A:voidfun(intx=0,inty=0);

B:voidfun(intx,inty);

C:void

fun(intx,inty=0);

D:voidfun(intx=0,inty);

答案:voidfun(intx=0,inty);5、一個函數(shù)帶有參數(shù)說明時,則參數(shù)的默認值應(yīng)該在()中給出。A:函數(shù)定義

B:函數(shù)聲明

C:函數(shù)定義或聲明

D:函數(shù)調(diào)用

答案:函數(shù)定義或聲明6、下列關(guān)于函數(shù)參數(shù)默認值的描述中,正確的是:A:函數(shù)參數(shù)的默認值只能設(shè)置一個

B:若一個函數(shù)含有多個參數(shù),其中一個參數(shù)設(shè)置成默認值后,其后所有參數(shù)都必須設(shè)置默認值

C:若一個函數(shù)含有多個參數(shù),則設(shè)置默認參數(shù)時可以不連續(xù)設(shè)置默認值

D:C++語言中函數(shù)都必須設(shè)有默認值

答案:若一個函數(shù)含有多個參數(shù),其中一個參數(shù)設(shè)置成默認值后,其后所有參數(shù)都必須設(shè)置默認值7、模板函數(shù)的真正代碼是在()時候產(chǎn)生。A:源程序中聲明函數(shù)時

B:源程序中定義函數(shù)時

C:源程序中的調(diào)用函數(shù)時

D:運行執(zhí)行函數(shù)時

答案:源程序中的調(diào)用函數(shù)時8、以下關(guān)于函數(shù)模板敘述正確的是:A:函數(shù)模板也是一個具體類型的函數(shù)

B:函數(shù)模板的類型參數(shù)與函數(shù)的參數(shù)是同一個概念

C:通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)

D:用函數(shù)模板定義的函數(shù)沒有類型

答案:通過使用不同的類型參數(shù),函數(shù)模板可以生成不同類型的函數(shù)9、常情況下,函數(shù)模板中的類型參數(shù)個數(shù)不能是:A:0

B:1

C:2

D:3

答案:010、實現(xiàn)兩個相同類型數(shù)加法的函數(shù)模板的聲明是:A:add(Tx,Ty)

B:Tadd(x,y)

C:Tadd(Tx,y)

D:Tadd(Tx,Ty)

答案:Tadd(Tx,Ty)第11講函數(shù)的調(diào)用第11講掌握函數(shù)的嵌套調(diào)用和遞歸調(diào)用1、在參數(shù)傳遞過程中,對形參和實參的要求是:A:函數(shù)定義時,形參一直占用存儲空間

B:實參可以是常量、變量或表達式

C:形參可以是常量、變量或表達式

D:形參和實參類型和個數(shù)都可以不同

答案:實參可以是常量、變量或表達式2、在函數(shù)的引用調(diào)用時,實參和形參應(yīng)該是使用:A:變量值和變量

B:地址值和指針

C:地址值和引用

D:變量值和引用

答案:變量值和引用3、使用值傳遞方式將實參傳給形參,下列說法正確的是:A:形參是實參的備份

B:實參是形參的備份

C:形參和實參是同一對象

D:形參和實參無聯(lián)系

答案:形參是實參的備份4、下列函數(shù)調(diào)用中對調(diào)用它的函數(shù)沒有起到任何作用的是:A:voidf1(double&x){–x;}

B:doublef2(doublex){returnx-1.5;}

C:voidf3(doublex){–x;}

D:doublef4(double

x){–x;return*x;}

答案:voidf3(doublex){–x;}5、對于某個函數(shù)調(diào)用,不給出調(diào)用函數(shù)的聲明的情況是:A:被調(diào)用函數(shù)是無參函數(shù)

B:被調(diào)用函數(shù)是無返回值的函數(shù)

C:函數(shù)的定義在調(diào)用處之前

D:函數(shù)的定義有別的程序文件中

答案:函數(shù)的定義在調(diào)用處之前6、在哪種情況下適宜采用inline定義內(nèi)聯(lián)函數(shù)?A:函數(shù)體含有循環(huán)語句

B:函數(shù)體含有遞歸語句

C:函數(shù)代碼少、頻繁調(diào)用

D:函數(shù)代碼多、不常調(diào)用

答案:函數(shù)代碼少、頻繁調(diào)用7、下列哪個類型函數(shù)不適合聲明為內(nèi)聯(lián)函數(shù):A:函數(shù)體語句較多

B:函數(shù)體語句較少

C:函數(shù)執(zhí)行時間較短

D:函數(shù)執(zhí)行時間過長

答案:函數(shù)體語句較多8、在C++中,編寫一個內(nèi)聯(lián)函數(shù)Fsqu,使用double類型的參數(shù),求其平方并返回,返回值為double類型,下列定義正確的是:A:doubleFsqu(doublex){returnxx;}

B:inlinedoubleFsqu(doublex){returnxx;}

C:doubleinlineFsqu(doublex){returnxx;}

D:doubleFsqu(doublex){inlinereturnxx;}

答案:inlinedoubleFsqu(doublex){returnx*x;}9、已知遞歸函數(shù)f的定義如下:int

f(intn){

if(n<=1)return1;

elsereturnn*f(n-2);}則函數(shù)調(diào)用語句f(5)的返回值是:A:14

B:15

C:16

D:17

答案:1510、在一個函數(shù)體中直接或間接地調(diào)用函數(shù)本身,這種調(diào)用稱為()調(diào)用。A:嵌套

B:遞歸

C:直接

D:間接

答案:遞歸第12講作用域、生命期和程序的組織結(jié)構(gòu)第12講理解作用域、生命期和程序的組織結(jié)構(gòu)1、不能實現(xiàn)函數(shù)之間數(shù)據(jù)傳遞的是:A:全局變量

B:局部變量

C:函數(shù)接口

D:函數(shù)返回值

答案:局部變量2、所有在函數(shù)中定義的變量,連同形式參數(shù),都是:A:全局變量

B:局部變量

C:靜態(tài)變量

D:寄存器變量

答案:局部變量3、內(nèi)部靜態(tài)變量的作用域是:A:定義該靜態(tài)變量的函數(shù)外部

B:定義該靜態(tài)變量的函數(shù)內(nèi)部

C:定義該靜態(tài)變量的文件外部

D:定義該靜態(tài)變量的文件內(nèi)部

答案:定義該靜態(tài)變量的函數(shù)內(nèi)部4、進行初始化即可自動獲取初值為0的變量是:A:任何用static修飾的變量

B:任何在函數(shù)外定義的變量

C:局部變量和用static修飾的全局變量

D:全局變量和用static修飾的局部變量

答案:全局變量和用static修飾的局部變量5、在函數(shù)中,可以用auto,extern,register和static四個關(guān)鍵字中的一個來說明變量的存儲類型,如果不說明存儲類型,則默認的存儲類型是:A:auto

B:extern

C:register

D:static

答案:auto6、在一個C++源程序文件中定義的全局變量的有效范圍是:A:該C++程序的所有源程序文件

B:本源程序文件的全部范圍

C:從定義變量的位置開始到本源程序文件結(jié)束

D:函數(shù)內(nèi)部全部范圍

答案:從定義變量的位置開始到本源程序文件結(jié)束7、在C++中有以下4條語句:staticinthot=200;int&rad=hot;hot=hot+100;cout<<rad<<endl;執(zhí)行這4條語句后輸出為:A:0

B:100

C:200

D:300

答案:3008、下面關(guān)于C++語言變量的敘述錯誤的是:A:C++語言中變量為auto,static,extern和register四種存儲類型

B:自動變量和外部變量的作用域為整個程序

C:內(nèi)部靜態(tài)變量的作用域是定義它的函數(shù)

D:外部靜態(tài)變量的作用域是定義它的文件

答案:自動變量和外部變量的作用域為整個程序9、如果在一個源文件中定義的函數(shù),只能被本文件中的函數(shù)調(diào)用,而不能被同一程序其它文件中的函數(shù)調(diào)用,則說明這個函數(shù)為:A:私有函數(shù)

B:內(nèi)部函數(shù)

C:外部函數(shù)

D:庫函數(shù)

答案:內(nèi)部函數(shù)10、重新定義標(biāo)識符的作用域規(guī)定是外層變量被隱藏,()變量是可見的。A:外層

B:內(nèi)層

C:外層和內(nèi)層

D:內(nèi)部

答案:內(nèi)層第13講數(shù)組的定義和使用第13講掌握數(shù)組的定義和使用1、下列關(guān)于數(shù)組的描述正確是:A:數(shù)組的長度是固定的,而其中元素的數(shù)據(jù)類型可以不同

B:數(shù)組的長度是固定的,而其中元素的數(shù)據(jù)類型必須相同

C:數(shù)組的長度是可變的,而其中元素的數(shù)據(jù)類型可以不同

D:數(shù)組的長度是可變的,而其中元素的數(shù)據(jù)類型必須相同

答案:數(shù)組的長度是固定的,而其中元素的數(shù)據(jù)類型必須相同2、在C++語言中引用數(shù)組元素時,下面關(guān)于數(shù)組下標(biāo)數(shù)據(jù)類型的說法錯誤的是:A:整型常量

B:整型表達式

C:整型常量或整型表達式

D:任何類型的表達式

答案:任何類型的表達式3、要定義數(shù)組A,使得其中每個元素的數(shù)據(jù)分別依次為:3、9、4、8、0、0、0,錯誤的定義語句是:A:intA[]={3,9,4,8,0,0,0};

B:intA[9]={3,9,4,8,0,0,0};

C:intA[]={3,9,4,8};

D:

intA[7]={3,9,4,8};

答案:intA[]={3,9,4,8};4、有如下數(shù)組聲明:intvalue[30];,下標(biāo)值引用錯誤的是:A:value[30]

B:value[0]

C:value[10]

D:value[20]

答案:value[30]5、以下敘述中錯誤的是:A:對于double類型數(shù)組,不可以直接用數(shù)組名對數(shù)組進行整體輸入或輸出

B:數(shù)組名代表的是數(shù)組所占存儲區(qū)的首地址,其值不可改變

C:當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息

D:可以通過賦初值的方式確定數(shù)組元素的個數(shù)

答案:當(dāng)程序執(zhí)行中,數(shù)組元素的下標(biāo)超出所定義的下標(biāo)范圍時,系統(tǒng)將給出“下標(biāo)越界”的出錯信息6、以下正確的二維數(shù)組定義是:A:inta[][]={1,2,3,4,5,6};

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

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

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

答案:inta[][3]={1,2,3,4,5,6};7、以下對二維數(shù)組a進行初始化正確的是:A:inta[2][]={{1,0,1},{5,2,3}};

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

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

D:inta[][3]={{1,0,1},{},{1,1}};

答案:inta[][3]={{1,2,3},{4,5,6}};8、若有定義:inta[3][4];則正確引用數(shù)組a元素的是:A:a[2][4]

B:a[3][3]

C:a[0][0]

D:a[3][4]

答案:a[0][0]9、若有定義:inta[][4]={0,0};以下敘述中錯誤的是:A:數(shù)組a的每個元素都可得到初值0

B:二維數(shù)組a的第一維大小為1

C:因為初值個數(shù)除以a中第二維大小的值的商為0,故數(shù)組a的行數(shù)為1

D:只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

答案:只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值010、下面選項中等價的是:A:inta[2][3]={1,0,2,2,4,5}與inta[2][]={1,0,2,2,4,5};

B:inta[][3]={1,0,2,2,4,5}與inta[2][3]={1,0,2,2,4,5};

C:inta[2][3]={3,4,5}與inta[][3]={3,4,5};

D:inta[2][3]={0,1}與inta[2][3]={{0},{1}};

答案:inta[][3]={1,0,2,2,4,5}與inta[2][3]={1,0,2,2,4,5};第14講數(shù)組與函數(shù)第14講掌握數(shù)組作為函數(shù)參數(shù)的使用方法1、若用數(shù)組名作為函數(shù)調(diào)用的實參,傳遞給形參的是:A:數(shù)組的首地址

B:數(shù)組中第一個元素的值

C:數(shù)組中的全部元素的值

D:數(shù)組元素的個數(shù)

答案:數(shù)組的首地址2、對數(shù)組名作函數(shù)的參數(shù),下面描述正確的是:A:數(shù)組名作函數(shù)的參數(shù),調(diào)用時將實參數(shù)組復(fù)制給形參數(shù)組

B:數(shù)組名作函數(shù)的參數(shù),主調(diào)函數(shù)和被調(diào)函數(shù)共用一段存儲單元

C:數(shù)組名作參數(shù)時,形參定義的數(shù)組長度不能省略

D:數(shù)組名作參數(shù),不能改變主調(diào)函數(shù)中的數(shù)據(jù)

答案:數(shù)組名作函數(shù)的參數(shù),主調(diào)函數(shù)和被調(diào)函數(shù)共用一段存儲單元3、已知某函數(shù)的一個形式參數(shù)被說明為MAT[3][10],在下列說明中,與此等效的形參說明是:A:intMAT[][10]

B:intMAT[3][]

C:intMAT[10][3]

D:intMAT[][]

答案:intMAT[][10]4、設(shè)主調(diào)用函數(shù)為如下程序段,則函數(shù)f中對形參數(shù)組定義錯誤的是:inta[3][4];f(a);A:f(intarray[3][4])

B:f(intarray[][4])

C:f(intarray[3][])

D:f(intarray[4][3])

答案:f(intarray[3][])5、下面程序執(zhí)行后的輸出結(jié)果是:#include<iostream>usingnamespacestd;intf(intb[],intm,intn){inti,s=0;

for(i=m;i<n;i++)s=s+b[i-1];

returns;}intmain(){intx,a[]={1,2,3,4,5,6,7,8,9};

x=f(a,3,7);

cout<<x;

return0;}A:10

B:18

C:8

D:15

答案:186、下面程序執(zhí)行后的輸出結(jié)果是:#include<iostream>usingnamespacestd;#defineN20voidfun(inta[],intn,intm){inti;for(i=m;i>=n;i–)a[i+1]=a[i];}intmain(){

inti;inta[N]={1,2,3,4,5,6,7,8,9,10};fun(a,2,9);for(i=0;i<5;i++)cout<<a[i];return0;}A:10234

B:12344

C:12334

D:12234

答案:123347、下面程序執(zhí)行后的輸出結(jié)果是:#include<iostream>usingnamespacestd;voidswap1(intc[]){intt;t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}intmain(){inta[2]={3,5},b[2]={3,5};swap1(a);swap2(b[0],b[1]);cout<<a[0]<<a[1]<<b[0]<<b[1];return0;}A:5353

B:5335

C:3535

D:3553

答案:53358、下面程序執(zhí)行后的輸出結(jié)果是:#include<iostream>usingnamespacestd;intfun(intt[],intn){intm;if(n>=2){m=fun(t,n-1);returnm;}returnt[0];}intmain(){inta[]={11,4,6,3,8,2,3,5,9,2};cout<<fun(a,10);return0;}A:10

B:11

C:12

D:13

答案:11第15講字符串的處理第15講掌握C和C++的字

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論