返回列表 發帖

APCS觀念題c031-035

本帖最後由 李知易 於 2024-12-14 12:01 編輯

c031
以下能夠實現計算 5!的程式段是
  1. A)
  2. int fac=1,k=0;
  3. do{
  4.     k++; fac*=k;
  5. } while(k<5);
  6. B)       
  7. int fac=0,k=1;
  8. do{
  9.     fac*=k; k++;
  10. }while(k<5);
  11. C)       
  12. int fac=1,k=1;
  13. do{
  14.     k++; fac*=k;
  15. } while(k<=5);
  16. D)       
  17. int fac=1,k=0;
  18. do{
  19.     fac*=k; k++;
  20. } while(k<5);
複製代碼
c032
有以下程式
  1. #include <stdio.h>
  2. main()
  3. {
  4.     int x=0,y=6;
  5.     do{
  6.         while(--y) x++;
  7.     }while(y--);
  8.     printf("%d,%d\n",x,y);
  9. }
複製代碼
程式的運行結果是
A)         5,0
B)        6,0
C)         5,-1
D)        6,-1

c033
有以下程式
  1. #include <stdio.h>
  2. main()
  3. {
  4.     char *s=“120119110”;
  5.     int n0,n1,n2,nn,i;
  6.     n0=n1=n2=nn=i=0;
  7.     do{
  8.         switch(s[i++]){
  9.             default :
  10.                nn++;
  11.             case ‘0’ :
  12.                 n0++;
  13.             case ‘1’ :
  14.                 n1++;
  15.             case ‘2’ :
  16.                 n2++;
  17.         }
  18.     }while(s[i]);
  19.     printf(“n0=%d,n1=%d,n2=%d,nn=%d\n”,n0,n1,n2,nn);
  20. }
複製代碼
程式的運行結果是
A)         n0=4,n1=8,n2=9,nn=1
B)        n0=2,n1=5,n2=1,nn=1
C)        n0=2,n1=7,n2=10,nn=1
D)         n0=3,n1=8,n2=9,nn=1

c034
有以下程式
  1. #include <stdio.h>
  2. int m1(int x,int y){
  3.     return x<=y ? x :y;
  4. }
  5. int m2(int x,int y){
  6.     return x<=y ? y :x;
  7. }
  8. int fun(int a,int b){
  9.     return a+b;
  10. }
  11. main()
  12. {
  13.     int x=2,y=3,z=1;
  14.     printf("%d\n", fun(m1(x,y),m2(y,z)));
  15. }
複製代碼
程式的運行結果是
A)6
B)5
C)4
D)3

c035
若有定義:int a=0,b=0,c=0,d=0; ,對於表達式 (a++ && b++) ? c++ : d++,
以下關於其執行順序的敘述正確是
A)先計算表達式 a++,其值為 0,由此即可確定(a++ && b++)值為 0,因此計算 d++
B)先計算表達式 a++,其值為 0;再計算表達式 b++,其值為 0,由此可確定(a++ && b++)值為 0,因此計算 d++
C)先計算表達式 a++,其值為 1;再計算表達式 b++,其值為 1,由此可確定(a++ && b++)值為 1,因此計算 c++
D)先計算表達式 b++,其值為 1;再計算表達式 a++,其值為 1,由此可確定(a++ && b++)值為 1,因此計算 c++

此帖僅作者可見

TOP

返回列表