C語言考試試卷及答案
C語言程序設(shè)計(jì)A 課程 A卷 考試題
共 4 頁 此 第 1 頁 成績(jī)
一、單項(xiàng)選擇題(每小題2分,共40分)
1. C語言中合法的字符常量是( )
A.n B.’ ’ C.110 D.”n”
2. 有以下程序:
main( )
{ char ch=’A’;
printf(“ch(1)=%d,ch(2)=%c ”,ch,ch+1); }
程序運(yùn)行后的輸出結(jié)果是 ( )
A. ch(1)=65,ch(2)=A B. ch(1)=97,ch(2)=A
C. ch(1)=65,ch(2)=B D. ch(1)=97,ch(2)=B
3. 能表示a不能被2整除且a、b不相等,但a、b的和等于0的C語言邏輯表達(dá)式是(
A. a==-b&&a%2==0 B. a!=b&&a+b==0&&a%2
C. !(a%2)&&a==-b D.a%2==0&&a+b==0
4. 以下程序段中語句” printf("i=%d,j=%d ",i,j);”的執(zhí)行次數(shù)是( ) int i, j;
for(i=3;i ;i--)
for(j=1;j<5;j++) printf("i=%d,j=%d ",i,j);
A. 12 B. 20 C. 15 D. 24
5. 執(zhí)行以下程序段后,x[2]的值是( )
int x[10]={1,2,3,4,5,6,7,8,9,10},i,j,t;
i=0;j=9;
while(i<j)
{ t=x[i]; x[i]=x[j]; x[j]=t;
i++; j--; }
A. 8 B. 2 C. 3 D. 9
6. 判斷字符串”abcd”和”ab cd”是否相等,應(yīng)使用的語句是( )
A. if (“abcd”==”ab cd”) B. if (abcd==ab cd)
C. if (strcmp(“abcd”,”ab cd”)) D. if (strcmp(abcd,ab cd))
7. 若有定義“int *p,*q,a=2,b;”,則以下正確的賦值語句組是( )
A. p=&a; *q=*p; B. *p=a;*q=b;
C. p=&a;q=&b;*p=*q; D. p=&a;q=&b;*q=*p;
8. 以下說法錯(cuò)誤的是( ) )
A. C程序中可以只包含一個(gè)main函數(shù)
B. C程序由一個(gè)main函數(shù)和若干個(gè)其他函數(shù)構(gòu)成
C. C程序中可以沒有main函數(shù),但至少應(yīng)包含一個(gè)其他函數(shù)
D. C程序由函數(shù)組成,函數(shù)是構(gòu)成程序的基本單位
9. 以下選項(xiàng)中,能用作用戶標(biāo)識(shí)符的是( )
A. void B. 8_8 C. _0_ D. unsigned
10. 表達(dá)式:(int)((double)9/2)-(9)%2的值是( )
A. 0 B. 3 C. 4 D. 5
11. 有以下程序:
#include
void main()
{ int a,b,c=200;
a=c/10%9; b=!a||(a-2); printf("%d,%d ",a,b); }
A. 0,1 B. 2,1 C. 0,0 D. 2,0
12. “==”代表C語言中的( )
A. 條件運(yùn)算符 B. 邏輯運(yùn)算符 C. 關(guān)系運(yùn)算符 D. 賦值運(yùn)算符
13. .若a是數(shù)值類型,則邏輯表達(dá)式(a==1)||(a!=1)的值是( )
A. 1 B. 0 C. 2 D. 不知道a的值,不能確定
14. 有以下程序:
#include
void main()
{ int a=12,b=20,t=18;
if(a>b)
t=a;a=b;b=t;
printf("a=%d,b=%d,t=%d ",a,b,t); }
程序運(yùn)行后的輸出結(jié)果是( )
A. a=12,b=20,t=18 B. a=20,b=18,t=18 C. a=20,b=12,t=12 D. a=20,b=18,t=12
15. 執(zhí)行以下程序后的輸出是( )
#include
void main()
{ int x,y;
for(x=1,y=1;x<=20;x++) 5="=1){" y="">=20) break; 程序運(yùn)行后的輸出結(jié)果是( )
y=y-1;
}
printf("x=%d,y=%d ",x,y); }
A. x=5,y=21 B. x=4,y=21 C. x=5,y=20 D. x=4,y=20
16. 凡是函數(shù)中未指定存儲(chǔ)類別的局部變量其隱含的存儲(chǔ)類別是( )。
A. 自動(dòng)(auto) B. 靜態(tài)(static) C. 外部(extern) D. 寄存器(register)
17. C語言中用于結(jié)構(gòu)化程序設(shè)計(jì)的三種基本結(jié)構(gòu)是( )
A.. 順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu) B. if、switch、break
C. for、while、do-while D. if、for、continue
18. 在while(x)語句中的x與下面條件表達(dá)式等價(jià)的是:( )
A. x!=0 B. x==1 C. x!=1 D. x==0
19. 若二維數(shù)組a有m行n列,則下面能夠正確引用元素a[i][j]的`為( )
A. *(a+j*n+i) B. *(a+i*n+j) C. *(*(a+i)+j) D. *(*a+i)+j
20. 若有以下調(diào)用語句,則不正確的fun函數(shù)的函數(shù)原型是( )
void main()
{ …
int a[50],n;
?
fun(n, &a[9]);
? }
A. void fun(int m, int x[]); B. void fun(int s, int h[41]);
C. void fun(int p, int *s); D. void fun(int n, int a);
二、程序填空(每空2.5分,共20分)
1. 下面程序的功能是將一字符串中的小寫英文字母全部改成大寫形式,然后輸出。請(qǐng)?jiān)跈M線上填上適當(dāng)?shù)某绦虼a,使它能輸出正確的結(jié)果
#include
void main ()
{ int i=0;
}
2. 以下程序的功能是計(jì)算1!+2!+3!+?20!的值,請(qǐng)?zhí)羁?char str[80]; scanf("%s",str); while( ) { if( ) str[i]=str[i]-32; } printf("%s ",str);
#include
long fun(int t)
{ long a=1;
{
int n;
long sum=0,s;
for(n=1;n<=20;n++)
{ s=fun(n); }
printf("sum=%ld ",sum);
}
3. 以下程序的功能是用“輾轉(zhuǎn)相除法”求兩個(gè)正整數(shù)的最大公約數(shù),請(qǐng)?zhí)羁?#include
void main()
{ int r,a,b;
scanf("%d%d",&a,&b);
if(a<b)
{ r=a%b;
while(r!=0)
{ }
printf("%d ",b);
} int n; n++) return a; } void main
三、分析程序題(每空4分,共20分)
1. 以下程序運(yùn)行后的輸出結(jié)果是
#include
void main ()
{ int t;
for(t=1; t<=100; t++)
{ printf("%d ",t); if(t%2==1 && t%5==3) break; } }
2. 以下程序的功能是
#include
void main()
{ int n,s=0;
} scanf("%d",&n); while(n) { } printf("%d",s); s++; n=n/10;
3. 以下程序運(yùn)行后,若輸入5 5<回車>,則程序的輸出結(jié)果是#include
void main()
{ int a,b;
scanf("%d%d",&a,&b);
}
4. 以下程序運(yùn)行后的輸出結(jié)果是
#include
void main()
{ int a[10]={1,2,3,4,5,6,7,8,9,10};
int i,*p,s=0;
p=&a[0];
for(i=0;i<10;i++)
}
5. 以下程序運(yùn)行后的輸出結(jié)果是
#include
void main
{ int a[5]={1},i;
for(i=1;i<5;i=i+2)
a[i]=2*i; if((*(p+i))%3==0) s=s+*(p+i); if (a>6) if(a<10) else="" if="" b="">6) { if(b<10) b++; } else b--; printf("a=%d,b=%d ",a,b); printf("%d ",s);
【C語言考試試卷及答案】相關(guān)文章: