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

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言編程方法與思想北京航空航天大學(xué)智慧樹(shù)知到答案2024年第一章測(cè)試

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

正確的輸入方式是()。

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

答案:BD關(guān)于函數(shù)scanf的返回值,正確的說(shuō)法是什么?()

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

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

正確的輸入方式是()。

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

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

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

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

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

A:1B:-1C:NULLD:EOF

答案:C

第二章測(cè)試

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

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

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

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

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

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

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

下列說(shuō)法正確的是?()

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

答案:D可以使用語(yǔ)句if(a-0.3<=EPS)來(lái)判斷浮點(diǎn)數(shù)a是否為0.3()

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

答案:A

第三章測(cè)試

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

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

答案:ABC有關(guān)switch語(yǔ)句的論述,正確的是______?()

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

答案:AB有關(guān)三種循環(huán)結(jié)構(gòu)特點(diǎn)的論述,錯(cuò)誤的是______?()

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

答案:AB執(zhí)行完一個(gè)case分支后,會(huì)繼續(xù)判斷后續(xù)case是否滿足條件,如果滿足則跳轉(zhuǎn)到后續(xù)的case中繼續(xù)執(zhí)行。()

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

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

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

答案:B

第四章測(cè)試

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

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

答案:D現(xiàn)需要編程完成兩個(gè)分?jǐn)?shù)的求和,并將所求得的和化為最簡(jiǎn)形式。已知以下代碼設(shè)計(jì)了一個(gè)函數(shù)gcd(),能夠求兩個(gè)整數(shù)的最大公約數(shù),欲調(diào)用該函數(shù)完成本任務(wù)的求解,則______處可填入的語(yǔ)句是:()

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(e,f)B:gcd(c,d)C:gcd(f,e)D:gcd(a,b)

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

#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(a%b,b)B:gcd(b,a%b)C:a%b

答案: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(m==0)returnn+1;B:if(m==0)return-1;C:if(n==0)return0;D:if(n==0)returnack(m-1,1);

答案:AD當(dāng)調(diào)用(執(zhí)行)一個(gè)函數(shù)時(shí),就會(huì)開(kāi)辟一個(gè)獨(dú)立的空間(棧)。()

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

答案:A

第五章測(cè)試

經(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(n2)O(n2)C:O(n2)O(nlgn)D:O(n)O(n)

答案:B兩個(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])&&(b[j]<b[j+1])B:(a[j]<a[j+1])||((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])

答案:C請(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;B:high=mid+1;C:high=mid-1;D:high=low;

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

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

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

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

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

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

答案:A

第六章測(cè)試

假設(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:N和M*sizeof(double)D:M和N

答案:C假設(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)

答案:C使用qsort函數(shù)可以排序______數(shù)據(jù)類型的數(shù)組。()

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

答案:ABCDqsort排序的平均時(shí)間復(fù)雜度多少?()

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

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

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

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

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

答案:A

第七章測(cè)試

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

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

答案:B在Windows系統(tǒng)上,按正文(文本)方式打開(kāi)文本文件且用fgets(arr,N,stdin)讀入文本文件內(nèi)容到內(nèi)存時(shí)(N足夠大),下述正確的描述是______。()

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

答案:C下列說(shuō)法正確的是______。()

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

答案:AD優(yōu)化代碼時(shí),可以采取的措施是______?()

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

答案:ABCD自頂向下的思想可以用在______?()

A:編碼實(shí)現(xiàn)B:調(diào)試方法C:毫無(wú)用處D:方案設(shè)計(jì)

答案:ABD

第八章測(cè)試

以下說(shuō)法正確的是?()

A:Windows系統(tǒng)產(chǎn)生的文件不能在Linux上讀取B:如果用文本編輯器打開(kāi)一個(gè)文件時(shí)發(fā)生了“亂碼”,則說(shuō)明該文件是“二進(jìn)制”文件C:用word寫(xiě)的代碼,可以直接用c語(yǔ)言編譯器進(jìn)行編譯D:Windows系統(tǒng)下以文本

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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)論