11年C語言考試題

2022-12-13 04:21:02 字數 3936 閱讀 4371

北京航空航天大學

2010-2011學年第二學期期末

《c語言程式設計》

考試 a 卷

班級學號

姓名成績

2023年6月15日

班號學號姓名成績

《c語言程式設計》期末考試卷

注意事項:1、請將所有的答案和程式寫在答題紙上,寫在試卷紙上不得分!

2、考試時間120分鐘

一、選擇題(每題2分,共40分)

1、以下敘述正確的是______。

a) 在c 程式中,main 函式必須位於程式的最前面

b) c 程式的每行中只能寫一條語句

c) c 語言本身沒有輸入輸出語句

d) 在對乙個c 程式進行編譯的過程中,可發現注釋中的拼寫錯誤

2、以下正確的描述是______。

a) continue語句的作用是結束整個迴圈的執行

b) 只能在迴圈體內和switch語句體內使用break語句

c) 在迴圈體內使用break語句或continue語句的作用相同

d) 從多層迴圈巢狀中退出時,只能使用goto語句

3有以下程式

void main()

程式的輸出結果是____

a) 3b) 3.2c) 0d) 3.07

4、若變數已正確說明為float型別,要通過語句

scanf("%f %f %f ",&a,&b,&c);

給a賦值10.0,給b賦值22.0,給c賦值33.0,不正確的輸入形式是______。

a) 10 2233

b) 10.0,22.0,33.0

c) 10.0 22.0 33.0

d) 10 2233

5、main()

程式輸出是____

a) 0,1,2,0 b) 0,0,0,3 c) 1,1,2,0 d) 編譯有錯

6、能正確表示「當x的取值在[1,10]和[200,210]範圍內為真,否則為假的表示式是______。

a) x>=1 && x<=10 && x>=200 && x<=210

b) x>=1 || x<=10 || x>=200 || x<=210

c) x>=1 && x<=10 || x>=200 && x<=210

d) x>=1 || x<=10 && x>=200 || x<=210

7、若w=1,x=2,y=3,z=4,則條件表示式wa)4 b)3 c)2 d)1

8、對字元陣列s賦值,不合法的是______。

a) char s="beijing";

b) char s[20]=;

c) char s[20];s="beijing";

d) char s[20]=;

9、若有語句int *point,a=4;和point=&a;下面均代表位址的一組選項是______。

a) a,point,*&ab) &*a,&a,*point

c) *&point,*point,&a d) &a,&*point ,point

10、以下程式的執行結果是______。

void main()

a) 4 b) 5 c) 6d) 7

11、下面程式的執行結果是______。

#include<>

void main()

while(--y);

printf("%d\n",y--);

}a)-1 b)1 c)8 d)0

12、已有以下陣列定義和func函式呼叫語句,則func函式原形的正確宣告為_______。

void main()

a) func (int array[6]); b) func(int array[3]);

c) func (int array[4]); d) func (int array[2][5]);

13、已知:int a[4][3]=;

int (*ptr)[3]=a,*p=a[0];

則以下能夠正確表示陣列元素a[1][2]的表示式是______。

a) *(*(a+1)+2) b) *(*(p+5)) c) (*ptr+1)+2 d) *((ptr+1)[2])

14、下面程式的輸出結果是______。

main()

x++;

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

}a) x=4 b) x=8 c) x=6 d) x=12

15、下面程式的輸出是____。

void main()

case 2: a++;b++;break;

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

}a) a=2,b=1 b) a=1,b=1 c) a=1,b=0 d) a=2,b=2

16、已知:int a=, y, *p=a;則執行語句

y = (*++p)--;

之後, 陣列a各元素的值變為_____。

a) 0,1,3,4 b) 1,1,3,4 c) 1,2,2,4 d) 1,2,3,3

17、給出以下定義:

char x[ ]="abcdefg";

char y[ ]=;

則正確的敘述為_____。

a) 陣列x和陣列y等價b) 陣列x和陣列y的長度相同

c) 陣列x的長度大於陣列y的長度d) 陣列x的長度小於陣列y的長度

18 已知函式的呼叫形式:fread(buffer,size,count,fp);其中buffer代表的是____

a) 乙個整型變數,代表要讀入的資料項總數

b) 乙個檔案指標,指向要讀的檔案

c) 乙個指標,指向要讀入資料的存放位址

d) 乙個儲存區,存放要讀的資料項

19 以下程式中呼叫scanf函式給變數a輸入數值的方法是錯誤的,其錯誤原因是____

main()

a) *p表示的是變數p的位址

b) *p表示的是變數a的值,不是變數a的位址

c) *p表示的是指標變數p的值

d) *p只能用來說明p是乙個指標變數

20 若有說明:char *language=;

則表示式 *language[1]>*language[3] 比較的是____

a) 字元f和字元p b) 字串bas1c和字串j**a

c) 字元b和字元j d) 字串fortran和字串pascal

二、填空題(每空2分,共30分)

1、若有定義:int e=1,f=4,g=2;float m=10.5 n=4.0 k;則執行賦值表示式

k=(e+f)/g+sqrt((double)n)*1.2/g+m後k的值是_____。

2、下面程式的輸出是_______。

main()

3、假設已有定義double s,d;int k,n;。有以下程式段:

s=1.0;

for(k=1;k<=n;k++)

s=s+1.0/(k*(k+1));

printf("%f\n",s);

填空完成下述程式,使之與上述程式的功能完全相同。

s=0.0;

①______;

k=0;

dowhile

printf("%f\n",s);

4、下面程式段的執行結果是______。

int i=1;s=3;

dowhile(s<15);

printf("%d",i);

5、設定義語句「static int a[3][4]=,,};」則a[1][1]值為①____,a[2][1]的值為②____。

6、下面的函式是乙個求階乘的遞迴呼叫函式。

facto(int n)

{if( n == 1

C語言考試題

一 單選題 20分 二 填空題 24分 給定程式的功能是 向螢幕輸出200 500之間的 水仙花數 並統計其個數輸出。所謂水仙花數 是指乙個3位數,其各位數字立方和等於該數本身。例如 153是乙個水仙花數,因為153 1 1 1 5 5 5 3 3 3。將適當的關鍵字或符號填入 數值 位置,並將 數...

C語言考試題型,複習,重點

c語言考試題型及教學大綱 第一題 單項選擇題。每題2分,共15題,30分。第二題 填空題。每題2分,共10題,20分。前5個基礎知識填空,後5個程式填空。第三題 讀程題。每題4分,共5題,20分。第四題 程式設計序。每題10分,共3題,30分。程式設計題1.主要考察選擇結構程式設計,n s圖的繪製。...

C語言上機考試題 2019

1 從鍵盤輸入10個整數,用冒泡法對這10個數排序 由小到大 後輸出.p172 2 從鍵盤輸入10個整數,用選擇法對這10個數排序 由大到小 後輸出.p155 3 對於乙個自然數,如果該數的所有因子之和正好等於該數,則該數稱為完數。統計1000以內的完數個數。include 4 編寫主函式和乙個函式...