• 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("这是一个润年");
            }
        }
    
    }
  • 相关阅读:
    Codeforces 1237D. Balanced Playlist
    Codeforces 1237C2. Balanced Removals (Harder)
    使用excel计算指数平滑和移动平均
    HP滤波原理浅学
    第二章平稳时间序列模型——ACF和PACF和样本ACF/PACF
    第二章平稳时间序列模型——AR(p),MA(q),ARMA(p,q)模型及其平稳性
    第一章时间序列基础——差分方程和求解(二)
    R中的par()函数的参数
    你真的懂了R中的stem函数是如何绘制茎叶图的么?
    关于R中的mode()和class()的区别
  • 原文地址:https://www.cnblogs.com/fanghui/p/3067931.html
Copyright © 2020-2023  润新知