【精品】公務員-計算機類 C語言程序設計_第1頁
【精品】公務員-計算機類 C語言程序設計_第2頁
免費預覽已結束,剩余36頁可下載查看

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、C語言程序設計復習參考資料一選擇題1以下關于運算符優(yōu)先順序的描述中正確的是( C )。 A關系運算符 算術運算符 賦值運算符 邏輯與運算符 B邏輯 運算符 關系運算符 算術運算符 賦值運算符 C賦值運算符 邏輯與運算符 關系運算符 算術運算符 D算術運算符 關系運算符 賦值運算符 邏輯與運算符2下列選項中合法的變量名是_C_ A #define B int C a594_3 D abs(x)3以下正確的描述是( A )。 A break語句的作用是結束整個循環(huán)的執(zhí)行 B在C程序中,注釋說明只能位于一條語句的后面 C 在循環(huán)體內使用break語句或continue語句的作用相同 D 從多層循環(huán)嵌

2、套中退出時, 只能使用goto語句4以下說法正確的是( C) A#define 和 printf 都是 C 語句。 B#define 是C語句,而printf不是。 C若程序中要調用數學函數,必須在文件開頭輸入語句 #include “math.h” D #define 和 printf 都不是 C 語句。5下面的函數定義正確的是_D_ A) float fun (float x ; float y) return x*y; B) float fun (float x,y) return x*y; C) float fun (x,y) int x,y;return x*y; D) int fu

3、n (int x, int y) return x*y;6執(zhí)行下面語句后的輸出為( D ) int i=-1; if (i=0|b=0)&(a0|b=0&b=0)|(a0&b0)&(a+b0)&(a-b = y & cha&!y) 的值是 ( C ) A) 0 B) 語法錯 C) 1 D) 假 17下列關于單目運算符+、-的敘述中正確的是( B )A) 它們的運算對象可以是任何變量和常量B) 它們的運算對象可以是char型變量和int型變量,但不能是float型變量C) 它們的運算對象可以是int型變量,但不能是double型變量和float型變量D) 它們的運算對象可以是char型變量、in

4、t型變量和float型變量18下面的程序( B ) void main() int x=3; do printf(“%dn”,x-=2); while(!(-x); A). 輸出的是1 B). 輸出的是1和-2 C). 輸出的是3和0 D). 是死循環(huán)19如下程序:void main( ) int a=6; printf(“%dn”,(a+=3,2*a); 執(zhí)行后,輸出結果是( D )A) 9 B) 6 C) 2 D) 1820若有以下說明和語句,請選出哪個是對C數組元素的正確引用( D ) int c45, (*cp)5; cp=c; A). cp+1 B). *(cp+3) C). *(c

5、p+1)+3 D). *(*cp+2)21下面程序的輸出是( B ) main() int x=023; printf(%dn, -x); A). 17 B). 18 C). 23 D). 2422執(zhí)行下列程序的結果是( B ) main() float x=1,y; y=+x*+x; printf(“%fn”,y); A). 9.000000 B). 6.000000 C). 1.000000 D). 程序有錯誤23下面程序的輸出是( A ) main() int a10=1,2,3,4,5,6,7,8,9,10, *p=a; printf(%dn, *(p+2) ); A). 3 B).

6、4 C). 1 D). 224執(zhí)行下面程序中的輸出語句后,a的值是( B ) main() int a; printf(%dn, (a=3*5,a*4,a+5) ); A). 65 B). 20 C). 15 D). 1025下面程序的輸出是( C ) main() int a=-1, b=4, k; k=(a+=0)&(!(b-=0); printf(%d %d %d n, k, a, b ); A). 0 0 3 B). 0 1 2 C). 1 0 3 D). 1 1 226設有如下的程序段: char str=Hello; char *ptr; ptr=str; 執(zhí)行完上面的程序段后,*

7、(ptr+5)的值為( C ) A). 0 B). 0 C). 不確定的值 D). 0的地址27在宏定義# define PI 3.14159中,用宏名PI代替一個( C ) A).單精度數 B).雙精度數 C).常量 D).字符串28若i是整型變量,pb是基本型為整型的指針變量,則正確的賦值表達式是( A ) A). pb=&i B). pb=i C). *pb=&i D). *pb=*i29有以下程序段 int m=0,n=0;char c=d; scanf(%d%c%d,&m,&c,&n); printf(%d,%c,%dn,m,c,n);若從鍵盤上輸入:6D6,則輸出結果是( C )

8、A) 0,d,6B) 6,d,6C) 6,D,6D) 6,D,030printf()函數中用到格式符%-7s ,其中數字7表示輸出的字符串占用7列。如果字符串長度小于7,則輸出按方式 ( A )A) 從左起輸出該字串,右補空格 B) 按原字符長從左向右全部輸出 C) 右對齊輸出該字串,左補空格 D) 輸出錯誤信息31以下能正確地定義整型變量a,b和c 并為其賦初值3的語句是( A ) A) int a=3,b=3, c= 3; B) int a,b, c= 3; C) a= 3,b=3,c=3; D) a= b= c=3; 32以下程序的輸出結果是( D ) void main( ) int

9、x=6,y=6,i; for(i=2;x4;y=+i) printf(%d,%d ,x-,y); A) 5,5 5,3 B) 6,6 2,3 C) 6,5 5,2 D) 6,6 5,333以下程序的輸出結果是( B ) void main( ) int w=4; int fun(int k); fun(w); printf(n); fun(int k) if(k0) fun(k-1); printf(%d ,k); A) 4 3 2 1 B) 0 1 2 3 4 C) 1 2 3 4 D) 4 3 2 1 034下面程序的輸出是( B ) main() int x=023; printf(%d

10、n, -x); A). 17 B). 18 C). 23 D). 2435以下程序的輸出結果是( C ) main() char ch34= 123,456,78,*p3; int i; for(i=0;i3;i+) pi=chi; for(i=0;i3;i+) printf(%s,pi); A). 123456780 B). 123 456 780 C). 12345678 D). 14736下面程序的輸出結果為( B ) char *alpha6=ABCD,EFGH,IJKL, MNOP,QRST,UVWX; char *p; void main( ) int i; p=alpha; fo

11、r(i=0;i4;i+) printf(%c,(*p)i); printf(n); A). EIMC B). ABCD C). EFGH D). AEIM37根據下面的定義,能打印出字母M的語句是( D ) struct person char name9; int age; struct person class10= John,17, Paul,19, Mary,18, Adam,16 A). printf(%cn,); B). printf(%cn,1); C). printf(%cn,1); D). printf(%cn

12、,0);38有以下程序void main( )intp7=11,13,14,15,16,17,18,i=0,k=0;while(i7&pi%2) k=k+pi; i+;printf(%dn,k);執(zhí)行后輸出結果是( D )A) 58B) 56C) 45D) 2439以下程序的輸出結果是( A ) void main( ) int i,x33=9,8,7,6,5,4,3,2,1,*p; p=&x11; for(i=0;i6;i+=3) printf(%d ,pi); A) 5 2 B) 5 1 C) 5 3 D) 9 740以下程序的輸出結果是( A ) # include

13、 void main( ) char *a=”abcdefghi”; void fun( char *s ); fun(a); puts(a); void fun(char *s ) int x,y; char c; for(x=0,y=strlen(s)-1;xy;x+,y-) c=sy;sy=sx;sx=c; A). ihgfedcba B). abcdefghi C). abcdedcba D).ihgfefghi41void main( ) int i,a=5,6,9,11; for (i=0;i4;i+) if (ai%2=0) continue; printf(%d ,ai); 執(zhí)

14、行后輸出結果是( C ) A) 編譯出錯B 6C) 5 9 11D) 5 6 9 1142以下對數組的定義正確的是( D ) A) int x(10); B) int x5=0,1,2,3,4,5;C) int n=10; xn; D) int x = 0,1,2,3,4;43. 以下敘述中不正確的是( B )A)switch是多分支結構語句B) continue語句的作用是使程序的執(zhí)行流程跳出包含它的所有循環(huán)C) break 語句只能用在循環(huán)體內和switch語句體內D) 在循環(huán)體內使用break語句和continue語句的作用不相同44如下程序: void main( ) inti=1,j

15、=2,k=3; if(j+| k+)&i+) printf(%d,%d,%dn,i,j,k); 執(zhí)行后輸出結果是( D )A) 1,2,3B) 2,2,4C) 2,3,4D) 2,3,345以下敘述中,不正確的是( C )A) 算法應該具有有窮性、確定性以及有效性等特點B) 算法可以用傳統(tǒng)流程圖、N-S流程圖以及偽代碼等形式來描述C) 基本結構只有順序、選擇、循環(huán)3種結構D) 結構化程序設計的思想是自頂向下、逐步細化、模塊化設計以及結構化編碼46在C語言中,函數返回值的類型最終取決于( D )A) 函數定義時形參的類型 B)return語句中表達式值的類型C) 調用函數時主函數所傳遞的實參類型

16、 D)函數定義時在函數首部所說明的函數類型47以下程序的輸出結果是( C ) void main() int i; for(i=a;iname49下面的程序輸出是( B ) int m=13; int fun2(int x,int y) int m=3; return(x*y-m); main() int a=7,b=5;printf(%dn,fun2(a,b)/m); A). 1 B). 2 C). 7 D). 1050下面的程序輸出是( A ) main() int x=100,a=10,b=20,ok1=5,ok2=0;if(ab) if(b!=15) if(!ok1) x=1; els

17、e if(ok2) x=10; x=-1; printf(%d n, x ); A). -1 B). 0 C). 1 D). 不確定的值51若有以下定義: int a =1,2,3,4,5,6,7,8,9,10, *p=a; 則值為3的表達式是( A ) A). p+=2,*(p+) B). p+=2,*+p C). p+=3,*p+ D). p+=2, +*p52下面程序的輸出是( A ) int aa33= 2,4,6 ; void main() int i, *p=&aa00; for(i=0;i2;i+) if(i=0) aaii+1= *p+1; else +p; printf(%d

18、, *p ); A). 23 B). 26 C). 33 D). 3653下面程序的輸出是( D ) void prtv(int *x) printf(%dn, +*x ); void main() int a=25; prtv(&a); A. 23 B. 24 C. 25 D. 2654以下程序的運行結果是( B ) void main( ) char a10=1,2,3,4,5,6,7,8,9,0; char *p; int i=8; p=a+i; printf(%sn,p-2); A) 6 B) 789 C) 6 D) 67855執(zhí)行以下3條語句之后,則k的值是_C_ int x=4,y

19、=7 ; x+ ;y+=2 ;k=y%x; A) 1 B) 2 C)4 D)356以下程序段 for ( k = 0, m = 4; m ; m - = 2 ) for( n = 1; n 4 ; n+) k+; 循環(huán)體語句” k +;” 執(zhí)行的次數是_C_ A)16 B)12 C) 6 D) 857在C語言中(以16位PC機為例),5種基本數據類型的存儲空間長度的排列順序為( C )A) char=int1ong int=floatdouble B) char int 1ong int=float=doubleC) charint 1ong int=floatdouble D) char=i

20、nt =1ong int=float=1) & (x =50) & (x=1) | (x=50) | (x=1) & (x= 50) & (x =1)| (x =50) | (x=60) 61以下程序的輸出結果是( D ) # include main() char *p1,*p2,str50=ABCDEFG; p1=abcd; p2=efgh; strcpy(str+1,p2+1); strcpy(str+3,p1+3); printf(%s,str); A). AfghdEFG B). Abfhd C). Afghd D). Afgd62以下程序的輸出結果是( A ) main() int

21、 i; for(i=1;i=10 or a=10|a=10&a=10 & ab?(bc?1:0):0;功能等價的是( A )A if(ab) &(bc) ) k=1; B if(ab) |(bc) ) k=1else k=0;C if(aB) k=1; else if(bC) k=1; else k=0; 65.設int x=2,4,6,8,y,*p=&x1;則執(zhí)行語句 y=(*-p)+;后數組元素x0的值為( B ).A. 2 B. 3 C. 4 D. 566在下面關于函數的描述中錯誤的是( D )A在一個源文件中,如果函數定義在先,調用在后,則不必聲明該函數B如果一個函數在一個源文件里定義

22、,而調用在另一個源文件中,則必須在調用之前聲明該函數C函數的聲明應使用函數原型D在一個源文件中,如果自定義函數調用在先,定義在后,則不必聲明該函數67. 若有int a34=1,2,3,4,5,6,7,8,9,10,11,12; int (*q)3=a;*q=a0;則能夠正確表示數組元素a12的表達式是( C )。 A. *(*q+1)2 B. *(*(q+5) C. *(*(q+1)+2) D. (*q+1)+268設int x=1,3,5,7,9,11,13,*p=x;則不能正確引用數組元素的表達式是( B ) A.*(p-) B. *(-p) C.*(p+) D.*(+p)69. 有以下

23、函數char *fun(char *p)return p;該函數的返回值是( B ) A. 無確切的值 B. 形參p中存放的地址值 C. 形參p自身的地址值 D. 編譯有錯70. 在下面的引用定義中,正確的是( B )。A. int x,&y; y=x; B. int x,&y=x ; C. int &y=x,x; D. float z; int x,y=&z;71執(zhí)行下面程序段后,a的值為( C )。int a,b;for(b=1,a=1;b=10) break; if (a%2=1) a+=5; continue; a-=3; A. 2 B. 6 C. 10 D. 872. 執(zhí)行下列程序段

24、后,變量i的值為( B )。 #define MA(x,y) (x)*(y) int i=5; i=MA(i,i+1)-7;A. 30 B. 23 C. 19 D. 173.若有以下的說明: struct person char name20; int age; char sex; a=li ning,20,m,*p=&a; 則對字符串li ning的引用方式不可以是( B ) A. (*p).name B. C. D. p-name74. 若程序中定義了以下函數 double myadd(double a,double b) return (a+b) ;并將其放在

25、調用語句之后,則在調用之前應該對該函數進行說明,以下選項中錯誤的說明是( A )A. double myadd(double a,b) ; B. double myadd(double,double);C. double myadd(double b,double a) ;D. double myadd(double x,double y);75.若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+1)+2)表示的數組元素是( C ) int t33,*pt3,k; for(k=0;k3;k+) ptk=&tk0; A. t20 B. t22 C. t12 D. t2176在C語言中,0

26、80是( D ) A八進制數 B十進制數 C十六進制數 D非法數77. 整型變量i定義后賦初值的結果是( B )。int i=2.8*6 ;A12 B16 C17 D1878for(i=0,x=0; !x&i=3;i+)循環(huán)的次數為( A )A4 B5 C1 D 無限循環(huán) 79若有如下程序段: int a=2,b=-1,c=2; if (ab) if (b0) c=0; else c+=1; cout”c=”c0; D. i+ ;82以下不能對二維數組a 進行正確初始化的語句是( C ) Aint a23=0; Bint a 3=1,2,0; Cint a23=1,2,3,4,5,6; Din

27、t a 3=1,2,3,4,5,6;83以下合法的if語句是( D )。 A. if(a=b) c+; B. if(ab) c+; C. if(a=b) c+; D. if(a=b) c+;84字符串常量“I love china”在內存中存在需要( C )字節(jié)。注:每個單詞之間有一個空格。 A10 B12 C 13 D 14二填空題1C語言源程序的擴展名為.c,可執(zhí)行文件的擴展名為_。.exe2數組 int a35;共定義了_個數組元素。153C程序由函數構成,C程序總是從_開始執(zhí)行.main()4 C語言中,用_ 關鍵字來包含如stdio.h之類的頭文件。 include5函數的返回值是通

28、過函數中的_語句來獲得的。return6至少執(zhí)行一次循環(huán)體的循環(huán)語句是 。dowhile 語句7對于不帶返回值的函數,應當用關鍵字_定義函數。void8多分支結構的程序,通常選用_語句來實現。 switch9若char ch=25yi6有以下語句,則編譯后分配給數組ch的內存占用的字節(jié)數為_。610下面運算符 , + = 按照優(yōu)先級從高到低排列順序為_ _。+ & |18getchar( ) 函數的功能是 。從標準輸入設備讀取下一個字符19寫出下面表達式的值 6*4/7+8%3 _ 5 x=5 ; y=2; (x+)+y _ 7 8-4=5+3 _ 0 64-2 ? 4%2: 3 _ _ _

29、0 x=2,y=2; x|!y _ 1 x=3 ; x+=x-=2 _ _ 220下面invert函數的功能是將一個字符串str的內容顛倒過來,請?zhí)羁铡? include void invert(char str ) int i, j, ; k for(i=0,j=strlen(str) ; ij; i+,j- ) -1 k=str i ; str i =str j ; strj=k; 21下列程序是用遞歸的方法計算fun(5)*10的值。其中fun(k)=fun(k-1)*k,當k=0時,fun(0)=3。請?zhí)羁胀瓿沙绦颉?#include void main() 【1】 int fun(i

30、nt); coutfun(5)*10=3+4|64&25的結果為 【5】1 或真 29n表示 【6】 字符。三程序閱讀題1以下程序的運行結果是 _1 #include void main() int m=3; if(-m3) printf( %dn,-m); else printf(%dn,+m); 2執(zhí)行下面程序段后, 輸出結果是_ i=6 j=3 m=7 #include int i=2; int fun(int x) int k,j=1; i=x*2; k=i+j; return k; void main( ) int m,j=3; m=fun(j); printf(“i=%d j=%d

31、 m=%dn”,i,j,m);3下面程序的輸出是_ 12 void main( ) int arr10,i,k=0; for(i=0;i10;i+) arri=i; for(i=1;i4;i+) k+=arri+i; printf(%dn,k); 4下面程序的輸出結果是_234567 #include #include #define MAX_COUNT 6 void fun() ; void main( ) int count; for(count=1;count=MAX_COUNT;count+) fun(); void fun() static int i;i+=2;printf(%d,

32、i-); 5下面程序的輸出是_6void main() int a =2,4,6, *ptr=&a0;int x=8, y, z; for(y=0;y3;y+)z=(*(ptr+y)x) ?*(ptr+y) : x;printf(“%dn”, z); 6下面程序的輸出是_12 main() int arr10,i,k=0; for(i=0;i10;i+) arri=i; for(i=1;i4;i+) k+=arri+i; printf(%dn,k); 7下面程序的輸出結果是_ 2 4 int t(int x,int y,int cp,int dp) cp=x*x+y*y; dp=x*x-y*y

33、; void main( ) int a=4,b=3,c=2,d=4; t(a,b,c,d); printf(%d %dn,c,d);8下面程序的正確運行結果是_str =abdefvoid main() static char str =”abcdef”; void abc(char str ); abc(str); printf(“str =%sn”, str); void abc(char str ) int a,b; for(a=b=0;stra!=0;a+) if(stra!=c) strb+=stra; strb=0;9下面程序的輸出結果是_10 int fun(int *x,int n) if(n=0) return x0; else return x0+fun(x+1,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論