1.运算符的补充

        c语言基础03(输出格式)

  (1)int  a=10;

           if(5<a<10);    //此语句可编译可执行,if()内的值为1。(编译器先判断5<a的值为1,再进行1<10的值为1)

 
 (2), 运算符

    int  a = (10,20,25)   //  a==25

 (3)三目运算符

   表达式 1?表达式 2:表达式 3      //判断表达式1的值为真则返回表达式2反之则返回表达式3,常用于比较大小

 (4)sizeof 的特殊

     int a = 10;

     float b=  10.0;

    printf("%d\n",sizeof(a++));   //4

    printf("%d\n",sizeof(a+b));
    printf("%d\n",a);      //10


 2.常变量

   const  int  a=10; 

   const  修饰变量时必须同时初始化,并且它修饰的变量值不允许被修改。

3.转义字符

   '\01'和'\1'默认转化为八进制    '\x123'默认转化为十六进制

   %i   同%d,以有符号十进制整型数据输出

  %u以十进制形式输出无符号整数

   %x  以无符号十六进制整型数据输出  0~9  a~z

   %X 无符号十六进制整型数据输出  0~9  A~Z

   %o 以八进制整型数据输出

   %e以指数形式输出单、双精度实数 

   %p 输出内存地址形式数据(16进制)

   %g %f%e中较短的输出宽度输出单、双精度实数,在指数小于-4或者大于等于精度时使用%e格式用于打印浮点型数据时,会去掉多余的零,至多保留六位有效数字(不同于%e的默认保留小数点后6位)

 4.putchar()函数不会主动换行

 5.

  # define    PI  si1415926   //宏(替换)

  预处理命令 

6.程序中的坑

  (1)

                unsigned    int a=10;

                if(a>-1)

               {

                      printf("true");

               }

              else   printf("false");

  无符号和有符号进行比较,有符号转化为无符号(隐式转化),-1在内存中以11111111存储,则程序输出为false。 (2)

     以下哪句话与这句话意思相等?
     if(a == 1) printf("true"); else printf("false");
     if(a != 1) printf("true"); else printf("false");
     if(a == 0) printf("false"); else printf("true");
     if(a != 0) printf("true"); else printf("false");
 7.
   (1)求二进制中1的个数
 int Count1(long long n)
{
    int t,number=0;
    if (n < 0)  return -1;
    do
    {
       t = n % 10;
       if (t) 
      {
         number++;
      }
      n /= 10;
   } while (n>0);
    return number;
}
 int main()
{
    printf("%d",Count1(1111000011110000));
    printf("%d\n", Count1(1111111111111111));  //16
    printf("%d\n", Count1(0));
    printf("%d\n", Count1(1));
    printf("%d\n", Count1(10));
    printf("%d\n", Count1(-1111));
    getchar();
    return 0;
}
   (2)关于printf()和scanf()的返回值
                    scanf函数返回的是输入值的个数; 而printf函数则是返回打印字符的个数
           \t 也只是表示的是一个字符

             例:      int  a = 1236;

                          int b,c;

                          int  x =scanf("%d %d",&b,&c);

                         printf("%d", x);           //x=2;

                          printf("%d", printf("%d\n", printf("%d", a)));    //输出结果为12364
                          getchar();                                                       //                  2
                          return 0;   
   (3)

void Prime()
{
    int i, t;
    for (i = 100; i <= 200; i++)
    {
        for (t = 2; t < i; t++)
        {
            if (i%t == 0)
            {
                break;
            }
        }
        if (t == i)
        {
            printf("%d\n", i);
        }
    }
}

int Sum100()
{
    int i, sum = 0;
    for (i = 1; i <= 100; i++)
    {
        sum += i;
    }
    return sum;
}
int  Divion(int n)
{
    if (n % 15 == 0)
    {
        return 1;
    }
    else
    {
        return 0;

    }
}
int Commondivisor(unsigned int m, unsigned  int n)
{
    int tmp;
    while (m%n!=0)
    {
        tmp = m%n;
        m = n;
        n = tmp;
    }
    return n;
}

int main()
{
    Prime();
    printf("%d\n", Commondivisor(18, 12));
    printf("%d\n", Commondivisor(0, 4));
    if (Divion(25))
    {
        printf("25即能被3整除也能被5整除");
    }
    printf("%d\n", Sum100());
    getchar();
    return 0;
}

  

相关文章: