完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
C语言的代码是由英文字符构成的,所有的字符皆来自键盘的输入,所以我们需要了解C语言的字符集的特点和使用规则。
5 C语言字符集 字符是可以区分的最小符号,是构成程序的基础。包括:
由字符可构成进一步的语法成分,如标识符、关键字和特殊运算符等。 5.1 C语言字符集是ASCII字符集的子集 ASCII (美国信息交换标准代码) 表 5.2 C语言的字符集构成C语言的基本元素:标识符、运算符 标识符在程序中用来标识各种程序成分,命名程序中的一些实体:关键字、变量名、符号常量名、函数名、数组名、类型名、文件名的有效字符序列。 标识符的表现形式是字母,数字,下划线,开头必须是英文字母或下划线 示例: #include unsigned char _uc; int i; void main(void) { _uc = 1; i = 100; } 5.3数据类型的分类 嵌入式C语言编程的目的:操作单片机芯片的内部资源,以满足由这个单片机构成的产品的使用需求。这就要求我们编程的代码里的各种变量、运算、组织逻辑与单片机内部的资源建立起对应的关系,所以程序运行的内存空间应尽可能的节省,运算的步骤尽可能的少等等。 数据类型分类就是为了更好的利用内存,标准化操作和编码方式,表明占据存储空间的多少及构造特点,就是杀鸡就不需要用牛刀。 通过基本数据类型我们就已经可以编程去完成一定的项目任务。 示例://通过单片机点亮一个灯 #include unsigned char led ;// 定义一个无符号类型的变量led void main(void) { led = 1;// P1端口的管脚P1.0接了一个灯,置1即可点亮。 P1 = led; }
5.3.1基本的数据类型(主要特点是值不可以再分解为其他数据类型)
ASII表的字符有128个,所以只需要一个char类型的变量就可以全部表示。 6常量与变量 C语言通过定义变量来实现对内存的操作,当我们要使用单片机的某个资源时,需要通过常量或变量来表示,表示方法叫做变量或常量的定义。 6.1常量 在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。它们可与数据类型结合起来分类。 例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义后使用。 直接常量: 整型常量:12、0、-3、0xFF; 实型常量:4.6、-1.23; 字符常量:’a’、’b’。 符号常量:在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。 符号常量在使用之前必须先用预处理命令定义,其一般形式为: #define 标识符 常量 其中#define 是一条预处理命令(预处理命令都以"#"开头),称为宏定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。 用标识符代表一个常量,称为符号常量。 符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。 使用符号常量的好处是: 含义清楚; 能做到“一改全改”。 习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。 【例】 #define BIT_V 2 #define HEX_V 16 #define POW_X BIT_V void main(void) { unsigned char a; a=pow(POW_X,0)+pow(POW_X,1)+pow(POW_X,2)+pow(POW_X,3) +pow(POW_X,4)+pow(POW_X,5)+pow(POW_X,6)+pow(POW_X,7); printf("11111111= %d ",a); } 6.2变量 其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。 变量定义必须放在变量使用之前。一般放在函数体的开头部分。 变量定义的一般形式为: 类型关键字 变量名; short a; int a; long a; float a; double a; char a; struct a; union a; enum a; 7C语言运算符 运算符是一种告诉编译器执行特定的数学或逻辑操作的符号。C 语言内置了丰富的运算符,并提供了以下类型的运算符:
7.1算术运算符 下表显示了 C 语言支持的所有算术运算符。假设变量 a 的值为 10,变量 b 的值为 20,则:
7.2赋值运算符 下表列出了 C 语言支持的赋值运算符:
8表达式和语句
8.1 C表达式 我们来看一些合法的表达式,如下: 4 -6 4 + 21 a * (b + c/d) / 20 q=5*2 x=++q % 3 q > 3 "hello world" 可以看到一个表达式也可以没有操作符,例如“4”这种形式就是最简单的表达式形式,即最简单的表达式只有一个常量或一个变量名称而没有操作符。 还可以看出,一些表达式是多个较小的表达式的组合,这些小的表达式被称为子表达式(subexpression)。例如表达式c/d是表达式a * (b + c/d) / 20的子表达式,而表达式c和d又是表达式c/d的子表达式。 8.2 C语句 C语句可分为以下五类:
1) 表达式语句 表达式语句由表达式加上分号“;”组成。执行表达式语句就是计算表达式的值。 其一般形式如下:
2) 函数调用语句 由函数名、实际参数加上分号“;”组成。其一般形式为: 函数名(实际参数表); 执行函数语句就是调用函数体并把实际参数赋予函数定义中的形式参数,然后执行被调函数体中的语句,求取函数值(在后面函数中再详细介绍)。例如:
3) 控制语句 控制语句用于控制程序的流程,以实现程序的各种结构方式。它们由特定的语句定义符组成。C语言有九种控制语句。 可分成以下三类:
4) 复合语句 把多个语句用括号{}括起来组成的一个语句称复合语句。 在程序中应把复合语句看成是单条语句,而不是多条语句。例如:
是一条复合语句。复合语句内的各条语句都必须以分号“;”结尾,在括号“}”外不能加分号。 5) 空语句 只有分号“;”组成的语句称为空语句。空语句是什么也不执行的语句。在程序中空语句可用来作空循环体。例如:
|
|||||||
|
|||||||
只有小组成员才能发言,加入小组>>
3278 浏览 9 评论
2956 浏览 16 评论
3456 浏览 1 评论
8988 浏览 16 评论
4050 浏览 18 评论
1102浏览 3评论
570浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
568浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2301浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1857浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 13:38 , Processed in 1.058881 second(s), Total 49, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号