C语言笔记系列(二)--基本数据类型

本文介绍了C语言中的基本数据类型,包括位、字节、字的概念,详细讲解了整数类型(short, int, long等)的取值范围和表示方法,浮点数类型的存储格式,以及char类型和字符串的表示。还提到了布尔类型、可移植类型以及类型转换的规则。" 68937019,6248859,L1约束的最小二乘法在稀疏学习中的应用,"['机器学习', '稀疏表示', '回归分析', '优化方法', '数据建模']

1. 数据类型

  1. 计算机存储单位:
    • 位:计算机存储的基本单位
    • 字节:几乎对所有机器1字节=8位,C把一个字节定义为char类型使用的位数。
    • 字:自然的存储单位,不同计算机一个字有不同位数,现在很多都是32位或64位。
  2. 整数类型:使用二进制编码存储
    short,int,long我们一般使用的short是2字节,int和long是4字节,long long就是8字节。使用关键字sizeof(int)能计算int字节大小,其他类型也可使用。
    如short,signed short int的缩写,取值范围为-32768~32767
    usigned short的取值范围为0~65535。
    %d,%0,%x分别显示十进制,八进制,十六进制的数。
    %d,%#o,%#x,%#X分别显示如上,并在前还显示C语言前缀。
int x=100;
printf("%d; %#o; %#x; %#X",x,x,x,x);

输出为:100;0144;0x64;0X64
3. 浮点数类型:使用二进制浮点格式存储
符号 小数部分 指数部分
+ .31415 1 = 3.1415(十进制版本)
float,double,long double
printf:%f %e %a
上溢:inf,infinity
浮点数有舍入误差,float只有6、7为有效数字,如3.1415926,double至少能表示10位有效数字,但他们取值范围相同。
4. char类型
最小的整数类型,最常用的编码为ASCII,8位足够表示。不同编译器表可能指示有符号或无符号,除非自己明确写出关键字。
字符有以下六种方法表示:

char c1='A';
char c2=65; 0101; 0x41;
char c3='\101'; '\x41';

非打印字符:
\ 转义字符
\a发出警报声
\n换行
\t制表符,一般是第九列
\r 回车,光标回到当前行起始位置
\b退格,通常退格时不删除退回经过的字符
\ddd三位八进制值
\xhh 二位十六进制值

字符串:
存储于char数组,数组由相邻存储单元组成,每个字符占用一个单元,\0为终止符,非打印字符,ASCII值为0。
char name[num];
strlen()函数:以字符为单位给出字符串的长度。
使用scanf:遇到空白字符,制表符,换行都终止读取。读取一个单词
gets:处理一般字符串
5. _Bool类型
true为1
false为0
6. 可移植类型:inttypes.h
因为前面所给的类型对于位数定义都不明确,除非查看系统文档,所以引入此头文件。
如int16_t 表示16位有符号整数类型
uint32_t 表示32位无符号整数类型
int_least8_t 表示可容纳8位有符号数的长度最小的整数类型的别名
int_fast8_t 表示对8为有符号数而言最快的整数类型的别名
intmax_t 表示最大的有符号整数类型
printf使用%hd或%“PRID num
7. 复数和虚数
三种复数类型float_Complex,double_Complex,long double_Complex
若包含头文件complex.h则可以用complex代替_Complex
虚数同理
8. 类型转换
* 当出现于表达式里,所有比int小的都要转换为int执行(如果short与int一样大,那么unsigned short就转为unsigned int)
* 包含两种数据类型的运算,两个值都转为高级别的,赋值时值为赋予的变量的类型。(无符号高于有符号)。
* 当作为函参被传递时,char和short会被转换为int,float转换为double
* 若是降级,使用显示转换。如int n;n=(int)1.6+(int)1.6;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值