一、填空與選擇
1.C語言從源程序的書寫到上機(jī)運(yùn)行輸出結(jié)果要經(jīng)過__________四個步驟。
2.C語言的表達(dá)式與語句的區(qū)別在于__________.
3.C語句_________ (有、沒有)輸入、輸出語句。
4.結(jié)構(gòu)化程序的編寫有__________三種程序結(jié)構(gòu)。
5.表達(dá)式10/3*9%10/2的值是__________.
6.設(shè)有“int x=2,y”說明,則逗號表達(dá)式“y=x+5,x+y”的值是________.
7.設(shè)有“int x=1”,則“x>0?2*x+1: 0”表達(dá)式的值是__________.
8.變量Y滿足以下兩條件中的任意一個:①能被4整除,但不能被100整除;②能被400整除。請用邏輯表達(dá)式表示所給條件。_____
9.邏輯運(yùn)算符“&&、||、 !”中的優(yōu)先級是______
10. C語言是由__________基本單位組成的。
A.過程 B.語句 C.函數(shù) D.程序
11.有如下語句: X+Y*Z>39 && X*Z||Y*Z是什么表達(dá)式__________
A.算術(shù)表達(dá)式 B.邏輯表達(dá)式 C.關(guān)系表達(dá)式 D.字符表達(dá)式
12.下面幾種說法中哪個是正確的?_________
A.else語句需與它前面的if語句配對使用;
B.else語句需與前面最接近它的if語句配對使用;
C.else語句需與前面最接近它,且沒有和其它else語句配對的if語句配對;
D.以上都正確。
13.有說明語句:char a[ ]=“this is a book”。請問該數(shù)組到底占了幾個字節(jié)?
A.11 B.12 C.14 D.15
14.設(shè)整型變量a為5,使b不為2的表達(dá)式是_________
A. b=a/2 B. b=6-(——a) C. b=a%2 D.b=a>3?2:1
15.設(shè)整型變量n的值為2,執(zhí)行語句“n+=n-=n*n”后,n的值是________
A.0 B.2 C.-4 D. 4
16.執(zhí)行語句“x=(a=3,b=a——)”后,x,a,b的值依次為________
A. 3, 3, 2 B. 3,2,2 C.3,2,3 D.2,3,2
17.如果X=5,執(zhí)行語句X*=X+=X*3后,則X的值為_________
A.100 B. 400 C. 450 D. 900
18.下列常量中哪個是不合法的________
A.2e32.6 B. 0.2e-5 C. “basic” D. 0x4b00
19.下列標(biāo)識符錯誤的是_______
A. x1y B._123 C. 2ab D. _ab
20. c語言中int型數(shù)-8在內(nèi)存中的存儲形式為_____
A.1111111111111000 B.1000000000001000
C.0000000000001000 D.1111111111110111
二、讀程序(結(jié)果寫在試卷的右邊)
1. 寫出下列程序段的輸出結(jié)果:
main()
{int x=5; int y=10;
printf(“%d\n”,x++);
printf(“%d\n”,++y); }
2. 下面程序的輸出結(jié)果是什么?
#include “stdio.h”
main()
{ int x=3;
switch(x)
{ case 1:
case 2:printf(“x<3\n”);
case 3:printf(“x=3\n”);
case 4:
case 5:printf(“x>3\n”);
default:printf(“x unknow\n”); } }
3.根據(jù)源程序,寫出相應(yīng)的數(shù)學(xué)表達(dá)式
#include “stdio.h”
main()
{ int x,y;
scanf(“%d”,&x);
if (x<0) y= -1;
else if (x= = 0)
y=0;
else y=1;
printf(“x=%d,y=%d\n”,x,y); }
4. 讀出下列程序的輸出結(jié)果:
main()
{ int a=1,b=1,c=1;
printf(“%d,%d,%d\n”,a,b,c)
a+=b+=++c;
printf(“%d,%d,%d\n”,a,b,c);
printf(“%d,%d,%d\n”,a++,——b,++c);
printf(“%d,%d,%d\n”,a,b,c); }
三、程序填空:(根據(jù)題意,將空缺的語句補(bǔ)上。)
1.下列程序的功能是計算圓的面積,將程序補(bǔ)充完整。
#define PI = 3.14159
main()
{ float r,s;
printf(“Enter a number r:”);
________
s=PI*r*r
_________; }
2.該程序完成的功能是求1+2+3+…+10的累加和,并進(jìn)行累加和的輸出打印。變量sum是存放累加值的。
#include “stdio.h”
main()
{ ____
i=1,sum=0;
for(; i<=10;)
{ sum+=i;
______ }
printf(“%d\n”,sum);}
四、改錯
求Fibonacci數(shù)列40個數(shù)。這個數(shù)列有如下特點(diǎn):第1,2 兩個數(shù)為1,1.從第3個數(shù)開始,該數(shù)是其前面兩個數(shù)之和。即:
F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n≥3)
程序如下,請改正:
main()
{ long int f1,f2
int i;
f1=f2=1;
for (i=1, i<=20 , i- -);
{ printf(“%12ld %12ld”,f1,f2);
if (i%4=0) printf(“\n”);
f1=f1+f2
f2=f2+f1; } }
五、編程
1.給定一個正整數(shù),判斷它是否能同時被3、5、7整除。
2.計算分段函數(shù):
3.從鍵盤錄入10個數(shù)到數(shù)組A,請將它們進(jìn)行由小到大的排序(方法不限)。
1.C語言從源程序的書寫到上機(jī)運(yùn)行輸出結(jié)果要經(jīng)過__________四個步驟。
2.C語言的表達(dá)式與語句的區(qū)別在于__________.
3.C語句_________ (有、沒有)輸入、輸出語句。
4.結(jié)構(gòu)化程序的編寫有__________三種程序結(jié)構(gòu)。
5.表達(dá)式10/3*9%10/2的值是__________.
6.設(shè)有“int x=2,y”說明,則逗號表達(dá)式“y=x+5,x+y”的值是________.
7.設(shè)有“int x=1”,則“x>0?2*x+1: 0”表達(dá)式的值是__________.
8.變量Y滿足以下兩條件中的任意一個:①能被4整除,但不能被100整除;②能被400整除。請用邏輯表達(dá)式表示所給條件。_____
9.邏輯運(yùn)算符“&&、||、 !”中的優(yōu)先級是______
10. C語言是由__________基本單位組成的。
A.過程 B.語句 C.函數(shù) D.程序
11.有如下語句: X+Y*Z>39 && X*Z||Y*Z是什么表達(dá)式__________
A.算術(shù)表達(dá)式 B.邏輯表達(dá)式 C.關(guān)系表達(dá)式 D.字符表達(dá)式
12.下面幾種說法中哪個是正確的?_________
A.else語句需與它前面的if語句配對使用;
B.else語句需與前面最接近它的if語句配對使用;
C.else語句需與前面最接近它,且沒有和其它else語句配對的if語句配對;
D.以上都正確。
13.有說明語句:char a[ ]=“this is a book”。請問該數(shù)組到底占了幾個字節(jié)?
A.11 B.12 C.14 D.15
14.設(shè)整型變量a為5,使b不為2的表達(dá)式是_________
A. b=a/2 B. b=6-(——a) C. b=a%2 D.b=a>3?2:1
15.設(shè)整型變量n的值為2,執(zhí)行語句“n+=n-=n*n”后,n的值是________
A.0 B.2 C.-4 D. 4
16.執(zhí)行語句“x=(a=3,b=a——)”后,x,a,b的值依次為________
A. 3, 3, 2 B. 3,2,2 C.3,2,3 D.2,3,2
17.如果X=5,執(zhí)行語句X*=X+=X*3后,則X的值為_________
A.100 B. 400 C. 450 D. 900
18.下列常量中哪個是不合法的________
A.2e32.6 B. 0.2e-5 C. “basic” D. 0x4b00
19.下列標(biāo)識符錯誤的是_______
A. x1y B._123 C. 2ab D. _ab
20. c語言中int型數(shù)-8在內(nèi)存中的存儲形式為_____
A.1111111111111000 B.1000000000001000
C.0000000000001000 D.1111111111110111
二、讀程序(結(jié)果寫在試卷的右邊)
1. 寫出下列程序段的輸出結(jié)果:
main()
{int x=5; int y=10;
printf(“%d\n”,x++);
printf(“%d\n”,++y); }
2. 下面程序的輸出結(jié)果是什么?
#include “stdio.h”
main()
{ int x=3;
switch(x)
{ case 1:
case 2:printf(“x<3\n”);
case 3:printf(“x=3\n”);
case 4:
case 5:printf(“x>3\n”);
default:printf(“x unknow\n”); } }
3.根據(jù)源程序,寫出相應(yīng)的數(shù)學(xué)表達(dá)式
#include “stdio.h”
main()
{ int x,y;
scanf(“%d”,&x);
if (x<0) y= -1;
else if (x= = 0)
y=0;
else y=1;
printf(“x=%d,y=%d\n”,x,y); }
4. 讀出下列程序的輸出結(jié)果:
main()
{ int a=1,b=1,c=1;
printf(“%d,%d,%d\n”,a,b,c)
a+=b+=++c;
printf(“%d,%d,%d\n”,a,b,c);
printf(“%d,%d,%d\n”,a++,——b,++c);
printf(“%d,%d,%d\n”,a,b,c); }
三、程序填空:(根據(jù)題意,將空缺的語句補(bǔ)上。)
1.下列程序的功能是計算圓的面積,將程序補(bǔ)充完整。
#define PI = 3.14159
main()
{ float r,s;
printf(“Enter a number r:”);
________
s=PI*r*r
_________; }
2.該程序完成的功能是求1+2+3+…+10的累加和,并進(jìn)行累加和的輸出打印。變量sum是存放累加值的。
#include “stdio.h”
main()
{ ____
i=1,sum=0;
for(; i<=10;)
{ sum+=i;
______ }
printf(“%d\n”,sum);}
四、改錯
求Fibonacci數(shù)列40個數(shù)。這個數(shù)列有如下特點(diǎn):第1,2 兩個數(shù)為1,1.從第3個數(shù)開始,該數(shù)是其前面兩個數(shù)之和。即:
F1=1 (n=1) F2=1 (n=2) Fn=Fn-1+Fn-2 (n≥3)
程序如下,請改正:
main()
{ long int f1,f2
int i;
f1=f2=1;
for (i=1, i<=20 , i- -);
{ printf(“%12ld %12ld”,f1,f2);
if (i%4=0) printf(“\n”);
f1=f1+f2
f2=f2+f1; } }
五、編程
1.給定一個正整數(shù),判斷它是否能同時被3、5、7整除。
2.計算分段函數(shù):
3.從鍵盤錄入10個數(shù)到數(shù)組A,請將它們進(jìn)行由小到大的排序(方法不限)。