返回列表 發帖

APCS觀念題c041-045

本帖最後由 李知易 於 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
有以下程式
  1. #include <stdio.h>
  2. main( )
  3. {
  4.     int a,b;
  5.     for (a=0; a<3; a++){
  6.         scanf("%d", &b);
  7.         switch(b){
  8.             default:
  9.                 printf("%d,", b++);
  10.             case 1:
  11.                 printf("%d,", b++);
  12.             case 2:
  13.                 printf("%d,", b++);
  14.         }
  15.     }
  16. }
複製代碼
程式運行時輸入: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
有以下程式
  1. #include <stdio.h>
  2. main( )
  3. {
  4.     int a = 1, b = 1;
  5.     for( ; a–; )
  6.         b–;
  7.     printf("%d,%d\n", a, b);
  8. }
複製代碼
程式運行後的輸出結果是
A)        -1,0
B)        0,0
C)        -1,-1
D)        1,1

c044
有以下程式
  1. #include <stdio.h>
  2. main( )
  3. {
  4.     int a=1, b=0;
  5.     for(; a<5; a++){
  6.         if (a%2 = = 0)
  7.             break;
  8.         continue;
  9.         b += a;
  10.     }
  11.     printf("%d \n", b);
  12. }
複製代碼
程式運行後的輸出結果是
A)        1
B)        0
C)        10
D)        4

c045
若有定義:char s[30] = {0};
運行時輸入:This is a string.
則以下不能正確讀入上述字串到字元陣列 s 中的選項是
  1. A)        scanf("%s", s);
  2. B)        gets(s);
  3. C)        for (i=0; (c=getchar())!= ‘\n’;i++)
  4.             s[i] = c;
  5. D)        i = 0;
  6.         while ((c=getchar())!=’\n’)
  7.             s[i++] = c;
複製代碼

41(A)
42(B)
43(B)
44(C)B
45(A)

TOP

1A
2B
3A
4B
5A

TOP

41.A(true直接跑)
42.B(1,2,2,1,2,3)
43.A(a-2次b-1次)
44.B(遇continue直接重跑)
45.A

TOP

1.A 依題意判斷
2.B 1會輸出兩次 2會輸出一次 3會輸出三次
3.A a會減兩次
4.B break又continue
5.A

TOP

本帖最後由 徐啟祐 於 2024-12-21 11:42 編輯

1.A(1or1=>1)
2.B(122345)
3.D(B)(NO FOR&NO-)
4.A(B)(2break)(0+1)
5.B(瓦特is get)A(scanf only one)
    ⪔〠   

TOP

本帖最後由 楊惇翔 於 2024-12-21 11:41 編輯

41.a
42.b
43.a
44.d
45.a

TOP

c041:a
c042:c
c043:d
c044:a
c045:d

TOP

返回列表