c语言基础02

来源:互联网 发布:移动宽带 端口转发 编辑:程序博客网 时间:2024/06/16 00:39
 

1.浮点数补充

 指数的取值范围 -127~128;

 float 的取值精度  2^-23 ~ 2^23;

 对于double 型浮点数在计算机内存中与float 类似,但其阶码有十一位,尾数五十二位。

2.大端小端 

 ox123456789

 若计算机中以  12  34  56  78 存储  ——低地址放高数据,此为大端(手机,网络);

 若计算机中以  78  56  34  12 存储  ——低地址放低数据,此为小端(电脑,inter);

 PS:红色数字标记的为低地址。

 3.初识算法

  (1)是否闰年

           #include <stdio.h>

           bool   IsLeadyear  (int year)

           {

              if(year%4==0&&year%100!=0||year%400==0) 

                  { 

                   return ture;

                 }

            else    return  false;

           }

           int  main()

           {

           int  year=2004;

           if(IsLearyear(2004))

            {

               printf("%d是闰年",year);

           }   

           return  0;

           }

   
  (2)求5的阶乘

      #include <stdio.h>
      int Jicheng(int a)
      {

      if(a<=0)   return -1;      //对参数进行检查

      int i,t=1;
      for(i=1;i<=a;i++)

      {

       t*=i;
      return t;
      }
      int main()
     {
     printf("%d",Jicheng(5));
      return 0;
     }

  4.运算符

  (1)++,--

       b=a++;  //b=a,a=a+1

      c=++a;   //a=a+1,c=a

  (2)逻辑运算符

    int a=1,b=0,c=2;
    if(a++&&b++&&c++) printf("true\n");
       else printf("false\n");
    printf("%d  %d  %d",a,b,c);

   运行结果: false

                      2  1  2

   注:表达式1 && 表达式2    若1为假则2不用执行

          表达式1  ||  表达式2    若1为真则2不用执行

  (3)针对二进制的运算符

     11     0000 1011

     13     0000 1101

     ~11 (按位取反)  1111 0100

    11 | 13 (按位或)  0000 1111

    11 & 13 (按位与)  0000 1001

    11 ^ 13 (按位异或) 0000 0110

    11 >> 1(右移一位)  0000 0101=5=11/2=11*2^-1

    11 << 1 (左移一位)  0001 0110=22=11*2=11*2^1

   (4)* 的作用

      int a=10;

      int *p=&a;     //指针;乘法

        *p=20;     //解引用;间接访问符

  (5)sizeof  既是运算符也是关键字

     int a=20;
     int b=sizeof(int);    //4
     int c=sizeof(a);    //4
     int d=sizeof a;    //4
     int e=sizeof int;    //error

     int f=sizeof (3+4.5);    //8

     int g=sizeof (Fun());    //此时g等于Fun()函数返回值类型的大小,若Fun()的返回值为char型,g=1

     注:在C99及以上标准中,sizeof(char)、sizeof(int)、sizeof(long)、sizeof(long long)、sizeof(float)、sizeof(double)、sizeof(long double)的值分别是1,4,4,8,4,8,16。