C語言編程方法與思想知到智慧樹章節(jié)測試課后答案2024年秋北京航空航天大學(xué)_第1頁
C語言編程方法與思想知到智慧樹章節(jié)測試課后答案2024年秋北京航空航天大學(xué)_第2頁
C語言編程方法與思想知到智慧樹章節(jié)測試課后答案2024年秋北京航空航天大學(xué)_第3頁
C語言編程方法與思想知到智慧樹章節(jié)測試課后答案2024年秋北京航空航天大學(xué)_第4頁
免費(fèi)預(yù)覽已結(jié)束,剩余6頁可下載查看

下載本文檔

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

文檔簡介

C語言編程方法與思想知到智慧樹章節(jié)測試課后答案2024年秋北京航空航天大學(xué)第一章單元測試

執(zhí)行兩個(gè)數(shù)的四則運(yùn)算,關(guān)于語句,scanf("%d%d%c",&a,&b,&op);

正確的輸入方式是()。

A:28*B:5,9,+C:46+D:37*

答案:28*;46+關(guān)于函數(shù)scanf的返回值,正確的說法是什么?()

A:正確讀入時(shí)返回1B:正確讀入的數(shù)據(jù)的個(gè)數(shù)C:正確讀入時(shí)返回0D:正確讀入時(shí)返回-1

答案:正確讀入的數(shù)據(jù)的個(gè)數(shù)執(zhí)行兩個(gè)數(shù)的四則運(yùn)算(中綴表達(dá)式),關(guān)于語句,scanf("%d%c%d",&a,&op,&b);

正確的輸入方式是()。

A:3*7B:3*7C:3*7D:3*7

答案:3*7;3*7用scanf("%d%c%d",&x,&c,&y)輸入三個(gè)數(shù)據(jù),正確的描述為:()

A:沒有正確答案B:輸入的三個(gè)數(shù)據(jù)用換行分開C:輸入的三個(gè)數(shù)據(jù)用逗號(hào)分開D:輸入的三個(gè)數(shù)據(jù)用空格分開

答案:沒有正確答案用gets輸入多個(gè)字符串,循環(huán)頭語句可以為,while(gets(str)!=______()

輸入結(jié)束的標(biāo)記是什么?

A:NULLB:EOFC:1D:-1

答案:B:EOF

第二章單元測試

以下哪個(gè)位運(yùn)算符用于將指定位設(shè)置為1?()

A:>>B:|C:&D:^

答案:|如果x的值為6,y的值為3,則x^y的結(jié)果是什么?()

A:6B:3C:5D:9

答案:5已知8位二進(jìn)制反碼表示11100111,那么它的十進(jìn)制值是多少?()

A:103B:-24C:24D:-103

答案:-24(已知,EPS是一個(gè)用于控制精度的宏,例如#defineEPS1e-6)

下列說法正確的是?()

A:double型精度更高,不存在浮點(diǎn)數(shù)誤差B:減小浮點(diǎn)數(shù)誤差,可以通過使用更高精度的浮點(diǎn)數(shù)C:可以使用語句if(a-0.3<=EPS)來判斷浮點(diǎn)數(shù)a是否為0.3D:可以使用語句if(a-0.3==EPS)來判斷浮點(diǎn)數(shù)a是否為0.3

答案:減小浮點(diǎn)數(shù)誤差,可以通過使用更高精度的浮點(diǎn)數(shù)可以使用語句if(a-0.3<=EPS)來判斷浮點(diǎn)數(shù)a是否為0.3()

A:對(duì)B:錯(cuò)

答案:錯(cuò)

第三章單元測試

有關(guān)if-else選擇結(jié)構(gòu)的論述,正確的是______?()

A:多個(gè)ifelse嵌套時(shí),else總是和最近的if匹配B:if中的條件表達(dá)式必須為邏輯或關(guān)系表達(dá)式,不能為算術(shù)表達(dá)式C:if或else部分如果有多條語句,必須用大括號(hào)括起來組成復(fù)合語句塊D:通過條件語句的嵌套結(jié)構(gòu),可以實(shí)現(xiàn)多路選擇

答案:多個(gè)ifelse嵌套時(shí),else總是和最近的if匹配;if中的條件表達(dá)式必須為邏輯或關(guān)系表達(dá)式,不能為算術(shù)表達(dá)式;通過條件語句的嵌套結(jié)構(gòu),可以實(shí)現(xiàn)多路選擇有關(guān)switch語句的論述,正確的是______?()

A:case中的值可以為一個(gè)變量,從而根據(jù)變量的取值進(jìn)行選擇B:switch中的表達(dá)式必須為整數(shù)表達(dá)式,返回整數(shù)或字符類型的值C:default分支一般放在最后,當(dāng)前面所有的case都不匹配時(shí),跳轉(zhuǎn)到該處執(zhí)行D:執(zhí)行完一個(gè)case分支后,會(huì)繼續(xù)判斷后續(xù)case是否滿足條件,如果滿足則跳轉(zhuǎn)到后續(xù)的case中繼續(xù)執(zhí)行

答案:switch中的表達(dá)式必須為整數(shù)表達(dá)式,返回整數(shù)或字符類型的值;default分支一般放在最后,當(dāng)前面所有的case都不匹配時(shí),跳轉(zhuǎn)到該處執(zhí)行有關(guān)三種循環(huán)結(jié)構(gòu)特點(diǎn)的論述,錯(cuò)誤的是______?()

A:while循環(huán)體不能為空,否則無法結(jié)束while循環(huán)B:for循環(huán)頭中的三個(gè)表達(dá)式都可以省略,但兩個(gè)分號(hào)不能省略C:有些while循環(huán)無法轉(zhuǎn)換為for循環(huán)D:do-while循環(huán)至少執(zhí)行一次

答案:for循環(huán)頭中的三個(gè)表達(dá)式都可以省略,但兩個(gè)分號(hào)不能省略;有些while循環(huán)無法轉(zhuǎn)換為for循環(huán)執(zhí)行完一個(gè)case分支后,會(huì)繼續(xù)判斷后續(xù)case是否滿足條件,如果滿足則跳轉(zhuǎn)到后續(xù)的case中繼續(xù)執(zhí)行。()

A:錯(cuò)B:對(duì)

答案:錯(cuò)do-while循環(huán)至少執(zhí)行一次。()

A:錯(cuò)B:對(duì)

答案:錯(cuò)

第四章單元測試

關(guān)于C程序中函數(shù)的調(diào)用和執(zhí)行,不正確的是:()

A:當(dāng)調(diào)用(執(zhí)行)一個(gè)函數(shù)時(shí),就會(huì)開辟一個(gè)獨(dú)立的空間(棧)。B:當(dāng)函數(shù)執(zhí)行完畢后,會(huì)返回到調(diào)用函數(shù)位置,繼續(xù)執(zhí)行。C:一個(gè)C程序的執(zhí)行是從本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束D:如果函數(shù)有返回值,則將返回值賦給接收的變量。

答案:一個(gè)C程序的執(zhí)行是從本程序的main函數(shù)開始,到本程序文件的最后一個(gè)函數(shù)結(jié)束現(xiàn)需要編程完成兩個(gè)分?jǐn)?shù)的求和,并將所求得的和化為最簡形式。已知以下代碼設(shè)計(jì)了一個(gè)函數(shù)gcd(),能夠求兩個(gè)整數(shù)的最大公約數(shù),欲調(diào)用該函數(shù)完成本任務(wù)的求解,則______處可填入的語句是:()

intgcd(int,int);

intmain()

{

inta,b,c,d,e,f,g;//(a,b)與(c,d)分別表示兩個(gè)分?jǐn)?shù)的分子、分母

scanf("%d%d%d%d",&a,&b,&c,&d);

e=a*d+c*b;

f=b*d;

g=______;

e/=g;

f/=g;

printf("%d/%d+%d/%d=%d/%d\n",a,b,c,d,e,f);

}

intgcd(inta,intb)

{

returnb?gcd(b,a%b):a;

}

A:gcd(f,e)B:gcd(a,b)C:gcd(c,d)D:gcd(e,f)

答案:gcd(f,e);gcd(e,f)以下代碼用遞歸函數(shù)實(shí)現(xiàn)求解兩個(gè)正整數(shù)的最大公約數(shù),______處應(yīng)填入的語句是:()

#include<stdio.h>

intgcd(int,int);

intmain()

{

inta,b,g;

scanf("%d%d",&a,&b);

g=gcd(a,b);

printf("%d\n",g);

return0;

}

intgcd(inta,intb)

{

if(b==0)

returna;

return___________;

}

A:gcd(b,a%b)B:a%bC:gcd(a%b,b)

答案:gcd(b,a%b)阿克曼函數(shù)的定義如下

用遞歸的方法實(shí)現(xiàn)求解阿克曼函數(shù)ack(m,n)(0≤m≤3,0≤n≤10),則該遞歸函數(shù)的基本情況應(yīng)包括:()

intack(intm,intn)

{

————————;

————————;

returnack(m-1,ack(m,n-1));

}

A:if(n==0)return0;B:if(n==0)returnack(m-1,1);C:if(m==0)return-1;D:if(m==0)returnn+1;

答案:if(n==0)returnack(m-1,1);;if(m==0)returnn+1;當(dāng)調(diào)用(執(zhí)行)一個(gè)函數(shù)時(shí),就會(huì)開辟一個(gè)獨(dú)立的空間(棧)。()

A:對(duì)B:錯(cuò)

答案:對(duì)

第五章單元測試

經(jīng)典的冒泡排序算法

for(i=1;i<n;i++)

{

for(j=0;j<n-i;j++)

{

if(a[j]>a[j+1])//比較

{

SWAP(a[j],a[j+1])//交換

}

}

}

比較和交換分別執(zhí)行了多次?______()

A:O(nlgn)O(n2)B:O(n)O(n)C:O(n2)O(nlgn)D:O(n2)O(n2)

答案:O(n2)O(n2)兩個(gè)關(guān)鍵字排序,第一個(gè)關(guān)鍵字為數(shù)組a(降序排列),第二個(gè)關(guān)鍵字為數(shù)組b(如果第一個(gè)關(guān)鍵字相當(dāng),則按b降序排列),用經(jīng)典的冒泡排序算法實(shí)現(xiàn),請(qǐng)?zhí)羁諏?shí)現(xiàn)元素的比較部分,()

for(i=1;i<N;i++)

{

for(j=0;j<N-i;j++)

{

if(____________________________)//比較

{

SWAP(a[j],a[j+1])//交換

SWAP(b[j],b[j+1])//交換

}

}

}

A:(a[j]<a[j+1])||((a[j]==a[j+1])&&(b[j]<b[j+1]))B:(a[j]<a[j+1])&&(b[j]>b[j+1])C:(a[j]<a[j+1])||((a[j]==a[j+1])&&(b[j]>b[j+1]))D:(a[j]<a[j+1])&&(b[j]<b[j+1])

答案:(a[j]<a[j+1])||((a[j]==a[j+1])&&(b[j]>b[j+1]))請(qǐng)?jiān)谝痪S數(shù)組b中查找key的位置,未找到返回-1,填空完成經(jīng)典的二分搜索算法。()

//low和high表示搜索的起始范圍,從b[low]到b[high]

intbin_find(intb[],intkey,intlow,inthigh)

{

intmid;

while(low<=high)

{

mid=low+(high-low)/2;

if(key==b[mid])

returnmid;

elseif(key<b[mid])

____________________________

else

low=mid+1;

}

return-1;

}

A:high=mid+1;B:high=mid-1;C:high=mid;D:high=low;

答案:high=mid-1;二分搜索每次把搜索區(qū)域砍掉一半,時(shí)間復(fù)雜度為O(logn)。(n代表集合中元素的個(gè)數(shù))。()

A:錯(cuò)B:對(duì)

答案:對(duì)字符串輸入輸出函數(shù)的原型在下面哪個(gè)標(biāo)準(zhǔn)頭文件中定義:()。

A:stdio.hB:math.hC:string.hD:stdlib.h

答案:stdio.hfgets函數(shù)讀入字符串比gets函數(shù)更安全。()

A:錯(cuò)B:對(duì)

答案:對(duì)

第六章單元測試

假設(shè)要對(duì)一個(gè)N行M列的二維double型數(shù)組以行為單位進(jìn)行排序,在調(diào)用通用冒泡排序函數(shù)g_bub_sort時(shí),實(shí)際參數(shù)len和elemSize的值分別是多少。()

A:N和M*sizeof(double)B:N和MC:M和ND:N*M和sizeof(double)

答案:N和M*sizeof(double)假設(shè)cmp是一個(gè)滿足嚴(yán)格有序的比較函數(shù),判斷a,b相等的條件是什么?()

A:!cmp(a,b)&&!cmp(b,a)B:!cmp(a,b)||!cmp(b,a)C:cmp(a,b)||cmp(b,a)D:cmp(a,b)&&cmp(b,a)

答案:!cmp(a,b)||!cmp(b,a)使用qsort函數(shù)可以排序______數(shù)據(jù)類型的數(shù)組。()

A:字符型B:整型C:浮點(diǎn)型D:結(jié)構(gòu)體型

答案:字符型;整型;浮點(diǎn)型;結(jié)構(gòu)體型qsort排序的平均時(shí)間復(fù)雜度多少?()

A:O(nlogn)B:O(n3)C:O(n2)D:O(n)

答案:O(nlogn)下面正確定義p為函數(shù)指針的是:()。

A:int*p;B:int(*p)(int);C:char(*p)[10];D:int*p(int);

答案:int(*p)(int);*作為單目運(yùn)算符是解引用運(yùn)算符,作為雙目運(yùn)算符是乘號(hào),它還可以用來定義指針。()

A:對(duì)B:錯(cuò)

答案:對(duì)

第七章單元測試

輸入字符串時(shí),常用fgets來代替gets,主要是fgets有什么優(yōu)點(diǎn)______。()

A:fgets能讀入字符串行末的\nB:fgets能讀入字符串中間的若干個(gè)空格C:fgets能指定讀入字符串的來源和目標(biāo)位置D:fgets通過參數(shù)設(shè)置能保證讀入字符串的合法性(達(dá)到字符數(shù)組長度時(shí)在行末添加\0)

答案:fgets通過參數(shù)設(shè)置能保證讀入字符串的合法性(達(dá)到字符數(shù)組長度時(shí)在行末添加\0)在Windows系統(tǒng)上,按正文(文本)方式打開文本文件且用fgets(arr,N,stdin)讀入文本文件內(nèi)容到內(nèi)存時(shí)(N足夠大),下述正確的描述是______。()

A:沒有正確答案B:每行末尾的\n自動(dòng)轉(zhuǎn)換為\r\nC:在內(nèi)存中的格式跟文件中的格式一樣D:每行末尾的\r\n自動(dòng)轉(zhuǎn)換為\n

答案:每行末尾的\r\n自動(dòng)轉(zhuǎn)換為\n下列說法正確的是______。()

A:Windows和Linux下創(chuàng)建的文本文件,格式完全一樣,在兩個(gè)系統(tǒng)上的使用完全一樣B:Windows下創(chuàng)建的文本文件,放到Linux下使用,通常需要處理\rC:Linux下創(chuàng)建的文本文件,放到Windows下使用,通常需要處理\rD:Windows和Linux下創(chuàng)建的二進(jìn)制文件,格式完全一樣,在兩個(gè)系統(tǒng)上的使用完全一樣

答案:Windows下創(chuàng)建的文本文件,放到Linux下使用,通常需要處理\r;Windows和Linux下創(chuàng)建的二進(jìn)制文件,格式完全一樣,在兩個(gè)系統(tǒng)上的使用完全一樣優(yōu)化代碼時(shí),可以采取的措施是______?()

A:減少算法的時(shí)間復(fù)雜度B:合理利用數(shù)據(jù)結(jié)構(gòu)C:減少函數(shù)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論