中南大學年《C語言程序設(shè)計》期末考試試題及答案_第1頁
已閱讀5頁,還剩11頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、單項選擇題1.若有以下數(shù)組說明,則i=10;aai元素數(shù)值是(C )。int a12=1,4,7,10,2,5,8,11,3,6,9,12;A.10 B.9 C.6 D.5先算aai內(nèi)層的ai,由于i=10,因此ai即a10. a10對應下面數(shù)組中的元素為9. 因此aai即為a9a9對應下面數(shù)組中的元素為6. 因此a9即為62.若有說明:int a3=1,2,3,4,5,6,7; 則數(shù)組a的第一維的大小為: ( B ) A. 2 B. 3 C. 4 D.無確定值5 7 D) 3 6 9二維數(shù)組的一維大小,即指二維數(shù)組的行數(shù),在本題中,按行對二維數(shù)組賦值,因此內(nèi)層有幾個大括號,數(shù)組就有幾行3.對

2、二維數(shù)組的正確定義是( C )詳見教材P149152,二維數(shù)組的定義、初始化類型符 數(shù)組名 常量表達式常量表達式二維數(shù)組可以看做是矩陣類型符是指數(shù)組中數(shù)組元素的類型;數(shù)組名要符合標識符命名規(guī)則;第一個常量表達式是指數(shù)組的行數(shù);第二個常量表達式是指數(shù)組的列數(shù);常量表達式的值只能是整數(shù),不可以是變量,而且從1開始計數(shù)。一維數(shù)組初始化時可以省略數(shù)組長度二維數(shù)組初始化時可以省略行數(shù),但不能省略列數(shù)選項A,B,都省略了列數(shù)選項D,不符合二維數(shù)組定義的一般形式,行、列常量表達式應該放在不同的中 A.int a =1,2,3,4,5,6; B.int a2 =1,2,3,4,5,6;C.int a 3=1,

3、2,3,4,5,6; D.int a2,3=1,2,3,4,5,6;4已知int a34;則對數(shù)組元素引用正確的是_C_ A)a24 B)a1,3 C)a20 D)a(2)(1) 詳見教材P150,數(shù)組元素的引用數(shù)組名下標 下標引用數(shù)組元素時, 中的下標為邏輯地址下標,只能為整數(shù),可以為變量,且從0開始計數(shù)第一個下標表示行邏輯地址下標,第二個下標表示列邏輯地址下標。本題圖示詳見P149圖6.7因此a的行邏輯地址范圍02;a的列邏輯地址范圍03;選項A,列邏輯地址下標超過范圍選項B,D,的引用形式不正確。5.C語言中函數(shù)返回值的類型是由 A 決定的. A)函數(shù)定義時指定的類型 B) return

4、語句中的表達式類型 C) 調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型 D) 形參的數(shù)據(jù)類型6. 在C語言中,函數(shù)的數(shù)據(jù)類型是指( A )A 函數(shù)返回值的數(shù)據(jù)類型 B. 函數(shù)形參的數(shù)據(jù)類型C 調(diào)用該函數(shù)時的實參的數(shù)據(jù)類型 D.任意指定的數(shù)據(jù)類型7. 在函數(shù)調(diào)用時,以下說法正確的是( B ) A.函數(shù)調(diào)用后必須帶回返回值 B.實際參數(shù)和形式參數(shù)可以同名 C.函數(shù)間的數(shù)據(jù)傳遞不可以使用全局變量 D.主調(diào)函數(shù)和被調(diào)函數(shù)總是在同一個文件里8. 在C語言中,表示靜態(tài)存儲類別的關(guān)鍵字是: ( C )A) auto B) register C) static D) extern9未指定存儲類別的變量,其隱含的存儲類別為(

5、A )。 A)auto B)static C)extern D)register 10. 若有以下說明語句: struct student int num; char name ; float score; stu; 則下面的敘述不正確的是: ( D )A. struct是結(jié)構(gòu)體類型的關(guān)鍵字 B. struct student 是用戶定義的結(jié)構(gòu)體類型C. num, score都是結(jié)構(gòu)體成員名 D. stu是用戶定義的結(jié)構(gòu)體類型名讀程序數(shù)組1.#include main() int i, a10;for(i=9;i=0;i-) ai=10-i;printf(“%d%d%d”,a2,a5,a8);

6、運行結(jié)果為:852詳見p143-146. 例題6.1一定看懂!首先定義整型變量i,整型數(shù)組a, a的長度為10,即a中包含10個整型元素(整型變量)執(zhí)行for循環(huán)語句初值i=9, 使得循環(huán)條件i=0成立,執(zhí)行循環(huán)體第1次循環(huán)執(zhí)行ai=10-i 等價于a9=10-9=1計算表達式3,即i-,i為8,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第2次循環(huán)執(zhí)行ai=10-i 等價于a8=10-8=2計算表達式3,即i-,i為7,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第3次循環(huán)執(zhí)行ai=10-i 等價于a7=10-7=3計算表達式3,即i-,i為6,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第4次循環(huán)執(zhí)行ai=

7、10-i 等價于a6=10-6=4計算表達式3,即i-,i為5,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第5次循環(huán)執(zhí)行ai=10-i 等價于a5=10-5=5計算表達式3,即i-,i為4,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第6次循環(huán)執(zhí)行ai=10-i 等價于a4=10-4=6計算表達式3,即i-,i為3,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第7次循環(huán)執(zhí)行ai=10-i 等價于a3=10-3=7計算表達式3,即i-,i為2,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第8次循環(huán)執(zhí)行ai=10-i 等價于a2=10-2=8計算表達式3,即i-,i為1,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第9次循環(huán)

8、執(zhí)行ai=10-i 等價于a1=10-1=9計算表達式3,即i-,i為0,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第10次循環(huán)執(zhí)行ai=10-i 等價于a0=10-0=10計算表達式3,即i-,i為-1,使得循環(huán)條件i=0不成立,跳出循環(huán)體2. #include main() int i,a6; for (i=0; i=0 ; i-) printf(%3d,ai); 運行結(jié)果為:5 4 3 2 1 0首先定義整型變量i,整型數(shù)組a, a的長度為6,即a中包含6個整型元素(整型變量)執(zhí)行第一個for循環(huán)語句初值i=0, 使得循環(huán)條件i6成立,執(zhí)行循環(huán)體第1次循環(huán)執(zhí)行ai= i 等價于a0=0計算表

9、達式3,即i+,i為1,使得循環(huán)條件i6成立,繼續(xù)執(zhí)行循環(huán)體第2次循環(huán)執(zhí)行ai= i 等價于a1=1計算表達式3,即i+,i為2,使得循環(huán)條件i6成立,繼續(xù)執(zhí)行循環(huán)體第3次循環(huán)執(zhí)行ai= i 等價于a2=2計算表達式3,即i+,i為3,使得循環(huán)條件i6成立,繼續(xù)執(zhí)行循環(huán)體第4次循環(huán)執(zhí)行ai= i 等價于a3=3計算表達式3,即i+,i為4,使得循環(huán)條件i6成立,繼續(xù)執(zhí)行循環(huán)體第5次循環(huán)執(zhí)行ai= i 等價于a4=4計算表達式3,即i+,i為5,使得循環(huán)條件i6成立,繼續(xù)執(zhí)行循環(huán)體第6次循環(huán)執(zhí)行ai= i 等價于a5=5計算表達式3,即i+,i為6,使得循環(huán)條件i=0成立,執(zhí)行循環(huán)體第1次循環(huán)執(zhí)

10、行printf(%3d,ai); 即輸出a5的值計算表達式3,即i-,i為4,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第2次循環(huán)執(zhí)行printf(%3d,ai); 即輸出a4的值計算表達式3,即i-,i為3,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第3次循環(huán)執(zhí)行printf(%3d,ai); 即輸出a3的值計算表達式3,即i-,i為2,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第4次循環(huán)執(zhí)行printf(%3d,ai); 即輸出a2的值計算表達式3,即i-,i為1,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第5次循環(huán)執(zhí)行printf(%3d,ai); 即輸出a1的值計算表達式3,即i-,i為0,使得循環(huán)條

11、件i=0成立,繼續(xù)執(zhí)行循環(huán)體第6次循環(huán)執(zhí)行printf(%3d,ai); 即輸出a0的值計算表達式3,即i-,i為6,使得循環(huán)條件i=0不成立,結(jié)束循環(huán)3. #include main( ) int i,k,a10,p3;k=5;for(i=0;i10;i+)ai=i;for(i=0;i3;i+)pi=ai*(i+1);for(i=0;i3;i+)k+=pi*2;printf(%dn,k);運行結(jié)果為:21首先定義整型變量i,k,整型數(shù)組a, a的長度為10,整型數(shù)組p, p的長度為3k初值為5第一個for循環(huán)語句為數(shù)組a進行初始化執(zhí)行完第一個for語句后,a0=0,a1=1,a2=2,a3=

12、3,a4=4,a5=5,a6=6,a7=7,a8=8,a9=9 (循環(huán)過程略)第二個for循環(huán)語句為數(shù)組p進行初始化初值i=0, 使得循環(huán)條件i3成立,執(zhí)行循環(huán)體第1次循環(huán)執(zhí)行pi=ai*(i+1); 即p0=a0*(0+1)=a0=0計算表達式3,即i+,i為1,使得循環(huán)條件i3成立,繼續(xù)執(zhí)行循環(huán)體第2次循環(huán)執(zhí)行pi=ai*(i+1); 即p1=a1*(1+1)=a2=2計算表達式3,即i+,i為2,使得循環(huán)條件i3成立,繼續(xù)執(zhí)行循環(huán)體第3次循環(huán)執(zhí)行pi=ai*(i+1); 即p2=a2*(2+1)=a6=6計算表達式3,即i+,i為3,使得循環(huán)條件i3不成立,結(jié)束循環(huán)第三個for循環(huán)語句初

13、值i=0, 使得循環(huán)條件i3成立,執(zhí)行循環(huán)體第1次循環(huán)執(zhí)行k+=pi*2; 即k=5+p0*2=5+0=5計算表達式3,即i+,i為1,使得循環(huán)條件i3成立,繼續(xù)執(zhí)行循環(huán)體第2次循環(huán)執(zhí)行k+=pi*2; 即k=5+p1*2=5+2*2=9計算表達式3,即i+,i為2,使得循環(huán)條件i3成立,繼續(xù)執(zhí)行循環(huán)體第1次循環(huán)執(zhí)行k+=pi*2; 即k=9+p2*2=9+6*2=21計算表達式3,即i+,i為3,使得循環(huán)條件i3不成立,結(jié)束循環(huán)4.#include int m33=1,2,3;int n33=1,2 ,3;main( ) printf(“%d,”, m10+n00); printf(“%dn

14、”,m01+n10);運行結(jié)果為:3,0詳見教材P149152,圖6.7看懂!首先定義整型二維數(shù)組m,m為3行,3列的二維矩陣,并對其以行的形式初始化m00=1 m01=0 m12=0m10=2 m11=0 m22=0m20=3 m21=0 m22=0定義整型二維數(shù)組n,m為3行,3列的二維矩陣n00=1 n01=2 n12=3n10=0 n11=0 n22=0n20=0 n21=0 n22=0因此m10+n00=2+1=3m01+n10=0+0=05.#include main() int i;int x33=1,2,3,4,5,6,7,8,9; for (i=1; i3; i+)print

15、f(%d ,xi3-i); 運行結(jié)果為:6 8 首先按存儲順序為數(shù)組x初始化x00=1 x01=2 x02=3x10=4 x11=5 x12=6x20=7 x21=8 x22=9初值i=1, 使得循環(huán)條件i3成立,執(zhí)行循環(huán)體第1次循環(huán)執(zhí)行printf(%d ,xi3-i),打印出xi3-i,即x12的值計算表達式3,即i+,i為2,使得循環(huán)條件i3成立,繼續(xù)執(zhí)行循環(huán)體第2次循環(huán)執(zhí)行printf(%d ,xi3-i),打印出xi3-i,即x21的值計算表達式3,即i+,i為3,使得循環(huán)條件i3成立,結(jié)束循環(huán) 6.#include main( ) int n33, i, j;for(i=0;i3;

16、i+ )for(j=0;j3;j+ )nij=i+j;printf(“%d ”, nij);運行結(jié)果為:0 1 21 2 32 3 4循環(huán)變量i為0, 循環(huán)條件 i3成立,執(zhí)行循環(huán)體外層for第1次循環(huán) 相當于輸出第1行內(nèi)層for循環(huán)j初值為0,循環(huán)條件j3成立,執(zhí)行循環(huán)體內(nèi)層for第1次循環(huán)執(zhí)行nij=i+j;即n00=0+0=0;執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為1,j3成立,繼續(xù)執(zhí)行內(nèi)層循環(huán)體內(nèi)層for第2次循環(huán)執(zhí)行nij=i+j;即n01=0+1=1;執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為2,j3成立,繼續(xù)執(zhí)行

17、內(nèi)層循環(huán)體內(nèi)層for第3次循環(huán)執(zhí)行nij=i+j;即n02=0+2=2;執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為3,j3不成立,結(jié)束內(nèi)層循環(huán)執(zhí)行printf(“n”);執(zhí)行外層for語句的表達式3,i+,i為,1, i3成立,繼續(xù)執(zhí)行外層循環(huán)體外層for第2次循環(huán) 相當于輸出第2行內(nèi)層for循環(huán)j初值為0,循環(huán)條件j3成立,執(zhí)行循環(huán)體內(nèi)層for第1次循環(huán)執(zhí)行nij=i+j;即n10=1+0=1;執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為1,j3成立,繼續(xù)執(zhí)行內(nèi)層循環(huán)體內(nèi)層for第2次循環(huán)執(zhí)行nij=i+j;即n11=1+1=2;

18、執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為2,j3成立,繼續(xù)執(zhí)行內(nèi)層循環(huán)體內(nèi)層for第3次循環(huán)執(zhí)行nij=i+j;即n12=1+2=3;執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為3,j3不成立,結(jié)束內(nèi)層循環(huán)執(zhí)行printf(“n”);執(zhí)行外層for語句的表達式3,i+,i為,1, i3成立,繼續(xù)執(zhí)行外層循環(huán)體外層for第2次循環(huán) 相當于輸出第3行內(nèi)層for循環(huán)j初值為0,循環(huán)條件j3成立,執(zhí)行循環(huán)體內(nèi)層for第1次循環(huán)執(zhí)行nij=i+j;即n20=2+0=1;執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j

19、為1,j3成立,繼續(xù)執(zhí)行內(nèi)層循環(huán)體內(nèi)層for第2次循環(huán)執(zhí)行nij=i+j;即n21=2+1=2;執(zhí)行printf(“%d ”, nij);執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為2,j3成立,繼續(xù)執(zhí)行內(nèi)層循環(huán)體內(nèi)層for第3次循環(huán)執(zhí)行nij=i+j;即n22=2+2=3;執(zhí)行內(nèi)層循環(huán)表達式3,j+,j為3,j3不成立,結(jié)束內(nèi)層循環(huán)執(zhí)行printf(“n”);執(zhí)行外層for語句的表達式3,i+,i為,3, i3不成立,結(jié)束外層循環(huán)7#include main()char diamond5=_,_,*,_,*,_,*,*,_,_,_,*,_,*,_,*,_,_,*;int i,j;for(i=0;i5;i+)for(j=0;j5;j+)printf(“%c”,diamondij);printf(“n”);注:“_”代表一個空格。運行結(jié)果為:* * * * *8. #include main( ) int i, f10; f0=f1=1; for(i=2;i10;i+) fi=fi-2+fi-1; for(i=0;i10;i+) if(i%4=0) printf(“n”); printf(“%d ”,fi); 運行結(jié)果為:1 1 2 35 8 13 2134 559 #include “stdio.h” func(int b ) int j; for(j=0;j4;j+) bj

溫馨提示

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

評論

0/150

提交評論