《程序設(shè)計(jì)基礎(chǔ)(上)》19秋期末考核-0001
一、單選題 (共 15 道試題,共 30 分)
1.一個(gè)浮點(diǎn)法表示的數(shù)值由( )兩部分組成。
A.階碼和尾數(shù)
B.整數(shù)和小數(shù)
C.指數(shù)和基數(shù)
D.尾數(shù)和小數(shù)
答案:A
2.已知“char s[]="南開(kāi)大學(xué)";”,則數(shù)組s的長(zhǎng)度為##。
A.9
B.8
C.5
D.4
答案:A
3.計(jì)算機(jī)系統(tǒng)中采用補(bǔ)碼運(yùn)算的目的是( )。
A.簡(jiǎn)化計(jì)算機(jī)的設(shè)計(jì)
B.提高運(yùn)算的精度
C.減少存儲(chǔ)空間
D.與手工運(yùn)算方式保持一致
答案:A
4.已知函數(shù)定義“void fun(int &a, int b) { b++; a++;}”,則執(zhí)行“int x=2,y=3; fun(x,y);”后,變量x、y的值分別為##。
A.3,4
B.3,3
C.2,4
D.2,3
答案:
5.默認(rèn)形參值不可以是##。
A.靜態(tài)全局變量
B.局部變量
C.函數(shù)調(diào)用
D.全局變量
答案:
6.已知“int a[]={1,2,3,4,5},*p=a;”,則以下各選項(xiàng)中對(duì)數(shù)組元素訪問(wèn)錯(cuò)誤的是##。
A.p[p-a]
B.*(p+2)
C.a[5]
D.a[3]
答案:
7.已知字母“a”的ASCII碼是97,則字母“f”的ASCII碼是( )。
A.103
B.102
C.101
D.100
答案:
8.在32位計(jì)算機(jī)系統(tǒng)中,已知“int a[2][3]; fun(a);”,fun函數(shù)的形參變量名為p,則在fun()函數(shù)體中通過(guò)sizeof(p)計(jì)算得到的結(jié)果為##。
A.6
B.4
C.24
D.12
答案:
9.已知程序段: int a[3][4],*p[3]={a[0], a[1], a[2]},**pp=p,i; for (i=0; i<12; i++) a[i/4][i%4]=i; 則pp[1][2]的值是##。
A.6
B.5
C.4
D.3
答案:
10.二進(jìn)制數(shù)1001101011轉(zhuǎn)換為等值的八進(jìn)制數(shù)是( )。
A.9AC
B.4651
C.26B
D.1153
答案:
11.字符的ASCII碼的表示方法是:使用8位二進(jìn)制碼并且( )。
A.最高位為1
B.最高位為0
C.最低位為1
D.最低位為0
答案:
12.下面的描述,不正確的是##。
A.語(yǔ)句for(i=0;;i++)表示無(wú)限循環(huán)
B.語(yǔ)句for(;;)表示無(wú)限循環(huán)
C.語(yǔ)句for( )表示無(wú)限循環(huán)
D.while(1)表示無(wú)限循環(huán)
答案:
13.已知“char a[]="abcd”,*p=a+2;",則語(yǔ)句“cout<<p;”會(huì)在屏幕上輸出##。
A.d
B.cd
C.c
D.bcd
答案:
14.下面關(guān)于循環(huán)語(yǔ)句的敘述中,正確的是##。
A.無(wú)論哪種循環(huán),都可以從循環(huán)體內(nèi)轉(zhuǎn)移到循環(huán)體外
B.for循環(huán)只能用于循環(huán)次數(shù)已知的情況
C.for循環(huán)體內(nèi)不能出現(xiàn)while語(yǔ)句
D.for循環(huán)與while循環(huán)一樣,都是先執(zhí)行循環(huán)體后判斷條件
答案:
15.已知“int a=5, b, *p=&a;”,則下列語(yǔ)句中正確的是##。
A.b=p;
B.b=*p;
C.*p=&b;
D.&b=a;
答案:
二、判斷題 (共 20 道試題,共 40 分)
16.在C++中,要對(duì)int型的一般數(shù)組進(jìn)行訪問(wèn),必須逐個(gè)元素進(jìn)行。
答案:
17.無(wú)參宏定義和條件編譯結(jié)合使用可以解決頭文件重復(fù)包含問(wèn)題。
答案:
18.負(fù)數(shù)的補(bǔ)碼就是原碼逐位取反后的結(jié)果。
答案:
19.若函數(shù)類(lèi)型為void,則函數(shù)體內(nèi)不能有return語(yǔ)句。
答案:
20.二維數(shù)組中的所有元素必須具有相同的數(shù)據(jù)類(lèi)型。
答案:
21.已知函數(shù)原型“double fun();”,要定義一個(gè)函數(shù)指針變量p指向該函數(shù)的首地址,則其定義語(yǔ)句為“double (*p)()=fun;”。
答案:
22.在計(jì)算機(jī)中因?yàn)椴捎玫木嵌M(jìn)制數(shù),所以包括數(shù)的正負(fù)性都只能用二進(jìn)制數(shù)來(lái)表示。
答案:
23.在C++中,如果在函數(shù)調(diào)用之后再進(jìn)行函數(shù)定義的話,就需要在調(diào)用之前給出函數(shù)原型。
答案:
24.如果函數(shù)沒(méi)有形參,則函數(shù)定義時(shí)形參列表可以省略,即函數(shù)定義“int fun {…}”是正確的。
答案:
25.在日常生活中完成一項(xiàng)較復(fù)雜的任務(wù)時(shí),我們通常會(huì)將任務(wù)分解成若干個(gè)子任務(wù),通過(guò)完成這些子任務(wù)逐步實(shí)現(xiàn)任務(wù)的整體目標(biāo)。
答案:
26.switch語(yǔ)句中的各的值可以相同,與條件表達(dá)式應(yīng)為同一數(shù)據(jù)類(lèi)型。
答案:
27.當(dāng)輸出漢字時(shí),輸出的是漢字機(jī)內(nèi)碼。
答案:
28.標(biāo)識(shí)符是指由程序員定義的詞法符號(hào),用來(lái)給變量、函數(shù)、數(shù)組、類(lèi)、對(duì)象、類(lèi)型等命名。
答案:
29.在整數(shù)的反碼的表示方法中,0的表示均是唯一的,即0只有一種表示形式。
答案:
30.表達(dá)式“x+1>y-2”是算數(shù)表達(dá)式。
答案:
31.? 高維數(shù)據(jù)都可以使用一維數(shù)組進(jìn)行存儲(chǔ)。
答案:
32.靜態(tài)局部變量在定義時(shí)若沒(méi)有初始化,則自動(dòng)初始化為0。
答案:
33.語(yǔ)句for(i=0;;i++)和for(;;)都表示一次也不循環(huán)。
答案:
34.使用全局變量會(huì)降低函數(shù)之間的獨(dú)立性,在編寫(xiě)程序時(shí)盡量減少全局變量的使用。
答案:
35.將浮點(diǎn)型賦值給整型時(shí),轉(zhuǎn)換后的值可能丟失小數(shù)部分,原來(lái)的值也可能超出目標(biāo)類(lèi)型的取值范圍導(dǎo)致結(jié)果錯(cuò)誤。
答案:
三、問(wèn)答題 (共 2 道試題,共 20 分)
36.下面程序的運(yùn)行結(jié)果是什么?
#include <iostream>
using namespace std;
int main()
{
char a[2][10]={"Xyccw"," XYcCw "};
int i;
for (i=0; i<5; i++)
{
if(a[0][i]!=a[1][i])
break;
}
if (i==5)
cout<<"兩個(gè)字符串相同"<<endl;
else
if (a[0][i]>a[1][i])
cout<<"較大的字符串為:"<<a[0]<<endl;
else
cout<<"較大的字符串為:"<<a[1]<<endl;
return 0;
}
答案:
37.下面程序的運(yùn)行結(jié)果是什么?
#include <iostream>
using namespace std;
void fun(int a, int b, int &sum, int sub)
{
sum = a+b;
sub = a-b;
}
int main()
{
int a=5, b=10, sum=0, sub=0;
fun(a, b, sum, sub);
cout<<sum<<endl;
cout<<sub<<endl;
return 0;
}
答案:
四、簡(jiǎn)答題 (共 1 道試題,共 10 分)
38.請(qǐng)?jiān)O(shè)計(jì)“求斐波那契數(shù)列”的遞歸算法,并用C++代碼寫(xiě)出求前10項(xiàng)斐波那契數(shù)列的完整程序。
答案:做好