版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
第一章概述
【要點歸納】
1、C語言的特點
⑴C語言短小精悍,基本組成精煉、簡潔。
32個標(biāo)準(zhǔn)關(guān)鍵字,45個標(biāo)準(zhǔn)運算符及9種控制語句。
⑵C語言運算符豐富,表達(dá)能力強。
⑶C語言數(shù)據(jù)結(jié)構(gòu)豐富,結(jié)構(gòu)化好。
⑷C語言提供了某些與匯編語言相似的功能,有利于編寫系統(tǒng)軟件。
⑸C語言程序可移植性好。
2、C語言標(biāo)識符
C語言中,允許用作標(biāo)識符的字符有:
?26個英文字母(包括大小寫)
?數(shù)字0—9
?下劃線。
C語言的標(biāo)識符是滿足如下條件的字符序列:
?只能由英文字母、數(shù)字和下劃線組成。
?長度為1-32.
?必須以英文字母或下劃線開頭。
C語言的標(biāo)識符可以分為以下三類:
?關(guān)鍵字。C語言中規(guī)定了一批標(biāo)識符,它們在程序中都代表著固定的含義,不能另
作他用。
?預(yù)定義標(biāo)識符。這些標(biāo)識符在c語言中也都有特定的含義,因此為了避免誤解,建
議用戶不要把這些預(yù)定義標(biāo)識符另作它用。
?用戶標(biāo)識符。
3、C語言風(fēng)格
(DC語言嚴(yán)格區(qū)分英文字母大小寫。
(2)C語言用“;”作為語句分隔符。
⑶C語言中“{}”用于標(biāo)識一組語句,構(gòu)成復(fù)合語句。
⑷C程序書寫格式自由,?行內(nèi)可以寫幾個語句,一個語句也可以寫在幾行上。
⑸注釋用來向用戶提示或解釋程序的意義。(注釋部分允許出現(xiàn)在程序的任何位置。編
譯時,會忽略所有的注釋符,即不對他們作任何處理。)
4、C程序構(gòu)成
⑴一個C源程序由函數(shù)構(gòu)成(函數(shù)是C程序的基本結(jié)構(gòu)單位),其中至少包括一個主函
數(shù)。
(2)main函數(shù)可以放在任意位置,C程序總是從main函數(shù)開始執(zhí)行,在main函數(shù)中結(jié)
束。
⑶C程序中可以包含常量、變量、運算符和標(biāo)識符。
5、C程序的結(jié)構(gòu)
C語言是一種結(jié)構(gòu)化的程序設(shè)計語言,它提供了3種基本結(jié)構(gòu):
⑴順序結(jié)構(gòu);
⑵選擇結(jié)構(gòu);
⑶循環(huán)結(jié)構(gòu)。
6、結(jié)構(gòu)化程序設(shè)計
模塊化程序設(shè)計的思想是:按照自頂向下的原則,把問題逐層分解。即先從總體出發(fā),
把問題分成若干個大塊,每一大塊代表一個大任務(wù);在此基礎(chǔ)上,再對每個大塊細(xì)化,把大
任務(wù)變成若干個小任務(wù),直到每個小任務(wù)都能用基本結(jié)構(gòu)表示為止。在劃分模塊的過程中,
應(yīng)保證模塊的單入口、單出口、完整性和獨立性。
從組織結(jié)構(gòu)上看,一個C程序可以由若干個源程序文件組成,一個源文件可以由若干
個函數(shù)及全局變量聲明部分組成,一個函數(shù)由數(shù)據(jù)定義部分和執(zhí)行語句組成。
7、C程序設(shè)計步驟
確
定
分
數(shù)
建
分
編
調(diào)
析
據(jù)
立
析
寫
試
整
結(jié)
數(shù)
問
程
運
理
構(gòu)
學(xué)
題
序
行
結(jié)
和
模
果
算
型
法
8、C程序的開發(fā)過程
編輯(生成?c文件)一編譯(生成?obj文件)連接(生成?exe文件)執(zhí)行
C編譯系統(tǒng)
C源程序目標(biāo)程序可執(zhí)行一
編輯c文件編譯?正1文件連接?exe文件執(zhí)
--------'行
其它
目標(biāo)文件
附:c語言中的關(guān)鍵字
autobreakcasecharconstcontinuedefault
dodoubleelseenumexternfloatfor
gotoifintlongregisterreturnshort
signedsizeofstaticstructswitchtypedefunion
unsignedvoidvolatilewhile
【本節(jié)例題選編】
1、選擇題
【例1.1]一個C語言程序是由______
A.一個主程序和若干子程序組成B.若干函數(shù)組成
C.若干過程組成D.若干子程序組成
【例1.2】C語言規(guī)定,在一個源程序中,main函數(shù)的位置_____
A.必須在最開始B.必須在系統(tǒng)調(diào)用的庫函數(shù)的后面
C.可以任意D.必須在最后
【例1.3]一個C程序的執(zhí)行是從
A.本程序的main函數(shù)開始,到main函數(shù)結(jié)束
B.本程序文件的第一個函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束
C.本程序的main函數(shù)開始,到本程序文件的最后一個函數(shù)結(jié)束
D.本程序文件的第一個函數(shù)開始,到本程序main函數(shù)結(jié)束
【例1.4]以下是C程序的基本結(jié)構(gòu)單位
A.文件B.語句
C.函數(shù)D.表達(dá)式
【例1.5]以下不是C語言的特點。
A.運算符豐富B.數(shù)據(jù)結(jié)構(gòu)豐富
C.可以直接訪問物理地址D.C函數(shù)包含的語句數(shù)目沒有限制
【例1.6】下列關(guān)于C語言標(biāo)識符的敘述中正確的是o
A.標(biāo)識符中可以出現(xiàn)下劃線和中劃線(減號)
B.標(biāo)識符中不可以出現(xiàn)中劃線,但可以出現(xiàn)下劃線
C.標(biāo)識符中可以出現(xiàn)下劃線,但不可以放在標(biāo)識符的開頭
D.標(biāo)識符中可以出現(xiàn)下劃線和數(shù)字,它們都可以放在標(biāo)識符的開頭
【例1.7】以下幾組選項中,均為不合法標(biāo)識符的是
A.A,P_0,doB.float,laO,_A
C.b-a,goto,intD._123,temp,INT
【例1.8]以下敘述不正確的是。
A.一個C源程序可由一個或多個函數(shù)組成
B.一個C源程序必須包含一個main函數(shù)
C.C程序的基本組成單位是函數(shù)
D.在C程序中,注釋說明只能位于一條語句的后面
【例1.9】以下敘述正確的是。
A.在C程序中,main函數(shù)必須位于程序的最前面
B.C程序的每行中只能寫一條語句
C.C語言本身沒有輸入輸出語句
D.在對一個C程序進(jìn)行編譯的過程中,可發(fā)現(xiàn)注釋中的拼寫錯誤
2、填空題
【例1.10]一個C源程序中至少應(yīng)包括一個。
【例1.11】C程序編譯后生成程序,連接后生成程序。
【例1.121C語言規(guī)定,標(biāo)識符只能由、、—三種字符組成,而且,第一個字
符必須是或。
【例1.13】程序的3種基本控制結(jié)構(gòu)是結(jié)構(gòu)、結(jié)構(gòu)和結(jié)構(gòu)。
第二章數(shù)據(jù)類型及其運算
【要點歸納】
1、基本數(shù)據(jù)類型
C語言的數(shù)據(jù)類型有基本數(shù)據(jù)類型和非基本數(shù)據(jù)類型之分。
'整型
,基本類型<字符型r
浮點型[單精度型
1枚舉類型雙精度
'數(shù)組類型
數(shù)據(jù)類型《
構(gòu)造類型“結(jié)構(gòu)體類型
、共用體類型
指針類型
1空類型
2、變量
所謂變量就是在程序執(zhí)行過程中,其值可以改變的量。變量有兩個要素:
?變量名。
?變量值。
C語言是一種強類型語言,它要求在使用數(shù)據(jù)之前對數(shù)據(jù)的類型進(jìn)行說明。也就是說,
在C語言中,所有變量必須先定義后使用。在定義的同時也可以進(jìn)行賦初值操作,即初始
化。
定義變量的格式如下:
[存儲類型]數(shù)據(jù)類型變量1,變量2,…;
3、常量
常量又稱作常數(shù),是指在程序運行過程中其值不能被改變的量。在C語言中,常量有
不同的類型,如整型常量、實型常量和字符串常量等。
⑴整型常量
?十進(jìn)制
其形式是:d
?八進(jìn)制
其形式是:Od
?十六進(jìn)制
其形式是:Oxd
整型數(shù)據(jù)在內(nèi)存中是以二進(jìn)制方式存放的,最高位為符號位,并以補碼表示。
將一個十進(jìn)制整數(shù)轉(zhuǎn)化為補碼表示的方法如下:
?對于正數(shù),其補碼表示與原碼相同。
?對于負(fù)數(shù),其補碼表示為它的反碼加1;負(fù)數(shù)的反碼為其絕對值的所有位(含符號
位)取反得到。
對于用補碼表示的數(shù)據(jù),還原為原碼的方法如下:
?對于正數(shù)(補碼表示的符號位為0),原碼與補碼相同。
?對于負(fù)數(shù),原碼一定為負(fù)數(shù),其絕對值為除符號位以外所有位取反后加1。
⑵實型常量
實型常量又稱浮點型常量,是一個用十進(jìn)制表示的符號實數(shù)。實型常量表示形式有以下
兩種:
?小數(shù)表示方式
?指數(shù)表示方式
注:e之前必須有數(shù)字,e后面的指數(shù)必須為整數(shù)。
⑶字符常量
字符常量又分為字符型常量、字符串常量、轉(zhuǎn)義字符和符號常量四種類型。
?字符型常量
字符型常量是指用一對單引號括起來的一個字符。
?字符串常量
字符串常量是指用一對雙引號括起來的一串字符。
?轉(zhuǎn)義字符
轉(zhuǎn)義字符是C語言中一種特殊形式的字符。
例:\ddd三位八進(jìn)制
\xhh二位十六進(jìn)制
?符號常量
C語言允許將程序中的常量定義為一個標(biāo)識符,稱為符號常量。
例:#definePI3.1415926
4、運算符
⑴算術(shù)運算符
+、一、*、/、%
⑵自增和自減運算符
++、——
注:自增和自減運算符只適用于單個變量,而不能用于其他表達(dá)式。
⑶賦值運算符
⑷復(fù)合的賦值運算符
+=、—=、*=、/=、%=
⑸關(guān)系運算符
<><=>>>>=、=、!=
⑹邏輯運算符
!、&&、||
⑺逗號運算符
表達(dá)式1,表達(dá)式2
⑻條件運算符
c?el:e2
⑼長度運算符
sizeof。
⑩位邏輯運算符
?、&、|、A
5、類型轉(zhuǎn)換
⑴數(shù)據(jù)的混合運算和類型自動轉(zhuǎn)換
C語言允許不同類型的數(shù)據(jù)混合運算,但此時要遵循一定的規(guī)則,將運算符兩邊的操作
數(shù)轉(zhuǎn)換成共同的類型,具體轉(zhuǎn)換原則是將運算符兩邊的數(shù)據(jù)轉(zhuǎn)換成為它們之中數(shù)據(jù)最長的數(shù)
據(jù)類型,以保證運算的精度不會低。
double"—float
lohg
unsigned
int?<——char,short
⑵強制類型轉(zhuǎn)換
(類型名稱)表達(dá)式
6、C語言語句
一個C程序應(yīng)包括數(shù)據(jù)描述(由數(shù)據(jù)聲明部分來實現(xiàn))和數(shù)據(jù)操作(由執(zhí)行語句來實
現(xiàn))。C語句分為以下五類:
?控制語句(9種)
?函數(shù)調(diào)用語句
?表達(dá)式語句
?空語句
?復(fù)合語句
7、數(shù)據(jù)輸出
在C語言中可以使用printf()、putchart()、puts()等函數(shù)進(jìn)行數(shù)據(jù)輸出。
注:在print")語句中,是從右向左計算輸出表達(dá)式的值。
8、數(shù)據(jù)輸入
在C語言中可以使用scanf(卜getchart(卜gets()等函數(shù)進(jìn)行數(shù)據(jù)輸入。
注:
(Dscanf()函數(shù)中沒有精度控制。
⑵gets(str);與scanf("%s",str);的差別是:使用gets()函數(shù)輸入的字符串可
以含有空格,而scanf("%s",str);不能輸入含空格字符的字符串。
【本節(jié)例題選編】
1、選擇題
【例2.1]若x、i、j和k都是int型變量,則計算下面表達(dá)式后,x的值為
x=(i=4j=16,k=32)
A.4B.16C.32D.52
【例2.2】若有代數(shù)式上
則不正確的C語言表達(dá)式是
A.a/b/c*e*3B.3*a*e/b/cC.3*a*e/b*cD.a*e/c/b*3
【例2.3]一知各變量的類型說明如下:
intk,a,b;
unsignedlongw=5;
doublex=1.42;
則以下不符合C語法的表達(dá)式是
A.x%(-3)B.w+=?2C.k=(a=2,b=3,a+b)D.a+=a-=(b=4)*(a=3)
【例2.4】以下選項中不屬于C語言的類型的是o
A.signedshortintB.unsignedlongint
C.unsignedintD.longshort
【例2.5】下列定義中合法的是o
A.shor_a=l-.le-l;B.doubleb=l+5e2.5;
C.longdo=0xfdaL;D.float2_end=l-e-3;
【例2.61?8在內(nèi)存中的存儲形式是。
A.1111111111111000B.1000000000001000
C.0000000000001000D.1111111111110111
【例2.7]數(shù)值029是一個o
A.八進(jìn)制數(shù)B.十六進(jìn)制數(shù)
C.十進(jìn)制數(shù)D.非法數(shù)
【例2.8】在C語言中,要求運算數(shù)必須是整型的運算符是
A./B.++C.!=D.%
【例2.9】以下符合C語言語法的賦值表達(dá)式是o
A.d=9+e+f=d+9B.d=9+e,f=d+9
C.d=9+e,e++,d+9D.d=9+e++=d+7
【例2.10】C語言中,關(guān)于自增自減運算符使用正確的是o
A.10++B.(x+y)—C.d+~H~d+++d++D.++(a-b)
【例2.11】設(shè)有intx=ll;則表達(dá)式(x++*l/3)的值是o
A.3B.4C.11D.12
【例2.12]已知:inti=6,j;則語句j=(++i)+(i++)后的j值是。
A.4B.14C.13D.15
【例2.13]設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||-H-y后,y的值為
A.不定值B.4C.3D.1
【例2.14】當(dāng)c的值不為0時,以下能將c的值賦給變量a,b的是o
A.c=b=aB.(a=c)||(b=c)
C.(a=c)&&(b=c)D.a=c=b
【例2.15】已有定義:intx=3,y=4,z=5,則表達(dá)式!(x+y)+z-l&&y+z/2的值是。
A.6B.0C.2D.1
【例2.16】下列運算符中,哪個運算符的優(yōu)先級最高o
A.<=B.+C.IID.>=
【例2.17]在C語言中,int、char和short三種類型數(shù)據(jù)所占用的內(nèi)存是。
A.均為2個字節(jié)B.由用戶自己定義
C.由所用機器的機器字長決定的D.是任意的
【例2.18]若有說明語句:charc='\72’;則變量c
A.包含1個字符B.包含2個字符
C.包含3個字符D.說明不合法,c的值不確定
【例2.19]若有定義:inta=7;floatx=2.5,y=4.7;則表達(dá)式x+a%3*(int)(x+y)%2/4的值是_
A.2.500000B.2.750000C.3.500000D.0.000000
【例2.20]設(shè)有說明:charw;intx;floaty;doublez;則表達(dá)式w*x+z-y值的數(shù)據(jù)類型為__
A.floatB.charC.intD.double
【例2.21】以下程序的執(zhí)行結(jié)果是。
#include<stdio.h>
main()
{
inti=2;
printf("%d,%d\n”,++i,-i);
}
A.1,1B.2,1C.1,2D.2,2
【例2.22】當(dāng)接受用戶輸入的含空格的字符串時,應(yīng)使用的函數(shù)是。
A.scanf()B.gets()C.getchar()D.getc()
【例2.23】下列敘述中正確的是
A.C語言中既有邏輯類型也有集合類型
B.C語言中沒有邏輯類型但有集合類型
C.C語言中有邏輯類型但沒有集合類型
D.C語言中既沒有邏輯類型也沒有集合類型
【例2.24】以下錯誤的敘述是o
A.在C程序中,逗號運算符的優(yōu)先級最低
B.在C程序中,APH和aph是兩個不同的變量
C.若a和b類型相同,在計算了賦值表達(dá)式a=b后b中的值將放入a中,而b中的
值不變
D.當(dāng)從鍵盤輸入數(shù)據(jù)時,對于整型變量只能輸入整型數(shù)值,對于實型變量只能輸
入實型數(shù)值
【例2.25]長整型long數(shù)據(jù)在內(nèi)存中的存儲形式是
A.ASCII碼B.原碼C.反碼D.補碼
【例2.26】字符型常量在內(nèi)存中存放的是
A.ASCII碼B.BCD碼C.內(nèi)部碼D.十進(jìn)制碼
【例2.27】字符串常量“\\\22a,0\n”的長度是
A.8B.7C.6D.5
【例2.28】設(shè)intx=l,y=l;表達(dá)式(!x||y-)的值是
A.0B.1C.2D.-1
【例2.29]已知:intx;則使用逗號表達(dá)式(x=4*5,x*5),x+25的結(jié)果是,變量x的值
為。
A.20B.100C.45D.表達(dá)式不合法
【例2.30]邏輯運算符兩側(cè)運算對象的數(shù)據(jù)類型。
A.只能是0或1B.只能是0或非0正數(shù)
C.可以是整型或字符型數(shù)據(jù)D.可以是任何類型的數(shù)據(jù)
【例2.31】以下程序的執(zhí)行結(jié)果是。
#include<stdio.h>
main()
{
printf("%f\n”,2.5+1*7%2/4);
)
A.2.500000B.2.750000C.3.375000D.3.000000
【例2.32】若給定條件表達(dá)式(M)?(a++):(a--),則其中表達(dá)式(M)
A.和(M==0)等價B.和(M==l)等價
C.和(M!=0)等價D.和(M!=1)等價
【例2.33】有以下程序:
#include<stdio.h>
main()
(
unsignedchara,b,c;
a=0x3;
b=a|0x8;
c=b?l;
printf("%d%d\n”,b,c);
)
程序運行后的輸出結(jié)果是。
A.-1112B.-6-13
C.1224D.1122
2、填空題
【例2.34]若有以下定義,則計算表達(dá)式y(tǒng)+=y=m*=y后的y值是。
intm=5,y=2;
【例2.35]已知intx=6;則執(zhí)行x+=x-=x*x語句后,x的值是。
【例2.36]若w=l,x=2,y=3,z=4,則條件表達(dá)式w>x?w:y〈z?y:z的結(jié)果是。
【例2.37]在語言中,一個int型數(shù)據(jù)在內(nèi)存中占2個字節(jié),則int型數(shù)據(jù)的取值范圍為一。
【例2.38】要將一個16位二進(jìn)制的整型變量的高8位清零,只保其留低8位,可用的方法
是O
【例2.39]若x和n均是int型變量,且x和n的初值均為5,則計算表達(dá)式后x的值為,
n的值為。
x+=n++
【例2.40]已知字母a的ASCII碼為十進(jìn)制數(shù)97,且設(shè)ch為字符型變量,則表達(dá)式
ch='a'+'8'-'3'的值為。
【例2.41]假設(shè)m是一個三位數(shù),從左到右用a,b,c表示各位的數(shù)字,則從左到右各個數(shù)字
是bac的三位數(shù)的表達(dá)式是。
【例2.42]設(shè)y為int型變量,描述“y是奇數(shù)”的表達(dá)式是。
【例2.43]在scanf()函數(shù)中格式符x用于輸入。
【例2.44]若有定義:inta=2,b=3;floatx=3.5,y=2.5;則下面表達(dá)式的值為
(float)(a+b)/2+(int)x%(int)y
【例2.45]若有定義:intb=7;floata=2.5,c=4.7;則下面表達(dá)式的值為
a+(int)(b/3*(int)(a+c)/2)%4
【例2.46】若有以下程序:執(zhí)行后的輸出結(jié)果是。
#include<stdio.h>
main()
intk=2,i=2,m;
m=(k+=i*=k);
printf(tt%d,%d\n,,,m,i);
【例2.471有以下程序,輸入123456789,其輸出結(jié)果是
#include<stdio.h>
main()
inta,b;
floatf;
scanfT%2d%*2d%2d%f\&a,&b,&f);
printff%d,%d,%f\n”,a,b,f);
【例2.48】以下程序的執(zhí)行結(jié)果是
#include<stdio.h>
main()
{
inta,b,c;
a=b=l;
c=a++-l;
printf^%d,%d,,\a,c);
C+=-a-H-4-(4-+b||-H-c);
printf(u%d,%d\n,,,a,c);
【例2.49】以下程序的執(zhí)行結(jié)果是
#include<stdio.h>
main()
inti=10;
printfCt%d,%d,%d,,,i-,i-,i-);
【例2.50】以下程序的執(zhí)行結(jié)果是
#include<stdio.h>
main()
inta=-32768,b;
b=a-l;
printff,a=%d,b=%d”,a,b);
)
【例2.51]以下程序的執(zhí)行結(jié)果是
#include<stdio.h>
main()
(
intx=042,y=067,z;
z=(x?2)&(y?3);
printf(tt%d\n,,,z);
}
【例2.52】以下程序的執(zhí)行結(jié)果是
#include<stdio.h>
main()
{
intn=023;
}
【例2.53】以下程序的執(zhí)行結(jié)果是o
#include<stdio.h>
main()
(
intx=10,y=9;
inta,b,c;
a=(—x=y-H-)?-x:-H-y;
b=x++;
c=y;
printfC4%d,%d,%d\n,,,a,b,c);
第三章選擇語句和循環(huán)語句
【要點歸納】
1、if語句
If語句有一種使用形式
⑴單分支if語句。
if(條件)語句;
⑵雙分支if語句。
if(條件)語句1;
else語句2:
⑶多分支if語句。
if(〈條件1〉)語句1;
elseif(〈條件2〉)語句2;
elseif(〈條件n〉)語句n;
else語句n+1;
2、switch(開關(guān))語句
switch語句用于方便地從多個語句中選擇,個或多個語句執(zhí)行。
switch(〈表達(dá)式〉)
{
case常量表達(dá)式1:語句1;
case常量表達(dá)式2:語句2;
case常量表達(dá)式n:語句n;
default:語句n+1;
}
注:表達(dá)式的值一定是整型值,若為其他類型,最后都要轉(zhuǎn)換為整型數(shù)。
3、while循環(huán)語句
while(條件)語句;
注:先判斷條件,后執(zhí)行語句;
4、do—while循環(huán)語句
do
語句;
while(條件);
注:先執(zhí)行一次循環(huán)體,再判斷條件。
While和do-while語句的差別是,后者至少執(zhí)行“語句”一次,而前者有時一次也不執(zhí)
行語句。
5、fbr循環(huán)語句
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
語句;
注:省略各個表達(dá)式時,應(yīng)能夠知道其意義。
⑴“表達(dá)式1”可以省略,此時應(yīng)在該語句之前給循環(huán)變量賦初值。其后的分號不能省
略。
⑵“表達(dá)式2”可以省略,即無判定條件,循環(huán)無終止進(jìn)行下去。需要在循環(huán)體中用break
等語句退出循環(huán)。
⑶“表達(dá)式3”可以省略,這樣需要在循環(huán)體“語句”中讓循環(huán)變量變化,以保證循環(huán)
能正常結(jié)束。
(4)“表達(dá)式1”和“表達(dá)式3”可以同時省略,這樣為⑴和⑶兩種情況同時出現(xiàn),需要
使用相關(guān)語句保證循環(huán)結(jié)束。
⑸三個表達(dá)式都可省略,這樣為⑵和⑷兩種情況同時出現(xiàn),需要使用相關(guān)語句保證循環(huán)
結(jié)束。
6、break語句
break語句的使用格式很簡單,由關(guān)鍵字break和分號構(gòu)成,其功能如下:
?在switch語句中,break用來使程序流程跳出switch語句,繼續(xù)執(zhí)行switch后的語
句;
?在循環(huán)語句中,break用來從最近的循環(huán)體內(nèi)跳出來。
7、continue語句
continue語句只能用于循環(huán)語句中,作用為結(jié)束本次循環(huán),即跳過循環(huán)體中尚末執(zhí)行的
語句,接著進(jìn)行是否執(zhí)行下一次循環(huán)的判定。
【本節(jié)例題選編】
1、選擇題
【例3.1】以下語句錯誤的是
A.ifi[x>y);B.if(x=y)&&(x!=O)x+=y;
C.ifi(x!=y)scanf("%d",&x);eslescanf("%d",&y);D.if(x<y){x++;y++;}
【例3.2】C語言的if語句中,用作判斷的條件表達(dá)式為
A.任意表達(dá)式B.邏輯表達(dá)式C.關(guān)系表達(dá)式D.算術(shù)表達(dá)式
【例3.3】為了避免在嵌套的條件語句i&else中產(chǎn)生二義性,C語言規(guī)定:else子句總是與一
配對。
A.縮排位置相同的ifB.同一行上的if
C.其之后最近的ifD.其之前最近的if
【例3.4】以下程序的輸出結(jié)果是
#include<stdio.h>
main()
(
inti=lj=l,k=2;
if((j++||k++)&&i++)printfT%d,%d,%d\n”,iJ,k);
)
A.1,1,2B.2,2,1
C.2,2,2D.2,2,3
【例3.5]已知intx=10,y=20,z=30;以下語句執(zhí)行后x,y,z的值是。
iRx>y)
z=x;x=y;y=z;
A.x=10,y=20,z=30B.x=20,y=30,z=30
C.x=20,y=30,z=10D.x=20,y=30,z=20
【例3.6】以下程序的運行結(jié)果是o
main()
{
intm=5;
if(m++>5)printf(4t%d\n,,,m);
elseprintR"%d\n”,m??);
)
A.4B.5C.6D.7
【例3.7】以下程序的輸出結(jié)果是o
main()
(
inta=100,x=10,y=20,ok1=5,ok2=0;
if(x<y)
if(y!=10)
if(!okl)
a=l;
else
if(ok2)a=10;
a=-l;
printf,%d\n”,a);
}
A.1B.0C.-1D.值不確定
【例3.8]若a,b均是整型變量,正確的switch語句是
A.switch(a)B.switch(a)
case1.0:printf("i\rT);caseb:printf("i\n”);
case2:printf("you\n");case1:printff'you'n");
))
C.switch(a+b)D.switch(a+b)
{{
case1:printf("i\iT);casel:printf("i\n?);
case2*a:printf("you'n'');case2:printff'you'rT);
)
【例3.9】對for(表達(dá)式1;;表達(dá)式3),可理解為
A.for(表達(dá)式1;0;表達(dá)式3)B.for(表達(dá)式1;表達(dá)式3;表達(dá)式3)
C.for(表達(dá)式1;1;表達(dá)式3)D.for(表達(dá)式1;表達(dá)式1;表達(dá)式3)
【例3.10】執(zhí)行以下程序段后,變量a,b,c的值分別是
intx=10,y=9;
inta,b,c;
a=(-x==y++)?—x:++y;
b=x++;
c=y;
A.a=9,b=9,c=9B.a=8,b=8,c=10
C.a=9,b=10,c=9D.a=l,b=ll,c=10
【例3.11】有以下程序段:
intn=0,p;
do{
scnafC'%cT,&p);n++;
}while(p!=12345&&n<3);
此處do-while循環(huán)的結(jié)束條件是。
A.p的值不等于12345并且n的值小于3
B.的值等于12345并且n的值大于等于3
C.p的值不等于12345或者n的值小于3
D.p的值等于12345或者n的值大于等于3
【例3.12】下面程序中循環(huán)體的執(zhí)行次數(shù)是o
a=10;
b=0;
do{b+=2;a?=2+b;}while(a>=0);
A.1B.2C.3D.4
【例3.13】以下程序段o
x=-l;
do
{x=x*x;}
while(!x);
A.是死循環(huán)B.循環(huán)執(zhí)行二次
C.循環(huán)執(zhí)行一次D.有語法錯誤
【例3.14】以下程序的執(zhí)行結(jié)果是
#include<stdio.h>
main()
(
inta=0,i;
for(i=l;i<5;i++)
{switch(i)
(
case0:
case3:a+=2;
case1:
case2:a+=3;
default:a+=5;
}
}
printf(t4%d\n,,,a);
}
A.31B.13C.10D.20
【例3.15】下面程序的運行結(jié)果是
#include<stdio.h>
main()
{
inty=10;
do{y—;}while(—y);
printff%d\n”,y-);
)
A.-1B.1C.8D.0
【例3.16]下面程序的功能是輸出以下金字塔圖案的是:
*
***
*****
*******
#include<stdio.h>
main()
(
inti,j;
fbr(i=1;i<=4;i++)
|
for(j=l;j<=4-i;j++)prints");
for(j=l;j<=;j++)printfC*");
printf(“\n”);
在下劃線處應(yīng)填入的是
A.iB.2*i-lC.2,D.i+2
【例3.17】下面程序段。
for(t=l;t<=100;t++)
(
scanf("%d”,&x);
if(x<0)
continue;
printfT%3d”,t);
)
A.當(dāng)xvO時整個循環(huán)結(jié)束B.x>=0時什么也不做
C.printf函數(shù)永遠(yuǎn)也不執(zhí)行D.最多允許輸;H100個非負(fù)整數(shù)
【例3.18]若w,x,y,z,m均為int型變量,則執(zhí)行以下語句后的m值是o
w=l;x=2;y=3;z=4;
m=(w<x)?w:x;
m=(m<y)?m:y;
m=(x<z)?m:z;
A.1B.2C.3D.4
【例3.19】請讀以下程序:
main()
{
inta=5,b=O,c=O;
if(a=b+c)
printfT***\n");
else
printf("$$$\n*);
以上程序O
A.有語法錯誤不能通過編譯B.可以通過編譯但不能通過連接
C.輸出***D.輸出$$$
【例3.20】下面程序段不是死循環(huán)的是.
A.inti=100;
while(1)
(
i=i%100+l;
if(i>100)break;
}
B.for(;;);
C.intk=0;
do{++k;}while(k<=0)
D.ints=36;
While(s);-s;
【例3.21】有一堆零件(100到200之間),如果分成4個零件一組的若干組,則多2個零
件,若分成7個零件一組,則多3個,若分成9個零件--組,則多5個零件,下面程序是求
這堆零件總數(shù),請選擇填空。
#include<stdio.h>
main()
(
inti;
for(i=100;i<200;i++)
if((i-2)%4=0)
if(!((i-3)%7))
iR_____)
printfT%d'i);
}
A.i%9=5B.i%9!=5
C.(i-5)%9!=0D.i%9==5
【例3.22】下面程序的運行結(jié)果是。
#include<stdio.h>
main()
{
inti;
fbr(i=l;i<=5;i-H-)
(
if(i%2)
print/*");
else
continue;
printfC'#");
}
printf("$\n");
}
A.*#*#*#$B.#*#*#*$
C.*#*#$D.#*#*$
【例3.23】下面程序的運行結(jié)果是。
#include<stdio.h>
main()
(
inti,j,x=O;
fbr(i=0;i<2;i++)
(
x++;
for(j=0;j<=3;j++)
(
if(j%2)
continue;
X-H-;
X++;
)
printfi(t4x=%d\n,,,x);
)
A.x=4B.x=8C.x=6D.x=12
2、填空題
【例3.24】C語言中,break語句只能用于語句和語句中。
【例3.25】當(dāng)a=3,b=2,c=l時,表達(dá)式f=a>b>c的值是。
【例3.26]若a=6,b=4,c=2,則表達(dá)式!(a?b)+c?l&&b+c/2的值是。
【例3.27】下列程序計算2?100的偶數(shù)的累加和,請?zhí)羁铡?/p>
#include<stdio.h>
main()
{
inti,sum=0;
fbr()sum+=i;
printf("sum=%d\n”,sum);
}
【例3.28】以下程序的輸出結(jié)果是
#include<stdio.h>
main()
(
intx=15;
while(x>10&&x<50)
(
x++;
if(x/3){x++;break;}
elsecontinue;
)
printfC%d'n”,x);
}
【例3.29】下面程序段是找出整數(shù)的所有因子,請?zhí)羁铡?/p>
scanf("%d",&x);
i=l;
fbr(;;)
(
if(x%i==0)printff'%3d”,i);
i++;
)
【例3.30】下面程序段是從鍵盤輸入的字符中統(tǒng)計數(shù)字字符的個數(shù),用換行符結(jié)束循環(huán)。請
填空。
intn=0,c;
c=getchar();
while()
(
if()n++;
c=getchar();
}
【例3.31]等差數(shù)列的第一項a=2,公差d=3,下面程序的功能是在前n項和中,輸出能被
4整除的所有的和。請?zhí)羁铡?/p>
#include<stdio.h>
main()
{
inta,d,sum;
a=2;
d=3;
sum=O;
do{
sum+=a;
a+=d;
ifl)
printR"%d\n",sum);
}while(sum<200);
)
【例3.32】請讀程序:
#include<stdio.h>
main()
(
intx=l,y=O,a=O,b=O;
switch(x)
{
case1:
switch(y)
{
case0:a++;break;
case1:b++;break;
}
case2:
a++;b-H-
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年河南客運應(yīng)知應(yīng)會
- 2024年長春道路運輸客運從業(yè)資格證模擬考試
- 2024年淄博客運從業(yè)資格證培訓(xùn)考試資料
- 2024年綏化客運資格證仿真考試題
- 2024年六安客運資格證仿真試題
- 中考作文之中考滿分作文我心中的甘露
- 賽項規(guī)程-高職學(xué)生組(藝術(shù)專業(yè)技能原創(chuàng)插畫設(shè)計)
- 2024-2025學(xué)年山東省德州市夏津縣統(tǒng)編版六年級上冊期中考試道德與法治試卷
- 教育技術(shù)并購策略
- 車站石材購銷施工協(xié)議
- 2024年房屋裝修工程合同
- 人教版四年級上冊數(shù)學(xué)第六單元《除數(shù)是兩位數(shù)的除法》測試卷含答案(完整版)
- 新高考背景下2025屆高考英語完形和語填的命題實踐和思考 課件
- 《魏書生班主任工作漫談》讀書心得體會課件
- 第16課 國家出路的探索與列強侵略的加劇 課件上學(xué)期統(tǒng)編版(2019)必修中外歷史綱要上
- 2024秋期河南開放大學(xué)本科《法律社會學(xué)》一平臺無紙化考試(作業(yè)練習(xí)1至3+我要考試)試題及答案
- 2024年四川雷波縣“123”林業(yè)技術(shù)人才定向培養(yǎng)畢業(yè)生招聘擬聘易考易錯模擬試題(共500題)試卷后附參考答案
- 白求恩人物生平紀(jì)念
- 2024年度陜西榆林能源集團(tuán)限公司高校畢業(yè)生招聘(238人)高頻難、易錯點500題模擬試題附帶答案詳解
- 零工市場(驛站)運營管理投標(biāo)方案(技術(shù)方案)
- 2024-2025學(xué)年小學(xué)信息技術(shù)(信息科技)四年級下冊浙教版(2023)教學(xué)設(shè)計合集
評論
0/150
提交評論