C語言編程方法與思想(北京航空航天大學(xué))知道智慧樹章節(jié)答案_第1頁
C語言編程方法與思想(北京航空航天大學(xué))知道智慧樹章節(jié)答案_第2頁
C語言編程方法與思想(北京航空航天大學(xué))知道智慧樹章節(jié)答案_第3頁
C語言編程方法與思想(北京航空航天大學(xué))知道智慧樹章節(jié)答案_第4頁
C語言編程方法與思想(北京航空航天大學(xué))知道智慧樹章節(jié)答案_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第一章單元測試第二章單元測試第三章單元測試第四章單元測試第五章單元測試第六章單元測試第七章單元測試第八章單元測試1【多選題】(2分)執(zhí)行兩個數(shù)的四則運算,關(guān)于語句,scanf("%d%d%c",&a,&b,&op);正確的輸入方式是()。正確答案:ABA.28*B.46+C.5,9,+D.37*2【單選題】(2分)關(guān)于函數(shù)scanf的返回值,正確的說法是什么?()正確答案:CA.正確讀入時返回0B.正確讀入時返回-1C.正確讀入的數(shù)據(jù)的個數(shù)D.正確讀入時返回13【多選題】(2分)執(zhí)行兩個數(shù)的四則運算(中綴表達式),關(guān)于語句,scanf("%d%c%d",&a,&op,&b);正確的輸入方式是()。正確答案:ABA.3*7B.3*7C.3*7D.3*74【單選題】(2分)用scanf("%d%c%d",&x,&c,&y)輸入三個數(shù)據(jù),正確的描述為:()正確答案:CA.輸入的三個數(shù)據(jù)用逗號分開B.輸入的三個數(shù)據(jù)用空格分開C.沒有正確答案D.輸入的三個數(shù)據(jù)用換行分開5【單選題】(2分)用gets輸入多個字符串,循環(huán)頭語句可以為,while(gets(str)!=______()輸入結(jié)束的標記是什么?正確答案:CA.EOFB.1C.NULLD.-11【單選題】(2分)以下哪個位運算符用于將指定位設(shè)置為1?()正確答案:CA.>>B.^C.|D.&2【單選題】(2分)如果x的值為6,y的值為3,則x^y的結(jié)果是什么?()正確答案:AA.5B.9C.6D.33【單選題】(2分)已知8位二進制反碼表示11100111,那么它的十進制值是多少?()正確答案:CA.-103B.103C.-24D.244【單選題】(2分)(已知,EPS是一個用于控制精度的宏,例如#defineEPS1e-6)下列說法正確的是?()正確答案:BA.可以使用語句if(a-0.3==EPS)來判斷浮點數(shù)a是否為0.3B.減小浮點數(shù)誤差,可以通過使用更高精度的浮點數(shù)C.可以使用語句if(a-0.3<=EPS)來判斷浮點數(shù)a是否為0.3D.double型精度更高,不存在浮點數(shù)誤差5【判斷題】(2分)可以使用語句if(a-0.3<=EPS)來判斷浮點數(shù)a是否為0.3()正確答案:AA.錯B.對1【多選題】(2分)有關(guān)if-else選擇結(jié)構(gòu)的論述,正確的是______?()正確答案:BCDA.if中的條件表達式必須為邏輯或關(guān)系表達式,不能為算術(shù)表達式B.通過條件語句的嵌套結(jié)構(gòu),可以實現(xiàn)多路選擇C.多個ifelse嵌套時,else總是和最近的if匹配D.if或else部分如果有多條語句,必須用大括號括起來組成復(fù)合語句塊2【多選題】(2分)有關(guān)switch語句的論述,正確的是______?()正確答案:ACA.default分支一般放在最后,當前面所有的case都不匹配時,跳轉(zhuǎn)到該處執(zhí)行B.case中的值可以為一個變量,從而根據(jù)變量的取值進行選擇C.switch中的表達式必須為整數(shù)表達式,返回整數(shù)或字符類型的值D.執(zhí)行完一個case分支后,會繼續(xù)判斷后續(xù)case是否滿足條件,如果滿足則跳轉(zhuǎn)到后續(xù)的case中繼續(xù)執(zhí)行3【多選題】(2分)有關(guān)三種循環(huán)結(jié)構(gòu)特點的論述,錯誤的是______?()正確答案:BCA.for循環(huán)頭中的三個表達式都可以省略,但兩個分號不能省略B.有些while循環(huán)無法轉(zhuǎn)換為for循環(huán)C.while循環(huán)體不能為空,否則無法結(jié)束while循環(huán)D.do-while循環(huán)至少執(zhí)行一次4【判斷題】(2分)執(zhí)行完一個case分支后,會繼續(xù)判斷后續(xù)case是否滿足條件,如果滿足則跳轉(zhuǎn)到后續(xù)的case中繼續(xù)執(zhí)行。()正確答案:BA.對B.錯5【判斷題】(2分)do-while循環(huán)至少執(zhí)行一次。()正確答案:AA.對B.錯1【單選題】(2分)關(guān)于C程序中函數(shù)的調(diào)用和執(zhí)行,不正確的是:()正確答案:BA.當調(diào)用(執(zhí)行)一個函數(shù)時,就會開辟一個獨立的空間(棧)。B.一個C程序的執(zhí)行是從本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束C.當函數(shù)執(zhí)行完畢后,會返回到調(diào)用函數(shù)位置,繼續(xù)執(zhí)行。D.如果函數(shù)有返回值,則將返回值賦給接收的變量。2【多選題】(2分)現(xiàn)需要編程完成兩個分數(shù)的求和,并將所求得的和化為最簡形式。已知以下代碼設(shè)計了一個函數(shù)gcd(),能夠求兩個整數(shù)的最大公約數(shù),欲調(diào)用該函數(shù)完成本任務(wù)的求解,則______處可填入的語句是:()intgcd(int,int);intmain(){inta,b,c,d,e,f,g;//(a,b)與(c,d)分別表示兩個分數(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;}正確答案:ADA.gcd(e,f)B.gcd(c,d)C.gcd(a,b)D.gcd(f,e)3【單選題】(2分)以下代碼用遞歸函數(shù)實現(xiàn)求解兩個正整數(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___________;}正確答案:AA.gcd(b,a%b)B.a%bC.gcd(a%b,b)4【多選題】(2分)阿克曼函數(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));}正確答案:ABA.if(m==0)returnn+1;B.if(n==0)returnack(m-1,1);C.if(m==0)return-1;D.if(n==0)return0;5【判斷題】(2分)當調(diào)用(執(zhí)行)一個函數(shù)時,就會開辟一個獨立的空間(棧)。()正確答案:AA.對B.錯1【單選題】(2分)經(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í)行了多次?______()正確答案:CA.O(nlgn)O(n2)B.O(n2)O(nlgn)C.O(n2)O(n2)D.O(n)O(n)2【單選題】(2分)兩個關(guān)鍵字排序,第一個關(guān)鍵字為數(shù)組a(降序排列),第二個關(guān)鍵字為數(shù)組b(如果第一個關(guān)鍵字相當,則按b降序排列),用經(jīng)典的冒泡排序算法實現(xiàn),請?zhí)羁諏崿F(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])//交換}}}正確答案:DA.(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])&&(b[j]<b[j+1])D.(a[j]<a[j+1])||((a[j]==a[j+1])&&(b[j]>b[j+1]))3【單選題】(2分)請在一維數(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])____________________________elselow=mid+1;}return-1;}正確答案:DA.high=mid+1;B.high=low;C.high=mid;D.high=mid-1;4【判斷題】(1分)二分搜索每次把搜索區(qū)域砍掉一半,時間復(fù)雜度為O(logn)。(n代表集合中元素的個數(shù))。()正確答案:BA.錯B.對5【單選題】(1分)字符串輸入輸出函數(shù)的原型在下面哪個標準頭文件中定義:()。正確答案:BA.string.hB.stdio.hC.math.hD.stdlib.h6【判斷題】(2分)fgets函數(shù)讀入字符串比gets函數(shù)更安全。()正確答案:BA.錯B.對1【單選題】(2分)假設(shè)要對一個N行M列的二維double型數(shù)組以行為單位進行排序,在調(diào)用通用冒泡排序函數(shù)g_bub_sort時,實際參數(shù)len和elemSize的值分別是多少。()正確答案:AA.N和M*sizeof(double)B.N*M和sizeof(double)C.N和MD.M和N2【單選題】(2分)假設(shè)cmp是一個滿足嚴格有序的比較函數(shù),判斷a,b相等的條件是什么?()正確答案:BA.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)3【多選題】(2分)使用qsort函數(shù)可以排序______數(shù)據(jù)類型的數(shù)組。()正確答案:ABCDA.字符型B.整型C.浮點型D.結(jié)構(gòu)體型4【單選題】(2分)qsort排序的平均時間復(fù)雜度多少?()正確答案:AA.O(nlogn)B.O(n)C.O(n2)D.O(n3)5【單選題】(2分)下面正確定義p為函數(shù)指針的是:()。正確答案:AA.int(*p)(int);B.int*p;C.char(*p)[10];D.int*p(int);6【判斷題】(2分)*作為單目運算符是解引用運算符,作為雙目運算符是乘號,它還可以用來定義指針。()正確答案:BA.錯B.對1【單選題】(2分)輸入字符串時,常用fgets來代替gets,主要是fgets有什么優(yōu)點______。()正確答案:CA.fgets能讀入字符串行末的\nB.fgets能讀入字符串中間的若干個空格C.fgets通過參數(shù)設(shè)置能保證讀入字符串的合法性(達到字符數(shù)組長度時在行末添加\0)D.fgets能指定讀入字符串的來源和目標位置2【單選題】(2分)在Windows系統(tǒng)上,按正文(文本)方式打開文本文件且用fgets(arr,N,stdin)讀入文本文件內(nèi)容到內(nèi)存時(N足夠大),下述正確的描述是______。()正確答案:BA.在內(nèi)存中的格式跟文件中的格式一樣B.每行末尾的\r\n自動轉(zhuǎn)換為\nC.沒有正確答案D.每行末尾的\n自動轉(zhuǎn)換為\r\n3【多選題】(2分)下列說法正確的是______。()正確答案:ACA.Windows下創(chuàng)建的文本文件,放到Linux下使用,通常需要處理\rB.Linux下創(chuàng)建的文本文件,放到Windows下使用,通常需要處理\rC.Windows和Linux下創(chuàng)建的二進制文件,格式完全一樣,在兩個系統(tǒng)上的使用完全一樣D.Windows和Linux下創(chuàng)建的文本文件,格式完全一樣,在兩個系統(tǒng)上的使用完全一樣4【多選題】(2分)優(yōu)化代碼時,可以采取的措施是______?()正確答案:ABCDA.減少算法的空間復(fù)雜度B.減少函數(shù)調(diào)用次數(shù)C.減少算法的時間復(fù)雜度D.合理利用數(shù)據(jù)結(jié)構(gòu)5【多選題】(2分)自頂向下的思想可以用在______?()正確答案:ABDA.方案設(shè)計B.調(diào)試方法C.毫無用處D.編碼實現(xiàn)1【多選題】(2分)以下說法正確的是?()正確答案:ABA.Windows系統(tǒng)下以文本形式打開的文件使用fread讀取時,會產(chǎn)生\n\r向\n的轉(zhuǎn)化。B.如果用文本編輯器打開一個文件時發(fā)生了“亂碼”,則說明該文件是“二進制”文件C.Windows系統(tǒng)產(chǎn)生的文件不能在Linux上讀取D.用word寫的代碼,可以直接用

溫馨提示

  • 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)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論