1变量
变量用来存储数据
变量命名规则遵循标识符命名规则,即只能由数字、字母、下划线组成,且不能以数字开头
//各种类型变量命名相同
int a = 1 //整形
double b = 0.01 //双精度浮点型
float c = 0.1 //单精度浮点型
char = 'a' //字符命名
char = "a" //字符串命名
//多个变量定义使用逗号隔开
int a, b
变量初始化之前,可能变量存在脏数据,即先前存在且没有释放的内存
一行可以定义多个变量
- 代码的书写跟空格和换行没有任何的关系
#include <stdio.h>
int main()
{
printf("hello,word\n")
; //这样书写不会报错
printf("hello,word\n") ; //这样也不会报错
return 0;
}
变量类型 | 占用字节 | 注意 |
int整型(short,long,long long) | int 和 long 取决与编译器(2,8) | |
float单精度浮点型 | 4 | 7位有效数字 |
double双精度浮点型 | 8 | 在C语言中小数默认为double类型,即8字节 |
char字节型 | 1(是一种整数,也是一种特殊的字符) | 单引号代表字符,双引号代表字符串 |
- sizeof()可以读取该变量或者数据类型在内存所占用的字节数,sizeof(int),sizeof(i)
- 变量的读入:
// scanf("变量类型",&变量名);
scanf("%d %d",&a,&b);
- 常量:const 数据类型 变量名 = 数值 (注意:该常量的值不可修改)
- printf 输出 “ inf 表示超过范围的浮点数,nan 表示不存在的浮点数 ”
- float 数据类型的书写必须在数字末尾加 f 或 F 来表示它是单精度浮点型,否则默认为double类型 eg:float a = 1.022f
- char 类型数据,加减运算的结果是两个字符在ASCLL码中的距离,单个输出字符结果是该字符在 ascll 码中的位置
- 当运算符两边数据类型不一样的时候,会自动转换成较大的数据类型 int -float-double,char-short - long - long long;对于 printf 任何小于int的都会转换成 int,float 会被转换为 double 类型;对于scanf任何数据类型都会以固定的格式写,不会自动转换,eg:scanf("%hd",&a);a是一个短整型
2 逻辑运算
- 注意:!运算表示逻辑非,即为否定
- 运算优先级:单目>双目;!> && > ||;赋值运算最低;eg:!ege < 20,先算!ege再算<
- 逻辑运算存在短路,即逻辑运算&&和||都是从左向右进行的,只要左边为false右边就不运行
- 条件运算符:?表示条件成立的结果;:表示不成立的结果
- 逗号运算:比=还低,基本在for语句中使用