- 相關(guān)推薦
計算機等級考試二級C語言超級經(jīng)典400道題目
1、C語言程序的基本單位是____ A) 程序行 B) 語句 C) 函數(shù) D) 字符、C、1
2、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)、A、1
3、C語言規(guī)定,程序中各函數(shù)之間 A) 既允許直接遞歸調(diào)用也允許間接遞歸調(diào)用 B) 不允許直接遞歸調(diào)用也不允許間接遞歸調(diào)用 C) 允許直接遞歸調(diào)用不允許間接遞歸調(diào)用 D) 不允許直接遞歸調(diào)用允許間接遞歸調(diào)用、A、1
4、C語言中可處理的文件類型是( ) A) 文本文件和數(shù)據(jù)文件 B)文本文件和二進制文件 C) 數(shù)據(jù)文件和二進制文件 D)數(shù)據(jù)代碼文件、B、1
5、C語言可執(zhí)行程序的開始執(zhí)行點是( ) A) 程序中第一條可執(zhí)行語句 B) 程序中第一個函數(shù) C) 程序中的main函數(shù) D) 包含文件中的第一個函數(shù)、C、1
6、C語言提供的合法的數(shù)據(jù)類型關(guān)鍵字是 A)double B) short C) integer D) char、B、1
7、C語言中,運算對象必須是整型數(shù)的運算符是 A) % B) \ C) %和\ D) * *、A、1
8、C語言中函數(shù)返回值的類型是由( )決定。 A) return語句中的表達式類型 B) 調(diào)用函數(shù)的主調(diào)函數(shù)類型 C) 調(diào)用函數(shù)時臨時 D) 定義函數(shù)時所指定的函數(shù)類型、D、1
9、C語言中數(shù)組名作為參數(shù)傳遞給函數(shù),作為實在參數(shù)的數(shù)組名被處理為_____。 A、 該數(shù)組的長度。 B、該數(shù)組的元素個數(shù)。 C、 該數(shù)組中各元素的值。 D、 該數(shù)組的首地址。、D、1
10、C語言中數(shù)組下標的下限是________。 A、1 B、0 C、視具體情況 D、無固定下限、B、1
11、C語言中提供的合法關(guān)鍵字是____ A、swith B、cher C、case D、default、D、1
12、C語言中文件的存取方式是________。 A、順序存取 B、隨機存取 C、順序存取、隨機存取均可 D、順序存取、隨機存取均不可、C、1
13、C語言中最簡單的數(shù)據(jù)類型包括 A) 整型、實型、邏輯型 B) 整型、實型、字符型 C) 整型、字符型、邏輯型 D) 整型、實型、邏輯型、字符型、B、1
14、sizeof(float)是( ) A) 一種函數(shù)調(diào)用 B) 一個不合法的表示形式 C) 一個整型表達式 D) 一個浮點表達式、C、1
15、x、y、z被定義為int型變量,若從鍵盤給x、y、z輸入數(shù)據(jù),正確的輸入語句是 A) input x,y,z; B) scanf("%d%d%d",&x,&y,&z); C) scanf("%d%d%d",x,y,z); D) read("%d%d%d",&x,&y,&z);、B、1
16、表達式:10!=9的值是 A) true B) 非零值 C) 0 D) 1、D、1
17、表示關(guān)系x<=y<=z的c語言表達式為 A) (X<=Y)&&(Y<=Z) B) (X<=Y)AND(Y<=Z) C) (X<=Y<=Z) D) (X<=Y)&(Y<=Z)、A、1
18、程序片段:在TC20中, int i=65536; printf("%d\n",i);的輸出結(jié)果是____ A) 65536 B) 0 C) 有語法錯誤,無輸出結(jié)果 D) -1、B、1
19、當調(diào)用函數(shù)時,實參是一個數(shù)組名,則向函數(shù)傳送的是____ A) 數(shù)組的長度 B) 數(shù)組的首地址 C) 數(shù)組每一個元素的地址 D) 數(shù)組每個元素中的值、B、1
20、對嵌套子程序調(diào)用說法正確的是____。 A、 外層子程序可以調(diào)用所有的內(nèi)層子程序 B、 內(nèi)層了程序只可以調(diào)用包含本身的外層子程序,不可以隔層調(diào)用 C、 外分程序必須能完全套住內(nèi)分程序 D、 以上說法均不正確、C、1
21、對于基類型相同的兩個指針變量之間,不能進行的運算是 A) < B) = C) + D) -、C、1
22、合法的C語言中,合法的長整型常數(shù)是 A) '\t' B) "A" C) 65 D) A、A、1
23、假定int類型變量占用兩個字節(jié),其有定義:int x[10]={0,2,4};,則數(shù)組x在內(nèi)存中所占字節(jié)數(shù)是 A) 3 B) 6 C) 10 D) 20、D、1
24、假定有以下變量定義: int k=7 ,x=12; 則能使值為3的表達式是 A x%=(k%=5) B x%=(k-k%5) C x%=k-k%5 D (x%=k)-(k%=5)、D、1
25、請讀程序片段(字符串內(nèi)沒有空格): printf("%d\n",strlen("ATS\n012\1\\"));的輸出結(jié)果是 A) 11 B) 10 C) 9 D) 8 、C、1
26、請選出合法的C語言賦值語句 A) a=b=58 B) i++; C) a=58,b=58 D) k=int(a+b);、B、1
27、若a為int類型,且其值為3,則執(zhí)行完表達式a+=a-=a*a后,a的值是 A) -3 B) 9 C) -12 D) 6、C、1
28、若int類型占兩個字節(jié),則以下語句輸出為________。 int k=-1; printf("%d,u%\n",k,k); A、-1,-1 B、-1,65536 C、-1,32768 D、-1,65535、D、1
29、若變量a是int類型,并執(zhí)行了語句:a=‘A'+1、6;,則正確的敘述是 A) a的值是字符C B) a的值是浮點型 C) 不允許字符型和浮點型相加 D) a的值是字符‘A’的ASCII值加上1。、D、1
30、若變量已正確說明為float類型,要通過語句scanf("%f %f %f ",&a,&b,&c);給a賦于10、0,b賦予22、0,c賦予33、0,不正確的輸入形式是: A) 10 B) 10、0,22、0,33、0 22 33 C) 10、0 D) 10 22 22、0 33、0 33、B、1
31、若要求在if后一對圓括號中表示a不等于0的關(guān)系,則能正確表示這一關(guān)系的表達式為 A) a<>0 B) !a C) a=0 D) a、B、1
32、若已定義x和y為double類型,則表達式:x=1,y=x+3/2的值是 A)1 B)2 C)2、0 D)2、5、C、1
33、若有定義:int a=8,b=5,c;,執(zhí)行語句c=a/b+0、4;后,c的值為 A) 1、4 B) 1 C) 2、0 D) 2、B、1
34、若有定義:int x,y;char a,b,c;并有以下輸入數(shù)據(jù)(此處< CR> 代表換行符,/u代表空格): 1u2 AuBuC 則能給x賦整數(shù)1,給y賦整數(shù)2,給a賦字符A,給b賦字符B,給c賦字符C 的正確程序段是 A) scanf("x=%d y+%d",&x,&y);a=getchar();b=getchar();c=getchar(); B) scanf("%d %d",&x,&y);a=getchar();b=getchar();c=getchar(); C) scanf("%d%d%c%c%c,&x,&y,&a,&b,&c); D) scanf("%d%d%c%c%c%c%c%c:&x,&y,&a,&a,&b,&b,&c,&c);、 D、1
35、若有定義和語句: char s[10]:s="abcd";printf("%s\n",s); 則結(jié)果是(以下u代表空格) A) 輸出abcd B) 輸出a C) 輸出abcduuuuu D) 編譯不通過、D、1
36、若有以下程序段, int c1=1,c2=2,c3; c3=1、0/c2*c1; 則執(zhí)行后,c3中的值是 A) 0 B) 0、5 C) 1 D) 2、A、1
37、若有以下定義: char a; int b; float c; double d; 則表達式a*b+d-c值的類型為 A) float B) int C) char D) double、D、1
38、若有以下定義和語句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 則輸出結(jié)果是: A)2,M B)3,E C)2,E D)輸出項與對應(yīng)的格式控制不一致,輸出結(jié)果不確定、B、1
39、若有以下函數(shù)調(diào)用語句: fun(a+b,(x,y),fun(n+k,d,(a,b)));在此函數(shù)調(diào)用語句中實參的個數(shù)是 A)3 B)4 C)5 D)6、A、1
40、若執(zhí)行下面的程序時從鍵盤上輸入3和4,則輸出是____ A) 14 B) 16 C) 18 D) 20 main( ) { int a,b,s; scanf("%d %d",&a,&b); s=a; if(a、B、1
41、若執(zhí)行下面的程序時從鍵盤上輸入5,則輸出是 A) 7 B) 6 C) 5 D) 4 main() { int x; scanf("%d",&x); if(x++>5) printf("%d\n",x); else printf("%d\n",x--);}、B、1
42、若執(zhí)行以下程序時從鍵盤上輸入9,則輸出結(jié)果是 A) 11 B) 10 C) 9 D) 8 main( ) { int n; scanf("%d",&n); if(n++、B、1
43、設(shè) a、b、c、d、m、n均為 int型變量,且 a=5、b=6、c=7、d=8、m=2、n=2,則邏輯表達式 (m=a>b)&&(n=c>d)運算后,n的值為____ A) 0 B) 1 C) 2 D) 3、C、1
44、設(shè) int a=12,則執(zhí)行完語句 a+=a-=a*a后,a的值是 A) 552 B) 264 C) 144 D) -264、D、1
45、設(shè) int b=2;表達式(b>>2)/(b>>1)的值是 A) 0 B) 2 C) 4 D) 8、A、1
46、設(shè)a,b和c都是int型變量,且a=3,b=4,c=5,則下列表達式中,值為0的表達式是________ A)'a'&&'b' B)a<=b C)a||b+c&&b-c D)!((a
47、設(shè)x、y、z和k都是int型變量,則執(zhí)行表達式:x=(y=4,z=16,k=32)后,x的值為 A 4 B 16 C 32 D 52、C、1
48、設(shè)x=3,y=-4,z=6,寫出表達式的結(jié)果。 !(x>y)+(y!=z)||(x+y)&&(y-z) A、0 B、1 C、-1 D、6、B、1
49、設(shè)x和y均為int 型變量,則以下語句:x+=y;y=x-y;y=x-y;x-=y;的功能是 A、把x 和y按從大到小排列 B、把x和y按從小到大排列 C、無確定結(jié)果 D、交換x和y中的值、D、1
50、設(shè)有 int x=11; 則表達式 (x++ * 1/3) 的值是 A) 3 B) 4 C) 11 D) 12、A、1
51、設(shè)有如下的變量定義: int i =8,k ,a,b ; unsigned long w=5; double x=1,42,y=5、2; 則以下符合C語言語法的表達式是 A、 a+=a-=(b=4)*(a=3) B、 x%(-3); C、 a=a*3=2 D、 y=float(i)、A、1
52、設(shè)有如下定義: char *aa[2]={"abcd","ABCD"}; 則以下就法中正確的是 A) aa數(shù)組成元素的值分別是"abcd"和ABCD" B) aa是指針變量,它指向含有兩個數(shù)組元素的字符型一維數(shù)組 C) aa數(shù)組的兩個元素分別存放的是含有4個字符的一維字符數(shù)組的首地址 D) aa數(shù)組的兩個元素中各自存放了字符'a'和'A'的地址、D、1
53、設(shè)有如下定義: int x=10,y=3,z; 則語句 printf("%d\n",z=(x%y,x/y)); 的輸出結(jié)果是 A) 1 B) 0 C) 4 D) 3、D、1
54、設(shè)有數(shù)組定義: char array [ ]="China"; 則數(shù)組 array所占的空間為 A) 4個字節(jié) B) 5個字節(jié) C) 6個字節(jié) D) 7個字節(jié)、C、1
55、設(shè)有說明語句:char a='\72';則變量a A) 包含1個字符 B) 包含2個字符 C) 包含3個字符 D) 說明不合法、A、1
56、設(shè)有以下語句:int x=03,y=02,z=01;那么語句printf("%d",x|y&~Z)的執(zhí)行結(jié)果( )。 (A) 1 (B) 2 (C) 3 (D) 0、C、1
57、下列if語句中,不正確的是________。 A、if(x>y); B、if(x==y) x+=y; C、if(x!=y) scanf("%d",&x) else x=1; D、if(x、C、1
58、下列變量定義中合法的是 A) short _a=1-、le-1; B) double b=1+5e2、5; C) long do=0xfdaL; D) float 2_and=1-e-3;、A、1
59、下列標識符中不合法的是_______ A、s_name B、_e C、fox D、3DS、D、1
60、下列不正確的轉(zhuǎn)義字符是 A) '\\' B) '\" C) '074' D) '\0'、C、1
61、請讀程序: main() { int a=1,b=2; printf("%d\n",a=a+1,a+6,b+2);} 則上面程序的輸出結(jié)果是____ A、2 B、3 C、4 D、1、A、1
62、請讀程序: int i=0,j=0,a=6; if((++i>0)||(++j>0))a++; printf("i=%d,j=%d,a=d%\n",i,j,a); 則上面程序的輸出結(jié)果是____ A、i=0,j=0,a=6 B、i=1,j=0,a=7 C、i=1,j=1,a=6 D、i=1,j=1,a=7、B、1
63、下列程序段的輸出結(jié)果為________? int y=1; while(y--); printf("y=%d\n",y); A、y=-1B、y=0C、死循環(huán)D、y=9 、A、1
64、下列程序執(zhí)行后的輸出結(jié)果是 A) 3 B) 6 C) 9 D) 隨機數(shù) main() { int a[3][3], *p,i; p=&a[0][0]; for(i=p; i、B、1
65、下列程序執(zhí)行后的輸出結(jié)果是 A) G B) H C) i D) J main() { int x='f'; printf("%c \n",'A'+(x-'a'+1)); }、A、1
66、下列程序執(zhí)行后的輸出結(jié)果是(小數(shù)點后只寫一位) 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、0 main() { double d; float f; ling l; int i; i=f=1=d=20/3; printf("%d %ld %f %f \n", i,l,f,d); }、A、1
67、下列可作為C語言賦值語句的是 A)x=3,y=5 B)a=b=6 C)i--; D)y=int(x);、C、1
68、下列描述中不正確的是 A) 字符型數(shù)組中可以存放字符串 B) 可以對字符型數(shù)組進行整體輸入、輸出 C) 可以對整型數(shù)組進行整體輸入、輸出 D) 不能在賦值語句中通過賦值運算符"="對字符型數(shù)組進行整體賦值、C、1
69、下列說法中正確的是________。 A、在switch語句中一定要使用break語句 B、在switch語句中不一定要使用break語句 C、break語句是switch語句的一部分 D、break只能用于switch語句中、B、1
70、下列運算符其優(yōu)先級最高的是________。 A、|| B、&& C、+ D、=、C、1
71、下面的DO循環(huán)中,一共循環(huán)( )次。 M=5 N=1 DO WHiLE N<=M N=N+1 ENDDO (A) 1 (B) 6 (C) 4 (D) 5、D、1
72、請讀程序: #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("%f\n",z); } 則上面程序的輸出結(jié)果是____ A、數(shù)據(jù)溢出B、9、3C、9、300000D、0、93、C、1
73、請讀程序: int a,b,c; a=(b=(c=10)+5)-5; printf("a,b,c=d%,d%,d%",a,b,c); c=a=0; b=(a+10); printf("a,b,c=%d,d%,d%",a,b,c); 則上面程序的輸出結(jié)果是____ A、a,b,c=0,10,10 a,b,c=10,15,10 B、a,b,c=10,15,10 a,b,c=10,15,10 C、a,b,c=10,15,10 a,b,c=0,10,0 D、a,b,c=10,15,10 a,b,c=10,15,15、C、1
74、寫出下列語句執(zhí)行后a,b的值。 int a=6,b; b=(++b)+(a++); A、a=8,b=14 B、a=7,b=8 C、a=14,b=14 D、a=8,b=8、A、1
75、請讀程序: m=1234、123; printf=("%-8、3f\n",m); printf=("%10、3f\n",m); 則上面程序的輸出結(jié)果是____ A、1234、12300 1234、123 B、1234、123 1234、123 C、1234、123 1234、12300 D、1234、12300 1234、123、B、1
76、一個C語言的語句至少應(yīng)包一個________ A、{} B、逗號 C、分號 D、什么不要、C、1
77、一個完整的C源程序是________。 A、要由一個主函數(shù)(或)一個以上的非主函數(shù)構(gòu)成 B、由一個且僅由一個主函數(shù)和零個以上(含零)的非主函數(shù)構(gòu)成 C、要由一個主函數(shù)和一個以上的非主函數(shù)構(gòu)成 D、由一個且只有一個主函數(shù)或多個非主函數(shù)構(gòu)成、B、1
78、已知整型變量a=13和b=6,則a&b的值是________,a^b的值是________ A、4 13 B、4 11 C、1 11 D、4 13、B、1
79、以下for語句構(gòu)成的循環(huán)執(zhí)行了( )次。 # include #define N i #define M N+1 # define NUM (M+1)*M/2 main( ) {int i,n=0; for (i=1;i<=num;i++) {n++; printf("%d",n); } } (A) 5 (B) 6 (C) 8 (D) 9、C、1
80、以下程序的輸出結(jié)果是____ # include main( ) { printf("%d\n",NULL); } (A) 不確定的 (B) 0 (C) -1 (D) 1、B、1
81、在調(diào)用函數(shù)時,以下描述中正確的是________。 A、調(diào)用函數(shù)時,實參可以是表達式 B、調(diào)用函數(shù)時,將為形參分配內(nèi)存單元 C、調(diào)用函數(shù)時,實參與形參的原型必須一致 D、調(diào)用函數(shù)時,實參與形參可以用內(nèi)存單元、D、1
82、有以下程序段 int k=0 while(k=1)k++; while 循環(huán)執(zhí)行的次數(shù)是 A) 無限次 B) 有語法錯,不能執(zhí)行 C) 一次也不執(zhí)行 D) 執(zhí)行1次、A、1
83、有以下函數(shù) char fun(char *p) { return p; } 該函數(shù)的返回值是 A) 無確切的值 B) 形參p中存放的地址值 B) 一個臨時存儲單元的地址 D) 形參p自身的地址值、B、1
84、語句printf("%d\n",12&012);的輸出結(jié)果是____ A) 12 B) 8 C) 6 D) 012、B、1
85、語句:printf("%d",(a=2)&&(b= -2);的輸出結(jié)果是____ A) 無輸出 B) 結(jié)果不確定 C) -1 D) 1、D、1
86、運算完下面的C語言程序段以后,a的值是______,b的值是______,c的值是________。 int x=10,y=9; int a,b,c; a=(--x==y++)?--x:++y; b=x++; c=y; A、6 9 13 B、8 7 11 C、8 9 10 D、8 7 10、C、1
87、在C語言程序中,注釋部分從哪開始,到哪結(jié)束? A、從(到)結(jié)束 B、從REM開始無結(jié)束志標志 C、無起始標志 D、從/*開始,*/結(jié)束、D、1
88、在C語言提供的合法的關(guān)鍵字是 A) swicth B) cher C) Case D) default、D、1
89、在C語言中,不正確的int類型的常數(shù)是____ A) 32768 B) 0 C) 037 D) 0xAF、A、1
90、在C語言程序中,當while語句構(gòu)成的循環(huán)中的條件為______時,結(jié)束循環(huán)。 A、0 B、1 C、true D、非0、A、1
91、在C語言中,函數(shù)的隱含存儲類別是 A) auto B) static C) extern D) 無存儲類別、C、1
92、在C語言中,合法的長整型常數(shù)是 A) OL B) 4962710 C) 324562& D) 216D、A、1
93、在C語言中,合法的字符常量是 A) '\084' B) '\x43' C) 'ab' D) "\0"、B、1
94、在C語言中,若對函數(shù)類型未加明顯式說明,則函數(shù)的隱含類型是____類型 A) void B) double C) int D) char、C、1
95、在C語言中,形參的缺省存儲類是 A) auto B) register C) static D) extern、A、1
96、在C語言中,要求運算數(shù)必須是整型的運算符是 A) % B) / C) < D) !、A、1
97、在宏定義 #define PI 3、14159中,用宏名PI代替一個 A) 單精度數(shù) B) 雙精度數(shù) C) 常量 D) 字符串、D、1
98、在C語言程序中,可以用做變量名的是____ A) 1e5 B) a1 C) int D) *p、B、1
99、在以下一組運算符中,優(yōu)先級最高的運算符是 A)<= B)= C)% D)&&、C、1
100、字符(char)型數(shù)據(jù)在微機內(nèi)存中的存儲形式是____ A) 反碼 B) 補碼 C) EBCDIC碼 D) ASCII碼、D、1
101、執(zhí)行語句: for (i=1;i++、C、2
102、指出下面正確的輸入語句是( ) A:scanf("a=b=%d",&a,&b) B:scanf("a=%d,b=%f",&a,&b) C:scanf("%3c",c) D:scanf("%5、2f",&a)、B、2
103、執(zhí)行下面的程序后,a的值為 main() { int a,b; for (a=1,b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) {b+=3; continue; } b-=5; } } A) 7 B) 8 C) 9 D) 10、B、2
104、在執(zhí)行以下程序時,如果從鍵盤上輸入:ABCdef〈回車〉,則輸出為 A)ABCdef B)abcdef C)abc D)DEF # include main() { chsr ch; while((ch=getchar())!='\n') { if(ch>='A'&& ch<='Z')ch=ch+32; 、C、2
105、整型變量x和y的值相等、且為非0值,則以下選項中,結(jié)果為零的表達式是 A) x || y B) x | y C) x & y D) x ^ y、D、2
106、在以下定義中,正確的說明語句為____ A) int a['a'] B)int a[3,4] C)int a[ ][ ] D)int *a[10]、D、2
107、執(zhí)行下列程序時輸入:123456789,輸出結(jié)果是 A) 123,456,789 B) 1,456,789 C) 1,23,456,789 D) 1,23,456 main() { char s[100]; int c, i; scanf("%c",&c); scanf("%d",&i); scanf("%s",s); printf("%c,%d,%s \n",c,i,s); }、D、2
108、執(zhí)行下面程序片段的結(jié)果是 int x=23; do { printf("%2d",x--);} while(!x); A) 打印出321 B) 打印出23 C) 不打印任何內(nèi)容 D) 陷入死循環(huán)、B、2
109、在說明語句:int *f();中,標識符f代表的是____ A) 一個用于指向整型數(shù)據(jù)的指針變量 B) 一個用于指向一維數(shù)組的行指針 C) 一個用于指向函數(shù)的指針變量 D) 一個返回值為指針型的函數(shù)名、D、2
110、在下列選項中,不正確的賦值語句是____ A) ++t; B) n1=(n2=(n3=0)); C) k=i==j; D) a=b+c=1;、D、2
111、在C語言中,若需一變量只在本文件中所有函數(shù)使用,則該變量的存儲類別是________ A、extern B、register C、auto D、static、D、2
112、在C語言程序中,當do-while語句構(gòu)成的循環(huán)中的條件為______時,結(jié)束循環(huán)。 A、0 B、1 C、true D、非0、A、2
113、在16位C編譯系統(tǒng)上,若定義long a; ,則能給a賦40000的正確語句是 A) a=20000+20000; B) a=4000*10; C) a=30000+10000; D) a=4000L*10L;、D、2
114、閱讀以下程序: main() { int x; scanf("%d",&x); if(x--、B、2
115、運行以下程序后,如果從鍵盤上輸入china#,則輸出結(jié)果為 A、2,0 B、5,0 C、5,5 D、2,5 #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,%d\n",v1,v2);、C、2
116、請讀程序: main() { int a=1,b=2,c=3; ++a; c+=++b; { int b=4,c; c=b*3; a+=c; printf("first:%d,%d,%d\n",a,b,c); a+=c; printf("Second:%d,%d,%d\n",a,b,c); } printf("third:%d,%d,%d\n",a,b,c); } 該程序的輸出是________。 A、first: 12,4,12 Second: 26,4,12 third: 4,3,6B、first: 14,4,12 Second: 26,12,12 third: 26,3,4C、first: 14,4,12 Second: 26,4,12 third: 26,3,6 D、first: 14,4,12 Second: 26,6,12 third: 26,4,6、C、2
117、閱讀程序: #include main() { int a[10]={1,2,3,4,5,6,7,8,9,0},*p; p=a; printf("%x\n",p); printf("%x\n",p+9); } 該程序有兩個printf 語句, 如果第一個printf 語句輸出的是194, 則第二個printf語句的輸出結(jié)果是 A) 203 B) 204 C) 1a4 D) 1a6、D、2
118、與 y=(x>0?1:x0) y=1; B) if(x) else if(x0)y=1; else y=0; else if(x=0) if(x>0)y=1; if(x>0)y=1; else if(x==0)y=0; else y=-1; else y=-1;、A、2
119、以下合法的賦值語句是 A) x=y=100 B) d--; C) x+y; D) c=int(a+b);、B、2
120、以下函數(shù)返回a所指數(shù)組中最小的值所在的下標值 fun(int *a, int n) { int i,j=0,p; p=j; for(i=j;i、D、2
121、以下函數(shù)值的類型是 fun ( float x ) { float y; y= 3*x-4; return y; } A) int B) 不確定 C) void D) float、A、2
122、以下說法中正確的是 A) C語言程序總是從第一個的函數(shù)開始執(zhí)行 B) 在C語言程序中,要調(diào)用的函數(shù)必須在main()函數(shù)中定義 C) C語言程序總是從main()函數(shù)開始執(zhí)行 D) C語言程序中的main()函數(shù)必須放在程序的開始部分、C、2
123、以下所列的各函數(shù)首部中,正確的是 A) void play(var a:integer,var b:integer) B) void play(int a,b) C) void play(int a,int b) D) sub play(a as integer,b as integer)、C、2
124、以下敘述正確的是 A)輸入項可以是一個實型常量,如: scanf("%f"、3、5); B)只有格式控制,沒有輸入項,也能正確輸入數(shù)據(jù)到內(nèi)存,例如: scanf("a=%d,b=%d); C)當輸入一個實型數(shù)據(jù)時,格式控制部分可以規(guī)定小數(shù)點后的位數(shù),例如: scanf("%4、2f",&f); D)當輸入數(shù)據(jù)時,必須指明變量地址,例如: scanf("%f、&f); 、C、2
125、以下敘述正確的是 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后的表達式為非零時結(jié)束循環(huán)。 D) 用do-while語句構(gòu)成的循環(huán),在while后的表達式為零時結(jié)束循環(huán)。、D、2
126、以下敘述中不正確的是 A) 在C中,函數(shù)中的自動變量可以賦初值,每調(diào)用一次,賦一次初值。 B) 在C中,在調(diào)用函數(shù)時,實在參數(shù)和對應(yīng)形參在類型上只需賦值兼容。 C) 在C中,外部變量的隱含類別是自動存儲類別。 D) 在C中,函數(shù)形參可以說明為register變量。、C、2
127、以下敘述中不正確的是____ A) 在不同的函數(shù)中可以使用相同名字的變量 B) 函數(shù)中的形式參數(shù)是局部變量 C) 在一個函數(shù)內(nèi)定義的變量只在本函數(shù)范圍內(nèi)有效 D) 在一個函數(shù)內(nèi)的復(fù)合語句中定義的變量在本函數(shù)范圍內(nèi)有效、D、2
128、以下程序運行后,輸出結(jié)果是 A)1000 B)10010 C)00110 D)10100 main () { int y=18,i=0,j,a[8]; do { a[i]=y%2;i++; y=y/2; } while(y>=1); for(j=i-1>0;j--)printf(%d",a[j]); printf("h\n"); }、B、2
129、以下程序運行后,如果從鍵盤上輸入: book book 則輸出結(jié)果是 A)*8 B)#9 C)#6 D)*9 #include main() {char a1[80],a2[80],*s1=a1,*s2=a2; gets(s1); gets(s2); if(!strcmp(s1,s2)) printf(“*”); else printf(“#”); printf(“%d\n”,strlen(strcat(s1,s2))) }、B、2
130、以下程序運行后,輸出結(jié)果是 A)6385 B)22 C)33 D)693825 main() { char ch[2][5]={"693","825"},*p[2]; int i,j,s=0; for (i=0;i='0' && p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); }、A、2
131、以下程序運行后,輸出結(jié)果是 A)84 B)99 C)95 D)44 int d=1; fun (int p) { int d=5; d+=p++; printf("%d",d); } main() { int a=3; fun(a); d+=a++; printf("%d\n",d); }、A、2
132、以下程序執(zhí)行后a的值是 A)4 B)1 C)0 D)運行時出錯,a無定值 main() { int a,k=4,m=6,*p1=&k,*p2=&m; a=p1==&m; printf("%d\n",a); } 、C、2
133、以下程序執(zhí)行后sum的值是 A)15 B)14 C) 不確定 D)0 min() { int i , sum; for(i=1;i、C、2
134、以下程序中,while循環(huán)的循環(huán)次數(shù)是 main() { int i=0; while(i、D、2
135、以下定義語句中,錯誤的是 A) int a[]={1,2}; B) char *a[3]; C) char s[10]="test"; D) int n=5,a[n];、D、2
136、以下對C語言函數(shù)的有關(guān)描述中,正確的是 A) 在C中,調(diào)用函數(shù)時,只能把實參的值傳送給形參,形參的值不能傳送給實參 B) C函數(shù)既可以嵌套定義又可以遞歸調(diào)用 C) 函數(shù)必須有返回值,否則不能使用函數(shù) D) C程序中有調(diào)用關(guān)系的所有函數(shù)必須放在同一個源程序文件中、A、2
137、以下對枚舉類型名的定義中正確的是____ A)enum a={one,two,three}; B)enum a {one=9,two=-1,three}; C)enum a={"one","two","three"}; D)enum a {"one","two","three"};、B、2
138、以下各選項企圖說明一種新的類型名,其中正確的是 A) typedef v1 int; B) typedef v2=int; C) typedefv1 int v3; D) typedef v4: int;、C、2
139、以下選項中,不能正確賦值的是 A) char s1[10];s1="Ctest"; B) char s2[]={'C', 't', 'e', 's', 't'}; C) char s3[20]="Ctest"; D) char *s4="Ctest\n"、A、2
140、以下選項中,非法的字符常量是 A) '\t' B) '\17' C)"n" D) '\xaa'、C、2
141、以下選項中不屬于C語言的類型的是 A) signed short imt B) unsigned long int C) unsigned int D) long short、D、2
142、以下選項中合法的字符常量是 A)"B" B) '\010' C) 68 D) D、B、2
143、以下循環(huán)體的執(zhí)行次數(shù)是 A) 3 B) 2 C) 1 D) 0 main() { int i,j; for(i=0,j=1; i<=j+1; i+=2, j--)printf("%d \n",i); }、C、2
144、以下有4組用戶標識符,其中合法的一組是 A) for B) 4d C) f2_G3 D) if、C、2
145、用十進制數(shù)表示表達式:12/012的運算結(jié)果是 A)1 B)0 C)14 D)12、A、2
146、有如下程序 main0 { int x=23; do { printf("%d",x--);} while(!x); } 該程序的執(zhí)行結(jié)果是 A) 321 B) 23 C) 不輸出任何內(nèi)容 D) 陷入死循環(huán)、B、2
147、有如下程序 int runc(int a,int b) { return(a+b);} main0 { int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%\d\n",r); } 該程序的輸出的結(jié)果是A) 12 B) 13 C) 14 D) 15、D、2
148、有如下程序 long fib(int n) { if(n>2) return(fib(n-1)+fib(n-2)); else return(2); } main0 { printf("%d\n",fib(3)); 該程序的輸出結(jié)果是 A) 2 B) 4 C) 6 D) 8、B、2
149、有如下程序 main() { char s[]="ABCD", *p; for(p=s+1; p、D、2
150、有如下程序 main0 { int a[3][3]={{1,2},{3,4},{5,6}},i,j,s=0; for(i=1;i、A、2
151、有如下程序 main0 { int a=2,b=-1,c=2; if(a、C、2
152、有如下程序 main0 { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 該程序的執(zhí)行結(jié)果是 A) 6 B) 3 C) 死循環(huán) D) 0、C、2
153、有如下程序 main0 { int n[5]={0,0,0},i,k=2; for(i=0;i、D、2
154、有如下程序 main0 { int n=9; while(n>6) {n--;printf("%d",n);} } 該程序段的輸出結(jié)果是 A) 987 B) 876 C) 8765 D) 9876、B、2
155、有如下程序 main0 { int x=1,a=0,b=0; switch(x){ case 0: b++; case 1: a++ case 2: a++;b++ } printf("a=%d,b=%d\n",a,b); } 該程序的輸出結(jié)果是 A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2、A、2
156、有如下程序 main0 { int y=3,x=3,z=1; printf("%d %d\n",(++x,y++),z+2); } 運行該程序的輸出結(jié)果是 A) 3 4 B) 4 2 C) 4 3 D) 3 3、D、2
157、有如下程序段 int *p,a=10,b=1 p=&a; a=*p+b; 執(zhí)行該程序段后,a的值為 A) 12 B) 11 C) 10 D) 編譯出錯、B、2
158、有如下說明 int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 則數(shù)值為9的表達式是 A) *p+9 B) *(p+8) C) *p+=9 D) p+8、B、2
159、請讀程序: # include void main( ) {char x=112,y=211; printf("\n%d",x<>1);} 則上面程序的輸出結(jié)果是____ A) -32 B) 0 C) -32768 D) -22、A、2
160、以下程序的輸出結(jié)果是 main() { int i, a[10]; for(i=9;i>=0;i--) a[i]=10-i; printf("%d%d%d",a[2],a[5],a[8]); } A) 258 B) 741 C) 852 D) 369、C、2
161、以下程序的輸出結(jié)果是 main() { int i,k,a[10],p[3]: k=5; for (i=0;i、B、2
162、以下程序的輸出結(jié)果是 main() { int num= 0; while(num<=2) { num++; printf("%d\n",num); } A) 1 B) 1 C)1 D) l 2 2 2 3 3 4、B、2
163、以下程序的輸出結(jié)果是 fut (int**s,int p[2][3]) { **s=p[1][1]; } main( ) { int a[2][3]={1,3,5,7,9,11},*p; p=(int*)malloc(sizeof(int)); fut(&p,a); primtf("%d\n",*p); } A) 1 B) 7 C) 9 D) 11、C、2
164、以下程序的輸出結(jié)果是 int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d \n", a,b); } A) 100200 B) 57 C) 200100 D) 75、B、2
165、以下程序的輸出結(jié)果是 main( ) { int a=-1,b=4,k; k=(+ +a〈0)&&!(b - -〈=0); printf("%d%d%d\n",k,ab); } A) 104 B) 103 C) 003 D) 004、D、2
166、以下程序的輸出結(jié)果是 main() { char c='z'; printf("%c",c-25); } A) a B) Z C) z-25 D) y、A、2
167、以下程序的輸出結(jié)果是 main() { char st[20]= "hello\0\t\\\"; printf(%d %d \n",strlen(st),sizeof(st)); } A) 9 9 B) 5 20 C) 13 20 D) 20 20、B、2
168、以下程序的輸出結(jié)果是 main() { int a[4][4]={{1,3,5},{2,4,6},{3,5,7}}; printf("%d%d%d%d\n",a[0][3],a[1][2],a[2][1],a[3][0]; } A) 0650 B) 1470 C) 5430 D) 輸出值不定、A、2
169、以下程序段的輸出結(jié)果是 char s[]="\\141\141abc\t"; printf ("%d\n",strlen(s)); A) 9 B) 12 C) 13 D) 14、A、2
170、以下程序段的輸出結(jié)果是 int a=1234; printf("%2d\n",a); A) 12 B) 34 C) 1234 D) 提示出錯、無結(jié)果、C、2
171、以下程序段的輸出結(jié)果是 int x=3; do { printf("%3d",x-=2);} while(!(--x)); A) 1 B) 3 0 C) 1-2 D) 死循環(huán)、C、2
172、以下程序段的執(zhí)行結(jié)果是 A) a=12 y=12 B) a=12 y=12 a=14 y=16 a=16 y=28 a=16 y=20 a=18 y=24 C) a=12 y=12 D) a=12 y=12 a=14 y=26 a=14 y=44 int a, y; a=10; y=0; do { a+=2; y+=a; printf("a=%d y=%d\n",a,y); if(y>20) break; { while(a=14); 、、 、(39) 若有以下調(diào)用語句,則不正確的fun函數(shù)的首部是 A) void fun(int m, int x[]) B) void fun(int s, int h[41]) C) void fun(int p, int *s) D) void fun(int n, int a) main() { … int a[50],n; … fun(n, &a[9]); … }、B、2
173、以下程序段給數(shù)組所有的元素輸入數(shù)據(jù),請選擇正確答案填入。 #include main() { int a[10],i=0; while(i、A、2
174、以下程序輸出結(jié)果是 A、7 B、6 C、5 D、4 main ( ) { int m=5; if (m++>5 print ("%d\n",m); else printf ("%d\n",m--); }、B、2
175、以下程序運行后,如果從鍵盤上輸入ABCDE,則輸出結(jié)果為 A、8 B、7 C、6 D、5 fuch (char str [ ] { int num =0; while (*(str +num )!='\0')num ++; return(num ); } main() { char str [10],*p=str ; gets(p); printf("%d\n",func(p)); }、D、2
176、以下程序運行后,輸出結(jié)果是 A 49、5 B 9、5 C22、0 D45、0 #include #define PT 5、5 #difine s(x) pt*x*x main() { int a=1,b=2; print ("%4、lf/n",S(a+b)); } 、B、2
177、以下程序運行后,輸出結(jié)果是 A 8,15 B 8,16 C 8,17 D 8,8 func ( int m=0 ,i=2; i+=m+1; m=i+a+b ; return(m); } main() { int k=4,m=1,p; p=func (k,m);printf("%d,",p); p=func (k,m);printf("%d\n",p); }、C、2
178、以下程序運行后,輸出結(jié)果是 A、ABCDEFG B、CDG C、abcdefgh D、abCDefGh main() { siatic char a[]="ABCDEFGH",b[]="abCDefGh"; char *p1,*p2; int k; p1=a; p2=b; for(k=0;k<=7;k++) if (*(p1+k)==*(p2+k)) printf("%",*(p1+k)); printf("\n"); }、B、2
179、以下程序運行后,輸出結(jié)果是 A、cde B、字符c的ASCLL碼值 C、字符C的地址 D、出錯 main( ) { char *s="abcde"; s+=2; print("%ld \n",s); }、C、2
180、以下程序的輸出結(jié)果是 main() { int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<=i;j++) t=t+b[i][b[j][j]]; printf("%d\n",t); } A) 3 B) 4 C) 1 D) 9、B、2
181、以下程序的輸出結(jié)果是 #define M(x,y,z) x*y+z main() { int a=1,b=2, c=3; printf("%d\n", M(a+b,b+c, c+a)); } A) 19 B) 17 C) 15 D) 12、D、2
182、以下程序的輸出結(jié)果是 #include"ctype、h" space (char *str) { int i,t;char ts[81]; for(i=0,t=0;str[i]!='\0';i+=2) if(! isspace(*str+i)&&(*(str+i)!='a')) ts[t++]=toupper(str[i]); ts[t]='\0'; strcpy(str,ts); } mian( ) { char s[81]={"a b c d e f g"}; space(s); puts(s); } A) abcdeg B) bcde C) ABCDE D) BCDE、D、2
183、以下程序的輸出結(jié)果是 A) #*#*# B) ##### C) ***** D) *#*#* main( ) { int i; for(i=1;i、A、2
184、以下程序的輸出結(jié)果是 A) 0 B) 1 C) 2 D) 3 main() { int x=0、5; char z='a'; printf("%d\n", (x&1)&&(z<'z') ); }、B、2
185、以下程序的輸出結(jié)果是 A) -1 1 B) 0 1 C) 1 0 D) 0 0 main( ) { int a= -1,b=1,k; if((++a<0)&& ! (b-- <=0)) printf("%d %d\n",a,b); else printf("%d %d\n",b,a); }、C、2
186、以下程序的輸出結(jié)果是 A) 1 B) 2 C) 3 D) 4 long fun( int n) { long s; if(n= =1 || n= =2) s=2; else s=n-fun(n-1); return s; } main() { printf("%ld\n", fun(3)); }、A、2
187、以下程序的輸出結(jié)果是 A) 1 B) 4 C) 7 D) 5 #include int a[3][3]={1,2,3,4,5,6,7,8,9,},*p; main( ) { p=(int*)malloc(sizeof(int)); f(p,a); printf("%d \n",*p); } f(int *s, int p[][3]) { *s=p[1][1]; }、D、2
188、以下程序的輸出結(jié)果是 A) 10 1 9 2 B) 9 8 7 6 C) 10 9 9 0 D) 10 10 9 1 main( ) { int x=10,y=10,i; for(i=0;x>8;y=++i) printf("%d,%d ",x--,y); }、D、2
189、以下程序的輸出結(jié)果是 A) 123456780 B) 123 456 780 C) 12345678 D) 147 main( ) { char ch[3][4]={"123","456","78"}, *p[3]; int i; for(i=0;i、C、2
190、以下程序的輸出結(jié)果是 A) 16 B) 2 C) 9 D) 1 #define SQR(X) X*X main() { int a=16, k=2, m=1; a/=SQR(k+m)/SQR(k+m); printf("d\n",a); }、B、2
191、以下程序的輸出結(jié)果是 A) 17,021,0x11 B) 17,17,17 B) 17,0x11,021 D) 17,21,11 main( ) { int k=17; printf("%d,%o,%x \n",k,k,k); }、D、2
192、以下程序的輸出結(jié)果是 A) 18 B) 19 C) 20 D)21 main() { int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<=i;j++)s+=a[i][j]; printf("%dn",s); }、A、2
193、以下程序的輸出結(jié)果是 A) 2 0 B) 3 1 C) 3 2 1 D) 2 1 0 main( ) { int n=4; while(n--)printf("%d ",--n); }、A、2
194、以下程序的輸出結(jié)果是 A) 20 B) 21 C) 22 D)23 main() { int i, k, a[10], p[3]; k=5; for (i=0;i、B、2
195、以下程序的輸出結(jié)果是 A) 6 9 9 B) 6 6 9 C) 6 15 15 D) 6 6 15 int d=1; fun(int p) { static int d=5; d+=p; printf("%d ",d); return(d); } main( ) { int a=3; printf("%d \n",fun(a+fun(d))); }、C、2
196、以下程序的輸出結(jié)果是 A) 9 B) 6 C) 36 D) 18 #define f(x) x*x main( ) { int a=6,b=2,c; c=f(a) / f(b); printf("%d \n",c); }、C、2
197、以下程序的輸出結(jié)果是 A) ABCD B) ABCD C) EFG D) EFGH FGH EFG JK IJKL KL IJ O M main() { char w[][10]={ "ABCD","EFGH","IJKL","MNOP"},k; for(k=1;k、D、2
198、以下程序的輸出結(jié)果是 A) 編譯不通過,無輸出 B) aceg C) acegi D) abcdefghi main( ) { int i; for(i='A';i<'i';i++,i++) printf("%c",i+32); printf(" \n"); }、B、2
199、以下程序的輸出結(jié)果是 A) 4 2 1 1 B) 0 0 0 8 C) 4 6 7 8 D) 8 8 8 8 main( ) { char *s="12134211"; int v[4]={0,0,0,0},k,i; for(k=0;s[k];k++) { switch(s[k]) { case '1':i=0; case '2':i=1; case '3':i=2; case '4':i=3; } v[i]++; } for(k=0;k、B、2
200、以下程序的輸出結(jié)果是 A)6 B) 6789 C) '6' D) 789 main( ) { char a[10]={'1','2','3','4','5','6','7','8','9',0},*p; int i; i=8; p=a+i; printf("%s\n",p-3); }、B、2
201、以下程序的輸出的結(jié)果是 int x=3; main() { int i; for (i=1;i、C、2
202、以下程序的輸出結(jié)果是 #include main() { int i=0,a=0; while(i、B、2
203、以下程序的輸出結(jié)果是 int f() { static int i=0; int s=1; s+=i; i++; return s; } main() { int i,a=0; for(i=0;i、D、2
204、請讀程序: static int a[]={1,3,5,7,9}; int y,x,*p; y=1; p=&a[1]; for(x=0;x、D、2
205、下面函數(shù)的功能是 A) 求字符串的長度 B) 比較兩個字符串的大小 C) 將字符串x復(fù)制到字符串y D) 將字符串x連接到字符串y后面 int funl(char * x) { char * y=x; while(*y++); return(y-x-1);}、A、2
206、下面函數(shù)的功能是 sss(s, t) char *s, *t; { while((*s)&&(*t)&&(*t++== *s++)); return(*s-*t); } A) 求字符串的長度 B) 比較兩個字符串的大小 C) 將字符串s復(fù)制到字符串t中 D) 將字符串s接續(xù)到字符串t中、B、2
207、下面能正確進行字符串賦值操作的語句是 A char s[5]={"ABCDE"}; B char s[5] ={'a','b' ,'c','d',''e'}; C char *s;s="ABCDEF"' D char *s; scasnf("%s",s);、C、2
208、下述對C語言字符數(shù)組的描術(shù)中錯誤的是 A) 字符數(shù)組可以存放字符串 B) 字符數(shù)組中的字符串可以整體輸入、輸出 C) 可以在賦值語句中通過賦值運算符"="對字符數(shù)組整體賦值 D) 不可以用關(guān)系運算符對字符數(shù)組中的字符串進行比較、C、2
209、下面的程序 A) 輸出的是1 B) 輸出的是1和-2 C) 輸出的是3和0 D) 是死循環(huán) main() { int x=3; do { printf("%d\n",X-=2); }while(!(--x));}、B、2
210、下面的程序執(zhí)行后,文件testt、t中的內(nèi)容是 #include void fun(char *fname、,char *st) { FILE *myf; int i; myf=fopen(fname,"w" ); for(i=0;i、A、2
211、下面各語句行中,能正是行賦字符串操作的語句行是 A)char st[4][5]={“ABCDE”}; B)char s[5]={'A','B','C','D','E'}; C)char *s;s=“ABCDE”; D)char *s;scanf(“%S”,S);、C、2
212、下面程序的輸出是____ int w=3; main() { int w=10; printf("%d\n",fun(5)*w); } fun(int k) { if(k==0) return w; return(fun(k-1)*k); } A)360 B)3600 C)1080 D)1200、B、2
213、下面程序的輸出是____ main() { char *a="12134211"; int v1=0,v2=0,v3=0,v4=0,k; for(k=0;s[k];k++) switch(s[k]) { default:v4++; case '1': v1++; case '3': v3++; case '2': v2++; } printf("v1=%d,v2=%d,v3=%d,v4=%d\n",v1,v2,v3,v4); } A) v1=4,v2=2,v3=1,v4=1 B) v1=4,v2=9,v3=3,v4=1 C) v1=5,v2=8,v3=6,v4=1 D) v1=8,v2=8,v3=8,v4=8、C、2
214、下面程序的輸出是 main() { int x=3,y=6,a=0; while(x++!=(y+=o1)) { a+o=1; if(y #include main() { char ss[10]="12345"; strcat(ss,"6789"); gets(ss);printf("%s\n",ss); } A) ABC B) ABC9 C) 123456ABC D) ABC456789、D、2
215、下面程序的輸出是 A) 0 1 2 3 B) 0 4 0 10 C) 0 4 5 15 D) 1 4 5 15 main() { enum team {my,your=4,his,her=his+10}; printf("%d %d %d %d\n",my,your,his,her);}、C、2
216、下面程序的輸出是 A) 0 B) 1 C) 3 D) 不確定的值 main() { int x=10,y=3; printf("%d\n",y=x/y);}、C、2
217、下面程序的輸出是 A) -1 B) 0 C) 1 D) 不確定的值 main() { int x=100, a=10, b=20, ok1=5, ok2=0; if(a、A、2
218、下面程序的輸出是 A) 1 B) 2 C) 7 D) 10 int m=13; int fun2(int x, int y) { int m=3; return(x*y-m); } main() { int a=7, b=5; printf("%d\n",fun2(a,b)/m);}、B、2
219、下面程序的輸出是 A) 100 B) 160 C) 120 D) 64 main() { char x=040; printf("%d\n",x=x<<1);}、D、2
220、下面程序的輸出是 A) 17 B) 18 C) 23 D) 24 main() { int x=023; printf(%d\n",--x);}、B、2
221、下面程序的輸出是 A) 23 B) 26 C) 33 D) 36 int aa[3][3]={{2},{4},{6}}; main() { int i, * p=&aa[0][0]; for(i=0; i、A、2
222、下面程序的輸出是 A) 3 B) 4 C) 1 D) 2 main() { int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; printf("%d\n",*(p+2));}、A、2
223、下面程序的輸出是 A) 3 B) 4 C) 6 D) 9 fun3(int x) static int a=3; a+=x; return(a);} main() { int k=2, m=1, n; n=fun3(k); n=fun3(m); printf("%d\n",n);}、C、2
224、下面程序的輸出是 A) 60 B) 68 C) 99 D) 108 main() { int a[3][4]={ 1,3,5,7,9,11,13,15,17,19,21,23}; int ( *p)[4]=a,i,j,k=0; for(i=0; i、A、2
225、下面程序的輸出是 A) 741 B) 852 C) 963 D) 875421 main() { int y=9; for( ; y>0; y--) { if(y%3==0) { printf("%d", --y);continue;} }、 }、B、2
226、下面程序的輸出是 A) ABCD B) A C) D D) ABCD BCD B C ABC CD C B AB D D A A char s[]="ABCD"; main() { char *p; for(p=s; p、A、2
238、請讀程序: int x=10; int y=x++; printf("%d,%d",(x++,y),y++); 則上面程序的輸出結(jié)果是____ A:11,10 B:11,11 C:10,10 D:10,11、A、2
239、下列程序的運行結(jié)果是 A) a=%2,b=%5 B) a=2,b=5 C) a=d, b=d D) a=%d,b=%d #include main() { int a=2,c=5; printf("a=%d,b=%d\n",a,c); }、B、2
240、下列程序的輸出結(jié)果是 main( ) { char ch[2][5]={"6934,"8254"},*p[2]; int i,j,s=0; for(i=0;i'\0'&&p[i][j]<='9';j+=2) s=10*s+p[i][j]-'0'; printf("%d\n",s); A) 6385 B) 69825 C) 63825 D) 693825、A、2
241、請讀程序: main( ) {printf("%d",null);} 則上面程序的輸出結(jié)果是____ A:0 B:變量無定義 C:-1 D:1、B、2
242、設(shè)有以下宏定義: #define N 3 #define Y(n) ( (N+1)*n) 則執(zhí)行語句:z=2 * (N+Y(5+1));后,z的值為 A) 出錯 B) 42 C) 48 D) 54、C、2
243、設(shè)有以下函數(shù): f ( int a) { int b=0; static int c = 3; b++; c++; return(a+b+c); } 如果在下面的程序中調(diào)用該函數(shù),則輸出結(jié)果是 main() { int a = 2, i; for(i=0;i、A、2
244、設(shè)正x、y均為整型變量,且x=10 y=3,則以下語句的輸出結(jié)果是 printf("%d,%d\n",x--,--y); A) 10,3 B) 9、3 C) 9、2 D)10、2、D、2
245、設(shè)有如下一段程序: int *var,ab; ab=100 var=&ab; ab=*var+10; 執(zhí)行上面的程序后,ab的值為 A) 120 B) 110 C) 100 D) 90、B、2
246、設(shè)有如下的函數(shù) ggg(x) float x; { printf("\n%d",x*x);} 則函數(shù)的類型 A) 與參數(shù)x的類型相同 B) 是void C) 是int D) 無法確定、C、2
247、設(shè)有 static char str[ ]="Beijing"; 則執(zhí)行 printf("%d\n", strlen(strcpy(str,"China"))); 后的輸出結(jié)果為 A) 5 B) 7 C) 12 D) 14、A、2
248、設(shè) int x=1, y=1; 表達式(!x||y--)的值是 A) 0 B) 1 C) 2 D) -1、B、2
249、若有以下說明: int a[12]={1,2,3,4,5,6,7,8,9,10,11,12}; char c='a',d,g; 則數(shù)值為4的表達式是 A)a[g-c] B)a[4] C)a['d'-'c'] D)a['d'-c]、D、2
250、若有以下說明: int w[3][4]={{0,1},{2,4},{5,8}}; int(*p)[4]=w; 則數(shù)值為4的表達式是 A) *w[1]+1 B) p++,*(p+1) C) w[2][2] D) p[1][1]、D、2
251、若有以下說明和語句,請選出哪個是對c數(shù)組元素的正確引用 int c[4][5], (*cp)[5]; cp=c; A) cp+1 B) *(cp+3) C) *(cp+1)+3 D) *(*cp+2)、D、2
252、若有以下定義和語句: char *s1="12345",*s2="1234"; printf("%d\n",strlen(strcpy(s1,s2))); 則輸出結(jié)果是 A) 4 B)5 C)9 D)10、A、2
253、若有以下定義和語句: int u=010,v=0x10,w=10; printf("%d,%d,%d\n,u,v,w); 則輸出結(jié)果是: A) 8,16,10 B) 10,10,10 C) 8,8,10 D) 8,10,10、A、2
254、若有以下定義: char s[20]="programming",*ps=s; 則不能代表字符o的表達式是 A) ps+2 B)s[2] C) ps[2] D)ps+=2,*ps、A、2
255、若有以下的說明和語句: main() {int t[3][2], *pt[3],k; for(k=0; k、C、2
256、若有以下定義: float x;int a,b; 則正確的switch 語句是 A)switch(x) B)switch(x) { case1、0:printf("*\n"); { case1,2:printf("*\n"); case2、0:printf("**\n"); case3:printf("**\n"); } } C)switch(a+b) D)switch (a+b); { case 1:printf("\n"); { case 1:printf(、"*\n"); case 1+2:printf("**\n"); case 2:printf("**\n"); } }、C、2
257、若有以下程序段,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; D)w=k; while(w--!=0)printf("*");w++; do{ w--;printf("*");}while(w!=0);、C、2
258、若有以下程序片段: char str[]="ab\n\012\\\""; printf(%dd",strlen(str)); 上面程序片段的輸出結(jié)果是 A)3 B)4 C)6 D)12、C、2
259、若有說明,double *p,a;則能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是 A)*p=&a; scanf("%lf",p); B)p=(double *)malloc(8);scanf("%f",p); C) p=&a;scanf("%lf",a); D)p=&a; scanf("%le",p);、D、2
260、若有說明和語句: int a=5; a++; 此處表達式a++的值是 A) 7 B) 6 C) 5 D) 4、C、2
261、若有下面的程序片段: int a[12]={0}, *p[3], **pp, i; for(i=0; i、C、2
262、若有下面的說明和定義,則sizeof(struct aa) 的值是 struct aa { int r1;double r2; float r3; union uu{char u1[5]; long u2[2]; } ua; } mya; A)30 B)29 C)24 D)22、D、2
263、若有定義: float w; int a, b; 則合法的switch語句是 A) switch(w) B) switch(a); { case 1、0: printf("*\n"); { case 1 printf("*\n"); case 2、0: printf("**\n"); case 2 printf("**\n"); } } C) switch(b) D) switch(a+b); { case 1: printf("*\n"); { case 1: printf("*\n"); default: printf("\n"); case 2: printf("**\n"); case 1+2: printf("**\n"); default: printf("\n"); } }、D、2
264、若已定義: int a[ ]={0,1,2,3,4,5,6,7,8,9], *p=a,i; 其中 0≤i≤9, 則對a數(shù)組元素不正確的引用上 A) a[p-a] B) *(&a[i]) C) p[i] D) a[10]、D、2
265、若變量a、i已正確定義,且i已正確賦值,合法的語句是 A) a==i B) ++i; C) a=a++=5; D) a=int(i);、B、2
266、若k是int型變量,且有下面的程序片段: k=-3 if(k<=0) printf("####") else printf("&&&&"); 輸出結(jié)果是: A)#### B)&&&& C) ####&&&& D)有語法錯誤,無輸出結(jié)果、D、2
267、若x是int型變量,且有下面的程序片段: for(x=3;x、D、2
268、若x是整型變量,pb是基類型為整型的指針變量,則正確的賦值表達式是____ A) pb=&x B) pb=x; C) *pb=&x; D) *pb=*x、A、2
269、若i,j已定義為int類型,則以下程序段中內(nèi)循環(huán)體的總的執(zhí)行次數(shù)是 for (i=5;i;i--) for(j=0;j、A、2
270、請選出以下語句的輸出結(jié)果 printf("%d\n",strlen("\t\"\065\xff\n")); A) 5 B) 14 C) 8 D) 輸出項不合法,無正常輸出、A、2
271、請選出正確的程序段 A) int *p; B) int *s, k; scanf("%d",p); *s=100; … … C) int *s, k; D) int *s, k; char *p, c; char *p, e; s=&k; s=&k; p=&c; p=&c; *p='a'; s=p; … *s=1; …、C、2
272、若a、 b、c1、c2、x、y、均是整型變量,正確的switch語句是 A) swich(a+b); B) switch(a*a+b*b) { case 1:y=a+b;break; {case 3: case 0:y=a-b; break; case 1:y=a+b;break; } case 3:y=b-a,break; } C) switch a D) switch(a-b) { case c1 :y=a-b; break {default:y=a*b;break case c2: x=a*d; break case 3:case 4:x=a+b;break default:x=a+b; case 10:case 11:y=a-b;break; } }、D、2
273、請選出以下程序的輸出結(jié)果 #include fun(s, n1, n2) int *s, n1, n2; { int i, j, t; i=n1; j=n2; while(i、C、2
274、請讀程序片段: #include main() { int a, b; for(a=1;b=1;a<=100;a++) { if(b>=20) break; if(b%3==1) {b+=3; continue; } b-=5; } printf("%d\n",a); } 程序的輸出結(jié)果是: A) 7 B) 8 C) 9 D) 10 、B、2
275、請選出以下程序的輸出結(jié)果 #include main() { int a[ ]={ 1,2,3,4 },i; int x=0; for(i=0; i、C、2
276、請選出以下程序的輸出結(jié)果 #include sub(x,y,z) int x, y, *z; { *z=y-x; } main() { int a, b, c; sub(10,5,&a); sub(7,a,&b); sub(a,b,&c); printf("%d,%d,%d\n", a,b,c); } A) 5,2,3 B) -5,-12,-7 C) -5,-12,-17 D) 5,-2,-7、B、2
277、請選出以下程序段的輸出結(jié)果 #include main() { char sl[10], s2[10], s3[10], s4[10]; scanf("%s%s",s1,s2); gets(s3); gets(s4); puts(s1); puts(s2); puts(s3); puts(s4); } 輸入數(shù)據(jù)如下:(此處代表回車符) aaaa bbbb cccc dddd A) aaaa B) aaaa bbbb bbbb cccc cccc dddd dddd C) aaaa D) aaaa bbbb bbbb cccc cccc dddd dddd eeee、A、2
278、請讀程序: #include main() { float x,y; scan("%f",&x); if(x<5、0)&&(x!=2、0)) y=1、0/(x+2、0); else if (x(表示回車),則上面程序的輸出結(jié)果是 A) 0、000000 B) 0、250000 C) 0、500000 D) 1、00000、C、2
279、請讀程序: #include void fun(float *pl, float *p2, float *s) { s=( float * )calloc( 1, sizeof(float)); *s=*p1+ *(p2++); } main() { float a[2]={1、1, 2、2}, b[2]={10、0, 20、0}, *s=a; fun(a, b, s) printf("%f\n",*s); } 上面程序的輸出結(jié)果是 A) 11、100000 B) 12、100000 C) 21、100000 D) 1、100000、D、2
280、請讀程序: #include #include void fun( char *w, int m) { char s, *p1, *p2; p1=w; p2=w+m-1; while (p1、C、2
281、請讀程序: #include #include main() {char *s1="AbCdEf", *s2="aB"; s1++; s2++; printf("%d\n",strcmp(s1,s2)); } 輸出結(jié)果是: A)正數(shù) B)負數(shù) C)零 D)不確定的值、A、2
282、兩次運行下面的程序,如果從鍵盤上分別輸入6和4,則輸出結(jié)果是 main( ) { int x; scanf("%d",&x); if(x + + >5) printf("%d",x); else printf("%d\n",x - -); } A) 7和5 B) 6和3 C) 7和4 D) 6和4、A、2
283、能正確表示a和b同時為正或同時為負的邏輯表達式是 A) (a>=0‖b>=0)&&(a<0‖b=0&&b>=0)&&(a<0&&b0)&&(a+b<=0) D) a*b>0、D、2
284、請讀程序: #include #include main() { float x,y,z; scan("%f%f",&x,&y); z=x/y; while(1) { if(fabs(z)>1、0) { x=y; y=z; z=x/y; } else break } printf("%f\n",y); } 若運行時從鍵盤上輸入3、6 2、4(表示回車),則輸出的結(jié)果是 A) 1、500000 B) 1、600000 C) 2、000000 D) 2、400000 、B、2
285、請讀程序: #include #include void fun( char *s) { char a[10]; strcpy( a, "STRING"); s=a; } main() { char *p; fun(p); x=f(a, 3); printf("%s\n",p); } 上面程序的輸出結(jié)果是(└┘表示空格) A) STRING└┘└┘└┘└┘ B) STRING C) STRING└┘└┘└┘ D) 不確定的 、D、2
286、請讀程序: #include char fun(char *c) {if( *c<='Z' && *c>='A') *c-='A'-'a'; return *c; } main() { char s[81], *p=s; gets(s); while(*p) {*p=fun(p); putchar(*p); p++;} putchar('\n'); } 若從鍵盤上輸入OPEN THE DOOR(表示回車),則上面程序的輸出結(jié)果是 A) oPEN tHE dOOR B) open the door C) OPEN THE DOOR D) Open The Door、B、2
287、請讀程序: #include int a[]={2,4,6,8}; main() { int i; int *p=a; for(i=0;i、A、2
288、請讀程序: #include main() { int mun=0; while(num<=2) { num++; printf("%d\n",num);} } 輸出結(jié)果是 A) 1 B) 1 C) 1 D) 1 2 2 2 3 3 4 、C、2
289、請讀程序: #include 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=%d\n",a,b); } 上面程序的輸出結(jié)果是 A) a=2, b=1 B) a=1, b=1 C) a=1, b=0 D) a=2, b=2 、A、2
290、請讀程序: #include void fun( int *s) {static int j=0; do s[j]+=s[j+1]; while(++j、C、2
291、假設(shè)在程序中a,b,c均被定義成整型,并且已賦大于1的值,則下列能正確表示代數(shù)式 的表達式是 A) 1/a*b*c B) 1/(a*b*c) C) 1/a/b/(float)c D) 1、0/a/b/c、D、2
292、假定x和y為 double型,則表達式x=2,y=x+3/2的值是 A) 3、500000 B) 3 C) 2、000000 D) 3、000000、D、2
293、假定w、x、y、z、m均為int型變量,有如下程序段: w=1; x=2; y=3; z=4; m=(w、D、2
294、合法的數(shù)組定義是 A)int a[]="string"; B)int a[5]={0,1,2,3,4,5}; C)char s="string"; D)char a[]={0,1,2,3,4,5};、D、2
295、假定a和b為int型變量,則執(zhí)行以下語句后b的值為 a=1; b=10; do { b-=a; a++; } while (b--、D、2
296、當執(zhí)行以下程序段時 A 循環(huán)體將執(zhí)行一次 B 循環(huán)體將執(zhí)行兩次 C 循環(huán)體將執(zhí)行無限次 D 系統(tǒng)將提示有語法錯誤 x=-1; do { x=x*x;} while(!x);、A、2
297、當執(zhí)行下面程序且輸入:ABC時,輸出的結(jié)果是____ #include #include main() { char ss[10]="12345"; gets(ss);printf("%s\n",ss); } A) ABC B) ABC9 C) 123456ABC D) ABC456789、A、2
298、當c的值不為0時,在下列選項中能正確將c的值賦給變量a、b的是____ A) c=b=a; B) (a=c) ‖(b=c) ; C) (a=c) &&(b=c); C) a=c=b;、C、2
299、不能把字符串:Hello!賦給數(shù)組b的語句是 A) char b[10]={'H','e','l','l','o','!'}; B) char b[10];b="Hello!"; C) char b[10];strcpy(b,"Hello!"); D) char b[10]="Hello!";、B、2
300、t為int類型,進人下面的循環(huán)之前,t的值為0 while( t=l ) { …… } 則以下敘述中正確的是 A) 循環(huán)控制表達式的值為0 B) 循環(huán)控制表達式的值為1 C) 循環(huán)控制表達式不合法 D) 以上說法都不對、B、2
301、變量a所占內(nèi)存字節(jié)數(shù)是 A) 4 B) 5 C) 6 D) 8 union U { char st[4]; int i; long l; }; struct A { int c; union U u; }a;、C、3
302、標準函數(shù) fgets(s, n, f) 的功能是 A) 從文件f中讀取長度為n的字符串存入指針s所指的內(nèi)存 B) 從文件f中讀取長度不超過n-1的字符串存入指針s所指的內(nèi)存 C) 從文件f中讀取n個字符串存入指針s所指的內(nèi)存 D) 從文件f中讀取長度為n-1的字符串存入指針s所指的內(nèi)存、B、3
303、rewind函數(shù)的作用是________。 A、重新打開文件 B、使文件位置指針重新回到文件末 C、使文件位置指針重新回到文件的開始 D、返回文件長度值、C、3
304、當____,可以不指定數(shù)組長度。 (A) 對靜態(tài)數(shù)組賦初值 (B) 對動態(tài)數(shù)組賦初值 (C) 只給一部分元素賦值 (D) 對全部數(shù)組元素賦初值、D、3
305、以下程序的輸出結(jié)果是____ i=5; i=++i*4+2; A、5 B、6 C、23 D、26、D、3
306、以下程序的輸出結(jié)果是____ i=5; i=i++*4+2; A、5 B、6 C、23 D、26、C、3
307、以下程序的輸出結(jié)果是____ main() {int x,y,z; x=y=z=0; ++x||++y||++z; printf(“%d,%d,%d\n”,x,y,z); } A、1,1,1 B、1,0,0 C、1,1,0 D、1,0,1、B、3
308、C語言中函數(shù)能否嵌套調(diào)用和遞歸調(diào)用? A、二者均不可 B、前者可,后者不可 C、前者不可,后者可 D、二者均可、D、3
309、C語言聯(lián)合類型在任何給定時刻_____。 A、 所有成員一直駐留在結(jié)構(gòu)中。 B、 只能有一個成員駐留在結(jié)構(gòu)中。 C、 部分成員駐留在結(jié)構(gòu)中。 D、 沒有成員駐留在結(jié)構(gòu)中。 、B、3
310、#include main() { int a,b,c,d; scanf("%d%d",&a,&b); c=gbs(a,b); d=gys(a,b); printf("a=%db=%d gbs=%d gys=%d\n",a,b,c,d); } gbs(a,b) int a,b; { int c; a=a>0?a:-a; b=b>0?b:-b; c=a*b; if(c==0) return(0); while(a!=b) if(a>b) a-=b; else b-=a; return(c/a); } gys(a,b) int a,b; { if(a*b==0) return(0); a=a>0?a:-a; b=b>0?b:-b; while(a!=b) if(a>b) a-=b;else b-=a; return(a); } 請寫出上面程序的運行結(jié)果: A、a=30 b=63 gbs=189 gys=9 B、a=27 b=63 gbs=190 gys=10 C、a=27 b=63 gbs=189 gys=9 D、a=27 b=63 gbs=188 gys=10、C、3
311、請讀程序: main() { int *p,x; x=10; *p=x; printf("%d\n",*p); } 請判斷上面程序____ A、錯誤:*p=x; printf("%d\n"),*p); 正確:p=&x; printf("%d\n",p); B、錯誤:*p=x; printf("%d\n"),*p); 正確:p=**x; printf("%d\n",p);C、錯誤:int *p,x; 正確:int *(p),*(x);D、錯誤:*p=x; 正確:p=&x;、A、3
312、根據(jù)下面的定義,能打印出字母M的語句是____ A) printf("%c\n",class[3]、name); D) printf("%c\n",class[2]、name[0]); B) printf("%c\n",class[3]、name[1]); C) printf("%c\n",class[2]、name[1]); struct person { char name[9]; int age;}; struct person class[10]={"John",17, "Paul",19, "Mary",18, "Adam",16};、D、3
313、假定建立了以下鏈表結(jié)構(gòu),指針p、q分別指向如圖所示的結(jié)點,則以下可以將q所指結(jié)點從鏈表中刪除并釋放該結(jié)點的語句組是 A) free(q); p->next=q->next; B) (*p)、next=(*q)、next; free(q); C) q=(*q)、next; (*p)、next=q; free(q); D) q=q->next; p->next=q; p=p->next; free(p);、B、3
314、假定下列程序的可執(zhí)行文件名為prg、exe,則在該程序所在的子目錄下輸入命令行: prg hello good后,程序的輸出結(jié)果是 A) hello good B) hg C) hel D) hellogood main()(int argc, char *argv[]) { int i; if(argc<-0)return; for(i=1;i、B、3
315、假定以下程序經(jīng)編譯和連接后生成可執(zhí)行文件PROG、EXE,如果在此可執(zhí)行文件所在目錄的DOS提示符下鍵入: PROG ABCDEFGH IJKL,則輸出結(jié)果為 A) ABCDEFG B) IJHL C) ABCDEFGHIJKL D) IJKLABCDEFGH main( int argc, char *argv[])) { while(--argc>0) printf("%s",argv[argc]); printf("\n"); }、D、3
316、利用數(shù)組寫出一個與int *p[4]等價的說明。 A、int &p[4]; B、int p[4]; C、int **p[4]; D、int *(*p[4]);、B、3
317、請選出以下程序段的輸出結(jié)果 #include #define MIN(x,y) (x)、A、3
318、若a=5,b=3,c=4,邏輯表達式!(a+b)&&!c的值為____ (A) 0 (B) -1 (C) 1 (D) 2、C、3
319、若fp是指向某文件的指針,且已讀到文件末尾,則庫函數(shù)feof(fp)的返回值是____ A) EOF B) -1 C) 非零值 D) NULL、C、3
320、若程序中有下面的說明和定義 struct abc {int x;char y;} struct abc s1,s2; 則會發(fā)生的情況是 A) 編譯進錯 B) 程序?qū)㈨樌幾g`連接`執(zhí)行 C) 能順利通過編譯`連接`但不能執(zhí)行 D) 能順利通過編譯`但連接出錯、A、3
321、若想要通過異或運算對變量a進行高4位求反,低四位不變,則b應(yīng)為____。(二進制表示) A、11110000 B、00001111 C、視a值而定 D、不可能實現(xiàn)、A、3
322、若要打開A盤上user子目錄下名為abc、txt的文本文件進行讀、寫操作,下面符合此要求的函數(shù)調(diào)用是 A) fopen("A:\user\abc、txt","r") B) fopen("A:\\user\\abc、txt","r+") C) fopen("A:\user\abc、txt","rb") C) fopen("A:\\user\\abc、txt","w")、B、3
323、若給定條件表達式(M)?(a++):(a--)則 其中表達式M和________等價。 A、(M==0) B、(M==1) C、(M!=0) D、(M!=0)、C、3
324、若已定義:int a[9],*p=a;并在以后的語句中未改變p的值,不能表示a[1] 地址的表達式是 A) p+1 B) a+1 C) a++ D) ++p、C、3
325、若要用下面的程序片段使指針變量p指向一個存儲整型變量的動態(tài)存儲單元: int *p; p=__________ malloc( sizeof(int)); 則應(yīng)填入 A)int B)int * C)(*int) D)(int *)、D、3
326、以下程序的輸出結(jié)果是____ main() {int x,y,z; x=y=z=0; ++x&&++y||++z; printf(“%d,%d,%d\n”,x,y,z); } A、1,1,1 B、1,0,0 C、1,1,0 D、1,0,1、C、3
327、若以下程序所生成的可執(zhí)行文件名為filel、exe ; 當打入以下命令行執(zhí)行該程序時; FILE1 CHINA BEIJING SHANGHA1 程序的輸出結(jié)果是 A、 XHIN VWIJINF AHANJHAI B、 FILE1 CHINA BEIJING C、 C B S D、 F C B main(int arge,char * argv []) { char ch [7]={"65ab21"}; int i,s=0; for (i=0;ch [i]>='0'&&ch [i]'9';i+=2) s=10*s+ch[i]-'0'; print ("%d\n",s)' }、A、3
328、若有定義和語句: int **pp,*p,a=10,b=20; pp=&p;p=&a;p=&b;printf("%d\n",*p,**pp); 則輸出結(jié)果是: A)10,20 B)10,10 C)20,10 D)20,20、D、3
329、若有說明語句:int a,b,c,*d=&c;,則能正確從鍵盤讀入三個整數(shù)分別賦給變量a、b、c的語句是 A) scanf("%d%d%d",&a,&b,d); B) scanf("%d%d%d",&a,&b,&d); C) scanf("%d%d%d",a,b,d); D) scanf("%d%d%d",a,b,*d);、A、3
330、若有說明:int i, j=2,*p=&i;,則能完成i=j賦值功能的語句是 A) i=*p; B) p*=*&j; C) i=&j; D) i=**p;、B、3
331、若有說明:int i,j=7, *p=&i;,則與i=j;等價的語句是 A) i= *p; B) *p=*&j; C) i=&j; D) i=* *p;、B、3
332、若有說明:long *p,a;則不能通過scanf語句正確給輸入項讀入數(shù)據(jù)的程序段是 A) *p=&a; scanf("%ld",p); B) p=(long *)malloc(8); scanf("%ld",p); C) scanf("%ld",p=&a); D) scanf("%ld",&a);、A、3
333、若有以下的定義: int a[]={1,2,3,4,5,6,7,88,9,10}, *p=a; 則值為3的表式是 A) p+=2, *(p++) B) p+=2,*++p C) p+=3, *kp++ D) p+=2,++*p、A、3
334、若有以下的說明,則對初值中字符'a'的引用方式為___。 static struct { char ch; double x; char a[]; }c[2][2]={{{'a',3、5,'bc'},{'c',4、5,'de'},{'m',8、6,'abc'}}}; A、c、ch B、c[0][0]、ch C、c[1][1]、ch D、a[0]、B、3
335、若有以下的說明和語句,則在執(zhí)行for語句后,*(*(pt+l)+2)表示的數(shù)組元素是 A) t[2][0] B) t[2][2] C) t[l][2] D) t[2][l] int t[3][3], *pt([3], k; for (k=0;k、C、3
336、若有下面的說明和定義: struct test { int ml; char m2; float m3; union uu {char ul[5]; int u2[2];} ua; } myaa; 則sizeof(struct test )的值是____ A) 12 B) 16 C) 14 D) 9、A、3
337、若有以下定義,則語句( )是正確的。 union data {int i; char c; float f; }a; int n; A: s=5 B:a={2,'a'1、2} C:printf("%d\n",a) D:n=a、C、3
338、若有以下定義和語句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 則不能表示a數(shù)組元素的表達式是 A) *p B) a[10] C) *a D) a[p-a]、B、3
339、若有以下定義和語句: double r=99, *p=&r; *p=r; 則以下正確的敘述是 A) 以下兩處的*p含義相同,都說明給指針變量p賦值 B) 在"double r=99, *p=&r;"中,把r的地址賦值給了p所指的存儲單元 C) 語句"*p=r;"把變量r的值賦給指針變量p D) 語句"*p=r;"取變量r的值放回r中、D、3
340、若有以下定義和語句: int w[2][3],(*pw)[3]; pw=w; 則對w數(shù)組元素非法引用是 A)*(w[0]+2) B)*(pw+1)[2] C)pw[0][0] D)*(pw[1]+2)、B、3
341、若有以下說明和定義 fun(int *c){ } main() { int (*a)()=fun,*b(),w[10],c; ┆ } 在必要的賦值之后,對fun函數(shù)的正確調(diào)用語句是 A) a=a(w); B) (*a)(&c); C) b=*b(w); D) fun (b);、B、3
342、若有以下說明: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 則數(shù)值為6的表達式是 A) *p+6 B) *(p+6) C) *p+=5 D) p+5、C、3
343、若指針p已正確定義,要使p指向兩個連續(xù)的整型動態(tài)存儲單元,不正確的語句是 A) p=2*(int*)malloc(sizeof(int)); B) p=(int*)malloc(2*sizeof(int)); C) p=(int*)malloc(2*2); D) p=(int*)calloc(2,sizeof(int));、A、3
344、設(shè)已有定義: char *st="how are you"; 下列程序段中正確的是 A) char a[11], *p; strcpy(p=a+1,&st[4]); B) char a[11]; strcpy(++a, st); C) char a[11]; strcpy(a, st); D) char a[], *p; strcpy(p=&a[1],st+2);、A、3
345、設(shè)有如下程序: #include main() { int **k, *j, i=100; j=&i; k=&j; printf("%d\n", **k); } 上面程序的輸出結(jié)果是 A) 運行錯誤 B) 100 C) i的地址 D) j的地址、B、3
346、設(shè)一整型(int)變量占用2個字節(jié)則下述共同體變量x所占用內(nèi)存字節(jié)數(shù)為________。 union exp { int i; float j; double k; }x; A、14個 B、7個 C、8個 D、隨機而定、C、3
347、設(shè)x的值為4,則表達式(++x)+(++x)+(++x)的值是( ) A:12; B:18; C:16; D:21 、D、3
348、設(shè)p1和p2是指向同一個int型一維數(shù)組的指針變量,k為int型變量,則不能正確執(zhí)行的語句是 A) k=*p1+*p2; B) p2=k; C) p1=p2; D) k=*p1 * (*p2);、B、3
349、設(shè)x、y、t均為int型變量,則執(zhí)行語句:x=y=3;t=++x||++y;后,y的值為 A) 不定值 B) 4 C) 3 D) 1、C、3
350、設(shè)a=3,b=2,則表達式a^b>>2的值的二進制表示為________。 A、00000011 B、00000110 C、00000100 D、00000010、A、3
351、設(shè)ch是char型變量,其值為A,且有下面的表達式: ch=(ch>='A'&&ch<='Z')?(ch+32):ch 的值是____ A) A B) a C) Z D) z、B、3
352、設(shè)有如下定義: struct sk {int a;float b;}data,*p; 若有p=&data;,則對data中的a域的正確引用是 A)(*p)、data、a B)(*p)、a C)p->data、a D)p、data、a、B、3
353、設(shè)有如下定義: int (*ptr)*(); 則以下敘述中正確的是 A)ptr是指向一維組數(shù)的指針變量 B)ptr是指向int型數(shù)據(jù)的指針變量 C)ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù) D)ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針、C、3
354、設(shè)有如下定義: int (*ptr)*(); 則以下敘述中正確的是 A) ptr是指向一維組數(shù)的指針變量 B) ptr是指向int型數(shù)據(jù)的指針變量 C) ptr是指向函數(shù)的指針,該函數(shù)返回一個int型數(shù)據(jù) D) ptr是一個函數(shù)名,該函數(shù)的返回值是指向int型數(shù)據(jù)的指針、C、3
355、設(shè)有如下枚舉類型定義: enum language { Basic=3,Assembly,Ada=100,COBOL,Fortran}; 枚舉量Fortran的值為 A) 4 B) 7 C) 102 D) 103、C、3
356、設(shè)有如下函數(shù)定義: int f(char *s) { char *p=s; while(*p!='\0') p++; return(p-s); } 如果在主程序中用下面的語句調(diào)用上述函數(shù),則輸出結(jié)果為 printf("%d\n",f("goodbey!")); A) 3 B) 6 C) 8 D) 0、C、3
357、設(shè)有說明int(*ptr)[m];其中的標識符ptr是( )。 (A) M個指向整型變量的指針 (B)指向M個整型變量的函數(shù)指針 (C) 一個指向具有M個整型元素的一維數(shù)組的指針 (D) 具有M個指針元素的一維指針數(shù)組,每個元素都只能指向整型量、C、3
358、為表示關(guān)系x≥y≥z,應(yīng)使用C語言表達式 A) (x>=y)&&(y>=z) B(x>=y)AND(y>=z) C)(x>=y>=z) D)(x>=y)&(y>=z)、A、3
359、設(shè)有以下定義: typedef union { long i;int k[5];char c;}DATE; struct date { int cat;DATE cow;double dog;}too; DATE max; 則下列語句的執(zhí)行結(jié)果是 printf("%d",sizeof(struct date)+sizeof(max)); A) 25 B) 30 C) 18 D) 8、B、3
360、設(shè)有以下說明語句 typedef struct { int n; char ch[8]; }PER; 則下面敘述中正確的是 A) PER 是結(jié)構(gòu)體變量名 B) PER是結(jié)構(gòu)體類型名 C) typedef struct 是結(jié)構(gòu)體類型 D) struct 是結(jié)構(gòu)體類型名、B、3
361、設(shè)有以下說明語句 struct ex { int x ; float y; char z ;} example; 則下面的敘述中不正確的是 A) struct結(jié)構(gòu)體類型的關(guān)鍵字 B) example是結(jié)構(gòu)體類型名 C) x,y,z都是結(jié)構(gòu)體成員名 D) struct ex是結(jié)構(gòu)體類型、B、3
362、下列程序的輸出結(jié)果是 main( ) { int a[5]={2,4,6,8,10},*p,* *k; p=a; k=&p; printf("%d",*(p++)); printf("%d\n",* *k); } A) 4 4 B) 2 2 C) 2 4 D) 4 6、C、3
363、下列程序的輸出結(jié)果是 main( ) { char*p1,*p2,str[50]="xyz"; p1="abcd"; p2="ABCD"; strcpy(str+2,strcat(p1+2,p2+1); printf)"%s",str); } A) xyabcAB B) abcABz C) Ababcz D) xycdBCD、D、3
364、下列程序的輸出結(jié)果是 A) 4 B) 6 C) 8 D) 10 int b=2; int func(int *a) { b += *a; return(b);} main() { int a=2, res=2; res += func(&a); printf("%d \n",res); }、B、3
365、下列程序的輸出結(jié)果是 A) 5 B) 6 C) 7 D) 8 struct abc { int a, b, c; }; main() { struct abc s[2]={{1,2,3},{4,5,6}}; int t; t=s[0],a+s[1],b; printf("%d \n",t); }、B、3
366、下列程序的輸出結(jié)果是 A) 非法 B)a[4]的地址 C)5 D)3 main() { char a[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5; printf("%d",*--p); }、C、3
367、下列程序的運行結(jié)果是 A) 6 3 B) 3 6 C) 編譯出錯 D) 0 0 void fun(int *a, int *b) { int *k; k=a; a=b; b=k; } main() { int a=3, b=6, *x=&a, *y=&b; fun(x,y); printf("%d %d", a, b); }、B、3
368、請讀程序: int x,y; for(x=1;x、C、3
369、下列程序執(zhí)行后的輸出結(jié)果是 A) 6 B) 8 C) 10 D) 12 #define MA(x) x*(x-1) main() { int a=1,b=2; printf("%d \n",MA(1+a+b));}、B、3
370、下列程序執(zhí)行后的輸出結(jié)果是 A) -32767 B) FFFE C) -1 D) -32768 main() { char x=0xFFFF; printf("%d \n",x--); }、C、3
371、下列分支語句合法的是( )。(A) if(a>c) m=a else m=c (B) if a>c (if a>b) m=a (C) if (a>b && a>c) m=a (D) case 6,7:printf("reset\n") 、C、3
372、下面程序的輸出結(jié)果為 struct st { int x; int *y; } *p; int dt[4]={10,20,30,40}; struct st aa[4]={ 50,&dt[0],60,&dt[1], 70,&dt[2],80,&dt[3] }; main() { p=aa; printf("%d\n", ++p->x ); printf("%d\n", (++p)->x); printf("%d\n", ++( *p->y)); } A) 10 B) 50 C) 51 D) 60 20 60 60 70 20 21 21 31、C、3
373、下列有關(guān)長度不同的數(shù)據(jù)進行運算時,系統(tǒng)的擴充操作正確的是______ A、右端對齊,短方按符號位擴充,無符號數(shù)以零擴充 B、右端對齊,短方按零擴充 C、左端對齊,短方按符號位擴充,無符號數(shù)以零擴充 D、左端對齊,短方以"1"擴充、A、3
374、下面程序的輸出是 A) 32 B) 16 C) 8 D) 24 typedef union { long x[2]; int y[4]; char z[8]; } MYTYPE; MYTYPE them; main() { printf("%d\n", sizeof(them));}、C、3
375、下面程序的輸出是 A) 0 B) 1 C) 3 D) 6 main() { struct cmplx { int x; int y; } cnum[2]={1,3, 2,7}; printf("%d\n",cnum[0]、y /cnum[0]、x * cnum[1]、x);}、D、3
376、請讀程序: main( ) {struct cmplx{int x;int y;}cnum[2]={1,3,2,7}; printf("%d\n",cnum[0]、y/cnum[0]、x*cnum[1]、x); } 則上面程序的輸出結(jié)果是____ A:0 B:1 C:3 D:6、D、3
377、寫出下列程序段運行結(jié)果 unsigned int a=3,b=10; printf("%d\n",a<、A、3
378、以數(shù)據(jù)塊為單位對數(shù)據(jù)進行整體 讀寫時如果ptr是指向內(nèi)存中數(shù)據(jù)塊的首地址,fp是文件指針,那么數(shù)據(jù)塊中每個數(shù)據(jù)項的大小為( )。 (A) sizeof(*ptr) (B) *ptr (C) sizeof(ptr) (D) sizeof(*fp)、A、3
379、已知字符0的ASCII碼為十六進制的30,下面程序的輸出是 A) 6 B) 9 C) 0 D) 3 main() { union { unsigned char c; unsigned int i[4]; } z; z、i[0]=0x39; z、i[1]=0x36; printf("%c\n",z、c);}、B、3
380、以下程序的輸出是____ A) 10 B) 11 C) 51 D) 60 struct st { int x; int *y;} *p; int dt[4]={ 10,20,30,40 }; struct st aa[4]={ 50,&dt[0],60,&dt[0],60,&dt[0],60,&dt[0],}; main() { p=aa; printf("%d\n",++(p->x)); }、C、3
381、以下程序的輸出結(jié)果是 struct HAR { int x, y; struct HAR *p;} h[2]; main() { h[0],x=1;h[0];y=2; h[1],x=3;h[1];y=4; h[0],p=&h[1],p=h; printf("%d %d \n",(h[0],p)->x,(h[1],p)->y); } A) 12 B) 23 C) 14 D) 32、D、3
382、以下程序的輸出結(jié)果是 union myun { struct { int x, y, z; } u; int k; } a; main() { a、u、x=4; a、u、y=5; a、u、z=6; a、k=0; printf(%d\n",a、u、x); } A) 4 B) 5 C) 6 D) 0、D、3
383、請讀程序: main() {union {int k; char i[2]; }*s,a; s=&a; s--i[0]=0x39;s--i[1]=0x38; printf(“%x、n”,s--k); } 則上面程序的輸出結(jié)果是____ A)3839 B)3938 C)380039 D)390038、A、3
384、有如下定義 struct person{char name[9]; int age;}; strict person class[10]={"Johu", 17, "Paul", 19 "Mary", 18, "Adam 16,}; 根據(jù)上述定義,能輸出字母M的語句是 A) prinft("%c\n",class[3]、mane); B) pfintf("%c\n",class[3]、name[1]); C) prinft("%c\n",class[2]、name[1]); D) printf("%^c\n",class[2]、name[0]);、D、3
385、有如下函數(shù)調(diào)用語句 func(rec1,rec2+rec3,(rec4,rec5); 該函數(shù)調(diào)用語句中,含有的實參個數(shù)是 A) 3 B) 4 C) 5 D) 有語法錯、A、3
386、以下選項中,能定義s為合法的結(jié)構(gòu)體變量的是 A) typedef struct abc B) struct { double a; { double a; char b[10]; char b[10]; } s; } s; C) struct ABC D) typedef ABC { double a; { double a; char b[10]; char b[10]; } } ABC s; ABC s;、B、3
387、以下對結(jié)構(gòu)體類型變量的定義中,不正確的是 A) typedef struct aa B) #define AA struct aa { int n; AA {int n; float m; float m; }AA; }td1; AA td1; C) struct D) struct { int n; { int n; float m; float m; }aa; }td1; stuct aa td1;、C、3
388、以下程序運行后,輸出結(jié)果是 A) 1 B) 7 C)9 D)11 fut (int **s,int p[2][3]) { **s=p[1][1];) main() { int a[2][3]={1,3,5,7,9,11},*p; p=(int *)malloc(sizeof(int)); fut (&p,a); printf("%d\n",*p); }、C、3
389、有語句char str1[10],str2[10]={"china"};則能將字符串china賦給數(shù)組str1的正確語句是________。 A、str1={"china"}; B、strcpy(str1,str2); C、str1=str2; D、strcpy(str2,str1);、B、3
390、有以下結(jié)構(gòu)體說明和變量的定義,且如下圖所示指針p指向變量a,指針q指向變量b。則不能把結(jié)點b連接到結(jié)點a之后的語句是 A) a、next=q; B) p、next=&b; C) p->next=&b; D) (*p)、next=q; struct node { char data; struct node *next; { a,b,*p=&a,*q=&b; data next data next、B、3
391、有以下程序段 char arr[]="ABCDE"; char *ptr; for(ptr=arr;ptr main() { union { int k; char i[2]; } *s,a; s=&a; s->i[0]=0x39; s->i[1]=0x38; printf("%x\n",s->k); } 輸出結(jié)果是 A) 3839 B) 3938 C) 380039 D) 390038、D、3
392、有以下程序 #include "stdio、h" struct stu { int num; char name[10]; int age; }; void fun(struct stu *p) { printf("%s\n",(*p)、name); } main() { struct stu students[3]={ {9801,"Zhang",20}, {9802,"Wang",19}, {9803,"Zhao",18} }; fun(students+2); } 輸出結(jié)果是 A) Zhang B)Zhao C) Wang D) 18、B、3
393、運行下面的程序,如果從鍵盤上輸入: ab c def 則輸出結(jié)果為 A、a B、a C、ab D、abcdef b b c c c d d d e f #include #define N 6 main () { char c[N]; int i=0; int i=0; for ( ;i ss (char *s) { char *p=s; while (*、p)p++; return(p-s); } main() { char *a="abded"; int i; i=ss(a); print ("%d\n",i); }、C、3
394、在C程序中,可把整型數(shù)以二進制形式存放到文件中的函數(shù)是 A) fprintf函數(shù) B) fread函數(shù) C) fwrite函數(shù) D) fputc函數(shù)、A、3
395、在C語言中,fclose()函數(shù)返回____時, 表示關(guān)閉不成功 (A) 0 (B) -1 (C) EOF (D) 非零值、D、3
396、在C語言中,如果下面的變量都是int類型,則輸出的結(jié)果是( )。 sum=5,p=5;p=sum++,p++,++p; printf("%d\n",p); A、 7 B、 6 C、 5 D、 4、A、3
397、在scanf( )中,表示本輸入項在讀入后不賦給相應(yīng)變量的格式說明字符是____ (A) L (B) h (C) C (D) *、D、3
398、在TC語言中int和short兩種數(shù)據(jù)所占用的內(nèi)存____ A) 均為2個字節(jié) B) 由用戶自己定義 C) 由所用機器的機器字長決定 D) 是任意的、A、3
399、在以下定義中,標識符p______ int (*p)[3] A) 定義不合法 B) 是一個指針數(shù)組名,每個元素是一個指向整數(shù)變量的指針 C) 是一個指針,它指向一個具有三個元素的一維數(shù)組 D) 是一個指向整型變量的指針、C、3
400、字符'0'的ASCII碼的十進制數(shù)為48,且數(shù)組的第0個元素在低位,則以下程序的輸出結(jié)果是 #include main( ) { union { int i[2]; long k; char c[4]; }r,*s=&r; s->i[0]=0x39; s->i[1]=0x38; printf("%c\n",s->c[0]) } A) 39 B) 9 C) 38 D) 8、B、3
http://www.ardmore-hotel.com/
【計算機等級考試二級C語言超級經(jīng)典400道題目】相關(guān)文章:
計算機二級C語言考試題目09-25
全國計算機等級考試二級C語言筆試試題07-17
計算機二級c語言考試習(xí)題及答案07-29
計算機二級c語言試題07-15
計算機等級考試三級(C語言)上機考試試題總結(jié)08-10
2017計算機二級C語言試題09-25
計算機二級C語言程序設(shè)計考試內(nèi)容07-25
計算機等級考試二級MS試題及答案07-27