c語言期末測試題(附答案)_第1頁
c語言期末測試題(附答案)_第2頁
c語言期末測試題(附答案)_第3頁
c語言期末測試題(附答案)_第4頁
c語言期末測試題(附答案)_第5頁
已閱讀5頁,還剩6頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

課程代碼:A100002座位號:

《計算機技術(shù)基礎(C語言)》試卷A

姓名:學號:專業(yè):

學院:班級:

A)標識符可以由漢字組成B)標識符只能以字母開頭

C)關鍵字可以作為用戶標識符D)Area與area是不同的標識符

2、使下列程序段輸出“123,456,78”,鍵盤輸入數(shù)據(jù),正確的輸入是【

inti,j,k;

scanf("%d,%3d%d”,&i,&j,&k);

printf("%d,%d,%d\n>,,i,j,k);

A)12345678B)123,456,78C)123,45678D)123,*45678

3、推斷char類型的變量cl是否為數(shù)字字符的正確表達式為lo

A)(cl>=0)&&(cl<=9)B)(cl>=,O')&&(cl<=,9')

C)'O'<=cl<='9,D)(cl>=,O')||(cl<='9')

4、若有語句inta=l,b=2,c=3;則以下值為0的表達式是]o

A)'a'&&'b'B)a<=bC)((a>b)||(b<c)D)(!(a+b)==c&&a)

5、已知:inta[2][3];則對數(shù)組元素的非法引用是

[1

A.*(a[0]+2)B.a⑴⑶C.a[l][0]D.*(*(a+l)+2)

6在循環(huán)語句的循環(huán)體中執(zhí)行break語句,其作用是

A)跳出該循環(huán)體,提前結(jié)束循環(huán)

B)接著執(zhí)行break語句之后的循環(huán)體各語句

C)結(jié)束本次循環(huán),進行下次循環(huán)

D)終止程序運行

7、執(zhí)行語句for(i=10;i>0;i-);后,變量i的值為

[】。

A)10B)9C)0D)1

8、若有int*pl,*p2,k;不正確的語句是

[1

A.pl=&kB.p2=pl

C.*pl=k+12D.k=pl+p2

9、在函數(shù)中未指定存儲類別的局部變量,其隱含的存儲類別是

]

A.靜態(tài)(static)B.外部(extern)

C.自動(auto)D.寄存器(register)

10如下程序的輸出結(jié)果是

[1

main()

{intx=2,a=0,b=0;

switch(x)

{case2:a++;b++;

case1:++a;b-;break;

case0:b++;)

printf("a=%d,b=%d\n”,a,b);}

A.a=2,b=0B.a=2,b=lC.a=l,b=lD.a=l,b=0

11、表示關系a<b<=c的C語言表達式為[1

A.(a<b)&&(b<=c)B.(a<b)AND(b<=c)

C.(a<b<=c)D.(a<b)&(b<=c)

12、有以下程序

ttinclude<stdio.h>

main()

{intx;

scanf("%d",&x);

if(x<=3);else

if(x!=10)printf("%d\n",x);}

程序運行時,輸入的值在哪個范圍才會有輸出結(jié)果。【】

A.不等于10的整數(shù)B.大于3且不等于10的整數(shù)

C.大于3或不等于10的整數(shù)D.小于3的整數(shù)

13、break語句的正確用法是【】

A.無論在任何狀況下,都中斷程序的執(zhí)行,退出到系統(tǒng)下一層。

B.在多重循環(huán)中,只能退出最靠近的那一層循環(huán)語句。

C.跳出多重循環(huán)。D.只能修改限制變量。

14、若a,b,c,d均為整型變量,執(zhí)行以下程序段后的t的值為【】

ttdefineMAX(A,B)(A)<(B)?(A):(B)

a=5;b=3;c=3;d=4;

t=MAX(a+b,c+d)*10;

A.70B.7C.8D.80

15、執(zhí)行以下程序段后,m的值為]

inta[6]={1,2,3,4,5,6},m,*p;

p=&a[0];

m=(*p)*(*(p+2))*(*(p+4));

A)15C)13D)12

其次部分非選擇題(共70分)

二、推斷題(本大題共10小題,每題1分,共10分,答T表

示說法正確.答F表示說法不正確,本題只需指出正確與錯誤,

不須要修改)

16.字符型數(shù)據(jù)不行以進行加減運算。

[1

17.函數(shù)定義與函數(shù)的聲明是一回事。[1

18.在C語言中函數(shù)能嵌套調(diào)用,也能嵌套定義。[1

19.在C語言中switch語句必需運用break語句。

20.for循環(huán)中的三個表達式都可以省略。]

21.do-while循環(huán)是先進行循環(huán)體語句,后推斷表達式。【】

22.只能在main。函數(shù)中定義靜態(tài)變量。【】

23.char*sl="Ilovechina”;定義了一個指針變量si,它的初值為字符串“I

lovechina”的首地址。【】

24.int*p[4];與int(*p)[4];的作用相同,都是定義了一個指向數(shù)組的指針。

[1

25.預處理叮囑行最終也是以分號(;)結(jié)尾的。[1

三、填空題(本大題共6小題,每題3分,共18分。)

26、在C語言中*作為單目運算符時表示,作為

雙目運算符時表示,而作為一種標記時表示

27、表達式(a=3*5,a*4),a+5中a的值是,整個表達式的值是

28、設有如下的類型說明:

inta[10]={l,2,3,4,5,6,7,8,9,10},*p=a;

若數(shù)組所占內(nèi)存單元的起始地址為446且整型數(shù)據(jù)占2個字節(jié),則p+5=,

*(p+5)=。

29、若定義了如下的共用體類型變量x和結(jié)構(gòu)類型變量y,則x和y所占用的內(nèi)

存字節(jié)數(shù)分別為和。

unionstulstructstu2

{intnum;{intnum;

charname[5];charname[5];

chars;}x;chars;}y;

30、在TC中CTRL+F9的功能是__、和

31、有以下程序

ttinclude<stdio.h>

main()

{charcl,c2:

scanf("%c",&cl);

while(cl<651|cl>96)scanf("%c",&cl);

c2=cl+32;

printf("%c,枇”,cl,c2);

程序運行輸入65回車后,能否輸出結(jié)果。(請回答能或不能)

四、簡答題(本大題共2小題,每題3分,共6分。)

32、C語言中變量的存儲類別有幾種?局部變量的缺省存儲類

別是哪種。

33、請說明以下與一個C程序有關的3種文件(須要說明這些

文件是什么文件、如何形成的):(1)file.c(2)

file,obj

五、閱讀程序回答問題(本大題共4小題,每題5分,共20

分)

34、ttinclude<stdio.h>

voidmain()

{inta=10,b=18;

funl(a,b);

intfunl(intx,inty)

{if(x>y)

printf('a>b\n");

elseif(x<y)printf("a<b\n");

elseprintf("a==b\n");

問題:(1)寫出程序的運行結(jié)果;(2)分別列出形參和實參;(3)說明#include

<stdio.h>o

35、intfun(inta)

{intb=0;

staticintc=3;

b=b+l;

c=c+l;

return(a+b+c);}

main()

{inta=2,i;

for(i=0;i<3;i++)

printf("%d”,fun(a));}

問題:(1)寫出該程序的運行結(jié)果;(2)假如將staticintc=3;語句

改寫成intc=3;,則運行結(jié)果如何變更?為什么?

36、main()

{inta[2][3]={1,2,3,4,5,6},b⑶⑵,i,j;

printf(aarraya:\n");

for(i=0;i<=l;i++)

{for(j=0;j<=2;j++)

{printf("%5d”,a[i][j]);

/*第七行*/

printf("\n");}

printf(arrayb:\n");

for(i=0;i<=2;i++)

{for(j=0;j<=l;j++)

printf("%5d",b[i][j]);

printf("\n");}

問題:(1)寫出程序的運行結(jié)果;(2)假如將第七行中的b[j][i]=a[i][j];語句改

寫成則結(jié)果如何變更。

37>#include<stdio.h>

voidfun(int*pl,int*p2)

{intt;

t=*pl;*pl=*p2;*p2=t;}

voidmain()

{intx,y;

int*pl,*p2;

scanf("%d%d”,&x,&y);

pl=&x;p2=&y;

if(x>y)fun(pl,p2);

printf(/zx=%d,y=%d//,x,y);}

問題:(1)該程序的功能是什么;(2)程序中的*和&分別代表什么運

算符?(3)若輸入53,則運行結(jié)果如何?

六、編寫程序(本大題共1小題,共10分。)

38、輸入兩個正整數(shù)m和n,求其最大公約數(shù)和最小公倍數(shù)。

(先畫N-S圖,然后再編寫程序代碼)

七、程序填空(本大題共1小題,共6分。)

39、invert。函數(shù)的功能是將一個字符串str的內(nèi)容倒序存

放。

例如:字符串str原內(nèi)容為:abcde,函數(shù)調(diào)用后變?yōu)椋篹dcba。

voidinvert(charstr[])

{inti,j,k;

j=;

for(i=0;i<strlen(str)/2;i++,j一)

{k=str[i];

str[i]=str[j];

str[j]=;

main()

{chartest[]="abcde”;

invert(test);

printf(,/%s\n//,test);

課程代碼:A100002座位號:

《計算機技術(shù)基礎(C語言)》試卷A標準答案

學院:班級:

20年月日

第一部分選擇題(共30分)

一、單項選擇題(本大題共15小題,每題只有一個正確答案,答對一題得2分,

共30分)

1、D2、C3、B4、D5、B

6、A7、C8、D9、C10、A

11、A12、B13、B14、A15、A

其次部分非選擇題(共70分)

二、推斷題(本大題共10小題,每題1分,共10分,答T表示說法正確.答F表示

說法不正確,本題只需指出正確與錯誤,不須要修改)

16、F17、F18、F19、F20、T

21、T22、F23、T24、F25、F

三、填空題(本大題共6小題,每題3分,共18分。)

26、指向(1份),乘(1分);定義的變量是指針變量(1分)

27、15(2分),20(1分)

28、456(2分),6(1分)

29、5(2分)、8(1分)

30、編譯(1分)、連接(1分)、運行(1分)

31、不能(3分)

四、簡答題(本大題共2小題,每題3分,共6分。)

32(3分)、32、C語言中變量的存儲類別有幾種?局部變量的缺省存儲類別是

哪種。

變量的存儲類別分為兩大類:靜態(tài)存儲類和動態(tài)存儲類。具體包含四種:自動

的(auto)、靜態(tài)的(static)、寄存器的(register)、外部的(extern)。局

部變量的缺省存儲類別是auto變量。

33(3分)、請簡潔說明C程序的執(zhí)行過程。

答:(1)file,c是源文件,通過編輯得到;(2)file,obj是目標文件,即計算機

能夠處理的由二進制指令組成的文件,通過對源文件進行編譯得到;(3)file.exe

是可執(zhí)行文件,通過將目標文件與其他目標文件或庫函數(shù)連接得到。

五、閱讀程序回答問題(本大題共4小題,每題5分,共20分)

34、((1)(2分)程序的運行結(jié)果:a<b

(2)(1分)形參:x,y;實參:a,b

(3)(2分)#include<stdio.h

溫馨提示

  • 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

提交評論