嵌入式开发学习 (第二阶段 C语言基础)
C语言基础
内容提要:整型常量、浮点常量、字符型常量、字符串常量、符号常量
常量
在C语言中,数据的基本表现形式是常量和变量。不管是常量还是变量,都是需要在内存中申请一块空间,用于数据的存放。
定义:在执行过程中其值不能被改变的量。
分类:int、float、double、char、符号常量(宏定义)
整型常量
-
整型常量可以用十进制、八进制、十六进制三种形式
-
十进制常量:由数字
0~9构成,没有前缀,不能以0开头。举例:99,218 //正确 0 //正确 09 //错误的,不能以0开头 -
八进制常量:由数字
0~7构成,以0为前缀,不能表示小数。举例:023,077 // 正确的 00 // 正确的 099 // 错误的,只能由数字0~7构成 -
**十六进制常量:**由数字
0~9,字母a~f/A~F构成,以0x|0X为前缀,不能表示小数,举例:0xff0000 // 正确的 0X55 // 正确的 0x0 // 正确的整型常量
long num = 123L;
-
-
整型常量的分类:
- 有符号与无符号基本整型常量
- 有符号表示范围:负数+0+正数
- 无符号表示范围:0+正数,内存中所有负数的位置都用来表示正数范围超过有符号正数范围。
- 有符号与无符号长整型常量(long)
- 有符号与无符号短整型常量(short)
- 有符号与无符号基本整型常量
-
整型常量的表示
- 十进制表示:可以使用10个数字符号0~9以及
+,-,如:123,-90 - 八进制表示:以0开头,可以使用7个数字符号0~7以及
+,-,如:123,-110 - 十六进制表示:以0x或者0X开头,可以使用
0~9以及A~F(a~f),如:0x12,-0x12
- 十进制表示:可以使用10个数字符号0~9以及
浮点型常量
C语言中浮点型就是平常所说的小数(实数),
- 十进制小数:
- 指数形式(科学计数法):
- 正数表示:如十进制小数1234.51234.51234.5的指数表示法1.2345∗1031.2345*10^31.2345∗103,也可表示1.2345e31.2345e31.2345e3;
- 负数表示:如十进制小数0.0120.0120.012的指数表示法1.2∗10−21.2*10^-21.2∗10−2,也可表示1.2e−21.2e-21.2e−2;
注意:
①在符号e的前面必须要有数字
② 在符号e的后面必须为整数,不能是带有小数点的实数型。
③ 实型常量的后缀用F/f表示单精度型。后缀用L/l表示双精度型。
字符型常量
用单引号''括起来的一个字符,如'a' 'A', '4','_'等,比如: 刘就不是字符,一个汉字所 占的字节数超过1个字符。中文符号当成汉字理解。英文输入法下输入的字母、数字、符号都是单 字符。
转义字符常量:以反斜杠\开头的字符
| 字符型 | 中文含义 | ASCII码 |
|---|---|---|
| \n | 换行 | 10 |
| \r | 回车 | 13 |
| \0 | 空字符 | 0 |
| \t | 水平制表符 | ~ |
字符串常量
说明:在C语言中,支持字符串常量,不支持字符串变量。字符串变量
-
用一对双引号
""括起来的一个字符序列,如:"how do you do ?" "yueqian" "12" "true" "12.25" -
可使用printf输出一个字符序列,如:
printf("%s","hello world!\n");
printf("hello world!\n"); // 等价与上面写法
注意:
字符常量’a’与字符串常量"a"的区别:
系统自动为字符串常量加上结尾的 \0 ,使所占内存单元多一个,单字符常量的长度不变,可 用sizeof()运算符来测量。
符号常量
说明:
一般通过宏定义在预处理时候替换成具体常量
定义一个标识符来代表一个常量。如PI代表圆周率π(3.1415926)
好处:
- 增加可读性
- 增加了可维护型
#define PI 3.14
PI * 2 * 2;
2 * PI * 2;
定义符号常量:
- 用预处理指令:
#define - 格式:
#define 标识符 字符串
- 标识符和字符串之间用空格隔开
- 句末不用分号
- 标识符的命名采用大写,如果有多个单词,使用下划线分隔,举例:
/*************************************************************************
> File Name: demo01.c
> Author: FPF
> Description:
> Created Time: 2025年04月28日 星期一 10时21分06秒
************************************************************************/
#include <stdio.h>
#define PI 3.14
#define R 20
int main(int argc,char *argv[])
{
// 计算圆的周长 2 × PI × R
printf("计算圆的周长:%f\n",2 * PI * R);// %f:以小数显示
// 计算圆的面积 PI × R × R
printf("计算圆的面积:%f\n",PI * R * R);
return 0;
}
用预处理指令:#define
- 格式:
#define 标识符 字符串
- 标识符和字符串之间用空格隔开
- 句末不用分号
- 标识符的命名采用大写,如果有多个单词,使用下划线分隔,举例:
/*************************************************************************
> File Name: demo01.c
> Author: FPF
> Description:
> Created Time: 2025年04月28日 星期一 10时21分06秒
************************************************************************/
#include <stdio.h>
#define PI 3.14
#define R 20
int main(int argc,char *argv[])
{
// 计算圆的周长 2 × PI × R
printf("计算圆的周长:%f\n",2 * PI * R);// %f:以小数显示
// 计算圆的面积 PI × R × R
printf("计算圆的面积:%f\n",PI * R * R);
return 0;
}
openvela 操作系统专为 AIoT 领域量身定制,以轻量化、标准兼容、安全性和高度可扩展性为核心特点。openvela 以其卓越的技术优势,已成为众多物联网设备和 AI 硬件的技术首选,涵盖了智能手表、运动手环、智能音箱、耳机、智能家居设备以及机器人等多个领域。
更多推荐



所有评论(0)