C語言試卷(B卷) 年 月考試
級 專業
一、單項選擇題(本題共有20個小題,每小題1分,共20分)
1、一個C語言程序是由( )。
A)一個主程序和若干子程序組成 B)函數組成
C)若干過程組成 D)若干子程序組成
2、一個C程序的執行是從( )。
A)本程序的main函數開始,到main函數結束
B)本程序文件的第一個函數開始,到本程序文件的最後一個函數結束
C)本程序的main函數開始,到本程序文件的最後一個函數結束
D)本程序文件的第一個函數開始,到本程序main函數結束
3、下列的標識符非法的是( )。
A)a_Char B)_7b C)25ab D)some
4、算術運算符,賦值運算符和關係運算符的運算優先級按從高到低依次為( )。A)算術運算、賦值運算、關係運算B)算術運算、關係運算、賦值運算C)關係運算、賦值運算、算術運算D)關係運算、算術運算、賦值運算
5、下列運算符優先級最高的是( )。
A)< B)= C)&& D)*
6、表達式10%2值是( )。A)0 B)1 C)5 D)5.0
7、若變量已正確定義,表達式(j=3,j++)的值是( )。A)3 B)4 C)5 D)0
8、設int a[ ]={1,2,3,4,5},*p=a; 則數組元素的正確表示是( )。A)a[2] B)&(a+1) C)a[5] D)&p
9、對二維數組的正確定義是( )。A)int a[ ] [ ]={1,2,3,4,5,6}; B)int a[2] [ ]={1,2,3,4,5,6};C)int a[ ] [3]={1,2,3,4,5,6}; D)int a[2,3]={1,2,3,4,5,6};
10、字符數組s不能作為字符串使用的是( )。A)char s[ ]="happy";B)char s[ ]={"happy"};C)char s[6]={'h','a','p','p','y'};D)char s[4]={'h','a','p','p','y'};
11、C語言程序的3種基本結構是( )。A)順序結構、選擇結構和循環結構 B)遞歸結構、循環結構和轉換結構
C)嵌套結構、遞歸結構和順序結構 D)循環結構、轉移結構和順序結構
12、表達式 1 || !3&&5的值為( )。
A)0 B)3 C)5 D)1
13、if語句的控制條件是( )。
A)只能用關係表達式 B)只能用關係或邏表達式
C)能用邏輯表達式 D)可以用任何表達式
14、下列循環語句中( )。
for (a=1,b=1;a<4&& b!=4; a++);
A)是無限循環 B)循環4次 C)循環次數不定 D)循環3次
15、若有說明語句:int a [3][4];則對a數組元素的正確引用是( )。
A)a[2][4] B)a[1,3] C)a[2][2] D)a(2)(1)
16、對do-while語言錯誤的說法是( )。A)可構成多重循環結構 B)循環次數不可能為0C)循環次數可能為0 D)先執行後判斷
17、設int x=1,a=9,b=6,c=7,d=8;則執行語句:if(a>b) if(c>d)x=2;else x=3; 後,x的值是( )。A)1 B)2 C)3 D)不確定
18、設char str1[10]=″ABCDE″,str2[10]=″XYZ″;則執行語句:printf(″%d″,strlen(strcpy(str1,str2))); 後的輸出是( )。A)3 B)5 C)8 D)9
19、若有說明:int i,j=7,*p=&i;則與i=j;等價的語句是( )。A)i=*p; B)*p=*&j; C)i=&j ; D)i=**p;
20、設整型變量n的值為2,執行語句「n+=n-=n*n;」後,n的值是( )。
A) 0 B) 4 C) - 4 D) 2
二、填空(本題共10個小題,每題2分,共20分)
1、把a,b定義成長整型變量的定義語句是______________________________
2、設x和y均為整型變量,且x=3,y=2,則1.0*x/y表達式的值為____________________
3、已有定義:float x=5.5;則表達式:x=(int)x+2的值為___________________
4、C語言標識符的第一個字符必須為下劃線或者______________.
5、實型變量的類型說明符有:__________、___________.
6、C語言中數組的下標下限為___________________________.
7、在C語言中,整型常量的書寫形式包括:八進位、十進位和_________進位.
8、在C語言中,一個雙精度型變量在內存佔用的字節數是___________.
9、在C語言中,當定義一個函數的類型為void時,說明執行該函數後_______________.
三、程序分析題(本題共6小題,每小題5分,共30分)
1、#include<stdio.h>
main
{ int i,j,r,c,m;
int a[3][3]={{100,200,300},{28,72,-30},{-850,2,6}};
m=a[0][0],r=0,c=0;
for(i=0;i<3;i++)
for(j=0;j<3;j++)
if(a[i][j]<m) m=a[i][j],r=i,c=j;
printf("%d,%d,%d\n",m,r,c);
}
輸出結果__________________________________________.
2、 a=3;
a+=(a<1)?a:1;
printf(「%d」,a);
輸出結果__________________________________________
3、執行程序段
int x=10,y=9;
int a,b,c;
a=(--x==y++)?--x:++y;
b=x++;
c=y;
輸出結果a,b,c的值分別是___________,__________,_______________________
4、設有程序段:
int i=1,sum=0;
do
{sum+=i++;}
while(i<6);
printf("%d\n",sum);
執行程序段後的輸出結果是__________________________
5、 main()
{ float c,f;
c=30.0;
f=(6*c)/5+32;
printf(「f=%f」,f);
輸出結果______________________________________.
6、main()
{
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
printf(「%d\n」,*(p+2));
四、程序設計題(本題共3小題,每小題10分,共30分)
1、 輸入年份year,如果是閏年,則輸出「 Yes!」,否則輸出「 No!」。
2、輸入兩個數按從大到小的順序輸出。
3、求1到50的奇數和。
課程考試參考答案與評分標準
課程名稱: C語言 考試性質:考試 試卷類型:B
考試班級: 考試方法:閉卷 命題教師:
1、B 2、A 3、C 4、B 5、D
6、A 7、A 8、A 9、C 10、D
11、A 12、D 13、D 14、D 15、C
16、C 17、C 18、A 19、B 20、C
二、填空(本題共9個小題,每空2分,共20分)
1、long a, b ; 2、1.5
3、7.0 4、英文字母
5、float, double 6、長度-1
7、十六 8、8
9、無返回值
三、程序分析題(本大題共6小題,每小題5分,共30分)
1、-850,2,0 2、4 3、8,8,10
4、15 5、f=68 6、3
四、程序設計題(本大題共3小題,共30分)
1、 main()
int year,leap; (1分)
scanf(「%d」,&year); (2分)
if((year%4==0&&year%100!=0))||(year%400==0)) (4分)
leap=1;
else leap=0;
if(leap) printf("%d is\n",year); (3分)
else printf("%d is not\n",year);
可以用其他方法編寫
2、 main()
int a,b,t; (2分)
scanf(「%d%d」,&a,&b); (2分)
if(a<b) (2分)
t=a; a=b; b=t; (2分)
Printf(「%d,%d\n」,a,b); (2分)
3、 main()
int i,sum; (2分)
for(i=1,sum=0;i<50;i+=2) (4分)
sum+=i; (2分)
printf(「sum=%d\n」,sum); (2分)
} 可以用其他方法編寫