2011-2012學年第二學期
《c程式語言》課程考試卷(a卷)
專業:資訊管理與資訊系統層次:本科年級:2011
(試卷總分:100分,考試時間:120分鐘,試題內容7頁,空白紙0頁)
客觀題部分
一、選擇題(每題1分,共20題,共20分)
1、以下選項中屬於c語言的資料型別是( d )。
a、複數型 b、邏輯型 c、集合型 d、雙精度型
2、乙個c程式的執行是從( a )。
a、main()函式開始,直到main()函式結束。
b、第乙個函式開始,直到最後乙個函式結束。
c、第乙個語句開始,直到最後乙個語句結束。
d、main()函式開始,直到最後乙個函式結束。
3、若有 char c[5]=;則執行語句printf("%s",c);結果是( c )。
a、cd\0e b、'c''d' c、cd d、cd e
4、以下有巨集替換不正確的敘述( d )。
a、巨集替換不占用執行時間。 b、巨集名無型別。
c、巨集替換只是字串替換。 d、巨集名必須用大寫字母表示。
5、在定義int a[3][4][2];後,第10個元素是( b )。
a、a[2][1][2] b、a[1][0][1] c、a[2][0][1] d、a[2][2][1]
6、合法的c語言字元常量是( a )。
a、『a』 b、「a」 c、65d、a
8、在下面的運算子中,優先等級最高的運算子是( c )。
a、9、c語言規定,函式返回值的型別是由( d )。
a、return語句中的表示式型別所決定。
b、呼叫該函式時的主調函式型別所決定。
c、呼叫該函式時系統臨時決定。
d、在定義該函式時所指定的函式型別所決定。
10、在c語言中,邏輯值"真"的表示是用( c )。
a、true b、整型值0 c、非0整型值 d、t
11、逗號表示式(a=3*5,a*4),a+15的值為( c )。
a、15 b、60 c、30 d、不確定
12、下列識別符號組中,合法的使用者識別符號為( b )。
a、pad與p#d b、scanf 與a10
c、void與max d、a*與temp
13、設變數f是實型,i是雙精度型,則表示式10+'a'+i*f值的資料型別為( c )。
a、int b、float c、double d、char
14、設a=2,b=3,c=4,則表示式 a+b>c&&b= =c&&a||b+c&&b+c的值為( d )。
a、5b、8c、0d、1
15、若在scanf函式語句中沒有非格式字元作輸入資料的間隔,則不可用( b )作為輸入資料的間隔。
a、空格b、逗號 c、tabd、回車
16、設ch是字元變數,其值為a,且有下面的表示式ch =!(ch>='a'&& ch<='z') ? ch :(ch+32)則表示式的值是( b )。
a、ab、ac、2d、z
17、以下正確的敘述是( d )。
a、在c程式中,每行只能寫一條語句。
b、若a是實型變數,c程式中允許賦值a=10,因此實型變數中允許存放整型數。
c、在c程式中,無論是整數還是實數,都能被準確無誤地表示。
d、在c程式中,%是只能用於整數運算的運算子。
18、已定義x為float型變數
x=213.82631;
printf("%-4.2f\n",x);
則以上語句( b )。
a、輸出格式描述符的域寬不夠,不能輸出 b、輸出為213.83
c、輸出為213.82d、輸出為-213.82
19、下面有關for迴圈的正確描述是( d )。
a、for迴圈只能用於迴圈次數已經確定的情況。
b、for迴圈是先執行迴圈體語句,後判定表示式。
c、在for迴圈中,不能用break語句跳出迴圈體。
d、for迴圈體語句中,可以包含多條語句,但要用花括號括起來。
20、有如下語句int a=10,b=20,*p1,*p2;p1=&a;p2=&b;若要實現p1,p2均指向b,可選用的賦值語句是( b )。
a) *p1=*p2; b) p1=p2; c) p1=*p2; d) *p1=p2;
主觀題部分
一、 填空題(每空1.5分,共10題,共15分)
1、結構化程式設計的三種基本結構分別為:順序結構,(選擇結構 )和迴圈結構。
2、設有,執行語句後的輸出結果為( 41 )。
3、設有int a = 27; ,執行語句 a %= 4;後a 的值為( 3 )。
4、設有#define m(x) x * x,則m(1+2)的值為( 5 )。
5、dowhile(表示式)迴圈至少執行( 1 )次。
6、判斷char型變數c1是否為字母的正確表示式為(ch>='a'&& ch<='z' || ch>='a'&& ch<='z')。
7、設int a[3][4]=,,};則表示式a[1][2]+a[2][3]的值是( 15 )。
8、c語言標準函式庫中,用於字串比較的函式是(strcmp )。
9、已知int a=3,b=7,c,*p=&a;,則執行語句*p=5,c=a+b;後,c的值為( 12 )。
10、設有
typedef struct abc
new;
則new表示的含義是(乙個新的結構體資料型別 )。
二、程式改錯題(每題2分,共5題,共10分)
以下各段程式有乙個或兩個錯誤,改正錯誤。只要改正程式中的錯誤,不要改變程式的結構。把正確的**寫在答題卡上。
1、下面**的功能是:輸入乙個整數,如果是偶數,則輸出。
2、下面**的功能是:輸出1到10,總共10個整數。
3、下面**的功能是:定義乙個字元陣列,並將乙個字串賦值給它。
4、下面**的功能是:通過指標給陣列的各個元素賦值。
5、下面**的功能是:定義了乙個函式,用來輸出乙個變數的值。
三、程式填空題(每題5分,共2題,共10分)
1、下面的**功能是:輸出fibonacci序列的第n項。在括號裡填入適當的**,實現要求的功能。
2、下面的**功能是:輸出所有的水仙花數。在括號裡填入適當的**,實現要求的功能。
四、程式設計題(共3題,共45分)(在z盤新建三個資料夾,分別命名為1,2,3,把下面三題分別儲存在對應得三個資料夾中)
1、設計程式,實現以下功能(10分)。
定義乙個個人資訊的結構體,包含:學號,姓名,出生日期(年,月,日),出生地等4個成員。在設計的程式中輸入你自己的個人資訊,再輸出。
2、設計程式,實現以下功能(15分)。
設計乙個程式,輸入兩個字串stra和strb,把strb中從第m個開始的字串連線到stra的後面。其中m是乙個變數,在程式執行時通過輸入獲得。
例如:stra=「abcdefg」 strb=」123456」 m=4 則結果為:stra=「abcdefg56」
3、設計程式,實現以下功能(20分)。
設計乙個程式,輸入十個整數,儲存在陣列中,然後對陣列進行排序,並把排序結果輸出。
要求:(1)輸入、輸出、排序三個功能分別用不同的函式實現,在主函式中呼叫這三個函式,實現所要求的功能。
(2)在實現輸入、輸出、排序,這三個函式中,要用指針對陣列進行引用、操作,不能使用下標的方式。
(3)排序演算法自由選擇:冒泡,選擇,簡單交換排序。
c語言考試試題
六一 判斷共10題 共計20分 第1題 2.0分 題號 1259 若定義int m 則m 1 的值為2.答案 y 第2題 2.0分 題號 1275 如果定義乙個函式時省略型別,則函式沒有返回值.答案 n 第3題 2.0分 題號 12 結構體型別只有一種。答案 n 第4題 2.0分 題號 1241 在...
C語言期末考試試題 A
忻州師範學院電腦科學與技術系 2005 2006學年第二學期 c語言 期末試題 a卷 考試班級 2005本16班考試時間 110分鐘 一 填空題 每空3分,共30分 1 若從鍵盤輸入58,則以下程式輸出的結果是 main 2 以下程式的輸出結果是 main 3 以下程式的輸出結果是 main 以下程...
c語言筆試試題
關係 delete 會呼叫物件的析構函式,和 new 對應 free 只會釋放記憶體,呼叫建構函式.new malloc 與 free 是 c c 語言的標準庫函式,new delete 是 c 的運算子.它們都可用於申請動態記憶體和釋放記憶體.對於非內部資料型別的物件而言,光用 malloc fr...