本書緊扣C語言基本理論知識,涵蓋了程序基本結構、數組、函數、指針及自定義數據類型等知識點,配套設計了實踐教程及習題指導,旨在強化對讀者動手能力與基礎知識的考核。
全書分為四部分: 第一部分為實驗指導,共19個實驗內容,每個內容均由若干個實驗題目、知識點小結和思考題組成,集成了C語言程序設計的常見題目,運行結果也都有直觀的截圖顯示。每個實驗題目均調試成功,并附有參考源程序。第二部分為習題指導,其中列出了7個章節的常見筆試題目,由選擇題、程序填空和讀程序題組成。第三部分為綜合模擬試題,共有3套筆試模擬試卷。第四部分為習題參考答案。
本書適合作為高等院校計算機及相關專業一年級本科生C語言實踐課程的教材及理論復習參考書,同時也可作為參加C語言程序設計各種考試、競賽等的模擬題集。
綜合模擬試題一
一、 選擇題(每題2分,共計50分)
1. 下列關于C++與C語言關系的描述中,()是錯誤的。
A. C語言是C++語言的一個子集
B. C++與C語言是相互兼容的
C. C++對C語言進行了一些擴充
D. C++和C語言都是面向對象的
2. C語言程序中的()步驟生成以.obj為擴展名的文件。
A. 編輯B. 編譯C. 連接D. 運行和調試
3. C語言的函數體必須放在一對()之中。
A. {}B. []C. ""D. ()
4. 在C語言中,080是()。
A. 八進制數B. 十進制數C. 十六進制數D. 非法數
5. 下列C語言的表達式中()可以正確地描述變量X是3的倍數。
A. X/3==0B. X%3==0C. X/3!=0D. X%3!=0
6. 下列哪個表達式可以正確地描述華氏轉攝氏,數學公式如: 5/9(f-32)()。
A. 5/9*(f-32)B. 5*(f-32)/9
C. 5.0*(f-32)/9D. 5.0/(9*(f-32))
7. 下列選項中屬于C語言語句的是()。
A. b=1; B. a=10C. x*y+5D. cout<<'\n'
8. 以下不正確的語句是()。
A. if(x>y)x=y;B. if(x==y)&&(x!=0)x+=y;
C. if(x!=y)cin>>x; elsecin>>y; D. if(x9. switch語句能夠很容易地改寫為()語句。
A. forB. ifC. doD. while
10. 關于函數的說法,下列()是正確的。
A. 所有被調用的函數一定要在調用之前進行定義
B. 可以在一個函數中定義另一個函數
C. main()函數必須放在其他函數之前
D. 構成C語言程序的基本單位是函數
11. C語言程序中,函數返回值的類型是由()。
A. return語句中的表達式類型所決定
B. 調用該函數時的主調函數類型所決定
C. 調用該函數時系統臨時決定
D. 在定義該函數時所指定的函數類型所決定
12. 下列關于函數頭的定義語句正確的是()。
A. int Fact(int x,y)B. void Fact (int x)
C. int Fact(a)D. void int(double b)
13. 下列關于一維數組的定義,不正確的是()。
A. int a[10];B. float b[3*5];C. char c[20];D. int a[n];
14. 下列關于二維數組的定義,正確的是()。
A. int a[5][];B. int a[][5];C. int a[n][n]D. int a[](10);
15. 下列關于字符數組的定義,不正確的是()。
A. char a[20]="happy";B. char a[]="x+y*2=3";
C. char a[10];D. char a[10]='5';
16. 關于字符串的輸入和輸出,下列說法不正確的是()。
A. 字符串的整體輸出到回車結束
B. 可以不同于普通的一維數組,整體以數組名輸入輸出
C. 如果字符串中包含空格,輸入函數需選擇gets
D. 可以和普通的一維數組一樣,循環逐個讀入
17. 有如下程序段,執行該程序段后,a的值為()。
int*p, a=10, b=1;
p=&a; a=*p+b;
A. 12B. 11C. 10D. 編譯出錯