本帖最後由 李知易 於 2024-12-14 12:01 編輯
c031
以下能夠實現計算 5!的程式段是- A)
- int fac=1,k=0;
- do{
- k++; fac*=k;
- } while(k<5);
- B)
- int fac=0,k=1;
- do{
- fac*=k; k++;
- }while(k<5);
- C)
- int fac=1,k=1;
- do{
- k++; fac*=k;
- } while(k<=5);
- D)
- int fac=1,k=0;
- do{
- fac*=k; k++;
- } while(k<5);
複製代碼 c032
有以下程式- #include <stdio.h>
- main()
- {
- int x=0,y=6;
- do{
- while(--y) x++;
- }while(y--);
- printf("%d,%d\n",x,y);
- }
複製代碼 程式的運行結果是
A) 5,0
B) 6,0
C) 5,-1
D) 6,-1
c033
有以下程式- #include <stdio.h>
- main()
- {
- char *s=“120119110”;
- int n0,n1,n2,nn,i;
- n0=n1=n2=nn=i=0;
- do{
- switch(s[i++]){
- default :
- nn++;
- case ‘0’ :
- n0++;
- case ‘1’ :
- n1++;
- case ‘2’ :
- n2++;
- }
- }while(s[i]);
- printf(“n0=%d,n1=%d,n2=%d,nn=%d\n”,n0,n1,n2,nn);
- }
複製代碼 程式的運行結果是
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
有以下程式- #include <stdio.h>
- int m1(int x,int y){
- return x<=y ? x :y;
- }
- int m2(int x,int y){
- return x<=y ? y :x;
- }
- int fun(int a,int b){
- return a+b;
- }
- main()
- {
- int x=2,y=3,z=1;
- printf("%d\n", fun(m1(x,y),m2(y,z)));
- }
複製代碼 程式的運行結果是
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++ |