王道训练营-C语言-1

1.字符

#include <stdio.h>
#include <stdlib.h>

int main(){
    char c;
    c='\n';//转义字符,换行,对应enter
    c='\r';//回车,回到行首
    //scanf("%c",&c);//scanf拿不到退格键
    printf("%o\n",123);//输出十进制123的八进制表示178
    printf("%x\n",123);//输出十进制123的十六进制表示178
    printf("\\\\123\n");// 输出:\\123

    while(scanf("%c",&c)!=EOF){
        if(c=='\n')
            break;
        printf("%c\n",c-32);//小写字母转为大写字母
    }

    system("pause");
    return 0;
}

2.逻辑运算符

#include <stdio.h>
#include <stdlib.h>

int main(){
    int year;
    scanf("%d",&year);
    10==year&&printf("year is 10"); //逻辑与的短路运算,只有当输入为10的时候才执行逻辑与后面的语句
    10==year||printf("year is not 10");//逻辑或的短路运算,与逻辑与相反,可省略if语句
    system("pause");

}

3.位操作符

#include <stdio.h>
#include <stdlib.h>

int main(){
    short a,b;
    int m;
    m=1;
    a=60;
    b=13;

    //b=~a;
    printf("%d\n",a&b);
    printf("%d\n",a|b);
    printf("%d\n",a^b);//按位异或
    printf("m<<10=%d\n",m<<10);
    printf("m=%d\n",m);//左移之后,m的值没变

    //正数
    //右移 除2 高位补0,低位丢弃
    m=200;
    printf("m>>1=%d\n",m>>1);//右移就是除2,对于负数,需要先减1,再除2
    //负数
    //左移 乘2 高位补1,低位丢弃 
    m=-6;
    printf("m<<1=%d\n",m<<1);//左移就是乘2

    system("pause");
}

4.自增自减运算符

#include <stdio.h>
#include <stdlib.h>

int main(){
    int a=10,b;
    b=a++; //其实是:b=a;a=a+1;
    printf("a=%d,b=%d\n",a,b);
    b=++a;
    printf("a=%d,b=%d\n",a,b);
    system("pause");

}

a=11,b=10
a=12,b=12

5.条件运算符

#include <stdio.h>
#include <stdlib.h>

int main(){
    int a,b,c,maxabc;
    scanf("%d%d",&a,&b,&c);
    c=a>b?a:b;//把ab中的大数赋值给c
    printf("a=%d,b=%d,c=%d\n",a,b,c);
    maxabc=(a>b?a:b)>c?(a>b?a:b):c;//把abc中的大数赋值给maxabc
    printf("a=%d,b=%d,c=%d,maxabc=%d",a,b,c,maxabc);
    system("pause");
    //另外,逗号运算符
    //int i=24;
    //int n = (i++,i++,i++,i++); // n == 27
}

23 -45 12
a=23,b=-45,c=23
a=23,b=-45,c=23,maxabc=23请按任意键继续…

6.

转载于:https://www.cnblogs.com/zychen/p/7384760.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值