版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精品一、單項(xiàng)選擇題1 . ( a )是構(gòu)成c語(yǔ)言程序的基本單位。a、函數(shù)b、過(guò)程 c、子程序 d、子例程2 . c語(yǔ)言程序從c 開(kāi)始執(zhí)行。a)程序中第一條可執(zhí)行語(yǔ)句b)程序中第一個(gè)函數(shù)c)程序中的main函數(shù) d)包含文件中的第一個(gè)函數(shù)3、以下說(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)始部分4 .下列關(guān)于c語(yǔ)言的說(shuō)法錯(cuò)誤的是( b )。a) c程序的工作過(guò)程是編輯、編譯、連接、運(yùn)行b) c語(yǔ)言不區(qū)分大小寫(xiě)。c
2、) c程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)d) c程序從main函數(shù)開(kāi)始執(zhí)行5 .下列正確的標(biāo)識(shí)符是(c )。a.-a1b.aic.a2_id.int t58題為相同類(lèi)型題考點(diǎn):標(biāo)識(shí)符的命名規(guī)則(1) 只能由字母、數(shù)字、下劃線(xiàn)構(gòu)成(2) 數(shù)字不能作為標(biāo)識(shí)符的開(kāi)頭(3) 關(guān)鍵字不能作為標(biāo)識(shí)符選項(xiàng)a中的“-,選項(xiàng)b中“”與“”不滿(mǎn)/);選項(xiàng)d中的int為關(guān)鍵字,不 滿(mǎn)足(3)6 .下列c語(yǔ)言用戶(hù)標(biāo)識(shí)符中合法的是( b )。a)3ax b)x c)case d)-e2 e)union選項(xiàng)a中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿(mǎn)足(2);選項(xiàng)c, e均為為關(guān)鍵字,不滿(mǎn)足(3);選項(xiàng)d中的“-”不滿(mǎn)足(1);7 .下
3、列四組選項(xiàng)中,正確的 c語(yǔ)言標(biāo)識(shí)符是( c )。a) %xb) a+bc)a123d) 123選項(xiàng)a中的“ ”,選項(xiàng)b中“ +”不滿(mǎn)足(1);選項(xiàng)d中的標(biāo)識(shí)符以數(shù)字開(kāi)頭不滿(mǎn)足(2)8、下列四組字符串中都可以用作c語(yǔ)言程序中的標(biāo)識(shí)符的是( a )。a、print_3ddb8abcb、iamone_halfstart$it3paic、str_1cpppowwhiled、pxqmy-book line#his.age選項(xiàng)b中的“ “,$”,選項(xiàng)d中“ “,“#“,.“-,”不滿(mǎn)足(1);選項(xiàng)c中的while為關(guān)鍵字,不滿(mǎn)足(3)9 .c語(yǔ)言中的簡(jiǎn)單數(shù)據(jù)類(lèi)型包括(d )。a、整型、實(shí)型、邏輯型b、整型
4、、實(shí)型、邏輯型、字符型c、整型、字符型、邏輯型d、整型、實(shí)型、字符型10 .在c語(yǔ)言程序中,表達(dá)式 5%2的結(jié)果是 c 。a)2.5b)2c)1d)3詳見(jiàn)教材p5253.%為求余運(yùn)算符,該運(yùn)算符只能對(duì)整型數(shù)據(jù)進(jìn)行運(yùn)算。且符號(hào)與被模數(shù)相同。5%2=1 ;5% (-2) =1 ; (-5) %2=-1 ; (-5 ) % (-2 ) =-1 ;/為求商運(yùn)算符,該運(yùn)算符能夠?qū)φ?、字符、浮點(diǎn)等類(lèi)型的數(shù)據(jù)進(jìn)行運(yùn)算,5/2=211 .如果int a=3,b=4;則條件表達(dá)式ab? a:b的值是 a 。a) 3b) 4c) 0 d) 1詳見(jiàn)教材p97.表達(dá)式 1 ?表達(dá)式 2: 表達(dá)式 3先計(jì)算表達(dá)式1
5、,若表達(dá)式1成立,則選擇計(jì)算表達(dá)式2 ,并表達(dá)式2的值作為整個(gè)大表達(dá)式的值;若表達(dá)式1不成立,則選擇計(jì)算表達(dá)式3,并將表達(dá)式3的值作為整個(gè)大表達(dá)式的值此題中的ab相當(dāng)于表達(dá)式1, a相當(dāng)于表達(dá)式2, b相當(dāng)于表達(dá)式3.a為3, b為4。ab表達(dá)式1成立,因此計(jì)算表達(dá)式2,并將表達(dá)式2的值即a中的值,并作為整個(gè)表達(dá)式的值,因此整個(gè)表達(dá)式的值為3- 可編輯 -精品12 若 int x=2,y=3,z=4 則表達(dá)式 xage d) (*p).age33 .設(shè)有如下定義:struck sk int a;float b;data;int *p;若要使p指向data中的a域,正確的賦值語(yǔ)句是ca) p=&
6、a;b) p=data.a; c) p=&data.a;d)*p=data.a;34 .設(shè)有以下說(shuō)明語(yǔ)句:typedefstruct stu int a;floatb; stutype;則下面敘述中錯(cuò)誤的是(d )。a、struct是結(jié)構(gòu)類(lèi)型的關(guān)鍵字b、struct stu 是用戶(hù)定義的結(jié)構(gòu)類(lèi)型c、a和b都是結(jié)構(gòu)成員名d、stutype是用戶(hù)定義的結(jié)構(gòu)體變量名35 .語(yǔ)句int *p;說(shuō)明了 c 。a)p是指向一維數(shù)組的指針b)p是指向函數(shù)的指針,該函數(shù)返回一 int型數(shù)據(jù)c)p是指向int型數(shù)據(jù)的指針 /指針的定義教材p223d)p是函數(shù)名該函數(shù)返回一指向int型數(shù)據(jù)的指針36 .下列不正確
7、的定義是( a )。a. int *p=&i,i;b.int *p,i;c. int i,*p=&i;d.int i,*p;選項(xiàng)a先定義一個(gè)整型指針變量p ,然后將變量i的地址賦給p。然而此時(shí)還未定義變量i因此編譯器無(wú)法獲得變量 i的地址。(a與c對(duì)比,選項(xiàng)c先定義變量i,則在內(nèi)存中為 i分配空間,因此i在內(nèi)存空間的地址就可以確定了;然后再定義 p,此時(shí)可以為p賦i的 地址,c正確)37 .若有說(shuō)明:int n=2,*p=&n,*q=p, 則以下非法的賦值語(yǔ)句是:(d )a) p=qb) *p=*q c) n=*q d) p=np,q同為整型指針變量,二者里面僅能存放整型變量的地址。選項(xiàng)a ,
8、 q中為地址,因此可將此地址賦給 p選項(xiàng)b, *p表示p所指向?qū)ο髇的內(nèi)容,即一個(gè)整數(shù);*q表示q所指向?qū)ο蟮膬?nèi)容,由于 在定義q時(shí)為其初始化,將p中n的地址給q,因此p中存放n的地址,*q表示q所指向 對(duì)象n的內(nèi)容.因此*p=*q 相當(dāng)于n=n;選項(xiàng)c, n=*q 等價(jià)于n=n;選項(xiàng)d, p中只能存放地址,不能將 n中的整數(shù)值賦給p38 .有語(yǔ)句:int a10,;則 b是對(duì)指針變量p的正確定義和初始化。a)int p=*a; b)int *p=a; c)int p=&a; d)int *p=&a;選項(xiàng)a, a是數(shù)組名,不是指針變量名,因此不可用*標(biāo)注數(shù)組名a選項(xiàng)c, a是數(shù)組名,數(shù)組名就是
9、地址,無(wú)需再用地址符號(hào)。而且在定義指針變量 p時(shí),應(yīng) 在變量名前加*,標(biāo)明p是指針變量選項(xiàng)d, a是數(shù)組名,數(shù)組名就是地址,無(wú)需再用地址符號(hào)。39 .若有說(shuō)明語(yǔ)句“int a5,*p=a;,則對(duì)數(shù)組元素的出礁引用是a.apb.pac.*(p+2)d.p+2首先定義一個(gè)整型數(shù)組a, a的長(zhǎng)度為5,然后定義一個(gè)指針變量 p,并同時(shí)對(duì)p進(jìn)行初始化,將數(shù)組 a的地址賦給p。因此此時(shí)p中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè) 元素a0的地址。對(duì)于數(shù)組元素下標(biāo)的引用(詳見(jiàn)p144), 一般形式 數(shù)組名下標(biāo)其中下標(biāo)為邏輯地址下 標(biāo),從0開(kāi)始計(jì)數(shù),方括號(hào)中的下標(biāo)可以是變量,可以是表達(dá)式,但結(jié)果一定要是整數(shù)。選項(xiàng)
10、a, p中存放的是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)選項(xiàng)b, a是數(shù)組名,數(shù)組名就是地址,不是整數(shù),不能做數(shù)組元素的下標(biāo)選項(xiàng)c,(重點(diǎn)! ! !詳見(jiàn)p231234)p+2表示指向同一數(shù)組中的下兩個(gè)元素的地址,當(dāng)前p指向a0,則p+2表示a2的地址,因此*(p+2)表示a2的內(nèi)容40 .有如下程序int a10=1,2,3,4,5,6,7,8,9,10,*p=a;則數(shù)值為9的表達(dá)式是ba) *p+9b) *(p+8)c) *p+=9d) p+8(重點(diǎn)! ! !詳見(jiàn) p231234)首先定義一個(gè)整型數(shù)組a, a的長(zhǎng)度為5,然后定義一個(gè)指針變量p,并同時(shí)對(duì)p進(jìn)行初始化,將數(shù)組 a的地址賦給p。因此
11、此時(shí) p中存放的數(shù)組a的首地址,即數(shù)組中第一個(gè) 元素a0的地址。數(shù)組中9對(duì)應(yīng)白是a8,選項(xiàng)b, p+8表示數(shù)組中后8個(gè)元素的地址,即 a8的地址。*(p+8)則表示該地址內(nèi)所存放的內(nèi)容,即 a8的值。選項(xiàng)a,*p表示p所指向?qū)ο蟮膬?nèi)容,此時(shí)p指向a0, *p即a的值1. *p+9=1+9=10選項(xiàng)c, *p表示p所指向?qū)ο蟮膬?nèi)容,此時(shí) p指向a0, *p即a0的值。因此*p+=9 即*p =*p+9,等價(jià)于 a0=a0+9.選項(xiàng)d, p+8表示數(shù)組中后8個(gè)元素的地址,即 a8的地址,而非a8中的值。41 .在c語(yǔ)言中,以 d作為字符串結(jié)束標(biāo)志a) n b) c) 0 d) 042 .下列數(shù)據(jù)中
12、屬于“字符串常量”的是( a )。a. ab.abcc. abc0d. a若干個(gè)字符構(gòu)成字符串在c語(yǔ)言中,用單引號(hào)標(biāo)識(shí)字符;用雙引號(hào)標(biāo)識(shí)字符串選項(xiàng)b, c,分別用。和標(biāo)識(shí)字符串選項(xiàng)d,標(biāo)識(shí)字符。43 .已知char x=hello, y=h,e,a,b,e;,則關(guān)于兩個(gè)數(shù)組長(zhǎng)度的正確描述是a)相同 b)x大于y c)x小于yd)以上答案都不對(duì)c語(yǔ)言中,字符串后面需要一個(gè)結(jié)束標(biāo)志位0,通常系統(tǒng)會(huì)自動(dòng)添加。對(duì)一維數(shù)組初始化時(shí)可采用字符串的形式(例如本題數(shù)組x),也可采用字符集合的形式 (例如本題數(shù)組y)。在以字符串形式初始化時(shí),數(shù)組 x不盡要存儲(chǔ)字符串中的字符,還要存儲(chǔ)字符串后的結(jié)束標(biāo)志位,因此數(shù)
13、組x的長(zhǎng)度為6;在以字符集合形式初始化時(shí),數(shù)組 y,僅存儲(chǔ)集合中的元素,因此數(shù)組 y長(zhǎng)度為5讀程序基本輸入輸出及流程控制1.#include main() int a=1,b=3,c=5;if (c=a+b)printf(yesn);elseprintf(non);運(yùn)行結(jié)果為: no詳見(jiàn)教材p89 選擇結(jié)構(gòu)詳見(jiàn)教材p91 關(guān)系符號(hào)詳見(jiàn)附錄d p378符號(hào)的優(yōu)先級(jí)= 表示判斷符號(hào)兩邊的值是否相等; = 表示將符號(hào)右邊的值賦給左邊的變量本題考點(diǎn)是選擇結(jié)構(gòu)3 種基本形式的第二種選擇結(jié)構(gòu)三種一般形式中的“語(yǔ)句”皆為復(fù)合語(yǔ)句, 復(fù)合語(yǔ)句要用 括起來(lái),只有當(dāng)復(fù)合語(yǔ)句中只包括一條語(yǔ)句時(shí)可以省略 ,此題即如此
14、,因此兩個(gè)printf 操作沒(méi)有加 若 c=a+b 成立,則執(zhí)行printf(yesn);否則(即c=a+b不成立) ,執(zhí)行 printf(non);+ 的優(yōu)先級(jí)高于 = , 因此先算 a+b, 值為 4 , 表達(dá)式 5=4 不成立, 因此執(zhí)行 printf(non);即輸出字符串 no2.#include - 可編輯 -精品main() int a=12, b= -34, c=56, min=0;min=a;if(minb)min=b;if(minc)min=c;printf(min=%d, min);運(yùn)行結(jié)果為:min=-34詳見(jiàn)教材 p89 選擇結(jié)構(gòu)本題考點(diǎn)是選擇結(jié)構(gòu)3 種基本形式的第一
15、種一共包含了兩個(gè)選擇結(jié)構(gòu)(兩個(gè)if 語(yǔ)句)定義變量,并賦值 此時(shí) a=12, b= -34, c=56, min=0將 a 中值拷貝,賦給min ,覆蓋了 min 中的 0 ,此時(shí) min 中的值被更新為 12 。若 minb 成立,則執(zhí)行min=b;若 minc 成立,則執(zhí)行min=c;輸出 min 中的值12 大于 -34, 第一個(gè) if 語(yǔ)句的表達(dá)式成立,因此執(zhí)行min=b; 執(zhí)行后 min 中的值被更新為-34.-34 小于 56, 第二個(gè) if 語(yǔ)句的表達(dá)式不成立,因此不執(zhí)行min=c;最后輸出 min 中的值,為 -34.3.#include main() int x=2,y= -
16、1,z=5;if(xy)if(y0)z=0;elsez=z+1;printf( “ %nd” ,z);運(yùn)行結(jié)果為: 5if 語(yǔ)句,其 。內(nèi)層的if.else.遇到選擇結(jié)構(gòu),首先要明確條件表達(dá)式成立時(shí)執(zhí)行哪些操作。本題中,第一個(gè)后的復(fù)合語(yǔ)句沒(méi)有大括號(hào) ,說(shuō)明復(fù)合語(yǔ)句中只包含一條語(yǔ)句,進(jìn)而省略了if.else. 是選擇結(jié)構(gòu)的第二種基本形式,在結(jié)構(gòu)上視為一條語(yǔ)句。因此內(nèi)層的作為第一個(gè)if 語(yǔ)句的復(fù)合語(yǔ)句。若表達(dá)式xy 成立,則繼續(xù)判斷若 y=0 ) ,執(zhí)行z=z+1;輸出 z2-1 ,表達(dá)式xy不成立,因此不執(zhí)行內(nèi)層的ifelse.進(jìn)福的值沒(méi)有被改變。輸出 z 中的值為 54.#include ma
17、in() float a,b,c,t;a=3;b=7;c=1;if(ab)t=a;a=b;b=t;if(ac)t=a;a=c;c=t;if(bc)t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c);運(yùn)行結(jié)果為: 1.00,2.00,7.00詳見(jiàn)教材 p72 數(shù)據(jù)的輸出形式本題包含了 3 個(gè) if 語(yǔ)句,每個(gè)if 語(yǔ)句后的 都不可省略,因?yàn)槊總€(gè) 中都包含了多條語(yǔ)句若表達(dá)式ab成立,則執(zhí)行t=a;a=b;b=t;若表達(dá)式ac成立,則執(zhí)行t=a;a=c;c=t;若表達(dá)式bc成立,則執(zhí)行t=b;b=c;c=t;輸出 a,b,c 中的值,要求輸出的每個(gè)數(shù)據(jù)寬度為 5
18、個(gè)空格,小數(shù)部分保留 2 位,數(shù)據(jù)右對(duì)齊3 小于 7, 因此表達(dá)式ab 不成立,因此不執(zhí)行t=a;a=b;b=t;3 大于 1 ,因此表達(dá)式ac 成立,則執(zhí)行t=a;a=b;b=t; 。第一句,將a 中的 3 拷貝,粘貼到 t 中;第二句,將c 中的 1 拷貝,粘貼到 a 中,覆蓋掉先前的 3 ;第三句。將t 中的 3 拷貝到 c 中,覆蓋掉c 中先前的 1. 執(zhí)行完復(fù)合語(yǔ)句后實(shí)現(xiàn)了 a,c 元素的值的互換, a 為 1 , c為 3, t 為 3, 。7 大于 c 中的 3 ,因此 bc 成立,執(zhí)行則執(zhí)行t=b;b=c;c=t; ,過(guò)程同上,執(zhí)行后b 為 3 ,c 為 7, t 為 7此時(shí)輸
19、出 a,b,c 中的值為 1.00,2.00,7.005#include main ( ) float c=3.0 , d=4.0;if ( cd ) c=5.0;elseif ( c=d ) c=6.0;else c=7.0;printf (“ %n.1”f ,c ) ;運(yùn)行結(jié)果為:7.0此題為if.else. 語(yǔ)句的嵌套,第二 if.else. 作為第一個(gè)if.else. 語(yǔ)句else 部分的復(fù)合語(yǔ)句。若表達(dá)式 cd 成立,則執(zhí)行c=5.0;否則(表達(dá)式cd 不成立)若表達(dá)式 c=d 成立,則執(zhí)行c=6.0;否則,執(zhí)行c=7.0;輸出 c 中的值3.1 小于4.0,因此表達(dá)式 cd不成立,
20、執(zhí)彳t第二個(gè)ifelse。3.2 不等于 4.0 , 因此表達(dá)式c=d 不成立, 執(zhí)行 c=7.0 , 將 7.0 賦給 c, 覆蓋掉 c 中的 3.0 ,此時(shí) c 中的值為 7.0輸出此時(shí)的 c 中的值6.#include main() int m;scanf(%d, &m);if (m = 0) if (m%2 = 0) printf(%d is a positive evenn, m);else printf(%d is a positive oddn, m); - 可編輯 -精品else if (m % 2 = 0) printf(%d is a negative evenn, m);
21、else printf(%d is a negative oddn, m);若鍵入 9 ,則運(yùn)行結(jié)果為 :-9 is a negative odd7.#include main() int num=0 ;while(num=2) num+ ; printf(%dn,num) ; 運(yùn)行結(jié)果為:123詳見(jiàn)教材 p115 循環(huán)結(jié)構(gòu)當(dāng)循環(huán)條件num=2 成立的時(shí)候,執(zhí)行循環(huán)體 num+ ; printf(%dn,num) ; 中的語(yǔ)句。循環(huán)初值num 為 0;第 1 次循環(huán):執(zhí)行num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 1 ;執(zhí)行 printf(%dn,num) ;在屏幕上輸出 n
22、um 中的值,即輸出 1 ,之后換行此時(shí) num 中的值為 1 ,循環(huán)條件num=2 成立第 2 此循環(huán):執(zhí)行num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 2 ;執(zhí)行 printf(%dn,num) ;在屏幕上輸出 num 中的值,即輸出 2 ,之后換行此時(shí) num 中的值為2 ,循環(huán)條件num=2 成立第 3 此循環(huán):執(zhí)行num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 3 ;執(zhí)行 printf(%dn,num) ;在屏幕上輸出 num 中的值,即輸出 3 ,之后換行此時(shí) num 中的值為3 ,循環(huán)條件num=2 不成立,結(jié)束循環(huán)。8.#include main(
23、 ) int sum=10,n=1;while(n3) sum=sum-n; n+; printf( “ %d,%d ” ,n,sum);運(yùn)行結(jié)果為: 3,7當(dāng)循環(huán)條件n3 成立的時(shí)候,執(zhí)行循環(huán)體sum=sum-n; n+; 中的語(yǔ)句。循環(huán)初值 sum 為 10,n 為 1;循環(huán)條件 n3 成立- 可編輯 -精品第 1 次循環(huán):執(zhí)行sum=sum-n=10-1=9;執(zhí)行n+, 即將 n 中的值加1 ,執(zhí)行后n為2 ;此時(shí) n 中的值為 2 , sum 中的值為 9 ,循環(huán)條件n3 成立,繼續(xù)執(zhí)行循環(huán)第 2 次循環(huán):執(zhí)行sum=sum-n=9-2=7;執(zhí)行n+, 即將 n 中的值加1 ,執(zhí)行后n
24、為3 ;輸出此時(shí)n,sum中的值,即為3,7。需要注意,在printf( %d,%d ” ,n,sum);要求輸出的數(shù)據(jù)彼此間用逗號(hào)間隔,因此結(jié)果的兩個(gè)數(shù)據(jù)間一定要有逗號(hào)9.#include main() int num,c;scanf(%d,&num);do c=num%10; printf(%d,c); while(num/=10)0);printf(n);從鍵盤(pán)輸入 23 ,則運(yùn)行結(jié)果為: 32詳見(jiàn)教材 p117 循環(huán)結(jié)構(gòu); p60 復(fù)合的賦值運(yùn)算符do while( 表達(dá)式 );先無(wú)條件執(zhí)行循環(huán)體,再判斷循環(huán)條件。注意while (表達(dá)式)后有分號(hào)定義整型變量num , c;為 num
25、 賦一個(gè)整型值;執(zhí)行 c=num%10; printf(%d,c);直到循環(huán)條件(num/=10)0 不成立;輸出換行已知為 num 賦值 23第 1 次執(zhí)行循環(huán)體執(zhí)行 c=num%10=23%10=3;執(zhí)行 printf(%d,c); 輸出 3判斷循環(huán)條件num/=10 等價(jià)于 num=num/10; 因此 num=23/10=2,2 大于 0 ,因此循環(huán)條件 (num/=10)0 成立,繼續(xù)執(zhí)行循環(huán)體。執(zhí)行完第1 次循環(huán)時(shí), num 為 2 , c 為 3第 2 次執(zhí)行循環(huán)體執(zhí)行 c=2%10=2;執(zhí)行 printf(%d,c); 再輸出 2判斷循環(huán)條件num=2/10=0,0等于0,因此
26、循環(huán)條件(num/=10)0 不成立。結(jié)束循環(huán)10#include main() int s=0,a=5,n;scanf(%d,&n);do s+=1;a=a-2; while(a!=n);printf(%d , %dn,s,a);若輸入的值1 ,運(yùn)行結(jié)果為: 2,1詳見(jiàn)教材 p117 循環(huán)結(jié)構(gòu); p60 復(fù)合的賦值運(yùn)算符執(zhí)行 s+=1;a=a-2; 直到循環(huán)條件a!=n 不成立;已知為 n 賦值 1,s 為 0 , a 為 5第 1 次執(zhí)行循環(huán)體執(zhí)行s+=1; 等價(jià)于 s=s+1=0+1執(zhí)行a=a-2; a=5-2=3判斷循環(huán)條件,3 不等于 1 ,因此循環(huán)條件a!=n 成立,繼續(xù)執(zhí)行循環(huán)體
27、。執(zhí)行完第 1 次循環(huán)時(shí), s 為 1 , a 為 3第 2 次執(zhí)行循環(huán)體執(zhí)行s+=1; 等價(jià)于 s=s+1=1+1=2執(zhí)行a=a-2; a=3-2=1判斷循環(huán)條件,1 等于 1 ,因此循環(huán)條件a!=n 不成立,結(jié)束循環(huán)。執(zhí)行完第 2 次循環(huán)時(shí), s 為 2 , a 為 1輸出此時(shí) s,a 中的值,結(jié)果為 2,111. #include stdio.hmain() char c;c=getchar();while(c!=?)putchar(c); c=getchar(); 如果從鍵盤(pán)輸入 abcde ? fgh (回車(chē))運(yùn)行結(jié)果為: abcde12.#include main() char c
28、;while(c=getchar()!= $ ) if( a =c&c= z ) putchar(c);else if( a =c&c= z p)utchar(c -32);當(dāng)輸入為 ab*ab%cd#cd$ 時(shí),運(yùn)行結(jié)果為: ababcdcd13.#include main() int x, y =0;for(x=1;x=10)break;y=y+x;printf( “ %d %d” ,y,x);運(yùn)行結(jié)果為: 105詳見(jiàn)教材 p120for 語(yǔ)句詳見(jiàn)教材 p126128 break , continue 語(yǔ)句for( 表達(dá)式 1; 表達(dá)式 2; 表達(dá)式3)(1) 先求解表達(dá)式1(2) 求解表
29、達(dá)式2 ,若其值為真,執(zhí)行循環(huán)體,然后執(zhí)行(3). 若為假,則結(jié)束循環(huán),轉(zhuǎn)到(5)(3) 求解表達(dá)式3(4) 轉(zhuǎn)回上面(2) 繼續(xù)執(zhí)行(5) 循環(huán)結(jié)束,執(zhí)行for 語(yǔ)句下面的一個(gè)語(yǔ)句break , 跳出循環(huán)體; continue, 結(jié)束本次循環(huán) (第 i 次循環(huán)) , 繼續(xù)執(zhí)行下一次循環(huán)(第 i+1次循環(huán) )此題 表達(dá)式 1 為 x=1 ,表達(dá)式 2 (循環(huán)條件)為 x=10 ,表達(dá)式 3 為 x+初值 x 為 1 , y 為 0 ,循環(huán)條件(即表達(dá)式2) x=10 成立,進(jìn)入循環(huán)體第 1 次循環(huán)執(zhí)行 if 語(yǔ)句。 0 小于 10 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行break;執(zhí)行 y=
30、y+x; y=0+1=1轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 x+,x=x+1=1+1=2 。循環(huán)條件x=10 成立,進(jìn)入第 2 次循環(huán)第 2 次循環(huán)執(zhí)行 if 語(yǔ)句。 1 小于 10 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行break;執(zhí)行 y=y+x; y=1+2=3轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 x+,x=x+1=2+1=3 。循環(huán)條件x=10 成立,進(jìn)入第 3 次循環(huán)第 3 次循環(huán)執(zhí)行 if 語(yǔ)句。 3 小于 10 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行break;執(zhí)行 y=y+x; y=3+3=6轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 x+,x=x+1=3+1=4 。循環(huán)條件x=10 成立,進(jìn)入第 4 次循環(huán)第 4 次循環(huán)執(zhí)
31、行 if 語(yǔ)句。 6 小于 10 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行break;執(zhí)行 y=y+x; y=6+4=10轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 x+,x=x+1=4+1=5 。循環(huán)條件x=10 成立,進(jìn)入第 5 次循環(huán)第 5 次循環(huán)執(zhí)行 if 語(yǔ)句。 10 等于 10 , if 語(yǔ)句的條件表達(dá)式成立,執(zhí)行break ,跳出循環(huán)。從 break 跳出至 for 語(yǔ)句的下一條語(yǔ)句。執(zhí)行printf( “ %d%d” ,y,x);輸出當(dāng)前的 y 與 x. 結(jié)果為10514.#includemain( ) char ch;ch=getchar( );switch(ch) case a: printf(
32、“ %c”, a);case b: printf(“ %c”, b);break;default: printf(“n ”%,s ” other ” ); 當(dāng)從鍵盤(pán)輸入字母a 時(shí),運(yùn)行結(jié)果為: ab詳見(jiàn)教材 p103 , switch 語(yǔ)句switch (表達(dá)式) case 常量 1 :語(yǔ)句 1case常量2 :語(yǔ)句2111111iiicase常量n :語(yǔ)句ndefault : 語(yǔ)句 n+1其中表達(dá)式,常量1,,常量n都為整型或字符型case 相當(dāng)于給出執(zhí)行程序的入口和起始位置,若找到匹配的常量,則從此處開(kāi)始往下執(zhí)行 程序,不再匹配常量,直至遇到 break 或 switch 結(jié)束本題過(guò)程:首
33、先從鍵盤(pán)接收一個(gè)字符a并將其放在度量。執(zhí)行switch語(yǔ)句。switch后面的條件表達(dá)式為ch,因此表達(dá)式的值即為字符用a字符a依次與下面的case中的常量匹配。與第 1 個(gè) case 后的常量匹配,則從其后的語(yǔ)句開(kāi)始往下執(zhí)行程序(在執(zhí)行過(guò)程中不再進(jìn)行匹配。)因此先執(zhí)行printf( “ c,a屏廨上輸出a;再往下繼續(xù)執(zhí)行 printf( “ %c” , b ) ,屏幕上輸出 b ;再繼續(xù)執(zhí)行break , 此時(shí)跳出 switch 語(yǔ)句。15.#include main( ) int a=1,b=0;scanf( “ %d” ,&a);switch(a) case 1: b=1; break
34、;case 2: b=2; break ;default : b=10; printf(%d , b) ;若鍵盤(pán)輸入 5 ,運(yùn)行結(jié)果為: 10本題過(guò)程:首先用 scanf 函數(shù)為變量a 賦值為 5 。執(zhí)行 switch 語(yǔ)句。 switch 后面的條件表達(dá)式為 a, 因此表達(dá)式的值即為 5. 用 5 依次與下面 case 中的常量匹配。沒(méi)有找到匹配的常量,因此兩個(gè)case 后的語(yǔ)句都不執(zhí)行。執(zhí)行default 后面的語(yǔ)句 b=10 ;將 10 賦給變量 b 。輸出變量 b, 結(jié)果為 1016.#include main()_ char grade= c;switch(grade)case a:
35、 printf(“ 90n ” );case b: printf(“ 8n0”);case c: printf(“ 7n0”);case d: printf(“ 6n0” ); breakcase e: printf(“ ” )r “n”6)0;default : printf(“ enr” ror)!;運(yùn)行結(jié)果為:70-8060-70本題過(guò)程:首先從鍵盤(pán)接收一個(gè)字符c并將其放他rade中。執(zhí)行 switch 語(yǔ)句。 switch 后面的條件表達(dá)式為 grade, 因此表達(dá)式的值即為字符 c用字符c依次與下面的case中的常量匹配。與第 3 個(gè) case 后的常量匹配,則從其后的語(yǔ)句開(kāi)始往下執(zhí)
36、行程序(在執(zhí)行過(guò)程中不再進(jìn)行匹配。 )因此先執(zhí)行 printf( “ 70 n ” ); ,屏幕上輸出 70-80, 并換行;再往下繼續(xù)執(zhí)行 printf( “ 60 n ” ) ,屏幕上輸出 60-70 , 并換行; 再繼續(xù)執(zhí)行break , 此時(shí)跳出 switch語(yǔ)句。17.#include main() int y=9;for(;y0;y- -)if(y%3=0) printf(%d-”, -y);運(yùn)行結(jié)果為:852詳見(jiàn)教材 p53 ,自增自減符號(hào)此題 表達(dá)式 1 被省略,表達(dá)式2 (循環(huán)條件)為 y0 ,表達(dá)式 3 為 y-初值 y 為 9 ,循環(huán)條件(即表達(dá)式 2) y0 成立,進(jìn)入
37、循環(huán)體第 1 次循環(huán)執(zhí)行 if 語(yǔ)句。 9%3=0 , if 語(yǔ)句的條件表達(dá)式成立,執(zhí)行printf(%d-”, -y) ,即 y 先自減 1 變?yōu)?8 ,然后在輸出,因此屏幕上輸出 8轉(zhuǎn)向表達(dá)式3,執(zhí)行y-,y=y-1=8-1=7 。循環(huán)條件y0 成立,進(jìn)入 2 次循環(huán)第 2 次循環(huán)執(zhí)行 if 語(yǔ)句。 7%3 不為 0 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行printf(%d”,- -y)轉(zhuǎn)向表達(dá)式3,執(zhí)行y-,y=y-1=7-1=6 。循環(huán)條件y0 成立,進(jìn)入 3 次循環(huán)第 3 次循環(huán)執(zhí)行 if 語(yǔ)句。 6%3=0 , if 語(yǔ)句的條件表達(dá)式成立,執(zhí)行printf(%d-”, -y) ,
38、即 y 先自減 1 變?yōu)?5 ,然后在輸出,因此屏幕上輸出 5轉(zhuǎn)向表達(dá)式3,執(zhí)行y-,y=y-1=5-1=4 。循環(huán)條件y0 成立,進(jìn)入 4 次循環(huán)第 4 次循環(huán)執(zhí)行 if 語(yǔ)句。 4%3 不為 0 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行printf(%d”,- -y)轉(zhuǎn)向表達(dá)式3 ,執(zhí)行y-,y=4-1=3 。循環(huán)條件y0 成立,進(jìn)入 5 次循環(huán)第 5 次循環(huán)執(zhí)行 if 語(yǔ)句。 3%3=0 , if 語(yǔ)句的條件表達(dá)式成立,執(zhí)行printf(%d-”, -y) ,即 y 先自減 1 變?yōu)?2 ,然后在輸出,因此屏幕上輸出 2轉(zhuǎn)向表達(dá)式3,執(zhí)行y-,y=y-1=2-1=1 。循環(huán)條件y0 成立
39、,進(jìn)入 5 次循環(huán)第 6 次循環(huán)執(zhí)行 if 語(yǔ)句。 1%3 不為 0 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行printf(%d”,- -y)轉(zhuǎn)向表達(dá)式 3 ,執(zhí)行y-,y=1-1=0 。循環(huán)條件y0 不成立,循環(huán)結(jié)束。18.#include main() int i,sum=0; i=1;do sum=sum+i; i+; while(i=10);printf( “ %d” ,sum);運(yùn)行結(jié)果為: 5519.#include #define n 4main() int i;int x1=1,x2=2;printf(n);for(i=1;i=n;i+) printf(%4d%4d,x1,x2
40、);if(i%2=0)printf(n);x1=x1+x2;x2=x2+x1;運(yùn)行結(jié)果為:12358132134此題 首先為整型變量賦初值x1=1,x2=2表達(dá)式 1 為 i=1 ,表達(dá)式 2 (循環(huán)條件)為 i=n 即 i=4 ,表達(dá)式 3 為 i+循環(huán)變量初值i 為 1 ,循環(huán)條件(即表達(dá)式2 ) i=4 成立,進(jìn)入第1 次循環(huán)第 1 次循環(huán)執(zhí)行 printf(%4d%4d,x1,x2); 因此屏幕上輸出 12執(zhí)行 if 語(yǔ)句。 1%2 不為 0 , if 語(yǔ)句的條件表達(dá)式不成立,不執(zhí)行printf(n);執(zhí)行 x1=x1+x2=1+2=3; 此時(shí) x1 中的值已變?yōu)?3執(zhí)行 x2=x2+x1=2+3=5。轉(zhuǎn)向表達(dá)式 3 ,執(zhí)行 i+, i 為 2 。循環(huán)條件i=4 成立,進(jìn)入第2 次循環(huán)第 2 次循環(huán)執(zhí)行 printf(%4d%4d,x1,x2); 因此屏幕上輸出 35執(zhí)行 if 語(yǔ)句。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030全球5C超快充電池行業(yè)調(diào)研及趨勢(shì)分析報(bào)告
- 2025年全球及中國(guó)火藥量器行業(yè)頭部企業(yè)市場(chǎng)占有率及排名調(diào)研報(bào)告
- 2025融資買(mǎi)賣(mài)合同范文
- 酒水購(gòu)銷(xiāo)合同模板
- 分期付款買(mǎi)賣(mài)合同參考范文
- 2025太原市購(gòu)房合同范本范文
- 水果長(zhǎng)期供應(yīng)購(gòu)銷(xiāo)合同范本
- 2025廚房設(shè)備購(gòu)買(mǎi)合同樣本
- 燈具購(gòu)銷(xiāo)合同書(shū)范本
- 探索未知世界主題班會(huì)
- 2024年中考語(yǔ)文 (湖北專(zhuān)用)專(zhuān)題一 字音、字形課件
- T-ACEF 095-2023 揮發(fā)性有機(jī)物泄漏檢測(cè)紅外成像儀(OGI)技術(shù)要求及監(jiān)測(cè)規(guī)范
- 2023年全國(guó)高考乙卷歷史真題試卷及答案
- 骨科手術(shù)的術(shù)后飲食和營(yíng)養(yǎng)指導(dǎo)
- 旅游定制師入行培訓(xùn)方案
- 2024年中國(guó)南方航空股份有限公司招聘筆試參考題庫(kù)含答案解析
- 六年級(jí)上冊(cè)數(shù)學(xué)應(yīng)用題100題
- 個(gè)人代賣(mài)協(xié)議
- 賞析小說(shuō)語(yǔ)言(二)
- 【立高食品公司的償債能力現(xiàn)狀及問(wèn)題分析(論文9000字)】
- 10.《運(yùn)動(dòng)技能學(xué)習(xí)與控制》李強(qiáng)
評(píng)論
0/150
提交評(píng)論