c语言学习2(数据类型,类型占位符,常量u\l\f、格式化输入输出、运算符、类型转换)

整型:
signed
signed char 1 -128~127 -27~x7-1
signed short 2 -32768~32767 -215~215-1
signed int 4 正负20亿 21.47亿
signed long 4/8 正负20亿/9开头19位整数
signed long long 8 9开头19位整数
注意:signed 不加就代表加
unsigned:
unsigned char 1 0~255
unsigned short 2 0~65535
unsigned int 4 0~40亿
unsigned long 4/8 0~40亿/1开头20位整数
unsigned long long 8 1开头20位整数
注意:由于定义无符数据时比较麻烦,标准库把这些无符类型重新定义成了以下类型
需要包含头文件 stdint.h
uint8_t、uint16_t、uint32_t、uint64_t
int8_t、int16_t、int32_t、int64_t

浮点:
float 4
double 8
long double 12/16
注意:采用科学计算法,二进制与真实数据之间需要翻译,因此计算整数要比整型要慢。
小数点后六位有效。

    char 字符其实就是符号或图案,在内存中存储的是整数,需要显示时会根据ASCII表中的对应关系显示出相应的符号或图案。
        '\0' 0 特殊字符,字符串的结束标志。
        '0' 48 
        'A' 65
        'a' 97
    bool 布尔 先有了C语言之后才有 bool 类型,所有C语言不可能有真正布尔类型,stdbool.h头文件对布尔类型做的模拟。
        	bool true false
	可以使用sizeof计算类型的字节数。

Option Explicit
为了避免写错变量名引起的麻烦。这条语句是用来规定在本模块中所有变量必须先声明再使用,即不能通过隐式声明来创建变量。在添加Option Explicit语句后,VB将自动检查程序中是否有未定义的变量,发现后将显示错误信息。

类型占位符:C语言通过占位方式来传递变量的类型。
%hhu %hu %u %lu %llu
%hhd %hd %d %ld %lld
%f %lf %LF
%o 八进制
%x 十六进制小写
%X 大写
%#x 会加标志小写
%#X 大写
%p 输出指针地址
%c 输出单个字符
%s 输出字符串
%e/E 以指数形式输出单、双精度实数
%g/G 以%f或%e中较短的输出宽度输出单、双精度实数

格式化输入输出
%nd 显示n个字符宽度,不够则补空格,右对齐
%-nd 显示n个字符宽度,不够则补空格,左对齐
%0nd 显示n个字符宽度,不够则补0
%n.mf 显示n个字符宽度(小数点算一位),不够则补空格,m表示小数点后的位数(四舍五入)
%g 不显示小数点后多余的0

常数分为整型和浮点型。
默认存储类型
整型:signed int
浮点型:double
在后面加 u l f 可以改变存储类型 ,防止溢出或者节省空间

	100 默认int
    100l long
    100ll long long
    100u unsigned int
    100lu unsigned long
    100llu unsigned long long
    3.14 默认double类型
    3.14f float
    3.14l long double

运算符
自变运算符:++/-- 使变量的值自动加1或减1
前自变:立即有效
后自变:下一条语句才有效
注意:不要一行代码中多次使用自变运算符;
算术运算符:+ - * / %
整数/整数结果没有小数点。
/ % 除数不能为零,否则会产生浮点数例外,核心转储。
关系运算符:> < >= <= == !=
比较的结果是 0 或 1 比较结果还能继续参与运算。
10 < n < 100 结果永远为真,与数学中的运算规则不同。
逻辑运算符:&& || !
会先把运算对象转换逻辑值,0转换成假,非0转换为真。
A && B 一假即假
A || B 一真即真
!A 求反
&& || 具有短路特性,当左边的值可以确定表达式结果,右边不同计算。

三目运算符:运算对象有三个部分
    A?B:C;  判断A的值如果为真执行B,如果为假执行C。
    该语句不能使用流程控制语句,因为它必须要有运算结果。

赋值运算符:+= *= /= ...
    a += b; a = a+b;
    a *= b; a = a*b;

位运算符:& | ~ ^ >> <<

类型转换
自动类型转换:
只有相同类型的数据才能进行运算,不同类型数据转换成相同类型再进行云计算。
转换规则(以不丢失数据为基础,适当牺牲一些空间):
1、字少的向字节多的转。
2、有符号向无符号转。
3、整型向浮点型转。
强制类型转换:
(类型)数据 有丢失数据的风险,慎重使用。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值