C语言:变量,运算符,基础IO

📅 2026/7/23 6:03:59 👁️ 阅读次数 📝 编程学习
C语言:变量,运算符,基础IO

C语言基础

1 变量

程序运行期间值允许改变。变量会在内存分配存储空间,通过变量名访问,先定义,后使用。

1.1 变量命名约束

  1. 组成字符仅限字母、数字、下划线,首字符不能为数字。
  2. 禁止和C语言关键字重名。
  3. 尽量不与标准库函数冲突。
  4. 命名推荐见名知意,可选驼峰命名或下划线命名。

1.2 基础数据类型

整型:short、unsigned short、int、unsigned int、long、unsigned long
浮点型:float、double
字符型:char、unsigned char
布尔型:bool,依赖头文件 <stdbool.h>

1.3 初始化与赋值

初始化:定义变量时直接赋予初始值。
赋值:变量定义完成后,通过 = 修改存储内容。
局部变量未初始化时内存为随机值,禁止直接参与运算。

2 表达式与类型转换

表达式由运算符、常量、变量组合构成,任意表达式具备数据类型与运算结果。

2.1 隐式类型转换

混合运算时自动转换,转换方向:低精度向高精度提升。
转换层级参考:char/short → int → long → unsigned → float → double
规则:

  1. char、short参与运算,强制提升为int;
  2. float参与运算,强制提升为double。

2.2 强制类型转换

语法格式: (目标类型)变量 / (目标类型)(表达式)

3 运算符

3.1 算术运算符

      • / % ++ –
  1. % 取模运算符仅支持整型,浮点数据不可使用;
  2. ++ 、 – 只能作用于变量;
  3. i++ :先取值,后自增; ++i :先自增,后取值。

3.2 赋值运算符

= += -= *= /= %=
左值:能够放置在等号左侧,只有变量满足条件。
右值:变量、常量、合法表达式均可。

跨类型赋值规则:

  1. 浮点数据赋值给整型,直接舍弃小数部分;
  2. 大数据存入低位宽类型,直接截断二进制低位,结果不可预判。

3.3 逗号运算符

语法: (表达式1,表达式2,表达式3)
运算顺序从左至右依次执行,整体结果等于最右侧表达式的值。

3.4 sizeof运算符

获取变量或数据类型占用内存字节大小。

c

int a;
sizeof(int);
sizeof(a);

3.5 优先级大致顺序

括号 > 单目运算符 > 双目运算符 > 三目运算符 > 赋值运算符 > 逗号运算符

4 基础输入输出函数

头文件: <stdio.h>

  1. 单字符IO函数

putchar()

功能:向终端输出单个字符。

c

putchar(表达式);

规则:

  1. 仅支持输出单个字符;
  2. 参数会解析为ASCII码对应字符;
  3. 返回值:输出字符的ASCII码(int类型)。

示例:连续输出hello

c

#include <stdio.h>
int main(void)
{
putchar(‘h’);
putchar(‘e’);
putchar(‘l’);
putchar(‘l’);
putchar(‘o’);
putchar(‘\n’);
return 0;
}

getchar()

功能:从终端读取一个字符。

c

char ch;
ch = getchar();

  1. 格式化IO函数
  • printf() :格式化数据输出到终端
  • scanf() :从终端格式化读取数据
  1. 字符串IO函数
  • gets() :读取字符串,存在缓冲区溢出漏洞,标准C已经废弃,禁止使用。
  • puts() :输出字符串,自动追加换行符。

补充区分

  1. putchar / getchar :面向单个字符;
  2. printf / scanf :支持多种数据类型格式化读写;
  3. puts / gets :专门操作字符串。