zoukankan      html  css  js  c++  java
  • 听翁恺讲C语言5-数据类型

    数据类型。

    *c语言是一个有类型的语言。

    C语言的变量必须在使用之前定义,而且要确定类型。

    了解:c以后的两个发展:

    a、c++/java更加的强调类型,对类型的检查更加严格。
    b、javaScript、Python、PHP则不强调,甚至不用事先定义。

    *支持:强类型有助于提早发现程序中的一些简单的错误。

    *反对:强类型过于强调逻辑类型迫使面对最底层,实现而非事务逻辑。

    *面对底层则强调类型,面向应用的则更强调事务逻辑。

    c、C语言的类型。(四大类有五个)

    没有特殊要求整数只用int,浮点只用double。

    整数: char, short, int, long, long long

    浮点数: float, double, long double

    逻辑: bool

    指针: 自定义:

    d、类型有何不同。

    输入输出的格式化:%d, %ld, %lf。

    所表达的范围 :char<short<int<float<double.

    内存中所占的大小:1个字节到16个字节。

    内存中的表达形式:二进制(补码),编码。

    e、大小

    char:1字节。(8比特) short:2字节。 int:取决于cpu/编译器。 long:与int一致。 long long:8字节。

    f、补码

    00000000-00000001->11111111 补码时这里的11111111为-1而纯二进制时为255 unsigned 如果一个字面量常数想表达自己是unsigned

    eg:255U/u unsigned char c= 255 printf为255 若没有unsigned则输出-1。

    g、输入和输出(进制)

    十进制输出 %d %o:输出八进制 %x:十六进制

    h、浮点类型

    ​ float: double:

    字长: 32 64

    有效数字: +-(1.210-32~3.4*1038) +-(2.210-308~1.79*10308)

    范围: 7 15

    scanf: %f %lf

    printf; %f,%e(输入一个科学计数法) %f,%e 在%和f之间加上.和数字就可以指定输出小数点的的后几位。(结果是四舍五入的)

    eg:0.1234567 8901 7后面的都是无效的

    i、浮点的范围和精度

    printf输出inf表示无穷大 输出nan表示不存在

    带小数点的字面量是double而非float,folat需要用f/F来表明身份。eg: 1.233f

    j、char (character)

    char:一种整数,也是一种特殊的字符。

    *I、用单引号表示的字符字面量。
    *II、'1':此为字符一 而不是1
    *III、printf()和scanf()用%c来输出字符。
    k、字符计算
    I、一个字符加上一个数字得到ASCll码那个数后的一个字符。
    II、两个字符的减,得到他们在表中的距离。
    l、逃逸字符=转义字符

    用于表达无法印出来的控制字符/特殊字符。

    :回退一格 ":双引号 :到下一个表格位 ':单引号 :换行 :回车 :反斜杠

    m、类型转换
    I、自动类型转换

    当运算符的两边出现不一致的类型时会自动转换成较大(范围更大)的类型。(一起运算的时候) -char -> short -> int -> long -> long long

    -int -> float -> double

    *对于printf来说,任何小于int的类型都会被转换成int,float则转换成 double

    对于printf任何小于int的数都会被转换成int。float->double 而short不同,输入short则需要%hd.

    II、强制类型转换。

    (只是从那个变量计算出一个新的类型值,并不改变那个变量,值和类型都不变)

    把一个量强制转换成另一个类型。

    eg: (int)10.2 --double转换成int 会输出

    ​ (short)32 --int转换成short

    ​ 强制转换的优先级高于四则运算。

    ​ eg:int i = (int)a /b

    III、逻辑类型

    bool类型 要加上 头文件#include <stdbool.h>,之后就可以使用bool和true、false。

    n、逻辑运算。

    逻辑运算是对逻辑量进行的运算,结果只有0/1。

    I、!:

    逻辑非-> 若a的结果是true就是false,a的结果是false就是true。

    II、&&:

    逻辑与 -> 若a与b都是true结果就是true,否则就是false。

    III、||:

    逻辑或 -> 只有a b两个都是false的时候才是false其他都是true。

    try 如何写出数学中的区间呢? eg: 4 < x <6 错误的示范 应该这样写:x>4 && x<6

    IV、短路

    若&& || 的左边已经能够决定结果了,那么右边的也就不用继续执行了。

    o、条件运算符

    条件运算符的优先级高于赋值运算符,但低于其他运算符。

    count =(count >20 )? count -10: count +10;

    =>if (count >20)

    count =count-10;

    else

    count =count+10; (等同于上面的条件运算符)

    逗号运算符:优先级是所有运算符中最低的。(主要是在for语句中使用得比较多) eg;for(i=0,j=10;i<j;i++,j--)......

  • 相关阅读:
    转自苦大师:移动测试Appium之API手册
    怨念与发飙
    Asp.Net 2.0新特性
    汉字是最优美的文字
    加入cnblog留念
    Thrift之TProtocol类体系原理及源码详细解析之其他协议类和总结
    Thrift之TProtocol类体系原理及源码详细解析之二进制协议类TBinaryProtocolT(TBinaryProtocol)
    linux内核bug问题排查过程详细报告
    Thrift之TProtocol类体系原理及源码详细解析之紧凑协议类TCompactProtocolT(TCompactProtocol)
    Thrift之TProcess类体系原理及源码详细解析
  • 原文地址:https://www.cnblogs.com/wpoem/p/12448029.html
Copyright © 2011-2022 走看看