C语言 第6课 数据类型

四大基础数据类型:

1.整数: int32, short16, char8, long32, long long(int代表一个字,不同位数的操作系统下会有不一样的长度)

2.浮点: float32(7个有效数字), double64(15个有效数字), long double

3.逻辑:bool

4.指针 


5.自定义类型



不同点:

输入输出的格式化不一致:

整形:

int:%d %o %x (10,8,16进制)

long int:%ld %lo %lx (10,8,16进制)

unsigned:%u %o %x (10,8,16进制)

long unsigned:%lu %lo %lx (10,8,16进制)


浮点数:

printf:

    float,double: %f (以小数形式,保留6位)  %e(以指数形式)

scanf:

    float: %f  / %e   double: %lf / %le (以小数形式,保留6位)


字符:

char: %c 输入不能加空格



sizeof函数

sizeof(i)查询某个变量在内存中占据的字节数(一个字节8个比特)


数的范围:

在计算器中,一切数据都是二进制

复数是补码 -a = 0-a (2^n-a)


整数:

一个字节(8位)可以表达的是

0000 0000 ~ 1111 1111

其中

0000 0000 ——> 0

1111 1111 ~ 1000 0000 ——> -1 ~ -128 ()

0000 0001 ~ 0111 1111 ——> 1 ~ 127

ps.哪一位上有1,代表2^(n-1)。有n位的话,-2^(n-1) ~ 2^(n-1)-1

ps.赋值char =255, int=255.打印出来后,char=-1,int=255.因为int有32位,char只有8位  


浮点数:

包含 inf,-inf,nan

两个浮点数之间比较大小,可能会出现错误(f1==f2)。因为浮点数精度有限。可以采用这个方式fabs(f1-f2)<1e-12


没有特殊需要的话,整型选择int,浮点采用double。所有变量在计算机的内部都是二进制字符,具体是什么要看怎么对他解码。



逃逸字符

\b:回退        \":双引号

\t:制表        \':单引号

\n:换行      \\:反斜杠本身

\r:回车



类型转换

自动类型转换:printf会自动把小于int的转化为int,float会被自动转化为double. 两个不同类型变量运算,自动转化为大的

强制类型转换:(类型)值: (int)10.2

例:

double a=1.0,b=2.0;

int i = (int)a/b;

ps:a的值不会被强制类型转换改变,他只是在计算中输出一个转换成int的值“1”,对其本身不影响



bool类型:true false

需要调用#include<stdbool.h>

逻辑运算:!>&&>||

!非

&&与

||或


条件运算符:

(表达式)?(表达式1):(表达式2)

如果表达式满足,执行表达式1,否则执行表达式2

逗号运算

for(i=1,j=100;i<j;i++,j--)

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.编译程序(1)gcc xx.c,他会默认生成一个a.out的可执行文件,在a.out所在目录,执行./a.o...
    萌面大叔2阅读 1,434评论 0 1
  • 1.编译程序 (1)gcc xx.c,他会默认生成一个a.out的可执行文件,在a.out所在目录,执行./a....
    萌面大叔2阅读 582评论 0 1
  • 1 关键字 1.1 关键字的概述 Java的关键字对java的编译器有特殊的意义,他们用来表示一种数据类型,或...
    哈哈哎呦喂阅读 788评论 0 0
  • 在C语言中,五种基本数据类型存储空间长度的排列顺序是: A)char B)char=int<=float C)ch...
    夏天再来阅读 4,081评论 0 2
  • 进制基本概念 什么是进制?进制是一种计数的方式,数值的表示形式 常见的进制十进制、二进制、八进制、十六进制 进制书...
    极客江南阅读 2,201评论 0 11

友情链接更多精彩内容