版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、 吾愛網(wǎng)絡(luò)項(xiàng)目精選教育應(yīng)用文檔,如需本文,請下載?精選考試類應(yīng)用文檔,如果您需要使用本文檔,請點(diǎn)擊下載,另外祝您生活愉快,工作順利,萬事如意!精選考試類文檔,如果需要,請下載,希望能幫助到你們!2020 年 C 語言考試題庫及答案姓名 成績溫馨提示:同學(xué)們,經(jīng)過培訓(xùn)學(xué)習(xí),你一定積累了很多知識,現(xiàn)在請認(rèn)真、仔細(xì)地完成這張?jiān)囶}吧。力口油!一單項(xiàng)選擇題1.在C語言中,以 D 作為字符串結(jié)束標(biāo)志A) n B) C)00D)2.下列數(shù)據(jù)中屬于“字符串常量”的是( A )。A” aB.ABC C.0 D. abc a若干個字符構(gòu)成字符串 在C語言中,用單引號標(biāo)識字符;用雙引號標(biāo)識字符串選項(xiàng)B, C,分別用
2、。和標(biāo)識字符串選項(xiàng)D,標(biāo)識字符。3、以下說法中正確的是( C )。A、C語言程序總是從第一個定義的函數(shù)開始執(zhí)行B、在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義C、C語言程序總是從 main()函數(shù)開始執(zhí)行D、C語言程序中的 main()函數(shù)必須放在程序的開始部分4 .下列關(guān)于C語言的說法錯誤的是(B )。A) C程序的工作過程是編輯、編譯、連接、運(yùn)行B) C語言不區(qū)分大小寫。C) C程序的三種基本結(jié)構(gòu)是順序、選擇、循環(huán)D) C程序從main函數(shù)開始執(zhí)行5 .下列正確的標(biāo)識符是(C )。A.-a1 B.ai C.a2_i D.int t6 .下列C語言用戶標(biāo)識符中合法的是( B )。
3、A)3ax B)x C)case D)-e2 E)unionC ) a123 D ) 123C語言程序中的標(biāo)識符的是(A )。、Iam one_half start$it 3pai、Pxq My-book line# His.ageD )。7 .下列四組選項(xiàng)中,正確的 C語言標(biāo)識符是(C )。A)%x B ) a+b8、下列四組字符串中都可以用作A、print _3d db8 aBc BC、str_1 Cpp pow while DB、整型、實(shí)型、邏輯型、字符型D、整型、實(shí)型、字符型5%2的結(jié)果是C 。D)3;則條件表達(dá)式ab? a:b的值是 A ,C) 0 D) 19 .C語言中的簡單數(shù)據(jù)類
4、型包括(A、整型、實(shí)型、邏輯型C、整型、字符型、邏輯型10 .在C語言程序中,表達(dá)式A)2.5B)2C)111 .如果 int a=3,b=4A) 3 B)412 .若 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域,正確的賦值語句是CA) p=&a;B) p=data.a; C) p=&data.a; D)*p=data.a;34 .設(shè)有以下說明語句:typedef struct stu int a; float b; stutype;則下面敘述
5、中錯誤的是(D )。A、struct是結(jié)構(gòu)類型的關(guān)鍵字B、struct stu是用戶定義的結(jié)構(gòu)類型C、a和b都是結(jié)構(gòu)成員名D、stutype是用戶定義的結(jié)構(gòu)體變量名35 .語句int *p;說明了 C 。A)p是指向一維數(shù)組的指針B)p是指向函數(shù)的指針,該函數(shù)返回一 int型數(shù)據(jù)C)p是指向int型數(shù)據(jù)的指針 指針的定義教材 P223D)p是函數(shù)名該函數(shù)返回一指向int型數(shù)據(jù)的指針36 .下列不正確的定義是( A )。A. int *p=&i,i;B.int *p,i;C. int i,*p=&i;D.int i,*p;37 .若有說明:int n=2,*p=&n,*q=p,則以下非法的賦值語
6、句是:(D )A) p=q B ) *p=*q C ) n=*q D ) p=n38 .有語句:int a10,;則B 是對指針變量p的正確定義和初始化。A)int p=*a; B)int *p=a; C)int p=&a; D)int *p=&a;39 .若有說明語句“ int a5,*p=a;,則對數(shù)組元素的正確引用是(C )。A.ap B.pa C.*(p+2)D.p+240 .有如下程序int a10=1,2,3,4,5,6,7,8,9,10,*P=a;則數(shù)值為9的表達(dá)式是_BA) *P+9 B) *(P+8) C) *P+=9 D) P+8一、讀程序基本輸入輸出及流程控制1.#inc
7、lude main() int a=1,b=3,c=5;if (c=a+b)printf(yesn);elseprintf(non);運(yùn)行結(jié)果為: no詳見教材p89 選擇結(jié)構(gòu)詳見教材p91 關(guān)系符號詳見附錄D p378符號的優(yōu)先級= 表示判斷符號兩邊的值是否相等; = 表示將符號右邊的值賦給左邊的變量本題考點(diǎn)是選擇結(jié)構(gòu)3 種基本形式的第二種選擇結(jié)構(gòu)三種一般形式中的“語句”皆為復(fù)合語句,復(fù)合語句要用 括起來,只有當(dāng)復(fù)合語句中只包括一條語句時可以省略 ,此題即如此,因此兩個printf 操作沒有加 若 c=a+b 成立,則執(zhí)行printf(yesn);否則(即 c=a+b 不成立),執(zhí)行prin
8、tf(non);+ 的優(yōu)先級高于= ,因此先算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詳見教材 p89 選擇結(jié)構(gòu)本題考點(diǎn)是選擇結(jié)構(gòu)3 種基本形式的第一種一共包含了兩個選擇結(jié)構(gòu)(兩個if 語句)定義變量,并賦值此時 a=12, b= -34, c=56, min=0將 a 中值拷貝,賦給min ,覆蓋了 mi
9、n 中的 0,此時 min 中的值被更新為 12 。若 minb 成立,則執(zhí)行min=b;若 minc 成立,則執(zhí)行min=c;輸出 min 中的值12 大于 -34, 第一個 if 語句的表達(dá)式成立,因此執(zhí)行 min=b; 執(zhí)行后 min 中的值被更新為 -34.-34 小于 56, 第二個 if 語句的表達(dá)式不成立,因此不執(zhí)行min=c;最后輸出 min 中的值,為-34.3.#include main() int x=2,y= -1,z=5;if(xy)if(y0)z=0;elsez=z+1;printf( “ %nd” ,z);運(yùn)行結(jié)果為: 5遇到選擇結(jié)構(gòu),首先要明確條件表達(dá)式成立時執(zhí)
10、行哪些操作。本題中,第一個if 語句,其后的復(fù)合語句沒有大括號 ,說明復(fù)合語句中只包含一條語句,進(jìn)而省略了 。內(nèi)層的if.else. 是選擇結(jié)構(gòu)的第二種基本形式,在結(jié)構(gòu)上視為一條語句。因此內(nèi)層的if.else. 作為第一個if 語句的復(fù)合語句。若表達(dá)式 xy 成立,則繼續(xù)判斷若 y=0 ) ,執(zhí)行 z=z+1;輸出 z2-1 ,表達(dá)式xy不成立,因此不執(zhí)行內(nèi)層的 ifelse.進(jìn)而的值沒有被改變。輸出 z 中的值為 54.#include main() 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
11、;b=c;c=t;printf(%5.2f,%5.2f,%5.2f,a,b,c); % 為求余運(yùn)算運(yùn)行結(jié)果為: 1.00, 3.00, 7.00詳見教材p72數(shù)據(jù)的輸出形式本題包含了 3 個 if 語句,每個if 語句后的 都不可省略,因?yàn)槊總€ 中都包含了多條語句若表達(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 中的值,要求輸出的每個數(shù)據(jù)寬度為 5 個空格,小數(shù)部分保留 2 位,數(shù)據(jù)右對齊3 小于 7, 因此表達(dá)式ab 不成立,因此不執(zhí)行t=a;a=b;b=t;3 大于 1 ,因此表
12、達(dá)式ac 成立,則執(zhí)行t=a;a=b;b=t; 。第一句,將a 中的 3 拷貝,粘貼到 t 中;第二句,將c 中的 1 拷貝,粘貼到 a 中,覆蓋掉先前的 3 ;第三句。將t 中的 3 拷貝到 c 中,覆蓋掉c 中先前的 1. 執(zhí)行完復(fù)合語句后實(shí)現(xiàn)了 a,c 元素的值的互換, a 為 1 , c 為 3 , t 為 3 ,。7 大于 c 中的 3 ,因此 bc 成立,執(zhí)行則執(zhí)行t=b;b=c;c=t; ,過程同上,執(zhí)行后b 為 3 , c 為 7, t 為 7此時輸出 a,b,c 中的值為 1.00, 2.00, 7.005#include main ( ) float c=3.0 , d=4
13、.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. 語句的嵌套,第二if.else. 作為第一個if.else. 語句 else 部分的復(fù)合語句。若表達(dá)式 cd 成立,則執(zhí)行 c=5.0;否則(表達(dá)式cd 不成立)若表達(dá)式 c=d 成立,則執(zhí)行c=6.0;否則,執(zhí)行c=7.0;輸出 c 中的值3.0小于4.0 ,因此表達(dá)式 cd不成立,執(zhí)彳T第二個ifelse。3.0 不等于 4.0 ,因此表達(dá)式c=d 不成立,執(zhí)行c=7.0 ,將 7.0 賦給 c, 覆蓋
14、掉 c 中的 3.0 ,此時 c 中的值為7.0輸出此時的 c 中的值6.#include main() int m;scanf(%d, &m);if (m = 0) if (m%2 = 0)printf(%d is a positive evenn, m);elseprintf(%d is a positive oddn, m);else if (m % 2 = 0) printf(%d is a negative evenn, m);else printf(%d is a negative oddn, m);若鍵入 9 ,則運(yùn)行結(jié)果為 : -9 is a negative odd7.#in
15、clude main() int num=0 ;while(num=2) num+ ; printf(%dn,num) ; 運(yùn)行結(jié)果為:123詳見教材p115 循環(huán)結(jié)構(gòu)當(dāng)循環(huán)條件num=2 成立的時候,執(zhí)行循環(huán)體 num+ ; printf(%dn,num)循環(huán)初值num 為 0;循環(huán)條件num=2 成立第 1 次循環(huán):執(zhí)行num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 1 ;執(zhí)行 printf(%dn,num) ;在屏幕上輸出 num 中的值,即輸出此時 num 中的值為 1 ,循環(huán)條件num=2 成立第 2 此循環(huán):執(zhí)行num+; 即將 num 中的值加 1 ,執(zhí)行后 num
16、 為 2 ;執(zhí)行 printf(%dn,num) ;在屏幕上輸出 num 中的值,即輸出此時 num 中的值為 2 ,循環(huán)條件num=2 成立第 3 此循環(huán):執(zhí)行num+; 即將 num 中的值加 1 ,執(zhí)行后 num 為 3 ;執(zhí)行 printf(%dn,num) ;在屏幕上輸出 num 中的值,即輸出中的語句。1 ,之后換行2,之后換行3,之后換行此時 num 中的值為3 ,循環(huán)條件num=2 不成立,結(jié)束循環(huán)。8.#include main( ) int sum=10,n=1;while(n3) sum=sum-n; n+; printf( “ %d,%d ” ,n,sum);運(yùn)行結(jié)果為
17、: 3,7當(dāng)循環(huán)條件n3 成立的時候,執(zhí)行循環(huán)體 sum=sum-n; n+; 中的語句。循環(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 ;此時 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 為 3 ;中要求輸出的數(shù)據(jù)彼此間用逗號輸出此時 n,sum 中的值,即為 3,7 。需要注意,在 printf( “ %d,%d ” ,n,sum);
18、間隔,因此結(jié)果的兩個數(shù)據(jù)間一定要有逗號9.#include main() int num,c;scanf(%d,&num);do c=num%10; printf(%d ,c); while(num/=10)0); num=0printf(n); 從鍵盤輸入 23 ,則運(yùn)行結(jié)果為: 3 2詳見教材 p117 循環(huán)結(jié)構(gòu); p60 復(fù)合的賦值運(yùn)算符do while( 表達(dá)式 );先無條件執(zhí)行循環(huán)體,再判斷循環(huán)條件。注意 while (表達(dá)式)后有分號定義整型變量num , c;為 num 賦一個整型值;執(zhí)行 c=num%10; printf(%d,c); 直到循環(huán)條件(num/=10)0 不成立;
19、輸出換行已知為 num 賦值 23第 1 次執(zhí)行循環(huán)體執(zhí)行 c=num%10=23%10=3;執(zhí)行 printf(%d,c); 輸出 3判斷循環(huán)條件num/=10 等價于 num=num/10; 因此 num=23/10=2, 2 大于 0 ,因此循環(huán)條件(num/=10)0成立,繼續(xù)執(zhí)行循環(huán)體。執(zhí)行完第1 次循環(huán)時, 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,因此循環(huán)條件(num/=10)0 不成立。結(jié)束循環(huán)10#include main() int s=0,a=5,n;sc
20、anf(%d,&n);do s+=1; a=a-2; while(a!=n);printf(%d , %dn,s,a);若輸入的值 1 ,運(yùn)行結(jié)果為: 2,1詳見教材 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; 等價于 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)體。執(zhí)行完第 1 次循環(huán)時, s 為 1 , a 為 3第 2 次執(zhí)行循環(huán)體執(zhí)行 s+=1; 等價于 s=s+
21、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)時, s 為 2 , a 為 1輸出此時 s,a 中的值,結(jié)果為 2,111. #include stdio.hmain()char c;c=getchar();while(c!=?) putchar(c); c=getchar(); 如果從鍵盤輸入 abcde ? fgh (回車)運(yùn)行結(jié)果為: abcde12.#include main() char c;while(c=getchar()!= $ ) if( A =c&c= Z ) putchar(c);
22、else if(a =c&c=z ) putchar(-c32); 當(dāng)輸入為 ab*AB%cd#CD$ 時,運(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é)果為: 10 5詳見教材p120 for 語句詳見教材p126128 break, continue 語句for( 表達(dá)式 1; 表達(dá)式 2; 表達(dá)式 3)(1) 先求解表達(dá)式1(2) 求解表達(dá)式2 ,若其值為真,執(zhí)行循環(huán)體,然后執(zhí)行(3). 若為假,則結(jié)束循環(huán),轉(zhuǎn)到 (5)(3) 求解表達(dá)式3
23、(4) 轉(zhuǎn)回上面 (2) 繼續(xù)執(zhí)行(5) 循環(huán)結(jié)束,執(zhí)行for 語句下面的一個語句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 語句。 0 小于 10 , if 語句的條件表達(dá)式不成立,不執(zhí)行break;執(zhí)行 y=y+x; y=0+1=1轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 x+, x=x+1=1+1=2 。循環(huán)條件x=10 成立,
24、進(jìn)入第2 次循環(huán)第 2 次循環(huán)執(zhí)行 if 語句。 1 小于 10 , if 語句的條件表達(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 語句。 3 小于 10 , if 語句的條件表達(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í)行 if 語句。 6 小于 10 , if 語句的條件表達(dá)式不成立,不執(zhí)行break;執(zhí)行 y=y+x;
25、 y=6+4=10x=10 成立,進(jìn)入第5 次循環(huán)轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 x+, x=x+1=4+1=5第 5 次循環(huán)執(zhí)行 if 語句。 10 等于 10 , if 語句的條件表達(dá)式成立,執(zhí)行break ,跳出循環(huán)。從 break 跳出至 for 語句的下一條語句。執(zhí)行printf( “ %d %d ” ,y,x);輸出當(dāng)前的y 與 x. 結(jié)果為 10 514.#includemain( ) char ch;ch=getchar( );switch(ch) case A : printf(“ %c” , A );case B : printf(“ %c” , B ); break;default
26、: printf(“n ”%,s ” other ” ); 當(dāng)從鍵盤輸入字母 A 時,運(yùn)行結(jié)果為: AB詳見教材 p103 , switch 語句switch (表達(dá)式)case常量1 :語句1case 常量!2 :語句!語句2!1case 常量1n :語句語句1ndefault語句 n+1其中表達(dá)式,常量1,,常量n都為整型或字符型case 相當(dāng)于給出執(zhí)行程序的入口和起始位置,若找到匹配的常量,則從此處開始往下執(zhí)行程序,不再匹配常量,直至遇到 break 或 switch 結(jié)束本題過程:首先從鍵盤接收一個字符A并將其放他h。執(zhí)行switch語句。Switch后面的條件表達(dá)式為ch,因此表達(dá)式
27、的值即為字符A.用字符 A依次與下面的 case 中的常量匹配。與第 1 個 case 后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進(jìn)行匹配。)因此先執(zhí)彳t printf( “ c, A),屏幕上輸出再往下繼續(xù)執(zhí)行 pr intf( “ c, B),屏幕上輸出再繼續(xù)執(zhí) 行 break , 此時跳出 switch 語句。15.#include main( ) int a=1,b=0;scanf( “ %d” ,&a);switch(a) case 1: b=1; break ;case 2: b=2; break ;default : b=10; printf(%d , b)若
28、鍵盤輸入5 ,運(yùn)行結(jié)果為: 10本題過程:首先用 scanf 函數(shù)為變量a 賦值為 5 。執(zhí)行 switch 語句。 switch 后面的條件表達(dá)式為 a, 因此表達(dá)式的值即為 5. 用 5 依次與下面case 中的常量匹配。沒有找到匹配的常量,因此兩個case 后的語句都不執(zhí)行。執(zhí)行default 后面的語句 b=10 ;將 10 賦給變量 b 。輸出變量 b, 結(jié)果為 1016.#include main()_ char grade= C;switch(grade)case A : printf( “ 90n ” );case B : printf( “ 8n0” );case C: pr
29、intf(“ 7n0”);case D : printf(“ 6n0” ); break;case E: printf(“ )in “n ”6)0;default :printf(_ ”一 i“ enr” ror!);運(yùn)行結(jié)果為:吾愛網(wǎng)絡(luò)項(xiàng)目精選教育應(yīng)用文檔,如需本文,請下載?70-8060-70本題過程:首先從鍵盤接收一個字符c并將其放面rade中。執(zhí)行switch語句。switch后面的條件表達(dá)式為grade,因此表達(dá)式的值即為字符C.用字符C依次與下面的 case 中的常量匹配。與第 3 個 case 后的常量匹配,則從其后的語句開始往下執(zhí)行程序(在執(zhí)行過程中不再進(jìn)行匹配。)因此先執(zhí)行
30、printf( “ 70 n ” ); ,屏幕上輸出 70-80, 并換行;再往下繼續(xù)執(zhí)行printf( “ 60 n ” ) ,屏幕上輸出60-70 ,并換行;再繼續(xù)執(zhí)行break , 此時跳出 switch 語句。17.#include main() int y=9;for(;y0;y- -)if(y%3=0) printf(%d-”, -y);運(yùn)行結(jié)果為:852詳見教材 p53 ,自增自減符號此題 表達(dá)式 1 被省略,表達(dá)式2 (循環(huán)條件)為 y0 ,表達(dá)式 3 為 y-初值 y 為 9 ,循環(huán)條件(即表達(dá)式2 ) y0 成立,進(jìn)入循環(huán)體第 1 次循環(huán)執(zhí)行 if 語句。 9%3=0 ,
31、if 語句的條件表達(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 語句。 7%3 不為 0 , if 語句的條件表達(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 語句。 6%3=0 , if 語句的條件表達(dá)式成立,執(zhí)行printf(%d”,- -y) ,即 y 先自減 1 變?yōu)?5 ,然后在輸出,因此屏
32、幕上輸出 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 語句。 4%3 不為 0 , if 語句的條件表達(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 語句。 3%3=0 , if 語句的條件表達(dá)式成立,執(zhí)行printf(%d”,- -y) ,即 y 先自減 1 變?yōu)? ,然后在輸出,因此屏幕上輸出 2轉(zhuǎn)向表達(dá)式3,執(zhí)行y-, y=y-1=2-1=1 。循環(huán)條件y0 成立,進(jìn)入第 5 次循環(huán)第 6 次循環(huán)執(zhí)行 if
33、 語句。 1%3 不為 0, if 語句的條件表達(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);if(i%2=0)printf(n);x1
34、=x1+x2;x2=x2+x1;運(yùn)行結(jié)果為:1 2 3 58 13 21 34此題 首先為整型變量賦初值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); 因此屏幕上輸出 1 2執(zhí)行 if 語句。 1%2 不為 0 , if 語句的條件表達(dá)式不成立,不執(zhí)行printf(n);執(zhí)行 x1=x1+x2=1+2=3; 此時 x1 中的值已變?yōu)?3執(zhí)行 x2=x2+x1=2+3=5。轉(zhuǎn)向表達(dá)式
35、3 ,執(zhí)行 i+, i 為 2 。循環(huán)條件i=4 成立,進(jìn)入第2 次循環(huán)第 2 次循環(huán)執(zhí)行 printf(%4d%4d,x1,x2); 因此屏幕上輸出 3 5執(zhí)行 if 語句。 2%2=0 , if 語句的條件表達(dá)式成立,執(zhí)行printf(n); 換行執(zhí)行x1=x1+x2=3+5=8;此時x1 中的值已變?yōu)?8執(zhí)行x2=x2+x1=5+8=13。轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 i+, i 為 3 。循環(huán)條件i=4 成立,進(jìn)入第3 次循環(huán)第 3 次循環(huán)執(zhí)行 printf(%4d%4d,x1,x2); 因此屏幕上輸出 8 13執(zhí)行 if 語句。 3%2 不為 0 , if 語句的條件表達(dá)式不成立,不執(zhí)行pr
36、intf(n);執(zhí)行x1=x1+x2=8+13=21;此時x1 中的值已變?yōu)?21執(zhí)行x2=x2+x1=21+13=34。轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 i+, i 為 4 。循環(huán)條件i=4 成立,進(jìn)入第4 次循環(huán)第 2 次循環(huán)執(zhí)行 printf(%4d%4d,x1,x2); 因此屏幕上輸出 21 34執(zhí)行 if 語句。 4%2=0 , if 語句的條件表達(dá)式成立,執(zhí)行printf(n); 換行執(zhí)行 x1=x1+x2=21+34=55; 此時 x1 中的值已變?yōu)?55執(zhí)行 x2=x2+x1=34+55=89。轉(zhuǎn)向表達(dá)式3 ,執(zhí)行 i+, i 為 5 。循環(huán)條件i=4 不成立,結(jié)束循環(huán)20#include
37、 main( ) int x, y;for(x=30, y=0; x=10, y10; x-, y+)x/=2, y+=2;printf( “ x=%d,y=%d n ” ,x,y);運(yùn)行結(jié)果為:x=0,y=1221.吾愛網(wǎng)絡(luò)項(xiàng)目精選教育應(yīng)用文檔,如需本文,請下載?#include #define N 4main( ) int i,j;for(i=1;i=N;i+) for(j=1;ji;j+)printf( );printf(*);printf(n);運(yùn)行結(jié)果為:*詳見教材 P41 符號常量用宏處理指令定義符號常量N 為 4 ,在編譯過程中,遇到 N 即視為整數(shù)4 。外層 for 循環(huán),表達(dá)
38、式1 為 i=1 ,表達(dá)式 2 (循環(huán)條件)為 i=N ,表達(dá)式 3 為 i+內(nèi)層 for 循環(huán),表達(dá)式1 為 j=1 ,表達(dá)式 2 (循環(huán)條件)為 ji , 表達(dá)式 3 為 j+首先計(jì)算外層循環(huán)的表達(dá)式1 , i 為 1 ,使得循環(huán)條件i=4 成立,進(jìn)入外層 for 循環(huán)體外層 for 循環(huán)第 1 次 此時 i 為 1吾愛網(wǎng)絡(luò)項(xiàng)目精選教育應(yīng)用文檔,如需本文,請下載?內(nèi)層循環(huán) j=1, 使得循環(huán)條件ji 不成立,因此不執(zhí)行內(nèi)層循環(huán)體(不輸出空格)執(zhí)行 printf(*);執(zhí)行 printf(n); 換行至此外層循環(huán)體執(zhí)行完,計(jì)算外層循環(huán)的表達(dá)式3 , i+ ,此時 i 為 2. 使得循環(huán)條件i
39、=4成立,再次進(jìn)入外層for 循環(huán)體外層 for 循環(huán)第 2 次 此時 i 為 2內(nèi)層循環(huán) j=1, 使得循環(huán)條件ji 成立第 1 次執(zhí)行內(nèi)層循環(huán)體printf( );執(zhí)行內(nèi)層循環(huán)表達(dá)式3 , j+ 為 2 , ji 不成立,跳出內(nèi)層循環(huán)執(zhí)行 printf(*);執(zhí)行 printf(n); 換行至此外層循環(huán)體執(zhí)行完,計(jì)算外層循環(huán)的表達(dá)式3 , i+ ,此時 i 為 3. 使得循環(huán)條件i=4成立,進(jìn)入外層for 循環(huán)體外層 for 循環(huán)第 3 次 此時 i 為 3內(nèi)層循環(huán) j=1, 使得循環(huán)條件ji 成立第 1 次執(zhí)行內(nèi)層循環(huán)體printf( );執(zhí)行內(nèi)層循環(huán)表達(dá)式3 , j+ 為 2 , ji
40、 成立,再次執(zhí)行內(nèi)層循環(huán)第 2 次執(zhí)行內(nèi)層循環(huán)體printf( );執(zhí)行內(nèi)層循環(huán)表達(dá)式3 , j+ 為 3 , ji 不成立,跳出內(nèi)層循環(huán)執(zhí)行printf(*);執(zhí)行printf(n);換行至此外層循環(huán)體執(zhí)行完,計(jì)算外層循環(huán)的表達(dá)式3 , i+ ,此時 i 為 4. 使得循環(huán)條件i=4成立,進(jìn)入外層for 循環(huán)體外層 for 循環(huán)第 4 次 此時 i 為 4內(nèi)層循環(huán) j=1, 使得循環(huán)條件ji 成立第1次執(zhí)行內(nèi)層循環(huán)體printf();執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j+為2 ,ji成立,再次執(zhí)行內(nèi)層循環(huán)第2次執(zhí)行內(nèi)層循環(huán)體printf();執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j+為3 ,ji成立,再次執(zhí)行內(nèi)層循環(huán)第
41、3次執(zhí)行內(nèi)層循環(huán)體printf();執(zhí)行內(nèi)層循環(huán)表達(dá)式3,j+為4 ,ji不成立,跳出內(nèi)層循環(huán)執(zhí)行printf(*);執(zhí)行printf(n);換行i=4至此外層循環(huán)體執(zhí)行完,計(jì)算外層循環(huán)的表達(dá)式3 , i+ ,此時 i 為 5. 使得循環(huán)條件不成立,跳出外層for 循環(huán)體數(shù)組1.#include main() int i, a10;for(i=9;i=0;i-) ai=10-i;吾愛網(wǎng)絡(luò)項(xiàng)目精選教育應(yīng)用文檔,如需本文,請下載?printf(%d%d%d” ,a2,a5,a8);運(yùn)行結(jié)果為:852詳見 p143-146. 例題 6.1 一定看懂!a 中包含 10 個整型元素(整型變量)首先定義整
42、型變量i,整型數(shù)組a, a的長度為10,即執(zhí)行 for 循環(huán)語句初值 i=9, 使得循環(huán)條件i=0成立,執(zhí)行循環(huán)體計(jì)算表達(dá)式3 ,i-i 為 4 ,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第 1 次循環(huán)執(zhí)行 ai=10-i等價于a9=10-9=1計(jì)算表達(dá)式3 ,i-i 為 8 ,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第 2 次循環(huán)執(zhí)行 ai=10-i等價于a8=10-8=2計(jì)算表達(dá)式3 ,i-i 為 7 ,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第 3 次循環(huán)執(zhí)行 ai=10-i等價于a7=10-7=3計(jì)算表達(dá)式3 ,i-i 為 6 ,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第 4 次循環(huán)執(zhí)行 ai=10-i等價于a6=10-6=4計(jì)算表達(dá)式3 ,i-i 為 5 ,使得循環(huán)條件i=0成立,繼續(xù)執(zhí)行循環(huán)體第 5 次循環(huán)執(zhí)行 ai=10-i等價于a5=10-5=5吾愛網(wǎng)絡(luò)項(xiàng)目精選教育應(yīng)用文檔,如需本文,請下載?第 6 次循環(huán)執(zhí)行 ai=10-i 等價于 a4=10-4=6計(jì)算表達(dá)式
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025版房地產(chǎn)買賣合同擔(dān)保及產(chǎn)權(quán)轉(zhuǎn)移范本3篇
- 2025版農(nóng)業(yè)科技股份收購與農(nóng)產(chǎn)品品牌合作合同3篇
- 2025年高標(biāo)準(zhǔn)住宅小區(qū)水電安裝及售后服務(wù)合同2篇
- 2025年銷售薪資與銷售團(tuán)隊(duì)激勵合同3篇
- 桶裝水銷售合同中的質(zhì)量糾紛處理2025年度3篇
- 2025版事業(yè)單位職工食堂職工餐飲滿意度調(diào)查與分析承包合同3篇
- 2025版司機(jī)雇傭服務(wù)質(zhì)量監(jiān)督與考核合同3篇
- 2025版標(biāo)準(zhǔn)二手車鑒定評估師服務(wù)合同3篇
- 二零二五版門頭廣告位招商與運(yùn)營管理合同4篇
- 2025版?zhèn)€人小額教育貸款抵押擔(dān)保協(xié)議3篇
- 油氣行業(yè)人才需求預(yù)測-洞察分析
- 《數(shù)據(jù)采集技術(shù)》課件-Scrapy 框架的基本操作
- 高一化學(xué)《活潑的金屬單質(zhì)-鈉》分層練習(xí)含答案解析
- 華為集團(tuán)干部管理
- 圖書館前臺接待工作總結(jié)
- 衛(wèi)生院藥品管理制度
- 理論力學(xué)智慧樹知到期末考試答案章節(jié)答案2024年中國石油大學(xué)(華東)
- 2024老年人靜脈血栓栓塞癥防治中國專家共識(完整版)
- 四年級上冊脫式計(jì)算100題及答案
- 上海市12校2023-2024學(xué)年高考生物一模試卷含解析
- 儲能電站火災(zāi)應(yīng)急預(yù)案演練
評論
0/150
提交評論