




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、福建省高等學校計算機等級考試(二級C語言)選擇題試題庫答案試題C 1. 在C語言源程序中,以下敘述正確的是( )。 A. main函數必須位于文件的開頭 B. 每行只能寫一條語句 C. 程序中的一個語句可以寫成多行 D. 每個語句的最后必須有點號 C 2. 關于C語言的源程序的敘述中,錯誤的是( )。 A
2、. C語言的源程序由函數構成 B. main函數可以書寫在自定義函數之后 C. 必須包含有輸入語句 D. 一行可以書寫多個語句 C 3. 關于C語言數據類型的敘述,正確的是( )。 A. 枚舉類型不是基本類型 B. 數組不是構造類型 C. 變量必須先定義后使用 D. 不允許使用空類型 C 4. C程序中
3、main函數的位置( )。 A. 必須在最開始 B. 必須在系統庫函數后面 C. 可以在自定義函數后面 D. 必須在最后 B 5. C語言的函數體由( )括起來。 A. ( ) B. C. D. /* */ D 6. 關于C語言的敘述中,不正確的是( )。
4、60;A. C程序可由一個或多個函數組成 B. C程序必須包含一個main()函數 C. C程序的基本組成單位是函數 D. 注釋說明只能位于一條語句的后面 D 7. 以下敘述不正確的是( )。 A. C程序的執行總是從main函數開始 B. 一個C源程序必須包含一個main函數 C. C語言程序的基本組成單位是函數 D. 在編譯C程序源程序時,可發現注釋中的拼寫錯誤 C 8.
5、0; 結構化程序設計的三種基本結構是( )。 A. 函數結構、分支結構、判斷結構 B. 函數結構、嵌套結構、平行結構 C. 順序結構、分支結構、循環結構 D. 分支結構、循環結構、嵌套結構 C 9. 對于C語言源程序,以下敘述錯誤的是( )。 A. 可以有空語句 B. 函數之間是平等的,在一個函數內部不能定義其它函數 C. 程序調試時如果沒有提示錯誤,就能得到正確結果
6、160;D. 注釋可以出現在語句的前面 D 10. 下面關于C語言用戶標識符的描述,正確的是( )。 A. 不區分大小寫 B. 用戶標識符不能描述常量 C. 類型名也是用戶標識符 D. 用戶標識符可以作為變量名 D 11. 以下( )是正確的變量名。 A. 5f B. if C. f.5 D. _f5 D 12
7、. 以下( )是正確的常量。 A. E-5 B. 1E5.1C. 'a12' D. 32766L D 13. 以下( )是正確的變量名。 A. a.bee B. -p11 C. int D. p_11 C 14. 以下( )是正確的字符常量。單引號括起來 A.
8、"c" B. ''' C. 'W' D. "32a" A 15. 以下( )是不正確的字符串常量。雙引號括起來 A. 'abc' B. "12'12" C. "0" D. " " B 16. 以下(
9、 )是錯誤的整型常量。 A. -0xcdf B. 018 /八進制數不能超過8 C. 0xe D. 011 B 17. 以下( )是正確的浮點數。 A. e3 /e前面必須有數字,指數必須為整數 B. .62 C. 2e4.5 D. 123 A 18. 若有說明語句:char c='95' 則變
10、量c包含( )個字符。 A. 1 ddd :表示1到3位八進制數所代表的字符 B. 2 xhh表示 1到2位十六進制數所代表的字符 C. 3 D. 語法錯誤 A 19. 若有定義:int a=2; 則正確的賦值表達式是( )。 A. a-=(a*3) B. double(-a) /(double)(-a) C. a*3 D. a*4=3 C&
11、#160;20. 語句x=(a=3,b=+a);運行后,x、a、b的值依次為( )。 A. 3,3,4 /逗號運算符及逗號表達式 B. 4,4,3 C. 4,4,4 D. 3,4,3 B 21. 語句a=(3/4)+3%2;運行后,a的值為( )。 A. 0 B. 1 /注意除號/ 兩邊均為整型時,結果為整數(不含小數點) C. 2 D.
12、3 A 22. char型變量存放的是( )。/考查變量類型 A. ASCII代碼值 B. 字符本身 C. 十進制代碼值 D. 十六進制代碼值 C 23. 若有定義:int x,a;則語句x=(a=3,a+1);運行后,x、a的值依次為( )。 A. 3,3 /考查逗號表達式及逗號運算符 B. 4,4 C. 4,3 D. 3,4 B
13、24. 若有定義:int a; 則語句a=(3 * 4)+ 2 % 3;運行后,a的值為( )。 A. 12 B. 14 C. 11 D. 17 A 25. 若有定義:int a,b; double x,則以下不符合C語言語法的表達式是( )。 A. x%(-3) /%兩側均應為整型數據 B.
14、;a+=-2 C. a=b=2 D. x=a+b B 26. 若有定義:int x=2,y=3;float i;,則以下符合C語言語法的表達式是( )。 A. x=x*3=2 /x*3不是一個變量名 B. x=(y=1) C. i=float(x) /應改為i=(float)x D. i%(-3) /%兩側均應為整型數據C 27. 設double型變量a,b,c,e均有值
15、;對代數式(3ae)/(bc),不正確的C語言表達式是( )。 A. a/b/c*e*3 B. 3*a*e/b/c C. 3*a*e/b*c /改為3*a*e/b/c D. a*e/c/b*3 B 28. 下面敘述正確的是( )。 A. 2/3 與 2.0/3.0 等價 B. (int)2.0/3 與 2/3 等價 C.
16、 +5 與 6 等價 /單獨寫+5是錯誤的,可以寫成a=+5 D. 'A'與"A"等價 A 29. 下面敘述中,錯誤的是( )。 A. 其算術運算對象不包含函數 B. %(模運算符)的運算對象只能為整型量 C. 算術運算符的結合方向是"自左至右" D. 自加和自減運算符的結合方向是"自右至左" A 30. &
17、#160;下面敘述正確的是( )。/+ -只能用于變量,而不能用于常量或表達式 A. 強制類型轉換運算的優先級高于算術運算 B. 若a和b是整型變量,(a+b)+是合法的 C. 'A'*'B' 是不合法的 D. "A"+"B"是合法的 B 31. 若有定義:int k,i=2,j=4; 則表達式 k=(+i)*(j-) 的值是( )
18、。 A. 8 B. 12/注意前綴 后綴的區別 C. 6 D. 9 C 32. 設整型變量a為5,使b不為2的表達式是( )。 A. b=(+a)/3 B. b=6-(-a) C. b=a%2 /結果為1 D. b=a/2 C 33. 若有定義:int a=1,b=2,c=3; 則語句 +a|+b&&+c;運行后b的值
19、為( )。 A. 1 B. 0 C. 2 /注意運算的不完全性 D. 3 B 34. 若有定義:int i,j;則表達式(i=2,j=5,i+,i+j+)的值是( )。 A. 7 B. 8 C. 9 D. 10 B 35. 若有定義:int a,b;則表達式(a=2,b=5,a*2,b+,a+b)的值是(
20、60;)。 A. 7 B. 8 C. 9 D. 10 B 36. 若有定義:int m=5,n=3;則表達式(m+1,n+1,(-m)+(n-)的值是( )。 A. 6 B. 7 C. 8 D. 9 B 37. 已知 int a;使用scanf()函數輸入一個整數給變量a,正確的函數調用是( )。
21、160;A. scanf("%d",a); B. scanf("%d",&a); C. scanf("%f",&a); D. scanf("%lf",&a); D 38. 已知 double a;使用scanf()函數輸入一個數值給變量a,正確的函數調用是( )。 A. scanf("%ld",&a);
22、 B. scanf("%d",&a); C. scanf("%7.2f",&a); /輸入數據時不能規定精度 D. scanf("%lf",&a); B 39. 已知 char a;使用scanf()函數輸入一個字符給變量a,不正確的函數調用是( )。 A. scanf("%d",&a); B. scanf(&q
23、uot;%lf",&a); /字符型變量與整型等價,但不與浮點型等價 C. scanf("%c",&a); D. scanf("%u",&a); B 40. putchar()函數的功能是向終端輸出( )。/ char *str0;.;puts( str0); A. 多個字符 B. 一個字符 C. 一個實型變量值 D. 一個整型變量表達式 D 41.&
24、#160; getchar()函數的功能是從終端輸入( )。 A. 一個整型變量值 B. 一個實型變量值 C. 多個字符 D. 一個字符 D 42. 若有定義:int x=1234,y=123,z=12;則語句printf("%4d+%3d+%2d", x, y, z);運行后的輸出結果為( )。 A. 123412312 C. 1234+1234+123
25、4 D. 1234+123+12 A 43. 已有如下定義和輸入語句,int a; char c1,c2;scanf("%d%c%c",&a,&c1,&c2);若要求a、c1、c2的值分別為10、A和B,正確的數據輸入是( )。 A. 10AB /輸入數據時,遇空格、回車、TAB、及非法輸入 或按規定的寬度結束 B. 10 A B C. 10A&
26、#160; B D. 10 AB B 44. 已有如下定義和輸入語句:int a,b;scanf("%d,%d",&a,&b); /“格式控制”字符串中除了格式說明還有其他字符,則輸入/時應在相應位置輸入若要求a、b的值分別為10和20,正確的數據輸入是( )。 A. 10 20 B. 10,20 C. a=10,b=20 D. 10;20 D
27、 45. 以下程序的運行結果是( )。void main() int a=65; char c='A' printf("%x,%d",a,c); A. 65,a B. 41,a C. 65,65 D. 41,65 A 46. 下面敘述中,( )不是結構化程序設計中的三種基本結構之
28、一。 A. 數據結構 B. 選擇結構 C. 循環結構 D. 順序結構 A 47. 下面敘述中,( )不是結構化程序設計三種基本結構的共同特點。 A. 先判斷后執行 B. 單入口,單出口 C. 程序中沒有執行不到的語句 D. 無死循環 A 48. 結構化程序設計不包括( )。 A. 最優化
29、B. 自頂而下,逐步細化 C. 模塊化設計 D. 結構化編碼 D 49. 以下運算符中優先級最高的是( )。 A. > B. | C. && D. + /初等運算符() 單目 算術 關系 邏輯(不含!) 賦值 逗號A 50. 若有定義:int x=3,y=4;則表達式 !x|y 的值為( )。 A. 1
30、;B. O C. 3 D. 4 A 51. 若有定義:int i=7,j=8;則表達式 i>=j|i<j 的值為( )。 A. 1 B. 變量i的值 C. 0 D. 變量j的值 C 52. 若希望當a的值為奇數時,表達式的值為"真",a的值為偶數時,表達式的值為"假"。則不能滿足要求的表達式是(
31、60;)。 A. a%2=1 B. !(a%2=0) C. !(a%2) D. a%2 D 53. 若有定義:int x=3,y=4,z=5;則值為0的表達式是( )。 A. 'x'&&'y' B. x<=y C. x|y+z&&y-z D. !(x<y)&&!z|1) /考查運算符
32、優先級 A 54. 若有定義:int a=5,b=2,c=1;則表達式a-b<c|b=c的值是( )。 A. 0 B. 1 C. 2 D. -1 A 55. 已知double a=5.2; 則正確的賦值表達式是( )。 A. a+=a-=(a=4)*(a=3) B. a=a*3=2 C. a%3 D.
33、160;a=double(-3) A 56. 已知char a='R' 則正確的賦值表達式是( )。 A. a=(a+)%4 B. a+2=3 C. a+=256- D. a='078' A 57. 已知int a='R' 則正確的表達式是( )。 A. a%10 B. a=int(
34、3e2) C. 2*a=a+ D. a=a+a=a+3 與C 同屬一類錯誤A 58. 設單精度型變量f、g的值均為2.0,使f為4.0的表達式是( )。 A. f+=g B. f-=g+2 C. f*=g-6 D. f/=g*10 B 59. 若有定義:float x=3.5;int z=8;則表達式 x+z%3/4 的值為( )。 A.
35、60;3.75 B. 3.5 C. 3 D. 4 A 60. 若有定義:int a=1,b=2,c=3,d=4,x=5,y=6;則表達式 (x=a>b)&&(y=c>d) 的值為( )。 A. 0 B. 1 C. 5 D. 6 A 61. 若有定義:int a=2,b=3; float x=3.5
36、,y=2.5;則表達式(float)(a+b)/2+(int)x%(int)y的值是( )。 /(float)(a+b)/2=2.5 A. 3.5 B. 3.0 C. 2.5 D. 2.0 C 62. 若有定義:int b=7; float a=2.5,c=4.7;則表達式a+(b/2*(int)(a+c)/2)%4的值是( )。 A. 2.5 /(b/2*(int)(a+c)/2)=10
37、注意運算順序 B. 3.5 C. 4.5 D. 5.5 C 63. 若有定義:int a=6,b=2;char c1='a',c2='b'則表達式a+b%5+c2-c1的值是( )。 A. 7 B. 8 C. 9 D. 表達式錯誤 B 64. 以下的if語句中,x的值一定被重新賦值的是( )。
38、60;A. if(x=y) x+=y; B. if(x>y && x!=y ); /注意if語句后的空語句; x+=y; C. if(x!=y) scanf("%d",&x); else scanf("%d",&y); D. if(x<y)
39、60; x+;y+; B 65. C語言對if嵌套語句的規定:else總是與( )配對。 A. 第一個if B. 之前最近的且尚未配對的if C. 縮進位置相同的if D. 之前最近的if B 66. 對于整型變量x,下述if語句( )與賦值語句: x=x%2=0?1:0;不等價。 A. if
40、60;(x%2!=0) x=0; else x=1; B. if (x%2) x=1; else x=0; C. if (x%2=0) x=1; else x=0; D. if (x%2=1) x=0; else x=1; B 67. 若有定義:int x=1,y=2,z=4;則以下程序段運行后z的值為( )。if(x>y)
41、60;z=x+y;else z=x-y; A. 3 B. -1 C. 4 D. 不確定 D 68. 若有定義:int a=1,b=2,c=3;則執行以下程序段后a,b,c的值分別為( )。if (a<b) c=a;a=b;b=c; A. a=1,b=2,c=3 B. a=2,b=3,c=1 C. a=2,b=3,c=3 D. a=2,b=
42、1,c=1 D 69. 以下程序段運行后變量a的值為( )。int x=6,y=5;int a;a=(-x=y+)?x:y+1; A. 0 B. 1 C. 6 D. 5 C 70. 以下程序的運行結果是( )。/注意分支中有無break的區別void main() int n='e' switch(n-)
43、60; default: printf("error "); case 'a': case 'b': printf("good "); break; case 'c': printf("pass "
44、;); case 'd': printf("warn "); A. error B. good C. error good D. warn C 71. 以下程序的運行結果是( )。void main() int n='c' switch(n
45、+) default: printf("error "); break; case 'a': case 'b': printf("good "); break; case 'c': printf(&quo
46、t;pass "); case 'd': printf("warn "); A. pass B. warn C. pass warn D. error D 72. 以下程序的運行結果是( )。void main( ) int n=5; i
47、f(n+>=6) printf("%dn",n); else printf("%dn",+n); A. 4 B. 5 C. 6 D. 7 B 73. 設有整型變量x,下述語句( )不會出現死循環。 A. for(;x+=1); B. for(;(x=getchar(
48、)!='n'); C. while(1) x+; D. for(x=10;x-); B 74. 對于整型變量x,與while(!x)等價的是( )。 A. while(x!=0) B. while(x=0) C. while(x!=1) D. while(x) A 75. 對于整型變量x和y,語句 for(x=0,y=0
49、;(y!=123)&&(x<4);x+) y+; 中的“y+;”被執行( )。 A. 4次 B. 0次 C. 123次 D. 3次 B 76. 在c語言中while循環和do-while循環的主要區別是( )。 A. do-while循環體內可以使用break語句,while循環體內不能使用break語句 B. do-while的循環體至少無條件執行一次,wh
50、ile的循環體不是 C. do-while循環體內可以使用continue語句,while循環體內不能使用continue語句 D. while的循環體至少無條件執行一次,do-while的循環體不是 B 77. 以下程序段運行后,循環體運行的次數為( )。int i=10,x;for (;i<10;i+) x=x+i; A. 10 B. 0 C. 1 D. 無限 D 78.
51、以下程序段運行后變量n的值為( )。int i=1,n=1;for (;i<3;i+) continue;n=n+i; A. 4 B. 3 C. 2 D. 1 B 79. 以下程序的運行結果是( )。void main() int sum = 0, item = 0; while
52、(item < 5) item+; sum += item; if(sum=5) break; printf("%dn",sum); A. 10 B. 15 C. 5 D. 6
53、 C 80. 以下程序的運行結果是( )。void main() int sum = 0, item = 0; while(item < 5) item+; sum += item; if(sum>=6) &
54、#160; break; printf("%dn",sum); A. 10 B. 15 C. 6 D. 7 B 81. 以下程序的運行結果是( )。void main() int sum = 0, item = 0; while(item&
55、#160;< 5) item+; if(item = 2) continue; sum += item; printf("%dn",sum); A. 10 B. 13 C. 15
56、0;D. 1 A 82. 下列數組定義中,正確的是( )。 A. int a5=0; B. int a=0 1 2; / int a=0 , 1,2; 注意元素與元素之間加逗號 C. int a5=0; / int a5=0; D. int a; /必須指明數組大小A 83. 下列數組定義中,正確的是(
57、0;)。 A. int a10; B. int n=10,an; /下標必須是常量表達式 C. int N=10;int aN; D. int n;scanf("%d",&n); int an; A 84. 已知 int a10; 則對a數組元素引用不正確的是( )。 A. a10
58、 /10個元素的數組下標范圍從0到9 ,故此題越界 B. a3+5 C. a10-10 /引用數組元素時,下標可以是整型常量或整型表達式 D. a5 B 85. 若有定義:int a3=0,1,2;則a1的值為( )。 A. 0 B. 1 C. 2 D. 3 A 86. 若有定義:int a5=1,2,3,4,5;則語句a1=a3+a2+2-a3-1;運行后a1的
59、值為( )。 A. 6 B. 5 C. 1 D. 2 D 87. 以下能對一維數組a進行正確初始化的語句是( )。 A. int a5=(0,0,0,0,0); B. int a5=0; /注意使用大括號 C. int a5=1,2,3,4,5,6,7;/多余2個 D. int a=0; /定義一個只有一個元素的一維數組,指為0D 88
60、. 下面程序段的運行結果是( )。int i=0,a=3,4,5,4,3;do ai+; while(a+i<5);for(i=0;i<5;i+) printf("%d ",ai); A. 4 5 6 5 4 B. 3 4 5 4 3 C. 4 5 5 5 4
61、;D. 4 5 5 4 3 C 89. 下面程序段的運行結果是( )。int i=0,a=7,5,7,3,8,3;do ai+=2; while(a+i>5);for(i=0;i<6;i+) printf("%d ",ai); A. 9 7 9 5 10 5 B. 9 5 9
62、160;3 10 3 C. 9 5 7 3 8 3 D. 7 5 7 3 8 3 A 90. 下面程序段的運行結果是( )。int i=0,a=1,2,3,4,5;do ai+=10; while(a+i>2);for(i=0;i<5;i+) pri
63、ntf("%d ",ai); A. 11 2 3 4 5 B. 1 2 3 4 5 C. 11 12 13 14 15 D. 11 12 3 4 5 C 91.
64、160; 設有如下程序段:int a33=1,0,2,1,0,2,1,0,1,i,j,s=0;for(i=0;i<3;i+) for(j=0;j<i;j+) s=s+aij;則執行該程序段后,s的值是( )。 A. 0 B. 1 C. 2 D. 3 B 92. 有如下定義 int a3=1,2,3
65、,4,5,6,7,8; /考查二維數組的初始化則數組a的行數是( )。 A. 2 B. 3 C. 4 D. 無法確定的 D 93. 以下數組定義中,正確的是( )。 A. int a23=1,2,3,4,5,6,7;/多余1個 B. int a=1,2,3,4,5,6,7,8,9; /第二維長度不能省 C. int a2= 1,2,3,4,5
66、,6; D. int a4= 6; A 94. 若有定義:int a34=1,2,0,1,2,3;則a11的值為( )。 A. 0 B. 1,2 C. 1 D. 3 A 95. 若有定義:int a33;則表達式&a21-a的值為( )。 A. 7 /&a21-a 代表兩者之間的元素個數,類似指向同種類型的指針相減 B.
67、0;8 C. 6 D. 9 C 96. 若有定義:int i=0,x=0;int a33=1,2,3,4,5,6,7,8,9;則以下程序段運行后x的值為( )。for (;i<3;i+) x+=ai2-i; A. 0 B. 12 C. 15 D. 18 D 97. 若有定義int a23;則對數組元素的非法引用是( )。
68、60;A. a01/2 B. a11 C. a4-40 D. a03 C 98. 以下數組定義中,正確的是( )。 A. int a2=1,2,3,4,5; B. int a2=0,; C. int a22=1,2,3; D. int a=1,2,3,4; D 99. 若有定義int a3=1,2,3,4,5,6
69、,7,8,9;則表達式sizeof(a)/sizeof(a0)的值為( )。 A. 3 B. 4 C. 5 D. 9 A 100. 設有以下變量定義: char str1="string",str28,*str3,*str4="string"( )是正確的。 A. strcpy(str1,"China");
70、B. str2="China" C. strcpy(*str3,"China"); D. strcpy(str40,"China"); D 101. 有如下定義: char str6= 'a','b','0','d','e','f'則語句: printf("%s&
71、quot;,str);的輸出結果是( )。 A. ab B. abdef C. ab0 D. ab C 102. 設有如下數組定義: char str8= "FuJian"則分配給數組str的存儲空間是( )個字節。 A. 6 B. 7 C. 8 D. 9 B 103.
72、; 若有定義:char a="abcdef"char b="xyz"則以下程序段運行后屏幕輸出為( )。strcpy(a,b);printf("%c",a2); A. c B. z C. 0 D. d C 104. 以下程序段運行后屏幕輸出為( )。char a="abc0mis"printf("%d",strlen(a);&
73、#160;A. 5 B. 8 C. 3 D. 4 B 105. 若有定義:int a=2;則語句a=strcmp("miss","miss");運行后a的值為( )。 A. 1 /相等返回0 ,字符串1>字符串2,返回一個正整數,否則返回負整數 B. 0 /strcmp(str1,str2) C. -1 D. 2 B 106. &
74、#160;以下程序段運行后屏幕輸出為( )。 char str="abcd" 注意代表一個反斜杠字符 printf("%d",strlen(str); A. 4 B. 5 C. 6 D. 7 A 107. 以下程序段運行后屏幕輸出為( )。char str80;strcpy(str,&quo
75、t;hello");printf("%d",strlen(str); A. 5 B. 6 C. 7 D. 80 B 108. 若有定義:char str16="abcdm",*ps,*str2="abcdef"( )是正確的。 A. strcpy(str1,str2); B. 表達式strcmp(str1,str2)的值
76、大于0 C. str1=str2; D. 表達式strlen(str1)的值為6 A 109. 設有如下函數定義:int fun(char *str) char *p=str; while ( *p != '0') p+; return (p-str);則以下語句執行后的輸出結果是( )。/返回字符串個數printf("%
77、dn",fun("Student"); A. 7 B. 8 C. 9 D. 10 A 110. 以下程序的運行結果是( )。int fun(int array44) int j; for(j=0;j<4;j+) printf("%2d",array2j); printf("n");main()&
78、#160;int a44=0,1,2,0,1,0,0,4,2,0,0,5,0,4,5,0; fun(a); A. 2 0 0 5 B. 1 0 0 4 C. 0 1 2 0 D. 0 4 5 0 C 111. 如下fun函數的類型是( )。fun(float x)double y;
79、int z y=x * x z=(int)y return(z); A. void B. double C. int D. float B 112. 以下程序運行后屏幕輸出為( )。#include<stdio.h>int f(int x,int y) return(x+y);main() &
80、#160;int a=2,b=3,c; c=f(a,b); printf("%d+%d=%dn",a,b,c); A. 0 B. 2+3=5 C. 2+3=0 D. 3+2=5 D 113. 以下程序運行后屏幕輸出為( )。 /考查全局變量與局部變量的區別及范圍#include<stdio.h>int a=2,b=3;int max(int a,int
81、60;b) int c; c=a>b?a:b; return(c);main() int a=4; printf("%d",max(a,b); A. 2,3 B. 2 C. 3 D. 4 B 114. 以下程序運行后屏幕輸出為(
82、0;)。#include<stdio.h>void f(int i) /兩個函數中的a不一樣 int a=2; a=i+; printf("%d,",a);main() int a=1,c=3; f(c); a=c+; printf("%d",a); A. 4,3 B. 3,3 C. 4,5&
83、#160;D. 3,5 D 115. 若有如下函數定義: /注意靜態變量的使用int fun() static int k=0; return +k;以下程序段運行后屏幕輸出為( )。int i;for(i=1;i<=5;i+) fun();printf("%d",fun(); A. 0 B. 1 C. 5 D. 6 D 116.
84、0; 下面程序的輸出結果是( )。#include <stdio.h>int global=100;fun()int global=5;return +global;void main() printf("%dn",fun(); A. 100 B. 101 C. 5 D. 6 B 117. 下列關于C語言函數的描述中,正確的是( )。
85、60;A. 函數的定義可以嵌套,但函數的調用不可以嵌套 B. 函數的定義不可以嵌套,但函數的調用可以嵌套 C. 函數的定義和函數的調用都可以嵌套 D. 函數的定義和函數的調用都不可以嵌套 D 118. 若有以下宏定義,#define MOD(x,y) x%y則執行以下程序段后,z的值是( )。int z,a=15,b=100;z=MOD(b,a); A. 100 B. 15 C. 1
86、1 D. 10 B 119. 以下敘述中,正確的是( )。 A. “#define PRICE=30”定義了與30等價的符號常量PRICE B. 預編譯處理命令行都必須以“#”開頭 C. 宏名只能包含大寫字母和數字字符 /可以包括小寫字母 D. 在程序的一行上可以書寫幾個有效的宏定義 A 120. 以下敘述中,正確的是( )。 A. 宏展開不占用運行時間,只占
87、用編譯時間 B. 預編譯處理命令行必須以分號結束 C. 一個源程序只能有一個預編譯處理命令行 D. 使用帶參數的宏定義時,應該說明每個參數的數據類型 C 121. 以下的敘述中不正確的是( )。 A. 宏展開不占用運行時間,只占用編譯時間 B. 宏名無類型 C. 宏名必須用大寫字母表示 D. 預處理命令行都必須以#號開始 A 122. 若有定義:#define PI
88、0;3,則表達式PI*2*2的值為( )。 A. 12 B. 4 C. 3 D. 不確定 C 123. 以下程序運行后,屏幕輸出為( )。#define MIN(a,b) (a)<(b)?(a):(b)main()int x=2,y=3,z; z=2*MIN(x,y); printf("%d",
89、z); A. 2 B. 3 C. 4 D. 6 A 124. 下面程序的輸出結果是( )。#include <stdio.h>#define SQR(x) (x*x)void main() int a,b=3; a=SQR(b+2); printf("n%d",a); A. 11 B. 2
90、5 C. 不定值 D. 產生錯誤 C 125. 下面程序的輸出結果是( )。#include <stdio.h>#define ONE 1#define TWO ONE+1#define THREE TWO+1void main() printf("%dn",THREE-ONE); A. 產生錯誤 B. 1 C. 2
91、60;D. 3 B 126. 以下敘述中正確的是( )。 A. 預處理命令行必須位于C源程序的起始位置 B. 在C語言中,預處理命令行都以"#"開頭 C. 每個C程序必須在開頭包含預處理命令行:#include<stdio.h> D. C語言的預處理不能實現宏定義和條件編譯的功能 D 127. 設有以下語句,則( )是對a數組元素的不正確引用,其中0i10。
92、; int a10=0,1,2,3,4,5,6,7,8,9, *p=a; A. ap-a B. *(&ai) C. pi D. *(*(a+i) C 128. 對于基類型相同的兩個指針變量之間,不能進行的運算是( )。 A. < B. = C. + D. - B 129. 執行以下程序段的輸出結果
93、是( )。 int a=10,*p=&a; printf("%d",+*p); A. 10 B. 11 C. 變量a的地址 D. 變量a的地址 + 1 A 130. 以下程序段運行后*(p+3)的值為( )。char a="good"char *p;p=a;
94、0;A. 'd' B. '0' C. 存放'd'的地址 D. 'o' C 131. 以下程序段運行后*(+p)的值為( )。char a5="work"char *p;p=a; A. 'w' B. 存放'w'的地址 C. 'o' D. 存放'o&
95、#39;的地址 B 132. 若有定義:int *p,a=4; p=&a;則以下均代表地址的是( )。 A. a,p B. &a,p C. &a,*p D. a,*p D 133. 若有說明語句:double *p,a;則能通過scanf語句正確給輸入項讀入數據的程序段是( )。 A. *p=&a;scanf("%lf"
96、,p); B. *p=&a;scanf("%lf",*p); C. p=&a;scanf("%lf",*p); D. p=&a;scanf("%lf",p); A 134. 在16位編譯系統上,若有定義int a=10,20,30,*p=&a;當執行p+;后下列敘述錯誤的是( )。 A. p向高地址移了一個字節 B. p與a+1等價 C.
97、60;語句printf("%d",*p);輸出20 D. p指向數組元素a1 B 135. 下面語句正確的是( )。 A. int *p; *p=20; B. char *s="abcdef" printf("%sn",s); C. char str="abcd" str+;/數組名不能改變 D. char str='a','b','c'printf("%s",str); /%s輸出字符串,必須以0結束D 136. 若有以下程序段,且0i4,0j3,則不能正確訪問a數組元素的是( )。int i,j,
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 工業設計與現代制造業的關系
- 工業節能技術與發展方向
- 工作壓力下的營養補充策略
- 工業設備維護與優化管理
- 工作空間環境優化以增強工作成效
- 工作場所的變革與創新
- 工程檢測中水泥檢測技術培訓
- 工程機械結構設計與分析
- 工程設計中智能化技術的應用前景
- 工程機械的結構設計與可靠性分析
- 直播間貨盤管理制度
- 2025至2030中國心臟電生理標測、導航和記錄設備行業發展趨勢分析與未來投資戰略咨詢研究報告
- 2025年重慶市中考道德與法治試卷真題(含標準答案)
- 2025年中國融通商業服務集團所屬單位招聘筆試沖刺題(帶答案解析)
- 三門峽市縣以下事業單位聯考招聘考試真題2024
- 2025年上半年山東鐵投集團校園招聘社會公開招聘165人筆試參考題庫附帶答案詳解
- 2025年貨運司機從業資格考試試卷及答案
- 安徽省合肥一中2025屆高三5月回歸教材讀本 解答
- 低碳智慧建筑技術創新發展白皮書2024(運行管理篇)
- 五朵金花抗抑郁藥
- 2025校招:網絡工程師筆試題庫及答案
評論
0/150
提交評論