?? answer2.txt
字號:
1. C程序的結構可分為哪幾類?(多選)
A.順序結構
B.循環結構
C.程序結構
D.選擇結構
答案: ABD
2. 輸入兩個實數a,b,然后交換它們的值,最后輸出(提示:要交換兩個數得借助一個中間變量temp。首先讓temp存放a的值,然后把b存入a,再把temp存入b就完成了)。
void main()
{
float a,b,temp;
printf("請輸入a和b的值:");
scanf("%d,%d",___);
temp = a;
___
___
printf("交換后, a=%d , b=%d\n",___);
}
答案: &a ,&b
a = b;
b = temp;
a , b
3. 當a,b,c的值分別為3,4,5時,以下各語句執行后a,b,c的值為多少?
(1)if(a>c)
{a=b;b=c;c=a;}
else
{a=c;c=b;b=a;}
執行后a,b,c的值為___,___,___
(2)if(a<c)
a=c;
else
a=b;c=b;b=a;
執行后a,b,c的值為___,___,___
(3)if(a!=c)
;
else
a=c;c=b;b=a;
執行后a,b,c的值為___,___,___
答案: 5 5 4
5 5 4
3 3 4
4. 當a=3,b=4,c=5時,寫出下列各式的值。
a<b的值為___, a<=b的值為___,
a==c的值為___, a!=c的值為___,
a&&b的值為___, !a&&b的值為___,
a||c的值為___, !a||c的值為___,
a+b>c&&b==c的值為___。
答案: 1 1
0 1
1 0
1 1
0
5. 假設所有變量均已說明,寫出下列各程序段運行后x的值。(多選)
ok1=1; ok2=2; ok3=0; x=15; a=3; b=4;
(1)if(!ok1)
x++;
else if(ok2)
{
if(ok3)
x=3;
else
x=4;
}
運行后x的值為下面哪一個?
A. 15 B. 3 C. 16 D. 4
(2)if(ok1)
{
if(a<b)
{
if(!ok3)
x=0;
else
x=1;
}
else
x=2;
}
else
x=3;
運行后x的值為下面哪一個?
A. 0 B. 1 C. 2 D. 3
答案: D A
6. 若整數x分別等于95、87、100、43、66、79,則以下程序段運行后屏幕顯示是什么?
switch(x/10)
{
case 6:
case 7:
printf("Pass\n");
break;
case 8:
printf("Good\n");
break;
case 9:
case 10:
printf("VeryGood\n");
break;
default:
printf("Fail\n");
}
x等于 95時,程序段運行后屏幕上顯示___
x等于 87時,程序段運行后屏幕上顯示___
x等于100時,程序段運行后屏幕上顯示___
x等于 43時,程序段運行后屏幕上顯示___
x等于 66時,程序段運行后屏幕上顯示___
x等于 79時,程序段運行后屏幕上顯示___
答案: VeryGood
Good
VeryGood
Fail
Pass
Pass
7. 在C語言的if語句中,用作判斷的表達式為___。(單選)
A. 關系表達式 B. 邏輯表達式
C. 算術表達式 D. 任意表達式
答案: D
8. 請問:下面這個程序段的輸出是什么?(單選)
int a,b,c;
a=7;b=8;c=9;
if(a>b)
a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
A. a=7 b=8 c=7 B. a=7 b=9 c=7
C. a=8 b=9 c=7 D. a=8 b=9 c=8
答案: A
9. 該程序的運行結果是:(單選)
void main()
{
int a,b,c;
a=2;b=7;c=5;
switch(a>0)
{
case 1:
switch(b<10)
{
case 1:printf("^");break;
case 0:printf("!");break;
}
case 0:
switch(c==5)
{
case 0: printf("*");break;
case 1: printf("#");break;
default:printf("%%");break;
}
default:
printf("&");
}
printf("\n");
}
A. ^#& B. ^ C. & D. ^!*#%&
答案: A
10. 該程序的輸出結果是多少?(單選)
m=37;n=13;
while(m!=n)
{
while(m>n)
m=m-n;
while(n>m)
n-=m;
}
printf("m=%d\n",m);
輸出結果為:
A. m=13 B. m=11
C. m=1 D. m=2
答案:C
11. 該程序的輸出結果是多少?(單選)
for(i=0;i<5;i++)
{
for(j=1;j<10;j++)
if(j==5)
break;
if(i<2)
continue;
if(i>2)
break;
printf("%d,",j);
}
printf("%d\n",i);
輸出結果為:
A. 10,3 B. 5,2
C. 5,3 D. 10,2
答案:C
12. 該程序的輸出結果是什么?(單選)
#include <stdio.h>
void main()
{
int n;
n=0;
while(n<8)
{
switch(n%3)
{
case 2:
putchar('2');
case 1:
putchar('i');
break;
case 0:
putchar('H');
}
n++;
}
}
A. Hi2Hi2Hi B. Hi2
C. Hi2iHi2i D. Hi2iHi2iHi
答案: D
13. 該程序的輸出結果是多少?(單選)
#include <stdio.h>
main()
{
int i,j,x=0;
for(i=0;i<2;i++)
{
x++;
for(j=0;j<=3;j++)
{
if(j%2)
continue;
x++;
}
}
printf("x=%d\n",x);
}
A. x=4 B. x=8 C. x=6 D. x=12
答案: B
14. 若k為整型,以下while循環執行___次.(單選)
k=2;
while(k=0)
printf("%d",k),k--;
printf("\n");
A. 無限次 B. 0次 C. 1次 D. 2次
答案: D
15. 下面這個程序的輸出是什么?(單選)
#include <stdio.h>
main()
{
int y=10;
while(y--);
printf("y=%d\n",y);
}
A. y=0 B. while構成死循環 C. y=1 D. y=-1
答案: D
16. 以下程序從讀入的整數數據中,統計大于零的整數個數和小于零的整數個數.用輸入零來結束輸入,程序中用變量i統計大于零的整數個數,用變量j統計小于零的整數個數.請填空.
#include <stdio.h>
main()
{
___ n,i,j;
printf("輸入非零的整數(輸入零結束程序)");
i=j=0;
scanf("%d",&n);
while___
{
if(n>0)
i=___;
if(n<0)
j=___;
___;
}
printf("i=%4d j=%4d\n",i,j);
}
答案: int
(n!=0)
i+1
j+1
scanf("%d",&n)
17. 圓周率pi的近似率可用下面的公式求得:
pi*pi/6 約等于 1/(1*1) +1/(2*2) +...+1/(n*n)
由以上公式可知,若n取值10000,則最后一項的值為1E-4,認為可達到精度要求。 以下程序用來求pi的近似值。請填空。(其中函數sqrt(a)用于求a的平方根)(單選)
#include <stdio.h>
#include <math.h>
main()
{
long i;
float pi;
pi=0.0;
for(i=1;i<=10000;i++)
pi+=___;
pi=sqrt(6.0*pi);
printf("pi=%10.6lf\n",pi);
}
A. 1/i*i B. 1/(i*i) C. 1.0/i*i D. 1.0/(i*i)
答案: D
18. 斐波哪契數列中的頭兩個數是0和1,從第三個數開始,每個數等于前兩個數的和,即:0,1,1,2,3,5,8,13,21,...等。下面這個程序就是求斐波哪契數列的前20個數。請填空。
#include <stdio.h>
void main()
{
int f,f1,f2,i;
f1=0;f2=___;
printf("%d\n%d\n",f1,f2);
for(i=3;i<=30;___)
{
f=___;
printf("%d\n",f);
f1=f2;
f2=___;
}
}
答案: 1
i++
f1+f2
f
19. 下面這個程序執行后i和s的值為多少?(單選)
#include <stdio.h>
void main()
{
int i,s;
i=0;s=0;
while(i<10);
{
s+=(i++);
printf("%d\n",s);
}
printf("i=%d\n",i);
}
A. i值為9,s值為45 B. i值為10,s值為45
C. i值為10,s值為36 D. 程序陷入了死循環
答案: D
20. 下面這個程序打印出以下這個三角形.請填空。
0
11
222
3333
44444
555555
6666666
77777777
888888888
9999999999
void main()
{
int i,j;
for(i=0;i<=___;i++)
{
for(j=0;j<___;j++)
printf(___);
___
}
}
答案: 9
i
"%d",i
printf("\n");
21. 讀懂下面的程序并填空。
#include <stdio.h>
void main()
{
long a,b,r;
scanf("%ld",&a);
b=0;
do{
r=a%10;
a=a/10;
b=b*10+r;
}while(a);
printf("%ld",b);
}
程序運行時如果輸入 37 , 輸出為___。
程序運行時如果輸入 -345 , 輸出為___。
程序運行時如果輸入 10239, 輸出為___。
答案: 73
-543
93201
22. 如圖所示,該算式在四個字母所在處欠缺四個數位,下面這個程序用窮舉法搜尋解法。請填空。
1A8
* 3B
_________
C73D
#include <stdio.h>
void main()
{
int A,B,C,D;
int x,y,z;
for(A=1;A<=9;A++)
for(B=1;B<=9;B++)
for(C=1;C<=9;C++)
for(D=1;D<=9;D++)
{
x=100 + ___ + 8;
y=___;
z=___+700 +30 +___;
if(___)
printf("A=%d,B=%d,C=%d,D=%d\n",
A,B,C,D);
}
}
答案:A*10
30+B
C*1000
D
x*y==z
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -