第一篇:C語言程序設(shè)計(jì)試題集及其答案
第一章 基礎(chǔ)知識
一.填空 1.每個C程序都必須有且僅有一個________ 函數(shù)。
2.C語言程序開發(fā)到執(zhí)行通常要經(jīng)過6個階段即編輯、預(yù)處理、________、鏈接、加載 和執(zhí)行。
3.軟件是程序,以及______、使用和維護(hù)所需要的所有文檔。
4.國標(biāo)中規(guī)定:“計(jì)算機(jī)程序是按照具體要求產(chǎn)生的適合于計(jì)算機(jī)處理的_________”。
5.程序設(shè)計(jì)語言按照書寫形式,以及思維方式的不同一般分為低級語言和________兩大類。
6.C語言是由________組成的。
7.C語言的函數(shù)可分為主函數(shù)main、標(biāo)準(zhǔn)庫函數(shù)和_________。
8.一個函數(shù)是由兩部分組成的,即:________和 函數(shù)體。
9.編譯是將C語言所編寫的源程序________成機(jī)器代碼,也稱為建立目標(biāo)代碼程序的過程。
10.程序是由某種程序設(shè)計(jì)語言編制出來,體現(xiàn)了編程者的控制思想和對計(jì)算機(jī)執(zhí)行操作 的要求。不同的任務(wù)功能,就會需求不同的軟件程序,如:控制計(jì)算機(jī)本身軟硬件協(xié)調(diào)工作,并使其設(shè)備充分發(fā)揮效力,方便用戶使用的系統(tǒng)軟件程序,稱為操作系統(tǒng);而為辦公自動 化(OA)、管理信息系統(tǒng)(MIS)、人工智能、電子商務(wù)、網(wǎng)絡(luò)互聯(lián)等等應(yīng)用而開發(fā)的軟件程 序,統(tǒng)稱為_________。
11.機(jī)器語言是以__________形式表示的機(jī)器基本指令的集合,是計(jì)算機(jī)系統(tǒng)唯一不需要翻 譯可以直接識別和執(zhí)行的程序設(shè)計(jì)語言。
12.與機(jī)器語言相比,使用匯編語言來編寫程序可以用_______來表示指令的操作碼和操作對
象,也可以用標(biāo)號和符號來代替地址、常量和變量。13.在編譯程序之前,凡以____開頭的代碼行都先由預(yù)處理程序預(yù)處理。
14.C程序的執(zhí)行均是由執(zhí)行_________開始。
15.函數(shù)體即為包含在{ }內(nèi)的部分。它分為________和為完成功能任務(wù)由若干個C語句
組成的執(zhí)行部分。
16.C語言程序中一條簡單語句是以________字符作為結(jié)束符的。
17.18.C語言是結(jié)構(gòu)化、________的程序設(shè)計(jì)語言。
由于計(jì)算機(jī)硬件不能直接識別高級語言中的語句,因此,必須經(jīng)過“_______程序”,將用高級語言編寫的程序翻譯成計(jì)算機(jī)硬件所能識別的機(jī)器語言程序方可執(zhí)行。
19.用高級語言編寫的程序需翻譯成計(jì)算機(jī)硬件所能識別的機(jī)器語言程序方可執(zhí)行。所以
說,用高級語言進(jìn)行程序設(shè)計(jì),其編程效率高,方便易用,但_______沒有低級語言高。
20.第一個系統(tǒng)體現(xiàn)結(jié)構(gòu)化程序設(shè)計(jì)思想的教學(xué)工具語言是_______語言。
解答: 1.main()2.編譯
3.開發(fā)
4.指令序列
5.高級語言
6.函數(shù)
7.自定義函數(shù)
8.函數(shù)首部
9.翻譯
10.應(yīng)用軟件
11.二進(jìn)制代碼
12.助記符
13.#
14.main函數(shù)
15.聲明部分
16.;(或分號)
17.模塊化
18.翻譯
19.執(zhí)行速度
20.PASCAL
二.閱讀程序?qū)懡Y(jié)果 解答: 三.補(bǔ)充程序 解答: 四.改錯題 解答: 五.編程一 解答: 六.編程二 解答: 第二章 常量、變量和表達(dá)式
一.填空
1.以16位計(jì)算機(jī)為例,若定義long int a;則變量a占______個字節(jié)的內(nèi)存空間。
2.以16位計(jì)算機(jī)為例,若定義double a;則變量a占______
個字節(jié)的內(nèi)存空間。
3.以16位計(jì)算機(jī)為例,若定義long double;則變量a占 ______ 個字節(jié)的內(nèi)存空間。
4.在______
位機(jī),int型占4個字節(jié)。
5.C語言的數(shù)據(jù)類型有:基本數(shù)據(jù)類型、構(gòu)造數(shù)據(jù)類型、枚舉類型、______
、空類型。
6.在C語言中,基本數(shù)據(jù)類型有:______。
7.整型常量046轉(zhuǎn)換為十進(jìn)制數(shù)等于______。
8.整型常量054轉(zhuǎn)換為十進(jìn)制數(shù)等于______。
9.整型常量0x125轉(zhuǎn)換為十進(jìn)制數(shù)等于
______。
10.整型常量0x7C轉(zhuǎn)換為十進(jìn)制數(shù)等于
______。
11.整型常量39轉(zhuǎn)換為八進(jìn)制等于
______。
12.實(shí)數(shù)473.468寫成規(guī)范化指數(shù)形式,則應(yīng)為
______。
13.實(shí)數(shù)0.0453寫成規(guī)范化指數(shù)形式,則應(yīng)為
______。
14.將0x123轉(zhuǎn)換為二進(jìn)制等于
______。
15.字符’A’表示成十六進(jìn)制等于
______。
16.在C語言中,稱代表常量的標(biāo)識符為
______。
17.C語言中是用編譯預(yù)處理命令______
來定義符號常量
18.在C語言中,以反斜杠符()開頭,后跟字符的字符序列,稱之為 ______
,主
要用來表示控制及不可見的字符或者一些圖形符號
19.語句printf(“106”)執(zhí)行的結(jié)果輸出是
______。
20.語句printf(“b”)執(zhí)行的結(jié)果輸出是______。
21.語句printf(“b”)執(zhí)行的結(jié)果輸出是
______。
22.語句printf(“102”)執(zhí)行的結(jié)果輸出是 ______。
23.若有char ch1;ch1='a'+4;則語句printf(“%c”,x)的輸出結(jié)果為
______。
24.字符串常量“Hello, everyone!”占據(jù)的內(nèi)存空間為______
個字節(jié)
25.字符串常量“Hello,Bob!”占據(jù)的內(nèi)存空間為 ______
個字節(jié)
26.十進(jìn)制整型常量由0~9個數(shù)據(jù)組成,但不能以______
開始,沒有小數(shù)部分
27.十六進(jìn)制常量由0~9和______
組成
28.unsigned long類型常量通常以______
為后綴
29.實(shí)型常量通常有小數(shù)形式和______
兩種表達(dá)方式
30.C語言中是用編譯預(yù)處理命令______
來包含其他源文件
31.為了表示字符串的結(jié)束,系統(tǒng)自動在字符串的最后加一個______
,但不被輸出
32.C語言中,其值可被改變的量稱為變量,它具有三個基本要素:變量名、______
和變量值
33.C語言規(guī)定,變量的標(biāo)識符只能由字母、數(shù)字和下劃線組成,且不能以______
開 頭。34.在16位機(jī)中,sizeof(“hellon”)等于 ______。
35.在16位機(jī)中,printf(““hello””)等于
______。
36.字符變量在內(nèi)存中占用______
個字節(jié)的存儲空間。
37.若有定義int x=27, y=6;則表達(dá)式 x/y的值為
______。
38.若有定義int x=47, y=8;則表達(dá)式 x%y的值為
______。
39.若有定義char ch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf(“ch1=%c, ch2=% c”,ch1,ch2);則輸出為
______。
40.若有定義char ch1='A',ch2,ch3;執(zhí)行ch2=ch1++;ch3=++ch1;printf(“ch2=%c, ch3=% c”,ch2,ch3);則輸出為
______。
41.若有定義int i=5, j, k;執(zhí)行j=i--;k=--i;printf(“i=%d, j=%dn”, i, j);則輸 出為
______。
42.表達(dá)式(int)(13.7+25.6)/4%5 的值是
______。
43.表達(dá)式 3.6-5/2+1.2+5%3 的值是______。
44.表達(dá)式54%10/2+4.0*(8/5)的值是
______。
45.若定義int x;double b=5.45;執(zhí)行x=b后,則x的值為______。
46.若定義int y;char c='A';執(zhí)行y=c后,則y的值為
______。
47.若定義 int a=8;float b=2.5;則a/(int)(b)的值為
______。
48.若a=5,則執(zhí)行a*=7-3語句后,a的值是
______。
49.若int a=1,b=0,c=4,d=2;則表達(dá)式(a>b ? a:b)&&(c-d)的值為______。
50.已知a = 0,表達(dá)式 a = 1?b = 1:b = 0;執(zhí)行后,b的值是
______。
51.若定義int m=7,n=12;則表達(dá)式n%=m-m%5的值是
______。
52.若定義int a=8;float b=4.5;執(zhí)行a*=a/=a-b后,a的值為 ______。
53.int a=2;!a++的值為
______。
54.int a=0;!a++&++a的值為
______。
55.int a=7;float b=4.5;則printf(“%d”,a*=a/=a-b)的值為 ______。
56.int k=7;float a=2.5,b=4.7;則表達(dá)式a+k%3*(int)(a+b)%2/4的值為 ______。
57.#define Max(a,b)(((a)-(b))&0x80000000)?(a):(b),int a=2,b=6;printf(“%dn”,M ax(a,b))的值為
______。
58.在32位機(jī)中,int a=4,b=7;printf(“%0x”,a-b)的值為:______。
59.int x,y,z;x=y=2;z=3;y=x++-1;printf(“%d,%d”,x,y)的值為: ______。
60.int i=2,j;printf(“%d”,j=i<1)的值為:______
解答: 1.0 2.4 3.10 4.32
5.指針類型
6.int、float、double、char 7.38 8.44
9.293
10.124
11.047
12.4.734680e+002
13.4.530000e-002
14.100100011
15.x41/41H
16.符號常量
17.#define
18.轉(zhuǎn)義字符常量
19.F 20.b
21.b
22.B 23.e
24.16
25.11 26.0
27.A~F
28.U
29.指數(shù)形式
30.#include
31.“