期末c語言考試題及完整答案1套_第1頁
期末c語言考試題及完整答案1套_第2頁
期末c語言考試題及完整答案1套_第3頁
期末c語言考試題及完整答案1套_第4頁
期末c語言考試題及完整答案1套_第5頁
已閱讀5頁,還剩8頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

期末c語言考試題第一部分單選題(50題)1、若inti=0,s=0;執(zhí)行for(i=1;i<=4;i++)s+=i;后s的值是?()

A.10

B.9

C.8

D.7

【答案】:答案解析:累加1+2+3+4=10,s=10,故選A。2、以下關于循環(huán)語句的說法錯誤的是?()

A.for循環(huán)三個表達式均可省略

B.while循環(huán)先判斷后執(zhí)行

C.do-while循環(huán)至少執(zhí)行一次

D.continue可用于switch語句

【答案】:答案解析:continue僅用于循環(huán)語句,不能用于switch,A、B、C說法正確,故選D。3、若intx=10,y=20;則表達式x!=y的結果是?()

A.0

B.1

C.10

D.20

【答案】:答案解析:!=是不等于判斷,x!=y為真,C語言中真用1表示,故選B。4、若inta=5,b=3;執(zhí)行if(a>b){a--;b++;}后a和b的值分別是?()

A.4,4

B.5,3

C.4,3

D.5,4

【答案】:答案解析:a>b為真,執(zhí)行代碼塊,a=5-1=4,b=3+1=4,故選A。5、以下哪個賦值語句是正確的?()

A.inta=5;

B.a=5;

C.inta=b=5;

D.a=b=5;

【答案】:答案解析:B、D未定義變量,C不能連續(xù)賦值定義,A定義并賦值正確,故選A。6、若inti=1;執(zhí)行do{printf("%d",i);i++;}while(i<=0);輸出結果是?()

A.1

B.無輸出

C.無限循環(huán)

D.12

【答案】:答案解析:do-while先執(zhí)行一次(輸出1,i=2),再判斷i<=0為假,循環(huán)結束,故選A。7、以下函數聲明正確的是?()

A.intfun(intx,inty);

B.intfun(int,int);

C.intfun(intx;inty);

D.A和B

【答案】:答案解析:函數聲明可寫參數名或只寫類型,A、B正確,C用分號錯誤,故選D。8、若inta=7,b=3;執(zhí)行if(a%b==1)a=0;elseb=0;后a和b的值分別是?()

A.0,3

B.7,0

C.0,0

D.7,3

【答案】:答案解析:7%3=1,條件為真,a=0,b保持3,故選A。9、若inti=1;執(zhí)行while(i<=4){printf("%d",i);i+=3;}輸出結果是?()

A.14

B.1234

C.1

D.無輸出

【答案】:答案解析:i初始1,加3后4,執(zhí)行2次,輸出14,故選A。10、以下哪個if語句的條件是“x是偶數且x大于10”?()

A.if(x%2==0&&x>10)

B.if(x%2=0&&x>10)

C.if(x%2==0||x>10)

D.if(x%2=0||x>10)

【答案】:答案解析:偶數判斷用x%2==0,邏輯與用&&,B是賦值,C、D是邏輯或,故選A。11、以下函數聲明錯誤的是?()

A.voidfun(int);

B.voidfun(inta);

C.voidfun(inta,intb);

D.voidfun(inta;intb);

【答案】:答案解析:函數聲明中參數用逗號分隔,不能用分號,D語法錯誤,故選D。12、以下指針的算術運算中,單位是?()

A.1字節(jié)

B.指針指向類型的大小

C.4字節(jié)

D.8字節(jié)

【答案】:答案解析:指針算術運算(如p++)偏移量是指向類型的大?。ㄈ鏸nt指針+1偏移4字節(jié)),故選B。13、函數定義在main函數之后時,必須先?()

A.調用函數

B.聲明函數

C.定義函數

D.無要求

【答案】:答案解析:main函數調用其他函數時,若函數定義在main之后,需先聲明(否則編譯器找不到函數),故選B。14、定義整型變量x、y并均賦值10的語句是?()

A.intx=y=10;

B.intx=10,y=10;

C.intx=10;y=10;

D.intx=10;inty=10;

【答案】:答案解析:同一行定義多個變量用逗號分隔,A不能連續(xù)賦值,C缺少int,D是兩行定義,故選B。15、C語言中基本數據類型不包括以下哪項?()

A.char

B.int

C.float

D.array

【答案】:答案解析:基本數據類型為char、int、float、double,array是數組(構造類型),故選D。16、若inta[3][2]={{1,2},{3,4},{5,6}};則a[2][1]的值是?()

A.5

B.6

C.3

D.4

【答案】:答案解析:a[2][1]是第三行第二列,值為6,故選B。17、C語言程序的基本單位是?()

A.語句

B.函數

C.變量

D.表達式

【答案】:答案解析:C程序由函數構成,main是入口函數,其他函數實現功能,故選B。18、C語言中,語句結束的標志是?()

A.逗號

B.分號

C.冒號

D.句號

【答案】:答案解析:C語言單條語句以分號(;)結尾,復合語句用{}包裹,故選B。19、以下函數調用錯誤的是?()

A.fun();

B.fun(5);

C.fun(3,4);

D.無錯誤(需看函數定義)

【答案】:答案解析:調用需匹配函數定義,A對應無參函數,B對應單參函數,C對應雙參函數,均可能正確,故選D。20、以下關于數組初始化的說法正確的是?()

A.數組必須初始化

B.數組初始化時元素個數不能少于長度

C.數組初始化時可部分賦值

D.數組初始化后不能修改

【答案】:答案解析:數組可部分賦值(未賦值元素默認0),A數組可不用初始化,B可少于長度,D數組元素可修改,故選C。21、若inti=0;執(zhí)行for(i=0;i<5;i++){if(i==3)break;printf("%d",i);}輸出結果是?()

A.012

B.0123

C.01234

D.無輸出

【答案】:答案解析:i=3時break,輸出012,故選A。22、以下關于二維數組的說法正確的是?()

A.二維數組是數組的數組

B.二維數組元素在內存中按列存儲

C.二維數組長度必須是常量

D.二維數組不能作為函數參數

【答案】:答案解析:二維數組本質是數組的數組,內存按行存儲,可作為函數參數,長度需常量,故選A。23、函數參數傳遞中,地址傳遞的特點是?()

A.形參是實參的副本

B.形參修改不影響實參

C.傳遞的是變量地址

D.用于簡單變量傳參

【答案】:答案解析:地址傳遞(指針)傳遞變量地址,形參通過地址修改實參值,值傳遞是副本,故選C。24、指針變量的作用是存儲?()

A.變量的值

B.變量的地址

C.函數的地址

D.數組的元素

【答案】:答案解析:指針變量專門存儲其他變量的內存地址,故選B。25、若inti=0;執(zhí)行for(;;){if(i==4)break;printf("%d",i);i++;}輸出結果是?()

A.0123

B.01234

C.無限循環(huán)

D.無輸出

【答案】:答案解析:for(;;)是無限循環(huán),i=4時break,輸出0123,故選A。26、以下函數定義中,參數為指針的是?()

A.voidfun(int*a){printf("%d",*a);}

B.voidfun(inta){printf("%d",a);}

C.voidfun(inta[]){printf("%d",a[0]);}

D.A和C

【答案】:答案解析:A是指針參數,C數組名參數本質是指針,B是值參數,故選D。27、邏輯表達式!5的結果是?()

A.0

B.1

C.5

D.真

【答案】:答案解析:5為真,!是邏輯非,真變假(0),故選A。28、若inta[5];執(zhí)行a[0]=1;a[1]=2;則a[2]的值是?()

A.0

B.3

C.隨機值

D.無定義

【答案】:答案解析:全局數組默認0,局部數組未初始化是隨機值?題目未說明存儲類別,通常默認全局,a[2]=0,故選A。29、指針作為函數參數時,傳遞的是?()

A.指針的值

B.指針的地址

C.變量的值

D.變量的地址

【答案】:答案解析:指針傳參本質是傳遞變量地址,函數中通過指針可修改實參值,故選D。30、以下數組定義錯誤的是?()

A.inta[0];

B.inta[5];

C.inta[]={1,2,3};

D.inta[5]={1,2,3};

【答案】:答案解析:數組長度不能為0,編譯報錯,其余正確,故選A。31、以下關于指針數組和數組指針的說法正確的是?()

A.指針數組是數組,元素為指針

B.數組指針是指針,指向數組

C.int*arr[5]是指針數組,int(*arr)[5]是數組指針

D.以上都正確

【答案】:答案解析:A、B、C均準確區(qū)分了指針數組和數組指針,故選D。32、C語言程序編譯的正確順序是?()

A.預處理→編譯→匯編→鏈接

B.編譯→預處理→匯編→鏈接

C.預處理→匯編→編譯→鏈接

D.鏈接→編譯→匯編→預處理

【答案】:答案解析:C程序編譯流程為預處理(處理#命令)→編譯(生成匯編代碼)→匯編(生成目標文件)→鏈接(生成可執(zhí)行文件),故選A。33、若inta=10;執(zhí)行if(a%2==0)printf("偶數");elseprintf("奇數");輸出結果是?()

A.偶數

B.奇數

C.10

D.無輸出

【答案】:答案解析:a=10%2=0,條件為真,輸出偶數,故選A。34、以下for循環(huán)的循環(huán)次數是?()for(inti=2;i<=8;i+=2)

A.3次

B.4次

C.5次

D.6次

【答案】:答案解析:i取值2、4、6、8,共4次,故選B。35、若inta=3;執(zhí)行if(++a==4)printf("A");elseprintf("B");輸出結果是?()

A.A

B.B

C.AB

D.無輸出

【答案】:答案解析:++a使a=4,條件為真,輸出A,故選A。36、以下關于指針數組的定義正確的是?()

A.int*arr[5];

B.int(*arr)[5];

C.intarr[5];

D.intarr[];

【答案】:答案解析:A是指針數組(5個int指針),B是指向數組的指針,C是普通數組,D缺少長度,故選A。37、break語句在循環(huán)中的作用是?()

A.跳過本次循環(huán),繼續(xù)下一次

B.終止整個循環(huán)

C.終止當前語句

D.無作用

【答案】:答案解析:break在循環(huán)中用于終止整個循環(huán)(跳出循環(huán)體),continue是跳過本次循環(huán),故選B。38、若inti=3;執(zhí)行do{printf("%d",i);i--;}while(i>=1);輸出結果是?()

A.321

B.123

C.3210

D.無輸出

【答案】:答案解析:do-while先執(zhí)行,i從3減到1,輸出321,故選A。39、以下哪個關鍵字用于定義整型變量?()

A.char

B.int

C.float

D.double

【答案】:答案解析:int定義整型,char字符型,float單精度浮點型,double雙精度浮點型,故選B。40、以下switch語句中,case后的常量可以是?()

A.整數

B.字符

C.枚舉常量

D.以上都可以

【答案】:答案解析:switch的case后必須是整型常量(整數、字符、枚舉常量,字符本質是ASCII碼整數),故選D。41、以下關于指針的說法正確的是?()

A.指針可用于遍歷數組

B.指針可用于字符串操作

C.指針可用于函數參數傳遞

D.以上都正確

【答案】:答案解析:指針在數組遍歷、字符串處理、參數傳遞中均有核心作用,故選D。42、以下關于指針的說法正確的是?()

A.指針可用于實現多返回值函數

B.指針可提高程序效率

C.指針可用于動態(tài)內存分配

D.以上都正確

【答案】:答案解析:指針的核心用途包括多返回值、高效訪問、動態(tài)內存分配,故選D。43、以下if-else語句中,代碼塊正確的是?()

A.if(x>0)printf("a");printf("b");elseprintf("c");

B.if(x>0){printf("a");printf("b");}elseprintf("c");

C.if(x>0)printf("a");{printf("b");}elseprintf("c");

D.if(x>0)printf("a");printf("b");else{printf("c");}

【答案】:答案解析:else需與最近的if匹配,A、C、D中else前有獨立printf,語法錯誤,B用{}包裹代碼塊正確,故選B。44、若inti=1,s=0;執(zhí)行while(i<=5){s+=i;i++;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:循環(huán)累加1+2+3+4+5=15,s=15,故選A。45、若inti=5,s=0;執(zhí)行while(i>0){s+=i;i--;}后s的值是?()

A.15

B.10

C.5

D.0

【答案】:答案解析:累加5+4+3+2+1=15,s=15,故選A。46、以下函數調用時,實參為常量的是?()

A.fun(5);

B.fun(a);

C.fun(&a);

溫馨提示

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

最新文檔

評論

0/150

提交評論