C语言程序设计(三)——顺序程序设计

目录:

常量.c

常量分类:   (1)字面常量(直接常量):数值常量(分为整型常量和浮点型常量)、字符串常量和字符常量

      (2)符号常量

      (3)常变量

   \f,换页,将当前位置移到下一页的开头

  \v,垂直制表符,将当前位置移到下一个垂直制表对齐点

  \o、\oo或\ooo(o代表一个八进制),与该八进制码对应的ASCII字符,与该八进制码对应的字符

  \xh[h...](h代表一个十六进制),与该十六进制码对应的ASCII字符,与该十六进制码对应的字符

  注:只要在定义一个变量的时候在它之前加上一个const这个关键字,就代表所定义的变量是一个常变量,常变量必须在定义时初始化,之后其值不能被修改

整型:

  (一)补码:整型以补码的形式存放

   (1)一个正数的补码是此数的二进制形式

    求一个正整数的二进制,除以2,直至商为0,余数倒数排序

    (2)一个负数的补码,先求其绝对值的补码,然后该补码所有位取反,所得之数最后加1

      例如:求-5的补码

         假设-5储存的单元是一个字节,一个字节是八个二进制位,求-5的补码先求5的补码,5的补码是101,其他高位上用0来填充则是00000101,得到5的补码后需要对所有位取反,对0取反就是1,对1取反就是0,所以就是11111010,然后加1得到11111011,这就是-5的补码。

    (3)0的补码,所有位全都是0

  注意:在存放整型的存储单元中最左边一位是用来表示符号的(一个正整数最左边那一位是0,负整数最左边那一位是1)。

  8位二进制补码所代表的整数:

     二进制            十进制

    0000 0000   ——————————    0

    0000 0001   —————————— 1

    ……

    0111 1111 —————————— 127  ——— 2^(8-1)-1  最大正数

    1000 0000  —————————— -128  ——— -2^(8-1)   最小负数

    1000 0001  —————————— -127  ——— -(2^(8-1)-1)

    1000 0010  —————————— -126  ——— -(2^(8-1)-2)

    ……

    1111 1111  —————————— -1

    自然数0~127,负整数-128~-1

  (二)整型数据的存储空间及范围

    (1)Turbo C中 int 是2个字节。VC++中 int 是4个字节。C标准没有具体规定各种数据类型所占用储存单元的长度,这是由各编译系统自行决定的。

        短整型      整型      长整型          双长整型         名称

        short  <=    int  <=    long    <=      long  long      类型

          2        2或4       4              8        字节

                                           

         无符号短整型     无符号整型    无符号长整型       无符号双长整型      名称

      unsigned  short <=     unsigned  int   <=      unsigned  long    <=    unsigned  long  long      类型

        2         2或4        4             8          字节

   注意:只有整型(包括字符型)数据可以加 unsigned 修饰符,实数型不能加,对无符号整型数据用 %u 格式输出,C99新增数据的整型类型有 long  long 和 bool(布尔型)

字节数 有符号的取值范围 类型
2 - 2^15~2^15-1(-32768~32767) short, int
4 - 2^31~2^31-1(约-2e9~2e9) int, long
8 - 2^63~2^63-1(-约-9e18~9e18) long  long
字节数 无符号的取值范围 类型
2 0 ~ 2 ^64-1(约0~18e18) unsigned  short, unsigned  int
4 0 ~ 2 ^32-1(约0~4e9) unsigned  int, unsigned  long
8 0 ~ 2 ^64-1(约0~18e18) unsigned  long  long

                              记住                      2^7  ==  128

                            2^8  ==  256

                           2^15  ==  32768

                           2^16  ==  65536

                        2147483648  ==  2^31  ≈  2e9 

                        4294967296  ==  2^32  ≈  4e9 

                   9223372036854775808  ==  2^63  ≈  9e18

                    18446744073709551616  ==  2^64  ≈  18e18

  注意:黑色的格式声明scanf可用,黑色和红色的格式声明printf可用。

类型 格式声明
十进制的 八进制的 十六进制的
short %hd,  %hi %ho %hx,  %hX,  %#hx,  %#hX
int %d,  %i %o %x,  %X,  %#x,  %#X
long %ld,  %li %lo %lx,  %lX,  %#lx,  %#lX
long  long %lld,  %lli %llo %llx,  %llX,  %#llx,  %#llX
unsigned  short %hu %ho %hx,  %hX,  %#hx,  %#hX
unsigned  int %u %o %x,  %X,  %#x,  %#X
unsigned  long %lu %lo %lx,  %lX,  %#lx,  %#lX
unsigned  long  long %llu %llo %llx,  %llX,  %#llx,  %#llX

 

          *整型常量的类型转换

类型 常量末尾所加符号(建议都大写)
short
unsigned  short
int
unsigned  int U、u
long L, l
unsigned  long UL, ul, Ul, uL
long  long LL, ll, Ll, lL
unsigned  long  long ULL, ull, ULl, uLL, Ull, uLl, ulL

          注:如果不加这些说明符号,整型变量的类型是由系统自动识别。

 

  字符型数据:

  (一)字符型是以整数形式(ASCII码)存放在内存中。ASCII共128个字符(0~127这128个整数来表示字符)(也就是说最多用7位数就可以表示)。

    记住:      'A' —— 65

             'a' —— 97      一个小写字母比其大写字母的ASCII码大32

             '0' —— 48

        空格 —— '  ' —— 32

        换行 —— '\n' —— 10

        空字符 —— '\0' —— 0

  (二)字符型数据的存储空间和值

  *

类型 字节数 取值范围
signed  char 1 -128 ~ 127
unsigned  char 1 0 ~ 255

    注意:1.C99把字符型数据作为整型类型的一种。

       2.在使用有符号字符型变量时,允许存储的值为负数,但是字符的代码是不可能是负值,所以在存储字符时只用到了 0 ~ 127 这一部分。

  

  getchar 和 putchar函数.c

  f1输出值:

    f2输出值:

 

  浮点型数据(包括:单精度浮点型,双精度浮点型,长双精度浮点型,复述浮点型)

  (一)规范化的指数形式,把小数部分中小数点前的数字为0,小数点后第一位数不为0,如:0.314159e1就是3.14159的规范化的指数形式。

  

  (二)实数储存空间及范围(Turbo C中long  double 占16个字节,vc++6.0中占8个字节)

字节数 有效数字 数值范围 ( 绝对值) 数据类型
4 6 0以及1.2e-38~3.4e38 float
8 1 5 0以及2.3e-308~1.7e308 double, long  double
1 6  19 0以及3.4e-4932~1.1e4932 long  double

      注:从数值的左边第一个不为0的数字起,一直数到这个数字结束,中间的数字叫这个值的有效数字(如0.618的有效数字有三个,分别是6,1,8)

  注:(一)所有常量末尾加的数据转换类型转换符可以大小写不分

    (二)在目前学习过的所有格式声明中只有xeg可以不分大小写。

  printf用到的格式附加字符.C

  scanf函数注意事项.C

   scanf函数中不可以使用#、-、m-n(m,n属于自然数)的格式附加字符,可以使用域款的格式附加字符

 

  运算符.2.C

猜你喜欢

转载自www.cnblogs.com/XiaMengJie/p/12343424.html