单片机C语言程序设计师试题及答案

合集下载

c程序设计试题及答案

c程序设计试题及答案

c程序设计试题及答案一、选择题(每题2分,共20分)1. 下列选项中,哪一个是C语言的标准输入输出库函数?A. printf()B. scanf()C. getchar()D. A和B答案:D2. 在C语言中,以下哪个关键字用于定义一个函数?A. intB. voidC. functionD. return答案:A3. 以下哪个语句用于结束C程序的执行?A. break;B. continue;C. exit();D. return;答案:C4. C语言中,哪个类型用于表示字符?A. charB. stringC. characterD. letter答案:A5. 在C语言中,以下哪个运算符用于判断两个值是否相等?A. ==B. !=C. <D. >答案:A6. 下列哪个选项是C语言中的逻辑运算符?A. &&B. ||C. +D. -答案:A7. 在C语言中,哪个关键字用于定义一个数组?A. arrayB. listC. vectorD. None of the above答案:D8. 下列哪个选项是C语言中的循环结构?A. ifB. whileC. switchD. case答案:B9. 在C语言中,哪个关键字用于声明一个变量为静态存储类别?A. staticB. autoC. registerD. extern答案:A10. 下列哪个选项是C语言中的位运算符?A. &B. |C. ^D. All of the above答案:D二、填空题(每空1分,共10分)1. 在C语言中,使用________关键字可以定义一个结构体。

答案:struct2. 一个C语言程序的执行从________函数开始。

答案:main3. 在C语言中,________运算符用于取反一个逻辑值。

答案:!4. 一个C语言数组的索引是从________开始的。

答案:05. 使用________函数可以在C语言中动态分配内存。

C语言程序设计试题及答案完整版

C语言程序设计试题及答案完整版

C语言复习资料5元必须清楚的: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个字节就可以了。

C语言程序设计历年统考试题集10套含答案

C语言程序设计历年统考试题集10套含答案

C语言程序设计试题集(第1套)请将第一、二、三、四题的答案写在答题页的相应题目的后面(写在别处不得分)。

一、单项选择题(每题2分,共20分)1、以下叙述不正确的是A)C程序由函数构成B) 一个C程序至少包含一个main函数C) main函数可以调用main函数D) main函数是每个程序执行的起始点2、C程序中能直接让机器执行的文件是A)编辑后的.c源文件 B)通过编译的.obj文件C)通过连接的.exe文件 D)编辑后的.bak文件3、假设定义变量如下:int x;float y;以下输入语句中哪个是正确的?A)scanf(“%f%d”,&y,&x); B)scanf(“%f%d”, y, x); C)scanf(“%f%f”,&y,&x); D)scanf(“%d%d”,&y,&x);4、已知:int a[][3]={1,2,3,4,5,6};则数组a的第一维的大小是A)2 B)3 C)4 D)无确定值5、.如果switch表达式是char 变量code,下面哪一个case子句是合法的。

A)case “3”:B) case ‘3’: C)case 3 : D)case =3:6、能正确表示”x的值在[1,10]和[200,210]范围内”的表达式是A)(x>=1)&&(x<=10)&&(x>=200)&&(x<=210)B) (x>=1) || (x<=10) || (x>=200) || (x<=210)C) (x>=1)&&(x<=10) || (x>=200)&&(x<=210)D) (x>=1) || (x<=10)&&(x>=200) || (x<=210)7、C语言中while和do-while 循环的主要区别是A)do-while循环至少无条件执行一次,而while循环可能一次也不执行B)while循环控制条件比do-while循环控制条件严格C)do-while循环允许从外部转到循环体内,而while循环不允许D)do-while的循环体可以是复合语句,而while循环不可以是复合语句 8、下面哪一项函数的头部是有效的?A)one(int a int b)B)int thisone(char x)C)char another(int a,b)D)double yetanother9、若有定义char x[ ]= "12345"; char y[ ]={ '1', '2', '3', '4', '5'};则A)x数组与y数组的长度相同B)x数组长度大于y的长度C)x 数组长度小于y数组长度 D)x数组等价于y 数组10、二维数组的第一个元素的行下标和列下标是A) 1,1 B)0,1 C)1,0 D) 0,0二、填空题(每空3分,共30分)1、如果a=4, b=3,那么,在执行语句a=b;之后,a、b的值分别是(1)2、语句:if(6>5)printf(“#”);printf(“$”);输出(2)3、for( sum=j=0; j<=10; ++j) sum += j; 循环结束后sum的值等于(3)4、长度为10的int类型数组和长度为3 的double类型数组,哪一个数组占用的内存空间多(4)5、字符数组a)char a[]=“one”;占多少内存字节(5)6、如果ch<‘A’或ch>‘Z’,那么,表达式ch>=‘A’&& ch<=‘Z’的值是(6)7、编写C语句,交换a、b的值(7)8、为了使用库函数getchar(),必须在程序中包含命令(8)9、设int numbers[5]={17,25,30,56,58};编写C的for语句,将数组numbers中的每个元素减去3。

(完整版)C语言程序设计题库及答案,推荐文档

(完整版)C语言程序设计题库及答案,推荐文档
C.4ab
D.a2_b 19 . 以下叙述中错误的是__A___。 A.用户所定义的标识符允许使用关键字 B.用户所定义的标识符应尽量做到“见名知意 C.用户所定义的标识符必须以字母或下划线开头 D.用户定义的标识符中,大、小写字母代表不同标识 20 . C 语言程序中,下列( C)组标识符是合法。 A.abc、2id、while B.4d、DO、oodb
B.二进制
C.十进制
D.八进制
3 . 以下不正确的 C 语言标识符是(C )。
A.AB1
B._ab3
C.4ab
D.a2_b
4 . 以下运算符中优先级最低的运算符是_D____。
A.&&
B.& C.||
D.=
5 . 在 C 语言中,要求运算数必须是整型的运算符是___A___。
A.%
B./ C.<
D.!
12 . 以下说法不正确的是__D___。 A.在 C 程序中,逗号运算符的优先级最低 B.在 C 程序中,aph 和 aPh 是两个不同的变量 C.若 a 和 b 类型相同,在计算了赋值表达式 a=b 后 b 中的值将放入 a 中,而 b 中的值不变 D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输 入实型数 13 . C 语言程序的基本单位是_C______。 A.程序行 B.语句 C.函数 D.字符 14 . C 语言程序中,下列(C )组符合变量命名规则。 A.for、-sub、xy
A.1
B.3
C.2.0
D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。 A.1 B.2 C.3 D.6 20 . 有 int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。 A.x&&y B.! (x<y&&!z||1) C.x||y+z&&y-z D.x<=y 21 . 已定义 c 为字符型变量,则下列语句中正确的是____C__。

51单片机c语言考试题和答案

51单片机c语言考试题和答案

51单片机c语言考试题和答案一、单项选择题(每题2分,共20分)1. 51单片机中,以下哪个寄存器是用于存储程序计数器(PC)的值?A. DPTRB. SPC. PCD. ACC答案:C2. 在51单片机中,以下哪个指令用于将累加器A的内容传送到外部数据存储器?A. MOV A, @R0B. MOV @R0, AC. MOV A, #dataD. MOV DPTR, #address答案:B3. 51单片机的定时器/计数器有几种工作模式?A. 2种B. 3种C. 4种D. 5种答案:C4. 51单片机中,以下哪个指令用于将立即数传送到累加器A?A. MOV A, #dataB. MOV A, @R0C. MOV A, R0D. MOV A, DPTR答案:A5. 51单片机的串行通信中,以下哪个寄存器用于存储串行数据?A. TCONB. SCONC. PCOND. IE答案:B6. 51单片机中,以下哪个指令用于将累加器A的内容与寄存器R0的内容进行异或操作?A. XOR A, R0B. ORL A, R0C. ANL A, R0D. CPL A答案:A进行逻辑与操作?A. ANL A, #dataB. ORL A, #dataC. XRL A, #dataD. CPL A答案:A8. 51单片机中,以下哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑或操作?A. ORL A, R0B. ANL A, R0C. XRL A, R0D. CPL A答案:AR0的内容进行逻辑异或操作?A. ORL A, R0B. ANL A, R0C. XRL A, R0D. CPL A答案:C10. 51单片机中,以下哪个指令用于将累加器A的内容与寄存器R0的内容进行逻辑非操作?A. ORL A, R0B. ANL A, R0C. XRL A, R0D. CPL A答案:D二、填空题(每题2分,共20分)1. 51单片机的外部中断有______个,分别是INT0和INT1。

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案

C语言程序设计期末考试试题含答案一、选择题(每题 3 分,共 30 分)1、以下选项中,不是 C 语言关键字的是()A intB floatC charD string答案:D解释:string 不是 C 语言的关键字,C 语言中表示字符串通常使用字符数组。

2、以下能正确表示八进制整数的是()A 018B 0x18C 0o18D 18答案:C解释:在 C 语言中,八进制整数以 0 开头,数字取值范围 0 7,所以 0o18 能正确表示八进制整数。

3、若有定义:int a = 5, b = 2; 则表达式 a / b 的值是()A 25B 2C 20D 3答案:B解释:在 C 语言中,两个整数相除,结果为整数,舍去小数部分,所以 5 / 2 的结果是 2 。

4、以下程序段的输出结果是()int x = 10;printf("%d\n",++x);A 10B 11C 9D 12答案:B解释:++x 是先将 x 的值增加 1,然后再使用 x 的值,所以输出11 。

5、若有定义:int a5 ={1, 2, 3, 4, 5};则 a2的值是()A 2B 3C 4D 5答案:B解释:数组下标从 0 开始,所以 a2的值是 3 。

6、以下函数声明中,正确的是()A void fun(int a, b);B void fun(int a, int b);C void fun(int a; int b);D void fun(int, int);答案:B解释:函数参数列表中,每个参数都需要明确指定其类型,所以 B 选项正确。

7、若有定义:char str ="hello";则 sizeof(str)的值是()A 5B 6C 20D 不确定答案:B解释:str 数组不仅包含字符'h','e','l','l','o',还包含一个字符串结束符'\0',所以 sizeof(str)的值是 6 。

c语言51单片机试题及答案

c语言51单片机试题及答案

c语言51单片机试题及答案一、选择题(每题2分,共20分)1. 下列关于C语言的描述中,正确的是()。

A. C语言是一种汇编语言B. C语言是一种高级语言C. C语言是一种面向对象的编程语言D. C语言是一种面向过程的编程语言答案:D2. 在C语言中,用于定义一个结构体的关键字是()。

A. structB. unionC. enumD. typedef答案:A3. 51单片机中,下列哪个寄存器用于存储程序计数器的值()。

A. SPB. PCC. PSWD. ACC答案:B4. 在C语言中,用于定义一个函数的关键字是()。

A. structB. unionC. functionD. int5. 51单片机中,下列哪个寄存器用于存储累加器的值()。

A. SPB. PCC. PSWD. ACC答案:D6. 在C语言中,用于定义一个全局变量的关键字是()。

A. staticB. externC. registerD. auto答案:B7. 51单片机中,下列哪个寄存器用于存储程序状态字的值()。

A. SPB. PCC. PSWD. ACC答案:C8. 在C语言中,用于定义一个静态变量的关键字是()。

A. staticB. externC. registerD. auto答案:A9. 51单片机中,下列哪个寄存器用于存储堆栈指针的值()。

B. PCC. PSWD. ACC答案:A10. 在C语言中,用于定义一个寄存器变量的关键字是()。

A. staticB. externC. registerD. auto答案:C二、填空题(每题2分,共20分)1. C语言中,定义一个整型变量的关键字是______。

答案:int2. 在C语言中,用于声明一个函数的关键字是______。

答案:extern3. 51单片机中,用于存储当前工作寄存器的寄存器是______。

答案:R0-R74. C语言中,用于声明一个静态变量的关键字是______。

C程序设计题库(含答案)

C程序设计题库(含答案)
A、定义该变量的程序文件中的函数都可以访问。
B、定义该变量的函数中的定义处以下的任何语句都可以访问。
C、定义该变量的复合语句的定义处以下的任何语句都可以访问。
D、局部变量可用于函数之间传递数据。
答案:D
17.若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:()
C程序设计题库
一、单项选择题
1. 基础知识
1、以下说法中正确的是()
A、C语言程序总是从第一个的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
答案:C
2、下列字符序列中,可用作C标识符的一组字符序列是()。
A) 10<回车>B) 10.0,22.0,33.0<回车>
22<回车>
33<回车>
C) 10.0<回车> D) 10 22<回车>
22.0 33.0<回车> 33<回车>
答案:B
2.三大结构
(1)下列程序的运行结果是()
#include <stdio.h>
void main()
{
char c1 = '6', c2 = '0';
if( b < 0) c = 0;
else c = c + 1;
printf("%d\n",c);
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单片机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语言中最简单的数据类型包括(b )。

A、整型、实型、逻辑型
B、整型、实型、字符型
C、整型、字符型、逻辑型
D、整型、实型、逻辑型、字符型
2、当MCS-51单片机接有外部存储器,P2口可作为( c )。

A、数据输入口
B、数据的输出口
C、准双向输入/输出口
D、输出高8位地址
3、下列描述中正确的是( d )。

A、程序就是软件
B、软件开发不受计算机系统的限制
C、软件既是逻辑实体,又是物理实体
D、软件是程序、数据与相关文档的集合
4、下列计算机语言中,CPU能直接识别的是( d )。

A、自然语言
B、高级语言
C、汇编语言
D、机器语言
5、MCS-5l单片机的堆栈区是设置在( c )中。

A、片内ROM区
B、片外ROM区
C、片内RAM区
D、片外RAM区
6、以下叙述中正确的是(c)。

A、用C语言实现的算法必须要有输入和输出操作
B、用C语言实现的算法可以没有输出但必须要有输入
C、用C程序实现的算法可以没有输入但必须要有输出
D、用C程序实现的算法可以既没有输入也没有输出
7、定时器/计数器工作方式1是( d )。

A、8位计数器结构
B、2个8位计数器结构
C、13位计数结构
D、16位计数结构
8、C语言提供的合法的数据类型关键字是( b )。

A、Double
B、short
C、integer
D、Char
9、片内RAM的20H~2FH为位寻址区,所包含的位地址是( b )。

A、00H~20H
B、00H~7FH
C、20H~2FH
D、00H~FFH
10、以下能正确定义一维数组的选项是(b )。

A、int a[5]={0,1,2,3,4,5};
B、char a[ ]={0,1,2,3,4,5};
C、char a={'A','B','C'};
D、int a[5]="0123";
11、数据的存储结构是指()。

A、存储在外存中的数据
B、数据所占的存储空间量
C、数据在计算机中的顺序存储方式
D、数据的逻辑结构在计算机中的表示
12、下列关于栈的描述中错误的是()。

A、栈是先进后出的先性表
B、栈只能顺序存储
C、栈具有记忆作用
D、对栈的插入和删除操作中,不需要改变栈底指针
13、在寄存器间接寻址方式中,间址寄存器中存放的数据是( )。

A、参与操作的数据
B、操作数的地址值
C、程序的转换地址
D、指令的操作码
14、MCS-51单片机的复位信号是( a )有效。

A、高电平
B、低电平
C、脉冲
D、下降沿
15、为了使模块尽可能独立,要求()。

A、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B、模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D、模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
16、若MCS-51单片机使用晶振频率为6MHz时,其复位持续时间应该超过( b )。

A、2μs
B、4μs
C、8μs
D、1ms
17、以下选项中可作为C语言合法常量的是()
A、-80
B、-080
C、-
D、-
18、能够用紫外光擦除ROM中程序的只读存储器称为( )。

A、掩膜ROM
B、PROM
C、EPROM
D、EEPROM
19、以下不能定义为用户标识符是(d )。

A、Main
B、_0
C、_int
D、sizeof
20、下选项中,不能作为合法常量的是()。

定时器1的溢出率)/32;
方式2波特率=2SMOD.(fosc/64);
方式3波特率同方式1(定时器l作波特率发生器)。

5、答:由于按键是机械开关结构,所以当用手按下其中一个键时,往往会出现所按键
在闭合位置和断开位置之间发生跳几下后才会稳定到闭合状态的情况。

在释放一个键时,也会出现类似的情况,这就是键的抖动,抖动的持续时间不一,但通常不会大于10ms。

若抖动问题不解决,就会引起对闭合键的多次读入。

对于键抖动最方便的解决方法就是当发现有键按下后,不是立即进行扫描,而是延时大约10ms后再进行。

由于一个键按下的时间一般会持续上百毫秒,所以延迟10ms后再扫描处理并不迟。

复合键可以仿照计算机复合键的处理方法,通常可以假设一个键具有复合功能,再与其它减的键值组合成复合键。

相关文档
最新文档