版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第二部分
第一章
習(xí)題篇
C語(yǔ)言概述
一.單項(xiàng)選擇題
1.A)可以用來(lái)編寫(xiě)系統(tǒng)軟件,也可以用來(lái)編寫(xiě)應(yīng)用軟件
2.A)編輯、編譯、連接、運(yùn)行
3.A)源程序
4.B).obj
5.C).exe
6.D)C語(yǔ)言程序總是從main()函數(shù)開(kāi)始執(zhí)行
7.C)可以在任意位置
8.A)一個(gè)主函數(shù)和若干個(gè)其他函數(shù)組成
9.D)函數(shù)首部和函數(shù)體
10.C)include命令行后面需要加分號(hào)
11.C)C語(yǔ)言自身沒(méi)有輸入輸出語(yǔ)句
12.D)&
13.B)順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)
14.D)有零個(gè)或多個(gè)輸出。
15.A)建立數(shù)學(xué)模型
二.填空題
1.高級(jí)語(yǔ)言
6.換行
2.main()
7.*/
3.main()
8.函數(shù)
4.{}
9.編譯
5.分號(hào)
10..exe
三.判斷題
1.軟件是程序、數(shù)據(jù)以及相關(guān)文檔的完整集合。
(對(duì))
2.程序設(shè)計(jì)是指使用某種計(jì)算機(jī)語(yǔ)言并采用合適的方法編寫(xiě)程序,以便指揮計(jì)算機(jī)
解決具體的問(wèn)題。
(對(duì))
3.機(jī)器語(yǔ)言中的每一條指令都是用二進(jìn)制形式表示的,機(jī)器語(yǔ)言編寫(xiě)的程序中的指
令不可以由硬件直接執(zhí)行。
(錯(cuò))
4.一個(gè)C語(yǔ)言程序可以由一個(gè)主函數(shù)和若干個(gè)其他函數(shù)構(gòu)成。
(對(duì))
5.從另一個(gè)角度說(shuō),一個(gè)C程序是由一個(gè)或多個(gè)C文件組成,而一個(gè)C文件是由一
個(gè)或多個(gè)函數(shù)組成。
言的功能多。
7.同其他高級(jí)語(yǔ)言一樣,C語(yǔ)言也具有結(jié)構(gòu)化的控制語(yǔ)句。
(對(duì))
(錯(cuò))
(對(duì))
6.C語(yǔ)言之所以也被稱(chēng)為中級(jí)語(yǔ)言,是因?yàn)樗雀呒?jí)語(yǔ)言的功能要少,而比低級(jí)語(yǔ)
8.C程序中的main()函數(shù)必須放在整個(gè)程序的最前頭。
9.C語(yǔ)言允許直接訪(fǎng)問(wèn)物理地址,能進(jìn)行位操作。
模塊化設(shè)計(jì)和結(jié)構(gòu)化編碼等3個(gè)步驟。
(錯(cuò))
(對(duì))
(對(duì))
10.結(jié)構(gòu)化程序設(shè)計(jì)的方法一般包括按自頂向下并逐步細(xì)化的方法對(duì)問(wèn)題進(jìn)行分析、
四.編程題
1.編寫(xiě)程序,在屏幕上顯示以下信息:
***********
HelloWorld!
***********
2.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)整數(shù),然后輸出其中較小的數(shù)。
3.編寫(xiě)程序,從鍵盤(pán)輸入三個(gè)整數(shù),然后輸出其中最小的數(shù)。
第二章
數(shù)據(jù)類(lèi)型與表達(dá)式
一.單項(xiàng)選擇題
1.A)整型、實(shí)型、字符型
2.C)8
3.D)以上三種進(jìn)制均可使用
4.A)8
5.C)必須為字母或下劃線(xiàn)
6.D)_x
7.C)068
8.C)sqrt(x)/(3*y)
9.A)%
10.A)x=y,y=y+1
11.B)2
12.C)先考慮優(yōu)先級(jí),然后考慮結(jié)合性
13.C)從鍵盤(pán)輸入數(shù)據(jù)時(shí),對(duì)于整型變量只能輸入整型數(shù)據(jù),對(duì)于實(shí)型變量只能輸
入實(shí)型數(shù)據(jù)
14.D)60
15.B)3.0
16.B)i的值是字符A的ASCII值加上3,即68
17.C)a=69,b=68
二.填空題
1.double
2.不同
3.27
4.35
5.5
6.double
7.43
8.53
9.12,10,18
10.12.20
11.1,3,3,1
12.4,8
三.判斷題
1.基本數(shù)據(jù)類(lèi)型最主要的特點(diǎn)是不可以再分解為其它數(shù)據(jù)類(lèi)型。
2.在C語(yǔ)言中,整數(shù)的書(shū)寫(xiě)形式有十進(jìn)制、八進(jìn)制和十六進(jìn)制形式。
3.在C語(yǔ)言中,字符型常量可以用單引號(hào)或雙引號(hào)括起來(lái)。
4.在C語(yǔ)言中,字符型常量只能包含一個(gè)字符。
5.在C語(yǔ)言中,字符串常量隱含處理以'\0'結(jié)尾。
6.在C語(yǔ)言中,用戶(hù)所定義的標(biāo)識(shí)符中的大、小寫(xiě)字母代表相同標(biāo)識(shí)。
7.在C語(yǔ)言中,用戶(hù)所定義的標(biāo)識(shí)符不允許使用關(guān)鍵字。
8.在C語(yǔ)言中,符號(hào)常量的值在程序運(yùn)行過(guò)程中可以改變。
(對(duì))
(對(duì))
(錯(cuò))
(對(duì))
(對(duì))
(錯(cuò))
(對(duì))
(錯(cuò))
9.在C語(yǔ)言中,要求對(duì)程序中所用到的變量進(jìn)行強(qiáng)制定義。
(對(duì))
10.設(shè)C語(yǔ)言的float型是7位有效數(shù)字,則超過(guò)7位數(shù)的運(yùn)算是不準(zhǔn)確的。
(對(duì))
四.編程題
1.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)整數(shù),輸出它們的和、差、積、商、余數(shù)以及平均值。
2.編寫(xiě)程序,從鍵盤(pán)輸入三個(gè)雙精度數(shù)a、b、c,計(jì)算總和、平均值、x=a2+b2+c2的
值,并計(jì)算x平方根的值。所有運(yùn)行數(shù)據(jù)保留三位小數(shù),第四位四舍五入。
3.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)長(zhǎng)整型數(shù),輸出它們(整數(shù)除的)商和余數(shù)。
4.編寫(xiě)程序,從鍵盤(pán)輸入兩個(gè)整數(shù),輸出它們(實(shí)數(shù)除)的商,并輸出商的第二位
小數(shù)位(例如:15/8.0=1.875,1.875的第二位小數(shù)位是7)
。
5.編寫(xiě)程序,要求用賦初值的方法使c1、c2等兩個(gè)變量的值分別為97和98,然后
分別按整型和字符型輸出。
6.編寫(xiě)程序,輸入秒數(shù)轉(zhuǎn)換用小時(shí)、分鐘、秒表示。如輸入7278秒,則輸出2小時(shí)
1分18秒。
7.編寫(xiě)程序,輸入兩個(gè)復(fù)數(shù)的實(shí)部和虛部,輸出這兩個(gè)復(fù)數(shù)積的實(shí)部和虛部。兩復(fù)
數(shù)的積按下面的公式計(jì)算:(a+bi)(c+di)=(ac-bd)+(ad+bc)i。
第三章
順序結(jié)構(gòu)程序設(shè)計(jì)
一.單項(xiàng)選擇題
1.D)15.0,25.0,35.0
2.C)x=1.23,y=1.26
3.B)scanf("%d%d%d",&a,&b,&c);
4.A)scanf("%f",&a);
5.D)程序輸出小寫(xiě)字母d
6.B)3
二.填空題
1.5.5
2.c+25
3.1,2,A,a
4.2D
三.判斷題
1.順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)可以組成所有的各種復(fù)雜程序。
2.復(fù)合語(yǔ)句就是多條語(yǔ)句,不必須用花括號(hào)括起來(lái)。
3.在變量說(shuō)明中,允許連續(xù)給多個(gè)變量賦初值。
4.scanf函數(shù)和printf函數(shù)的原型在頭文件"stdio.h"中。
5.printf函數(shù)格式字符串中%4d表示輸出一定是四位十進(jìn)制整數(shù)。
6.putchar函數(shù)的功能是在顯示器上輸出一個(gè)字符。
(對(duì))
(錯(cuò))
(錯(cuò))
(對(duì))
(錯(cuò))
(對(duì))
7.在scanf函數(shù)的格式串中,如果是"%d%d%d",在輸入三個(gè)十進(jìn)制整數(shù)時(shí)要用一
個(gè)以上的空格鍵、回車(chē)鍵和Tab鍵作為每?jī)蓚€(gè)輸入數(shù)之間的間隔。
(對(duì))
8.在scanf函數(shù)的格式串中,如果是"%c%c%c",在輸入三個(gè)字符時(shí)要用一個(gè)以上的
空格鍵、回車(chē)鍵、Tab鍵和逗號(hào)作為每?jī)蓚€(gè)輸入字符之間的間隔。
9.scanf("%5.2f",&a);是合法的,目的是輸入小數(shù)為2位的實(shí)數(shù)。
10.getchar函數(shù)的功能是從終端輸入一個(gè)字符。
(錯(cuò))
(對(duì))
(對(duì))
四.編程題
1.編寫(xiě)程序,已知一個(gè)學(xué)生的高等數(shù)學(xué)、計(jì)算機(jī)和外語(yǔ)課程的成績(jī)分別為70分、80
分、90分,要求輸出該學(xué)生3門(mén)課程的平均分。
2.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)華氏溫度,要求輸出對(duì)應(yīng)的攝氏溫度。輸出時(shí)要有文
字說(shuō)明,取小數(shù)點(diǎn)后2位。計(jì)算公式如下:
C=5/9(F-32)
其中C表示攝氏溫度,F(xiàn)表示華氏溫度。
3.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)圓的半徑,要求輸出圓的面積。輸出時(shí)要有文字說(shuō)明,
取小數(shù)點(diǎn)后2位。
第四章
選擇結(jié)構(gòu)程序設(shè)計(jì)
一.單項(xiàng)選擇題
1.C)算術(shù)運(yùn)算、關(guān)系運(yùn)算、邏輯運(yùn)算
2.A)%
3.B)x==0
4.B)!、&&、||
5.D)(x<=y)&&(y<=z)
6.D)(x<=-10)||(x>=7)
7.A)6<x<10
8.D)(x>='A')&&(x<='Z')
9.A)0,0
10.C)1,0
11.C)2
12.B)1,0,0,1
13.C)1
14.A)0,0
15.B)2323
16.B)10,20,#
17.B)x=3,y=5
二.填空題
1.x=-x
2.7
3.$$$
4.default
5.2,3,3
三.判斷題
1.關(guān)系運(yùn)算符的優(yōu)先級(jí)低于算術(shù)運(yùn)算符,高于賦值運(yùn)算符。
2.關(guān)系表達(dá)式的值是"真"和"假",用"T"和"F"表示。
3.關(guān)系表達(dá)式3>2>1的值為真。
4.邏輯非運(yùn)算符!為單目運(yùn)算符,具有右結(jié)合性。
5.邏輯運(yùn)算符和其它運(yùn)算符優(yōu)先級(jí)的關(guān)系從高到低為:
!(非)算術(shù)運(yùn)算符關(guān)系運(yùn)算符&&和||賦值運(yùn)算符
6.if(表達(dá)式)語(yǔ)句1;
else
語(yǔ)句2;
(對(duì))
其語(yǔ)義是:如果表達(dá)式的值為真,則執(zhí)行語(yǔ)句1,否則執(zhí)行語(yǔ)句2。
(對(duì))
(對(duì))
(錯(cuò))
(錯(cuò))
(對(duì))
7.在if關(guān)鍵字之后均為表達(dá)式。該表達(dá)式可以是任意表達(dá)式,但不能是變量。
(錯(cuò))
8.當(dāng)程序中有多對(duì)if和else時(shí),它們是按照順序配對(duì)的。如第一個(gè)if與第一個(gè)else
配對(duì),第二個(gè)if與第二個(gè)else配對(duì),以此類(lèi)推。
(錯(cuò))
9.條件運(yùn)算符的結(jié)合方向是自左至右。
10.在switch多分支語(yǔ)句中,break語(yǔ)句用于跳出switch語(yǔ)句。
(錯(cuò))
(對(duì))
四.改錯(cuò)題
1、下面程序的功能是判斷輸入的一個(gè)整數(shù)是否能被5和7同時(shí)整除,若能整除,輸
出"YES"
,否則,輸出"NO"
。
錯(cuò)誤語(yǔ)句:if(x%5==0||x%7==0)
正確語(yǔ)句:if(x%5==0&&x%7==0)
2.下面程序的功能是輸出一個(gè)4位整數(shù)的后兩位數(shù)值,例如輸入5678,輸出78。
錯(cuò)誤語(yǔ)句:scanf("%d",x);
正確語(yǔ)句:scanf("%d",&x);
3.下面程序的功能是從鍵盤(pán)輸入三個(gè)整數(shù),輸出其中最小的數(shù)。
錯(cuò)誤語(yǔ)句:min=(temp>c)?temp:c;
正確語(yǔ)句:min=(temp<c)?temp:c;
4.下面程序的功能是判斷某一年是否為閏年。
錯(cuò)誤語(yǔ)句:if(year%400!=0)
正確語(yǔ)句:if(year%400==0)
五.編程題
1.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)整數(shù),判斷是奇數(shù)還是偶數(shù)。
2.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)三角形三條邊的邊長(zhǎng),然后輸出三角形面積,要求取2
位小數(shù)。當(dāng)三角形不成立時(shí)輸出"不能構(gòu)成一個(gè)三角形"。
3.編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)字符,判斷是否為大寫(xiě)字母,如果是大寫(xiě)字母,則轉(zhuǎn)
換為小寫(xiě)字母,否則不轉(zhuǎn)換。
第五章
循環(huán)結(jié)構(gòu)程序設(shè)計(jì)
一.單項(xiàng)選擇題
1.C)21
2.D)for(表達(dá)式1;1;表達(dá)式3)
3.D)在do-while循環(huán)中,當(dāng)while后的表達(dá)式為0時(shí)結(jié)束循環(huán)
4.C)do-while的循環(huán)體至少無(wú)條件執(zhí)行一次
5.A)60
6.C)1
7.B)1
8.A)-1
9.C)5050
二.填空題
1.i++
2.0
3.1.0/i
4.num++
5.||
6.e
7.A
8.23
9.month
10.sum=0
三.判斷題
1、"當(dāng)型"循環(huán)是先判斷表達(dá)式后執(zhí)行循環(huán)體,"直到型"循環(huán)是先執(zhí)行循環(huán)體后
判斷表達(dá)式。
(對(duì))
2、如果循環(huán)體內(nèi)包含一個(gè)以上的語(yǔ)句,應(yīng)該用花括弧括起來(lái),組成復(fù)合語(yǔ)句。(對(duì))
3、do-while語(yǔ)句和while語(yǔ)句可以互相轉(zhuǎn)換,運(yùn)行結(jié)果相同。
(錯(cuò))
4、for(循環(huán)變量賦初值;循環(huán)條件;循環(huán)變量增值)中的循環(huán)條件不允許省略。
(錯(cuò))
5、for(f=1,i=1;i<=10;f=f*i,i++);是非法語(yǔ)句。
(錯(cuò))
6、三種循環(huán)while循環(huán)、do-while循環(huán)和for循環(huán)可以互相嵌套。
(對(duì))
7、在循環(huán)結(jié)構(gòu)中,break語(yǔ)句可以使流程跳出循環(huán)體,即提前結(jié)束循環(huán)。
(對(duì))
8、在循環(huán)結(jié)構(gòu)中,continue語(yǔ)句是結(jié)束本次循環(huán),即跳過(guò)循環(huán)體中下面未執(zhí)行的語(yǔ)句,
接著進(jìn)行循環(huán)條件的判定。
(對(duì))
9、continue語(yǔ)句和break語(yǔ)句的區(qū)別是break語(yǔ)句只結(jié)束本次循環(huán),繼續(xù)進(jìn)行下一
次循環(huán),而continue語(yǔ)句則是結(jié)束整個(gè)循環(huán),不再判斷循環(huán)條件是否成立。
(錯(cuò))
10、goto語(yǔ)句能構(gòu)成循環(huán),可以隨意使用。
(錯(cuò))
四.改錯(cuò)題
1.下面程序的功能是求10!。
錯(cuò)誤語(yǔ)句:for(i=10;i>=0;i++)
正確語(yǔ)句:for(i=10;i>0;i--)
2.下面程序的功能是輸出1~100之間所有能被3整除的數(shù)。
錯(cuò)誤語(yǔ)句:if(i%3)beeak;
正確語(yǔ)句:if(i%3)continue;
3.下面程序的功能是求1!+2!++n!。
錯(cuò)誤語(yǔ)句:while(i>=n);
正確語(yǔ)句:while(i<=n);
4.下面程序的功能是利用公式/41-1/3+1/5-1/7+?求的近似值,直到某一項(xiàng)
的絕對(duì)值小于10-7為止。
錯(cuò)誤語(yǔ)句:while(fabs(temp)>10-7)
正確語(yǔ)句:while(fabs(temp)>1e-7)
五.編程題
1.編寫(xiě)程序,求1+2+3+?+10,要求使用4種方法。
2.編寫(xiě)程序,求12+22+32+?+102。
3.編寫(xiě)程序,求1/12+1/22+1/32+?+1/102。
4.編寫(xiě)程序,求1*2*3*?*10。
5.編寫(xiě)程序,求1!+2!+3!+?+10!
。
6.編寫(xiě)程序,輸入兩個(gè)正整數(shù),輸出它們的最大公約數(shù)和最小公倍數(shù)。
第六章
數(shù)組
一.單項(xiàng)選擇題
1.D)數(shù)組的首地址
2.)
D在程序運(yùn)行時(shí),如果數(shù)組元素的下標(biāo)超出了所定義的下標(biāo)范圍時(shí),系統(tǒng)將給出
"下
標(biāo)越界"的出錯(cuò)信息
3.C)x[2][1]
4.B)scanf("%d%s",&x,y);
5.D)#defineN50;
6.A)inta[2][]={{1,2},{3,4}};
7.A)a[0][0]=0,a[0][1]=1,a[1][0]=2,a[1][1]=3
8.D)chara[]={1,2,3,4,5,6};
9.C)數(shù)組a的長(zhǎng)度大于數(shù)組b的長(zhǎng)度
10.D)把字符串str2復(fù)制到字符串str1中再把字符串str3連接到字符串str1之
后
11.D)對(duì)于字符型數(shù)組,可以在賦值語(yǔ)句中通過(guò)運(yùn)算符"="進(jìn)行整體賦值
二.填空題
1.同一個(gè)
2.方括號(hào)
3.連續(xù)
4.019
5.行
6.一
7.\0
8.字符數(shù)組名
9.10,6
10.2
11.fibonacci[i-1]+fibonacci[i-2];
12.y[j][i]=x[i][j]
13.98
14.-21
15.i<j
16.i—
17.str[i]=str[i+1]
18.string2[i]=string1[i];
19.j++;
三.判斷題
1.在C語(yǔ)言中,數(shù)組屬于構(gòu)造類(lèi)型的數(shù)據(jù)。
2.一個(gè)數(shù)組的各個(gè)元素的數(shù)據(jù)類(lèi)型可以不完全相同。
(對(duì))
(錯(cuò))
3.?dāng)?shù)組在內(nèi)存中占有連續(xù)的存儲(chǔ)單元,數(shù)組名表示數(shù)組在內(nèi)存中的首地址。(對(duì))
4.使用語(yǔ)句inta[5];定義了一個(gè)一維數(shù)組a,其中有5個(gè)元素,為
a[1],a[2],a[3],a[4],a[5]。
(錯(cuò))
5.?dāng)?shù)組名后是用方括號(hào)或圓括號(hào)括起來(lái)的常量表達(dá)式。
(錯(cuò))
6.C語(yǔ)言編譯程序不對(duì)數(shù)組作邊界檢查,如果程序中出現(xiàn)了下標(biāo)越界,可能會(huì)造成
程序運(yùn)行結(jié)果的錯(cuò)誤。因此要注意下標(biāo)不能過(guò)界。
(對(duì))
7.C語(yǔ)言允許對(duì)數(shù)組的長(zhǎng)度作動(dòng)態(tài)定義,即數(shù)組長(zhǎng)度可以是變量。
(錯(cuò))
8.在C語(yǔ)言中,使用數(shù)值型數(shù)組時(shí),只能逐個(gè)引用數(shù)組元素而不能一次引用整個(gè)數(shù)
組。
(對(duì))
9.為數(shù)組元素賦值時(shí),若所有元素值全部相同,則可以給數(shù)組整體賦初值。
(錯(cuò))
10.對(duì)數(shù)組的全部元素賦初值時(shí),也可以不指定數(shù)組長(zhǎng)度。
(對(duì))
11.C語(yǔ)言中二維數(shù)組的元素在內(nèi)存中排列的順序是按行存放。
(對(duì))
12.如果對(duì)二維數(shù)組中全部元素賦初值,則數(shù)組的第一維和第二維長(zhǎng)度均可以省略。
(錯(cuò))
13.在C語(yǔ)言中,字符串是借助于字符數(shù)組來(lái)存放的。
14.在字符串常量的末尾,系統(tǒng)會(huì)自動(dòng)加一個(gè)'\0'作為結(jié)束符。
(對(duì))
(對(duì))
15.用字符串常量對(duì)字符數(shù)組初始化時(shí),數(shù)組的長(zhǎng)度至要與字符串長(zhǎng)度相同。
(對(duì))
16.在printf函數(shù)中用"%s"格式符輸入字符串時(shí),空格和回車(chē)可以被讀入。
(錯(cuò))
17.在printf函數(shù)中使用格式說(shuō)明"%s"可以實(shí)現(xiàn)字符串的整體輸出。
(對(duì))
18.gets函數(shù)的功能是從終端讀入字符串到字符數(shù)組,直到遇到一個(gè)空格符。
(錯(cuò))
19.使用strcat函數(shù)時(shí),字符數(shù)組1的長(zhǎng)度要足夠大,以保證全部裝入被連接的字符。
(對(duì))
20.strcpy函數(shù)中的"字符數(shù)組1"和"字符串2",可以是字符串常量也可以是已
賦值的字符數(shù)組名。
(錯(cuò))
四.改錯(cuò)題
1.下面程序的功能是為數(shù)組輸入數(shù)據(jù)并輸出結(jié)果。
錯(cuò)誤語(yǔ)句:scanf("%d",&a);
正確語(yǔ)句:scanf("%d",&a[i]);
2.下面程序的功能是求矩陣a的主對(duì)角線(xiàn)元素之和。
錯(cuò)誤語(yǔ)句:if(i<=j)sum=sum+a[i][j];
正確語(yǔ)句:if(i==j)sum=sum+a[i][j];
3.下面程序的功能是輸出字符串StringStringStringStringStringString。
錯(cuò)誤語(yǔ)句:printf("%c",c[i]);
正確語(yǔ)句:printf("%s",c);
4.下面程序的功能是輸入3個(gè)字符串,然后找出其中最小者。
錯(cuò)誤語(yǔ)句:if(str[2]<string))
正確語(yǔ)句:if(strcmp(str[2],string)<0)
五.編程題
1.編寫(xiě)程序,用選擇法對(duì)15個(gè)整數(shù)排序。
清習(xí)P50
清教P139
2.編寫(xiě)程序,有一個(gè)3×5的矩陣,要求出其中最大的元素的值,以及其所在的位置。
3.編寫(xiě)程序,有一個(gè)3×3矩陣,分別求兩條對(duì)角線(xiàn)元素之和。
秦習(xí)P68
4.編寫(xiě)程序,求數(shù)列1,5,14,30?,的前15項(xiàng),即f[1]=1;?;f[i]=f[i-1]+i*i。
5.編寫(xiě)程序,將兩個(gè)字符串string1與string2進(jìn)行比較。要求不能使用strcmp函
數(shù)且要達(dá)到相同的功能。
清習(xí)P68
6.編寫(xiě)程序,一篇英文文章有5行文字,每行含有80個(gè)字符。要求統(tǒng)計(jì)英文字母、
數(shù)字、空格以及其他字符的個(gè)數(shù)。
第七章,函數(shù)
清習(xí)P64
一.單項(xiàng)選擇題
1.C)函數(shù)
2.D)文件
3.B)int
4.D)實(shí)參和形參分別占用一個(gè)獨(dú)立的存儲(chǔ)單元
5.C)單向值傳遞
6.D)數(shù)組的首地址
7.A)定義該函數(shù)時(shí)所指定的函數(shù)類(lèi)型決定
8.D)函數(shù)調(diào)用可以作為一個(gè)函數(shù)的形參
9.B)2
10.C)函數(shù)不可以嵌套定義,但可以嵌套調(diào)用
11.C)稱(chēng)為函數(shù)的間接遞歸調(diào)用
12.A)允許直接遞歸調(diào)用,允許間接遞歸調(diào)用
13.D)在一個(gè)函數(shù)內(nèi)的復(fù)合語(yǔ)句中定義的變量只在本函數(shù)范圍內(nèi)有效
14.A)從定義該變量的位置開(kāi)始至本文件結(jié)束
15.D)auto和register
16.D)extern
17.D)函數(shù)的類(lèi)型可以是整型、實(shí)型、字符型,但不可以是指針型
18.C)16
19.A)5
20.B)3
21.D)10
22.D)15.000000
二.填空題
1.用戶(hù)自定義函數(shù)
2.嵌套
3.類(lèi)型
4.嵌套調(diào)用
5.遞歸調(diào)用
6.局部變量
7.源程序文件
8.static
9.extern
10.max(a,b)
11.intmin(intx,inty)
12.93
三.判斷題
1.C語(yǔ)言中,函數(shù)既可以嵌套定義,也可以嵌套調(diào)用。
(錯(cuò))
2.如果在定義函數(shù)時(shí)不指定函數(shù)類(lèi)型,系統(tǒng)會(huì)隱含指定函數(shù)類(lèi)型為int型。(對(duì))
3.簡(jiǎn)單變量做實(shí)參時(shí),實(shí)參對(duì)形參的數(shù)據(jù)傳送是單向的"值傳遞"
。
4.實(shí)參和形參不能同名,以免相互影響。
5.
當(dāng)一個(gè)函數(shù)中有多個(gè)return語(yǔ)句時(shí),
第一個(gè)return語(yǔ)句起作用。
(對(duì))
(錯(cuò))
(錯(cuò))
6。如果函數(shù)值的類(lèi)型和return語(yǔ)句中表達(dá)式的值不一致,則以函數(shù)類(lèi)型為準(zhǔn)。
(對(duì))
7.只要被調(diào)用函數(shù)的定義出現(xiàn)在主調(diào)函數(shù)之后,就必須聲明。
(錯(cuò))
8.C語(yǔ)言允許函數(shù)嵌套調(diào)用,也允許函數(shù)遞歸調(diào)用。
(對(duì))
9.?dāng)?shù)組元素作函數(shù)實(shí)參時(shí),其用法與普通變量完全相同,實(shí)現(xiàn)單向"值傳送"(對(duì))
。
10.?dāng)?shù)組名作函數(shù)實(shí)參時(shí),其用法與普通變量完全相同,實(shí)現(xiàn)單向"值傳送"(錯(cuò))
。
11.用數(shù)組名作函數(shù)實(shí)參時(shí),從本質(zhì)上說(shuō)是把實(shí)參數(shù)組的地址傳遞給形參數(shù)組。
(對(duì))
12.
在一個(gè)函數(shù)內(nèi)部定義的變量是內(nèi)部變量,
它只在該函數(shù)范圍內(nèi)有效。
(對(duì))
13.形參變量是內(nèi)部變量,實(shí)參變量則是外部變量。
(錯(cuò))
14.在主函數(shù)中的復(fù)合語(yǔ)句中定義的變量,其作用域在主函數(shù)范圍內(nèi)。
(錯(cuò))
15.語(yǔ)言中,
C
主函數(shù)比其它函數(shù)級(jí)別高,
可以使用其它函數(shù)中定義的局部變量。
(錯(cuò))
16.
全局變量的作用域是從定義位置開(kāi)始,
到本文件結(jié)束為止。
(對(duì))
17.當(dāng)全局變量和局部變量同名時(shí),全局變量起作用,局部變量不起作用。
則是在程序運(yùn)行期間根據(jù)需要進(jìn)行動(dòng)態(tài)的分配存儲(chǔ)空間的方式。
(錯(cuò))
(對(duì))
18.靜態(tài)存儲(chǔ)方式是指在程序運(yùn)行期間分配固定的存儲(chǔ)空間的方式。而動(dòng)態(tài)存儲(chǔ)方式
19.
在程序執(zhí)行期間,
靜態(tài)局部變量始終存在,
其它函數(shù)也可以引用它們。
(錯(cuò))
20.靜態(tài)局部變量是在編譯時(shí)賦初值的,即只賦初值一次,以后每次調(diào)用它們所在的
函數(shù)時(shí),不再重新賦初值,只是保留上次調(diào)用結(jié)束時(shí)的值。
(對(duì))
四.改錯(cuò)題
1.下面程序的功能是用遞歸法計(jì)算n!。
錯(cuò)誤語(yǔ)句:elsef=n*f(n-1);
正確語(yǔ)句:elsef=n*fac(n-1);
2.下面程序的功能是輸出1到5的階乘。
錯(cuò)誤語(yǔ)句:intf=1;
正確語(yǔ)句:staticintf=1;
五.編程題
1.寫(xiě)一個(gè)判別素?cái)?shù)的函數(shù),在主函數(shù)輸入一個(gè)整數(shù),輸出是否為素?cái)?shù)的信息。
2.編一個(gè)函數(shù)求n!。主函數(shù)求6!+7!+8!
3.編一個(gè)函數(shù)求n個(gè)數(shù)中最大值.主函數(shù)求10個(gè)數(shù)中最大值.
4.用遞歸法將一個(gè)整數(shù)n轉(zhuǎn)換成字符串,例如輸入483,應(yīng)輸出字符串"483"n的
。
位數(shù)不確定,可以是任意位數(shù)的整數(shù)。
5.編寫(xiě)兩個(gè)函數(shù),分別求兩個(gè)整數(shù)的最大公約數(shù)和最小公倍數(shù),用主函數(shù)調(diào)用這兩
個(gè)函數(shù)并輸出結(jié)果。兩個(gè)整數(shù)由鍵盤(pán)輸入。
清習(xí)P71
6.定義一個(gè)函數(shù),根據(jù)給定的三角形三條邊長(zhǎng),函數(shù)返回三角形面積。
7.編寫(xiě)一個(gè)函數(shù),其功能是判斷給定的正整數(shù)是否是素?cái)?shù),若是素?cái)?shù)則返回函數(shù)值1,
否則返回函數(shù)值0。
8.有五個(gè)人坐在一起,問(wèn)第五個(gè)人多少歲,他說(shuō)比第四個(gè)人大2歲,問(wèn)第四個(gè)人多少
歲,他說(shuō)比第三個(gè)人大2歲,問(wèn)第三個(gè)人多少歲,他說(shuō)比第二個(gè)人大2歲,問(wèn)第二個(gè)人多
少歲,他說(shuō)比第一個(gè)人大2歲,問(wèn)第一個(gè)人多少歲,他說(shuō)10歲,問(wèn)第五個(gè)人多少歲
9.第八章指針
一.單項(xiàng)選擇題
1.B)變量的地址
2.D)int*pointer=&x;
3.B)pointer=&x;
4.B)相加
5.A)能直接訪(fǎng)問(wèn),能間接訪(fǎng)問(wèn)
6.C)指向包含5個(gè)整型元素的一維數(shù)組的指針
7.A)指針數(shù)組名字,包含5個(gè)指向整型數(shù)據(jù)的指針
8.C)最多允許2個(gè)
9.A)指向函數(shù)的指針,函數(shù)返回值為一個(gè)整數(shù)
10.A)返回值為指針的函數(shù)名字
11.A)-1
12.D)a=3,b=2
13.C)12,11
14.A)16,48,80,
15.C)6,2,4
16.C)yyzzqq
17.D)IHGFEDCBA
二.填空題
1.基類(lèi)型
2.地址
3.scanf("%d",p);
4.入口
5.指針數(shù)組
6.指向函數(shù)的指針變量
7.7,a[2][0]
8.a(chǎn),apple
9.a(chǎn)pple
pple
ple
le
e
10.2,a[2]
11.&sub_result,&add_result
12.len++
13.*p2++
14.**p
15.(*p)(a,b,c)
16.english_name[n]
三.判斷題
1.指針就是地址,指針變量就是存放變量地址的變量。
2.對(duì)變量的訪(fǎng)問(wèn)可以用直接訪(fǎng)問(wèn)方式和間接訪(fǎng)問(wèn)方式。
3.可以給指針變量賦一個(gè)整數(shù)。
4.指針變量能指向任意類(lèi)型的變量。
5.多個(gè)指針變量不能指向同一個(gè)變量。
6.*運(yùn)算符和取地址運(yùn)算符&互逆。
7.使用指針類(lèi)型變量做函數(shù)的參數(shù),實(shí)際向函數(shù)傳遞的是變量的地址。
8.
當(dāng)指針變量p指向一個(gè)整型數(shù)組時(shí),是指p的地址加1字節(jié)。
p+1
(對(duì))
(對(duì))
(錯(cuò))
(錯(cuò))
(錯(cuò))
(對(duì))
(對(duì))
(錯(cuò))
9.語(yǔ)言中,
C
數(shù)組名和指針變量均可分別做實(shí)參和形參。
(對(duì))
10.int*pa[10];這個(gè)語(yǔ)句是定義一個(gè)指針,該指針可以指向有10個(gè)元素的數(shù)組。
(錯(cuò))
四.改錯(cuò)題
1.某一個(gè)班級(jí)有n個(gè)學(xué)生,開(kāi)設(shè)m門(mén)課程。使用指針的方法編寫(xiě)程序,查找有課程
不及格的學(xué)生,并且打印他們的成績(jī)。
錯(cuò)誤語(yǔ)句:if(j<N)
正確語(yǔ)句:if(j<M)
2.使用指針編寫(xiě)程序,從鍵盤(pán)輸入的n個(gè)整數(shù)中找出其中最大值和最小值。調(diào)用一
個(gè)函數(shù)只能得到一個(gè)返回值,要得到多個(gè)返回值則用全局變量在函數(shù)之間"傳遞"數(shù)據(jù)。
錯(cuò)誤語(yǔ)句:int*p,array_end;
正確語(yǔ)句:int*p,*array_end;
3.使用指針編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)字符串,然后統(tǒng)計(jì)字符串中字符的個(gè)數(shù)。
錯(cuò)誤語(yǔ)句:scanf("%s",&string);
正確語(yǔ)句:scanf("%s",string);
4.使用指針編寫(xiě)程序,在輸入的字符串中查找是否存在字符?x?。
錯(cuò)誤語(yǔ)句:if(p[i]!='\0')
正確語(yǔ)句:if(p[i]=='\0')
5.使用指針數(shù)組編寫(xiě)程序,從鍵盤(pán)輸入一個(gè)星期幾(例如7)
,則程序輸出對(duì)應(yīng)星期
幾的英文名字(Sunday)
。
錯(cuò)誤語(yǔ)句:if(n<1&&n>7)
正確語(yǔ)句:if(n<1||n>7)
五.編程題
1.編寫(xiě)程序,從鍵盤(pán)輸入3個(gè)整數(shù),按照從小到大的順序輸出。要求使用指針的方法
并且用3種不同方式實(shí)現(xiàn)。
2.編寫(xiě)程序,將數(shù)組中n個(gè)整數(shù)按相反的順序存放后輸出。要求使用指針的方法并
用2種不同方式實(shí)現(xiàn)。
3.編寫(xiě)程序,從鍵盤(pán)輸入3個(gè)字符串,按照從小到大的順序輸出。要求使用指針的
方法實(shí)現(xiàn)。
4.編寫(xiě)程序,使用指針的方法完成字符串的復(fù)制。要求不能使用strcpy函數(shù)。
5.編寫(xiě)程序,使用指向一維數(shù)組的指針的方法,完成從鍵盤(pán)輸入n個(gè)字符串(例如
10個(gè)國(guó)家名)并按字典順序排列后輸出。
6.編寫(xiě)程序,使用數(shù)組和指針的方法,完成將一個(gè)n×n(例如5×5)的矩陣轉(zhuǎn)置,
并且輸出最大值及其位置。
7.編寫(xiě)程序,使用指向指針的指針的方法,完成對(duì)n個(gè)字符串(如10個(gè)城市名)進(jìn)
行排序。
要求從鍵盤(pán)輸入n個(gè)字符串并且把排序編寫(xiě)成函數(shù)
(用冒泡法和選擇法2種方式)
。
8.編寫(xiě)程序,使用指針并利用矩形法編寫(xiě)計(jì)算定積分
利用它分別計(jì)算以下三種數(shù)學(xué)函數(shù)的定積分:
(1)f(x)=x2-5x+1
第九章結(jié)構(gòu)體與共用體
(2)f(x)=x3+2x2-2x+3
a
b
f(x)dx的通用函數(shù)。然后
(3)f(x)=x/(2+x2)
一.單項(xiàng)選擇題
1.D)student1是結(jié)構(gòu)體類(lèi)型名
2.C)共用體類(lèi)型
3.A)各成員所需內(nèi)存字節(jié)數(shù)的總和
4.D)三種形式均可表示
5.D)成員中占內(nèi)存字節(jié)數(shù)最大的
6.B)16
7.B)80
8.C)student1.birthday.month=6;
student1.birthday.day=10;
student1.birthday.year=2003;
9.B)printf("%c",school[1].name[0]);
10.B)scanf("%s",&);
11.A)1001,650
12.C)zzxxyy
13.B)1102,550,"Li"
14.D)Tao
15.D)使用typedef可以增加新類(lèi)型
16.D)typedefchar*STR;
二.填空題
1.指向結(jié)構(gòu)體成員,結(jié)構(gòu)體成員
2.duoble*
3.地址
4.256
5.A
6.1002,1003,1004;
7.p->age
8.p=head
三.判斷題
1.
"結(jié)構(gòu)體"是一種構(gòu)造類(lèi)型,它是由若干相互關(guān)聯(lián)的"成員"組成的。每一個(gè)成員
可以是一個(gè)基本數(shù)據(jù)類(lèi)型,也可以是數(shù)組、指針,或者又是一個(gè)構(gòu)造類(lèi)型。
(對(duì))
2.結(jié)構(gòu)體變量的總長(zhǎng)度為各個(gè)成員長(zhǎng)度的總和。
3.在定義結(jié)構(gòu)體變量時(shí)成員名不可以與程序中其它變量同名。
4.結(jié)構(gòu)體變量名是結(jié)構(gòu)體變量的首地址。
(對(duì))
(錯(cuò))
(錯(cuò))
5.C語(yǔ)言中不允許用結(jié)構(gòu)體變量作函數(shù)參數(shù)進(jìn)行整體傳送。
(錯(cuò))
6.
malloc函數(shù)的功能是在內(nèi)存的動(dòng)態(tài)存儲(chǔ)區(qū)中分配一塊長(zhǎng)度為"size"字節(jié)的連續(xù)區(qū)域。
(對(duì))
7.鏈表中的每個(gè)結(jié)點(diǎn)都分為兩個(gè)域,一個(gè)是數(shù)據(jù)域,存放各種實(shí)際的數(shù)據(jù);另一個(gè)
域?yàn)橹羔樣颍?/p>
存放下一結(jié)點(diǎn)的首地址。
(對(duì))
8.
"共用體"類(lèi)型變量只能存儲(chǔ)相同類(lèi)型數(shù)據(jù)的變量,不能存儲(chǔ)不同類(lèi)型數(shù)據(jù)的變量。
(錯(cuò))
9.
共用體的長(zhǎng)度是成員列表中最大長(zhǎng)度的成員長(zhǎng)度。
(對(duì))
10.共用體類(lèi)型的多個(gè)成員在內(nèi)存中是首地址相同的,因此可以同時(shí)訪(fǎng)問(wèn)共用體成員。
(錯(cuò))
四.改錯(cuò)題
1.下面程序的功能是求學(xué)生成績(jī)的總和。
錯(cuò)誤語(yǔ)句:structstup=student;
正確語(yǔ)句:structstu*p=student;
2.下面程序的功能是輸出鏈表中所有結(jié)點(diǎn)的數(shù)據(jù)。
錯(cuò)誤語(yǔ)句:p=head->next;
正確語(yǔ)句:p=p->next
五.編程題
1.編寫(xiě)程序,建立一個(gè)結(jié)構(gòu)體,其成員包括員工號(hào)、姓名、工資,通過(guò)鍵盤(pán)輸入數(shù)
據(jù)并且進(jìn)行打印輸出。
2.編寫(xiě)程序,使用結(jié)構(gòu)體數(shù)組存放下表中員工的工資數(shù)據(jù),然后輸出每個(gè)員工的員
工號(hào)、姓名和實(shí)發(fā)工資(實(shí)發(fā)工資=基本工資+崗位工資-扣款)
。
員工號(hào)
姓名
基本工資
崗位工資
扣款
1000
1001
1002
Mary
Tom
Lucy
1000.00
1500.00
2000.00
500.00
800.00
1000.00
50.00
63.00
72.00
1003
Mike
3000.00
2500.00
120.00
3.按上題的結(jié)構(gòu)體類(lèi)型定義一個(gè)有N名職工的結(jié)構(gòu)體數(shù)組,并計(jì)算這N名職工的工
資總和以及平均工資。
4.編寫(xiě)程序,建立一個(gè)結(jié)構(gòu)體數(shù)組并存放40名學(xué)生的學(xué)號(hào)、姓名、性別、年齡和3
門(mén)課程的成績(jī),找出成績(jī)最好的學(xué)生并輸出信息。
5.編寫(xiě)程序,輸入40個(gè)學(xué)號(hào)、姓名、年齡、家庭住址,并存放在一個(gè)結(jié)構(gòu)數(shù)組中,
找出年齡最小和年齡最大的學(xué)生并輸出信息。
6.編寫(xiě)程序,建立一個(gè)名字為player的結(jié)構(gòu)體,其成員包括運(yùn)動(dòng)員姓名"name"
、運(yùn)
動(dòng)隊(duì)名"team"
、平均運(yùn)動(dòng)成績(jī)"avg"
。
(1)編寫(xiě)一個(gè)名為input_player的函數(shù),輸入運(yùn)動(dòng)員的信息,要求以結(jié)構(gòu)體作為參數(shù)。
(2)編寫(xiě)一個(gè)名為input_player的函數(shù),輸入運(yùn)動(dòng)員的信息,要求以結(jié)構(gòu)體指針作為
參數(shù)。
7.編寫(xiě)程序,建立一個(gè)結(jié)構(gòu)體實(shí)現(xiàn)統(tǒng)計(jì)選舉候選人選票的數(shù)量。
8.編寫(xiě)程序,統(tǒng)計(jì)通訊錄鏈表中結(jié)點(diǎn)的個(gè)數(shù)。
9.編寫(xiě)程序,從鍵盤(pán)輸入10個(gè)整數(shù)分別作為鏈表的數(shù)據(jù)域建立一個(gè)單鏈表,并編寫(xiě)
刪除一個(gè)指定結(jié)點(diǎn)的函數(shù)。
第十章
文件
一.單項(xiàng)選擇題
1.D)可以順序存取,也可以隨機(jī)存取
2.D)
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 中學(xué)教師科研與學(xué)術(shù)交流制度
- 企業(yè)員工培訓(xùn)與素質(zhì)發(fā)展制度
- 交通信號(hào)燈設(shè)置與維護(hù)制度
- 2026年建筑工程施工安全法規(guī)與職業(yè)操守考核題集
- 2026年兒童安全教育內(nèi)容與策略試題
- 2026年綠色生產(chǎn)與環(huán)保意識(shí)考核題
- 孕婦無(wú)創(chuàng)產(chǎn)前檢測(cè)知情同意書(shū)
- 九年級(jí)語(yǔ)文上冊(cè)期末提升卷(人教部編培優(yōu))
- 傳聲港茶葉品牌新媒體推廣白皮書(shū)
- 檢驗(yàn)科實(shí)驗(yàn)室被盜的應(yīng)急處理制度及流程
- 江蘇省鹽城市大豐區(qū)四校聯(lián)考2025-2026學(xué)年七年級(jí)上學(xué)期12月月考?xì)v史試卷(含答案)
- 2022-2023學(xué)年北京市延慶區(qū)八年級(jí)(上)期末數(shù)學(xué)試卷(含解析)
- 2026年黑龍江農(nóng)業(yè)經(jīng)濟(jì)職業(yè)學(xué)院?jiǎn)握芯C合素質(zhì)考試參考題庫(kù)附答案詳解
- 文化IP授權(quán)使用框架協(xié)議
- 2024年廣西壯族自治區(qū)公開(kāi)遴選公務(wù)員筆試試題及答案解析(綜合類(lèi))
- 湖北煙草專(zhuān)賣(mài)局招聘考試真題2025
- 人教部編五年級(jí)語(yǔ)文下冊(cè)古詩(shī)三首《四時(shí)田園雜興(其三十一)》示范公開(kāi)課教學(xué)課件
- AI領(lǐng)域求職者必看美的工廠(chǎng)AI面試實(shí)戰(zhàn)經(jīng)驗(yàn)分享
- 4.2《揚(yáng)州慢》課件2025-2026學(xué)年統(tǒng)編版高中語(yǔ)文選擇性必修下冊(cè)
- 鄉(xiāng)鎮(zhèn)應(yīng)急管理培訓(xùn)
- DB63∕T 2215-2023 干法直投改性劑瀝青路面施工技術(shù)規(guī)范
評(píng)論
0/150
提交評(píng)論