C51单片机复习题及答案

  • 格式:doc
  • 大小:125.00 KB
  • 文档页数:8

1 C51程序设计基础单项选择练习题

一、基本概念

1. C语言程序是由 C 构成的。

A)一些可执行语言 B)main函数 C)函数 D)包含文件中的第一个函数

2.( A )是构成C语言程序的基本单位。

A、函数 B、过程 C、子程序 D、子例程

3.C语言程序从 C 开始执行。

A) 程序中第一条可执行语句 B) 程序中第一个函数

C) 程序中的main函数 D) 包含文件中的第一个函数

4.C语言程序从main()函数开始执行,所以这个函数要写在_D___。

A) 程序文件的开始 B) 程序文件的最后

C) 它所调用的函数的前面 D) 程序文件的任何位置

5、以下说法中正确的是( C )。

A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义

C、C语言程序总是从main( )函数开始执行

D、C语言程序中的main( )函数必须放在程序的开始部分

6. 下列方法中错误的是(D )。

A.主函数可以分为两个部分:主函数说明部分和主函数体。

B.主函数可以调用任何非主函数的其它函数。

C.任何非主函数可以调用其它任何非主函数。

D.程序可以从任何非主函数开始执行。

7. 下列说法错误的是:( B )

A. C程序运行步骤是编辑、编译、连接、执行。

B. C语言的变量名必须用小写,常量用大写。

C. C语言的三种基本结构是顺序、选择、循环。

D. C程序一定由函数构成的。

8.下列关于C语言的说法错误的是( B ) 。

A) C程序的工作过程是编辑、编译、连接、运行

B) C语言不区分大小写。

C) C程序的三种基本结构是顺序、选择、循环

D) C程序从main函数开始执行

9. 系统默认的C语言源程序扩展名为.C,需经过 C 之后,生成.exe文件,才能运行。

A) 编辑、编译 B )编辑、连接 C) 编译、连接 D) 编辑、改错

二、数据类型、运算符与表达式

1. 不是C语言提供的合法关键字是(B )。

A.switch B.cher C.case D.default

2.C语言中的简单数据类型包括(D )。

A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型

C、整型、字符型、逻辑型 D、整型、实型、字符型

3、下列可以正确表示字符型常量的是( A )。

A、’\t’ B、”a” C、”\n” D、297

4.下列表达式中, D 是正确的C语言字符常量。

A)”x” B)e3 C)”COMPUTER” D)’#’

5. 已定义c为字符型变量,则下列语句中正确的是 ( C )

A)c='97' B)c="97" C)c=‘a’ D)c="a"

6. 已知ch是字符型变量,不正确的赋值语句是( A )

A) ch='a+b' ; B) ch=' \0 ' ;

C) ch=' 7' ; D) ch=’;’; 2 7.C语言中字符型(char)数据在内存中的存储的是( D )

A) 原码 B) 补码 C) 反码 D) ASCII码

8.在C语言中,字符型数据所占的内存空间是( C )

A)2个字节 B) 4字节 C) 1字节 D)由用户自定义

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

A) %= B) / C) = D) 〈=

10.在C语言程序中,表达式8/5的结果是( B )

A)1.6 B)1 C)3 D)0

11.设x为int型变量,则执行以下语句后,x的值为 B

x=10; x+=x;

A) 10 B) 20 C) 40 D) 30

12.在C语言程序中,表达式5%2的结果是 C 。

A)2.5 B)2 C)1 D)3

13.如果int a=3,b=4;则条件表达式"ab为true

结果为a ;如果a>b为false结果为b)

A) 3 B) 4 C) 0 D) 1

14.若int x=2,y=3,z=4 则表达式x

A)4 B)3 C)2 D)0 E)1

15.C语言中,关系表达式和逻辑表达式的值是( B ) 。

A) 0 B) 0或1 C) 1 D) ‘T’或’F’

16. 下面( D )表达式的值为4.

A) 11/3 B) 11.0/3

C) (float)11/3 D) (int)(11.0/3+0.5)

17. 设 int x=0, y=1; 表达式(x&&y)的值是 ( A )

A) 0 B) 1 C) 2 D) -1

18. 以下运算符中优先级最高的运算符是( B )

A)&& B)++ C)+= D)!=

19. 设x为int型变量,则执行以下语句后,x的值为( C )

x=10; x*=x;

A) 10 B) 20 C) 100 D) 0

20.设 int x=0, y=1; 表达式(x||y)的值是 ( B )

A) 0 B) 1 C) 2 D) -1

21.设 int x=7; 表达式(x<<1)的值是 ( B )

A) 7 B) 14 C) 28 D) 3

22.设 int x=7; y=5表达式(x∧y)的值是 ( C )

A) 0 B) 1 C) 2 D) 7

三、选择结构

1. 表示关系x<=y<=z的c语言表达式为 A

A) (x<=y)&&(y<=z) B) (x<=y)AND(y<=z)

C) (x<=y<=z) D) (x<=y)&(y<=z)

2.能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是( D )

A) a>=10 or a<=0 B) a>=0|a<=10

C) a>=10 &&a<=0 D) a>=10‖a<=0

3. 为表示逻辑表达式79

A)( X>79 )&&( X<90 ) B) ( X>79 )!=( X<90 )

C) 7979 )||( X<90 )

4.设有语句“int a=2,b=3,c=-2,d=2;”,则逻辑表达式“a>0&&b&&c<0&&d>0”的 值是( A )

A.1 B.0 C.-1 D.出错

5.设x,t均为int型变量,则执行语句“x=10;t=x&&x>10;”后,t的值为(D ) 3 A.不定值 B.10 C.1 D.0

6. 若int i=10; 执行下列程序后,变量i的正确结果是( A )。

switch ( i )

{ case 9: i+=1;

case 10: i+=1;

case 11: i+=1;

default : i+=1; }

A、13 B、12 C、11 D、10

7.假定所有变量均已正确定义,则下列程序段运行后y的值是(A )

int a=0,y=10;

if(a=0) y--;

else if(a>0) y++;

else y+=y;

A.20 B.11 C.9 D.0

8.假定所有变量均已正确定义,则下列程序段运行后x的值是(B )。

a=b=c=0; x=35;

if(!a) x--;

else if(b);

if(c) x=3;

else x=4;

A.34 B.4 C.35 D.3

9. C语言对嵌套if语句的规定是:else语句总是与( D )配对。

A) 其之前最近的if B) 第一个if

C) 缩进位置相同的if D) 其之前最近的且尚未配对的if

10.在C语言语句中,用来决定分支流程的表达式是( A )。

A.可用任意表达式 B.只能用逻辑表达式或关系表达式

C.只能用逻辑表达式 D.只能用关系表达式

11.C语言中用( B )表示逻辑“真”。

A. true B. 整数值1

C. 非零整数值 D. false

12、若k是int型变量,且有下面的程序段:

int k;

k= -3;

if (k<=0) printf(“####”);

else printf(“&&&&”);

上面程序段的输出结果是( A )

A、#### B、&&&&

C、####&&&& D、有语法错误,无输出结果

13. main()

{ int x=0,a=0,b=0;

switch(x){

case 0: b++;

case 1: a++;

case 2: a++;b++;}

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

该程序的输出结果是 D

A) a=2,b=1 B) a=1,b=1 C) a=1,b=0 D) a=2,b=2

14. #include

void main( )

{ int x=1,y=0,a=0,b=0; 4 switch(x)

{ case 1: