C语言学习第002课——关键字、占位符、常量和变量、转义字符

关键字

struct 结构体
union  联合体 共用体
enum   枚举
auto   定义局部变量,函数内部变量,一般情况下不写
extern 声明,必须要声明,但是这个关键字可以不用写,extern声明的变量没有建立存储空间,在变量定义的时候,才会创建存储空间
register 寄存器变量,可以提高效率的,是建议型的指令,有空闲寄存器就存放,没有就不存放
static 静态,静态函数,静态数据
const  常量,只读变量 值不能修改
sizeof 计算一种数据类型在内存中占用的大小
typedef 定义别名,为已存在的数据类型起个别名,2、定义函数指针
volatile 防止编译器自动优化 例如U盘型号这种变量,一开始会声明,但是并不会建立内存空间,但是编译的时候不能因为没使用就把他优化掉了,

占位符

%d  整型占位符
%f  浮点型占位符(默认保留6位小数)        
%.2f 保留两位小数,会进行四舍五入的操作
%lf double 双精度浮点型占位符
%p  表示输出一个变量对应的内存地址编号(无符号十六进制整形数)
%e  以科学计数法打印当前小数
%s  表示输出一个字符串,遇到\0停止输出

定义常量的两种方法

关键字常量

const float pi = 3.14159(在C语言中是不安全的,但是在C++是安全的)

宏定义常量

#define PI 3.14159

变量命名规范

1、不能使用系统关键字
2、允许使用数字 字母 下划线
3、不允许数字开头
4、变量名称区分大小写
5、见名知意

转义字符

\n  换行,将当前位置移到下一行开头
\r  回车,将当前位置移到本行开头
\t  水平制表符
\v  垂直制表符
\\  输出一个反斜线字符"\"
\'  输出一个单引号字符
\"  输出一个双引号字符
\?  输出一个问号
\0  输出数字0
\ddd   8进制转义字符 d范围0-7
\xhh   16进制转义字符 h范围0-9 a-f A-F
%%  输出一个%
### C语言中字符类型的定义用法 #### 1. 字符类型的基本概念 字符类型 `char` 是 C 语言中的基本数据类型之一,用来表示单个字符。它占用内存大小为 1 个字节[^1]。字符可以用 ASCII 编码来表示其对应的数值。 #### 2. 定义字符类型变量的方式 在 C 语言中,可以通过关键字 `char` 来定义字符类型的变量。以下是几种常见的方式: - **直接赋值** 可以通过给字符型变量赋予一个字符常量的方式来初始化该变量。 ```c char c1 = 'A'; ``` - **ASCII 值赋值** 还可以直接使用字符的 ASCII 数值来进行赋值。 ```c char c2 = 65; // 对应字符 A 的 ASCII 值 ``` - **转义序列赋值** 转义序列也可以作为字符型变量的内容。 ```c char c3 = '\n'; // 换行符 char c4 = '\t'; // 制表符 ``` 以上方法均适用于单独字符的定义与初始化。 #### 3. 输出字符的方法 当需要输出字符时,可以使用 `%c` 格式化占位符配合 `printf()` 函数实现。 ```c void main() { char c1 = 'A'; char c2 = '0'; char c3 = '\t'; printf("c1=%c c2=%c c3=%c", c1, c2, c3); } ``` 上述代码展示了如何分别打印出不同的字符以及它们的表现形式。 #### 4. 处理字符串的情况 虽然题目主要关注的是单一字符的操作,但在实际应用中经常遇到处理字符串的需求。C 语言中并没有专门针对字符串的数据类型,而是采用字符数组的形式来表达字符串的概念。例如: - 使用双引号 `" "` 初始化整个字符串; - 显式指定每个字符并手动加入结束标志 `\0`; 具体例子如下所示: ```c // 方法一:整体赋值 char str[6] = "hello"; // 方法二:部分赋值加自动补全零终止符 char str1[6] = {"hello"}; // 方法三:逐项填充含显式的 NULL 结束标记 char str2[6] = {'h', 'e', 'l', 'l', 'o', '\0'}; ``` 每一种方式都可以正确创建包含特定内容的字符串对象][^[^23]。 #### 5. 特殊情况说明 需要注意的是如果预先声明了一个固定长度的字符数组,则后续对其重新分配新值可能会引发越界错误等问题。因此建议按照预期最大可能尺寸预留足够的空间容量[^3]。 另外关于进制转换方面也有涉及到了一些相关内容但是这属于其他主题范畴这里不做深入探讨仅简单提及一下即可满足需求[^4]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值