最新单片机C语言期末考试题

最新单片机C语言期末考试题
最新单片机C语言期末考试题

单片机C语言期末考试题(A)

一、单项选择题:40 分

1、MCS-51系列的单片机中片内RAM的字节大小可能的是()

A、128M

B、128K

C、128

D、64

2、C51语言提供的合法的数据类型关键字是()。

A、sfr

B、BIT

C、Char

D、integer r

3、片内RAM的位寻址区,位于地址()处。

A、00H~1FH

B、20H~2FH

C、30H~7FH

D、80H~FFH

4、间接寻址片内数据存储区(256字节),所用的存储类型是()

A、data

B、bdata

C、idata

D、xdata

5、MCS-51单片机上电复位的信号是()

A、下降沿

B、上升沿

C、低电平

D、高电平

6、可以将P1口的低4位全部置高电平的表达式是()

A、P1&=0x0f

B、P1|=0x0f

C、P1^=0x0f

D、P1=~P1

7、一般单片机C51程序中,为了使程序执行的效率最高,函数参数传递时,函数参数的个数不能够超过()

A、1

B、2

C、3

D、4

8、需要扩展一片外部RAM,大小32K字节,需要的地址线是()

A、15

B、14

C、13

D、12

9、如果将中断优先级寄存器IP中,将IP设置为0x0A,则优先级最高的是()

A、外部中断1

B、外部中断0

C、定时/计数器1

D、定时/计数器0

10、单片机C51中用关键字()来改变寄存器组

A、interrupt

B、unsigned

C、using

D、reentrant

11、红外线遥控码由发射电路经()Hz的载频调制后发射。

A、38K

B、 12M

C、6M

D、 32。768K

12、红外线遥控码的逻辑“0”与逻辑“1”是以脉冲的()决定的。

A、电平

B、宽度

C、频率

D、形状

13、DS1302内的时钟寄存器是以()的数据格式定义的。

A、十进制

B、十六进制

C、BCD码

D、压缩BCD码

14、设MCS-51单片机晶振频率为12MHz,定时器作定时器使用时,其最高的输入计数频率应为()

A、2MHz

B、1MHz

C、500kHz

D、250kHz

15、使用_nop_()函数时,必须包含的库文件是()

A、reg52.h

B、absacc.h

C、intrins.h

D、stdio.h

16、ADC0809的启动转换的信号是()

A、ALE

B、EOC

C、CLOCK

D、START

17、线反转法识别有效按键时,如果读入的列线值不全为1,则说明()

A、有键被按下

B、一定只有一个键被按下

C、一定有多个键被按下

D、没有键被按下

18、DS18B20的总线方式是()

A、SPI

B、I2C

C、ONE—WIRE

D、SP2

19、24C02采用的总线形式是()

A、CAN

B、SPI

C、I2C

D、PWM

20、串行口每一次传送()字符。

A、1个

B、1串

C、1波特

D、1帧

二、判断题:10分

1、C51中,特殊功能寄存器一定需要用大写。( )

2、使用片内存储器时,EA脚必须置低。()

3、单片机外部中断时只有用低电平触发。()

4、bit定义的变量一定位于内部RAM的位寻址区。( )

5、采用单片机的C语言开发时,只能利用C51语言书写程序,不能嵌套汇编语言。()

6、51系列的单片机至少有5个中断,KEIL C51软件支持最多32个中断。( )

7、MCS-51单片机的程序存储器是可以用来存放数据的。( )

8、bit和sbit都是用来定义位变量,所以两者之间没有区别,可以随便替换使用。()

9、MCS-51单片机的位地址总共有256位。( )

10、串口中断请求标志必须由软件清除。( )

三、多项选择题:10分

1 、目前,MCS-51单片机采用的开发语言是()

A、机器语言

B、汇编语言

C、BASIC语言

D、C语言

E、PASCAL语言

2、51单片机的RAM包含以下几个部分()

A、通用寄存器区

B、可位寻址区

C、用户RAM区

D、SFR

3、C51中使用最广泛的三个数据类型是()

A、bit

B、unsigned char

C、unsigned int

D、int

4、关于bit型变量的用法,说法正确的()

A、bit变量不能声明为指针

B、不能定义有bit数组

C、bit型变量自动存储于内部RAM的位寻址区

D、bit型变量不可用作函数返

回值

5、存储器模式有()

A、xdata

B、small

C、code

D、large

四、填空20分

1、单片机中,常用作串入并出的芯片是_____________,常用作232串口电平转换芯片是_________________。

2、在单片机硬件设计时,31脚一般要接_____ _____,晶振在PCB设计中应尽量____________________。

3、单片机程序的入口地址是______________,外部中断0的入口地址是______________。

4、非编码式键盘识别有效键盘的方法通常有两种:一种是_______________另一种是_______________。

5、若采用12MHz的晶体振荡器,则MCS-51单片机的振荡周期为_____________,机器周期为_______________。

6、LCD1602常用的写子函数有______________和_____ __________两种。

7、KeiL C51软件中,工程文件的扩展名是____ _____,编译连接后生成可烧写的文件扩展名是_____ ______

8、字符型LCD标准西文字库采用是__ ___________编码方式。

9、若只需要开串行口中断,则IE的值应设置为__ ________,若需要将外部中断0设置为下降沿触发,则执行的语句为____________。

10、红外编码中用户码的作用是______________一帧按键码由个______________字节组成。

11、DS1302是双电源工作方式,第二电源的作用是____________________________。

五、综合应用20分

1、假设单片机的晶体振荡器的频率是12MHz,利用定时器1采用方式1定时20ms,写出初值的计算过程和整个定时器初始化程序,同时写出在P1.7脚上输出0.2秒的方波的完整程序。

2、画出下列要求的原理图,假设单片机的P1口的连接8个LED,P3连接8的对地的按键,当某个按钮按下时相应的LED点亮。根据描述画出原理图,并编写程序控制?

单片机C语言期末考试题(B)

一、单项选择题:40 分

1、MCS-51系列的单片机中片内RAM的字节大小可能的是()

A、128M

B、128K

C、128

D、64

2、C51语言提供的合法的数据类型关键字是()。

A、sfr

B、BIT

C、Char

D、integer r

3、片内RAM的位寻址区,位于地址()处。

A、00H~1FH

B、20H~2FH

C、30H~7FH

D、80H~FFH

4、间接寻址片内数据存储区(256字节),所用的存储类型是()

A、data

B、bdata

C、idata

D、xdata

5、MCS-51单片机上电复位的信号是()

A、下降沿

B、上升沿

C、低电平

D、高电平

6、可以将P1口的低4位全部置高电平的表达式是()

A、P1&=0x0f

B、P1|=0x0f

C、P1^=0x0f

D、P1=~P1

7、一般单片机C51程序中,为了使程序执行的效率最高,函数参数传递时,函数参数的个数不能够超过()

A、1

B、2

C、3

D、4

8、需要扩展一片外部RAM,大小32K字节,需要的地址线是()

A、15

B、14

C、13

D、12

9、如果将中断优先级寄存器IP中,将IP设置为0x0A,则优先级最高的是()

A、外部中断1

B、外部中断0

C、定时/计数器1

D、定时/计数器0

10、单片机C51中用关键字()来改变寄存器组

A、interrupt

B、unsigned

C、using

D、reentrant

11、红外线遥控码由发射电路经()Hz的载频调制后发射。

A、38K

B、 12M

C、6M

D、 32。768K

12、红外线遥控码的逻辑“0”与逻辑“1”是以脉冲的()决定的。

A、电平

B、宽度

C、频率

D、形状

13、DS1302内的时钟寄存器是以()的数据格式定义的。

A、十进制

B、十六进制

C、BCD码

D、压缩BCD码

14、设MCS-51单片机晶振频率为12MHz,定时器作定时器使用时,其最高的输入计数频率应为()

A、2MHz

B、1MHz

C、500kHz

D、250kHz

15、使用_nop_()函数时,必须包含的库文件是()

A、reg52.h

B、absacc.h

C、intrins.h

D、stdio.h

16、ADC0809的启动转换的信号是()

A、ALE

B、EOC

C、CLOCK

D、START

17、线反转法识别有效按键时,如果读入的列线值不全为1,则说明()

A、有键被按下

B、一定只有一个键被按下

C、一定有多个键被按下

D、没有键被按下

18、DS18B20的总线方式是()

A、SPI

B、I2C

C、ONE—WIRE

D、SP2

19、24C02采用的总线形式是()

A、CAN

B、SPI

C、I2C

D、PWM

20、串行口每一次传送()字符。

A、1个

B、1串

C、1波特

D、1帧

二、判断题:10分

1、C51中,特殊功能寄存器一定需要用大写。( )

2、使用片内存储器时,EA脚必须置低。()

3、单片机外部中断时只有用低电平触发。()

4、bit定义的变量一定位于内部RAM的位寻址区。( )

5、采用单片机的C语言开发时,只能利用C51语言书写程序,不能嵌套汇编语言。()

6、51系列的单片机至少有5个中断,KEIL C51软件支持最多32个中断。( )

7、MCS-51单片机的程序存储器是可以用来存放数据的。( )

8、bit和sbit都是用来定义位变量,所以两者之间没有区别,可以随便替换使用。()

9、MCS-51单片机的位地址总共有256位。( )

10、串口中断请求标志必须由软件清除。( )

三、多项选择题:10分

1 、目前,MCS-51单片机采用的开发语言是()

A、机器语言

B、汇编语言

C、BASIC语言

D、C语言

E、PASCAL语言

2、51单片机的RAM包含以下几个部分()

A、通用寄存器区

B、可位寻址区

C、用户RAM区

D、SFR

3、C51中使用最广泛的三个数据类型是()

A、bit

B、unsigned char

C、unsigned int

D、int

4、关于bit型变量的用法,说法正确的()

A、bit变量不能声明为指针

B、不能定义有bit数组

C、bit型变量自动存储于内部RAM的位寻址区

D、bit型变量不可用作函数返

回值

5、存储器模式有()

A、xdata

B、small

C、code

D、large

四、填空20分

1、单片机中,常用作串入并出的芯片是_____________,常用作232串口电平转换芯片是_________________。

2、在单片机硬件设计时,31脚一般要接_____ _____,晶振在PCB设计中应尽量____________________。

3、单片机程序的入口地址是______________,外部中断0的入口地址是______________。

4、非编码式键盘识别有效键盘的方法通常有两种:一种是_______________另一种是_______________。

5、若采用12MHz的晶体振荡器,则MCS-51单片机的振荡周期为_____________,机器周期为_______________。

6、LCD1602常用的写子函数有______________和_____ __________两种。

7、KeiL C51软件中,工程文件的扩展名是____ _____,编译连接后生成可烧写的文件扩展名是_____ ______

8、字符型LCD标准西文字库采用是__ ___________编码方式。

9、若只需要开串行口中断,则IE的值应设置为__ ________,若需要将外部中断0设置为下降沿触发,则执行的语句为____________。

10、红外编码中用户码的作用是______________一帧按键码由个______________字节组成。

11、DS1302是双电源工作方式,第二电源的作用是____________________________。

四、简答题20分

1、在使用8051的定时器/计数器前,应对它进行初始化,其步骤是什么?答:

4、在有串行通信时,定时器/计数器1的作用是什么,怎样确定串行口的波特率?

单片机c语言设计试题答案

单片机C语言程序设计师试题 一、填空题 1、设X=5AH,Y=36H,则X与Y“或”运算为_________,X与Y的“异或”运算为________。 2、若机器的字长为8位,X=17,Y=35,则X+Y=_______,X-Y=_______(要求结果写出二进制形式)。 3、单片机的复位操作是__________(高电平/低电平),单片机复位后,堆栈指针SP的值是________。 4、单片机中,常用作地址锁存器的芯片是______________,常用作地址译码器芯片是_________________。 5、若选择内部程序存储器,应该设置为____________(高电平/低电平),那么,PSEN信号的处理方式为__________________。 6、单片机程序的入口地址是______________,外部中断1的入口地址是_______________。 7、若采用6MHz的晶体振荡器,则MCS-51单片机的振荡周期为_________,机器周期为_______________。 8、外围扩展芯片的选择方法有两种,它们分别是__________________和_______________。 9、单片机的内部RAM区中,可以位寻址的地址范围是__________________,特殊功能寄存器中,可位寻址的地址是____________________。 10、子程序返回指令是________,中断子程序返回指令是_______。 11、8051单片机的存储器的最大特点是____________________与____________________分开编址。 12、8051最多可以有_______个并行输入输出口,最少也可以有_______个并行口。 13、_______是C语言的基本单位。 14、串行口方式2接收到的第9位数据送_______寄存器的_______位中保存。 15、MCS-51内部提供_______个可编程的_______位定时/计数器,定时器有_______种工作方式。 16、一个函数由两部分组成,即______________和______________。 17、串行口方式3发送的第9位数据要事先写入___________寄存器的___________位。 18、利用8155H可以扩展___________个并行口,___________个RAM单元。 19、C语言中输入和输出操作是由库函数___________和___________等函数来完成。二、选择题 1、C语言中最简单的数据类型包括()。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 2、当MCS-51单片机接有外部存储器,P2口可作为 ( )。 A、数据输入口 B、数据的输出口 C、准双向输入/输出口 D、输出高8位地址 3、下列描述中正确的是()。 A、程序就是软件 B、软件开发不受计算机系统的限制 C、软件既是逻辑实体,又是物理实体 D、软件是程序、数据与相关文档的集合 4、下列计算机语言中,CPU能直接识别的是()。 A、自然语言 B、高级语言 C、汇编语言 D、机器语言 5、MCS-5l单片机的堆栈区是设置在( )中。 A、片内ROM区 B、片外ROM区 C、片内RAM区 D、片外RAM区 6、以下叙述中正确的是()。 A、用C语言实现的算法必须要有输入和输出操作 B、用C语言实现的算法可以没有输出但必须要有输入 C、用C程序实现的算法可以没有输入但必须要有输出 D、用C程序实现的算

同济大学C语言期末考试卷

同济大学C语言期末考试卷 2005-2006学年第二学期《C程序设计期末试卷》(闭卷) 一、单项选择题(20分) 1. 在定义函数时,能用以下(1) 标识符作函数名。 A.struct B._abc C. 8abc D. abc@https://www.360docs.net/doc/d811642801.html, 2在一个函数被调用执行过程中,当执行到函数体中(2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是(3) 。 A. main函数是自定义函数,因此函数体中的声明和语句都是可选的 B. main函数定义时可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源程序的起始位置 D. 在一个源程序中只能有一个main函数定义 4.以下函数定义中正确的是(4) 。 A. double fun(intx,y){ return x*y;} B. double fun(intx,int x){ return x*x; } C. double fun(register intx,int y){ return x*x;} D. double fun(extern intx,int y){ return x*y;} 5.若函数定义为void fun(intx,inty,int *p) { *p= x>y ? x : y; },且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是(5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2); 6. 若函数定义为double fun(double x,double y){ return x/y;},则以下fun引用声明(函数原型)中错误的是(6) 。 A. double fun(double x,double y); B. double fun(double a,double b); C. double fun(double ,double ); D. float fun(double x,double y); 7.以下程序段中,有语法错误的是。 A. double f; double f (double x) { return f=x*x; } C. double f (double x) { double f; return f=x*x; } B. double f (double f) { return f*f;} D. double f (double x) { if(x>0){ double f ; return f=x;} else{ double f ; return f= -x;} } 8.以下一维数组声明中,正确的是(8) 。 A. int a[ ]; B.int b[10],a[b]; C. int a[4]={1,2,3,4,5}; D. int a[sizeof('a')]={'a'};

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

单片机C语言期末考试习题

单片机C语言期末考试题(A) 一、单项选择题:40 分 1、MCS-51系列的单片机中片内RAM的字节大小可能的是() A、128M B、128K C、128 D、64 2、C51语言提供的合法的数据类型关键字是()。 A、 3、片内 A、 4 A、 5、 A 6 A、 7 A、1 8 A、 9 A C 10 A、 11、红外线遥控码由发射电路经(? )Hz的载频调制后发射。 A、38K B、?12M? C、6M D、?32。768K 12、红外线遥控码的逻辑“0”与逻辑“1”是以脉冲的()决定的。 A、电平 B、宽度 C、频率 D、形状 13、DS1302内的时钟寄存器是以()的数据格式定义的。

A、十进制 B、十六进制 C、BCD码 D、压缩BCD码 14、设MCS-51单片机晶振频率为12MHz,定时器作定时器使用时,其最高的输入计数频率应为() A、2MHz B、1MHz C、500kHz D、250kHz 15、使用_nop_()函数时,必须包含的库文件是() A、reg52.h B、absacc.h C、intrins.h D、stdio.h 16、ADC0809的启动转换的信号是() A、ALE B、EOC C、CLOCK D、START 17 A C 18、 A、 19、 A、 20 A、 1、 2、使用片内存储器时,EA脚必须置低。() 3、单片机外部中断时只有用低电平触发。() 4、bit定义的变量一定位于内部RAM的位寻址区。( ) 5、采用单片机的C语言开发时,只能利用C51语言书写程序,不能嵌套汇编语言。()

6、51系列的单片机至少有5个中断,KEIL C51软件支持最多32个中断。( ) 7、MCS-51单片机的程序存储器是可以用来存放数据的。( ) 8、bit和sbit都是用来定义位变量,所以两者之间没有区别,可以随便替换使用。() 9、MCS-51单片机的位地址总共有256位。( ) 10 1 A D 2、51 A 3、C51 A、bit 4、关于 A、 C、bit型变量自动存储于内部RAM的位寻址区 D、bit型变量不可用作函数返回值 5、存储器模式有() A、xdata B、small C、code D、large 四、填空20分

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】 A) 函数 B) 语句 C) 字符 D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】 A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】 A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】 A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】 A) 整型、实型、逻辑型 B) 整型、实型、字符型 C) 整型、双精度型、布尔型 D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】 A) 固定的 B) 由用户自己定义的 C) 任意的 D) 与机器字长有关

单片机试题库分章节答案(C语言).docx

精品文档(红色是考试考过的,蓝色是老师给的习题“重点看“) 第 1 部分单片机概述及数学基础 一、填空题 1、十进制255的二进制是11111111,十六进制是FF。 2、单片机是将CPU 、存储器、特殊功能寄存器、定时 /计数器和输入 /输出接口电路、以及相互连接的总线等集成在一块芯片上。 3、十进制 127 的二进制是1111111,十六进制是7F。 4、+59 的原码是00111011 , -59 的补码是 11000101。 5、十进制数 100 转换为二进制数是1100100;十六进制数100 转换为十进制数是256。 6、十进制数 40 转换为二进制数是101000 ;二进制数10.10 转换为十进制数是 2. 5。 7、十进制 99 的二进制是1100 011 ,十六进制是63。 二、判断题 (×)1、AT89S51是一种高性能的16 位单片机。 8 位机 (×) 2、有符号正数的符号位是用 1 表示的。 三、选择题 ()1、计算机中最常用的字符信息编码是(A) A. ASCII B.BCD 码 C. 余 3 码 D. 循环码 四、简答题 1、何谓单片机?单片机与一般微型计算机相比,具有哪些特点? 第 2 部分 51 单片机硬件结构、存储系统及 I/O 接口 一、填空题 1、AT89S51 单片机共有4个8位的并行I/O口,其中既可用作地址/数据口,又可用作一般的I/O 口的是P0。 2、若采用12MHz的晶振,则 MCS-51 单片机的振荡周期为 __ 1/12 μS __,

机器周期为 ____1μS __。 3、AT89S51 单片机字长是 ___8___位,有 ___40 根引脚。 4.89S51 单片机是8位单片机,其PC计数器是16 位。 5.若单片机使用的晶振频率是6MHz, 那么一个振荡周期是1/6μS,一个机器 周期是2μSμS。 6.89S51 单片机是+5V 供电的。 4.0-5.5V 7.堆栈是内部数据RAM 区中,数据按先进后出的原则出入栈的。8.MSC-51 系列单片机具有4个并行输入/输出端口,其中_P0_口是一个两用接口,它可分时输出外部存储器的低八位地址和传送数据,而_P1__口是 一个专供用户使用的I /O 口,常用于第二功能的是P3口。 9.当单片机系统进行存储器扩展时,用P2口的作为地址总线的高八位,用 P0 作为地址总线的低八位。 10.半导体存储器分为___ROM ___和__ RAM __两大类,其中前者具 有非易失性(即掉电后仍能保存信息),因而一般用来存放系统程序,而后者具 有易失性,因而一般用来存放经常变动的用户程序.中间结果等。 11.MCS-51 系列单片机对外部数据存储器是采用_DPTR___作为指针的, 其字长为_ 16__位,因而可寻址的数据存储器的最大空间为_64K_字节。 12. 51 单片机有26 个特殊功能寄存器,其中11个具有位寻址功能。 13. 当单片机系统需要外扩展存储器时,P2 和P0作为地址总线。 14.AT89S51 单片机上电初始化后,将自动设置一些寄存器的初始值,其中堆栈 指针 SP 的初始值为07H,P0口复位值是FFH。 15.单片机两种节电模式:空闲模式和掉电模式,节电模式是由特 殊功能寄存器PCON中的有关位来控制的。 16.在单片机硬件设计时, 31 脚一般要接 ___高电平 ___,晶振在 PCB 设计中应 尽量 ___靠近 51 芯片 ___。 17.在 AT89S51 单片机中, RAM 是数据存储器,ROM为程序存储器。 18.单片机的复位方式主要有上电复位和按键复位两种。 19.AT89S51 单片机的内部 RAM 的寻址空间为256B,而内部ROM的寻址 空间为4K。

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

昆明理工大学C语言期末考题库

昆明理工大学C语言期末考题库一个数组中的所有元素可以具有不相同的数据类型。选择一项: 对 错 C语言中,do-while语句构成的循环只能用break语句退出。选择一项: 对 错 数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。 选择一项: 对 错 已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字 符串"China"。 选择一项: 对 错 论使用何种参数传递方式,形参变量值的改变都不影响实参变量的值。 选择一项:

对 错 以下有关宏替换的叙述不正确的是_______。选择一项: a. 宏替换不占用运行时间 b. 宏替换只是字符替换 c. 宏名无类型 d. 宏名必须用大写字母表示 结构体可以定义在单独的头文件中,使用时需要在对应C文件中包含该头文件。 选择一项: 对 错 可以用swicth结构实现的程序都可以使用if语句来实现。选择一项: 对 错 下面对typedef的叙述中不正确的是_______。 选择一项: a. typedef只是将已存在的类型用一个新的标识符来代表

b. 用typedef可以增加新类型 c. 用typedef可以定义各种类型名,但不能用来定义变量 d. 使用typedef有利于程序的通用和移植 枚举类型时一种基本的数据类型。 选择一项: 对 错 switch语句的结束发生在break;语句的执行或者switch语句的“}”。选择一项: 对 错 f(int a) { int b=0;static int c=3; b++; c++; return(a+b+c); } 选择一项: a. 7 7 7 b. 7 8 9 c. 7 10 13 d. 7 9 11

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

大一c语言期末考试题

大一c语言期末考试题 C语言期末考试试题附答案 一选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套 C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c;

江苏大学大一c语言期末复习题汇总

选择题 1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

单片机C语言(非常通俗易懂)

单片机C语言(非常通俗易懂) (一) 相信很多爱好电子的朋友,对单片机这个词应该都不会陌生了吧。不过有些朋友可能只听说他叫单片机,他的全称是什么也许并不太清楚, 更不用说他的英文全称和简称了。单片机是一块在集成电路芯片上集成了一台有一定规模的微型计算机。简称为:单片微型计算机或单片机 (Single Chip Computer)。单片机的应用到处可见,应用领域广泛,主要应用在智能仪表、实时控制、通信、家电等方面。不过这一切都没 什么关系,因为我(当然也包括任何人)都是从不知道转变成知道的,再转变成精通的。现在我只想把我学习单片机的经历,详细地讲叙给大 家听听,可能有些大虾会笑话我,想:那么简单的东西还在这里卖弄。但是你错了,我只是把我个人学习的经历讲述一遍而已,仅仅对那些想 学习单片机,但又找不到好方法或者途径的朋友,提供一个帮助,使他们在学习过程中,尽量少走些弯路而已! 首先,你必须有学习单片机的热情,不是说今天去图书馆看了一个下午关于单片机的书,而明天玩上半天,后天就不知道那个本书在讲什 么东西了。还是先说说我吧,我从大二的第一个学期期末的时候才开始接触单片机,但在这之前,正如上面所说的:我知道有种芯片叫单片机, 但是具体长成什么样子,却一点也不知道!看到这里很多朋友一定会忍不住发笑。嘿嘿,你可千万别笑,有些大四毕业的人也同样不知道单片 机长成什么样子呢!而我对单片机的痴迷更是常人所不能想象的地步,大二的期末考试,我全放弃了复习,每当室友拿着书在埋头复习的时候, 我却捧着自己从图书馆借的单片机书在那看,虽然有很多不懂,但是我还是坚持了下来,当时我就想过,为了单片机值不值得我这样去付出, 或许这也是在一些三流学校的好处吧,考试挂科后,明年开学交上几十元一门的补考费,应该大部分都能过了。于是,我横下一条心,坚持看 我的单片机书和资料。 当你明白了单片机是这么一回事的时候,显而易见的问题出来了:我要选择那种语言为单片机编写程序呢?这个问题,困扰了我好久。具 体选择C51还是A51呢?汇编在我们大二之前并没有开过课,虽然看着人家的讲解,很容易明白单片机的每一时刻的具体工作情况,但是一合上 书或者资料,自己却什么也不知道了,根本不用说自己写程序了。于是,我最终还是决定学C51,毕竟C51和我们课上讲的C语言,有些类似, 编程的思想可以说是相通的。而且C51还有更大的优点就是编写大程序时的优越性更不言而喻,当然在那时,我并没有想的那么深远,C51的特 点,还是在后来的实践过程中,渐渐体会到的!朋友如果你选择了C51,那么请继续往下看,如果你选择了A51,那么你可以不要看了!因为下面讲 的全是C方面的,完全在浪费你的时间! 呵呵 ^_^ 第二,既然你想学好单片机,你必须得舍得花钱,如果不买些芯片回来自己动手焊焊拆拆的(但是在后期会介绍给大家一个很好用的硬件 仿真软件,并不需要你用实验板和仿真器了,直接在你的PC上完成,但是软件毕竟是软件,从某个特定的意义上来说是并不能代替硬件的),即使

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

《单片机的C语言程序设计与运用(第2版)》期末复习题及答案2

第四章 中断类 例4-1 P104 假设外部中断0和外部中断1均为下降沿触发,当外部 中断0发生时,P0端口的电平反向,当外部中断1发生 时,P1端口的电平反向。 #include void IS0(void) interrupt 0 { P0=~P0;} //P0端口反向 void IS1(void) interrupt 2 { P1=~P1;} //P1端口反向 void main( )

{ P0=0x00; P1=0xFF; IT0=1; IT1=1; EX0=1; EX1=1; EA=1; while(1); } 【例4-9】外部中断示例 在本实例中,首先通过P1.7口点亮发光二极管D1,然后外部输入一脉冲串,则发光二极管D1亮、暗交替。 #include sbit P1_7=P1^7; void interrupt0( ) interrupt 0 using 2 //外部中断0 { P1_7=!P1_7;} void main( )

{ EA=1; //开中断 IT0=1; //外部中断0脉冲触发 EX0=1; //外部中断0 P1_7=0; do{ }while(1); } 如果有3个脉冲,则灯亮、暗交替一次,可如下面编程:#include Sbit P17=P1^7; unsigned char i=3; void main( ) { EA=1; IT0=1; EX0=1; P17=0; do{ }while(1); } void interrupt0( ) interrupt 0 { i=i-1; if(i==0) { P17=!P17; i=3; } } 【例4-10】如图4-18所示,8只LED阴极接至单片机P0口,两开关

大一C语言期末考试参考资料(个人推荐)

C 语言总复习 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构 (三个循环结构), 选择结构 (if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 1级优先级左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级右结合 ! 逻辑非运算符 ~ 按位取反运算符

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

大学生C语言期末考试必做题库

C语言

第一题 在屏幕上显示一个短句“Programming in C is fun!” #include int main() { printf("Programming in C is fun!\n"); return 0; } 第二题 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ #include int main( ) { printf("+---+---+\n| | |\n| | |\n+---+---+\n"); return 0; } 第三题 在屏幕上显示一条语句“This is a C program.” #include int main() { printf("This is a C program.\n"); return 0; } 第四题 输出如下图形: ********** very good! ********** #include int main( ) { printf("**********\nvery good!\n**********\n"); return 0; }

第一题求平方根(基础) 程序填空,不要改变与输入输出有关的语句。 输入1个实数x,计算并输出其平方根(保留1位小数)。 例:输入17输出The square root of 17.0 is 4.1 #include #include int main( ) { double x, root; scanf("%lf", &x); root=sqrt(x); printf("The square root of %0.1f is %0.1f\n", x, root); return 0; } 第二题计算一个三位数的个十百位之和 编写程序。 输入一个三位数(大于0),计算这个三位数的个位、十位、百位数字之和. 例如:输入:152输出:sum=8 #include #include int main() { int n,a,b,c,sum; scanf("%d",&n); a=n/100; b=n%100/10; c=n%10; sum=a+b+c; printf("sum=%d\n",sum); return 0; } 第三题(公共)求圆的周长、面积及圆球体积 程序填空,不要改变与输入输出有关的语句。 求以r为半径的圆周长c和圆面积s,再求以r为半径的圆球体积v。(已知r=3.67在程序中直接赋值,pi的值为3.1415926) 按照下列形式输出: printf("c=%f\ns=%f\nv=%f\n",c,s,v); #include int main( ) { double r,c,s,v,pi=3.1415926; r=3.67; c=2*pi*r;

相关文档
最新文档