《C語言習(xí)題集》word版_第1頁
《C語言習(xí)題集》word版_第2頁
《C語言習(xí)題集》word版_第3頁
《C語言習(xí)題集》word版_第4頁
《C語言習(xí)題集》word版_第5頁
已閱讀5頁,還剩97頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、 TOC o 1-2 h z HYPERLINK l _Toc86980130 第一部分 數(shù)據(jù)類型、運(yùn)算符、表達(dá)式 PAGEREF _Toc86980130 h 2 HYPERLINK l _Toc86980131 第二部分 結(jié)構(gòu)化程序設(shè)計(jì)的三大結(jié)構(gòu) PAGEREF _Toc86980131 h 12 HYPERLINK l _Toc86980132 第三部分 數(shù)組 PAGEREF _Toc86980132 h 29 HYPERLINK l _Toc86980133 第四部分 結(jié)構(gòu)體、共用體、枚舉類型 PAGEREF _Toc86980133 h 45 HYPERLINK l _Toc8698

2、0134 第五部分 函數(shù) PAGEREF _Toc86980134 h 52 HYPERLINK l _Toc86980135 第六部分 指針 PAGEREF _Toc86980135 h 68第一部分 數(shù)據(jù)類型、運(yùn)算符、表達(dá)式及簡單的輸入輸出語句選擇題: char型常量在內(nèi)存中存放的是: A)ASCII碼 B)原碼 C)內(nèi)碼值 D)十進(jìn)制代碼值C語言中整數(shù)-8在內(nèi)存中存儲(chǔ)形式是: A)1111,1111,1111,1000 B)1000,0000,0000,1000C)0000,0000,0000,1000 D)1111,1111,1111,0111C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是: A)

3、 Double B) short C) integer D) Char在C語言中,合法的長整型常數(shù)是: A) 0L B) 4962710 C)0.054838743 D) 2.1869e10在C語言中,合法的字符常量是: A) 084 B) x43 C) ab D) “0” 下面標(biāo)識(shí)符中,不合法的用戶標(biāo)識(shí)符為: A)pad B)a_13 C)CHAR D)a#b下列變量定義中合法的是: A)short _a=1-.le-1; B) double b=1+5e2.5; C)long do=0 xfdaL; D) float 2_and=1-e-3;下列不正確的轉(zhuǎn)義字符分別為: A) B)011

4、C) D)Xaa設(shè)m,n,a,b,c,d均為0,執(zhí)行(m=a=b)|(n=c=d)后,m,n的值是: A)0,0 B)0,1 C)1,0 D)1,1設(shè)有如下定義:int a=1,b=2,c=3,d=4,m=2,n=2;則執(zhí)行表達(dá)式:(m=ab)&(n=cd)后,n的值為: A)1 B)2 C)3 D)0設(shè) int b=2;表達(dá)式(b2)/(b1)的值是: A) 0 B) 2 C) 4 D) 8設(shè) int x=1, y=1; 表達(dá)式(!x|y-)的值是: A) 0 B) 1 C) 2 D) -1設(shè)a為5 ,執(zhí)行下列語句后,b的值不為2的是: A)b=a/2 B)b=6-(-a) C)b=a%2

5、D)b=a3?2:2設(shè)x、y、z和k都是int型變量,則執(zhí)行表達(dá)式:x=(y=4,z=16,k=32)后,x的值為: A)4 B)16 C)32 D)52設(shè)有語句 int a=3;,則執(zhí)行了語句a+=a-=a*a;后,變量a的值是: A)3 B)0 C)9 D)-12設(shè)整型變量a,b,c的值均為2,表達(dá)式a+b+c+的結(jié)果是: A)6 B)9 C)8 D)表達(dá)式出錯(cuò)設(shè)a=1,b=2,c=3,d=4,則表達(dá)式:ab?a:cd?a:b的結(jié)果為?: A)4 B)3 C)2 D)1若a為整型變量,以下語句: a=-2L; printf(“%d”,a);則 A)賦值不合法 B)輸出-2 C)輸出不確定

6、D)輸出2下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點(diǎn)后只寫一位) A) 6 6 6.0 6.0 B) 6 6 6.7 6.7 C) 6 6 6.0 6.7 D) 6 6 6.7 6.0main() double d; float f; long l; int i; i=f=1=d=20/3; printf(%d %ld %f %f n, i,l,f,d);設(shè)a為整型變量,不能正確表達(dá)數(shù)學(xué)關(guān)系:10a15的C語言表達(dá)式是: A)10a10&a15 D)!(a=15)能正確表示a和b同時(shí)為正或同時(shí)為負(fù)的邏輯表達(dá)式是: A)(a=0|b=0)&(a0|b=0&b=0)&(a0&b0)&(a+b0 能滿足x在

7、-1010,100110的表達(dá)式為; A)(10 x-10)|(100 x-100)B)!(x=10)|!(x=110)C)(x-10)&(x100)&(x-10)&(x10)&(x100)若有以下定義:char a, int b, float c, double d ,則表達(dá)式 a*b+d-c值的類型為: A)float B)int C)char D)double若有以下定義:char a;int b;float c;double d;c=*b+d-c,則c的類型為: A)float B)int C)char D)double表達(dá)式“10!=9”的值是: A)true B)非零值 C)0 D

8、)1設(shè)a,b,的c都是int 型變量,且a=3,b=4,c=5,則下面表達(dá)式中值為0的是 :A)a&b B)a=b C)a|b+c&b-c D)!(a=A&ch=Z)?(ch+32):chA)A B)a C)Z)x假定有以下變量定義:int k=7 ,x=12; 則能使值為3的表達(dá)式是: A)x%=(K%=5) B) x%=(k-k%5) C)x%=k-k%5 D) (x%=k)-(k%=5) 當(dāng)c的值不為0時(shí),在下列選項(xiàng)中能正確將c的值賦給變量a、b的是 A)c=b=a; B)(a=c)|(b=c); C)(a=c)&(b=c); D)a=c=b; 下列使i的運(yùn)算結(jié)果為4的表達(dá)式為: A)i

9、nt i=0,j=0 B)int i=1,j=0; (i=3,(j+)+i); j=i=(i=3)*2);C)int i=0,j=1; D)int i=1,j=1; (j=1)?i=1:i=3; i+=j+=2;下列不正確的表達(dá)式是: A)k=j+ B)(int)x+0.4 C)y+=x+ D)a=2*a=3下列不正確的表達(dá)式是: A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=(b=4)*(a=3)下列不正確的說法是: 變量要先定義后使用;APH與aph是兩個(gè)不同的變量;同類型的a,b,執(zhí)行了a=b;后,a,b的值相同;輸入數(shù)據(jù)時(shí),對(duì)整型變量只能輸入整數(shù)

10、。以下正確的說法是: 語句間須用分號(hào)分隔;實(shí)型變量中可存放整數(shù);整數(shù)和實(shí)數(shù)都能準(zhǔn)確表示;運(yùn)算符%只能用于整數(shù)間的運(yùn)算。以下不正確的說法是: 好的程序要有詳盡注釋;#include和#define均不是語句;賦值運(yùn)算符優(yōu)先級(jí)最低;j+;是一條賦值語句。設(shè)a=3,b=4,執(zhí)行“printf(“%d,%d”,(a,b),(b,a);”的輸出是: A)3,4 B)4,3 C)3,3 D)4,4下列程序執(zhí)行后的輸出結(jié)果是 A) G B) H C) I D) Jmain() int x=f; printf(%c n,A+(x-a+1); 若有以下定義和語句則輸出結(jié)果是: char c1=b,c2=e; p

11、rintf(“%d,%cn”,c2-c1,c2-a); A)2,M B)3,E C)2,E D)3,M若有以下定義和語句,則輸出結(jié)果是: int u=010,v=0 x10,w=10;printf(“%d,%d,%dn”,u,v,w);A) 8,16,10 B)10,10,10 C) 8,8,10 D) 8,10,10 int a=256,執(zhí)行語句 “printf(“%x” ,a);”的結(jié)果是: A)0100 B)0256 C) 0FFE D)00FF設(shè)有int i=010,j=10;則printf(“%d,%dn”,+i,j-);的輸出是: A)11,10 B)9,10 C)010,9 D)

12、10,9設(shè)a,b為字符型變量,執(zhí)行“scanf(“a=%c,b=%c”,&a,&b);”后使a為A,b為B,從鍵盤上正確輸入是: A)A”B B)A,B C)A=A,B=B D)a=A,b=B.以下敘述中正確的是: A)輸入項(xiàng)可以是一個(gè)實(shí)型常量; 例如:scanf(“%f”,3.5);B)只有格式控制,沒有輸入項(xiàng),也能正確輸入數(shù)據(jù)到內(nèi)存; 例如:scanf(“a=%d ,b=%d”) C)當(dāng)輸入一個(gè)實(shí)型數(shù)據(jù)時(shí),格式控制部分可以規(guī)定小數(shù)點(diǎn)后的位數(shù); 例如:scanf(“%4.2f”,&d); D)當(dāng)輸入數(shù)據(jù)時(shí),必須指明變量地址。例如:scanf(“%f”,&f);設(shè)x和y均為int 型變量,則以

13、下語句:x=x+y; y=x-y; x=x-y;的功能是: A) 把x 和y按從大到小排列 B) 把x和y按從小到大排列 C) 無確定結(jié)果 D) 交換x和y中的值語言中標(biāo)準(zhǔn)庫函數(shù)fgets(string,m,fp)的作用是: A)從fp所指向的文件中讀取長度不超過m的字符串存入由指針string指向的內(nèi)存。B)從fp所指向和文件中讀取長度為m的字符中存入由指針string所指向的內(nèi)存。C)從fp所指向的文件中讀取m個(gè)字符串存入由指針string指向的內(nèi)存。D)fp所指向的文件中讀取長度不超過m-1的字符串存入由指針string指向的內(nèi)存。fgets(str,n,fp)是從文件讀入一字符串,以下

14、敘述正確的是: A)字符串讀入后不會(huì)自動(dòng)加入0 B)fp是file類型指針C)以上函數(shù)從文件中最多讀入n-1個(gè)字符D)以上函數(shù)從文件中最多讀入n個(gè)字符二、填空題:結(jié)構(gòu)化程序設(shè)計(jì)規(guī)定的三種基本結(jié)構(gòu)是: 結(jié)構(gòu)、選擇結(jié)構(gòu)和 結(jié)構(gòu)。在C語言中,表示邏輯值“真”用 ,表示邏輯值“假”用 。在C語言中,任一語句必定以字符 結(jié)束。在C語言,當(dāng)關(guān)系表達(dá)式中的關(guān)系成立時(shí),則該關(guān)系表達(dá)式的值為: 設(shè)x為整型變量,則表達(dá)式xx的值用十六進(jìn)制表式為_.設(shè)x為整型變量,則表達(dá)式(x&1)=(x%2)的值為數(shù)學(xué)表達(dá)式sin(25)+x*xcos(30)的C語言表達(dá)式為_.代數(shù)式的合法C語言表達(dá)式為: 字符串a(chǎn)b034x7

15、9的長度為_.設(shè)變量定義:int a=10,c=9;則表達(dá)式 (-a=c+)?-a:+c的值為_。執(zhí)行語句后變量a的值為_.變量c的值為_。表達(dá)式8.0*(1/2)的值為_。定義int x=10,y,z;執(zhí)行y=z=x;x=y=z后,變量x的值為_.寫出滿足下列各要求的判斷表達(dá)式。判斷x的值是否為0,使表達(dá)式的值為“真”,否則使表達(dá)式有值為“假”。 寫出j小于0,或大于10時(shí)為“真”的表達(dá)式。 寫出a的值必須是2,3,5,6,7的判斷表達(dá)式。 已說明int a=256,執(zhí)行語句printf(%x,a);的結(jié)果是_。執(zhí)行語句printf(“The programs name is c:tools

16、 book.txt”);后的輸出是: 若想通過以下輸入語句給a賦于1,給b賦于2, 則輸入數(shù)據(jù)的形式應(yīng)該是 。 int a,b; scanf(“a=%d,b=%d”,&a,&b);若想通過以下輸入語句使a中存放字符串1234,b中存放字符5,則輸入數(shù)據(jù)的形式應(yīng)該是: char a 10,b;scanf(“a=%sb=%c”,a,&b);下列程序的輸出結(jié)果是: main() double d=3.2; int x,y; x=1.2; y=(x+3.8)/5.0; printf(%d n, d*y); 下列程序執(zhí)行后的輸出結(jié)果是 main() int x=f; printf(%c n,A+(x-a

17、+1); 在C語言中,對(duì)文件的存取是以 為單位的。在C語言的文件系統(tǒng)中,最重要的概念是“文件指針”,定義文件指針的方法為: *fp;其中fp是一個(gè)指向 類型結(jié)構(gòu)體的指針變量。如果調(diào)用fopen函數(shù)不成立,則函數(shù)的返回值為: ,如果調(diào)用fclose函數(shù)不成立,則函數(shù)返回值為: 三、讀程題:讀下列程序的運(yùn)行結(jié)果 main()int a=-1,b=4,k; k=(+a0)&(b-0); printf(%d,%d,%dn,k,a,b); 讀下列程序的運(yùn)行結(jié)果 #include main() int x=5,y=0,z=6; printf(x&y&z=%dn,x&y&z); printf(xy|z=y&

18、xz=%dn,xy|z=y&xy&z=y&xy&z=y&x); 讀下列程序的運(yùn)行結(jié)果 #include main()int x,y,z;x=y=5;z=+x;printf(“n %d %d %d”,z,x,y,);x=y=5;z=x+;printf(“n %d %d %d”,z,x,y,);x=y=5;z=-x;printf(“n %d %d %d”,z,x,y,);x=y=5;z=x-;printf(“n %d %d %d”,z,x,y,);讀下列程序的運(yùn)行結(jié)果 main()int w,x,z; w=3; x=z=10; printf(%d,x10?x+100:x-10); printf(%

19、d,w-|z+); printf(%d,x+=z); printf(%d,!-w&z); printf(%d%d%dn,w,x,z); 讀下列程序的運(yùn)行結(jié)果 main( )char c1,c2;c1=a+6-2;c2=a+6-3;printf(“%c,%dn”,c2,c1);讀下列程序的運(yùn)行結(jié)果 #include main() int a,b,cd,x,y,z;x=634;y=19;z=28;a=3*(b=x/(y-4)-z/2;printf(“n%10d%10d”,a,b,);a=100;b=45;c=-19,d=94,x=-2;y=5;a+=6;b-=x;c*=10,d/=x+y;,z%=

20、8;printf(“n%10d%10d%10d%10d%10d”,a,b,c,d,z);讀下列程序的運(yùn)行結(jié)果 #include main() printf(“n char: %d byte”,sizeof(char);printf(“n int: %d byte”,sizeof(char);printf(“n long: %d byte”,sizeof(char);printf(“n foat: %d byte”,sizeof(char);printf(“n double: %d byte”,sizeof(char);從鍵盤上輸入12345678,則讀下列程序的運(yùn)行結(jié)果 #include “s

21、tdio.h” main ( )char c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c”,&c1,&c2,&c3,&c4);c5=getchar( );c6=getchar( );putchar(c1); putchar(c2);printf(“%c%cn”,c5,c6);讀下列程序的運(yùn)行結(jié)果 main()int j,k,l,a=3,b=2;j=(-a=b+)?-a:+b;k=a+;l=b;printf(%d,%d,%d,j,k,l);讀下列程序的運(yùn)行結(jié)果main()int j,k,l,a=3,b=2;j=(-a=b+)?-a:+b;k=a+;l=b;printf(%d,

22、%d,%d,j,k,l);讀下列程序的運(yùn)行結(jié)果#include #include main()int a=1,b=4,c=2;float x=5.5,y=9.0,z;z=(a+b)/c+sqrt(double)y)*1.2/c+x;printf(%fn,z);四、完善程序題(即:給出了程序所完成的功能,根據(jù)此功能在 上填寫合適的一條語句)下面的程序是借肋于第三個(gè)變量將a,b中的值交換。main()int a,b,c; scanf(“%d%d”,&a,&b); printf(“a=%d b=%dn”,a,b);c=a; ; ; printf(“a=%d b=%dn”,a,b);求三個(gè)數(shù)值中的較大

23、的數(shù):#include main()int x,y,z,max;printf(input x,y,z:n);scanf(%d%d%d, );max=(xy)?x:y;max= ;printf(max=%dn,max);從鍵盤上輸入一個(gè)小寫字母字符,將它轉(zhuǎn)換為大寫字母。#include main()char ch; ch=getchar(); ; putchar( ); 從鍵盤上輸入一個(gè)大寫字母字符,將它轉(zhuǎn)換為小寫字母。#include main()char ch; ch=getchar(); ; putchar( ); 第二部分 結(jié)構(gòu)化程序設(shè)計(jì)的三大結(jié)構(gòu)一、選擇題:下列關(guān)于switch語句和b

24、reak語句的結(jié)論中,只有 是正確的。 A)break語句是switch語句中的一部分; B)在switch語句中可以根據(jù)需要使用或不使用break語句; C)在switch語句中必須使用break語句; D)以上三個(gè)結(jié)論有兩個(gè)是正確的。if語句的圓括號(hào)內(nèi)表達(dá)式是: A)只能是邏輯表達(dá)式B)只能是關(guān)系表達(dá)式C)只能是邏輯表達(dá)式或關(guān)系表達(dá)式D)可用任意表達(dá)式假定所有變量均已正確定義,下列程序段運(yùn)行后x的值是 a=b=c=0;x=35; if(!a) x-; else if(b); if(c) x=3; else x=4;A)34 B)4 C)35 D)3下面的程序片段所表示的數(shù)學(xué)函數(shù)關(guān)系是: y

25、=-1;if(x!=0) if(x0) y=1; else y=0;A) B)C) D) 以下程序輸出結(jié)果是: main ( ) int m=5; if (m5) printf (“%dn”,m); else printf (“%dn”,m-); A) 7 B) 6 C)5 D)4若要求在 if 后一對(duì)圓括號(hào)中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達(dá)式為: A) a0 B)!a C)a=0 D)a兩次運(yùn)行下面的程序,如果從鍵盤上分別輸入7和6,則輸出結(jié)果是: A) 7 和 5 B)6和3 C)8和7 D)6和4main()int x; scanf(“%d”,&x); if(x+5) p

26、rintf(“%d”,x);else printf(“%dn”,x-);下列語句中錯(cuò)誤的是: A)while(x=y) 5; B)d0 x+; while(x=10);C)while(0); D) do 2 ; while (a=b);若 i,j已定義為 int 型,則以下程序段中內(nèi)循環(huán)的執(zhí)行次數(shù)是: for(i=5;i;i-) for(j=0;j4;j+) A) 20 B)24 C)25 D)30假定a和b為int 型變量,則執(zhí)行以下語句后b的值為: a=1;b=10; do b-=a;a+; while(b-0);A) 9 B)-2 C)-1 D)8設(shè)x和y均為int 型變量,則執(zhí)行下面的

27、循環(huán)后,y的值為: for(y=1,x=1;y=10) break; if(x%2=1) x+=5;continue; x-=3; A)2 B)4 C)6 D)8在C語言中,下列說法中正確的是: do-while語句構(gòu)成的循環(huán)不能用其它語句構(gòu)成的循環(huán)來代替?!癲o語句 while (條件)”的循環(huán)必須使用“break”造句退出循環(huán);“do語句while(條件)”的循環(huán)中,當(dāng)條件為非0時(shí)將結(jié)束循環(huán);“do語句while(條件)”的循環(huán)中,當(dāng)條件為0時(shí)將結(jié)束循環(huán)。與dowhile(E)中E不等價(jià)的表達(dá)式是:A)!E= =0 B)E0|E0 C)E= =0 D)E!=0在do-while語句中,wh

28、ile后的括號(hào)內(nèi)的表達(dá)式為 結(jié)束循環(huán)A) 0 B)1 C)true D)非0循環(huán)語句 for(x=0,y=0;(y!=123)|(x4);x+);的循執(zhí)行: A)無限次 B)32767 C)4次 D)3次執(zhí)行語句:for(i=1;i+100)break;B)for(; ;);C)k=32764;do k+;k+;while(k0);D)s=32764;while(s+%2|s%2)s+;當(dāng)執(zhí)行以下程序段時(shí) A)循環(huán)體將執(zhí)行一次 B)循環(huán)體將執(zhí)行兩次C)循環(huán)體將執(zhí)行無限次 D)系統(tǒng)將提示有語法錯(cuò)誤 x=-1; do x=x*x; while(!x);在下列選項(xiàng)中,沒有構(gòu)成死循環(huán)的程序是 。A)

29、int i =100; while(1) i=i%1001; if (i100)break; B)for (;); C)int k=1000; do k;while(k=1000); D)int s=36; while (s); -s; 若k 為整型,則while循環(huán) k=10;while(k=0) k=k-1; A)執(zhí)行10次 B)無限循環(huán) C)一次也不執(zhí)行 D)執(zhí)行一次以下程序的輸出結(jié)果是 A)-1 1 B)0 1 C)1 0 D)0 0 main( ) int a= -1,b=1,k; if(+a0)& ! (b- =0) printf(%d %dn,a,b); else printf(

30、%d %dn,b,a); 執(zhí)行以下程序后,輸出的結(jié)果是 A)-1 B)1 ) )0 main( ) int y=10; do y-; while(-y); printf(“%dn”,y-); 下列程序的輸出為: A)0,3 B) 0,5 C)1,3 D)1,5main( )int j,k,l=0,m=0;for(j=0;j2;j+)for(k=0;k0?1:x0) y=1; else if(x0)y=1;else y=0; else if(x=0)else if(x=0)y=0; else y=-1;else y=-1; D) if(x0) y=1; else y=0; 填空題定義int i=

31、1; 執(zhí)行語句while(i+5);后,i的值為_。如下三個(gè)條件語句中(其中s1和s2表示是C語言的語句),它們描述的功能是否等價(jià)_.A)if(a) s1; else s2; B)if(a=0)s2; else s1; C)if(a!=0)s1;else s2;若有定義語句“int a=25,b=14,c=19;”,以下語句的執(zhí)行結(jié)果是: if(a+=25&b-=2&c+) printf(“*a=%d,b=%d,c=%dn”,a,b,c);else printf(“#a=%d,b=%d,c=%dn”,a,b,c);以下兩條if語句可合并成一條if語句為: if(ab) printf(“*y=%

32、dn”,y); else printf(“#x=%dn”,x);選擇合法的語句(設(shè)int x,a,b,c;): A) if(a=b) x+; B) if(a=b) x+;E) if(a=b=c) x+; F) if(1) x+;設(shè)i,j,k均為 int 型變量,則執(zhí)行完下面的 for 循環(huán)后,i,j的值為: for(i=0,j=10;ic);b=a;a=c;c=b; if(ac)b=a;a=c;c=b;) if(ac)b=a,a=c;c=b; if(ab)a=b;if(bc)b=c;else c=b;c=a;下列程序段的輸出結(jié)果是: s=7;while(-s);s-=2;printf(“%d”

33、,s);從鍵盤上輸入 6,8后,該程序的運(yùn)行結(jié)果為: main ( )int m,n; printf(Enter m,n:); scanf(%d%d,&m,&n); while(m!=n) while(mn)m-=n; while(nm)n-=m; printf(m=%dn,m);11.執(zhí)行下面程序段后,k值是 k1; n263; do k*=n10; n=10;while(n); 三、閱讀下列程序,并且寫出其運(yùn)行結(jié)果。1. 從鍵盤鍵入this is book!后,該程序的輸出結(jié)果是: #include main() int i,ch,count=0; for(i=0;(ch=getchar(

34、)!=n;i+) if(ch= ) count=0; putchar( ); else if(count=0) ch=ch-32; count=count+1; putchar(ch);else putchar(ch); 2. 下面程序的運(yùn)行結(jié)果為 #include main()int num=0; while(num=2) num+; printf(%dn,num); 下面程序的運(yùn)行結(jié)果為 main( ) int i; for(i=1; ;i+) if(i%3=2&i%5=3&i%7=5) printf(“%dn”,i); break; 執(zhí)行下面的程序后,a和b的值分別為: main()in

35、t a,b;for(a=1,b=1;a=20) break; if(b%3=1) b+=3; b-=5; printf(%d,%d,a,b);下面程序的運(yùn)行結(jié)果為 main( ) int i,j,x=0; for(i=0,i2;i+) x +; for(j=0;j3;j+) if(j%2)continue; x+; x+ printf(“x=%dn”,x);下面程序的運(yùn)行結(jié)果為 #include main()int i;for(i=1;i=5;i+) if(i%2) printf(*); else continue; printf(#); printf($n); 下面程序的運(yùn)行結(jié)果為: mai

36、n()int i=1;while(i=15) if(+i%3!=2) continue; else printf(%d ,i);printf(n);下列程序的運(yùn)行結(jié)果是: #include main()int a=10,y=0;doa+=2;y+=a;if(y50)break;while(a=14);printf(“%d,%dn”,a,y);下面程序的運(yùn)行結(jié)果為: main()int i,j,k;char space= ;for(i=0;i=5;i+) for(j=1;j=i;j+) printf(%c,space); for(k=0;k=5;k+) printf(%c,*); printf(

37、n); 運(yùn)行以下程序后,如果從鍵盤上輸入china#回車,則輸出結(jié)果為 #include 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);從鍵盤輸入1234,則下列程序的運(yùn)行結(jié)果是 #include main()int c;while(c=getchar()!=n) switch(c-2) case 0:case 1:putchar(c+4); case 2: putchar(c

38、+4);break; case 3: putchar(c+3); default:putchar(c+2);break; printf(n); 分析下列程序的輸出結(jié)果 main( )int x=1,y=1,z; while(y10) +y; x+=y; printf(%d %dn,x,y); x=y=1; while(y10) x+=+y; x=2; while(y=10) x=y+; z=+y; printf(%d %d%dn,x,y,z); for(y=2;(x=y)2;x+,y/=10) printf(%d %dn,x,y);四、完善程序題:1.以下程序是判斷整數(shù)m能否被n整除,若能打印

39、“YES”,否則打印“NO”。main()int m,n; scanf(“%d%d”,&m,&n); if(_) printf(“YES”); else printf(”NO”); 2.用while 語句求1到100之和。main( ) int i,sum; sum=0;i=1; _ sum=sum+i; printf(i=%2d,s=%2dn,i,sum); _; 3.求 #include main() int p=1;float t=1,n,s=0;for(n=1;_;n+=2) _; s=s+t*p; p=-p; printf(s=%10.6fn,s);4.計(jì)算直角三角形的邊長。main

40、()int a,b,c; for (c=3;c=25;c+) for(_) if(_) printf(A=%d,B=%d,C=%dn,a,b,c);5.分析添充下列程序 main( ) int x,y,z; for(x=1;x=9;x+ +) for(y=0;y=9;y+ +) if(y=x) _; for(z=1;z=9;z+ +) if_ contiue; if(x*100+y*10+z+z*100+y*10+x=1231) printf(“%d%d%dn”,x,y,z); 6.下列程序的功能是輸入一個(gè)正整數(shù),判斷是否是素?cái)?shù),若是素?cái)?shù)輸出1,否則輸出0,請(qǐng)為程序填空。main()int i

41、,x,y=1; scanf(%d,&x); for(i=2;i=x/2;i+) if(x%i=0) y=0;_ printf(%dn,y);7.求100以內(nèi)的素?cái)?shù)main( ) int m, n, i=0, prime; for(m=2; m=100; m+) _; for(n=2; nmax)_; _;printf(max=%dn,max);9.程序的功能是:計(jì)算1到10之間奇數(shù)之和及偶數(shù)之和,請(qǐng)?zhí)羁铡?include main() int a, b, c, i; a=c=0; for(i=0;i=10;i+=2) a+=i; _; c+=b; printf(偶數(shù)之和=%dn,a);prin

42、tf(奇數(shù)之和=%dn,c-11);10.以下程序用來判斷輸入的數(shù)f是否為素?cái)?shù)。當(dāng)f為素?cái)?shù)時(shí),輸出字符串YES,否則輸出NO。請(qǐng)?zhí)羁?。程序中,變量ok用來標(biāo)志f是否是素?cái)?shù),ok的值為“真”表示是素?cái)?shù),否則不是素?cái)?shù)。#includemain( )int i,n,f;_; printf(Enter a Number :); scanf(%d,&f); ok=1;i=2;n=f/2; while(ok &_ ) if(f%i) i=i+1; else ok=0; printf(f=%d,f); if (ok) printf(_); else printf(_);11.以下程序用來求兩個(gè)正整數(shù)的最大公

43、約數(shù)。includemain( )int r,m,n;printf(Enter m,n :);scanf(dd ,_ );r=m%n;while(_) m=_; n=_; r=_;printf(H.C.F=dn,n);12.下面程序的功能是:輸出100以內(nèi)能被3整除且個(gè)位數(shù)為6的所有整數(shù)。#include main() int i, j; for(i=0;_; i+) j=i*10+6; if(_ ) printf(%d ,j); 13.編制乘法九九表。#include main()int i,j; for(i=1;i=9;i+) for(_) printf(%d*%d=%-4d,j,i,_)

44、; printf(n); 14.求一個(gè)數(shù)的所有因子,并輸出。#include main()int x,i,j; scanf(%d,&x); j=x; for(i=1;i=j;i+) if(_) printf(factor:%dn,i);15.用牛頓迭代法求方程:4x3-3x2+2x-7=0在1.5附近的根。#include #include main() float x,x0,f,f1;x=1.5;do _; f=(4*x0-3)*x0+2)*x0-7; f1=(12*x0-6)*x0+2; x=_; while(_); printf(root=%fn,x);16.用迭代法求的值。求平方根的迭

45、代公式為:,要求前后二次求出的x的差的絕對(duì)值小于10-6。#include #include main()int a; float xn0,xn1; scanf(%d,&a); xn0=a; xn1=_; while(fabs(xn0-xn1)_) xn0=_; xn1=_; printf(%d sqrt %-8.4f,a,xn1);17.輸入一行字符,以“#”號(hào)作為結(jié)束標(biāo)志,分別統(tǒng)計(jì)出其中的英文字母、空格、數(shù)字和其它字符的個(gè)數(shù)。#include main()char ch; int letter=0,space=0,count=0,other=0; while(_) if(ch=a&ch=A

46、&ch=0&ch=9) count+; else other+; printf(letter=%dnspace=%dncount=%dnother=%dn,letter,space,count,other); 18.以下程序把從鍵盤輸入的字符存放到一個(gè)文件中,以字符“#”作為結(jié)束輸入標(biāo)志。#include main() FILE *fp; char ch,fname10; printf(input the name of file n); gets(fname); if(fp=fopen(fname,_)=NULL) printf(cant openn); exit(0); printf(in

47、put stringn); while(ch=getchar()_) fputc(_,fp); fclose(fp); 19.將鍵盤輸入的字符串中的小寫字母全部轉(zhuǎn)換成大寫字母后輸出到文件test1中,再讀出后顯示#include main( )_; int j=0;char str100,filename10,ss100;if(fp=fopen(test1,_)=NULL)printf(打不開文件);exit(0);gets(str);while(_)/*輸入!表示輸入數(shù)據(jù)結(jié)束*/if(strj=a&strj=z) strj= _; fputc(_);j+;fclose(fp);fp=fope

48、n(test1,_);fgets(ss,strlen(str)+1,fp);printf(%s,ss);_;20.將文本文件fout.dat復(fù)制到文件fin.dat中。#include main( ) FILE *fout,*fin; char ch;if(fin=fopen(fin.dat,_)=NULL)printf(Open file errorn);_;fout=fopen(fout.dat,_); while(_) ch=fgetc(fin); _;fclose(fout);fclose(fin);21.統(tǒng)計(jì)文件file.dat中字符的個(gè)數(shù)。File.dat數(shù)據(jù)文件的內(nèi)容為:QW23

49、RTd763frtejuew24#include main( )_;char ch;int num=0;if(fp=fopen(file.dat,r)=NULL)printf(Open file errorn);exit(0);while(_) ch=_; if(ch=a&ch=A&ch=Z) _; printf(num=%dn,num);fclose(fp); 第三部分 數(shù)組一、選擇題:下述對(duì)C語言字符數(shù)組的描述中錯(cuò)誤的是 。A)字符數(shù)組可以存放字符串; B)字符數(shù)組中的字符串可以整體輸入、輸出;C)可以在賦值語句中通過賦值運(yùn)算符“=”對(duì)字符數(shù)組整體賦值;D)不可以用關(guān)系運(yùn)算符對(duì)字符數(shù)組中的

50、字符串進(jìn)行比較。判斷字符串s1,s2是否相等,應(yīng)該用 。A)if(s1=s2) B) if(s1=s2)C)if(strcmp(s1,s2) D)if(!strcmp(s1,s2)不能把字符串:Hello!賦給數(shù)組b的語句是 。 A)char b10= H,e,l,l,o,!,0; B)char b10;b=”Hello!”; C)char b10;strcpy(b, ”Hello!”); D)char b10= ”Hello!”; 設(shè)有數(shù)組定義: char array =China; 則數(shù)組array所占的空間為 。 A)4個(gè)字節(jié) B)5個(gè)字節(jié) C)6個(gè)字節(jié) D)7個(gè)字節(jié)給出以下定義: ch

51、ar x=“abcdefg”;char y=a,b,c,d,e,f,g; 則正確的敘述為 。 A)數(shù)組X和數(shù)組Y等價(jià) B)數(shù)組x和數(shù)組Y的長度相同 C)數(shù)組X的長度大于數(shù)組Y的長度 D)數(shù)組X的長度小于數(shù)組Y的長度 選擇出正確的調(diào)用語句(其中:char s5,c; register int b;) 。A)scanf(“%s%c”,s,c); B)scanf(“%d%c”,&b,&c);C)scanf(“%d%c”,b,&c); D)scanf(“%s%c”,s,&c);若有以下說明,則數(shù)值為4的表達(dá)式是 。 int a12=1,2,3,4,5,6,7,8,9,10,11,12; char c=

52、a,d,g;A)ag-c B) a4 C) ad-c D) ad-c設(shè)有定義:char s12=“string”;,則printf(“%dn”,strlen(s);的輸出是 。A)6 B)7 C) 11 D) 12下列語句中,正確的是 。A)char a3=abc,1; B) char a3=123,1;C) char a3= a,1; D) char a3=a,1;語句”printf(“%dn”,strlen(“atsno121”);”的輸出結(jié)果是 。A)11 B)10 C)9 D)8函數(shù)調(diào)用”strcat(strcpy(str1,str2),str3)”的功能是 。將字符串str1復(fù)制到字

53、符串str2中后再連接到字符串str3之后將字符串str1連接到字符串str2之后再復(fù)制到字符串str3之后將字符串str2復(fù)制到字符串str1中后再將字符串str3連接到字符串str1之后將字符串str2連接到字符串str1之后再將字符串str1復(fù)制到字符串str3中定義如下變量的數(shù)組:int i;int x33=1,2,3,4,5,6,7,8,9;則下面語句的輸出結(jié)果是 。for(i=0;i3;i+) printf(“%d”,xi2-i);A)1 5 9 B)1 4 7 C)3 5 7 D)3 6 9執(zhí)行下面的程序段后,變量k中的值為 。 A) 不定值 B) 33 C) 30 D) 10

54、int k=3, s2; s0=k; k=s1*10;二、讀程序,寫結(jié)果: 下面程序的運(yùn)行結(jié)果為 。#include main() char ch7=65ab21; int i,s =0; for(i=0;chi=0&chi9;i+=2) s=10*s+chi-0; printf(%dn,s);下面程序的運(yùn)行結(jié)果為 main( )int n3,i,j,k; for (i=0;i3;i+) ni=0; k=2; for(i=0;ik;i+) for(j=0;jk;j+) nj=ni+1; printf(%dn,n1);下面程序輸入:3 1 2 3 2 2 2 1 1 3 3 3 3 3 1 1

55、2 2 3 2 1 2 3 2 1后其運(yùn)行結(jié)果為 main( ) int a4,x,j; for(j=1;j-1) ax+=1; scanf(%d,&x); for(j=1;j-1) b+n=x; scanf(%d,&x); for(j=1;j=n;j+) if(bj%2=0) b+k=bj; for(j=1;j=k;j+) printf(%3d,bj);下面程序的運(yùn)行結(jié)果為 #include stdio.hmain ( )char str=SSSWILTECH1111W1WALLMP1; int k;char c; for(k=2;(c=strk)!=0;k+) switch( c ) ca

56、se A: putchar(a);continue; case 1: break; case 1 : while(c=str+k)!=1&c!=0); case 9 : putchar(#); case E: case L: continue; default : putchar(c );continue; putchar(*); 下面程序的運(yùn)行結(jié)果為 #include main()int a33=1,2,3,4,5,6,7,8,9,i,s=0; for(i=0;i=2;i+) s=s+aii; printf(s=%dn,s);下面程序的運(yùn)行結(jié)果為 #include main() int a=

57、1,2,3,4,i,j,s=0; j=1; for(i=3;i=0;i-) s=s+ai*j; j=j*10; printf(s=%dn,s);下面程序的運(yùn)行結(jié)果為 #include #define n 11main() int comp,x,low,mid,high,find; static int a=2,5,11,18,24,35,42,50,58,86,92; x=50; low=0; high=n-1; comp=0; find=0; while(lowamid) low=mid+1; else high=mid-1; comp+; if(find) printf(Its succe

58、ssful:a%d=%d,%dn,mid,x,comp); else printf(Its fail to find%d,x);下面程序的運(yùn)行結(jié)果為 main() static int a3=9,7,5,3,1,2,4,6,8; int i,j,s1=0,s2=0; for(i=0;i3;i+) for(j=0;j3;j+) if(i=j) s1=s1+aij; if(i+j=2) s2=s2+aij; printf(%dn%dn,s1,s2);下面程序的運(yùn)行結(jié)果為 main() int k,j,a33; for(j=0;j3;j+) for(k=0;k3;k+) if(j=3) ajk=aj

59、-1k+1; else ajk=k; printf(%4d,ajk); printf(n); 下面程序的運(yùn)行結(jié)果為 #include main() int i,j,row=0,col=0,m; static int a33=1,-2,0,4,-5,6,2,4; m=a00; for(i=0;i3;i+) for(j=0;j3;j+) if(aijm) m=aij; row=i; col=j; printf(%d,%d)=%dn,row,col,m);執(zhí)行以下程序后,sq02= ,sq11= ,sq20= 。main ()static int sq33=0,0,0,0,0,0,0,0,0; in

60、t j=1,k=0,l; sqjk=1; for(l=2;l=9;l+) j-;k-; if(j0&k=0&k0) k=2; else if(j=0) j=2; else if(j=0&k=2&sqjk!=0) j+;k+=2; sqjk=l; for(j=0;j3;j+) for(k=0;k3;k+) printf(%5d,sqjk); printf(n); 設(shè)輸入的字符串為:The Windows 95 Operating System則輸出的第一行和最后一行分別是: 和 main() char a410,j,k; for(j=0;j4;j+) scanf(%s,aj); for(j=0;

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論