C语言---数据类型与运算符

目录

数据类型

整型

实数(浮点型)

布尔型

字符型

输入输出

格式控制

重要部分

运算符

算术运算符

关系运算符

逻辑运算符

与: &&

或: ||

非: !

赋值运算符


数据类型

修饰符

signed有符号 (可忽略)
unsigned无符号 (不可忽略)

整型

  • 整数默认是int类型

  • int类型在不同的机器上,该类型的变量所占的字节数可能不一样

实数(浮点型)

存储小数(小数点)

存储:

整数部分和小数部分

类型:

float 单精度浮点型 4字节

double 双精度浮点型 8字节

long double 扩展精度浮点型 8字节 小数默认是double类型

注使用float时一般后面跟f才能保证程序不会出一些小错误

如:

float a =3.14f;

布尔型

类型:

bool

注意:

  • 取值范围: 只有两个值 真 / 假(true / false)(0 / 1) [只为true或flase值]

  • 对于bool类型的变量,除了0和false是假,其他的都是真都是true

写法如:

bool is1 = 0; 
bool is2 = false; 
bool is3 = 1; 
bool is4 = true; 
bool is5 = -1; 

字符型

存储字符

类型

char

注意

  • 记忆码表

  • 区分 数字和数字字符

如:

char ch1 = 'A'; // 值:65 
char ch2 = 'a'; // 值:97 
char ch3 = '0'; // 值:48 
char ch4 = 65; // 字符:'A' 
char ch5 = 48; // 字符:'0' 
char ch6 = '\060'; // 字符:'0' 值:48 
// 单个字符用单引号界定 
// 可以在单引号里面使用\后面带最多三位八进制表示一个字符 
// 这个字符就是八进制数字对应的字符 

求char类型的取值范围

"小整数"的范围

输入输出

int num = 0; 
printf("num = %d\n", num); 
// 输入 
scanf("%d", &num); 
// 输出 
printf("num = %d\n", num); 
int a, b, c; 
a = b = c = 0; // 可以连续赋值 
printf("a = %d b = %d c = %d\n", a, b, c); 
scanf("%d%d%d", &a, &b, &c); 
printf("a = %d b = %d c = %d\n", a, b, c); 
scanf("%d %d,%d", &a, &b, &c); // 一定要注意对应 
printf("a = %d b = %d c = %d\n", a, b, c); 

格式控制

// 不同类型的数据 要控制不同格式进行输出 
float f = 0.12345678f; 
printf("f = %f\n", f); 
printf("f = %.2f\n", f);
printf("f = %e\n", f); // 1.234568e-001 科学计数法 
float f1 = 1.23e3; 
printf("f1 = %f\n", f1); 
int num = 165; 
printf("num = %d\n", num); 
printf("num = %X\n", num); 
printf("num = %x\n", num); 
printf("num = %o\n", num); 
char ch = 'A'; 
printf("ch = %c\n", ch); 
printf("ch = %d\n", ch); 
printf("ch = %X\n", ch); 
printf("ch = %x\n", ch); 
printf("ch = %o\n", ch); 

重要部分

%c 字符 
%d 带符号整数 
%i 带符号整数 
%e 科学计数法, 使用小写"e" 
%E 科学计数法, 使用大写"E" 
%f 浮点数 
%g 使用%e或%f中较短的一个 
%G 使用%E或%f中较短的一个 
%o 八进制 
%s 一串字符 
%u 无符号整数 
%x 无符号十六进制数, 用小写字母 
%X 无符号十六进制数, 用大写字母 
%% 一个'%'符号 

运算符

算术运算符

+ - * / %

加减乘除求余数(取模)

  • 除法: 整数参与运算 结果还是整数

  • 取模: 左右两边都必须是整数

关系运算符

  • >

  • <

  • >=

  • <=

  • ==

  • !=

运算规则:

从左到右 依次比较; 比较完一个运算符后,返回一个bool值 返回的这个bool值,参与下一次比较

不允许连续运算

如:
// 1<2<3 真 
// 3>2>1 假

逻辑运算符

与: &&

表达式1 && 表达式2

"并且"

前后两个表达式都为真 整个表达式的值为真

3>2>1 ==> 3>2 && 2>1

或: ||

表达式1 || 表达式2

"或者"

前后两个表达式都为假 整个表达式的值为假

非: !

!表达式

"反转"

真的变假的 假的变真的

注意:

  • 对于&&,需要前后都为真,整个表达式才为真;当前半部分为假,后半部分不再执行

  • 对于||,需要前后都为假,整个表达式才为假;当前半部分为真,后半部分不再执行

赋值运算符

=

复合赋值运算符:

结合其他运算符使用

+= -= *= /= %= .....

num += 1; 相当于: num = num + 1;

作用:

赋值

  • >

  • <

  • >=

  • <=

  • ==

  • !=

// 1<2<3 真 
// 3>2>1 假运算规则: 
// 将右边的值给左边

注意

  • 变量在使用之前 必须先定义

  • 变量在运算之前 必须先给值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值