c093
有以下程式
#include <stdio.h>
main( )
{
int m,n;
scanf("%d%d", &m,&n);
while(m!=n){
while(m>n){
m=m-n;
}
while(n>m) {
n=n-m;
}
}
printf("%d\n",m);
}
該程式的功能是
A) 計算 m 和 n 的最大公約數
B) 計算 m 和 n 的最小公倍數
C) 計算 m 和 n 的差值
D) 找出 m 和 n 中的較大值
c094
以下程式擬實現計算 sum=1+1/2+1/3+ … +1/50 。
#include <stdio.h>
main( )
{
int i;
double sum;
sum=1.0;
i=1;
do{
i++; sum += 1/i;
}while( i<50 );
printf(“sum=%lf\n”,sum);
}
程式運行後,不能得到正確結果,出現問題的語句是
A) i++;
B) while(i<50);
C) sum = 1.0;
D) sum += 1/i;
c095
若有以下程式
#include <stdio.h>
main()
{
char a=‘5’, b;
a++;
printf("%d,%d\n", a-‘5’+255, b=a- ‘5’);
}
執行後的輸出結果是
A) 256,1
B) 1,256
C) 255,1
D) 256,0
c096
有以下程式
#include <stdio.h>
main( )
{
int a=1,b=2,c=3,d=4, r=0;
if (a!=1)
r=1;
if (b= =2)
r=2;
else if (c!=3)
r=3;
else if (d= =4)
r=4;
printf("%d\n", r);
}
執行後的輸出結果是
A) 0
B) 4
C) 1
D) 2
c097
有以下程式段
int s, n;
s=1;
for( n=10; n>0; n-- )
s+=n;
該程式段擬實現整數 1~10 的累加求和,但程式中有錯誤。以下 4種修改方案中仍然錯誤的一個是
A) 將 for 迴圈改為 for(n=2;n<10;n++)
B) 將 for 迴圈改為 for(n=10;n>1;n–)
C) 將 for 迴圈改為 for(n=10;n>=2;n–)
D) 將 s=1; 改為 s=0;
c098
以下關於迴圈語句的敘述中正確的是
A) do-while 語句的循環體至少執行一次
B) while 語句的循環體至少執行一次
C) for 語句的循環體至少執行一次
D) 上述 A、B、C 說法均正確
c099
有以下程式
#include <stdio.h>
main( )
{
int a=7, b=0;
do {
b += a;
a -=1;
} while ( a-- ) ;
printf( “%d,%d\n”, b, a );
}
執行後的輸出結果是
A) 16,0
B) 28,1
C) 16,-1
D) 28,0
c100
以下選項中不屬於 C 語言字元常量的是
A) ‘a’
B) ’\n’
C) ‘\xah’
D) ’\007’