C语言期中测试题(含答案)

  • 格式:doc
  • 大小:45.50 KB
  • 文档页数:7

下载文档原格式

  / 7
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

一、填空

1.C语言源程序文件的后缀是 .c 。

2.结构化程序由顺序结构、选择结构、循环结构三种基本结构组成。

3.在C语言中,用关键字 int 定义基本整型变量,一个基本整型变量系统分配 2 字节,用关键字 float定义单精度实型变量,一个单精度实型变量系统分配 4 字节,用关键字 double 定义双精度实型变量,一个双精度实型变量系统分配 8 字节。二、选择

1.以下选项中正确的实型常量是( A )

A.12. B.-20 C. 1,000 D. 4 5 6

2.以下选项中不正确的实型常量是(无正确答案)

A. B. C. D. 456e-2

3.以下选项中不合法的用户标示符是( C )

A. _123 B.A12_1 C. A $ D.Dim

4.C语言中运算对象必须是整型的运算符是( A )

A .% B./ C.! D.*

5. 若变量已正确定义并赋值,符合C语言语法的表达式是( B )

A.a=a+7 ; B.a=7+b+c,a++ C. int%4) D.a=a+7=c+b 6.下面合法的赋值语句是( C )

A.a=b=58 B.k=int(a+b) C. a=58,b=58 D.--i 7.若变量已正确定义为int ,要给a,b,c输入数据,正确的输入语句是( D ) A.read(a,b,c) B.scanf(“%d%d%d”,a,b,c)

C.scanf(“%D%D%D”,&a,&b,&c) D.scanf(“%d%d%d”,&a,&b,&c) 8.若变量a,b,t已正确定义,要将a和b中的数进行交换,以下选项中不正确的语句组是( C )

A.a=a+b,b=a-b,a=a-b; B. t=a,a=b,b=t;

C.a=t;t=b;b=a D.t=b;b=a;a=t;

9.若有正确定义语句:

double x=;

语句printf(“%f\n ”,(int)(x*1000+/(double)1000);的输出结果是( D )

A .输出格式说明与输出项不匹配,输出无定值

B .

C .!

D .

10. 若有以下程序段:

int a=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(“%d,%d,%d\\n ”,a,b,c);

执行后的输出结果是( B )

A .3,0,-10

B .0,0,5

C .-10,3,-10

D .3,0,3

11.下列运算符中优先级别最高的是( A )

A . !

B .%

C .-=

D .&&

12.为表示关系:z y x ≥≥,应使用的C 语言表达式是( A )

A .(x>=y)&&(y>=z)

B .(x>=y)AND(y>=x)

C .(x>=y>=z)

D .(x>=y)&(y>=z)

13.设a 、b 和c 都是int 型变量,且a=3,b=4,c=5,则以下的表达式中值为0的表达式是( D )

A .a&&b

B .a<=b

C .a||b+c&&b-c

D .!((a

14.有以下程序:

#include<>

main()

{ int a=2,b=-1,c=2;

if(a

if(b<0)

c=0;

else

c+=1;

printf(“%d\n”,c);

}

程序的运行结果是( C )

A.0 B.1 C.2 D.3

15.有以下程序:

#include<>

main()

{ int w=4,x=3,y=2,z=1;

printf(“%d\n”,(w

}

程序的运行结果( A )

A.1 B. 2 C.3 D. 4

16.有以下程序:

main()

{int a,b,s;

scanf(“%d %d”,&a,&b);

s=a;

if(a

s=b;

s*=s;

printf(“%d\n”,s);

}

若执行以上程序时从键盘上输入3和4,则输出结果是( B ) A.14 B.16 C.18 D.20

17.有以下程序段:

y=-1;

if(x!=0)

if(x>0) y=1;

else y=0;

其能正确表示的数学函数关系是( C )

A .⎪⎩⎪⎨⎧>=<-=)0(1)0(0)0(1x x x y

B .⎪⎩

⎪⎨⎧>=-<=)0(0)0(1)0(1x x x y

C .⎪⎩⎪⎨⎧>=-<=)0(1)0(1)0(0x x x y

D .⎪⎩

⎪⎨⎧>=<-=)0(0)0(1)0(1x x x y

18.若有定义语句int a, b ;double x ;则下列选项中正确的是( C )

A .switch (x%2)

B .switch ((int )x/ {case 0: a++; break; {case 0: a++; break; case 1: b++; break; case 1: b++; break; default : a++; b++; default : a++; b++;

} }

C .switch ((int )x%2)

D .switch ((int )(x )%2)

{case 0: a++; break; {case : a++; break; case 1: b++; break; case : b++; break; default : a++; b++; default : a++; b++;

} }

19.有以下程序段:

int k,j,s;

for(k=2;k<6;k++,k++)

{

s=1;

for(j=k;j<6;j++)