1. 程式人生 > >C語言----選擇結構(基礎篇三)

C語言----選擇結構(基礎篇三)

運算符和 優先級 rom 表達 main idt 兩個 sco times

大家好,忙裏抽空更新一下自己的博客,算是自己的一個進步,C語言視頻啟蒙我早就看完啦,只是覺得這個視頻真不錯,所以給大家分享一下,同時自己還有很多沒有理解透徹,寫寫博客算是一個筆記更是對自己所學的知識的吸收,廢話不多直接開始今天的主題,"C語言的選擇結構"

  關系運算符

    小於:<

    大於:>

    等於:= =

    小於等於:<=

    大於等於:>=

    不等於:!=

  邏輯運算符

    非:!

    與:&&

    或:||

  假設x=1,y=2,x1=3,y1=4,那麽x>y||x1<y1

的結果是真還是假?!(x>y)&&x1<y1呢? 參考答案:真、真

  x>y(false) 或 x1<y1(true) 結果為 true

  !(x>y)(假取反為真) 並且 x1<y1(true) 結果為 true

  簡單運算符

  =號是最常用的運算符,在數學表達式中a=a+1是錯誤的,而在計算機中,這表示將a的值加上1再賦給a,如果a原來是5,經過這種運算後,a會變成6。也是就是說=號在計算機中表示“賦值”,它會將右邊的“計算結果”裝進左邊的“變量”。

  a=a+1也是經常用的運算符,C語言為了方便,便使用a++這種運算符來計算a=a+1a--來計算a=a-1。也就是說,++代表變量自身加1--代表變量自身減1

  運算符優先級

括號

!(非)

算術運算符

關系運算符

&&||

賦值運算符(=

|

|

|

  算術運算:*/ 高於 +-

  關系運算:>>=<<= 高於 = =!=

  邏輯運算:!高於&&高於||

  一首記憶詩:     

  1

括號成員第一        

  2全體單目第二

  3乘除余三,加減四

  4移位五,關系六

  5等於()不等排第七

  6位與異或和位或

  7"三分天下"八九十

  8邏輯或跟與

  9十二和十一

  10條件高於賦值

  11逗號運算級最低

  解釋:

  1括號運算符[]() 成員運算符. ->

  2所有的單目運算符比如++--+()-() ~(位反)、指針運算*&!

  3這個""是指取余運算即%

  4移位運算符:<< >> ,關系:> < >= <=

  5= = !=

  6這幾個都是位運算: 位與&異或^位或|

  7、接上一句:它們分別排 7 8 9

  8邏輯運算符:|| &&

  9註意順序:優先級(||) 底於 優先級(&&)

  10三目運算符:?優先級排到13 位只比賦值運算符和","

  11逗號運算符優先級最低

  脫括號: 

  (a>b) && (x>y) 可化簡為:a>b && x>y

  (a= =b) || (x= =y) 可化簡為a= =b || x= =y

  (!a) || (a>b) 可化簡為 !a || a>b

  if語句

    if(表達式)

    {

      若幹語句

      …

    }

  程序1

  用戶輸入2個數,按從大到小的順序將它輸出

/*3_1 if 語句:用戶輸入兩個數字,按從大小的順序將他們輸出在屏幕上*/
#include <stdio.h>
main()
{
    int a, b, c;            //a b 為比較的數,c為臨時交換變量
    scanf_s("%d%d", &a, &b);    //輸入兩個數
    
    //下面的作用就是:如果第一個數大於第二個數就交換他們的值
    if (a<b) {
        c = a;
        a = b;
        b = c;
    };
    printf("%d%d\n",a,b);    //輸出交換後的值

    system("pause");
}

  變化一:

    格式:

      if(表達式)一條語句;

      註意:

      if(a>b)a++;b++;

      相當於

      if(a>b)

      {

        a++;

      }

      b++;

      而不是

      if(a>b)

      {

        a++;

        b++;

      }

  

  變化二(二選一):

    格式:

      if(表達式)

      {

        若幹語句

        …

      }

      else

      {

        若幹語句

         …

      } 

  變化三:

    格式:

    if(表達式)一條語句; else 一條語句;  

  程序2

  用戶輸入2個數,按從大到小的順序將它輸出的第二種解法

/* 3_2_ if  用戶輸入兩個數,數字按從大到小的順序將他們輸出屏幕上面*/
#include <stdio.h>
main()
{
    int a, b;                        //定義兩個變量從鍵盤上面接收
    scanf_s("%d%d", &a, &b);        //輸入兩個數值
    if (a>b) {
        printf("%d%d\n", a, b);        //按順序輸出
    }
    else
    {
        printf("%d%d", b, a);        //倒序輸出
    };

    system("pause");
}

  單目運算符和雙目運算符

    當前上面的運算符中,++--、!都為單目運算符。其實減號運算符也可作單目運算符,它加在表達式(表達式可包括常量、變量)左邊,表示取它的相反數。

    雙目運算符的兩邊必須都要有表達式

  程序3

    輸入一個整數,打印出它是奇數還是偶數(學習%的使用)

/* 3_3_輸入一個數,打印在屏幕上是奇數還是偶數*/
#include <stdio.h>
main()
{
    int a;
    scanf_s("%d", &a);        // " % " :在scanf函數中表示格式控制
    if (a%2 == 0 ) {        //  " % ":在if語句中表示余數計算
        printf("%d是偶數\n", a);
    }
    else
    {
        printf("%d是奇數\n", a);
    };
    system("pause");
}

  程序調試技巧

  程序調試: VS2015 調試的方式自己百度一下,我對這個工具也是剛剛入門,所以沒什麽分享給大家,但是總體使用感覺不用不是很舒服,網上那些快捷方式在我的電腦上都沒作用,也有可能之前自己用VScode習慣的原因吧。

  如果是用的VC6++,可以用下面的方式:

    F9:設置斷點

    F5:運行至斷點

    F10:單步執行

    F11:單步執行至函數內部

  在VC中書寫程序時如果不小心拼錯了某個關鍵字或漏了什麽標點標號等等,這叫語法錯誤。這時按感嘆號時在編輯器的下面會報錯,查找錯誤的方式就是在報錯欄中找到帶error的行,再雙擊它,代碼欄就會出現一個藍色箭頭指向錯誤行,再在錯誤行的附近查找語法錯誤並修正它。

  作業

  上機改錯題:輸入兩個數,求出它們之中最小的數輸出

  #include “stdio.h”

  main()

  {

    int a,b;

    /**************found***************/

    scanf(“%d%d”,&a,&b);

    if(a>b)

    {

    /**************found***************/

   printf(最小的數為%d,a); // 裏面沒加 " ", 邏輯錯誤

    }

    else

    {

     printf(“最小的數為%d”,b);

    }

  }

  以上紅色的部分是錯誤的!

C語言----選擇結構(基礎篇三)