三、C語言表達式、選擇結構

2020-12-09 lemoontree

第三章 表達式、選擇結構

特別要注意:C語言中是用非0表示邏輯真的,用0表示邏輯假的。

C語言有構造類型,沒有邏輯類型。

關係運算符號:注意<=的寫法,==和=的區別!(考試重點)

if只管後面一個語句,要管多個,請用大括號!

1)關係表達式:

a、表達式的數值只能為1(表示為真),或0(表示假)。

如 9>8這個關係表達式是真的,所以9>8這個表達式的數值就是1。

如 7<6這個關係表達式是假的,所以7<6這個表達式的數值就是0

b、考試最容易錯的:就是int x=1,y=0,z=2;

如 9>8這個關係表達式是真的,所以9>8這個表達式的數值就是1。x<y<z是真還是假?帶入為1<0<2,從數學的角度出發肯定是錯的,但是如果是C語言那麼就是正確的!因為要1<0為假得到0,表達式就變成了0<2那麼運算結果就是1,成為了真的了!

c、等號和賦值的區別!一定記住「=」就是賦值,「= =」才是等號。

雖然很多人可以背誦,但我依然要大家一定好好記住,否則,做錯了,我一定會強烈的鄙視你!

2)邏輯表達式:

核心:表達式的數值只能為1(表示為真),或0(表示假)。

a) 共有&& || !三種邏輯運算符號。

b)!>&&>|| 優先的級別。

c) 注意短路現象(短路求值問題)

考試比較喜歡考到。詳細請見書上例子,一定要會做例1和例2

d) 表示 x 小於0大於10的方法。

0<x<10是不行的(一定記住)。是先計算0<x 得到的結果為1或則0;再用0,或1與10比較得到的總是真(為1)。所以一定要用 (0<x)&&(x<10)表示比0大比10

3)if 語句

a、else 是與最接近的if且沒有else的語句匹配。

b、交換的程序寫法:t=x;x=y;y=t;

c、if(a<b)t=a;a=b;b=t;

if(a<b){t=a;a=b;b=t;}兩個的區別,考試多次考到了!

d、單獨的if語句:if(a<b)t=a;

標準的if語句:if(a<b)min=a;

else min=b

嵌套的if語句:if(a<b)

if(b>c)printf(「ok!」);

多選一的if語句if(a= =t)printf(「a」);

else if(b= =t)printf(「b」);

else if(c= =t)printf(「c」);

else pritnf(「d」);

通過習題,要熟悉以上幾種if語句!

經典考題:結合上面四種if語句題型做題,答錯了,請自行了斷!預備,開始!

int a=1,b=0;

if(!a)b++;

else if(a= =0)

if(a)b+=2;

else b+=3;請問b的值是多少?

如果沒有看懂題目,你千萬不要自行了斷,這樣看得懂不會做的人才會有理由的活著。

正確的是b為3。

int a=1,b=0;

if(!a)b++; 是假的不執行

else if(a= =0) 是假的執行

if(a)b+=2;屬於else if的嵌套if語句,不執行。

else b+=3; if-else-if語句沒有一個正確的,就執行else的語句!

4)條件表達式:

表達式1 ?表達式2 :表達式3

a、考試口訣:真前假後

b、注意是當表達式1的數值是非0時,才採用表達式2的數值做為整個運算結果,當表達式1的數值為0時,就用表達式3的數值做為整個的結果。

c、int a=1,b=2,c=3,d=4,e=5;

k=a>b?c:d>e?d:e;求k的數值是多少? 答案為san

5)switch語句:

a) 執行的流程一定要弄懂!上課時候詳細的過程講了,請自己一定弄懂!

b)注意有break 和沒有break的差別,書上的兩個例子,沒有break時候,只要有一個case匹配了,剩下的都要執行,有break則是直接跳出了swiche語句。break在C語言中就是分手,一刀兩斷的意思。

c) switch只可以和break一起用,不可以和continue用。

d) switch(x) x:是整型常量,字符型常量,枚舉型數據。

{case 1: …. 不可以是變量。

case 2: ….

}

e)switch是必考題型,請大家一定要完成書上的課後的switch的習題。

相關焦點

  • C語言中「c=a+b」,這種結構合理嗎?
    C語言會同意一些"令人震驚"的結構,下面的結構是合法的嗎,我們來看看幾個例子。 c = a+++b; 以下代碼是合法的嗎,咋的一看不禁有這樣的疑問?
  • C語言程序設計試題與答案B卷
    A)順序結構、選擇結構和循環結構 B)遞歸結構、循環結構和轉換結構C)嵌套結構、遞歸結構和順序結構 D)循環結構、轉移結構和順序結構12、表達式 1 || !3&&5的值為( )。
  • 學員問:C語言入門要掌握哪些基礎知識?
    01C語言程序的結構認識用一個簡單的c程序例子,介紹c語言的基本構成、格式、以及良好的書寫風格,使小夥伴對c語言有個初步認識。; /*把兩個數之和賦值給整型變量sum*/ }重點說明—1、任何一個c語言程序都必須包括以下格式:main() { }——這是c語言的基本結構,任何一個程序都必須包含這個結構。
  • C語言程序設計試題及答案
    A) 只能用關係表達式    B) 只能用關係或邏表達式C) 能用邏輯表達式    D) 可以用任何表達式10、下列循環語句中(   )。for (a=1,b=1;a<4&& b!
  • 第二篇:C語言中程序設計的三大結構
    無論使用何種程式語言,都含有程序設計的三大經典結構。即:順序結構、條件結構和循環結構,C語言也是如此。該結構簡單,本文不重點講解。條件結構,也叫選擇結構,就像走到了一個岔路口,或超市裡購買不同品牌的同類商品。需要根據條件判斷選擇執行那一部分或那些代碼。
  • c語言是C語言 C教程語言零基礎教學04:int和float變量的基本使用
    大家好,我是陌塵那麼就直接開始了我們這篇教程學for循環以及冒泡算法我們先來理解一下什麼是「循環」字面意思:但是,C語言的循環和這個有點點不同,c語言中大概就是:重複執行一段特定的代碼。且C語言裡面的循環有多種方法來實現常見的有用for和while函數我們這節課只講for函數使用方法:for(單次表達式;條件表達式;表達式){特定代碼;}好了,又到了萬眾矚目的分析時間 了(此刻應有bgm)首先 單次表達式,意思就是只會執行一次的表達式(何為表達式?百度啊!!!)
  • 給JAVA程式設計師的正則表達式一課
    「不會正則表達式,就算寫遍代碼也嘛不是」。說到正則表達式,可能動態語言的碼農Perl,Python,JS甚至是Golang的開發人員可能都熟悉。對Java碼農來說,可能CURD手到擒來,Spring Stuts Hibernat耳聞能詳,但是說到Regex RE模式,可能熟練的少。
  • EL 表達式 & JSTL 標籤庫
    EL 表達式的全稱是:Expression Language。是表達式語言。    EL 表達式的作用是:EL 表達式主要是代替 jsp 頁面中的表達式腳本在 jsp 頁面中進行數據的輸出。    因為 EL 表達式在輸出數據的時候,要比 jsp 的表達式腳本要簡潔很多。
  • C語言程序設計試題3
    C.p2=&p1; D.p2=*p1;6.定義一個有4個元素的一維整型數組,正確的是(   )A.float a[4]; B.int a[]={1,2,3,4,5}; C.int a[]={1,2,3}; D.int a[4]={1}7.若變量a,b已經正確定義並賦值,符合C語言語法的表達式是
  • 如何使用python語言中的math包計算表達式
    在數學中,涉及到很多的表達式和公式,如求平方根表達式、勾股定理等。下面使用編程實現:新建python文件,導入math2、調用input函數,提示用戶輸入三個數字調用input函數,提示用戶輸入三個數字3、接著使用float函數,將字符串轉浮點型
  • C語言程序設計試題1
    學年期末考試級專業()《C語言程序設計f;,將數學表達式C= (F-32)能正確表示成C語言賦值表達式的是(   ) A.c=5*(f-32)/9 B.c=5/9(f-32) C.c=5/9*(f-32) D.c=5/(9*(f-32))6.設int i=10;,表達式30-i<=i<=9的值是(   )A.0 B.1
  • C語言你學「廢」了嗎?
    然後你慢慢的進入老師的節奏,初識C語言 / 了解C語言的發展史,搭建C開發環境認識一個簡單的C程序 / 一般都從「Helloworld"這個簡單的C程序開始算法入門 / 算法基本概念,簡單程序結構,流程圖等基本數據類型 / 整型,浮點型,字符型運算符與表達式 / 各種運算符以及優先級,表達式和語句等簡單輸入輸出函數 / 目前主要是scanf和printf,getchar和putchar選擇
  • 求解二次函數表達式習題課練習
    求解二次函數表達式的概念二次函數的一般式為y=ax的平方+bx+c(a不為0),求解其表達式的概念就是將二次項係數a,一次項係數b以及常數項求出來,從而得到一個完整的二次函數的表達式。如果孩子的基礎比較差的話,建議家長選擇這個資料,讓孩子進行基礎習題的練習和成長哦。
  • 入門C語言中的數組,字符串常量與指針
    數組 數組聲明為 數據類型 名稱[ constant-size ],並將一個數據類型的一個或多個實例分組到一個可尋址的位置,constant-size可能是一個表達式,但是該表達式必須求值為常量,例如: #define MAX_SIZE 16 ... int list [MAX_SIZE +
  • 物聯網開發筆記——嵌入式開發之Linux系統中C語言數據類型
    嵌入式開發學習C語言打下基礎。本節介紹《Linux系統中C語言數據類型》。1 數據類型分類short、int、long、char、float、double 這六個關鍵字代表C 語言裡的六種基本數據類型。
  • 入門C語言20問20答
    在C語言程序中,用來保存數據的變量必須事先定義才能在程序中使用。 例如,以下語句定義了x、y、z三個變量名,其值只能取整型值: 在C程序中,每一個變量都必須聲明其取值類型。因此,C語言是一種強類型的程序設計語言。
  • C/C++編程筆記:C數組、字符串常量和指針!三分鐘弄懂它
    想弄懂C語言中數組和指針的關係嗎?這篇文章就佔據你三分鐘時間,看完你肯定會有收穫! ,但是該表達式必須求值為常量,例如: #定義MAX_SIZE 16 ...
  • Java 正則表達式中分組的3種不同用法,乾貨分享!
    正則表達式中分組說明正則表達式可以通過」()」來進行分組,更專業的表達就是捕獲組,每個完整的」()」可以分為一組,同時,」()」中還可以嵌套」()」,即組之間還可以存在更小的組,以此類推。而編號為0的組,則是正則表達式匹配到的整體,這個規則只要支持正則表達式中捕獲組的語言基本上都適用。捕獲組就是把正則表達式中子表達式匹配的內容,保存到內存中以數字編號或顯式命名的組裡,方便後面引用。當然,這種引用既可以是在正則表達式內部,也可以是在正則表達式外部。
  • C語言編程入門教程 博學谷免費資源分享
    C語言編程入門需要學習C++程序結構、類的基本概念、C++與C的關係、C++對C擴展特性、C++ class 基本使用、C語言特性及程序設計的基本方法等內容。二、《零基礎C語言入門教程》系統講解C語言特性及程序設計的基本方法,包括基本概念、類型和表達式、控制流、函數與程序結構、指針與數組、結構體、輸入與輸出、預編譯指令等基礎知識。
  • 新手如何開始C語言基礎學習?
    來源:博學谷 作者:照照直到今天,C語言還一直排在各大程式語言榜單,作為程式設計師在開發過程中的首選語言,它幾乎編寫了所有的作業系統,而且許多高級程式語言都從C語言發展而來。因此,對於剛剛入門編程的新手來講,從C語言開始你的編程生涯無疑是最好的選擇。那麼,新手如何開始C語言基礎學習呢?下面我們來一起看一看。在學習之前,我們首先要知道為什麼學習C語言。