北京航空航天大學
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 編寫主函式和乙個函式...