C语言_运算符_分支结构

C语言运算符:

  • 算数运算符:+ ,-,*,/,%
  • 关系运算符:>,<,==,!=,>=,<=
  • 位运算符:>>,<<,~,&,|,^
  • 逻辑运算:&&,||,!
  • 条件运算符(三目运算):?:
  • 指针运算:&,*
  • 赋值运算:=
  • 逗号运算:,
  • 字节运算:sizeof
  • 强制运算符:(类型名)(表达式)
  • 结构体成员运算符:->

算数运算符实例:

 1 #include <stdio.h>   
 2 
 3 void main() 
 4 {   
 5     // 声明
 6     int num1 = 200;
 7     int num2 = 100;
 8     
 9     // 
10     printf("%d + %d = %d\n",num1, num2, num1 + num2);    // 加法
11     printf("%d - %d = %d\n",num1, num2, num1 - num2);    // 减法
12     printf("%d * %d = %d\n",num1, num2, num1 * num2);    // 乘法
13     printf("%d / %d = %d\n",num1, num2, num1 / num2);    // 除法
14     printf("%d %% %d = %d\n",num1, num2, num1 % num2);   // 取余 200/100 的值为2,没有余数,所以值 200%100 值为 0
15 }   

位运算:

“位与” 运算,运算符为: &

12 & 8 运算过程:

运算法则:两个操作数二进制表示,只有对应位都是 1 时,结果才为 1 ,否则为 0

“位或” 运算,运算符为: |

4 | 8 运算过程:

运算法则:两个操作数二进制表示,只有对应位都是 0 时,结果才为 0 ,否则为 1

“位异或” 运算,运算符为: ^

31 ^ 22 运算过程:

运算法则:两个操作数二进制表示,对应位相同(同时为0或同时为1),结果为 0,否则为 1

“位取反”运算,运算符为:~

运算法则:操作数二进制表示,将 1 修改为 0 , 0 修改为 1

左移运算: <<

  左移运算是将一个二进制操作数向左移动指定的位数,左边( 高位端 )溢出位将被丢弃,右边(低位端)的空位将用 0 补充,左移运算相当于乘以二的 n 次幂。
  例如 :表达式 48 << 1 (00110000 << 1)的值就是 96 ,即 48 乘以 2 的1次幂(48 * 2)
 
右移运算:>>
  右移运算是将一个二进制操作数向右移动指定的位数,右边(低位端)溢出位被丢弃,而在填充左边(高位端)空位时,如果最高位是0(正数),左侧空位填入0,如果最高位是1(负数),左侧空位填入1。右移位运算,相当于除以 2 的 n 次幂。
 

实例:

 1 #include <stdio.h>   
 2 
 3 void main() 
 4 {       
 5     printf("12 & 8 = %d\n", 12 & 8);      // 12 & 8 = 8
 6     printf("4 | 8 = %d\n", 4 | 8);          // 4 | 8 = 12
 7     printf("31 ^ 22 = %d\n", 31 ^ 22);    // 31 ^ 22 = 9
 8     printf("~22 = %d\n", ~22);              // ~22 = -23
 9 
10     printf("48 << 1 = %d\n", 48 << 1);    // 48 << 1 = 96
11     printf("48 >> 1 = %d\n", 48 >> 1);    // 48 >> 1 = 24
12 }   

逻辑运算:

&& (与)

  (条件1) && (条件2)

  只有两个条件都为真时,结果才为真

|| (或)

  (条件1) || (条件2)

  两个条件有一个为真即可成立,结果就为真

! (非)

  ! (条件)

  条件为真时,结果为假

  条件为假时,结果为真

 算数优先级:(从高到低)

  1. (),sizeof,++,--
  2. !
  3. 算数运算符
  4. &&
  5. ||
  6. = (赋值运算符)

分支结构:

语法:

if(条件1)
{
    代码段1
}
else if(条件2)
{
    代码段2
}
else
{
    代码段3
}
   以上结构首先判断条件1是否成立,如果条件1成立就执行代码段1,然后结束程序;
  如果条件1不成立,则判断条件2是否成立,如果条件2成立执行代码段2,然后结束程序;
  如果条件2不满足,,则执行代码段3,最后结束程序。
 

实例:

 1 #include <stdio.h>
 2 
 3 void main()
 4 {
 5     // 声明
 6     int score;
 7 
 8     //
 9     printf("请输入你的成绩:\n");
10     scanf("%d", &score);
11 
12     if (score >= 80 || score <= 100)
13     {
14         printf("您的成绩优秀~~\n");
15     }
16     else if (score >= 60 || score < 80)
17     {
18         printf("你的成绩良好~~\n");
19     }
20     else
21     {
22         printf("小老弟,你的成绩有点危险噢~~~\n");
23     }
24 }

猜你喜欢

转载自www.cnblogs.com/diyi/p/10548066.html
今日推荐