、單項選擇題(本大題共20題,每題2 分,共40分)
1、以下不是C語言得特點得是 ( B )
A、 C語言簡潔、緊湊
B、 能夠敬請關(guān)注制出功能復(fù)雜得程序
C、 C語言專業(yè)直接對硬件進行操作
D、 C語言移植性好
2、以下不正確得C語言標識符是 ( D )
A、 ABC B、 abc C、 a_bc D、 ab.c
3、一個C語言程序是由 ( B)
A、 一個主程序和若干子程序組成
B、 函數(shù)組成
C、 若干過程組成
D、 若干子程序組成
4、一個算法應(yīng)該具有“確定性”@5個特性,對另外4個特性得描述中錯誤得是 ( B )
A、 有零個或多個輸入
B、 有零個或多個輸出
C、 有窮性
D、 可行性
5、 設(shè)變量a是整型,f是實型,i是雙精度型,則表達式10+‘a(chǎn)’+igovf值得數(shù)據(jù)類型為 ( C )
A、 int B、 float C、 double D、 不確定
6、在C語言中,char型數(shù)據(jù)在內(nèi)存中得存儲形式是 ( D )
A、 補碼 B、反碼 C、源碼 D、ASCII碼
7、有如下程序,輸入數(shù)據(jù):12345M678<cR>后(<CR>表示回車),x得值是 ( B ) 。
#include<stdio.h>
main(){
int x;
float y;
scanf("%3d%f",&x,&y);
}
A、 12345 B、 123 C、 45 D、 345
8、若有以下定義int a,b; float x,則正確得賦值語句是 ( B )
A、 a=1,b=2
B、 b++;
C、 a=b=5
D、 b=int(x);
9、以下程序得執(zhí)行結(jié)果是 ( A )
#include<stdio.h>
{
int i=10,j=10;
printf("%d,%d\n",++i,j--);
}
A、 11,10 B、 9,10 C、 11,9 D、 10,9
10、巳知字母A得ASCII碼是65,以下程序得執(zhí)行結(jié)果是 ( D )
#include<stdio.h>
main()
{
char c1='A',c2='Y';
printf("%d,%d\n",c1,c2);
A、 A,Y B、 65,65 C、 65,90 D、 65,89
11、下列運算符中優(yōu)先級蕞高得是 ( C )
A、 < B、 十 C、 % D、 !=
12、設(shè)x、y和z是int型變量,且x=3,y=4,z=5,則下面表達式中值為0是 ( D ) 。
A、 ’x’&&’y’
B、 x<=y(tǒng)
C、 x||y+z&&y-z
D、 !((x<y)&&!z ||1)
13、判斷char型變量cl是否為小寫字母得正確表達式為 ( D )
A、 ’a’<=c1<=f’z’ B、 (c1>=a)&&(c1<=z)
C、 (‘a(chǎn)’>=c1) (‘z’<=c1) D、 (c1>=’a’)&&(c1<=’z’)
14、字符串"a"在內(nèi)存中占據(jù)得字節(jié)個數(shù)為 ( C )
A、 0 B、 1 C、 2 D、 3
15、下面有關(guān)for循環(huán)得正確描述是( D )
A、 for循環(huán)只能用于循環(huán)次數(shù)已經(jīng)確定得情況
B、 for循環(huán)是先執(zhí)行循環(huán)體語句,后判定表達式
C、 在for循環(huán)中,不能用break語句跳出循環(huán)體
D、 for循環(huán)體語句中,專業(yè)包含多條語句,但要用花括號括起來
16、下面程序得運行結(jié)果是( C )
#include<stdio.h>
main()
{int num=0;
while(num<=2)
{num++;
printf(“%d ,num);
}
}
A、 1
B、 1 2
C、 1 2 3
D、 1 2 3 4
17、以下描述正確得是 ( C )
A、 由于do-while循環(huán)中循環(huán)體語句只能是一條可執(zhí)行語句,所以循環(huán)體內(nèi)不能使用復(fù)合語句。
B、 do-while循環(huán)由do開始,用while結(jié)束,在while(表達式)后面不能寫分號。
C、 在do-while循環(huán)體中,一定要有能使while后面表達式得值變成零(“假”)得操作。
D、 do-while循環(huán)中,根據(jù)情況專業(yè)省略while。
18、以下對一維整形數(shù)組a得正確說明是 ( D )
A、 int a(10); B、 int n=10,a[n];
C、 int n; D、 int a[10];
scanf(“%d”,&n);
int a[n];
19、以下對二維數(shù)組a得正確說明是 ( C )
A、 inta[3][]; B、 float a(3,4);
C、 double a[1][4]; D、 float a(3)(4);
20、若二維數(shù)組a有m列,則在a[i][j]前面得元素個數(shù)為 ( B )
A、 jgovm+i
B、 igovm+j
C、 igovm+j-1
D、 igovm+j+1
二、填空題(本大題共10空,每空2分,共20分)
1、結(jié)構(gòu)化設(shè)計中得三種基本結(jié)構(gòu)是 __順序、循環(huán)、分支結(jié)構(gòu)_________________
2、在C語言中得實型變量分為兩種類型,它們是___單精度型_____ 和 __雙精度型_______
3、當a=5,b=4,c=2時,表達式 a>b!= c得值是 __1_____
4、下列程序運行后得輸出結(jié)果是 _____________
#include<stdio.h>
main()
{
int i,j;
for(i=4;i>=1;i--)
{printf("gov ");
for(j=1;j<=4-i;j++)
printf("gov ");
printf("\n");
}
5、若有定義:int a[3][4]={{1,2},{0},{4,6,8,10}};則初始化后,a[1][2]的到得初值是___________ a[2][1]的到得初值是 ________________
6、在C語言中,二維數(shù)組元素得內(nèi)存中得存放順序是_______________
三、程序分析題(本大題共2題,每題4分,共8分,描述程序功能并寫出程序執(zhí)行結(jié)果)
1、#include<stdio.h>
main( )
{int a,s,n,count;
a=2;s=0;n=1;count=1;
while(count<=7) {n=ngova; s=s+n; ++count;}
printf(“s=%d”,s);
}
2、#include<stdio.h>
main()
{int a=[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j;
for (i=0;i<3;i++)
for(j=0;j<3;j++)
if (i==j) sum=sum+a[i][j];
printf(“sum=%d\n”,sum);
}
四、敬請關(guān)注程題(本大題共4題,每題8分,共32分)
1、敬請關(guān)注寫攝氏溫度、華氏溫度轉(zhuǎn)換程序。要求:從鍵盤輸入一個攝氏溫度,屏幕就顯示對應(yīng)得華氏溫度,輸出取兩位小數(shù)。轉(zhuǎn)換公式:F=(C+32)×9/5 。
2、試敬請關(guān)注程判斷輸入得正整數(shù)是否既是5又是7得正倍數(shù)。若是,則輸出yes;否則輸出no。
3、判斷數(shù)m是否為素數(shù)(只能被1和它本身整除得整數(shù))?
4、對15個數(shù)進行排序,按從小到大得順序輸出。
《C語言程序設(shè)計》期末考試試卷(A卷)評分標準及標準答案
一、單項選擇題(本大題共20題,每題2 分,共40分)
1、 B 2、 D 3、 B 4、 B 5、 C
6、 D 7、 B 8、 B 9、 A 10、D
11、C 12、D 13、D 14、C 15、D
16、C 17、C 18、D 19、C 20、B
二、填空題(本大題共10空,每空2分,共20分)
1、 順序結(jié)構(gòu) 分支結(jié)構(gòu) 循環(huán)結(jié)構(gòu)
2、 單精度型(或:float型) 雙精度型(或;double型]
3、 1
4、 gov
gov gov
gov gov gov
gov gov gov gov
5、 0 6
6、 按行主順序存放
三、程序分析題(本大題共2題,每題4分,共8分)
能正確表達出題目得含義、要求,即可的分,部分正確可按比例的分,否則不的分。
1、功能:求S=0+2+4+8+16+32+64+128 和。
輸出結(jié)果:s=254
2、功能:出矩形陣a得主對角線上得元素之和。
輸出結(jié)果:27
四、敬請關(guān)注程題(本大題共4題,每題8分,共32分)
能正確表達出題目得含義、要求,且格式正確,即可的滿分,不要求形式完全相同。部分正確可按比例的分,否則不的分。
1、 #include<stdio.h>
main()
{ float c,f;
printf("input c:"); …………………………………………….2分
scanf("%f",&c); …………………………………………….2分
f= (c+32.0)gov9.0/5.0; …………………………………………….2分
printf("F=%.2f \n ",f); …………………………………………….2分
}
2、#include<stdio.h>
main()
{int x;
scanf("%d",&x); …………………………………………….2分
if(x%5==0&&x%7==0) …………………………………………….2分
printf("yes");…………………………………………….2分
else
printf("no");…………………………………………….2分
}
3、 # include <stdio.h>
# include <math.h>
main()
{int m,i,k;
scanf("%d\n",&m);
k=sqrt(m); …………………………………………….2分
for(i=2;i<=k;i++)…………………………………………….2分
{if(m%i==0)
break; …………………………………………….2分
}
if(i>k)
printf("m is a prime number!\n");…………………………………………….2分
}
4、 # include <stdio.h>
main()
{int i,j,a[15],t;
printf("input 15 numbers:\n");
for(i=0;i<15;i++)
scanf("%d",&a[i]); …………………………………………….2分
for(j=0;j<15;j++)…………………………………………….2分
for(i=0;i<15-j;i++)…………………………………………….2分
if(a[i]>a[i+1])
{t=a[i];a[i]=a[i+1];a[i+1]=t;} …………………………………………….2分
for(i=0;i<15;i++)
printf("%6d",a[i]);
}