C語言程序設(shè)計15231_第1頁
C語言程序設(shè)計15231_第2頁
C語言程序設(shè)計15231_第3頁
C語言程序設(shè)計15231_第4頁
C語言程序設(shè)計15231_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、C語言程序設(shè)計練習(xí)題一、單項選擇題單項選擇題要求從給出的四個備選答案中,選出一個最符合題意的答案。本類習(xí)題主要檢查對C語言基本概念的掌握情況。在完成習(xí)題的過程中,不但要選出正確的答案,而且要清楚不正確的選項錯在何處,以加深對概念的理解。對于掌握不準的問題,應(yīng)該通過上機實驗來檢驗。1下列四組字符串中都可以用作語言程序標識符的一組是_A_。 A) print B) iam C) Pxq D) str_l _3d one_half My-book Cpp oodb start$it line# pow aBc 3pai His.age while2C語言程序從main()函數(shù)開始執(zhí)行,所以這個函數(shù)要

2、寫在_D_。A) 程序文件的開始 B) 程序文件的最后C) 它所調(diào)用的函數(shù)的前面 D) 程序文件的任何位置3下列關(guān)于C語言的敘述錯誤的是_A_。A) 大寫字母和小寫字母的意義相同B) 不同類型的變量可以在一個表達式中C) 在賦值表達式中等號(=)左邊的變量和右邊的值可以是不同類型 D) 同一個運算符號在不同的場合可以有不同的含義4在C語言中,錯誤的int類型的常數(shù)是_A_。A) 32768 B) 0 C) 037 D) 0xAF5已知 long i=65539;執(zhí)行語句printf(%d,i);屏幕顯示_C。2 16A) 65539 B) -3 C) 3 D) 程序不能執(zhí)行6在語言中,整數(shù)-8

3、在內(nèi)存中的存儲形式是_A_。A) 1111 1111 1111 1000 B) 1000 0000 0000 1000 C) 0000 0000 0000 1000 D) 1111 1111 1111 01117語言中字符型(char)數(shù)據(jù)在內(nèi)存中的存儲形式是_D_。A) 原碼 B) 補碼 C) 反碼 D) ASCII碼8將字符g賦給字符變量c,正確的表達式是_C_。A) c=147 B) c=147 C) c=147 D) c=01479已知:char a;int b;float c;double d;執(zhí)行語句c=a+b+c+d;后,變量c的數(shù)據(jù)類型是_D_。 范圍大的選A) int B)

4、char C) float D) double10溫度華氏和攝氏的關(guān)系是: C=5/9(F-32)。已知:float C,F;由華氏求攝氏正確的賦值表達式是_B_A) C=5/9(F-32) B) C=5*(F-32)/9 C) C=5/9*(F-32) D) 三個表達式都正確11逗號表達式(a=3*5,a*4),a+15的值是_C_。A) 15 B) 60 C) 30 D) 不確定12如果int a=1,b=2,c=3,d=4;則條件表達式ab?a:cd?c:d的值是 A_。A) 1 B) 2 C) 3 D) 413已知int i=10;表達式20-0=i=9的值是_B_。A) 0 B) 1

5、 C) 19 D) 2014使用語句scanf(x=%f,y=%f,&x,&y);輸入變量x、y的值(代表空格),正確的輸入是_C_。A) 1.25,2.4 B) 1.252.4 C) x=1.25,y=2.4 D) x=1.25y=2.415已知int x=(1,2,3,4);變量x的值是_D_。最后的值。A) 1 B) 2 C) 3 D) 416已知int i=1,j=0;執(zhí)行下面語句后j的值是_D_。while(i)switch(i) case 1: i+=1;j+;break;case 2: i+=2;j+;break;case 3: i+=3;j+;break;default: i-

6、;j+;break;A) 1 B) 2 C) 3 D) 死循環(huán)17求取滿足式 12+22+32+ +n2 1000的n,正確的語句是_。A) for(i=1,s=0;(s=s+i*i)=1000;n=i+) ; B) for(i=1,s=0;(s=s+i*i)=1000;n=+i) ;C) for(i=1,s=0;(s=s+i*+i)=1000;n=i) ; D) for(i=1,s=0;(s=s+i*i+)0)&(x4);x+,y- ) ;A) 是無限循環(huán) B) 循環(huán)次數(shù)不定 C) 循環(huán)執(zhí)行4次 D) 循環(huán)執(zhí)行3次19已知 char a20=Beijing,shanghai,tianjin,

7、chongqing;語句printf(%c,a30);的輸出是_。A) B) n C) 不定 D) 數(shù)組定義有誤20對二維數(shù)組的正確說明是_C_。A) int a=1,2,3,4,5,6; B) int a2=1,2,3,4,5,6;C) int a3=1,2,3,4,5,6; D) int a2,3=1,2,3,4,5,6;21對字符數(shù)組str賦初值,str不能作為字符串使用的一個是_A_。A) char str=shanghai;B) char str=shanghai; C) char str9=s,h,a,n,g,h,a,i;D) char str8= s,h,a,n,g,h,a,i;

8、22如果一個變量在整個程序運行期間都存在,但是僅在說明它的函數(shù)內(nèi)是可見的,這個變量的存儲類型應(yīng)該被說明為_D_。A) 靜態(tài)變量 B) 動態(tài)變量 C) 外部變量 D) 內(nèi)部變量23在一個C源程序文件中,若要定義一個只允許在該源文件中所有函數(shù)使用的變量,則該變量需要使用的存儲類別是C_。A) extern B) register C) auto D) static24定義一個函數(shù)實現(xiàn)交換x和y的值,并將結(jié)果正確返回。能夠?qū)崿F(xiàn)此功能的是_。A) swapa(int x,int y) B) swapb(int *x,int *y) int temp; int temp;temp=x;x=y;y=tem

9、p; temp=x;x=y;y=temp; C) swapc(int *x,int *y) D) swapd(int *x,int *y) int temp; int *temp;temp=*x;*x=*y;*y=temp; temp=x;x=y;y=temp; 25在下列結(jié)論中,只有一個是錯誤的,它是_D_。A) 語言允許函數(shù)的遞歸調(diào)用B) 語言中的continue語句,可以通過改變程序的結(jié)構(gòu)而省略C) 有些遞歸程序是不能用非遞歸算法實現(xiàn)的 D) C語言中不允許在函數(shù)中再定義函數(shù)26說明語句int (*p)( );的含義是_C_。A) p是一個指向一維數(shù)組的指針變量 B) p是指針變量,指向

10、一個整型數(shù)據(jù)C) p是一個指向函數(shù)的指針,該函數(shù)的返回值是一個整型 D) 以上都不對27設(shè)有說明int (*p)4;其中的標識符p是_D_。A) 4個指向整型變量的指針變量B) 指向4個整型變量的函數(shù)指針C) 一個指向具有4個整型元素的一維數(shù)組的指針D) 具有4個指向整型變量的指針元素的一維指針數(shù)組28已知:char s10, *p=s,則在下列語句中,錯誤的語句是_。A) p=s+5; B) s=p+s; C) s2=p4; D) *p=s0;29已知:int a43=1,2,3,4,5,6,7,8,9,10,11,12;int (*ptr)3=a,*p=a0;則以下能夠正確表示數(shù)組元素a1

11、2的表達式是_。A) *(*(a+1)+2) B) *(*(p+5) C) (*ptr+1)+2 D) *(ptr+1)2)30已知:int a =1,2,3,4,5,6,7,8,9,10,11,12,*p=a;則值為3的表達式是_。A) p+=2,*(p+) B) p+=2,*+p C) p+=2,*p+ D) p+=2,+*p32函數(shù)的功能是交換變量x和y中的值,且通過正確調(diào)用返回交換的結(jié)果。能正確執(zhí)行此功能的函數(shù)是_B_。A) funa (int *x, int *y) B) funb (int x, int y) int *p; int t;p=x;*x=*y;*y=*p; t=x;x

12、=y;y=t; C) func (int *x, int *y) D) func (int *x, int *y) *x=*y;*y=*x; *x=*x+*y;*y=*x-*y;*x=*x-*y; 33有定義如下:struct sk int a;float b;data ,*p;如果 p=&data;則對于結(jié)構(gòu)變量data的成員a的正確引用是B_。A)(*).data.a B) (*p).a C) p-data.a D) p.data.a34已知:struct st int n;struct st *next;static struct st a3=1,&a1,3,&a2,5,&a0,*p;如

13、果下述語句的顯示是2,則對p的賦值是_。printf(%d,+(p-next-n);A) p=&a0; B) p=&a1; C) p=&a2; D) p=&a3;35fscanf函數(shù)的正確調(diào)用形式是_C_。A) fscanf (文件指針, 格式字符串, 輸出列表); B) fscanf (格式字符串, 輸出列表, 文件指針);C) fscanf (格式字符串, 文件指針, 輸出列表); D) fscanf (文件指針, 格式字符串, 輸入列表);36使用fgetc函數(shù),則打開文件的方式必須是_。A) 只寫 B) 追加 C) 讀或讀/寫 D) 參考答案B和C都正確37已知宏定義#define N

14、 3#define Y(n) (N+1)*n)執(zhí)行語句z=2*(N+Y(5+1);后,變量z的值是_。A) 42 B) 48 C) 52 D) 出錯38已知宏定義 #define SQ(x) x*x,執(zhí)行語句printf(%d,10/SQ(3);后的輸出結(jié)果是_。A) 1 B) 3 C) 9 D) 1039.C語言程序的執(zhí)行,總是起始于(C )。A) 程序中的第一條可執(zhí)行語句 B) 程序中的第一個函數(shù)C) main函數(shù)D) 包含文件中的第一個函數(shù)40. 下列說法中正確的是(C )。A) C程序書寫時,不區(qū)分大小寫字母 B) C程序書寫時,一行只能寫一個語句C) C程序書寫時,一個語句可分成幾行

15、書寫 D) C程序書寫時每行必須有行號41.下面對C語言特點,不正確描述的是(D )。A) C語言兼有高級語言和低級語言的雙重特點,執(zhí)行效率高B) C語言既可以用來編寫應(yīng)用程序,又可以用來編寫系統(tǒng)軟件C) C語言的可移植性較差D) C語言是一種結(jié)構(gòu)式模塊化程序設(shè)計語言42. .C語言源程序的最小單位是( D )。A) 程序行 B) 語句 C) 函數(shù) D) 字符43. 以下四項中屬于C語言關(guān)鍵字的是( C )。A) CHAR B) define C) unsigned D) retern44. 十進制數(shù)2403轉(zhuǎn)換成十六進制數(shù)為( B )。A) 963 B) 369 C) 953 D) 3594

16、5. 在C語言系統(tǒng)中,假設(shè)int類型數(shù)據(jù)占2個字節(jié),則double、long、unsigned int、char類型數(shù)據(jù)所占字節(jié)數(shù)分別多少( D )A) 8,2,4,1 B) 2,8,4,1 C) 4,2,8,1 D) 8,4,2,146. 下面程序段執(zhí)行結(jié)果是( B )。int i=5,k;k=(+i)+(+i)+(i+);printf(%d,%d,k,i);A) 24,8 B) 21,8 C) 21,7 D) 24,747. 下面程序段執(zhí)行結(jié)果是( B )。int i=5;printf(%d,%d,%d, i,(+i)+(+i)+(i+),i);A) 8,20,5 B) 8,21,5 C)

17、 5,20,8 D) 5,21,848. 下面程序段的輸出結(jié)果是(D )。int i=32769;printf(%dn,i);A) 32769 B) 32767 C) -32767 D) 輸出不是確定的數(shù)49. 下面敘述不正確的是( )。A) C語句末尾必須有分號 B) C語言中無論是整數(shù)還是實數(shù)都能準確的表示C) 運算符“%”只能用于整數(shù)運算 D) 乘除運算符優(yōu)先級高于加減運算符50. 以下敘述正確的是( )。A) C語句前面必須有行號 B) C程序中每行只能寫一條語句C) C語言本身沒有輸入輸出語句 D) 注釋必須跟在一行語句的后面51.復(fù)合語句應(yīng)用( )括起來。A) 小括號 B) 方括號

18、 C) 大括號 D) 尖括號52. 若有說明語句:int a; float b;,以下輸入語句正確的是( )。A) scanf(%f%f,&a,&b); B) scanf(%f%d,&a,&b);C) scanf(%d,%f,&a,&b); D) scanf(%6.2f%6.2f,&a,&b);53. 以下程序的輸出結(jié)果是【 】。main( ) int x=11,y=11;printf(%d%dn,x-,-y);A) 11,11 B) 10,10 C) 10,11 D) 11,101154. 執(zhí)行下面程序段,給x、y賦值時,不能作為數(shù)據(jù)分隔符的是( )。int x,y;scanf(%d%d,&

19、x,&y);A) 空格 B) Tab鍵 C) 回車 D) 逗號55. 下面合法的語句是( )。A) int a=8,b;b=+a+;printf(%d,%d,a,b+); B) int a;printf(%d,scanf(%d,&a);C) char a;scanf(%c,&a);char b=scanf(b=%c,&b);D) char c=getchar( ); putchar(int)c);56. 執(zhí)行下面程序時,欲將25和2.5分別賦給a和b,正確的輸入方法是( )。int a;float b;scanf(a=%d,b=%f,&a,&b);A) 252.5 B) 25,2.5 C) a

20、=25,b=5.5 D) a=25b=2.557. 與數(shù)學(xué)公式ab/xy不等價的語句是【 】。A) a*b/x*y B) a*b/x/y C) a*b/(x*y) D) a/(x*y)*b58. 對if語句中表達式的類型,下面正確的描述是【 】。A) 必須是關(guān)系表達式 B) 必須是關(guān)系表達式或邏輯表達式C) 必須是關(guān)系表達式或算術(shù)表達式 D) 可以是任意表達式59. 多重if_else語句嵌套使用時,尋找與else配套的if方法是【 】。A) 縮排位置相同的if B) 其上最近的if C) 下面最近的if D) 同行上的if60. 以下錯誤的if語句是【 】。A) if(xy) z=x; B)

21、 if(x=y) z=0;C) if(x!=y) printf(%d,x) else printf(%d,y); D) if(xb) a=b,b=c;c=a;printf(a=%d,b=%d,c=%d,a,b,c); A) a=20,b=30,c=20 B) a=20,b=40,c=20 C) a=30,b=40,c=20 D) a=30,b=40,c=3064. 對于條件表達式(k)?(i+):(i-)來說,其中的表達式k等價于【 】。A) k=0 B) k=1 C) k!=0 D) k!=165. 執(zhí)行下面的程序后,輸出為( )。main( ) int m=20;swith(m) case

22、 19: m+=1;case 20: m+=1;case 21: m+=1;case 22: m+=1; printf(%dn,m); A) 20 B) 21 C) 22 D) 23二、 閱讀程序題閱讀程序?qū)τ诔鯇W(xué)者來說很重要,一方面可以鞏固所學(xué)的語法知識,另一方面通過閱讀別人寫好的程序來打開自己的思路,就所謂見多識廣。通過閱讀理解程序,從給出的四個備選參考答案中,選擇程序的正確輸出。如果選擇有誤,就要認真分析原因,是概念方面的錯誤還是對程序邏輯理解不對,從而加深對語法規(guī)則的理解,提高程序設(shè)計能力。程序設(shè)計語言是開發(fā)程序的一個工具,學(xué)習(xí)語言的目的是為了編寫程序來解決實際問題,所以特別提倡通過實

23、際上機來檢驗備選答案,增強動手能力。1下面程序的輸出結(jié)果是_。#include main( ) int x=10; int x=20;printf (%d,, x);printf(%dn, x);A) 10,20 B) 20,10 C) 10,10 D) 20,202以下程序的輸出結(jié)果是_。 main( ) int x=10, y=10; printf(%d %dn, x, y);A) 10 10 B) 9 9 C) 9 10 D) 10 93下面程序可能的輸出結(jié)果是_。main() int a,b;scanf(%2d%3d,&a,&b);printf(a=%d b=%dn,a,b);A) a

24、=12 b=34 B) a=123 b=45 C) a=12 b=345 D) 語句右錯誤4以下程序段的輸出結(jié)果是_。 int a=10,b=50,c=30;if(ab)a=b;b=c;c=a;printf(a=%d b=%d c=%dn,a,b,c);A) a=10 b=50 c=10 B) a=10 b=30 c=10 C) a=50 b=30 c=10 D) a=50 b=30 c=505以下程序的輸出結(jié)果是_。 main() int a=0,b=1,c=0,d=20;if(a) d=d-10;else if(!b)if(!c) d=15;else d=25;printf(d=%dn,d

25、);A) d=10 B) d=15 C) d=20 D) d=256下面程序的輸出結(jié)果為_。main() int a=1,b=0;switch(a) case 1: switch (b) case 0: printf(*0*); break;case 1: printf(*1*); break;case 2: printf(*2*); break;A) *0* B) *0*2* C) *0*1*2* D) 有語法錯誤7以下程序的輸出結(jié)果是_。 main() char *s=12134211;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk) c

26、ase 1: v1+;case 3: v3+;case 2: v2+;default: v4+;printf(v1=%d, v2=%d, v3=%d, v4=%dn,v1,v2,v3,v4);A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1C) v1=5,v2=8,v3=6,v4=1 D) v1=4,v2=7,v3=5,v4=88下面程序的輸出是_。main() int num=0;while(num=2) num+;printf(%dn,num);A) 1 B) 1 C) 1 D) 12 2 23 349從鍵盤上輸入446755時,下面程序的輸出是_

27、。#include main() int c;while(c=getchar()!=n)switch(c -2) case 0:case 1: putchar(c+4);case 2: putchar(c+4);break;case 3: putchar(c+3);default: putchar(c+2);break;printf(n);A) 888988 B) 668966 C) 88898787 D) 6689878710下面程序的輸出結(jié)果是_。main() int i,j,x=0;for(i=0;i2;i+) x+;for(j=0;j-3;j+) if(j%2)continue;x+;

28、x+;printf(x=%dn,x);A) x=4 B) x=8 C) x=6 D) x=1211下面程序的輸出結(jié)果是_。#include main( ) int n33, i, j;for(i=0;i3;i+ )for(j=0;j3;j+ )nij=i+j;for(i=0;i2;i+ )for(j=0;j2;j+ )ni+1j+1+=nij;printf(%dn, nij);A) 14 B) 0 C) 6 D) 不確定12下面程序的輸出結(jié)果是_。#include main( ) int a45=1,2,4,-4,5,-9,3,6,-3,2,7,8,4;int i,j,n;n=9;i=n/5;

29、j=n-i*5-1;printf(a%d%d=%dn, i,j,aij);A) 6 B) -3 C) 2 D) 不確定13下面程序的輸出結(jié)果是_。#include main( ) char s150=some string *,s2=test;printf(%sn, strcat(s1,s2);A) some string * B) test C) some stritest D) some string *test14下面程序的輸出結(jié)果是_。#include f(char *s) char *p=s;while(*p!=0)p+;return(p-s);main() printf(%dn,f

30、(ABCDEF);A) 3 B) 6 C) 8 D) 015下面程序的輸出結(jié)果是_。#include #include main( ) char str100 =How do you do;strcpy( str + strlen(str)/2, es she);printf(%sn, str);A) How do you do B) es she C) How are you D) How does she16下面程序的輸出結(jié)果是_。#include func(int a,int b) int c;c=a+b;return(c);main() int x=6,y=7,z=8,r;r=func

31、(x-,y+,x+y),z-);printf(%dn,r);A) 11 B) 20 C) 21 D) 3117下面程序的輸出結(jié)果是_A_。main() int a=1,2,3,4,5,6;int *p;p=a;printf(%d ,*p);printf(%d ,*(+p);printf(%d ,*+p);printf(%d ,*(p-); p+=3;printf(%d %d ,*p,*(a+3); A) 1 2 3 3 5 4 B) 1 2 3 4 5 6 C) 1 2 2 3 4 5 D) 1 2 3 4 4 518下面程序的輸出結(jié)果是A_。#include main ( ) int a=1

32、, 2, 3, 4, 5 ;int x, y, *p;p=&a0;x=*(p+2);y=*(p+4);printf(%d,%d,%dn, *p, x, y);A) 1,3,5 B) 1,2,3 C) 1,2,4 D) 1,4,519下面程序的輸出結(jié)果是_D_。#include string.hfun(char *w,int n) char t,*s1,*s2;s1=w;s2=w+n-1;while(s1s2) t=*s1+;*s1=*s2-;*s2=t;main() static char *p=1234567;fun(p,strlen(p);printf(%s,p);A) 7654321 B

33、) 1717171 C) 7171717 D) 171171720下面程序的輸出結(jié)果是_。#include char *p = abcdefghijklmnopq ;main( ) int i=0;while( *p+!=e );printf(%cn, *p); A) c B) d C) e D) f21下面程序的輸出結(jié)果是_。#include stdio.hstruct str1 char c5;char *s;main( ) struct str1 s12= ABCDEFGH,IJK,LMN ;struct str2 struct str1 sr;int d;s2=OPQ,RST,3276

34、7;struct str1 *p2;p0=&s10;p1=&s11;printf(%s,+p1-s); /* */printf(%c,s2.sr.c2); /* */ A) LMN B) MN C) N D) IJK A) O B) P C) Q D) R22以下程序的輸出結(jié)果是_。struct st int x,*y;*p;int s=10,20,30,40;struct st a=1,&s0,2,&s1,3,&s2,4,&s3;main() p=a;printf(%dn,+(*(+p)-y);A) 10 B) 11 C) 20 D) 21 23. 下面程序運行結(jié)果為( )。main( )

35、char c=a;if(acb)a=b; b=a;elsea+; b+;printf(%d,%d,a,b); A) 有語法錯誤不能通過編譯 B) 若輸入4,5則輸出5,6C) 若輸入5,4則輸出4,5 D) 若輸入5,4則輸出5,525. 執(zhí)行下面的程序時,輸入abc(其中CR代表回車),輸出結(jié)果是( )。#include #include main( ) char ch;while(ch=getchar( )!=n) switch(ch-a) case 0: putchar(ch+1); case 1: putchar(ch+1);break;case 2: putchar(ch+2);ca

36、se 3: putchar(ch+2);break;A) abc B) bbc C) abcd D) bbcee三、程序填空題在程序填空題中,已經(jīng)給出了程序的主干,讀者首先要理解程序的思路,再選擇正確的內(nèi)容填入空白處,使程序完成既定的功能。這類習(xí)題的設(shè)計就是要引導(dǎo)讀者逐步掌握編程的方法。本節(jié)習(xí)題的難度適中,可能有些典型的程序在課堂上已經(jīng)有所接觸,讀者一定要獨立完成它,這樣就可以逐步提高自己的編程能力。 1下面程序的功能是不用第三個變量,實現(xiàn)兩個數(shù)的對調(diào)操作。#include main() int a,b;scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);a= ;

37、 b= ; a= ;printf(a=%d,b=%dn,a,b); 2下面的程序的功能是求一維數(shù)組中的最小元素。findmin(int *s,int t,int *k) int p;for(p=0,*k=p;pt;p+)if(sps*k) ; main() int a10,i,*k=&i;for(i=0;i10;i+)scanf(%d,&ai);findmin(a,10,k);printf(%d,%dn,*k,a*k);3下面程序的功能是計算1-3+5-7+ -99+101的值。main() int i,t=1,s=0;for(i=1;i=101;i+=2) ;s=s+t; ;printf(%

38、dn,s);4下面程序的功能是將形參x的值轉(zhuǎn)換為二進制數(shù),所得的二進制數(shù)放在一個一維數(shù)組中返回,二進制數(shù)的最低位放在下標為0的元素中。fun(int x,int b) int k=0,r;do r=x% ;bk+=r;x/= ;while(x);5下面程序的功能是輸出1到100之間每位數(shù)的乘積大于每位數(shù)的和的數(shù)。例如數(shù)字26,數(shù)位上數(shù)字的乘積12大于數(shù)字之和8。main() int n,k=1,s=0,m;for(n=1;ns)printf(%d,n);6下面程序的功能是輸出100以內(nèi)的個位數(shù)為6、且能被3整除的所有數(shù)。main() int i,j;for(i=0; ;i+) j=i*10+6

39、;if( ) countinue;printf(%d,j);7下面程序的功能是用輾轉(zhuǎn)相除法求兩個正整數(shù)m和n的最大公約數(shù)。hcf(int m,int n) int r;if(mn) r=m; ;n=r;r=m%n;while( ) m=n;n=r;r=m%n; ;8下面程序的功能是刪除字符串s中的空格。#include main() char *s=Beijing ligong daxue;int i,j;for(i=j=0;si!=0;i+)if(si!= ) ;else ;sj= 0;printf(%s,s);9下面程序的功能是顯示具有n個元素的數(shù)組s中的最大元素。#define N 20

40、main() int i,aN;for(i=0;iN;i+)scanf(%d,&ai);printf(%dn, );fmax(int s,int n) int k,p;for(p=0,k=p;psk) ;return(k);10下面的函數(shù)是一個求階乘的遞歸調(diào)用函數(shù)。facto(int n) if( n = 1 ) ;else return( );11用遞歸實現(xiàn)將輸入小于32768的整數(shù)按逆序輸出。如輸入12345,則輸出54321。#includestdio.hmain() int n; printf(Input n : );scanf(%d, );r(n);printf(n); r( int

41、 m ) printf(%d, );m = ;if( ) ;12下面函數(shù)的功能是將一個整數(shù)存放到一個數(shù)組中。存放時按逆序存放。例如:483存放成384。#include void convert(char *a, int n) int i;if(i=n/10) !=0 ) convert( , i ); *a = ;char str10= ;main() int number;scanf(%d, &number);convert( str, number );puts(str);13. 若以下程序的輸出結(jié)果是13,請?zhí)羁铡ain( ) int x=016;printf(%dn,); 14.

42、下面程序段的輸出結(jié)果是 。int k=10;float a=3.5,b=6.7,c;c=a+k%3*(int)(a+b)%2/4;15. 若執(zhí)行下面程序段后的輸出為:3,4,5,請?zhí)羁?。int a,b=3,c=5;a=bc? :c+;printf(%d,%d,%d,a,b,c);16. C語言中的運算符,優(yōu)先級最低的是 。17.若下面程序的輸出結(jié)果是4,請?zhí)羁铡ain( ) int i,j,k;k=0 ; i=j=-2 ;k+=-i-;printf(%dn,k);19. 下面程序的輸出結(jié)果是-11,請?zhí)羁?。main( ) int x=100,a=200,b=50;int v1=25,v2=2

43、0;if(a8)printf(%dn,+x);else printf(%dn,x-);四、編寫程序題1編寫一個簡單計算器程序,輸入格式為:data1 op data2。其中data1和data2是參加運算的兩個數(shù),op為運算符,它的取值只能是+、-、*、/。2輸入一個正整數(shù),要求以相反的順序輸出該數(shù)。例如輸入12345,輸出位54321。3編寫程序,以字符形式輸入一個十六進制數(shù),將其變換為一個十進制整數(shù)后輸出。4編寫程序,輸入一個十進制整數(shù),將其變換為二進制后儲存在一個字符數(shù)組中。5編寫程序,輸出1000以內(nèi)的所有完數(shù)及其因子。所謂完數(shù)是指一個整數(shù)的值等于它的因子之和,例如6的因子是1、2、3

44、,而6=1+2+3,故6是一個完數(shù)。6編寫一個函數(shù)實現(xiàn)將字符串str1和字符串str2合并,合并后的字符串按其ASCII碼值從小到大進行排序,相同的字符在新字符串中只出現(xiàn)一次。7編寫程序,從鍵盤輸入一行字符串,將其中的小寫字母全部轉(zhuǎn)換成大寫字母,然后輸出到一個磁盤文件test中保存。8.編寫函數(shù)getmax,它帶有3個int 型參數(shù)a,b,c,返回a,b,c這三個數(shù)的最大值。 在main函數(shù)調(diào)用這個函數(shù)。9.定義一個全局數(shù)組變量,定義函數(shù)getdata,負責(zé)向這個數(shù)組中輸入數(shù)據(jù);一個函數(shù)sort,負責(zé)將這個數(shù)組中的數(shù)據(jù)按降序排序。主函數(shù)先調(diào)用getdatat和sort函數(shù),輸出這個數(shù)組變量中全部單元的值。10.編寫一個判斷一個數(shù)是否是素數(shù)的函數(shù),若是返

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論