本帖最後由 李知易 於 2024-12-20 23:33 編輯
c041
若有定義:int a=0,b=0,c=0,d=0;,以下關於 C 語言表達式:
(++a || ++b) ? ++c : ++d 執行順序的敘述正確的是
(A)先計算表達式++a,其值為 1,由此可確定(++a || ++b)值為 1,因此計算++c
(B)先計算表達式++a,其值為 1;再計算表達式++b,其值為 1,由此可確定(++a || ++b)值為 1,因此計算++c
(C)先計算表達式++b,其值為 1;再計算表達式++a,其值為 1,由此可確定(++a || ++b)值為 1,因此計算++c
(D)先計算++a,++b,++d,使得 a,b,d 的值都為 1,由此可確定(++a || ++b)值為 1,因此計算++c
c042
有以下程式- #include <stdio.h>
- main( )
- {
- int a,b;
- for (a=0; a<3; a++){
- scanf("%d", &b);
- switch(b){
- default:
- printf("%d,", b++);
- case 1:
- printf("%d,", b++);
- case 2:
- printf("%d,", b++);
- }
- }
- }
複製代碼 程式運行時輸入:1 2 3,則輸出結果是
A) 1,2,3,
B) 1,2,2,3,4,5,
C) 1,2,3,2,3,3,
D) 1,1,1,2,2,3
c043
有以下程式- #include <stdio.h>
- main( )
- {
- int a = 1, b = 1;
- for( ; a–; )
- b–;
- printf("%d,%d\n", a, b);
- }
複製代碼 程式運行後的輸出結果是
A) -1,0
B) 0,0
C) -1,-1
D) 1,1
c044
有以下程式- #include <stdio.h>
- main( )
- {
- int a=1, b=0;
- for(; a<5; a++){
- if (a%2 = = 0)
- break;
- continue;
- b += a;
- }
- printf("%d \n", b);
- }
複製代碼 程式運行後的輸出結果是
A) 1
B) 0
C) 10
D) 4
c045
若有定義:char s[30] = {0};
運行時輸入:This is a string.
則以下不能正確讀入上述字串到字元陣列 s 中的選項是- A) scanf("%s", s);
- B) gets(s);
- C) for (i=0; (c=getchar())!= ‘\n’;i++)
- s[i] = c;
- D) i = 0;
- while ((c=getchar())!=’\n’)
- s[i++] = c;
複製代碼 |