目录
字符变量/整数变量/枚举变量/数组变量/指针变量/结构体变量
c语言变量
什么是变量?
1.变量是用来在程序中存放各种数据值的,计算机内部会分配一块内存空间给变量,给变量赋值是将数据值存放到内存空间。
2.变量是有名称的,通过名称可以直接读取和修改变量的数据值,该名称就是标识符。
3.标识符是指以下划线 _、大小写字母 A-Z a-z和数字 0-9 组成的单词,其中开头不能是数字;
例如0abc就不是合法的标识符,不能作为变量的名称。
4.数据值有很多种的,可以是字符、整数、小数等等,这些数据值种类不同,需要存放的内存空间也不一样,能进行的运算也不一样,因此需要给变量声明不同的数据类型。
5.变量的数据类型决定着该变量能取哪些值和进行哪些运算,
例如整数类型只能取整数值,小数类型可以表示小数,整数和小数明显可以进行加减乘除数学运算。
变量声明和初始化
1.变量声明需要指定类型和标识,通过赋值可以初始化;
语法格式 : 变量类型 变量标识符 = 初值
同时声明和初始化多个变量 : 变量类型 变量标识符1 = 初值,变量标识符2 = 初值;
字符变量/整数变量/枚举变量/数组变量/指针变量/结构体变量
字符变量
char ch; //声明字符变量ch,未初始化
char ch = 'a'; //初始化为字符小写字母'a'
char ch1 ,char ch2 = 'a'; //声明两个字符变量,ch1未初始化 ch2初始化
整型变量
int a; //声明整型变量a,未初始化
int a = 520; //声明整型变量a,初始化为520
int a,b,c; //声明多个整型变量,未初始化
int a = 5,b = 2, c = 0; //声明多个整型变量初始化
小数变量
float c,d = 3.09f;//声明单精度浮点变量c和d,d的初始化值为3.09
double c; //声明双精度浮点变量c,未初始化
常量
什么是常量?
常量是C语言中值不变的量,既可以直接书写常量值本身,
例如 1,'a',这些又称作是字面值,也可以在声明变量前面加上 const 表明该变量是常量,定义和初始化后值保持不变,不能修改。
常量有以下类型:
•字符常量
•整数常量
•浮点常量
•枚举常量
•字符串字面值
常量的三种使用方式
1.字面值:
例如 int x = 100 + y; 其中表达式中的100就是常量。
2.预处理器#define宏定义:
例如 #define score 100 可以实现类似常量的功能,定义score的常量值为100
3.const关键字:
例如: const int score = 100; 定义score为常量,值为100,不能改变。
字符常量/整数常量/浮点常量/字符串常量
转义字符
1.转义字符用来表示C语言字符串和字符常量的一些特殊字符,必须用转义方式才能避免和C语言语法冲突,常用的大小写字母和数字、标点符号不需要转义。
2.初学者经常会问如何输出换行符、字符串空终止符如何表示、如何输出单引号和双引号。
这都需要用到转义字符,转义字符都是以反斜杠开头表示。
•换行符用\n表示
•字符串空终止符用\0表示
•单引号用 '
•双引号用 "
#include <stdio.h>
int main(void) {
printf("\'"); // 输出单引号
printf("\""); // 输出双引号
printf("\n"); // 输出换行符
// 字符数组存入字符串终止符,表示一个字符串abc
char a[] = {'a','b','c','\0'};
printf("%s\n",a); // 输出字符串abc
return 0;
}
c语言规定的全部转义字符
转义序列 描述 表示
\' 单引号 字节 0x27 ( ASCII 编码)
\" 双引号 字节 0x22 ( ASCII 编码)
\? 问号 字节 0x3f ( ASCII 编码)
\\ 反斜杠 字节 0x5c ( ASCII 编码)
\a 响铃 字节 0x07 ( ASCII 编码)
\b 退格 字节 0x08 ( ASCII 编码)
\f 换页 字节 0x0c ( ASCII 编码)
\n 换行 字节 0x0a ( ASCII 编码)
\r 回车 字节 0x0d ( ASCII 编码)
\t 水平制表 字节 0x09 ( ASCII 编码)
\v 垂直制表 字节 0x0b ( ASCII 编码)
\nnn 任意八进制值 字节 nnn
\xnn 任意十六进制值 字节 nn
注:
\nnn 任意八进制值 字节 nnn
\xnn 任意十六进制值 字节 nn
可以表示任意的ASCII字符。
表达式和运算符
1.C语言提供多种运算符,可以对各种变量和常量进行运算。
2.表达式是运算符、变量、常量的组合,表达式可以求值。
3.表达式中会出现多种运算符,计算顺序由运算符的优先级决定,同级的运算符计算顺序由结合性决定。
3.圆括号 () 可以显式改变计算顺序,括号内表达式被优先计算。
4.C语言规定运算符优先级从高到低计算,结合性从左到右、从右到左。
一元运算符:需要一个操作数运算;
二元运算符:需要两个操作数运算;
三元运算符:需要三个操作数运算。
初等表达式/括号表达式/后缀表达式
c语言语句
语句分类
语句是c语言程序中相对完整的组成单位,是由关键字,标识符,运算符等更小的 词 构成的;
每条语句以封号结束,除了特殊规定外,语句默认是按照顺序依次执行,完成特定的程序;
c语句共6类,15种语句。
(1)带标号语句
(2)复合语句
(3)表达式语句和空语句
(4)选择语句 : if...else... switch
(5)循环语句 : while ... do... while... for...
(6)跳转语句 : goto, continue, break, return
注 : 程序有三种控制结构,顺序 ,选择(跳转), 循环(迭代),默认语句都是顺序执行,因此顺序结构不需要特殊语法,选择和循环都需要关键字语法定义。
复合语句
复合语句也叫做语句块,使用花括号{ }将多个语句组成一个语法单位,该语法单位有自己的变量声明和初始化声明,有自己的作用域。