习题2
1. 单项选择题。
(1)下面叙述不正确的是。( C )
A.一个C源程序可以由一个或多个函数组成
B.一个C源程序必须包含一个函数main()
C.在C程序中,注释说明只能位于一条语句的后面
D.C程序的基本组成单位是函数
(2)C程序总是从开始执行的。 ( B )
A.主函数B.主程序C.子程序D.主过程
(3)最基本的C语言语句是。( B )
A.赋值语句B.表达式语句C.循环语句D.复合语句
(4)在C51程序中常常把作为循环体,用于消耗CPU时间,产生延时效果。( D )
A.赋值语句B.表达式语句C.循环语句D.空语句
(5)在C51语言的if语句中,用做判断的表达式为。( B )
A.关系表达式B.逻辑表达式C.算术表达式D.任意表达式
(6)在C51语言中,当do-while语句中条件为时,结束循环。 ( B )
A.0 B.false C.true D.非0
(7)下面的while循环执行了( B )次空语句。
while(i=3);
A.无限次 B.0次 C.1次 D.2次
(8)以下描述正确的是( B )。
A.continue语句的作用是结束整个循环的执行
B.只能在循环体内和switch语句体内使用break语句
C.在循环体内使用break语句或continue语句的作用相同
D.以上三种描述都不正确
(9)在C51的数据类型中,unsigned char 型的数据长度和值域为( A )。
A.单字节,-128~127 B.双字节,-32768~+32767
C.单字节,0~255 D.双字节,0~65535
2. 填空题。
(1)一个C源程序至少应包括一个______main_______函数。
(2) C51中定义一个可位寻址的变量FLAH访问P3口的P3.1引脚的方法是
____sbit P31=P3^1;_______。
(3)C51扩充的数据类型_____SFR____用来访问MCS-51单片机内部的所有特殊功能寄存器。
(4)结构化程序设计的三种基本结构是_顺序,选择和循环_______。
(5) 表达式语句由___表达式加分号___组成。
(6) ___if______语句一般用做单一条件或分支数目较少的场合,如果编写超过3
个以上分支的程序,可用多分支选择的_switch_________语句。
(7) while语句和do-while语句的区别在于:__do-while___________语句是先执行、后判断,而___while______语句则是先判断、后执行。
(8) 下面的while循环执行了__无限次_________空语句。
i=3; while(i!=0);
(9) 下面的延时函数delay()执行了___10000_______空语句。
void delay(void
{int i;
for (i=0; i<10000; i++); }
(10)在单片机的C语言程序设计中,unsigned_char_____________类型数据经常用于处理ASCII字符或用于处理小于等于255的整型数。
(11)C51的变量存储器类型是指___data bdata xdata__________。
(12)C51中的字符串总是以___ \0 ________作为串的结束符,通常用字符数组来存放。
(13)在以下的数组定义中,关键字“code”是为了把tab数组存储在___程序存储器_______。 Unsigned char code b[]={?A?,?B?,?C?,?D?,?E?,?F?};
3.问答题。
(1)C51语言有哪些特点?作为单片机设计语言,它与汇编语言相比有什么不同?优势是什么?
答:C51语言主要特点如下:
1.C语言数据类型丰富,运算符方便
2.语言简洁、紧凑,使用方便、灵活
3.面向结构化程序设计的语言
4.C语言能进行位操作
5.生成目标代码质量高,程序执行效率高
C语言能直接对计算机硬件进行操作,既有高级语言的特点,又有汇编语言的特点,。利用C语言编程,具有极强的可移植性和可读性,同时,它不需程序员了解机器的指令系统,只需简单的熟悉单片机的硬件,
(2)有哪些数据类型是MCS-51系列单片机直接支持的?
答:
数据类型
长度
值域
unsigned char
单字节
0~255
signed char
单字节
-128~+127
unsigned int
双字节
0~65535
signed int
双字节
-32768~+32767
unsigned long
四字节
0~4294