《手把手教你學C語言》學習筆記(8)--- 運算子和表示式

weixin_30376323發表於2017-05-22

  C語言程式設計的核心是指標和庫,而庫的核心就是函式,函式的基本組成部分就是語句。

  C語言合法表示式加上分號(語句結束符)構成C函式的基本部分語句。如果只有分號沒有表示式就構成空語句,空語句常常用來形成佔位之用。

  一、C語言的符號與運算子的連線構成表示式,根據運算子的不同,主要分為:

  1、算術表示式:用算術運算子連線起來的表示式;

  2、關係表示式:用關係運算子連線起來的表示式;

  3、邏輯表示式:用邏輯運算子連線起來的表示式;

  4、賦值表示式:用賦值運算子連線起來的表示式;

  二、常見的運算子主要分為:

  1、算術運算子:能夠完成基本數學運算的符號,主要包括:

    (1)、+:加         var1 + var2算術表示式的結果就是變數var1和變數var2相加的結果

    (2)、-:減          var1 - var2算術表示式的結果就是變數var1和變數var2相減的結果

    (3)、*:乘          var1 * var2算術表示式的結果就是變數var1和變數var2相乘的結果

    (4)、/:除          var1 / var2算術表示式的結果就是變數var1和變數var2相除的結果,牽涉到變數的自動型別轉化

    (5)、%:餘          var1 % var2算術表示式的結果就是變數var1和變數var2相除的餘數

    (6)、++:自增        var++和++var兩種形式,是var = var + 1的等效形式,兩種形式的運算時機不同,常用在迴圈中

    (7)、--:自減          var--和--var兩種形式,是var = var - 1的等效形式,兩種形式的運算時機不同,常用在迴圈中

    (8)、&:位與          var1 & var2算術表示式的結果就是變數var1和變數var2位與的結果

    (9)、|:位或           var1 * var2算術表示式的結果就是變數var1和變數var2位或的結果

 

  2、關係運算子:能夠完成變數特性的條件判別,大小及是否相等,表示式成立結果為真,否則為假,若var1為12,var2為9,則有:

    (1)、>:大於          var1 > var2關係表示式的結果就是真

    (2)、<:小於          var1 < var2關係表示式的結果就是假

    (3)、>=:大於等於      var1 >= var2關係表示式的結果就是真

    (4)、<=:小於等於      var1 <= var2關係表示式的結果就是假

    (5)、!=:不等於        var1 != var2關係表示式的結果就是真

    (6)、==:等於        var1 == var2關係表示式的結果就是假

    注:關係運算子又可稱為條件運算子,關係表示式主要用於條件判斷語句中。

 

  3、邏輯運算子:完成多條件的邏輯運算,表示式的結果為邏輯狀態,若sel1為真,sel2為假,則有:

    (1)、&&:邏輯與        sel1 && sel2關係表示式的結果就是假,在邏輯與運算中,只要有一個條件為假,結果必然為假

    (2)、||:邏輯或         sel1 < sel2關係表示式的結果就是真,在邏輯與運算中,只要有一個條件為真,結果必然為真

    (3)、!:邏輯非          !sel1 關係表示式的結果就是假

  

  4、賦值運算子:完成變數的賦值運算,若var1為2,var2為9,則有:

    (1)、=:賦值         var1 = var2賦值表示式的結果將var2的內容9與變數var1關聯起來(賦值),運算順序為從右至左

    (2)、+=:加賦值         var1 += var2賦值表示式的結果將var1的值2與變數var2的值9相加的結果11重新賦值給var1

    (3)、-=:加賦值          var1 -= var2賦值表示式的結果將var1的值2與變數var2的值9相減的結果-7重新賦值給var1

    (4)、*=:加賦值          var1 *= var2賦值表示式的結果將var1的值2與變數var2的值9相乘的結果18重新賦值給var1

    (5)、/=:加賦值          var1 /= var2賦值表示式的結果將var1的值2與變數var2的值9相除的結果0重新賦值給var1

    (6)、%=:加賦值        var1 %= var2賦值表示式的結果將var1的值2與變數var2的值9相與的結果2重新賦值給var1

  下面程式碼的執行結果為:

Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示+=賦值運算子:
var1 = 11 var2 = 2 var1 += var2 : 11
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示-=賦值運算子:
var1 = 7 var2 = 2 var1 -= var2 : 7
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示*=賦值運算子:
var1 = 18 var2 = 2 var1 *= var2 : 18
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示/=賦值運算子:
var1 = 4 var2 = 2 var1 /= var2 : 4
Please input two numbers use space split: 9 2
You input two numbers is: 9 and 2
下面演示%=賦值運算子:
var1 = 1 var2 = 2 var1 %= var2 : 1

  程式碼為:  

 1 #include <stdio.h>
 2 
 3 int main(int argc, char **argv)
 4 {
 5     int var1;                                                                                                                                        
 6     int var2;
 7 
 8     printf("Please input two numbers use space split: ");
 9     scanf("%d %d", &var1, &var2);
10     printf("You input two numbers is: %d and %d\n", var1, var2);
11     printf("下面演示+=賦值運算子:\n");
12     printf("var1 = %d var2 = %d var1 += var2 : %d\n", var1, var2, var1 += var2);
13 
14     printf("Please input two numbers use space split: ");
15     scanf("%d %d", &var1, &var2);
16     printf("You input two numbers is: %d and %d\n", var1, var2);
17     printf("下面演示-=賦值運算子:\n");
18     printf("var1 = %d var2 = %d var1 -= var2 : %d\n", var1, var2, var1 -= var2);
19 
20     printf("Please input two numbers use space split: ");
21     scanf("%d %d", &var1, &var2);
22     printf("You input two numbers is: %d and %d\n", var1, var2);
23     printf("下面演示*=賦值運算子:\n");
24     printf("var1 = %d var2 = %d var1 *= var2 : %d\n", var1, var2, var1 *= var2);
25 
26     printf("Please input two numbers use space split: ");
27     scanf("%d %d", &var1, &var2);
28     printf("You input two numbers is: %d and %d\n", var1, var2);
29     printf("下面演示/=賦值運算子:\n");
30     printf("var1 = %d var2 = %d var1 /= var2 : %d\n", var1, var2, var1 /= var2);
31 
32     printf("Please input two numbers use space split: ");
33     scanf("%d %d", &var1, &var2);
34     printf("You input two numbers is: %d and %d\n", var1, var2);
35     printf("下面演示%=賦值運算子:\n");
36     printf("var1 = %d var2 = %d var1 %= var2 : %d\n", var1, var2, var1 %= var2);
37 
38     return 0;
39 }

  其他的程式碼都很簡單,就不浪費頁面了。



 

轉載於:https://www.cnblogs.com/guochaoxxl/p/6890833.html

相關文章