版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章程序設(shè)計(jì)基本概念
1.1程序和程序設(shè)計(jì)
程序:連續(xù)執(zhí)行的一條條指令的集合稱為“程序”。
對(duì)于計(jì)算機(jī)來(lái)說(shuō),它不能識(shí)別由高級(jí)語(yǔ)言編寫(xiě)的程序,它只能接受和處理由0
和1的代碼構(gòu)成的二進(jìn)制指令或數(shù)據(jù)。由于這種形式的指令是面向機(jī)器的,因此也
被稱為“機(jī)器語(yǔ)言”。所以所有由高級(jí)語(yǔ)言編寫(xiě)的程序都要經(jīng)過(guò)編譯,編譯成二進(jìn)制
代碼。這種具有翻譯功能的軟件稱為編譯程序。
語(yǔ)言有很多種,我們現(xiàn)在要談?wù)摰木褪荂語(yǔ)言。為什么計(jì)算機(jī)會(huì)能進(jìn)行各種各
樣的操作,就是由不同的指令來(lái)實(shí)現(xiàn)的。而不是只有C語(yǔ)言才可以實(shí)現(xiàn)這樣的功能。
還有其它很多語(yǔ)言。但是我們一般說(shuō)C語(yǔ)言是其它語(yǔ)言的母語(yǔ)。會(huì)了C語(yǔ)言其它的
語(yǔ)言在學(xué)習(xí)的過(guò)程就會(huì)感到輕松一些。
1.1.2程序設(shè)計(jì)
1.確定數(shù)據(jù)結(jié)構(gòu)
2.確定算法
3.編碼
4.在計(jì)算機(jī)上調(diào)試程序
5.整理并寫(xiě)出文檔資料
1.2算法
定義:是指為了解決某個(gè)特定的問(wèn)題而采取的確定且有限的步驟。
1.有窮性
2.確定性
3.可行性
4.有零個(gè)或多個(gè)輸入
5.有一個(gè)或多個(gè)輸出
1.3結(jié)構(gòu)化程序設(shè)計(jì)和模塊化結(jié)構(gòu)
結(jié)構(gòu)化程序由三種基本結(jié)構(gòu)組成
1.順序結(jié)構(gòu)
2.選擇結(jié)構(gòu)
不滿足
判斷表達(dá)式
3.循環(huán)結(jié)構(gòu)
12)計(jì)算機(jī)能直接執(zhí)行的程序是(B)0
A)源程序B)目標(biāo)程序C)匯編程序D)可執(zhí)行程序
13)以下敘述中正確的是(D)
A)程序設(shè)計(jì)的任務(wù)就是編寫(xiě)程序代碼并上機(jī)調(diào)試
B)程序設(shè)計(jì)的任務(wù)就是確定所用數(shù)據(jù)結(jié)構(gòu)
C)程序設(shè)計(jì)的任務(wù)就是確定所用算法
D)以上三種說(shuō)法都不完整
第二章:C程序設(shè)計(jì)的初步知識(shí)
2.1C語(yǔ)言程序的構(gòu)成和格式
#include<stdio.h>
Main()
(
doublea,b,area;
a=1.2,b=3.6;/*將矩形的兩條邊長(zhǎng)分別賦給a和b變量*/
area=a*b;
printf("a=%f,b=%f,area=%f\n”,a,b,area);/*輸出矩形的兩條邊長(zhǎng)和面積*/
)
#include<stdio.h>:每當(dāng)寫(xiě)一-個(gè)程序時(shí),第一條語(yǔ)句永遠(yuǎn)是這個(gè)語(yǔ)句,因?yàn)橐唬瑐€(gè)程序
可以沒(méi)有輸入但必須要有輸出,而這個(gè)語(yǔ)句就是控制輸入輸出的。所以任何一個(gè)程
序都必須由這個(gè)語(yǔ)句開(kāi)始。
Main():是一個(gè)程序的主函數(shù)。一個(gè)程序是由多個(gè)函數(shù)組成的,而任何一個(gè)程序都
要有一個(gè)主函數(shù),有且只有一個(gè)。任何程序都是由主函數(shù)開(kāi)始執(zhí)行的。
{):它們兩個(gè)必須要成對(duì)出現(xiàn),它們中的語(yǔ)句是主函數(shù)體。包括定義部分和執(zhí)行部
分。它們中的語(yǔ)句,每一條必須也結(jié)束。;是c語(yǔ)句的一個(gè)組成部分而不是??個(gè)結(jié)
束標(biāo)識(shí)。
/**/:注釋符一定要成對(duì)出現(xiàn),不允許嵌套。兩個(gè)符號(hào)間的語(yǔ)句不被執(zhí)行。
例年真題:
#include<stdio.h>
main()
Inta;
A=5;/*給A變量賦值5
A+=3;再賦值后再加3*/
Printf("%d”,a);
)
(ID以下敘述中正確的是(C)o
A)C程序的基本組成單位是語(yǔ)句B)C程序中的每一行只能寫(xiě)一條語(yǔ)句
二級(jí)C語(yǔ)言程序設(shè)計(jì)試卷)
C)簡(jiǎn)單C語(yǔ)句必須以分號(hào)結(jié)束D)C語(yǔ)句必須在一行內(nèi)寫(xiě)完
(11)以下敘述中正確的是(C)
A)C程序中的注釋只能出現(xiàn)在程序的開(kāi)始位置和語(yǔ)句的后面
B)C程序書(shū)寫(xiě)格式嚴(yán)格,要求一行內(nèi)只能寫(xiě)一個(gè)語(yǔ)句
C)C程序書(shū)寫(xiě)格式自由,一個(gè)語(yǔ)句可以寫(xiě)在多行上
D)用C語(yǔ)言編寫(xiě)的程序只能放在一個(gè)程序文件中
第二課:C語(yǔ)言的基礎(chǔ)知識(shí)
2.2標(biāo)識(shí)符,常量和變量
2.2.1標(biāo)識(shí)符:
定義:由字母,數(shù)字和下劃線組成,并且第一個(gè)字符必須為字母或下劃線的。這
樣的組成就是標(biāo)識(shí)符。
下列合法的是:
elsewhat#$12334aa34a_ba-bIf
a=3A=4
注意:在c中大寫(xiě)字母與小字字母被認(rèn)為是兩個(gè)不同的字符。
分類:
關(guān)鍵字:在C中已經(jīng)定義好了的,不能用作它用的。如ifdoubleint等等。
預(yù)定義標(biāo)識(shí)符:如printfscanf
用戶標(biāo)識(shí)符:用戶根據(jù)自己的需求來(lái)定義的。
(12)以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是(C)
A)void
B)8_8
C)_0_
D)unsigned
(11)以下選項(xiàng)中合法的標(biāo)識(shí)符是(C)
A)1-1B)1—1C)-11D)1—
(12)以下選項(xiàng)中不合法的標(biāo)識(shí)符是(C)
A)printB)FORO&aD)_00
2.2.2常量:
定義:是指在程序的執(zhí)行的過(guò)程中,其值不會(huì)被改變的量。
分類:
整型常量:沒(méi)有小數(shù)的常量
如:391234等等都是。
實(shí)型常量:有小數(shù)點(diǎn)的常量
如:3.93.03.
字符常量:由單個(gè)字符組成的量
如:‘a(chǎn)''b''3’
字符串常量:至少由一個(gè)字符組成的量
如:“a”"abc”"beijing”
符號(hào)常量:符號(hào)常量的值到底是多少,這是由在來(lái)定義符號(hào)常量時(shí)來(lái)
決定的
?2*pi
(13)以下選項(xiàng)中,能用作數(shù)據(jù)常量的是(D)
A)0115B)0118C)1.5el.5D)115L
(13)以下選項(xiàng)中不能作為C語(yǔ)言合法常量的是(A)。
A)'cd'B)0.le+6C)“\a"D))\01T
(13)以下選項(xiàng)中不屬于字符常量的是(B)
A)'C'B)"C"C)'\xCC0'D)'\072'
2.3整型常量與實(shí)型常量
整型常量的幾個(gè)表示方法
十進(jìn)制數(shù):
八進(jìn)制數(shù):以0開(kāi)頭的數(shù)字,由0-7組成。
下列合法的八進(jìn)制數(shù)是
A,0B,028C,-077D,01.0
十六進(jìn)制數(shù):以0X開(kāi)頭,由0-9和A-F組成。
A,oxffB,OxabcC,0x11D,0x19
實(shí)型常量123.4
小數(shù)形式:123.4
指數(shù)形式:L234e2
1.字母e和E之前必須要有數(shù)字
2.字母e和E之后的數(shù)字必須是整數(shù)
3.字母e,和數(shù)字之間不能有空格。
A,2.607E-10.8103E2-77.77456E-20.le+61.23E1.2
2.2.4變量:
I.定義:在程序的運(yùn)行過(guò)程中其值可以被改變的量,就叫變量。
2.原則:變量必須先定義后使用。變量定義的過(guò)程就是給變量開(kāi)辟存儲(chǔ)單元的過(guò)
程。
3.分類:
整型變量:用關(guān)鍵字int來(lái)表示.
shortint短整型
longint長(zhǎng)整型在內(nèi)存中占4個(gè)字節(jié)如123L
unsigned無(wú)符號(hào)如有-200U這就是錯(cuò)的。
變量的定義:inta這是定義了一個(gè)整型變量a.
實(shí)型變量:用關(guān)鍵字double或float來(lái)表示。
float單精度在內(nèi)存中占4個(gè)字節(jié)
double雙精度在內(nèi)存中占8個(gè)字節(jié)。
2.2.5算術(shù)表達(dá)式
一、基本的算術(shù)運(yùn)算符
+-*/%這些是雙目運(yùn)算符(就是指操作對(duì)象有兩個(gè))
注意:
除%外,其它的運(yùn)算符的運(yùn)算對(duì)象可以是整型也可以是實(shí)型。%的操作對(duì)象只能是
整型。
如10%3=110.7%310%4.5x%3=0
+-也可以做為單目運(yùn)算。-5.4+4.9
說(shuō)明:
1.如果雙目運(yùn)算符兩邊運(yùn)算數(shù)的類型-致,則所得結(jié)果的類型與運(yùn)算數(shù)的類型一致。
如1.0/20=0.51/2=0
2.如果雙目運(yùn)算符兩邊運(yùn)算數(shù)的類型不一致,則系統(tǒng)會(huì)自動(dòng)進(jìn)行類型轉(zhuǎn)換,使兩邊的
類型一致后,再進(jìn)行運(yùn)算。
1.0/2=0.5
3.所有的單精度數(shù)據(jù),在運(yùn)算過(guò)程中都以雙精度進(jìn)行運(yùn)算。
二、優(yōu)先級(jí)
()+-*/%+-
由高------------(氐
如(5+1)/2=???
2.5.3強(qiáng)制類型轉(zhuǎn)換表達(dá)式
格式:(類型名)(表達(dá)式)
例:(int)3.234=3
(double)10%3=?
(14)表達(dá)式:4-(9)%2的值是(B)
A)0
B)3
C)4
D)5
(14)設(shè)變量已正確定義并賦值,以下正確的表達(dá)式是(C)
A)x=y*5=x+z
B)int(15.8%5)
C)x=y+z+5,++y
D)x=25%5.0
2.6賦值表達(dá)式
格式:變量名=表達(dá)式
注:1.不可以顛倒(左邊必須是變量名,右邊必須是C語(yǔ)言中合法的表達(dá)式)
2.功能就是先求出右邊表達(dá)式的值,然后把此值賦值給賦值號(hào)左邊的變量。確切的
說(shuō)是把數(shù)據(jù)存入以該變量為標(biāo)識(shí)的存儲(chǔ)單元中去。a=4,a=7
3.結(jié)合性的優(yōu)先級(jí)僅高于逗號(hào)表達(dá)式。順序是自右向左的。如a=2+7/3
4."="是一個(gè)賦值號(hào),不是一個(gè)等號(hào)。
5.x=y。變量的值也是可以傳遞和賦值的。它的意思就是將變量Y中的值賦值到X
中去。同樣N=N+1也成立
6.賦值運(yùn)算符的左側(cè)只能是變量,不能是常量或表達(dá)式a+b=c這就是違法的
7。賦值號(hào)的右邊也可以是—t'賦值表達(dá)式。如a=b=7+l;
補(bǔ)充;表達(dá)式與語(yǔ)句的區(qū)別,
表達(dá)式后面加一個(gè)分號(hào)就是語(yǔ)句。
2.6.2復(fù)合賦值表達(dá)式
例:
a+=3----a=a+3同理可得a*=3/==
a+=a-=a+aa的初值是9
a+=a-=18
a+=(a=a-18)
a+=(a=-9)
a+=a
-18
(15)若有定義語(yǔ)句:intx=10;,則表達(dá)式x二x+x的值為(B)
A)-20
B)-10
C)0
D)10
(14)設(shè)有定義:intx=2;,以下表達(dá)式中,值不為6的是(D)
A)x*=x+lx=x*(x+l)
B)x++,2*x
C)x*=(1+x)
D)2*x,x+=2
(17)若變量均已正確定義并賦值,以卜合法的C語(yǔ)言賦值語(yǔ)句是(A)
A)x=y==5;
B)x=n%2.5;
C)x+n=I
D)X=5=4+1;
2.7++和-----的講解
++:自身加1
自身減1
如
i=3i++I=i+1i=4
單目
3++
++II++
當(dāng)++在前,先自身加1,然后再干別人讓干的事情。
當(dāng)++在后,先別人讓干的事情然后再干自身加1。
inti=3;
inta;
a=i++;a=3
a=++I;a=4
第三課:輸入和輸出語(yǔ)句
3.2輸出語(yǔ)句的講解
一、printf函數(shù)的一般調(diào)用形式
格式:printf(格式控制,輸出項(xiàng)1,輸出項(xiàng)2,.......);
在printf函數(shù)的最后面寫(xiě)上;號(hào)就是輸出語(yǔ)句。
1,給輸出項(xiàng)白提供輸出格式說(shuō)明
格式說(shuō)明符:
作用:就是使數(shù)據(jù)按格式說(shuō)明符的要求進(jìn)行輸出。
組成:由%號(hào)和緊跟在其后的格式描述符組成。
int--------%d
float或double—%f或e%
char--------%c
2.提供原樣輸出的文字或字符
在“”中除了格式說(shuō)明符之外的內(nèi)容要全部原樣輸出。
各個(gè)輸出項(xiàng)之間要用逗號(hào)隔開(kāi)。
輸出項(xiàng)可以是任意合法的常量,變量或表達(dá)式。
printf中常用的格式說(shuō)明
在格式說(shuō)明符中,每一個(gè)格式說(shuō)明符都必須以%號(hào)開(kāi)頭由相應(yīng)的類型標(biāo)識(shí)字母結(jié)束。但
在他們之間可以有其它的一個(gè)內(nèi)容:
%c:輸出一個(gè)字符
%d:輸出一個(gè)十進(jìn)制的數(shù)據(jù)
%o:以八進(jìn)制格式輸出。
%X:以卜六進(jìn)制輸出
%U:無(wú)符號(hào)十進(jìn)制輸出
%f:以帶小數(shù)點(diǎn)的數(shù)字輸出
%e:以指數(shù)形式輸出
%s:輸出一個(gè)字符串。
%%:輸出一個(gè)%號(hào)
%4d:輸出的數(shù)據(jù)長(zhǎng)度是4個(gè)長(zhǎng)度,當(dāng)原來(lái)的長(zhǎng)度大于4個(gè)時(shí)會(huì)自動(dòng)突破。小于4個(gè)時(shí)會(huì)填
充空格。
%x.yf:x代表數(shù)制的寬度(包括小數(shù)點(diǎn))。Y代表小數(shù)點(diǎn)后面的小數(shù)位數(shù)。
注意事項(xiàng):
1.輸出比較自由一些,輸出有的各個(gè)數(shù)之到底是什么,取決于格式說(shuō)明符之間的內(nèi)容。
2.格式說(shuō)明符要與輸出項(xiàng)一一對(duì)應(yīng)。
3.輸出語(yǔ)句中還可以有\(zhòng)n\r\t\a
4.盡量不要在輸出語(yǔ)句中改變輸出變量的值。
5.輸?shù)臄?shù)據(jù)中如果存在變量,一定要定義過(guò)的。
習(xí)題講解
(13)閱讀以下程序
#include
main()
{intcase;floatprintF;
pr血f(“請(qǐng)輸入2個(gè)數(shù):”);
scanfC4%d%f\&case,&pjrintF);
printf(44%d%f\n,,,case,printF);
該程序編譯時(shí)產(chǎn)生錯(cuò)誤,其出錯(cuò)原因是(A
A)定義語(yǔ)句出錯(cuò),case是關(guān)鍵字,不能用作用戶自定義標(biāo)識(shí)符
B)定義語(yǔ)句出錯(cuò),printF不能用作用戶自定義標(biāo)識(shí)符
C)定義語(yǔ)句無(wú)錯(cuò),scanf不能作為輸入函數(shù)使用
D)定義語(yǔ)句無(wú)錯(cuò),printf不能輸出case的值
(16)有以下程序
#include
main()
{inta=l,b=0;
printf("%d,”,b=a+b);
printf(<t%d\n,,,a=2*b);
)
程序運(yùn)行后的輸出結(jié)果是(D)
A)0,0
B)1,0
C)3,2
D)1,2
(15)程序段:intx=12;
doubley=3.141593;printf(<<%d%8.6f,,x,y);的輸出結(jié)果是(A)
A)123.141593
B)12
3.141593
C)12,3.141593
D)123.141593
#include<stdio.h>
main()
doublea=123.456;
printf("%6.2f",a);
輸入語(yǔ)句
格式:scanf(格式控制,輸入項(xiàng)1,輸入項(xiàng)2,…);
例如:想通過(guò)鍵盤(pán)輸入3個(gè)數(shù)分別給變量a,b,c。并且他們分別為整型,浮點(diǎn)型,雙精度型。
輸入語(yǔ)句為scanf("%d%f%lf',&k,&a,&y);
說(shuō)明:
1.格式說(shuō)明符與輸出語(yǔ)句一樣。
2.在格式串中,必須含有與輸入項(xiàng)一一對(duì)應(yīng)的格式轉(zhuǎn)換說(shuō)明符。
3.在VC6.0的環(huán)境下,要收輸入的DOUBLE型數(shù)據(jù)的格式說(shuō)明符一定要用%If,否則數(shù)
據(jù)不能正確的輸入
4.由于輸入是一個(gè)字符流,所以當(dāng)輸入的數(shù)據(jù)少于輸入項(xiàng)時(shí),程序會(huì)等待用戶輸入,直
到滿足要求。當(dāng)輸入的數(shù)據(jù)多于輸入項(xiàng)時(shí),多余的數(shù)據(jù)會(huì)自動(dòng)作廢。
例題:
intx;
x=l1/3;
inty=5;
printf("%%d,%%%d\n",x,y);結(jié)果是:%d,%3
[3.51若變量已正確說(shuō)明為int類型,要給a、b、c輸入數(shù)據(jù),以下正確的輸入語(yǔ)句是(D)
A)read(a,b,c);B)scanf(4t%d%d%d”,a,b,c);
C)scanf("%D%D%D”,&a,%b,%c);D)scanf(u%d%d%d,\&a,&b,&c);
[3.6]若變量已正確說(shuō)明為float類型,要通過(guò)以下賦值語(yǔ)句給a賦予10、b賦予22、c
賦予33,以下不正確的輸入形式是(A)
A)10B)10.0,22.0,33.0C)10.0D)1022
2222.033.033
33
scanf("%f%f%f',&a,&b,&c);
復(fù)合語(yǔ)句:多個(gè)語(yǔ)句被{}括起來(lái),當(dāng)成一條語(yǔ)句來(lái)執(zhí)行。
空語(yǔ)句:最后的表示只有一個(gè);
程序舉例:
1。編寫(xiě)一個(gè)程序,從鍵盤(pán)上輸入兩個(gè)數(shù)字,讓后讓他們互換一下。
#include<stdio.h>
main()
(
inta,b;
printf(“請(qǐng)輸入兩個(gè)數(shù)字:”);
scanf("%2d%3d",&a,&b);
printf(Hqian:%d%d”,a,b);
intc;
c=a,a=b,b=c;
printf("后:%d%d",a,b);
2o編寫(xiě)程序,對(duì)一個(gè)double型數(shù)據(jù)進(jìn)行四舍五入運(yùn)算。要求保留兩位有效小樹(shù)。
123.4567
1234567*100=12345.67
12345.67+0.5=12346.17
(int)(12346.17)=12346
12346/100=123.46
3o編寫(xiě)程序,使從鍵盤(pán)中輸入的三位數(shù)倒著輸出。
選擇題
[3.11若a、b、c、d、都是int類型變量且初值為0,以下選項(xiàng)中不正確的賦值語(yǔ)句是(C)
A)a=b=c=d=100;B)d++;C)c+b;D)d=(c=22)-(b++);
[3.2]以下選項(xiàng)中不是C語(yǔ)句的是(C)
A){inti;i++;printf("%d\n",i);}B);
C)a=5,c=10D){;}
[3.3]以下合法的C語(yǔ)言賦值語(yǔ)句是(D)
A)a=b=58B)k=int(a+b);C)a=58,b=58D)-i;
[3.4]以下程序的輸出結(jié)果是(C)
A)0B)1C)3D)不確定的值
main()
{intx=10,y=3;
printf(4t%d\n,,,y=x/y);}
[3,5]若變量已正確說(shuō)明為int類型,要給a、b、c輸入數(shù)據(jù):以下正確的輸入語(yǔ)句是(D)
A)read(a,b,c);B)scanf("%d%d%d”,a,b,c);
C)scanf("%D%D%D”,&a,%b,%c);D)scanf("%d%d%d”,&a,&b,&c);
[3.6J若變量已正確說(shuō)明為float類型,要通過(guò)以下賦值語(yǔ)句給a賦予10、b賦予22、c賦予
33,以下不正確的輸入形式是(B)
A)10B)10.0,22.0,33.0C)10.0D)1022
2222.033.033
33
scanf(u%f%f%r,&a,&b,&c);
[3.71若變量已正確定義,要將a和b中的數(shù)進(jìn)行交換,下面不正確的語(yǔ)句組是(C)
A)a=a+b,b=a-b,a=a-b;B)t=a,a=b,b=t;
C)a=t;t=b;b=a;D)t=b;b=a;a=t;
[3.8J若變量已正確定義,以下程序段的輸出結(jié)果是(D)
A)輸出格式說(shuō)明與輸出項(xiàng)不區(qū)配,輸出無(wú)定值B)5.17
Q5.168D)5.169
X=5.16894;
PrintfC4%l\n,\(int)(x*1000+0.5)/(float)1000);
[3.9J若有以下程序段,c3中的值是(A)
A)0B)l/2C)0.5D)1
intcl=l,c2=2,c3;
c3=cl/c2;
[3.10]若有以下程序段,其輸出結(jié)果是(B)
A)3,0,-10B)0,0,50-10,3,-10D)3,0,3
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printfC4%d,%d,%d\n”,a,b,c);
填空題
[3.21]若有以下定義,請(qǐng)寫(xiě)出以下程序段中輸出語(yǔ)句執(zhí)行后的輸出結(jié)果。
(1)-200,2500(2)i=-200,i=500⑶i=-200回車j=2500
inti=-200,j=2500;
printff*(l)%d%d”,i,j);
printf("⑵i=%d,j=%d\n”,i,j);
printf("⑶i=%d\nj=%d\n,,,i,j);
[3.22J變量i、j、k已定義為int類型并有初值0,用以下語(yǔ)句進(jìn)行輸入時(shí)
scanf("%d",&I);scanf("%d",&j);scanf("%d",&k);
當(dāng)執(zhí)行第一個(gè)輸入語(yǔ)句,△鍵盤(pán)輸入:
12.3<CR><CR>表示Enter鍵
則變量i、j、k的侑分別是12、0、0。
[3.23J復(fù)合語(yǔ)句在語(yǔ)法上被認(rèn)為是一條語(yǔ)名??照Z(yǔ)句的形式是一
[3.24JC語(yǔ)句的最后用;結(jié)束。
[3,25]以下程序段,要求通過(guò)scanf語(yǔ)句給變量賦值,然后輸出變量的值。寫(xiě)出運(yùn)行時(shí)給k
輸入100,給a輸入25.81,給x輸入1.89234時(shí)的三種可能的輸入形式、、。
intk;floata;doublex;
scanfC4%d%f%lf\&k,&a,&x);
pirntf(44k=%d,a=%f,x=%f\n,,,k,a,x);
編程題和改錯(cuò)題
[3.29]以下程序多處有錯(cuò)。要按下面指定的形式輸入數(shù)據(jù)和輸出數(shù)據(jù)時(shí),請(qǐng)對(duì)該程序做相應(yīng)
的修改。
main
{doublea,b,c,s,v;
printf(inpula,b,c:\n);
scanf("%d%d%d”,a,b,c);
s=a*b;/*計(jì)算長(zhǎng)方形面積*/
v=a*b*c;/*計(jì)算長(zhǎng)方體體積*/
printf("%d%d%d”,a,b,c);
printf("s=%f\n”,s,"v=%d\n”,v);
)
當(dāng)程序執(zhí)行時(shí),屏幕的顯示和要求輸入形式如下:
inputa,b,c:2.02.03.0此處的2.02.03.0是用戶輸入的數(shù)據(jù)
a=2.000000,b=2.000000,c=3.0(X)000此處是要求的輸出形式
s=4.000000,v=12.000000
[3.30]編寫(xiě)程序,把560分鐘換算成用小時(shí)和分鐘表示,然后進(jìn)行輸出。
[3.31]編寫(xiě)程序,輸入兩個(gè)整數(shù):1500和350,求出它們的商數(shù)和余數(shù)并進(jìn)行輸出。
[3.32]編寫(xiě)程序,讀入三個(gè)雙精度數(shù),求它們的平均值并保留此平均值小數(shù)后一位數(shù),對(duì)小
數(shù)點(diǎn)后第二位數(shù)進(jìn)行四舍五入,最后輸出結(jié)果。
[3.33]編寫(xiě)程序,讀入三個(gè)整數(shù)給a、b、c,然后交換它們中的數(shù),把a(bǔ)中原來(lái)的值給b,
把b中原來(lái)的值給c,把c中原來(lái)的值給a。
第四課:C語(yǔ)言的程序結(jié)構(gòu)
4-1節(jié)、關(guān)系運(yùn)算與邏輯運(yùn)算
一、簡(jiǎn)介
關(guān)系表達(dá)式與邏輯表達(dá)式的運(yùn)算結(jié)果都會(huì)得到一個(gè)邏輯值。就是“真”、"假”
在C語(yǔ)言中0表示“假”,非0(無(wú)論是負(fù)數(shù)還是正數(shù)都是真,更多時(shí)候用1來(lái)代替)
表示“真”。
二、幾個(gè)簡(jiǎn)單的關(guān)系運(yùn)算符
<<=>>===!=
注意:
1,由兩個(gè)字符組成的運(yùn)算符,中間不能有空格
2,它們都是雙目運(yùn)算符,具有自左至右的結(jié)合性。
3,上面的6個(gè)運(yùn)算符中,前4個(gè)的優(yōu)先級(jí)要比后2個(gè)的優(yōu)先級(jí)要高。
先計(jì)算,后判斷,最后進(jìn)行賦值運(yùn)算。
三、幾個(gè)簡(jiǎn)單的邏輯運(yùn)算符
&&與一假則假
II或一真則真
!非非假則真,非真則假
1&&2=1
0&&6=0
inta=4,b=7;
a&&7=l
intx=0,y=7;
x++&&y++?x=1y=7
++x&&y++?x=ly=8
同樣放在II中也是一樣的。
4-2、4-3節(jié)、if語(yǔ)句
一、定義:
只有兩種結(jié)果。要么執(zhí)行這條語(yǔ)句,要么執(zhí)行那條語(yǔ)句。
if(條件表達(dá)式)
上述條件成立執(zhí)行的句子
else
上述條件不成立執(zhí)行的句子
如:
if(成績(jī)>60)
顯示及格
else
顯示不及格
二、分類
1.不含有else的語(yǔ)句
if(表達(dá)式)語(yǔ)句
if(a<b)
(
t=a;
a=b;
b=t;
2.含有else語(yǔ)句
if(條件)
語(yǔ)句1;
else
(
語(yǔ)句2;
語(yǔ)句3;
)
注:
L沒(méi)有分號(hào)
2.控制的是與if或者else緊臨的“一條"語(yǔ)句。
if(a<b)
printf("%d",b);
else
printf("%d”,a);
if(a%3==0)
yes
else
no
4-4節(jié)、結(jié)合一個(gè)例題來(lái)給大家分析if的嵌套
輸入一個(gè)學(xué)生的成績(jī),評(píng)定他的等級(jí)。每十分一個(gè)等級(jí)
elseif()
elseif()
else
if(a>=90)printf(nan);
elseif(a>=80)printf(Hb");
elseif(a>=70)printf("cu);
elseif(a>=60)printf("d");
elseprintf(,'eu);
4-5.節(jié)
7)設(shè)有定義:inta=l,b=2,c=3;,以下語(yǔ)句中執(zhí)行效果與其它三個(gè)不同的是(C)
A)if(a>b)c=a,a=b,b=c;
B)if(a>b){c=a,a=b,b=c;}
C)if(a>b)c=a;a=b;b=c;
D)if(a>b){c=a;a=b;b=c;}
(18)有以下程序應(yīng)該選(B)
#include<stdio.h>
main()
{intx;
scanf("%d”,&x);
if(x<=3;else
if(x!=10)
printf("%d\n",x);
)
程序運(yùn)行時(shí),輸入的值在哪個(gè)范圍才會(huì)有輸出結(jié)果
A)不等于10的整數(shù)
B)大于3且不等于10的整數(shù)
C)大于3或等于10的整數(shù)
D)小于3的整數(shù)
(19)有以下程序(C)
#include<stdio.h>
Main()
(
inta=l,b=2,c=3,d=0;
if(a==1&&b++==2)
if(b!=2llc-!=3)
printf("%d,%d,%d\n”,a,b,c);
elseprintf("%d,%d,%d\n”,a,b,c);
elseprintf("%d,%d,%d\n”,a,b,c);
)
程序運(yùn)行后的輸出結(jié)果是
A)1,2,3
B)1,3,2
C)1,3,3
D)3,2』
4?6節(jié)、條件表達(dá)式
是C語(yǔ)言中唯一的一個(gè)三目運(yùn)算。
格式:表達(dá)式1?表達(dá)式2:表達(dá)式3
當(dāng)1成立(非零時(shí))時(shí),表達(dá)式的值就是2的值,否則就是3的值。
如:
1.1<2?4:5
2.printf(,'%d,,,x<0?(4)*++x:x++);(假定X的值為-3)
3.++X>3?(x<3?a:b):b
4?7節(jié)、switch語(yǔ)句(一)
switch(表達(dá)式)
(
case常量表達(dá)式1:語(yǔ)句1
case常量表達(dá)式2:語(yǔ)句2
case常量表達(dá)式3:語(yǔ)句3
case常量表達(dá)式4:語(yǔ)句4
case常量表達(dá)式5:語(yǔ)句5
。。。
case常量表達(dá)式N:語(yǔ)句N
4?8節(jié)、switch語(yǔ)句(二)
switch(A/10)
(
case10:printf(uA");
case9:printf("A”);
case8;printf("b");
case7;printf(ucM);
case6;printf(nd");
default:printf("eH);
)
4-9節(jié)——4?15節(jié)、選擇題
[4.1]下列運(yùn)算符中優(yōu)先級(jí)最高的運(yùn)算符是(A)
A)!B)%C)-=D)&&
14.2]下列運(yùn)算符中優(yōu)先級(jí)最低的運(yùn)算符是(A)
A)llB)!=C)<=D)+
[4.3]為表示關(guān)系x>=y>=z,應(yīng)使用的C語(yǔ)言表達(dá)式是(A)
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
[4,4]設(shè)a、b和c都是int型變量,且a=3,b=4,c=5;則以下的表達(dá)式中,值為0的表
達(dá)式是(D)
A)a&&bB)a<=bC)allb+c&&b-cD)!((a<b)&&!clll)
[4.5]以下程序的輸出結(jié)果是:(C)
A)0B)1C)2D)3
main()
{inta=2,b=-l,c=2;
if(a<b)
if(b<0)
c=0;
elsec+=l;
printf(6<%d\n,,,c);
)
[4.6]以下程序的輸出結(jié)果是:(A)
A)1B)2C)3D)4
main()
{intw=4,x=3,y=2,z=l;
printf(**%d\n,,,(w<x?w:z<y?z:x));
14.7]若執(zhí)行以下程序時(shí)從鍵盤(pán)上輸入3和4,則輸出結(jié)果是(B)
A)14B)16C)18D)20
main()
{inta,b,s;
scanf(tt%d%d,,,&a,&b);
s=a;
if(a<b)s=b;
s:i:=s;
printf("%d\n”,s);
[4.9]運(yùn)行以下程序后,輸出(D)
A)####B)&&&&
C)####&&&&D)有語(yǔ)法錯(cuò)誤不能通過(guò)編譯
main()
{intk=-3;
if(k<=0)printf("****\n");
elseprintf(“&&&&\rT);
)
[4.10]若a和b均是正整數(shù)型變量,以下正確的switch語(yǔ)句是(A)
A)switch(pow(a,2)+pow(b,2))(注:調(diào)用求累的數(shù)學(xué)函數(shù))
{case1:case3:y=a+b;break;
case0:case5:y=a-b;
)
B)switch(a*a+b*b);
{case3:
case1:y=a+b;break;
case0:y=b-a;break;
)
C)switch()a
{default:x=a+b;
case10:y=a-b;break;
case11:y=a*d;break;
)
D)switch(a+b)
{case10:x=a+b;break;
easel1:y=a-b;break;
)
二、填空題
[4.111C語(yǔ)言中用非0表示邏輯值“真”,用0表示邏輯值“假”。
[4.12]C語(yǔ)言中的關(guān)系運(yùn)算符按優(yōu)先級(jí)別是(!=<=)!=、<=
[4.13]C語(yǔ)言中的邏輯運(yùn)算符按優(yōu)先級(jí)別是(II&&!)
[4,I4JC語(yǔ)言中的關(guān)系運(yùn)算符和邏輯運(yùn)算符的優(yōu)先級(jí)別是(==&&)
[4.15]C語(yǔ)言中邏輯運(yùn)算符」_的優(yōu)先級(jí)高于算術(shù)運(yùn)算符。
[4.16J將下列數(shù)學(xué)式改寫(xiě)成C語(yǔ)言的關(guān)系表達(dá)式或邏輯表達(dá)式A)a=blla<c和B)
x>4llx<-4
A)a=b或a<cB)lxl>4
14.171請(qǐng)寫(xiě)出以下程序的輸出結(jié)果1。
main()
{inta=100;
if(a>100)printf("%d\n”,a>100);
elseprintfCt%d\n,,,a<=100);
[4.18]請(qǐng)寫(xiě)出與以下表達(dá)式等價(jià)的表達(dá)式A)Xv=0B)1
A)!(x>0)B)!0
[4.19]當(dāng)a=l,b=2,c=3時(shí),以下if語(yǔ)句執(zhí)行后,a、b、c中的值分別為3、2、2_
if(a>c)
b=a;
a=c;
c=b;
[4.20]若變量巳正確定義,以下語(yǔ)句段的輸出結(jié)果是*#
x=0,y=2,z=3;
switch(x)
{case0:switch(y==2)
{case1:printf("*");break;
case2:printf("%");break;
)
caseI:switch(z)
{case1:printfC'D;
case2:printf("*");break;
default:printfCt#^^);
三、編程題
[4.21J請(qǐng)將以卜語(yǔ)句改寫(xiě)成switch語(yǔ)句。
if(a<30)m=l;
elseif(a<40)m=2;
elseif(a<50)m=3;
elseif(a<60)m=4;
elsem=5;
[4.22]編寫(xiě)程序,輸入一位學(xué)生的生日(年:yO、月:mO、日:dO);并輸入當(dāng)前的日期(年:
yl、月:ml、日:dl);輸出該生的實(shí)足年齡。
[4.23]編寫(xiě)程序,輸入一個(gè)整數(shù),打印出它是奇數(shù)還是偶數(shù)。
[4.24]編寫(xiě)程序,輸入a、b、c三個(gè)數(shù),打印出最大者。
[4.25]有一函數(shù):
x(-5<x<0)
y=x-1(x=0)
x+1(0<x<10)
編寫(xiě)一程序,要求輸入X的值,輸出y的值。
分別用(1)不嵌套的if語(yǔ)句(2)嵌套的if語(yǔ)句(3)if-else語(yǔ)句(4)switch語(yǔ)句
第五課:循環(huán)結(jié)構(gòu)
5-1>5?2節(jié)、while語(yǔ)句
一、格式:
while(表達(dá)式)
循環(huán)體
注:1:
2:
3:一條
while(a<3)l
{a+=s;2
s=a;3}
1.......100
inti=l,sum=0;
while(i<101)
sum=sum+i++;
printf(u%du,sum);
叢1開(kāi)始加到哪個(gè)數(shù)時(shí)他們的和將超過(guò)1000?
inti=l,sum=0;
while(sum<1000)
{sum+=i;999+42=1041
i++;}4243
printf(M%d",-i);
5?3節(jié)、do?while語(yǔ)句
dowhile()
格式:
do
循環(huán)體
while(表達(dá)式)
1235813
do
(
a3=al+a2;
al=a2;
a2=a3;
}whi!e(a3<=1000);
1:1
2:;
5?4節(jié)、for語(yǔ)句(1)
for語(yǔ)句和for語(yǔ)句構(gòu)成的循環(huán)結(jié)構(gòu)
一、格式:
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
循環(huán)體
相當(dāng)于while語(yǔ)句的
表達(dá)式1;
while(表達(dá)式2)
(
循環(huán)體;
表達(dá)式3;
)
k=0
for(;k<=10;)
{printf(,,*u);
k++;
)
intk=0;
while(k<10)
(
printf(',*u);
k++;
注:
1:表達(dá)式可以省略,但分號(hào)不可以。
2:表達(dá)式可以是任意有效的C語(yǔ)言表達(dá)式
第六課、字符型數(shù)據(jù)
6-1節(jié)、字符型常量
格式:'a'P4,
要求:
1,單引號(hào)中的大寫(xiě)字母和小寫(xiě)字母代表不同的字符常量。
2.單引號(hào)中的空格也是一個(gè)字符常量,但不能是兩個(gè)連續(xù)的單引號(hào)
3.字符常量只能用單引號(hào)括起來(lái),不能用雙引號(hào)。
轉(zhuǎn)義字符
\n代表回車
''代表一個(gè)單引號(hào)’
\\代表一個(gè)\
'”代表一個(gè)雙引號(hào)
注意:
1.轉(zhuǎn)義字符常量,如只代表一個(gè)字符
2.反斜線后的8進(jìn)制數(shù)可以不用0開(kāi)頭。如1中所講的141就是一個(gè)8進(jìn)制數(shù)。
0141
3.反斜線后的16進(jìn)制數(shù)只可以用x開(kāi)頭,不可以用X開(kāi)頭。
字符串常量
格式:由雙引號(hào)括起來(lái)的一串字符。
同時(shí)也要知道“A”和,A,是不一樣的。
"A"'A'
ACSII碼
A65a97
匕'-A'=32
6.2節(jié)、字符變量
格式:chara='s'
6.3字符的輸入和輸出
Printf和scanf函數(shù)輸出和輸入字符
對(duì)于字符型數(shù)據(jù)的格式說(shuō)明符是%c
Charc='a';
Printf("%c”,c);
Chara,b,c,d;
Scanf("%c%c%c'',&a,&b,&c);
6-3節(jié)、程序舉例
寫(xiě)出26個(gè)大寫(xiě)字母和他們的ASCII代碼要求每行輸出兩組數(shù)據(jù)。
#include<stdio.h>
Main()
(
Charch;intI;
For(i=0;i<26:i++)
(
Ch=i+65;
If(i%2==0)
Printf("\n”);
Printf(4tc=%c,ASCII=%d,,,ch,ch);
在上面的程序中有對(duì)于字符的輸入與輸出,在C語(yǔ)言中也有另外的輸入輸出字符的語(yǔ)
句。
輸入:變量名=getchar()
輸出:putchar(變量名)
第七章函數(shù)
7-1節(jié)、庫(kù)函數(shù)
1.調(diào)用C語(yǔ)言標(biāo)準(zhǔn)庫(kù)函數(shù)時(shí)要求的include命令行
Include命令行必須以#開(kāi)頭,系統(tǒng)提供的頭文件以.h作為文件的后綴,文件名用一對(duì)
雙引號(hào)或一對(duì)尖括號(hào)(需要注意include命令行不是C語(yǔ)句,因此不能在最后加分號(hào))
2.標(biāo)準(zhǔn)庫(kù)函數(shù)的調(diào)用
函數(shù)名(參數(shù)表)
如:putchar(ch)
(1)出現(xiàn)在表達(dá)式中的----ch=getchar()
(2)做為單獨(dú)的語(yǔ)句完成某種操作。--printf(“********”);
7.2函數(shù)的定義和返回值
由于C語(yǔ)言中的定義的函數(shù)不能完成用戶所有的要求,所以用戶可以為自己定義函數(shù)實(shí)
現(xiàn)相應(yīng)的功能。
7.2.1函數(shù)定義的語(yǔ)法
1:格式:
函數(shù)返回值的類型名函數(shù)名(類型名形式參數(shù)1,類型名形式參數(shù)2……)
(
說(shuō)明部分
語(yǔ)句部分
}
2:函數(shù)名和形式參數(shù)都是用戶命名的標(biāo)識(shí)符。在同一個(gè)程序中,函數(shù)名必須唯一,
形式參數(shù)名只要在同一函數(shù)中唯一即可,可以與其他函數(shù)中的變量同名。
3:C語(yǔ)言規(guī)定,不能在函數(shù)的內(nèi)部定義函數(shù)。
4:若在函數(shù)的首部省略了函數(shù)返回值的類型名,則說(shuō)明該函數(shù)的返回值是int類型
5:除了返回值類型為int類型的函數(shù)外,函數(shù)必須先定義后調(diào)用。
6:當(dāng)沒(méi)有函數(shù)返回值,則必須把函數(shù)定義成void類型。
例:編寫(xiě)求兩個(gè)雙精度數(shù)之和的函數(shù)。
doubleadd(doublea,doubleb)
{
doubles;
s=a+b;
returns;
7-2節(jié)、函數(shù)的返回值
函數(shù)的值通過(guò)return語(yǔ)句返回,
return表達(dá)式;
此表達(dá)式的值必須與函數(shù)首部所說(shuō)明的類型一致,若類型不一致,則以函數(shù)值的類型
為準(zhǔn)。需要注意的是,無(wú)論函數(shù)體中有多少個(gè)return語(yǔ)句,只能執(zhí)行一次。
函數(shù)體內(nèi)可以沒(méi)有return語(yǔ)句,這時(shí)也必須定義函數(shù)為viod類型。
7-3節(jié)、函數(shù)的調(diào)用
7.3.1函數(shù)的兩種調(diào)用方式
格式為:
函數(shù)名(實(shí)在參數(shù)表)
當(dāng)實(shí)參的個(gè)數(shù)多于一個(gè)時(shí),各實(shí)參用逗號(hào)隔開(kāi)。實(shí)參的個(gè)數(shù)必須與調(diào)用函數(shù)中形參的
個(gè)數(shù)相周,類型一一對(duì)應(yīng)匹配。
如沒(méi)有形參,則形式為函數(shù)名()注意后面的小括號(hào)不能丟。
如題:
#include<stdio.h>
doubleadd(double.double);
main()
doublem,n,z;
scanf(<4%lf%lf\m,n);
z=add(m,n);
printf(<<%lf,,z);\
)
doubleadd(doublea,doubleb)
(
doubles;
s=a+b;
returns;
7.3.2函數(shù)調(diào)用時(shí)的語(yǔ)法要求
1.調(diào)用函數(shù)時(shí),函數(shù)名必須與所調(diào)用的函數(shù)名字完全一致。
2.實(shí)參的個(gè)數(shù)必須與形參的個(gè)數(shù)―致。
3.C語(yǔ)言中規(guī)定,函數(shù)必須先定義后使用。
4.C語(yǔ)言中,函數(shù)可以直接或間接的自己調(diào)用自己。稱為遞歸調(diào)用
fac(n)=fac(n-I)*n
7-4節(jié)、函數(shù)的說(shuō)明
在C語(yǔ)言中凡是未在調(diào)用前定義的函數(shù),C編譯程序都默認(rèn)函數(shù)的返回值為int型。對(duì)
于返回值是其它類型的,若把函數(shù)的定義放在調(diào)用之后,應(yīng)該在調(diào)用之前對(duì)函數(shù)進(jìn)行說(shuō)明。
說(shuō)明的格式:
類型名函數(shù)名(參數(shù)類型1,參數(shù)類型2.。。。。)
也可以用以下格式
類型名函數(shù)名(參數(shù)類型1參數(shù)名1,參數(shù)類型2參數(shù)名2,……)
函數(shù)說(shuō)明的位置:
一般為了讓程序早點(diǎn)識(shí)別出程序中的定義好了的函數(shù),一般將其放在程序的開(kāi)始部分
7-5節(jié)、調(diào)用函數(shù)和被調(diào)用函數(shù)之間的數(shù)據(jù)傳遞
-:三種格式進(jìn)行傳遞
1.實(shí)在參數(shù)和形式參數(shù)之間進(jìn)行數(shù)據(jù)傳遞
2.通過(guò)return語(yǔ)句把函數(shù)值返回調(diào)用函數(shù)
3.能過(guò)全局變量,但這不是一種好的方式,通常不提倡使用。
通過(guò)一個(gè)程序來(lái)看一下數(shù)據(jù)到底是怎樣傳遞的。
#include<stdio.h>
viodtry(int,int,int);
main()
(
intx=2,y=3,z=0;
printf(u(l)x=%dy=%dz=%d\nn,x,y,z);
try(x,y,z);
printf(<4(4)x=%dy=%dz=%d\n,,,x,y,z);
)
voidtry(intx,inty,intz)
(
printf("⑵x=%dy=%dz=%d\n,,,x,y,z);
z=x+y;
x=x*x;
y=y*y;
printf("⑶x=%dy=%dz=%d\n”,x,y,z");
屏幕上的結(jié)果是:
⑴x=2y=3z=0
(2)x=2y=3z=0
⑶x=4y=9z=5
(4)x=2y=3z=0
再來(lái)一個(gè)程序
#include<stdio.h>
viodswap(int,int);
main()
(
intx=10,y=20;
printf(4<(l)x=%dy=%d\n,,,x,y);
swap(x,y);
printf(46(4)x=%dy=%d\n,,,x,y);
)
voidswap(inta,intb)
(
intt;
printfCX2)a=%db=%d\n,,,a,b);
t=a;a=b;b=t;
printf(46(3)a=%db=%d\n,5,a,b);
)
程序運(yùn)行結(jié)果
(1)x=10y=20
⑵a=10b=20
⑶a=20b=10
(4)x=10y=20
7.6程序應(yīng)用舉例
編寫(xiě)一個(gè)函數(shù)isprime(inta),用來(lái)判斷自變量a是否為素?cái)?shù)。若是素?cái)?shù),函數(shù)返回整數(shù)1,
否則返回0.
#include<stdio.h>
intisprime(int)
main()
(
intx;
printf(t4enteraintegernumber:");
scanf("%d",&x);
if(isprime(x))
prinlf("%disprime\n",x);
else
printf(t4%disnotprime\n,,,x);
)
intisprime(inta)
(
inti;
for(i=2;i<=a/2;i++)
if(a%i==0)
return0;
return1;
)
編寫(xiě)函數(shù)myupper(ch),把ch中的小寫(xiě)字母轉(zhuǎn)換成大寫(xiě)字母作為函數(shù)值返回,其他字符不
變。主函數(shù)中不斷輸入字符,用字符@結(jié)束輸入,同時(shí)不斷輸出結(jié)果。
#include<stdio.h>
#include<ctype.h>
charmyupper(charch)
if(ch>=,a,&&ch<=,z,)
ch=ch-32;
returnch;
)
main()
(
charc;
while((c=getchar())!='@')
(
c=myupper(c);
putchar(c);
)
)
編寫(xiě)函數(shù)統(tǒng)計(jì)輸入字符的個(gè)數(shù),用@字符結(jié)束輸入,在主函數(shù)中調(diào)用此函數(shù),輸出統(tǒng)計(jì)結(jié)
果。
#include<stdio.h>
longcountch();
main()
(
longn;
n=countch();
printf(ttn=%ld\n,,,n);
)
longcountch()
(
longcn;
for(cn=0;getchar()!=,@?;cn++)
returncn;
7-10-一7-13節(jié)、課后習(xí)題
[7.1]以下說(shuō)法中正確的是C
A)C語(yǔ)言程序總是從第一個(gè)定義的函數(shù)開(kāi)始執(zhí)行
B)在C語(yǔ)言程序中,要調(diào)用的函數(shù)必須在main函數(shù)中定義
C)C語(yǔ)言程序總是從main函數(shù)開(kāi)始執(zhí)行
D)C語(yǔ)言程序中的main函數(shù)必須放在程序的開(kāi)始部分
[7.2]以下函數(shù)的類型是C
A)與參數(shù)x的類型相同
B)void類型
C)inl類型
D)無(wú)法確定
fff(floatx)
{printf("%d\n",x*x);}
[7.3]以下函數(shù)調(diào)用語(yǔ)句中,含有的實(shí)參個(gè)數(shù)是B
A)1B)2C)4D)5
func((exp1,exp2),(exp3,exp4,exp5));
L7.4]以下程序的輸出結(jié)果是C
A)llB)20C)21D)31
func(inta,intb)
{intc
c=a+b;
returnc;
)
main()
{intx=6,y=7,z=8,r;
r=func((x-,y++,x+y),z-);
printf("%d\nn,r);
)
17.5J以下程序的輸出結(jié)果是A
A)-lB)0C)1D)2
main()
{inti=2,p;
p=f(i,i+l);
printf("%d”,p);
}
intf(inta,intb)
{intc;
c=a;
if(a>b)c=l;
elseif(a==b)c=O;
elsec=-l;
return(c);
)
[7.6]以下程序的輸出結(jié)果是D
A)0B)1C)6D)無(wú)定值
fun(inta,intb,intc)
{c=a*b;}
main()
{intc;
fun(2,3,c);
printf("%d\n",c);
[7.7]以下程序的輸出結(jié)果是A
A)5.500000B)3.000000Q4.000000D)8.25
doublef(intn)
{inti;doubles;
s=1.0;
for(i=1;i<=n;i++)s+=1.0/i;
returns;
)
main()
{inti,m=3;floata=0.0;
for(i=0;i<m;i++)a+=f(i);
printf(H%f\nM,a)L;
)
二、填空題
[7.8]以下程序的輸出結(jié)果是12__.
unsignedfun6(unsignednum)
{unsignedk=l;
do
{k*=num%10;num/=10;
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 銷售話術(shù)與溝通技巧訓(xùn)練培訓(xùn)
- 2024年設(shè)備監(jiān)理師考試題庫(kù)附答案【輕巧奪冠】
- 跨學(xué)科合作教學(xué)的實(shí)踐探索計(jì)劃
- 旅游行業(yè)前臺(tái)員工工作心得
- 鋼鐵冶煉工藝創(chuàng)新
- 2024年設(shè)備監(jiān)理師考試題庫(kù)及答案(必刷)
- 2024年美術(shù)教案經(jīng)典
- 分包采購(gòu)合作協(xié)議(2篇)
- 2024年聯(lián)通智家工程師(初級(jí))認(rèn)證理論備考試題庫(kù)(附答案)
- 通關(guān)03 世界史選擇題專練(原卷版)
- (高清版)TDT 1042-2013 土地整治工程施工監(jiān)理規(guī)范
- 工程訓(xùn)練(廣東工業(yè)大學(xué))智慧樹(shù)知到期末考試答案2024年
- 2023-2024學(xué)年重慶市九龍坡區(qū)高二(上)期末物理試卷(含解析)
- 初中數(shù)學(xué)九年級(jí)下冊(cè)《位似》(1)教案
- 天全縣儲(chǔ)備林建設(shè)項(xiàng)目施工組織設(shè)計(jì)樣本
- 礦權(quán)收儲(chǔ)方案
- 2022-2023學(xué)年重慶市渝北區(qū)人教PEP版五年級(jí)上冊(cè)期末英語(yǔ)試卷
- 安徽省合肥市廬江縣2022-2023學(xué)年八年級(jí)上學(xué)期期末物理試卷(含答案)
- 造價(jià)年度工作總結(jié)
- 護(hù)理人員應(yīng)急預(yù)案培訓(xùn)課件:居家病人護(hù)理與應(yīng)急服務(wù)
- 液壓與氣動(dòng)傳動(dòng)CAI第1章
評(píng)論
0/150
提交評(píng)論