版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
大學(xué)c期末考試題及答案大學(xué)C語言期末考試試卷一、單項選擇題(每題2分,共30分)1.以下關(guān)于C語言的說法正確的是()A.C語言程序必須有main函數(shù)B.C語言程序的注釋可以使用“//”和“//”兩種方式C.C語言是一種高級語言D.以上說法都正確2.若有定義:inta=10;floatb=3.14;則表達(dá)式a+b的值的數(shù)據(jù)類型是()A.intB.floatC.doubleD.無法確定3.以下能正確定義一維數(shù)組的選項是()A.inta[5]={0,1,2,3,4,5};B.chara[]={'0','1','2','3','4','5'};C.chara={'A','B','C'};D.inta[5]=(0,1,2,3,4);4.若有定義:inta[3][4];則對數(shù)組元素a[2][3]的正確引用是()A.(a+2)+3B.((a+2)+3)C.(a[2]+3)D.B和C都正確5.以下關(guān)于函數(shù)的說法錯誤的是()A.函數(shù)可以沒有返回值B.函數(shù)可以沒有參數(shù)C.函數(shù)的定義可以嵌套D.函數(shù)的調(diào)用可以嵌套6.若有定義:chars[]="abc";則strlen(s)的值是()A.3B.4C.5D.不確定7.以下能正確表示邏輯關(guān)系“a≥10或a≤0”的C語言表達(dá)式是()A.a>=10ora<=0B.a>=10||a<=0C.a>=10&&a<=0D.!(a<10&&a>0)8.以下關(guān)于指針的說法錯誤的是()A.指針變量可以存儲變量的地址B.指針變量可以進(jìn)行算術(shù)運算C.指針變量可以指向不同類型的變量D.指針變量必須先初始化才能使用9.若有定義:intp,a=10;p=&a;則以下能正確輸出變量a的值的是()A.printf("%d\n",p);B.printf("%d\n",p);C.printf("%d\n",&p);D.printf("%d\n",&a);10.以下關(guān)于結(jié)構(gòu)體的說法正確的是()A.結(jié)構(gòu)體是一種基本數(shù)據(jù)類型B.結(jié)構(gòu)體可以嵌套定義C.結(jié)構(gòu)體變量不能作為函數(shù)參數(shù)D.結(jié)構(gòu)體變量只能在定義時初始化11.若有定義:typedefstruct{intx;inty;}POINT;則以下定義結(jié)構(gòu)體變量的方式正確的是()A.structPOINTp;B.POINTp;C.struct{intx;inty;}p;D.以上都正確12.以下關(guān)于文件操作的說法錯誤的是()A.文件操作需要包含頭文件<stdio.h>B.fopen函數(shù)用于打開文件C.fclose函數(shù)用于關(guān)閉文件D.文件操作只能對文本文件進(jìn)行13.若要打開一個名為“test.txt”的文件進(jìn)行讀寫操作,正確的打開方式是()A.fopen("test.txt","r");B.fopen("test.txt","w");C.fopen("test.txt","r+");D.fopen("test.txt","a");14.以下關(guān)于遞歸函數(shù)的說法正確的是()A.遞歸函數(shù)一定有終止條件B.遞歸函數(shù)的效率一定比非遞歸函數(shù)高C.遞歸函數(shù)不能有參數(shù)D.遞歸函數(shù)不能有返回值15.若有以下程序段:```cinta=1,b=2,c=3;if(a>b)c=a;elsec=b;printf("%d\n",c);```則輸出結(jié)果是()A.1B.2C.3D.不確定二、填空題(每題2分,共20分)1.C語言中,用______關(guān)鍵字定義常量。2.若有定義:inta=5,b=3;則表達(dá)式a%b的值是______。3.若有定義:inta[10];則數(shù)組a的第一個元素是______,最后一個元素是______。4.若有定義:chars[]="hello";則s[5]的值是______。5.若有定義:intp,a=10;則使指針p指向變量a的語句是______。6.若有定義:struct{intx;inty;}p={1,2};則訪問結(jié)構(gòu)體變量p的成員x的方式是______。7.若要將一個整數(shù)n轉(zhuǎn)換為字符串,可以使用______函數(shù)。8.若有文件指針fp,要將文件指針移動到文件開頭,可以使用______函數(shù)。9.遞歸函數(shù)在調(diào)用過程中會使用______來保存函數(shù)的調(diào)用信息。10.若有以下程序段:```cinta=10;if(a>5)printf("Yes\n");elseprintf("No\n");```則輸出結(jié)果是______。三、程序分析題(每題10分,共20分)1.分析以下程序的功能,并寫出輸出結(jié)果。```cinclude<stdio.h>intmain(){inti,sum=0;for(i=1;i<=10;i++){if(i%2==0)continue;sum+=i;}printf("sum=%d\n",sum);return0;}```2.分析以下程序的功能,并寫出輸出結(jié)果。```cinclude<stdio.h>voidswap(inta,intb){inttemp=a;a=b;b=temp;}intmain(){intx=10,y=20;printf("Beforeswap:x=%d,y=%d\n",x,y);swap(&x,&y);printf("Afterswap:x=%d,y=%d\n",x,y);return0;}```四、程序設(shè)計題(每題15分,共30分)1.編寫一個函數(shù),求兩個整數(shù)的最大公約數(shù)。并在主函數(shù)中調(diào)用該函數(shù)進(jìn)行測試。2.編寫一個程序,從鍵盤輸入一個字符串,然后將該字符串逆序輸出。答案一、單項選擇題1.D解釋:C語言程序必須有main函數(shù)作為程序的入口;C語言支持“//”單行注釋和“//”多行注釋;C語言是一種高級語言,具有較高的抽象層次和可移植性。2.B解釋:在不同數(shù)據(jù)類型的混合運算中,結(jié)果的數(shù)據(jù)類型會自動轉(zhuǎn)換為精度較高的類型。int型和float型相加,結(jié)果為float型。3.B解釋:A選項初始化元素個數(shù)超過數(shù)組大?。籆選項定義的不是數(shù)組,而是一個字符變量;D選項初始化列表應(yīng)該用花括號,而不是圓括號。4.D解釋:a是二維數(shù)組名,a+2指向第2行首地址,(a+2)等價于a[2],表示第2行首元素的地址,(a[2]+3)和((a+2)+3)都能正確引用a[2][3]。5.C解釋:函數(shù)的定義不能嵌套,但函數(shù)的調(diào)用可以嵌套。函數(shù)可以沒有返回值(返回類型為void),也可以沒有參數(shù)。6.A解釋:strlen函數(shù)返回字符串的實際長度,不包括字符串結(jié)束標(biāo)志'\0'。"abc"的長度為3。7.B解釋:在C語言中,邏輯或用“||”表示,邏輯與用“&&”表示,“or”不是C語言的運算符。8.C解釋:指針變量必須指向與其類型相同的變量,不能隨意指向不同類型的變量。指針變量可以存儲變量的地址,能進(jìn)行算術(shù)運算,使用前最好先初始化。9.A解釋:p是指向a的指針,p表示取指針p所指向的變量的值,即a的值。p是指針變量,存儲的是a的地址;&p是指針p的地址;&a是變量a的地址。10.B解釋:結(jié)構(gòu)體是一種用戶自定義的數(shù)據(jù)類型,可以嵌套定義。結(jié)構(gòu)體變量可以作為函數(shù)參數(shù),也可以在定義后再賦值。11.B解釋:typedef定義了一個新的類型名POINT,所以可以直接用POINT定義結(jié)構(gòu)體變量。12.D解釋:文件操作可以對文本文件和二進(jìn)制文件進(jìn)行。文件操作需要包含<stdio.h>頭文件,fopen用于打開文件,fclose用于關(guān)閉文件。13.C解釋:"r"以只讀方式打開文件;"w"以只寫方式打開文件,若文件存在則清空內(nèi)容;"r+"以讀寫方式打開文件;"a"以追加方式打開文件。14.A解釋:遞歸函數(shù)必須有終止條件,否則會導(dǎo)致無限遞歸。遞歸函數(shù)的效率不一定比非遞歸函數(shù)高,遞歸函數(shù)可以有參數(shù)和返回值。15.B解釋:因為a=1,b=2,a>b條件不成立,所以執(zhí)行else分支,將b的值賦給c,輸出c的值為2。二、填空題1.const2.23.a[0];a[9]4.'\0'5.p=&a;6.p.x7.itoa(注:itoa不是標(biāo)準(zhǔn)C庫函數(shù),標(biāo)準(zhǔn)庫可以使用sprintf實現(xiàn)類似功能)8.rewind(fp);9.棧10.Yes三、程序分析題1.功能:計算1到10之間所有奇數(shù)的和。輸出結(jié)果:sum=25解釋:for循環(huán)從1到10遍歷,當(dāng)i為偶數(shù)時,執(zhí)行continue語句跳過本次循環(huán),只對奇數(shù)進(jìn)行累加。1+3+5+7+9=25。2.功能:交換兩個整數(shù)的值。輸出結(jié)果:```Beforeswap:x=10,y=20Afterswap:x=20,y=10```解釋:在swap函數(shù)中,通過指針操作交換了兩個整數(shù)的值。主函數(shù)中調(diào)用swap函數(shù)后,x和y的值發(fā)生了交換。四、程序設(shè)計題1.```cinclude<stdio.h>//求兩個整數(shù)的最大公約數(shù)intgcd(inta,intb){while(b!=0){inttemp=b;b=a%b;a=temp;}returna;}intmain(){intnum1,num2;printf("請輸入兩個整數(shù):");scanf("%d%d",&num1,&num2);intresult=gcd(num1,num2);printf("%d和%d的最大公約數(shù)是:%d\n",num1,num2,result);return0;}```2.```
溫馨提示
- 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 耕種機(jī)械制造工發(fā)展趨勢模擬考核試卷含答案
- 化工檢修鉗工誠信道德能力考核試卷含答案
- 中央空調(diào)系統(tǒng)運行操作員崗前設(shè)備考核試卷含答案
- 聚氯乙烯塑料配制工安全技能測試考核試卷含答案
- 客運值班員崗前生產(chǎn)安全培訓(xùn)考核試卷含答案
- 電池化成工安全風(fēng)險測試考核試卷含答案
- 水工土石維修工班組協(xié)作考核試卷含答案
- 醫(yī)用供氣工崗前競賽考核試卷含答案
- 圖書館服務(wù)員安全操作評優(yōu)考核試卷含答案
- 智能樓宇管理員崗前實操熟練考核試卷含答案
- 英語應(yīng)用文寫作知到章節(jié)答案智慧樹2023年湖北大學(xué)
- GB/T 4852-2002壓敏膠粘帶初粘性試驗方法(滾球法)
- GB/T 19630.1-2005有機(jī)產(chǎn)品第1部分:生產(chǎn)
- 第五章建筑裝飾陶瓷2
- 程序-help品茗三維施工策劃軟件2.0幫助手冊
- 智慧管廊云平臺整體建設(shè)方案
- 體檢報告單入職體檢模板
- 心理咨詢師資格考試備考核心題庫含解析(精簡300題)
- 動畫編導(dǎo)基礎(chǔ)課件
- 四年級上冊美術(shù)第6課大花雞冀教版課件
- 醫(yī)院住院患者身體約束規(guī)范化管理實踐資料
評論
0/150
提交評論