對(duì)C語(yǔ)言進(jìn)一步了解(共18頁(yè))_第1頁(yè)
對(duì)C語(yǔ)言進(jìn)一步了解(共18頁(yè))_第2頁(yè)
對(duì)C語(yǔ)言進(jìn)一步了解(共18頁(yè))_第3頁(yè)
對(duì)C語(yǔ)言進(jìn)一步了解(共18頁(yè))_第4頁(yè)
對(duì)C語(yǔ)言進(jìn)一步了解(共18頁(yè))_第5頁(yè)
已閱讀5頁(yè),還剩14頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、一、選擇題(1)有以下(yxi)程序# include void f(char *s, char *t) char k; k=*s; *s=*t; *t=k; s+; t-; if (*s) f(s, t);main() char str10=abcdefg, *p ; p=str+strlen(str)/2+1; f(p, p-2); printf(%sn,str);程序運(yùn)行后的輸出結(jié)果是A)abcdefgB)gfedcbaC)gbcdefaD)abedcfg(2)有以下(yxi)程序float f1(float n) return n*n; float f2(float n) return

2、 2*n; main() float (*p1)(float),(*p2)(float),(*t)(float), y1, y2; p1=f1; p2=f2; y1=p2( p1(2.0) ); t = p1; p1=p2; p2 = t; y2=p2( p1(2.0) ); printf(%3.0f, %3.0fn,y1,y2);程序運(yùn)行后的輸出結(jié)果是A)8, 16B)8, 8 C)16, 16D)4, 8(3)程序中若有如下的說明和定義(dngy)語(yǔ)句char fun(char *);main() char *s=one,a5=0,(*f1)()=fun,ch; 以下選項(xiàng)中對(duì)函數(shù)fun的正

3、確調(diào)用語(yǔ)句是 A)(*f1)(a);B)*f1(*s);C)fun(&a);D)ch=*f1(s)(4) 在函數(shù)調(diào)用過程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則A) 稱為函數(shù)的直接遞歸調(diào)用 B) 稱為函數(shù)的間接遞歸調(diào)用C) 稱為函數(shù)的循環(huán)調(diào)用 D) HYPERLINK /incsearch/search.asp?key=C%D3%EF%D1%D4 t _blank C語(yǔ)言中不允許這樣的遞歸調(diào)用(5) 有以下程序void fun(int *a,int i,int j) int t; if(ij) t=ai;ai=aj;aj=t; i+; j-; fun(a,

4、i,j); main() int x=2,6,1,8,i; fun(x,0,3); for(i=0;i4;i+) printf(%2d,xi); printf(n);程序運(yùn)行后的輸出結(jié)果是A) 1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D) 8 6 1 2(6) 有以下程序#include main(int argc ,char *argv ) int i,len=0; for(i=1;iargc;i+=2) len+=strlen(argvi); printf(“5dn”,len); 經(jīng)編譯鏈接后生成的可執(zhí)行文件是ex.exe,若運(yùn)行時(shí)輸入以下帶參數(shù)的命令行ex abcd

5、efg h3 k44執(zhí)行后輸出結(jié)果是A) 14 B) 12 C) 8 D) 6(7) 有以下程序void f(int a,int i,int j) int t;if(ij) t=ai; ai=aj;aj=t; f(a,i+1,j-1); main( ) int i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i5;i+) printf(“%d,”,aai); printf(“n”);執(zhí)行后輸出結(jié)果是A) 5,4,3,2,1, B) 5,2,3,4,1, C) 1,2,3,4,5, D) 1,2,3,4,5,(8) 有以下程序voidfun(int*a,inti,intj

6、)intt;if(ij)t=ai;ai=aj;aj=t;fun(a,+i,-j);main()inta=1,2,3,4,5,6,i;fun(a,0,5)for(i=0;i6;i+)printf(%d,ai);執(zhí)行后的輸出結(jié)果是A) 6 5 4 3 2 1B) 4 3 2 1 5 6C) 4 5 6 1 2 3D) 1 2 3 4 5 6(9) 有以下程序int f(int n) if (n=1) return 1;else return f(n-1)+1;main() int i,j=0;for(i=i;i3;i+) j+=f(i);printf(“%dn”,j);程序運(yùn)行后的輸出結(jié)果是A)

7、4B) 3C) 2D) 1(10) 有以下程序#include main(int argc,char *argv) int i,len=0;for(i=1;iargc;i+) len+=strlen(argvi);printf(“%dn”,len);程序編譯連接后生成的可執(zhí)行文件是ex1.exe,若運(yùn)行時(shí)輸入帶參數(shù)的命令行是:ex1 abcd efg 10則運(yùn)行的結(jié)果是:A) 22 B) 17C) 12 D) 9(11) 有以下程序int fa(int x) return x*x; int fb(int x) return x*x*x; int f(int (*f1)(),int (*f2)(

8、),int x) return f2(x)-f1(x); main() int i;i=f(fa,fb,2); printf(“%dn”,i);程序運(yùn)行后的輸出結(jié)果是A) -4 B) 1C) 4 D) 8(12) 不合法的main函數(shù)命令行參數(shù)表示形式是A) main(int a,char *c) B) main(int arc,char *arv)C) main(int argc,char *argv) D) main(int argv,char *argc)(13) 假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入:PROG ABCD

9、EFGH IJKL,則輸出結(jié)果為A) ABCDEFG B) IJHLC) ABCDEFGHIJKL D) IJKLABCDEFGHmain( int argc, char *argv) while(-argc0) printf(“%s”,argvargc);printf(“n”);(14) 以下程序的輸出結(jié)果是A) 1 B) 2C) 3 D) 4long fun( int n) long s; if(n= =1 | n= =2) s=2; else s=n-fun(n-1); return s;main() printf(“%ldn”, fun(3); (15) 有如下程序long fib(i

10、nt n) if(n2) return(fib(n-1)+fib(n-2);else return(2);main0 printf(“%dn”,fib(3); 該程序的輸出結(jié)果是A) 2 B) 4 C) 6 D) 8(16) 若有以下說明和定義fun(int *c) main() int (*a)()=fun,*b(),w10,c;在必要的賦值之后,對(duì)fun函數(shù)的正確調(diào)用語(yǔ)句是A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);(17) 下列程序執(zhí)行后的輸出結(jié)果是A) hello B) hel C) hlo D) hlm void func1(int

11、i); void func2(int i); char st=hello,friend!; void func1(int i) printf(%c,sti); if(i3)i+=2;func2(i); void func2(int i) printf(%c,sti); if(i3)i+=2;func1(i); main() int i=0; func1(i); printf(n);(18) 假定下列程序的可執(zhí)行文件名為prg.exe,則在該程序所在的子目錄下輸入命令行: prg hello good后,程序的輸出結(jié)果是A) hello good B) hg C) hel D) hellogoo

12、d main()(int argc, char *argv) int i; if(argc-0)return; for(i=1;i0) fun(k-1);printf(“%d”,k);(20) 若以下程序所生成的可執(zhí)行文件名為filel.exe;當(dāng)打入以下命令執(zhí)行該程序時(shí); FILEL CHINA BEIJING SHANGHAI 程序的輸出結(jié)果是A) CHINA BEIJING SHANGHAI B) FILEL CHINA BEIJINGC) C B S D) F C B main(int argc,char *argv) while(arge-0) +argv;printf(%s ,*a

13、rgv); (21) C語(yǔ)言規(guī)定,程序中各函數(shù)之間A) 既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用B) 不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用C) 允許直接遞歸調(diào)用不允許間接遞歸調(diào)用D) 不允許直接遞歸調(diào)用允許間接遞歸調(diào)用二、填空題:(1)以下程序運(yùn)行后的輸出結(jié)果是 【1】 。int f(int a, int n) if (n = 1) return f(a, n-1)+an-1; else return 0; main() int aa5=1,2,3,4,5, s; s=f(aa, 5); printf(%dn, s);(2) 下面程序的運(yùn)行結(jié)果是:【2】 int f( int a, int n)

14、 if(n1) return a0+f(&a1,n-1);else return a0;main ( ) int aa3=1,2,3,s; s=f(&aa0,3); printf(“%dn”,s);(3) 以下程序運(yùn)行后的輸出結(jié)果是 【3】 fun(int x) if (x/20) fun(x/2);printf(%d,x);main() fun (6); (4) 設(shè)函數(shù)findbig已定義為求3個(gè)數(shù)中的最大值。以下程序?qū)⒗煤瘮?shù)指針調(diào)用findbig函數(shù)。請(qǐng)?zhí)羁铡ain()intfindbig(int,int,int);int(*f)(),x,yz,z,big;f=【4】; scanf(%

15、d%d%d,&x,&y,&z);big=(*f)(x,y,z);printf(bing=%dn,big);(5) 以下程序的輸出結(jié)果是【5】 。 main() int x=0;sub(&x,8,1);printf(%dn,x);sub(int *a,int n,int k) if(k=n) sub(a,n/2,2*k);*a+=k;(6) 以下程序的輸出結(jié)果是 【6】 。fun(int n,int *s) int f1,f2;if(n = =1|n = =2) *s=1;else fun(n-1,&f1); fun(n-2,&f2); *s=f1+f2; main() int x;fun(6,

16、&x); printf(%dn,x); (7) 下面程序的輸出是【7】 。long fun5(int n) long s;if(n=1)|(n=2)s=2;elses=n+fun5(n-1);return(s);main() long x;x=fun5(4);printf(%ldn,x);(8) 下面h函數(shù)的功能是計(jì)算(j sun)如下數(shù)學(xué)函數(shù)H的值。請(qǐng)?zhí)羁?。double fgh(double( *f)(double a) double( *g)(double b),double x, double y) return(【8】 ); double h(double a, double b)re

17、turn(fgh( sin,cos,a,b)*fgh( 【9】 ); (9) 請(qǐng)讀程序:#includemain( int argc, char *argv) int i;printf( %dn, argc);for( i=0; i=argc+1; i+) printf( %s , argvi);printf(n);若上面的程序編譯、連接后生成可執(zhí)行文件ABC.EXE,則輸入以下命令行abc file1 file2(表示回車)程序執(zhí)行后的輸出結(jié)果是 【10】 。(10) 下面程序的輸出結(jié)果是 【11】 。#include fun( int x) int p;if( x=0|x=1) retur

18、n(3);p=x-fun( x-2);return p;main() printf( %dn, fun(9);(11) 下面程序的輸出結(jié)果是 【12】 。#include funa( int a, int b) return a+b;funb( int a, int b) return a-b;sub( int (*t)(), int x, int y) return(*t)( x,y);main() int x, (*p)();p=funa;x=sub(p,9,3);x+=sub(funb, 8, 3);printf(%dn, x);(12) 設(shè)有如下程序:#includemain(int argc, char *argv ) while( -argc0) printf(%s,argvargc);printf(n); 假定上述程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG.EXE,如果在DOS提示符下鍵入PROG ABCD EFGH IJKL ,則輸出結(jié)果為 【13】 。(13) 以下程序調(diào)用invert函數(shù)按逆序重新放置a數(shù)組中元素的值。a數(shù)組中的值在main函數(shù)中讀入。#include #define N 10invert(int *s,int i,int j) int t; if(ij) t=*(s+i); *(s+j)=(s+j);*(s+j)=t; invert(s,

溫馨提示

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