C语言基础知识整理(选择结构)
通過(guò)學(xué)習(xí)第三波知識(shí)你需要掌握:
難點(diǎn):
關(guān)系運(yùn)算符:
其實(shí)關(guān)系運(yùn)算符大家在實(shí)際的生活中應(yīng)該都有接觸過(guò),比如a>c,如果a為4且b為3則返回真,否則就返回假。
關(guān)系運(yùn)算符及其優(yōu)先級(jí):
C語(yǔ)言提供的關(guān)系運(yùn)算符主要為6種,分別是:
< (小于) ; <= (小于等于) ; >( 大于) ; >= (大于等于)
以上四個(gè)優(yōu)先級(jí)相同(高)
== 等于;!= 不等于
這兩個(gè)優(yōu)先級(jí)相同(低)
關(guān)系表達(dá)式:
a>b; (a+b)>(b+c); (a=3)>(b=8); 'a'>'b';在C語(yǔ)言中用整數(shù)1表示邏輯值為真,用整數(shù)0表示邏輯值為假。比如(a=3)>(b=8);由于邏輯值為假所以返回0。
求值過(guò)程:
(1)計(jì)算運(yùn)算符表達(dá)式兩邊的值;
(2)比較這兩個(gè)值的大小,如果是整形的話就直接比較大小,如果是字符類(lèi)型的話就比較ASCII值。
3>4!=2 //先判斷3>4結(jié)果為假(0),然后在判斷0!=2結(jié)果為真(1) 'a'>'b'//比較ASCII值,97>98所以結(jié)果為0 2+5!=3>4-1//等價(jià)于(2+5)!=(3>(4-1))結(jié)果為1邏輯運(yùn)算符:
C語(yǔ)言提供了三種邏輯運(yùn)算符即:&&(相當(dāng)于“并且”),||(相當(dāng)于“或者”),!(相當(dāng)于否定)
直接用代碼來(lái)理解這三個(gè)表達(dá)式吧:
#include <stdio.h> int main() {int a,b,c,x;a=5;b=7;c=8;x=(a>1)&&(b>6);printf("%d\n",x);//兩個(gè)條件都為真,返回1x=(a<1)&&(b>6);printf("%d\n",x);//有一個(gè)條件為假,返回0x=(a>1)||(b>6);printf("%d\n",x);//兩個(gè)條件都為真,返回1x=(a<1)||(b>6);printf("%d\n",x);//至少有一個(gè)條件為真,返回1x=(a<1)||(b<6);printf("%d\n",x);//兩個(gè)條件都為假,返回0printf("%d\n",a!=1);//不等于1返回真即1return 0; } 運(yùn)行結(jié)果: 1 0 1 1 0 1三目運(yùn)算符:
例如:
a>b?c:d //a如果大于b就返回c,否則就返回d
結(jié)合方式:自左向右結(jié)合
a>b?a:c>d?c:d 等價(jià)于:a>b?a:(c>d?c:d )
if控制語(yǔ)句:
if語(yǔ)句一般有三種形式:
//單分支if(條件表達(dá)式){語(yǔ)句}//雙分支if(條件表達(dá)式){語(yǔ)句}else{語(yǔ)句}//多分支if(條件表達(dá)式){語(yǔ)句}else if() { 語(yǔ)句 }else if() { 語(yǔ)句 }else if() { 語(yǔ)句 }else if() { 語(yǔ)句 }else { 語(yǔ)句 }//嵌套if(條件表達(dá)式){if(條件表達(dá)式){}else{}}else{if(條件表達(dá)式){}else{}}上面寫(xiě)這么多還是直接上例子讓大家了解if和else的運(yùn)用吧。比如用if嵌套語(yǔ)句求3個(gè)數(shù)中的最大值。
#include <stdio.h> int main() {int num1,num2,num3,max;printf("請(qǐng)依次輸入三個(gè)整數(shù):");scanf("%d%d%d",&num1,&num2,&num3);if(num1>num2)//先比較num1和num2然后在和num3作比較,將大的那一個(gè)值賦值給max{if(num1>num3){max=num1;}else{max=num2;}}else{if(num2>num3){max=num2;}else{max=num3;}}printf("%d\n",num3);return 0; }利用嵌套語(yǔ)句時(shí)間簡(jiǎn)單的比較問(wèn)題,你也可以用三目運(yùn)算符解決實(shí)際的問(wèn)題。這里小編就不列出三目運(yùn)算符的解法了,畢竟編程都是要靠自己去思考才能有所長(zhǎng)進(jìn)。
switch語(yǔ)句的基本格式:
switch(表達(dá)式) {case常量表達(dá)式:語(yǔ)句1case常量表達(dá)式:語(yǔ)句2 .........default:語(yǔ)句 }當(dāng)表達(dá)式的值與某個(gè)case后的常量值相等的時(shí)候,執(zhí)行此case分支語(yǔ)句,如果有break則跳出全部循環(huán),如果沒(méi)有就執(zhí)行下一條case分支語(yǔ)句。
表達(dá)式中的值和常量表達(dá)式的值只能是整型或者字符型。并且case分支的常量表達(dá)式的值應(yīng)該不同。
break也稱(chēng)間斷語(yǔ)句,作用是跳出整個(gè)循環(huán)。比如說(shuō)語(yǔ)句1后加了一個(gè)break后,那么就跳出了switch這條語(yǔ)句,而不會(huì)去執(zhí)行語(yǔ)句1后面的語(yǔ)句。
下面小編用一個(gè)小例子來(lái)教大家理解switch語(yǔ)句的運(yùn)用吧。
#include <stdio.h> int main() {int sorce,grade;printf("請(qǐng)輸入單科成績(jī)(0~100):");scanf("%d",&sorce);grade=sorce/10;switch(grade){case 10:printf("grade=A\n");break;case 9:printf("grade=A\n");break;case 8:printf("grade=B\n");break;case 7:printf("grade=C\n");break;case 6:printf("grade=C\n");break;case 5:printf("grade=D\n");break;case 4:printf("grade=D\n");break;case 3:printf("grade=D\n");break;case 2:printf("grade=D\n");break;case 1:printf("grade=E\n");break;case 0:printf("grade=E\n");break;} return 0; }如果沒(méi)有加break的話,如果輸入55,那么他就會(huì)顯示:D D D D E E但是后面有break后那么它執(zhí)行完那條語(yǔ)句后就直接跳出,也就是只輸出D。
到這里小編這第三波知識(shí)也就整理完了,是否對(duì)你有一些幫助呢??小編后續(xù)還會(huì)持續(xù)更新更多的知識(shí)整理,如果你感興趣的話,可以關(guān)注小編哦!!你還可以進(jìn)裙873加521還有803連起來(lái)就可以進(jìn)群領(lǐng)取免費(fèi)C語(yǔ)言干貨資料了哦!!
?
總結(jié)
以上是生活随笔為你收集整理的C语言基础知识整理(选择结构)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MFC新建文件夹、打开文件夹的实现方法
- 下一篇: PyQt5 QTreeWidget更改i