第一篇:C語言程序設(shè)計(jì)教程第一章練習(xí)題題目
單選題
1、下列語言中不屬于計(jì)算機(jī)語言的三大類的是(C)。A.機(jī)器語言 B.匯編語言 C.腳本語言 D.高級(jí)語言
2、下列說法中不正確的是(C)
A.計(jì)算機(jī)語言大致可分為三大類,即機(jī)器語言、匯編語言和高級(jí)語言
B.C語言是一種通用的、過程式的編程語言,具有高效、靈活、可移植等優(yōu)點(diǎn) C.C語言屬于匯編語言
D.高級(jí)語言比匯編語言更貼近于人類使用的語言,易于理解、記憶和使用
3、以下開發(fā)工具中不屬于主流的開發(fā)工具的是(B)A.Visual Studio B.Xcode C.Code::Block D.Eclipse
4、下列選項(xiàng)是對(duì)主流開發(fā)工具的介紹,其中錯(cuò)誤的是(B)
A.Visual Studio支持C/C++、C#、F#、VB等多種程序語言的開發(fā)和測(cè)試 B.Code::Block是一個(gè)免費(fèi)的跨平臺(tái)IDE,支持C、C++和Fortan程序的開發(fā) C.Eclipse是一種被廣泛使用的免費(fèi)跨平臺(tái)IDE,最初由IBM公司開發(fā) D.Vim是一款功能非常強(qiáng)大的IDE(和其他IDE不同的是,Vim本身并不是一個(gè)用于開發(fā)計(jì)算機(jī)程序的IDE,而是一款功能非常強(qiáng)大的文本編輯器,它是UNIX系統(tǒng)上Vi編輯器的升級(jí)版。)
5、下列選項(xiàng)中,不屬于開發(fā)一個(gè)C語言應(yīng)用程序的具體實(shí)現(xiàn)步驟的是(A)A.啟動(dòng)開發(fā)工具 B.添加源文件 C.編寫代碼 D.運(yùn)行程序
6、下列選項(xiàng)中,關(guān)于main()函數(shù)敘述不正確的是(C)
A.一個(gè)完整的C語言程序中,有且只能有一個(gè)main()函數(shù)
B.main()函數(shù)是程序的主入口,程序總是從main()函數(shù)開始執(zhí)行 C.如果沒有聲明main()函數(shù),程序?qū)牡?行開始執(zhí)行 D.main()函數(shù)可以有返回值,也可以沒有返回值
7、下面程序中,合法的選項(xiàng)是(D)
A.#includeint main(){ printf(“hello worldn”);return 0;} B.#includeint man(){ printf(“hello worldn”);return 0;} C.#includeint main(){ printf(“hello worldn”)return 0;} D.#includeint main(){ print(“hello worldn”);return 0;}
8、下面程序中,運(yùn)行結(jié)果為“1,2”的是(A)
A.#includeint main(){ int a = 1;int b = 2;printf(“%d %dn”,a,b);return 0;} B.#includeint main(){ int a = 1;int b = 2;printf(“%d,”a);printf(“%dn”,b);return 0;} C.#includeint main(){ int a = 1, b = 2;printf(“%d,%dn”,a,b);return 0;} D.#includeint main(){ int a = 1,a= b = 2;printf(“%d,%dn”,a,b);return 0;}
9、下列關(guān)于注釋的描述中,錯(cuò)誤的是(B)
A.C語言中的注釋有兩種類型:?jiǎn)涡凶⑨尯投嘈凶⑨?B.所有的注釋都可以嵌套使用
C.單行注釋用“//”符號(hào)表示,“//”后面為被注釋的內(nèi)容 D.多行注釋以符號(hào)“/*”開頭,以符號(hào)“*/”結(jié)尾
解析:在C語言中,有的注釋可以嵌套使用,有的則不可以,例如:
多行注釋“/*?*/”中可以嵌套單行注釋“//”; 多行注釋“/*?*/”中不能嵌套多行注釋“/*?*/”。
10、下列關(guān)于注釋的描述中,正確的是(C)
A.注釋只在C語言源文件中有效,在編譯時(shí)會(huì)被編譯器忽略 B.注釋只能對(duì)程序中的某一行代碼進(jìn)行解釋 C.注釋不可以嵌套使用
D.單行注釋以符號(hào)“/*”開頭,以符號(hào)“*/”結(jié)尾
11、C語言可執(zhí)行程序的開始執(zhí)行點(diǎn)是
(D)A.程序中第一條可執(zhí)行語句 B.程序中第一個(gè)函數(shù) C.程序中的main函數(shù) D.包含文件的第一個(gè)函數(shù)
12、一個(gè)完整的C語言程序是
(B)A.要由一個(gè)主函數(shù)或一個(gè)以上的非主函數(shù)構(gòu)成
B.由一個(gè)且僅由一個(gè)主函數(shù)和零個(gè)以上(含零)的非主函數(shù)構(gòu)成 C.要由一個(gè)主函數(shù)和一個(gè)以上的非主函數(shù)構(gòu)成 D.由一個(gè)且只有一個(gè)主函數(shù)或多個(gè)非主函數(shù)構(gòu)成
13、以下說法正確的是(A)
A.c語言程序總是從第一個(gè)函數(shù)開始執(zhí)行
B.在c語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義 C.c語言程序總是從main()函數(shù)開始執(zhí)行
D.c語言程序中的main()函數(shù)必須放在程序的開始部分
14、在c語言程序中,注釋部分從哪開始,到哪結(jié)束?(D)A.從“(”開始到“)”結(jié)束 B.從REM開始無結(jié)束標(biāo)志 C.無起始標(biāo)志
D.從“/*”開始,“*/”結(jié)束
15、關(guān)于#include
D.stdio.h是標(biāo)準(zhǔn)輸入輸出頭文件
16、關(guān)于printf(“hello worldn”);,下列描述中錯(cuò)誤的是(C)A.printf()是格式化輸出函數(shù),用于輸出信息 B.printf()括號(hào)中的內(nèi)容為函數(shù)的參數(shù)
C.printf()括號(hào)中的內(nèi)容會(huì)全部輸出到控制臺(tái) D.n表示換行
17、關(guān)于注釋,下列描述中錯(cuò)誤的是(C)
A.注釋只是對(duì)代碼的解釋說明,只在源文件中有效 B.注釋可分為單選注釋與多行注釋 C.單選注釋的符號(hào)為// D.多行注釋間可以嵌套使用
18、下列是多行注釋的符號(hào)是(D)A.// B./ C./* D./**/ 判斷題
1、計(jì)算機(jī)不需要翻譯就能直接識(shí)別的語言被稱為匯編語言。(?)
2、C語言只適用于系統(tǒng)軟件的開發(fā)。(?)
3、根據(jù)功能和實(shí)現(xiàn)方式的不同,C語言屬于高級(jí)語言。(?)
4、Visual Studio僅支持C/C++語言的開發(fā)和測(cè)試。(?)
5、Visual Studio系列的IDE是跨平臺(tái)的。(?)
6、在C語言程序中,以分號(hào)“;”作為結(jié)束標(biāo)記的代碼都可稱為語句。(?)
7、注釋在編譯時(shí)也會(huì)被編譯到程序中。(?)
8、/printf(“hello worldn”);*/ 是合法的注釋。(?)
9、機(jī)器語言是由二進(jìn)制數(shù)0和1組成的一串指令。(?)
10、匯編語言的可移植性較好。(?)
11、計(jì)算機(jī)語言可分為四大類:機(jī)器語言、匯編語言、腳本語言和高級(jí)語言。(?)
12、C語言屬于機(jī)器語言。(?)
13、C語言的主流開發(fā)工具包括:Visual Studio、Code::Block、Eclipse、Vim。(?)
14、編寫C語言程序的流程是:新建項(xiàng)目、添加源文件、編寫代碼、運(yùn)行程序。(?)
15、C語言中的注釋有兩種類型:?jiǎn)涡凶⑨尯投嘈凶⑨尅#?)
16、Visual Studio只支持C/C++程序語言的開發(fā)和測(cè)試。(?)
17、在C語言程序中,一個(gè)語句的結(jié)束用”;“來標(biāo)記。(?)
18、注釋會(huì)影響程序的運(yùn)行。(?)
19、多行注釋之間不能嵌套調(diào)用。(?)
填空題
1、根據(jù)功能和實(shí)現(xiàn)方式編程語言可分為三大類,分別是:(),(),()。
2、計(jì)算機(jī)語言主要由一些指令組成,這些指令包括()、符號(hào)和語法等內(nèi)容。
3、計(jì)算機(jī)語言可分為三大類,即機(jī)器語言、匯編語言和()。
4、C語言中的注釋有兩種類型,分別單行注釋和()。
5、單行注釋用()符號(hào)表示。
6、注釋在編繹時(shí)會(huì)被編繹器忽略,它只在C語言()文件中有效。簡(jiǎn)答題
1、簡(jiǎn)單介紹C語言的特點(diǎn)。
2、為了使下面的程序能夠正常運(yùn)行,請(qǐng)?jiān)诳崭裉幪顚懴鄳?yīng)的代碼。
3、請(qǐng)編寫一個(gè)helloworld程序,要求如下:
4、請(qǐng)編寫一個(gè)程序,實(shí)現(xiàn)兩個(gè)變量a和b的求和操作,要求如下:
5、請(qǐng)閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)換行。
6、請(qǐng)閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請(qǐng)列出運(yùn)行的結(jié)果,否則請(qǐng)說明編譯失敗的原因。
7、請(qǐng)編寫一個(gè)程序,在控制臺(tái)輸出一句話:中國(guó)歡迎你!
8、請(qǐng)編寫一個(gè)程序,實(shí)現(xiàn)從鍵盤輸入兩個(gè)數(shù)據(jù),然后將兩個(gè)數(shù)據(jù)相加,結(jié)果輸出到控制臺(tái)上。
9、請(qǐng)簡(jiǎn)述C語言的特點(diǎn)。
10、請(qǐng)簡(jiǎn)述機(jī)器語言、匯編語言和高級(jí)語言。
第二篇:C語言程序設(shè)計(jì)教程第五章練習(xí)題題目
單選題
1、關(guān)于數(shù)組的定義與初始化,下列哪一項(xiàng)是錯(cuò)誤的()A.int arr[5] = {1,2,3,4,5};B.int arr[] = {1,2,3,4,5};C.int arr[5] = {1,2,3};D.int arr[5] = {1,2,3,4,5,6};
2、在定義數(shù)組intarr[10]后,下列選項(xiàng)中對(duì)arr的引用正確的是()A.arr[10] B.arr[6.3] C.arr(6)D.arr[0]
3、在C語言中,引用數(shù)組元素時(shí),其數(shù)組下標(biāo)的數(shù)據(jù)類型允許是()A.整型常量 B.整型表達(dá)式
C.整型常量或整型表達(dá)式 D.任何類型的表達(dá)式
4、若intarr[5] = {1,2,3};則arr[2]的值為()A.1 B.2 C.3 D.null
5、在執(zhí)行intarr[][3] = {1,2,3,4,5,6}:語句后,arr[1][0]的值為()A.4 B.1 C.2 D.5
6、關(guān)于二維數(shù)組,下列選項(xiàng)能正確定義并賦初值的是()A.int n = 5,b[n][n];B.int a[1][2] = {{1},{3}};C.int c[2][] = {{1,2},{3,4}};D.int a[3][2] = {{1,2},{3,4}};
7、閱讀下列程序段: char s[18] = “a book!”;printf(“%.4sn”, s);其輸出結(jié)果為()A.a book!B.a book C.abo D.a
8、閱讀下列程序:
int a[4][4] = { { 1, 3, 5, }, { 2, 4, 6 }, { 3, 5, 7 } };
printf(“%d%d%d%dn”, a[0][0], a[1][1], a[2][2], a[3][3]);正確的輸出結(jié)果為()A.0650 B.1470 C.5430 D.輸出值不定
9、閱讀下面程序: int i;
int x[4][4] = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16 };for(i = 0;i<4;i++)
printf(“%3d”, x[i][3-i]);下列選項(xiàng)中哪一項(xiàng)是正確的輸出結(jié)果()A.1 5 9 13 B.1 6 11 16 C.4 7 10 13 D.4 8 12 16
10、下列描述中不正確的是()。A.字符型數(shù)組中可以存放字符串
B.可以對(duì)字符型數(shù)組進(jìn)行整體輸入、輸出 C.可以對(duì)整型數(shù)組進(jìn)行整體輸入、輸出
D.不能在賦值語句中通過賦值運(yùn)算符“=”對(duì)字符型數(shù)組進(jìn)行整體賦值
11、以下定義語句中,錯(cuò)誤的是()。A.int a[]={1,2};B.char *a[3];C.chars[10]=“test”;D.int n=5,a[n];
12、下列選項(xiàng)中,合法的數(shù)組定義是()。A.int a[]=“string”;B.int a[5]={0,1,2,3,4,5};C.char s=“string”;D.chara[]={0,1,2,3,4,5};
13、int類型變量在內(nèi)存中占用四個(gè)字節(jié),其有定義:int x[10]={0,2,4};那么數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是()。A.3 B.10 C.12 D.40
14、C語言中數(shù)組下標(biāo)的下限是()。A.1 B.0 C.視具體情況 D.無固定下限
15、以下程序的輸出結(jié)果是()。void main(){
} int i, a[10];for(i=9;i>=0;i--)a[i]=10-i;printf(“%d%d%d”,a[2],a[5],a[8]);A.258 B.741 C.852 D.369
16、若有以下說明:
int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c='a',d,g;那么數(shù)值為4的表達(dá)式是()。A.a[g-c] B.a[4] C.a['d'-'c'] D.a['d'-c]
17、C語言中數(shù)組名作為參數(shù)傳遞給函數(shù),作為實(shí)在參數(shù)的數(shù)組名被處理為()。A.該數(shù)組的長(zhǎng)度 B.該數(shù)組的元素個(gè)數(shù) C.該數(shù)組中各元素的值 D.該數(shù)組的首地址
18、當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是()。A.數(shù)組的長(zhǎng)度 B.數(shù)組的首地址
C.數(shù)組每一個(gè)元素的地址 D.數(shù)組每個(gè)元素中的值
19、以下程序的輸出結(jié)果是()。void main(){ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};printf(“%d%d%d%dn”,a[0][3],a[1][2],a[2][1],a[3][0];} A.0650 B.1470 C.5430 D.輸出值不定
多選題
1、關(guān)于數(shù)組類型的定義,下列描述中正確的是()A.數(shù)組的大小一旦定義就是固定的 B.一個(gè)數(shù)組中的各元素類型可以不一樣 C.數(shù)組的下標(biāo)類型為整型 D.數(shù)組元素的下標(biāo)從1開始
2、下面對(duì)數(shù)組描述正確的是()A.數(shù)組的長(zhǎng)度是不可變的
B.數(shù)組不能先聲明長(zhǎng)度再不賦值 C.數(shù)組只能存儲(chǔ)相同數(shù)據(jù)類型的元素 D.數(shù)組沒有初始值
判斷題
1、在C語言中,只有一維數(shù)組和二維數(shù)組()。
2、數(shù)組的索引是從1開始的()。
3、數(shù)組屬于構(gòu)造類型的數(shù)據(jù)()。
4、數(shù)組名的命名較為特別,它不符合標(biāo)識(shí)符的命名規(guī)范()。
5、數(shù)組在初始化時(shí)不可以只賦值一部分,必須全部賦值初始化()。
6、對(duì)于一維數(shù)組,例如intarr[3];則arr[2]表示數(shù)組的第2個(gè)元素()。
7、數(shù)組的下標(biāo)范圍是0-[數(shù)組長(zhǎng)度-1]()。
8、二維數(shù)組進(jìn)行定義與初始化時(shí),行下標(biāo)與列下標(biāo)均不能省略()。
9、在程序設(shè)計(jì)中,一組具有相同數(shù)據(jù)類型的變量集合稱為數(shù)組()。
10、數(shù)組元素的下標(biāo)用于表示元素在數(shù)組中的位置序號(hào),該下標(biāo)是從1開始的()。
11、數(shù)組元素下標(biāo)的個(gè)數(shù)也稱為維數(shù),根據(jù)維數(shù)的不同,可將數(shù)組分為一維數(shù)組、二維數(shù)組、三維數(shù)組、四維數(shù)組等()。
12、一維數(shù)組指的是只有一個(gè)下標(biāo)的數(shù)組,用來表示一組具有相同類型的數(shù)據(jù)()。
13、數(shù)組初始化的常見方式有三種:直接對(duì)數(shù)組中的所有元素賦值、只對(duì)數(shù)組中的一部分元素賦值、對(duì)數(shù)組全部元素賦值但不指定長(zhǎng)度()。
14、數(shù)組中的元素可以通過數(shù)組名和下標(biāo)來引用()。
15、數(shù)組的下標(biāo)都有一個(gè)范圍,即“0 ~ 數(shù)組長(zhǎng)度”()。
16、初始化二維數(shù)組時(shí),如果對(duì)全部數(shù)組元素置初值,則二維數(shù)組的第一個(gè)下標(biāo)可省略,但第二個(gè)下標(biāo)不能省略()。
填空題
1、C語言中數(shù)組名代表數(shù)組的()地址。
2、數(shù)組是一組具有()類型的數(shù)據(jù)的集合。
3、對(duì)于二維數(shù)組intarr[3][4],其中3為()下標(biāo),4為()下標(biāo)。
4、若定義二維數(shù)組intarr[5][6];則數(shù)組的列下標(biāo)的取值范圍為()。
5、二維數(shù)組是通過數(shù)組名和()來引用其元素的。
6、C語言中數(shù)組必須先()再使用。
7、二維數(shù)組的定義格式為()。
8、一維數(shù)組指的是只有一個(gè)()的數(shù)組,用來表示一組具有相同類型的數(shù)據(jù)。
9、數(shù)組的下標(biāo)是用()括起來的,而不是圓括號(hào)。
10、假設(shè)定義一個(gè)3行4列的二維數(shù)組,那么共包含()個(gè)元素。
11、二維數(shù)組同一維數(shù)組一樣,也是通過()和下標(biāo)的方式來引用數(shù)組元素。
12、假設(shè)定義數(shù)組int a[3][4],數(shù)組a可用的行下標(biāo)范圍是(),列下標(biāo)范圍是()。簡(jiǎn)答題
1、請(qǐng)閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請(qǐng)寫出運(yùn)行結(jié)果。void main(){ int i;chararr[5] = { 'h', 'e', 'l', 'l', 'o' };for(i = 0;i < 5;i++)
printf(“%c”, arr[i]);}
2、請(qǐng)閱讀下面的程序,在空白處填寫正確的代碼,只打印出數(shù)組偶數(shù)位上的元素。int main(){ int i;intarr[8] = { 1, 0, 1, 0, 1, 0, 1, 0 };for(i = 0;i < 8;i++){
;
printf(“%dn”, arr[i]);} return 0;}
3、請(qǐng)閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請(qǐng)寫出運(yùn)行結(jié)果。void main(){ floatarr[6] = { 1.1, 2.2, 3.3, 4.4, 5.5, 6.6 };inti,t;t = arr[0];for(i = 0;i < 5;i++)
arr[i] = arr[i + 1];
arr[5] = t;for(i = 0;i < 6;i++)
printf(“%-6.2f”, arr[i]);}
4、請(qǐng)閱讀下面的程序,在空白處填寫正確的代碼,輸出數(shù)組中最大元素的下標(biāo)。int main(){ int i, p;intarr[] = { 1,-3, 0,-9, 8, 5, 20, 3 };for(i = 0, p = 0;i < 8;i++){
if()
;} printf(“p = %dn”, p);return 0;}
5、請(qǐng)閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:刪除字符串s中的所有數(shù)字字符。void dele(char *s){ int n=0,i;for(i=0;s[i];i++)
if(_______)
s[n++]=s[i];s[n]=_______ }
6、請(qǐng)閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:在一個(gè)初始化數(shù)組中查找與x相同的元素,如果找到就將該元素置為-x。void main(){ int a[]={8,4,2,7,3,9},i,x;scanf(“%d”,&x);for(i=0;_______;i++)
if(a[i]==x)
_______ for(i=0;i<6;i++)
printf(“%d ”,a[i]);}
7、請(qǐng)閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:計(jì)算str所指字符串的長(zhǎng)度,并作為函數(shù)值返回。intmystrlen(char *str){ int i;for(i=0;_______!='