C語言程序設(shè)計教程第三章練習(xí)題題目_第1頁
C語言程序設(shè)計教程第三章練習(xí)題題目_第2頁
C語言程序設(shè)計教程第三章練習(xí)題題目_第3頁
C語言程序設(shè)計教程第三章練習(xí)題題目_第4頁
C語言程序設(shè)計教程第三章練習(xí)題題目_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

單選題1、若定義a=3,b=4,執(zhí)行printf(“%d, %d”,(a,b),(b,a);的輸出結(jié)果為()。A.3,4B.4,3C.3,3D.4,42、如果要求在if后的判斷條件是a不等于0,則下列選項中能正確表達(dá)這一關(guān)系的是()。A.a0B.!aC.a=0D.a3、為了避免嵌套的if-else語句的二義性,C語言規(guī)定else總是與()組成配對關(guān)系。A.縮排位置相同的ifB.在其之前未配對的ifC.在其之前尚未配對的最近的ifD.同一行上的if4、有定義int t = 0;則有循環(huán)while(t=1),則下列關(guān)于while循環(huán)語句的描述中正確的是()。A.循環(huán)控制表達(dá)式的值為0B.循環(huán)控制表達(dá)式的值為1C.循環(huán)控制表達(dá)式的值不合法D.以上說法都不對5、若有定義:int x ,i;則下列for循環(huán)語句:for(i = 0,x = 0; i= 9 & x!=876;i+)scanf(“%d”,&x);下列選項中,描述正確的是( )A.最多執(zhí)行10次B.最多執(zhí)行9次C.是無限循環(huán)D.循環(huán)體一次也不執(zhí)行6、關(guān)于下面的for循環(huán)語句int i,k;for(i = 0,k = -1;k = 1;i+,k+) printf(“*”);下列選項中,描述正確的是( )A.判斷循環(huán)結(jié)束的條件非法B.是無限循環(huán)C.只循環(huán)一次D.一次也不循環(huán)7、C語言程序的三種基本結(jié)構(gòu)是( )。A.順序結(jié)構(gòu),選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu)B.遞歸結(jié)構(gòu),循環(huán)結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu)C.嵌套結(jié)構(gòu),遞歸結(jié)構(gòu),順序結(jié)構(gòu)D.循環(huán)結(jié)構(gòu),轉(zhuǎn)移結(jié)構(gòu),順序結(jié)構(gòu)8、若要求在if后一對圓括號中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式為( )。A.a0B.!aC.a=0D.a9、兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入6和4,那么輸出結(jié)果是( )。void main()int x;scanf(%d,&x);if (x+ 5)printf(%d,x);elseprintf(%dn,x-);A.7和5B.6和3C.7和4D.6和410、運(yùn)行以下程序后,如果從鍵盤上輸入china#,那么輸出結(jié)果為( )。#includevoid main() int v1=0,v2=0; char ch; while (ch=getchar()!=#) switch (ch) case a: case h: default: v1+; case 0: v2+; printf(%d,%dn,v1,v2);A.2,0B.5,0C.5,5D.2,511、有如下程序:void main()int x=1,a=0,b=0;switch(x)case 0:b+;case 1:a+;case 2:a+;b+;printf(a=%d,b=%dn,a,b);該程序的輸出結(jié)果是( )。A.a=2,b=1B.a=1,b=1C.a=1,b=0D.a=2,b=212、下面程序的輸出是( )。void main()char *a=12134211;int v1=0,v2=0,v3=0,v4=0,k;for (k=0;sk;k+)switch (sk)default:v4+;case 1:v1+;case 3:v3+;case 2:v2+;printf(v1=%d,v2=%d,v3=%d,v4=%dn,v1,v2,v3,v4);A.v1=4,v2=2,v3=1,v4=1B.v1=4,v2=9,v3=3,v4=1C.v1=5,v2=8,v3=6,v4=1D.v1=8,v2=8,v3=8,v4=813、下列程序段的輸出結(jié)果為( )。int y=1;while(y-);printf(y=%dn,y);A.y=-1B.y=0C.死循環(huán)D.y=914、當(dāng)輸入數(shù)據(jù):27 63 時,下面程序的運(yùn)行結(jié)果是( )。#includeint gbs(int a, int b)int c;a=a0?a:-a;b=b0?b:-b;c=a*b;if (c=0)return 0;while (a!=b)if (ab)a-=b;elseb-=a;return c/a;int gys(int a, int b)if (a*b=0)return 0;a=a0?a:-a;b=b0?b:-b;while (a!=b)if (ab)a-=b;elseb-=a;return a;void main()int a,b,c,d;scanf(%d%d,&a,&b);c=gbs(a,b);d=gys(a,b);printf(a=%d b=%d gbs=%d gys=%dn,a,b,c,d);A.a=30 b=63 gbs=189 gys=9B.a=27 b=63 gbs=190 gys=10C.a=27 b=63 gbs=189 gys=9D.a=27 b=63 gbs=188 gys=1015、假設(shè)有程序段:int k=0; while(k=1) k+; while語句的循環(huán)次數(shù)是( )。A.無限次B.有語法錯,不能執(zhí)行C.一次也不執(zhí)行D.執(zhí)行1次16、執(zhí)行下面程序片段的結(jié)果是( )。int x=23;doprintf(%2d,x-); while (!x);A.打印出321B.打印出23C.不打印任何內(nèi)容D.陷入死循環(huán)17、在C語言程序中,若希望結(jié)束循環(huán),則do-while語句構(gòu)成的循環(huán)中的條件為( )。A.0B.1C.trueD.非18、以下描述中正確的是( )。A.do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替B.do-while語句構(gòu)成的循環(huán)只能用break語句退出C.用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為非零時結(jié)束循環(huán)D.用do-while語句構(gòu)成的循環(huán),在while后的表達(dá)式為零時結(jié)束循環(huán)19、以下循環(huán)體的執(zhí)行次數(shù)是( )。void main()int i,j;for (i=0,j=1; i=j+1; i+=2,j-)printf(%dn,i);A.3B.2C.1D.020、有如下程序:void main()int i,sum;for(i=1;i8; y=+i)printf(%d %d , x-, y);A.10 1 9 2B.9 8 7 6C.10 9 9 0D.10 10 9 122、下列說法中正確的是( )。A.在switch語句中一定要使用break語句B.在switch語句中不一定要使用break語句C.break語句是switch語句的一部分D.break只能用于switch語句中23、執(zhí)行下面的程序后,a的值為( )。void main()int a,b;for (a=1,b=1; a=20)break;if (b%3=1)b+=3;continue;b-=5;A.7B.8C.9D.1024、若有以下程序段,w和k都是整型變量:w=k;LB:if (w=0)go to LE;w-;printf(*);goto LB;LE:那么不能與上面程序段等價的循環(huán)語句是( )。A.for (w=k; w!=0; w-) printf(*);B.for (w=k; w; -w) printf(*);C.w=k; while (w- != 0) printf(*); w+;D.w=k; do w-; printf(*); while (w!=0);多選題1、C語言的程序結(jié)構(gòu)語句包括()。A.順序結(jié)構(gòu)語句B.循環(huán)結(jié)構(gòu)語句C.選擇結(jié)構(gòu)語句D.邏輯結(jié)構(gòu)語句2下列語句哪些屬于循環(huán)語句()。A.for語句B.do-while語句C.while語句D.switch語句判斷題1、break是跳出當(dāng)前循環(huán),接著執(zhí)行循環(huán)后面的代碼。2、continue只能用于循環(huán)語句。3、break語句只能在循環(huán)語句中使用。4、在C語言中,跳轉(zhuǎn)語句有break語句、goto語句和continue語句。簡答題1、請閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請寫出運(yùn)行結(jié)果。void main() int a,b,d=241; a=d/100%9; b=(-1)&(-1); printf(“%d,%d”,a,b);2、請閱讀下面的程序,在空白處填寫正確的代碼,要求輸出m和n的值,且每行從頭開始。void main() int m = 10, n = 20;printf( ,m);printf( ,n);3、請閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請寫出運(yùn)行結(jié)果。void main int x = 1,y = 1, z = 10; if(z0) x = 3;else x = 5; printf(“%dt”,x); if(z = y 0) x = 3; else if(y=0) x = 5; else x = 7; printf(“%dt”,x); printf(“%dt”,z);4、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)分段函數(shù): x 0 y = (x+7)/3;輸入x,計算y值,輸出y。void main()int x, y;scanf(“%d”,&x);if(x 0) y = (x + 7) / 3;printf(“%d”,y);5、請閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請寫出運(yùn)行結(jié)果。void main() char ch = B; switch(ch) case A:printf(“it is An”); case B:printf(“it is Bn”); case C:printf(“it is Cn”); default: printf(“othern”);6、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能:投票表決器: -輸入Y,y,打印agree -輸入N,n,打印disagree -輸入其他, 打印losevoid main() char ch; scanf(“%c”,&ch); case Y: case y: printf(“agree”); ; case N: case n; printf(“disagree”); ; ; printf(“l(fā)oser”);7、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能:查詢學(xué)生身高的分布狀況:H 175-200cm 30%M 160-175cm 40% L 150-160cm 30%void main()char ch;scanf(“%d”,&ch); : printf(“175-200cm身高的學(xué)生占30%n”); ; : printf(“160-175cm身高的學(xué)生占40%n”); ; : printf(“160-175cm身高的學(xué)生占40%n”); ; default: printf(“輸入有誤,請重新輸入!n”);8、請閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請寫出運(yùn)行結(jié)果。void main() int num = 0; while(num = 2) num+; printf(“%dn”,num); 9、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能:輸出1-100之間的偶數(shù)數(shù):void main() int num = 1, sum = 0;while (num = 100)if ( )sum += num; ;printf(sum = %dn, sum);10、請閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請寫出運(yùn)行結(jié)果。void main() int num = 0; do num+; printf(“%dn”,num); while(num = 2);11、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能:輸出1-100之間的偶數(shù)數(shù):void main()int num = 1, sum = 0;doif ( )sum += num; ;while (num = 1; i-)m = (m + 1) * 2;printf(m = %dn, m);13、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能:求出1-100之間的偶數(shù)和:void main()int i, sum = 0;for(i = 2; ; i+) ;14、請閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請寫出運(yùn)行結(jié)果。void main() int i, j;for (i = 0; i = 2; i+)for (j = 0; j = i; j+)printf(%d,%d)n, i, j);15、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能:打印下列圖形:*void main() int i, j, k;for (i = 0; ; i+)for (j = 0; j = 2 - i; j+)printf( );for (k = 0; ; k+)printf(*); ;16、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能: X Y Z+ Y Z Z 5 3 2void main() int x, y, z, i, result = 532;for (x = 1; ; x+)for (y = 1; ; y+)for (z = 0; z = 1; z+)i = + (100 * y + 10 * z + z);if (i = result)printf(x = %d, y = %d, z = %dn, x, y, z);17、請閱讀下面的程序,分析程序是否能編繹通過并正確運(yùn)行,如果不能,說明原因;如果能,請寫出運(yùn)行結(jié)果。void main()int a, b;for (a = 1, b = 1; a = 10)break;if (b % 3 = 1)b += 3;continue;printf(a = %dn, a);18、請閱讀下面的程序,在空白處填寫正確的代碼,實(shí)現(xiàn)下列功能:用戶鍵盤輸入一個數(shù),判斷是奇數(shù)還是偶數(shù).void main() int num;scanf(%d, &num);if (num % 2 = 0) ;else ;ep1:printf(輸入的是一個偶數(shù)!n);ep2:printf(輸入的是一個奇數(shù)!n);19、請閱讀下面的程序,分析運(yùn)行結(jié)果。void main()printf(n);printf(n);printf(n);printf(n);printf(n);20、請閱讀下面的程序,在空白處填寫正確的代碼,輸出三個整數(shù)中最大的整數(shù)。#include void main()int a = 10, b = 40, c = 20, t = a;if (t b)_elsemax=b;if (maxc)_printf(max=%d, max);23、請閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請列出運(yùn)行的結(jié)果,否則請說明編譯失敗的原因。#include void main()int x = 1, a = 0, b = 0;switch (x)case 0:b+;case 1:a+;case 2:a+;b+;printf(a=%d,b=%dn, a, b);24、請閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請列出運(yùn)行的結(jié)果,否則請說明編譯失敗的原因。#include void main()int x = 1, y = 0, a = 0, b = 0;switch (x)case 1:switch (y)case 0:a+;break;case 1:b+;break;case 2:a+;b+;break;printf(a=%d, b=%dn, a, b);25、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:通過輸入成績,為成績評等級,90100為A,8089為B,7079為C,6069為D,60以下為E。#include void main()int score;printf(Please input your score:);scanf(%d, &score);switch ( )case 10:case 9:printf(Your level is A.n);break;case 8:printf(Your level is B.n);break;case 7:printf(Your level is C.n);break;case 6:printf(Your level is D.n);break; printf(Your level is E.n);26、請閱讀下面的程序,分析代碼是否能夠編譯通過,如果能編譯通過,請列出運(yùn)行的結(jié)果,否則請說明編譯失敗的原因。#includevoid main()int y=10;while(y-);printf(y=%dn,y);27、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:計算并輸出下列級數(shù)的前N項之和SN,直到SN大于Q為止。#includedouble fun(double q)int n;double s;n = 2;s = 2.0;while ( )s = s + (double)(n+1)/n; printf(n=%dn,n); void main()printf(%fn, fun(50);28、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:從鍵盤上輸入一行字符(不多于40個,以回車換行符作為輸入結(jié)束標(biāo)記),將其中的大寫字母改為小寫字母,其它字符不變,然后逆向輸出。void main()char a40;int n=0;doscanf(%c, &an);if (_)an+=32;n+; while (_ != n);n=n-2;while (n=0)printf(%c, an-);29、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:連續(xù)向數(shù)組輸入成績,并顯示數(shù)組元素的值,當(dāng)輸入負(fù)數(shù)時停止接收數(shù)據(jù)。void main()int n;int c100;n=0;doprintf(enter num:n);_printf(%dn,cn);n+; while (_);30、請閱讀下面的程序,分析該程序執(zhí)行后會有什么錯誤或者效果。#include#define MAX 255void main()unsigned char AMAX, i;for (i=0; i=MAX; i+)Ai=i;31、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:求1-10的奇數(shù)和。void main()int x,s=0;s=0;for (x=1; x=10; _)_printf(奇數(shù)和為:%d, s);32、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:計算n!的值。void main()int i, s, n;printf(enter n:);scanf(%d,&n);_for (i=1; i=n; i+)_printf(s=%d,s);33、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:求s=3+5+7+29之和。void main()int i,sum=0;for (i=3; i=29; _)sum = _;printf(sum=%dn,sum);34、請閱讀下面的程序,在空白處填寫正確的代碼,該程序的功能是:輸出100以內(nèi)能被3整除且個位數(shù)為6的所有整數(shù)。#includevoid main()int i, j;for (i=0; _; i+)j=i*10+6;if (j%3 != 0)_printf(%d,j);35、請編寫程序,從鍵盤輸入一個數(shù),實(shí)現(xiàn)對奇數(shù)和偶數(shù)的判斷。提示:1)定義一個int類型變量x,從鍵盤輸入數(shù)據(jù),調(diào)用scanf()函數(shù)。2)使用ifelse語句對x進(jìn)行判斷,如果是奇數(shù)就輸出“x是一個奇數(shù)”,否則輸出“x是偶數(shù)”。36、從鍵盤輸入三個數(shù)a,b,c,判斷其中的最大值并輸出。提示:1)從鍵盤輸入數(shù)據(jù),調(diào)用scanf()函數(shù)2)用if.else if.else語句判斷三個數(shù)的最大值37、編寫程序,實(shí)現(xiàn)下列功能:輸入一周中的某一天,查詢這一天是工作日還是周末休息日。提示:查詢某一天是工作日還是休息日,一次執(zhí)行一條指令,可以用switch語句;38、編寫程序,實(shí)現(xiàn)下列功能: 做一個值班查詢表,周一至周六安排不同的人值夜班,周日不值班。提示:1)周一到周日需要鍵盤輸入,調(diào)用scanf()函數(shù)2)多種情況的判斷,用switch語句39、編寫程序,實(shí)現(xiàn)一個能運(yùn)行加減乘除的簡單的計算器。鍵盤輸入表達(dá)式,根據(jù)加減乘除的符號給出相應(yīng)的結(jié)果。提示:1)鍵盤輸入表達(dá)式,根據(jù)加減乘除的符號給出相應(yīng)的結(jié)果。2)多種判斷情況可以用switch語句40、編寫程序,求10的階乘;提示:1) 20的階乘是1*2*3*102) 判斷

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論