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