zoukankan      html  css  js  c++  java
  • C语言学习代码〈二〉

     1 //====================================================
     2 // if练习
     3 //====================================================
     4 
     5 #include<stdio.h>
     6 int main()
     7 {
     8     int num = 0;
     9     printf("请输入一个整数:");
    10     scanf("%d",&num);
    11     if(num > 0)
    12     {
    13         printf("这是一个非负数\n");
    14     }else if(num < 0)
    15     {
    16         printf("这是一个负数\n");
    17     }else if(0==num)//尽量把常量写在==前这样如果写错成=的时候编译器会报错
    18     {
    19         printf("这个数是零");
    20     }
    21     return 0;
    22 }
    //==============================================================
    //        操作符练习
    //===============================
    
    #include<stdio.h>
    int main()
    {
        int num=0,num1=0;
        num =3,7;//输出结果是3
        printf("num是%d\n",num);
        num =(3,7);//输出结果是7
        printf("num是%d\n",num);
        num++;       
        printf("num是%d\n",num);
        num1=++num;
        printf("num是%d,num1是%d\n",num,num1);
        num1=num++;
        printf("num是%d,num1是%d\n",num,num1);
        num1=num++ + ++num;//结果有时候不一定,错误写法。
        printf("num是%d,num1是%d\n",num,num1);
        return 0;
     }
    //====================================
    //地址操作符
    //===================================
    #include<stdio.h>
    int main()
    {
        int num = 0;
        printf("%p\n",&num);
        *(&num)=3;
        printf("num是%d\n",num);
        return 0;
    }
    //======================================================
    //           逻辑操作符练习
    //======================================================
    //
    #include<stdio.h>
    int main()
    {
        int num=0;
        printf("3==5是%d\n",3==5);//输出0代表不等于。
        printf("3 !=5是%d\n",3!=5);//输出1代表不等于成立
        printf("3 <5是%d\n",3<5);//输出0代表不成立
        printf("3 >5是%d\n",3>5);//输出1代表成立
    
        printf("3 <=5是%d\n",3<=5);//输出1代表成立
        printf("3 >=5是%d\n",3>=5);//输出1代表不成立
        printf("3<7<2是%d\n",3<7<2);//计算3<7=1,在计算1<2=1
    
        3 > 5 && ++num;
        printf("num是%d\n",num);//打印现来是0因为与运算的短路特性,只要有一个结果为假就不在往后执行。同理或运算也有短路特性,只要表达式中有一个为真就不在往后执行。
        printf("!6是%d\n",!6);
        return 0;
    }
    //==================================================
    //强制类型转换练习
    //================================================
    
    #include<stdio.h>
    int main()
    {    
        int num=300;
        (unsigned char)num;
        printf("%d\n",(unsigned char)num);//强制转换时丢失掉了数据
        printf("%d\n",num);
        return 0;
    }
    //====================================================
    //三目操作符练习
    //===================================================
    
    #include<stdio.h>
    int main()
    {
        int num=-3;
        num = num>0 ? num : 0-num;//取绝对值
        printf("%d\n",num);
        return 0;
    }
    //====================================================
    //三目操作符练习
    //===================================================
    
    #include<stdio.h>
    int main()
    {
        int num=-3;
        num = num>0 ? num : 0-num;//取绝对值
        printf("%d\n",num);
        return 0;
    }
    //================================
    //移位操作
    //=================================
    #include<stdio.h>
    int main()
    {
       printf("0xabcdef89<<2是0x%x\n",0xabcdef89<<2);
       printf("0xabcdef89>>2是0x%x\n",0xabcdef89>>2);
       printf("(int)0xabcdef89>>2是0x%x\n",(int)0xabcdef89>>2);//对于有符号的数据类型右移左边补原来的符号位。
       return 0;
    }
    //===============================================
    //隐式类型转换练习
    //===============================================
    
    #include<stdio.h>
    int main()
    {
        int num = -10;
        unsigned int num1 = 3;
        num = (num + num1) > 0 ? 1: -1;//隐式转换运算时,会把有符号的转成无符号的在进行运算,所以两个正数相加肯定是大于零的,并非我们所想的结果。
        printf("计算的结果是:%d\n",num);
        printf("大小是%d\n",sizeof(3 < 5 ? 1 : 0.9));//运算中进行了隐式转换,所以sizeof取到的大小是最大数据类型的大小。
        return 0;
    }
    // 要求用户输一个整数,如果用户输的整数是大于等于100的,就把他减去100的差
    //     算出来。如果小于一百就用一百减他。也就是求用户输的数与100的距离,而且>    这个距离必须是正数。
    //
    #include<stdio.h>
    int main()
    {
        int num;
        printf("请输入一个整数:");
        scanf("%d",&num);
        num=100-num;
        num=num>=0 ? num : 0-num;
        printf("结果是%d\n: ",num);
        return 0;
    }
    //==================================================
    //判断一个数是奇数还是偶数,且是否能被5整除!
    //日期:2013-5-7               by:ant
    //==================================================
    #include<stdio.h>
    int main()
    {
        int num;
        printf("请输入一个整数:");
        scanf("%d",&num);
        if(num % 2 != 0)
        {
            if(num%5==0)
            {
                printf("这是一个奇数,且能被5整除");
            }else
            {
                printf("这是一个奇数,但不能被5整除");
            }        
        }else
        {
            if(num%5==0)
            {
                printf("这是一个偶数,且能被5整除");
            }else
            {
                printf("这是一个偶数,但不能被5整除");
            }         
        }
    }
    //===============================================================
    //判数是否为润年:判断条件:被四整除,但不能被100整除的就是润年。
    //能被4整除,也能被100整除,且不能被400整除,就不是润年。
    //日期:2013-5-7                          by:ant
    //!(year % 400) || (!(year % 4) && (year % 100)
    //==============================================================
    
    #include<stdio.h>
    int main()
    {
        int year;
        printf("请输入一个年份");
        scanf("%d",&year);
        if(0==year%4)
        {
            if(0!=year%100)
            {
                printf("这是一个润年");
            }
            if(0==year%100 && 0==year%4 && 0==year%400)
            {
                printf("这是一个润年");
            }
        }
    
    }
  • 相关阅读:
    42. Trapping Rain Water
    223. Rectangle Area
    645. Set Mismatch
    541. Reverse String II
    675. Cut Off Trees for Golf Event
    安装 VsCode 插件安装以及配置
    向上取整 向下取整 四舍五入 产生100以内随机数
    JS 判断是否为数字 数字型特殊值
    移动端初始配置,兼容不同浏览器的渲染内核
    Flex移动布局中单行和双行布局的区别以及使用
  • 原文地址:https://www.cnblogs.com/fanghui/p/3067931.html
Copyright © 2011-2022 走看看