版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分支補(bǔ)充第2章順序結(jié)構(gòu)和選擇分支結(jié)構(gòu)基本數(shù)據(jù)類型和輸入輸出輸入生日并顯示匯率換算字符加密考核通過了嗎?順序結(jié)構(gòu)計(jì)算圓的周長(zhǎng)和面積選擇分支結(jié)構(gòu)判斷數(shù)字的奇偶性(if)今年是閏年嗎?(if-else)求解一元二次方程(if-elseif)四則運(yùn)算(switch)計(jì)算存款利息(switch)可以構(gòu)成三角形嗎?(綜合案例)C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分1第2章順序結(jié)構(gòu)和選擇分支結(jié)構(gòu)基本數(shù)據(jù)類型和輸入輸出輸入生日并顯示匯率換算字符加密考核通過了嗎?順序結(jié)構(gòu)計(jì)算圓的周長(zhǎng)和面積選擇分支結(jié)構(gòu)判斷數(shù)字的奇偶性(if)今年是閏年嗎?(if-else)求解一元二次方程(if-elseif)四則運(yùn)算(switch)計(jì)算存款利息(switch)可以構(gòu)成三角形嗎?(綜合案例)第2章順序結(jié)構(gòu)和選擇分支結(jié)構(gòu)基本數(shù)據(jù)類型和輸入輸出本章要點(diǎn)怎樣編寫程序,在屏幕上顯示一些信息?怎樣編寫程序,實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)處理?什么是分支結(jié)構(gòu)?它的作用是什么?switch語句中的break起什么作用?數(shù)據(jù)在內(nèi)存中是如何存儲(chǔ)的?本章要點(diǎn)怎樣編寫程序,在屏幕上顯示一些信息?導(dǎo)例:輸入生日并顯示1.問題描述
從鍵盤輸入個(gè)人生日信息,并在屏幕上顯示相應(yīng)信息。2.問題分析
問題涉及到了輸入和輸出問題。
使用標(biāo)準(zhǔn)輸入函數(shù)scanf()接收鍵盤輸入的信息,
使用輸出函數(shù)printf()屏幕輸出。
從鍵盤輸入的信息要想輸出到屏幕上,需要先將數(shù)據(jù)存儲(chǔ)到內(nèi)存空間保存起來,然后對(duì)其輸出。因此需要定義一個(gè)變量用于保存鍵盤輸入的數(shù)。在這里可以定義兩個(gè)整型變量分別用于保存生日的月份和日期信息。導(dǎo)例:輸入生日并顯示1.問題描述3.算法描述
定義int變量month和day;
用printf()在屏幕上顯示提示信息“Enterthemonthandthedayofyourbirthday:”;
用scanf()從鍵盤輸入生日月份和日期,分別存儲(chǔ)在變量month和day中;
用printf()在屏幕上顯示生日信息。3.算法描述4.程序?qū)崿F(xiàn)#include<stdio.h>/*編譯預(yù)處理命令*/intmain()/*定義了一個(gè)名字為main的函數(shù)*/{ intmonth,day;/*定義兩個(gè)整形變量month和day*/printf("Enterthemonthandthedayofyourbirthday:");scanf("%d%d",&month,&day);/*接收鍵盤輸入的兩個(gè)整數(shù)*/ printf("Yourbirthdayis:%d%d\n",month,day); return0;}5.運(yùn)行結(jié)果4.程序?qū)崿F(xiàn)5.運(yùn)行結(jié)果標(biāo)準(zhǔn)輸入函數(shù)scanf()函數(shù)scanf()的一般調(diào)用格式為: scanf(“<格式控制字符串>”,地址列表)
格式說明符和地址列表在數(shù)量和類型上要一一對(duì)應(yīng)。int型:%dfloat型:%fdouble型:%lf例如:intmonth,dayscanf("%d%d",&month,&day);“%d%d”是格式控制字符串,%d和%f是格式說明符&是地址符,&month表示變量month的存儲(chǔ)地址。標(biāo)準(zhǔn)輸入函數(shù)scanf()函數(shù)scanf()的一般調(diào)用格式為注意:普通字符:原樣輸入盡量不要出現(xiàn)普通字符例如:scanf("%lf",&x);scanf(“%d,%d,%d”,&x,&y,&z);scanf(“%d;%d;%d”,&x,&y,&z);scanf(“%d-%d-%d”,&x,&y,&z);scanf(“x=%dy=%dz=%d”,&x,&y,&z);“”內(nèi)最好不要加任何符號(hào),如果要加提示,這些提示不會(huì)自動(dòng)顯示出來,而必須由操作者手動(dòng)輸入,否則出現(xiàn)數(shù)據(jù)錯(cuò)誤。可以采用輸入提示的輸入方式:printf(“x=”);scanf(“%d”,&x);printf(“y=”);scanf(“%d”,&y);printf(“z=”);scanf(“%d”,&z);輸入:9.5輸入:9,5,7輸入:9;5;7輸入:9-5-7輸入:x=9y=5z=7注意:普通字符:原樣輸入盡量不要出現(xiàn)普通字符輸入:9標(biāo)準(zhǔn)輸出函數(shù)printf()函數(shù)printf()的一般調(diào)用格式為: printf(“<格式控制字符串>”,輸出列表)
在函數(shù)printf()中的格式控制字符串中還可以包含普通字符,在顯示中起到提示作用。例如: printf(“Yourbirthdayis:%d%d\n”,month,day);printf()的輸出參數(shù)也要和格式說明符一一對(duì)應(yīng)。int型:%dfloatdouble型:%f標(biāo)準(zhǔn)輸出函數(shù)printf()函數(shù)printf()的一般調(diào)用格C程序的基本結(jié)構(gòu)
預(yù)編譯命令#include<stdio.h>函數(shù)類型main(函數(shù)參數(shù))intmain(){函數(shù)體開始{聲明部分intmonth,day;執(zhí)行部分printf("Enterthemonthandthedayofyourbirthday:");scanf("%d%d",&month,&dayprintf("Yourbirthdayis:%d%d",month,day);return0;}函數(shù)體結(jié)束}C程序的基本結(jié)構(gòu)預(yù)編譯命令#include<stdio.h2.2基本數(shù)據(jù)類型與基本輸入輸出數(shù)據(jù)類型類型說明符字節(jié)數(shù)取值范圍字符型char1C字符集整型、長(zhǎng)整型int、longint4-2147483648~2147483647即-231~(231-1)短整型shortint2-32768~32767即-215~(215-1)無符號(hào)整型unsignedint40~4294967295即0~(232-1)無符號(hào)短整型Unsignedshortint20~65535即0~(216-1)單精度型float4負(fù)數(shù):-3.4028235×1038~-1.401298×10-45正數(shù):1.401298×10-45~3.4028235×1038雙精度型double8負(fù)數(shù):-1.79769313486231570×10308~-4.94065645841246544×10-324正數(shù):4.94065645841246544×10-324~1.79769313486231570×10308長(zhǎng)雙精度型Longdouble1610-4931~1049322.2基本數(shù)據(jù)類型與基本輸入輸出數(shù)據(jù)類型類型說明符字節(jié)數(shù)取值變量的定義變量定義的一般形式:類型名變量名表;例如:intmonth,day;//定義整型變量floatx;//定義單精度浮點(diǎn)型變量doublearea,length;//定義雙精度浮點(diǎn)型變量double型數(shù)據(jù)比float精度高,取值范圍大變量名:小寫字母;見名知義變量的定義變量定義的一般形式:變量名:小寫字母;見名知義變量的定義定義變量時(shí)要指定變量名和數(shù)據(jù)類型類型名變量名表;intmonth,day;floatx;doublearea,length;變量名代表內(nèi)存中的一個(gè)存儲(chǔ)單元存放該變量的值該存儲(chǔ)單元的大小由變量的數(shù)據(jù)類型決定C語言中的變量代表保存數(shù)據(jù)的存儲(chǔ)單元數(shù)學(xué)中的變量代表未知數(shù)x=x+1變量的定義定義變量時(shí)要指定變量名和數(shù)據(jù)類型變量的定義與使用#include<stdio.h>intmain(void){floatmath,computer,total;printf("Enteryourscore:");scanf("%d%d",&math,&computer);
total=math+computer;
printf("total=%d\n",total);
return0;}一個(gè)變量名只能定義一次變量一般都定義在程序的頭上不能定義在程序的中間或后面應(yīng)該先賦值,后引用變量必須先定義,后使用。變量的定義與使用#include<stdio.h>一個(gè)變量導(dǎo)例:匯率換算1.問題描述
假設(shè)人民幣對(duì)美元的匯率是0.1642,計(jì)算用戶輸入的人民幣值可以兌換多少美元。2.問題分析
人民幣兌換美元的計(jì)算公式為:dollar=rmb×rate3.算法描述
確定匯率,rate=0.1642;
接收用戶輸入的人民幣值,將其賦值給rmb;
計(jì)算公式:dollar=rmb*rate;
屏幕輸出結(jié)果。導(dǎo)例:匯率換算1.問題描述圖2-1匯率換算流程圖4.程序?qū)崿F(xiàn)#include<stdio.h>main(){intrmb;/*定義整型變量,存放人民幣值*/floatrate;/*定義單雙精度浮點(diǎn)型變量,存放匯率值*/floatdollar;/*定義單精度浮點(diǎn)型變量,存放美元值*/rate=0.1642;/*對(duì)變量rate賦值*/printf("rmb=");scanf(“%d”,&rmb);/*接收用戶輸入*/dollar=rmb*rate;/*匯率換算*/printf("¥%dcanexchange$%.2f\n",rmb,dollar);/*調(diào)用printf()函數(shù)輸出結(jié)果*/}圖2-1匯率換算流程圖4.程序?qū)崿F(xiàn)格式說明符功能說明%d輸入或輸出十進(jìn)制整數(shù)%o輸入或輸出八進(jìn)制整數(shù)%x輸入或輸出十六進(jìn)制整數(shù)%f輸入或輸出實(shí)數(shù)%c輸入或輸出單個(gè)字符%s輸入或輸出字符串表2-5常用的格式說明符格式說明符功能說明%d輸入或輸出十進(jìn)制整數(shù)%o輸入或輸出八進(jìn)printf()函數(shù)有一些附加格式說明符,可用于修飾格式說明符,格式為:%m和%m.n。如“%.2f”中的“.2”表示輸出2位小數(shù);“%.2s”,則表示只輸出字符串的前兩個(gè)字符;“%-10.2f”表示該變量一共占10位,包括整數(shù)部分、小數(shù)點(diǎn)和小數(shù)點(diǎn)后位數(shù),且小數(shù)點(diǎn)后只能保留2位,“-”表示采用左對(duì)齊方式。printf()函數(shù)有一些附加格式說明符,可用于修飾格式說明1.問題描述
輸入字符,為其加密。2.問題分析
加密是保證信息安全的常用方法。選用一種最簡(jiǎn)單的方式,就是字符變換,變換方式為:字母轉(zhuǎn)換為其后第三個(gè)字母,a變?yōu)閐,b變?yōu)閑,c變?yōu)閒……。3.算法描述接收用戶輸入的一個(gè)字符,將其賦值給ch;進(jìn)行字符變換;屏幕輸出加密結(jié)果.導(dǎo)例:字符加密1.問題描述導(dǎo)例:字符加密4.程序?qū)崿F(xiàn)#include<stdio.h>main(){charch;/*定義一個(gè)字符變量ch*/
ch=getchar();/*調(diào)用getchar()函數(shù),從鍵盤上輸入一個(gè)字符,賦值給ch*/ch=ch+3;/*為字符ch加密*/putchar(ch);/*調(diào)用putchar()函數(shù),輸出加密后的ch*/
putchar(‘\n’);}圖2-2為字符加密流程圖4.程序?qū)崿F(xiàn)圖2-2為字符加密流程圖單字符輸入/輸出單字符輸入函數(shù)getchar()的一般調(diào)用格式為: getchar();getchar()函數(shù)為單個(gè)字符的輸入函數(shù),通常把輸入的字符賦值給一個(gè)字符變量,構(gòu)成賦值語句。
例如:ch=getchar();單字符輸入/輸出單字符輸入函數(shù)getchar()的一般調(diào)用格單字符輸出函數(shù)putchar()的一般調(diào)用格式為: putchar(ch);
其中ch是一個(gè)字符變量或者常量,也可以是一個(gè)ASCII碼值(不大于255的整數(shù))。例如:
putchar(‘T’);/*輸出一個(gè)字符T,是一個(gè)字符常量*/ putchar(100);/*輸出一個(gè)ASCII值是100的字符,即d*/ putchar(‘\n’);/*輸出一個(gè)轉(zhuǎn)義字符,即換行符*/單字符輸出函數(shù)putchar()的一般調(diào)用格式為:輸入輸出字符scanf()和printf()%ccharch;scanf("%c",&ch);printf("%c",ch);getchar()和putchar()charch;ch=getchar();putchar(ch);輸入輸出一個(gè)字符輸入輸出字符scanf()和printf()輸入輸出字符示例#include<stdio.h>intmain(void){charch1,ch2;ch1=getchar();ch2=getchar();putchar(ch1);putchar('#');putchar(ch2);return0;}AbA#b輸入輸出字符示例#include<stdio.h>Ab輸入輸出字符示例#include<stdio.h>intmain(void){charch1,ch2,ch3;scanf("%c%c%c",&ch1,&ch2,&ch3);printf("%c%c%c%c%c",ch1,'#',ch2,'#',ch3);return0;}AbCA#b#CAbCA##b輸入輸出字符示例#include<stdio.h>AbC字符運(yùn)算大小寫英文字母轉(zhuǎn)換'b'-'a'='B'-'A'……'z'-'a'='Z'-'A''m''M''m'->'M''M'->'m''m'-'a'+'A'='M''M'-'A'+'a'='m''8'-'0'=88+'0'='8'數(shù)字字符和數(shù)字轉(zhuǎn)換9-0='9'-'0''9'=9+'0''8'8'8'->88->'8'字符運(yùn)算大小寫英文字母轉(zhuǎn)換'm'->'M''m'-'導(dǎo)例:考核通過了嗎?1.問題描述
給出三項(xiàng)考核成績(jī),判定單項(xiàng)考核和綜合考核是否通過。2.問題分析假如考核通過標(biāo)準(zhǔn)線是60分,將考核成績(jī)與60進(jìn)行比較,即可判定該項(xiàng)考核是否通過。如果每項(xiàng)考核成績(jī)都大于等于60分,則判定綜合考核通過;否則不通過。3.算法描述接收用戶輸入的三項(xiàng)考核成績(jī),存入成績(jī)變量中score1、score2、score3;將各項(xiàng)成績(jī)與60進(jìn)行比較,輸出比較結(jié)果。導(dǎo)例:考核通過了嗎?1.問題描述4.程序?qū)崿F(xiàn)#include<stdio.h>main(){intscore1,score2,score3;/*定義各項(xiàng)考核成績(jī)變量*//*輸入考核成績(jī)*/printf("請(qǐng)輸入三項(xiàng)考核成績(jī):");scanf("%d%d%d",&score1,&score2,&score3);/*輸出考核結(jié)果*/printf(“第一項(xiàng)考核結(jié)果:%d\n",score1>=60);printf("第二項(xiàng)考核結(jié)果:%d\n",score2>=60);printf("第三項(xiàng)考核結(jié)果:%d\n",score3>=60);printf("綜合考核結(jié)果:%d\n",(score1>=60)&&(score2>=60)&&(score3>=60));}圖2-3考核結(jié)果判斷流程圖4.程序?qū)崿F(xiàn)圖2-3考核結(jié)果判斷流程圖運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符
算術(shù)運(yùn)算符用于各種數(shù)值運(yùn)算,包括5個(gè)二元運(yùn)算符:加(+)、減(-)、乘(*)、除(/)、求余(%),和2個(gè)一元運(yùn)算符:自增(++)、自減(--)。例如: 34+23、23.4-32、54.3*3、80.1/4、100%34如果定義如下變量并賦值:intx;floaty;x=30;y=53.64;x+y、x*y、x/23.5注意/整數(shù)除整數(shù),得整數(shù)如:1/2=0,9/4=2%針對(duì)整型數(shù)據(jù)如:5%6=5,9%4=1,100%4=0雙目運(yùn)算符兩側(cè)操作數(shù)的類型要相同運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符注意運(yùn)算符與表達(dá)式使用自增(++)、自減(--)這兩個(gè)一元運(yùn)算符的運(yùn)算只需一個(gè)操作數(shù),一般用于整型變量的加1、減1操作。例如intx;floaty;x=30;y=53.64;x++
x的值加1,變?yōu)?1。
(x++)+yx先與y相加,然后x再加1,表達(dá)式結(jié)果為83.64;
(++x)+yx先加1,然后再與y相加,結(jié)果為84.64。運(yùn)算符與表達(dá)式使用自增(++)、自減(--)這兩個(gè)一元運(yùn)算符運(yùn)算符與表達(dá)式關(guān)系運(yùn)算符
關(guān)系運(yùn)算符用于比較運(yùn)算,包括6個(gè)運(yùn)算符:
大于(>)、小于(<)、大于等于(>=)、
小于等于(<=)、等于(==)和不等于(!=)。
這6個(gè)邏輯運(yùn)算符運(yùn)算結(jié)果為邏輯值:1或0當(dāng)條件成立時(shí)為真,結(jié)果為1;當(dāng)條件不成立時(shí)為假,結(jié)果為0。區(qū)分=和==運(yùn)算符與表達(dá)式關(guān)系運(yùn)算符區(qū)分=和==邏輯運(yùn)算符
邏輯運(yùn)算符用于邏輯運(yùn)算,包括3個(gè)運(yùn)算符:
非(!)、與(&&)、或(||
邏輯運(yùn)算的結(jié)果均為邏輯值:1或0。操作數(shù)a操作數(shù)ba&&ba||b!a000010非0011非00010非0非0110運(yùn)算符與表達(dá)式邏輯運(yùn)算符操作數(shù)a操作數(shù)ba&&ba||b!a000010非在運(yùn)算表達(dá)式中
算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符運(yùn)算符的優(yōu)先級(jí)運(yùn)算符功能
>大于
>=大于等于
<小于
<=小于等于
==等于
!=不等于高低優(yōu)先級(jí)運(yùn)算符功能
!非
&&與
||或高低優(yōu)先級(jí)在運(yùn)算表達(dá)式中運(yùn)算符的優(yōu)先級(jí)運(yùn)算符功能高低優(yōu)先級(jí)運(yùn)算符2.3C程序的基本控制結(jié)構(gòu)語句是構(gòu)造C程序的最基本單位,程序運(yùn)行的過程也就是語句執(zhí)行的過程,語句執(zhí)行的次序稱為流程控制。C程序有三種控制結(jié)構(gòu),分別是順序結(jié)構(gòu)、選擇分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
順序結(jié)構(gòu)是指按照語句的書寫順序依次執(zhí)行;
選擇分支結(jié)構(gòu)是指通過對(duì)特定條件的判斷,選擇執(zhí)行一個(gè)分支;
循環(huán)結(jié)構(gòu)是指在給定條件下,重復(fù)執(zhí)行某段程序,直到條件不滿足為止。2.3C程序的基本控制結(jié)構(gòu)語句是構(gòu)造C程序的最基本單位,程導(dǎo)例:計(jì)算圓的周長(zhǎng)和面積1.問題描述
從鍵盤輸入圓的半徑,計(jì)算圓的周長(zhǎng)和面積。2.問題分析
定義3個(gè)float型變量,分別用于存儲(chǔ)半徑、周長(zhǎng)和面積,然后根據(jù)圓的周長(zhǎng)公式perimeter=2πr,面積公式area=πr2進(jìn)行計(jì)算。3.算法描述定義3個(gè)float變量r,perimeter和area。鍵盤輸入半徑r。利用公式perimeter=2πr計(jì)算周長(zhǎng)。利用公式area=πr2計(jì)算面積。屏幕輸出周長(zhǎng)perimeter和面積area。導(dǎo)例:計(jì)算圓的周長(zhǎng)和面積1.問題描述4.程序?qū)崿F(xiàn)#include<stdio.h>#definePI3.14/*宏定義*/main(){floatr,perimeter,area;
printf("Enterradius:");scanf("%f",&r);perimeter=2*PI*r;area=PI*r*r;printf("Perimeter=%.2f,Area=%.2f\n",perimeter,area);}結(jié)束輸出:perimeter,area輸入半徑開始計(jì)算perimeter計(jì)算area圖2-4計(jì)算周長(zhǎng)和面積的算法流程圖4.程序?qū)崿F(xiàn)結(jié)束輸出:perimeter,area輸入半徑判斷數(shù)字的奇偶性1、問題描述
輸入1個(gè)整數(shù),判斷該數(shù)是奇數(shù)還是偶數(shù)。2、問題分析
如果輸入的整數(shù)能夠被2整除,則是偶數(shù),否則是奇數(shù)。3、算法描述輸入一個(gè)整數(shù)保存于整型變量number中。判斷條件:能被2整除,如果條件成立,則輸出:偶數(shù)。否則,輸出:奇數(shù)。判斷數(shù)字的奇偶性1、問題描述#include<stdio.h>intmain(void){intnumber;printf("Enteranumber:");scanf("%d",&number);if(number%2==0){printf(“偶數(shù).\n");}else{printf(“奇數(shù).\n");}return0;}falsetruenumber%2==0結(jié)束輸出:偶數(shù)輸出:奇數(shù)輸入number開始此處條件內(nèi)由于只有一條語句,故{}可省略#include<stdio.h>falsetruenu今年是閏年嗎?1.問題描述
從鍵盤輸入年份信息,判斷是否為閏年。2.問題分析
如果年份能夠滿足下述任意一個(gè)條件,就是閏年;如果兩個(gè)條件都不滿足,就不是閏年。
條件一:能被4整除且不能被100整除;
條件二:能被400整除。3.算法描述
輸入年份信息保存于整型變量year中。
判斷條件:能被4整除且不能被100整除或能被400整除,如果條件成立,則輸出:是。
否則,輸出:否。今年是閏年嗎?1.問題描述4.程序?qū)崿F(xiàn)#include<stdio.h>main(){intyear;
printf("Enteryear:");scanf("%d",&year);
if(year%4==0&&year%100!=0||year%400==0)/*閏年的條件*/ printf("YES\n");else printf("NO\n");
}falsetrueyear%4==0&&year%100!=0||year%400==0結(jié)束輸出:YES輸出:NO輸入year開始4.程序?qū)崿F(xiàn)falsetrueyear%4==0&&yea求解一元二次方程1.問題描述
從鍵盤輸入一元二次方程ax2+bx+c=0的3個(gè)系數(shù)a,b,c,編程計(jì)算該方程的解,并輸出之。2.問題分析
根據(jù)判別式b2-4ac的值不同,一元二次方程的解可分為以下3種情況:b2-4ac>0,方程有2個(gè)實(shí)數(shù)解,分別為b2-4ac=0,方程只有1個(gè)實(shí)數(shù)解,為b2-4ac<0,方程沒有實(shí)數(shù)解求解一元二次方程1.問題描述3.算法描述輸入一元二次方程的3個(gè)參數(shù)a,b,c。計(jì)算判別式b2-4ac,并將結(jié)果存在變量s中。根據(jù)判別式的值進(jìn)行判斷:
如果s>0,輸出方程的2個(gè)實(shí)數(shù)解;
如果s=0,輸出方程唯一解;
否則(即s<0),輸出沒有實(shí)數(shù)解。truefalsetruefalse輸入a,b,c結(jié)束s>0輸出2個(gè)解開始b2-4acss=0輸出1個(gè)解輸出無解3.算法描述truefalsetruefalse輸入a,b,4、程序?qū)崿F(xiàn)#include<stdio.h>#include<math.h>main(){inta,b,c,s;doublex1,x2;printf("Enter3integers:");scanf(“%d%d%d”,&a,&b,&c);s=b*b-4*a*c;/*條件判斷,輸出結(jié)果*/}/*條件判斷,輸出結(jié)果*/if(s>0){x1=(-b+sqrt(s))/(2*a);x2=(-b-sqrt(s))/(2*a);printf("x1=%lf,x2=%lf\n",x1,x2);}elseif(s==0){x1=x2=(-b)/(2.0*a);printf("x=%lf\n",x1);}elseprintf(“Nosolution\n”);4、程序?qū)崿F(xiàn)/*條件判斷,輸出結(jié)果*/常用數(shù)學(xué)庫函數(shù)庫函數(shù)C語言處理系統(tǒng)提供事先編好的函數(shù),供用戶在編程時(shí)調(diào)用。scanf(),printf(),exp()在相應(yīng)的系統(tǒng)文件(頭文件)中定義一些必需的信息。#include命令用戶調(diào)用庫函數(shù)時(shí),將相應(yīng)的頭文件包含到源程序中。例如調(diào)用scanf,printf,需要#include<stdio.h>調(diào)用sqrt,需要#include<math.h>常用數(shù)學(xué)庫函數(shù)庫函數(shù)常用數(shù)學(xué)庫函數(shù)平方根函數(shù)sqrt(x)
絕對(duì)值函數(shù)fabs(x)fabs(-3.56)的值為3.56冪函數(shù)pow(x,n):xnpow(1.1,2)的值為1.21(即1.12)指數(shù)函數(shù)exp(x):exexp(2.3)的值為e2.3以e為底的對(duì)數(shù)函數(shù)log(x):lnxlog(123.45)的值為4.815836以10為底的對(duì)數(shù)函數(shù)log10(x):log10xlog10(123.45)的值為2.091491。常用數(shù)學(xué)庫函數(shù)平方根函數(shù)sqrt(x)二分支結(jié)構(gòu)和if-else語句if(表達(dá)式)
語句1else
語句2if(表達(dá)式)
語句1語句1表達(dá)式語句2真(非0)假(0)語句1表達(dá)式真(非0)假(0)一條語句二分支結(jié)構(gòu)和if-else語句if(表達(dá)式)if(表多分支結(jié)構(gòu)和else–if語句else-if語句是最常用的實(shí)現(xiàn)多分支(多路選擇)的方法。if(表達(dá)式1)語句1;elseif(表達(dá)式2)語句2;……elseif(表達(dá)式n-1)語句n-1;else語句n;一般格式為:多分支結(jié)構(gòu)和else–if語句else-if語句是最假表達(dá)式1表達(dá)式2語句1語句2語句n-1語句n真表達(dá)式n-1假真假假真n個(gè)分支需要n-1次比較if(表達(dá)式1)語句1elseif(表達(dá)式2)語句2……elseif(表達(dá)式n-1)語句n-1else語句n多分支選擇結(jié)構(gòu)還可使用switch語句或if-else語句的嵌套來實(shí)現(xiàn)。假表達(dá)式1表達(dá)式2語句1語句2語句n-1語句n真表達(dá)式n/*使用if-else語句的嵌套來實(shí)現(xiàn)求解*/if(s>0){x1=(-b+sqrt(s))/(2*a);x2=(-b-sqrt(s))/(2*a);printf("x1=%lf,x2=%lf\n",x1,x2);}elseif(s==0){x1=x2=(-b)/(2.0*a);printf("x=%lf\n",x1);}elseprintf(“Nosolution\n”);if(表達(dá)式)
語句1else
語句2if語句if語句/*使用if-else語句的嵌套來實(shí)現(xiàn)求解*/if(表達(dá)式if-else語句的嵌套的結(jié)構(gòu)if(表達(dá)式1)if(表達(dá)式2)語句1else語句2elseif(表達(dá)式3)語句3else語句4表達(dá)式1表達(dá)式3語句4真假表達(dá)式2語句3語句1語句2真真假假if-else語句的嵌套的結(jié)構(gòu)表達(dá)式1表達(dá)式3語句4真假表四則運(yùn)算1、問題描述
求解簡(jiǎn)單的四則運(yùn)算表達(dá)式。2、問題分析輸入一個(gè)形式如“操作數(shù)運(yùn)算符操作數(shù)”的四則運(yùn)算表達(dá)式,根據(jù)輸入的運(yùn)算符,做相應(yīng)運(yùn)算,輸出運(yùn)算結(jié)果。3、算法分析鍵盤輸入形式如“操作數(shù)運(yùn)算符操作數(shù)”的四則運(yùn)算表達(dá)式。根據(jù)運(yùn)算符的不同,做不同的計(jì)算。輸出運(yùn)算結(jié)果。四則運(yùn)算1、問題描述#include<stdio.h>intmain(void){doublevalue1,value2;charop;/*定義字符型的變量*/scanf("%lf%c%lf",&value1,&op,&value2);if(op=='+')printf("=%.2f\n",value1+value2);elseif(op=='-')printf("=%.2f\n",value1-value2);elseif(op=='*')printf("=%.2f\n",value1*value2);elseif(op=='/')printf("=%.2f\n",value1/value2);elseprintf("Unknownoperator\n");return0;}4、程序?qū)崿F(xiàn)#include<stdio.h>4、程序?qū)崿F(xiàn)字符常量'a''z''A''Z''0''9''''\n'ASCII字符集:列出所有可用的字符每個(gè)字符:惟一的次序值(ASCII碼)
區(qū)分?jǐn)?shù)字1和數(shù)字字符'1'字符常量區(qū)分?jǐn)?shù)字1和數(shù)字字符'1'使用switch語句實(shí)現(xiàn)四則運(yùn)算#include<stdio.h>intmain(void){doublevalue1,value2;charop;scanf("%lf%c%lf",&value1,&op,&value2);switch(op){case'+':printf("=%.2f\n",value1+value2);break;
case'-':printf("=%.2f\n",value1-value2);break;case'*':printf("=%.2f\n",value1*value2);break;case'/':printf("=%.2f\n",value1/value2);break;default:printf("Unknownoperator\n");break;}return0;}使用switch語句實(shí)現(xiàn)四則運(yùn)算#include<stdswitch語句處理多分支選擇問題,3種情況1、在switch語句的每個(gè)語句段中都使用break語句switch(表達(dá)式){case常量表達(dá)式1:語句段1;break;
case常量表達(dá)式2:語句段2;break;....
case常量表達(dá)式n:語句段n;break;
default:語句段n+1;break;}switch語句處理多分支選擇問題,3種情況計(jì)算存款利息1.問題描述
銀行對(duì)整存整取存款期限不同對(duì)應(yīng)的存款利率也不同,鍵盤輸入存款本金和存期,計(jì)算到期時(shí)的利息及利息與本金的和。當(dāng)前整存整取年息利率:一年:3.25%二年:3.75%三年:4.25%五年:4.75%2.問題分析
本導(dǎo)例需要根據(jù)不同的存款期限決定存款利率,考慮使用switch語句實(shí)現(xiàn)多分支選擇結(jié)構(gòu)。計(jì)算存款利息1.問題描述3.算法描述鍵盤輸入存款本金和存期。根據(jù)存款期限的不同,按照不同的利率計(jì)算利息。輸出利息和本息合計(jì)。3.算法描述程序?qū)崿F(xiàn)#include<stdio.h>main(){doublemoney,rate,rest,total;inttime;
printf("輸入本金:");scanf("%lf",&money);printf("請(qǐng)輸入存期:");scanf("%d",&time);
/*使用switch語句實(shí)現(xiàn)利率的選擇*/rest=money*rate*time;total=money+rest;
printf("到期利息:%.2f\n",rest);printf("本息合計(jì):%.2f\n",total);}switch(time){case1:rate=0.0325;break;case2:rate=0.0375;break;case3:rate=0.0425;break;case5:rate=0.0475;break;default:rate=0;}程序?qū)崿F(xiàn)switch(time){2、在switch中不使用breakswitch(表達(dá)式){case常量表達(dá)式1:語句段1;
case常量表達(dá)式2:語句段2;....
case常量表達(dá)式n:語句段n;
default:語句段n+1;}表達(dá)式的值=常量表達(dá)式2的值表達(dá)式語句段1語句段2語句段n語句段n+1表達(dá)式的值=常量表達(dá)式1的值表達(dá)式的值=常量表達(dá)式n的值其他switch(time){case1:rate=0.0325;case2:rate=0.0375;case3:rate=0.0425;case5:rate=0.0475;default:rate=0;}rate=?2、在switch中不使用break表達(dá)式的值=常量表達(dá)式3、在switch的某些語句段中使用break
輸入1個(gè)字符,輸出該字符所屬的種類,如空格或回車、數(shù)字字符,其他字符。intmain(void){intblank,digit,i,other;charch;blank=digit=other=0;
printf("Enter10characters:");ch=getchar();switch(ch){case'':case'\n':printf(“該字符是空格或回車”);break;case'0':case'1':case'2':case'3':case'4':case'5':case'6':case'7':case'8':case'9':printf(“該字符是數(shù)字字符”);break;default:printf(“該字符是其他字符”);break;}return0;}3、在switch的某些語句段中使用breakintmai可以構(gòu)成三角形嗎?1.問題描述輸入三條邊,判斷它們能否構(gòu)成三角形,若能則指出是何種三角形。2.問題分析給定的三條邊,只要兩邊之和大于第三邊即可構(gòu)成三角形,否則不能構(gòu)成三角形。在能構(gòu)成三角形的情況下,如果三邊相等,則是等邊三角形;如果只有兩邊相等,則是等腰三角形??梢钥闯鲞@是多重判斷,需要多次運(yùn)用if-else語句來實(shí)現(xiàn)??梢詷?gòu)成三角形嗎?1.問題描述3、算法描述上述問題求解過程以算法的形式描述為:(1)輸入三條邊的值,分別保存于變量a、b、c中;(2)如果a<(b+c),b<(a+c),c<(a+b)三個(gè)條件同時(shí)成立,則執(zhí)行(3);否則輸出“不能構(gòu)成三角形!”;(3)如果a=b,b=c,a=c三個(gè)條件中至少有一個(gè)成立,則執(zhí)行(4);否則輸出“可以構(gòu)成不等邊三角形!”;(4)如果a=b且b=c,則輸出“可以構(gòu)成等邊三角形!”;否則輸出“可以構(gòu)成等腰三角形!”;3、算法描述4.程序?qū)崿F(xiàn)#include<stdio.h>main(){floata,b,c;printf("請(qǐng)輸入三條邊的值:\n");scanf("%f%f%f",&a,&b,&c);if(((b+c)<a)||((a+c)<b)||((a+b)<c)) printf("不能構(gòu)成三角形!\n");else if(a!=b&&b!=c&&a!=c) printf("可以構(gòu)成不等邊三角形!\n"); else if(a==b&&b==c) printf("可以構(gòu)成等邊三角形!\n"); else if(a==b||b==c||a==c)printf("可以構(gòu)成等腰三角形!\n");}4.程序?qū)崿F(xiàn)謝謝!謝謝!64C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分支補(bǔ)充第2章順序結(jié)構(gòu)和選擇分支結(jié)構(gòu)基本數(shù)據(jù)類型和輸入輸出輸入生日并顯示匯率換算字符加密考核通過了嗎?順序結(jié)構(gòu)計(jì)算圓的周長(zhǎng)和面積選擇分支結(jié)構(gòu)判斷數(shù)字的奇偶性(if)今年是閏年嗎?(if-else)求解一元二次方程(if-elseif)四則運(yùn)算(switch)計(jì)算存款利息(switch)可以構(gòu)成三角形嗎?(綜合案例)C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分支補(bǔ)充C語言程序設(shè)計(jì)分65第2章順序結(jié)構(gòu)和選擇分支結(jié)構(gòu)基本數(shù)據(jù)類型和輸入輸出輸入生日并顯示匯率換算字符加密考核通過了嗎?順序結(jié)構(gòu)計(jì)算圓的周長(zhǎng)和面積選擇分支結(jié)構(gòu)判斷數(shù)字的奇偶性(if)今年是閏年嗎?(if-else)求解一元二次方程(if-elseif)四則運(yùn)算(switch)計(jì)算存款利息(switch)可以構(gòu)成三角形嗎?(綜合案例)第2章順序結(jié)構(gòu)和選擇分支結(jié)構(gòu)基本數(shù)據(jù)類型和輸入輸出本章要點(diǎn)怎樣編寫程序,在屏幕上顯示一些信息?怎樣編寫程序,實(shí)現(xiàn)簡(jiǎn)單的數(shù)據(jù)處理?什么是分支結(jié)構(gòu)?它的作用是什么?switch語句中的break起什么作用?數(shù)據(jù)在內(nèi)存中是如何存儲(chǔ)的?本章要點(diǎn)怎樣編寫程序,在屏幕上顯示一些信息?導(dǎo)例:輸入生日并顯示1.問題描述
從鍵盤輸入個(gè)人生日信息,并在屏幕上顯示相應(yīng)信息。2.問題分析
問題涉及到了輸入和輸出問題。
使用標(biāo)準(zhǔn)輸入函數(shù)scanf()接收鍵盤輸入的信息,
使用輸出函數(shù)printf()屏幕輸出。
從鍵盤輸入的信息要想輸出到屏幕上,需要先將數(shù)據(jù)存儲(chǔ)到內(nèi)存空間保存起來,然后對(duì)其輸出。因此需要定義一個(gè)變量用于保存鍵盤輸入的數(shù)。在這里可以定義兩個(gè)整型變量分別用于保存生日的月份和日期信息。導(dǎo)例:輸入生日并顯示1.問題描述3.算法描述
定義int變量month和day;
用printf()在屏幕上顯示提示信息“Enterthemonthandthedayofyourbirthday:”;
用scanf()從鍵盤輸入生日月份和日期,分別存儲(chǔ)在變量month和day中;
用printf()在屏幕上顯示生日信息。3.算法描述4.程序?qū)崿F(xiàn)#include<stdio.h>/*編譯預(yù)處理命令*/intmain()/*定義了一個(gè)名字為main的函數(shù)*/{ intmonth,day;/*定義兩個(gè)整形變量month和day*/printf("Enterthemonthandthedayofyourbirthday:");scanf("%d%d",&month,&day);/*接收鍵盤輸入的兩個(gè)整數(shù)*/ printf("Yourbirthdayis:%d%d\n",month,day); return0;}5.運(yùn)行結(jié)果4.程序?qū)崿F(xiàn)5.運(yùn)行結(jié)果標(biāo)準(zhǔn)輸入函數(shù)scanf()函數(shù)scanf()的一般調(diào)用格式為: scanf(“<格式控制字符串>”,地址列表)
格式說明符和地址列表在數(shù)量和類型上要一一對(duì)應(yīng)。int型:%dfloat型:%fdouble型:%lf例如:intmonth,dayscanf("%d%d",&month,&day);“%d%d”是格式控制字符串,%d和%f是格式說明符&是地址符,&month表示變量month的存儲(chǔ)地址。標(biāo)準(zhǔn)輸入函數(shù)scanf()函數(shù)scanf()的一般調(diào)用格式為注意:普通字符:原樣輸入盡量不要出現(xiàn)普通字符例如:scanf("%lf",&x);scanf(“%d,%d,%d”,&x,&y,&z);scanf(“%d;%d;%d”,&x,&y,&z);scanf(“%d-%d-%d”,&x,&y,&z);scanf(“x=%dy=%dz=%d”,&x,&y,&z);“”內(nèi)最好不要加任何符號(hào),如果要加提示,這些提示不會(huì)自動(dòng)顯示出來,而必須由操作者手動(dòng)輸入,否則出現(xiàn)數(shù)據(jù)錯(cuò)誤。可以采用輸入提示的輸入方式:printf(“x=”);scanf(“%d”,&x);printf(“y=”);scanf(“%d”,&y);printf(“z=”);scanf(“%d”,&z);輸入:9.5輸入:9,5,7輸入:9;5;7輸入:9-5-7輸入:x=9y=5z=7注意:普通字符:原樣輸入盡量不要出現(xiàn)普通字符輸入:9標(biāo)準(zhǔn)輸出函數(shù)printf()函數(shù)printf()的一般調(diào)用格式為: printf(“<格式控制字符串>”,輸出列表)
在函數(shù)printf()中的格式控制字符串中還可以包含普通字符,在顯示中起到提示作用。例如: printf(“Yourbirthdayis:%d%d\n”,month,day);printf()的輸出參數(shù)也要和格式說明符一一對(duì)應(yīng)。int型:%dfloatdouble型:%f標(biāo)準(zhǔn)輸出函數(shù)printf()函數(shù)printf()的一般調(diào)用格C程序的基本結(jié)構(gòu)
預(yù)編譯命令#include<stdio.h>函數(shù)類型main(函數(shù)參數(shù))intmain(){函數(shù)體開始{聲明部分intmonth,day;執(zhí)行部分printf("Enterthemonthandthedayofyourbirthday:");scanf("%d%d",&month,&dayprintf("Yourbirthdayis:%d%d",month,day);return0;}函數(shù)體結(jié)束}C程序的基本結(jié)構(gòu)預(yù)編譯命令#include<stdio.h2.2基本數(shù)據(jù)類型與基本輸入輸出數(shù)據(jù)類型類型說明符字節(jié)數(shù)取值范圍字符型char1C字符集整型、長(zhǎng)整型int、longint4-2147483648~2147483647即-231~(231-1)短整型shortint2-32768~32767即-215~(215-1)無符號(hào)整型unsignedint40~4294967295即0~(232-1)無符號(hào)短整型Unsignedshortint20~65535即0~(216-1)單精度型float4負(fù)數(shù):-3.4028235×1038~-1.401298×10-45正數(shù):1.401298×10-45~3.4028235×1038雙精度型double8負(fù)數(shù):-1.79769313486231570×10308~-4.94065645841246544×10-324正數(shù):4.94065645841246544×10-324~1.79769313486231570×10308長(zhǎng)雙精度型Longdouble1610-4931~1049322.2基本數(shù)據(jù)類型與基本輸入輸出數(shù)據(jù)類型類型說明符字節(jié)數(shù)取值變量的定義變量定義的一般形式:類型名變量名表;例如:intmonth,day;//定義整型變量floatx;//定義單精度浮點(diǎn)型變量doublearea,length;//定義雙精度浮點(diǎn)型變量double型數(shù)據(jù)比float精度高,取值范圍大變量名:小寫字母;見名知義變量的定義變量定義的一般形式:變量名:小寫字母;見名知義變量的定義定義變量時(shí)要指定變量名和數(shù)據(jù)類型類型名變量名表;intmonth,day;floatx;doublearea,length;變量名代表內(nèi)存中的一個(gè)存儲(chǔ)單元存放該變量的值該存儲(chǔ)單元的大小由變量的數(shù)據(jù)類型決定C語言中的變量代表保存數(shù)據(jù)的存儲(chǔ)單元數(shù)學(xué)中的變量代表未知數(shù)x=x+1變量的定義定義變量時(shí)要指定變量名和數(shù)據(jù)類型變量的定義與使用#include<stdio.h>intmain(void){floatmath,computer,total;printf("Enteryourscore:");scanf("%d%d",&math,&computer);
total=math+computer;
printf("total=%d\n",total);
return0;}一個(gè)變量名只能定義一次變量一般都定義在程序的頭上不能定義在程序的中間或后面應(yīng)該先賦值,后引用變量必須先定義,后使用。變量的定義與使用#include<stdio.h>一個(gè)變量導(dǎo)例:匯率換算1.問題描述
假設(shè)人民幣對(duì)美元的匯率是0.1642,計(jì)算用戶輸入的人民幣值可以兌換多少美元。2.問題分析
人民幣兌換美元的計(jì)算公式為:dollar=rmb×rate3.算法描述
確定匯率,rate=0.1642;
接收用戶輸入的人民幣值,將其賦值給rmb;
計(jì)算公式:dollar=rmb*rate;
屏幕輸出結(jié)果。導(dǎo)例:匯率換算1.問題描述圖2-1匯率換算流程圖4.程序?qū)崿F(xiàn)#include<stdio.h>main(){intrmb;/*定義整型變量,存放人民幣值*/floatrate;/*定義單雙精度浮點(diǎn)型變量,存放匯率值*/floatdollar;/*定義單精度浮點(diǎn)型變量,存放美元值*/rate=0.1642;/*對(duì)變量rate賦值*/printf("rmb=");scanf(“%d”,&rmb);/*接收用戶輸入*/dollar=rmb*rate;/*匯率換算*/printf("¥%dcanexchange$%.2f\n",rmb,dollar);/*調(diào)用printf()函數(shù)輸出結(jié)果*/}圖2-1匯率換算流程圖4.程序?qū)崿F(xiàn)格式說明符功能說明%d輸入或輸出十進(jìn)制整數(shù)%o輸入或輸出八進(jìn)制整數(shù)%x輸入或輸出十六進(jìn)制整數(shù)%f輸入或輸出實(shí)數(shù)%c輸入或輸出單個(gè)字符%s輸入或輸出字符串表2-5常用的格式說明符格式說明符功能說明%d輸入或輸出十進(jìn)制整數(shù)%o輸入或輸出八進(jìn)printf()函數(shù)有一些附加格式說明符,可用于修飾格式說明符,格式為:%m和%m.n。如“%.2f”中的“.2”表示輸出2位小數(shù);“%.2s”,則表示只輸出字符串的前兩個(gè)字符;“%-10.2f”表示該變量一共占10位,包括整數(shù)部分、小數(shù)點(diǎn)和小數(shù)點(diǎn)后位數(shù),且小數(shù)點(diǎn)后只能保留2位,“-”表示采用左對(duì)齊方式。printf()函數(shù)有一些附加格式說明符,可用于修飾格式說明1.問題描述
輸入字符,為其加密。2.問題分析
加密是保證信息安全的常用方法。選用一種最簡(jiǎn)單的方式,就是字符變換,變換方式為:字母轉(zhuǎn)換為其后第三個(gè)字母,a變?yōu)閐,b變?yōu)閑,c變?yōu)閒……。3.算法描述接收用戶輸入的一個(gè)字符,將其賦值給ch;進(jìn)行字符變換;屏幕輸出加密結(jié)果.導(dǎo)例:字符加密1.問題描述導(dǎo)例:字符加密4.程序?qū)崿F(xiàn)#include<stdio.h>main(){charch;/*定義一個(gè)字符變量ch*/
ch=getchar();/*調(diào)用getchar()函數(shù),從鍵盤上輸入一個(gè)字符,賦值給ch*/ch=ch+3;/*為字符ch加密*/putchar(ch);/*調(diào)用putchar()函數(shù),輸出加密后的ch*/
putchar(‘\n’);}圖2-2為字符加密流程圖4.程序?qū)崿F(xiàn)圖2-2為字符加密流程圖單字符輸入/輸出單字符輸入函數(shù)getchar()的一般調(diào)用格式為: getchar();getchar()函數(shù)為單個(gè)字符的輸入函數(shù),通常把輸入的字符賦值給一個(gè)字符變量,構(gòu)成賦值語句。
例如:ch=getchar();單字符輸入/輸出單字符輸入函數(shù)getchar()的一般調(diào)用格單字符輸出函數(shù)putchar()的一般調(diào)用格式為: putchar(ch);
其中ch是一個(gè)字符變量或者常量,也可以是一個(gè)ASCII碼值(不大于255的整數(shù))。例如:
putchar(‘T’);/*輸出一個(gè)字符T,是一個(gè)字符常量*/ putchar(100);/*輸出一個(gè)ASCII值是100的字符,即d*/ putchar(‘\n’);/*輸出一個(gè)轉(zhuǎn)義字符,即換行符*/單字符輸出函數(shù)putchar()的一般調(diào)用格式為:輸入輸出字符scanf()和printf()%ccharch;scanf("%c",&ch);printf("%c",ch);getchar()和putchar()charch;ch=getchar();putchar(ch);輸入輸出一個(gè)字符輸入輸出字符scanf()和printf()輸入輸出字符示例#include<stdio.h>intmain(void){charch1,ch2;ch1=getchar();ch2=getchar();putchar(ch1);putchar('#');putchar(ch2);return0;}AbA#b輸入輸出字符示例#include<stdio.h>Ab輸入輸出字符示例#include<stdio.h>intmain(void){charch1,ch2,ch3;scanf("%c%c%c",&ch1,&ch2,&ch3);printf("%c%c%c%c%c",ch1,'#',ch2,'#',ch3);return0;}AbCA#b#CAbCA##b輸入輸出字符示例#include<stdio.h>AbC字符運(yùn)算大小寫英文字母轉(zhuǎn)換'b'-'a'='B'-'A'……'z'-'a'='Z'-'A''m''M''m'->'M''M'->'m''m'-'a'+'A'='M''M'-'A'+'a'='m''8'-'0'=88+'0'='8'數(shù)字字符和數(shù)字轉(zhuǎn)換9-0='9'-'0''9'=9+'0''8'8'8'->88->'8'字符運(yùn)算大小寫英文字母轉(zhuǎn)換'm'->'M''m'-'導(dǎo)例:考核通過了嗎?1.問題描述
給出三項(xiàng)考核成績(jī),判定單項(xiàng)考核和綜合考核是否通過。2.問題分析假如考核通過標(biāo)準(zhǔn)線是60分,將考核成績(jī)與60進(jìn)行比較,即可判定該項(xiàng)考核是否通過。如果每項(xiàng)考核成績(jī)都大于等于60分,則判定綜合考核通過;否則不通過。3.算法描述接收用戶輸入的三項(xiàng)考核成績(jī),存入成績(jī)變量中score1、score2、score3;將各項(xiàng)成績(jī)與60進(jìn)行比較,輸出比較結(jié)果。導(dǎo)例:考核通過了嗎?1.問題描述4.程序?qū)崿F(xiàn)#include<stdio.h>main(){intscore1,score2,score3;/*定義各項(xiàng)考核成績(jī)變量*//*輸入考核成績(jī)*/printf("請(qǐng)輸入三項(xiàng)考核成績(jī):");scanf("%d%d%d",&score1,&score2,&score3);/*輸出考核結(jié)果*/printf(“第一項(xiàng)考核結(jié)果:%d\n",score1>=60);printf("第二項(xiàng)考核結(jié)果:%d\n",score2>=60);printf("第三項(xiàng)考核結(jié)果:%d\n",score3>=60);printf("綜合考核結(jié)果:%d\n",(score1>=60)&&(score2>=60)&&(score3>=60));}圖2-3考核結(jié)果判斷流程圖4.程序?qū)崿F(xiàn)圖2-3考核結(jié)果判斷流程圖運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符
算術(shù)運(yùn)算符用于各種數(shù)值運(yùn)算,包括5個(gè)二元運(yùn)算符:加(+)、減(-)、乘(*)、除(/)、求余(%),和2個(gè)一元運(yùn)算符:自增(++)、自減(--)。例如: 34+23、23.4-32、54.3*3、80.1/4、100%34如果定義如下變量并賦值:intx;floaty;x=30;y=53.64;x+y、x*y、x/23.5注意/整數(shù)除整數(shù),得整數(shù)如:1/2=0,9/4=2%針對(duì)整型數(shù)據(jù)如:5%6=5,9%4=1,100%4=0雙目運(yùn)算符兩側(cè)操作數(shù)的類型要相同運(yùn)算符與表達(dá)式算術(shù)運(yùn)算符注意運(yùn)算符與表達(dá)式使用自增(++)、自減(--)這兩個(gè)一元運(yùn)算符的運(yùn)算只需一個(gè)操作數(shù),一般用于整型變量的加1、減1操作。例如intx;floaty;x=30;y=53.64;x++
x的值加1,變?yōu)?1。
(x++)+yx先與y相加,然后x再加1,表達(dá)式結(jié)果為83.64;
(++x)+yx先加1,然后再與y相加,結(jié)果為84.64。運(yùn)算符與表達(dá)式使用自增(++)、自減(--)這兩個(gè)一元運(yùn)算符運(yùn)算符與表達(dá)式關(guān)系運(yùn)算符
關(guān)系運(yùn)算符用于比較運(yùn)算,包括6個(gè)運(yùn)算符:
大于(>)、小于(<)、大于等于(>=)、
小于等于(<=)、等于(==)和不等于(!=)。
這6個(gè)邏輯運(yùn)算符運(yùn)算結(jié)果為邏輯值:1或0當(dāng)條件成立時(shí)為真,結(jié)果為1;當(dāng)條件不成立時(shí)為假,結(jié)果為0。區(qū)分=和==運(yùn)算符與表達(dá)式關(guān)系運(yùn)算符區(qū)分=和==邏輯運(yùn)算符
邏輯運(yùn)算符用于邏輯運(yùn)算,包括3個(gè)運(yùn)算符:
非(!)、與(&&)、或(||
邏輯運(yùn)算的結(jié)果均為邏輯值:1或0。操作數(shù)a操作數(shù)ba&&ba||b!a000010非0011非00010非0非0110運(yùn)算符與表達(dá)式邏輯運(yùn)算符操作數(shù)a操作數(shù)ba&&ba||b!a000010非在運(yùn)算表達(dá)式中
算術(shù)運(yùn)算符>關(guān)系運(yùn)算符>邏輯運(yùn)算符運(yùn)算符的優(yōu)先級(jí)運(yùn)算符功能
>大于
>=大于等于
<小于
<=小于等于
==等于
!=不等于高低優(yōu)先級(jí)運(yùn)算符功能
!非
&&與
||或高低優(yōu)先級(jí)在運(yùn)算表達(dá)式中運(yùn)算符的優(yōu)先級(jí)運(yùn)算符功能高低優(yōu)先級(jí)運(yùn)算符2.3C程序的基本控制結(jié)構(gòu)語句是構(gòu)造C程序的最基本單位,程序運(yùn)行的過程也就是語句執(zhí)行的過程,語句執(zhí)行的次序稱為流程控制。C程序有三種控制結(jié)構(gòu),分別是順序結(jié)構(gòu)、選擇分支結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。
順序結(jié)構(gòu)是指按照語句的書寫順序依次執(zhí)行;
選擇分支結(jié)構(gòu)是指通過對(duì)特定條件的判斷,選擇執(zhí)行一個(gè)分支;
循環(huán)結(jié)構(gòu)是指在給定條件下,重復(fù)執(zhí)行某段程序,直到條件不滿足為止。2.3C程序的基本控制結(jié)構(gòu)語句是構(gòu)造C程序的最基本單位,程導(dǎo)例:計(jì)算圓的周長(zhǎng)和面積1.問題描述
從鍵盤輸入圓的半徑,計(jì)算圓的周長(zhǎng)和面積。2.問題分析
定義3個(gè)float型變量,分別用于存儲(chǔ)半徑、周長(zhǎng)和面積,然后根據(jù)圓的周長(zhǎng)公式perimeter=2πr,面積公式area=πr2進(jìn)行計(jì)算。3.算法描述定義3個(gè)float變量r,perimeter和area。鍵盤輸入半徑r。利用公式perimeter=2πr計(jì)算周長(zhǎng)。利用公式area=πr2計(jì)算面積。屏幕輸出周長(zhǎng)perimeter和面積area。導(dǎo)例:計(jì)算圓的周長(zhǎng)和面積1.問題描述4.程序?qū)崿F(xiàn)#include<stdio.h>#definePI3.14/*宏定義*/main(){floatr,perimeter,area;
printf("Enterradius:");scanf("%f",&r);perimeter=2*PI*r;area=PI*r*r;printf("Perimeter=%.2f,Area=%.2f\n",perimeter,area);}結(jié)束輸出:perimeter,area輸入半徑開始計(jì)算perimeter計(jì)算area圖2-4計(jì)算周長(zhǎng)和面積的算法流程圖4.程序?qū)崿F(xiàn)結(jié)束輸出:perimeter,area輸入半徑判斷數(shù)字的奇偶性1、問題描述
輸入1個(gè)整數(shù),判斷該數(shù)是奇數(shù)還是偶數(shù)。2、問題分析
如果輸入的整數(shù)能夠被2整除,則是偶數(shù),否則是奇數(shù)。3、算法描述輸入一個(gè)整數(shù)保存于整型變量number中。判斷條件:能被2整除,如果條件成立,則輸出:偶數(shù)。否則,輸出:奇數(shù)。判斷數(shù)字的奇偶性1、問題描述#include<stdio.h>intmain(void){intnumber;printf("Enteranumber:");scanf("%d",&number);
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024新版?zhèn)€體勞動(dòng)協(xié)議樣本版
- 2024監(jiān)理服務(wù)擴(kuò)展合同標(biāo)準(zhǔn)文本一
- 2025年度新能源汽車充電樁采購安裝合同3篇
- 二零二五年科技園區(qū)PPP項(xiàng)目合同第三、四章技術(shù)創(chuàng)新與產(chǎn)業(yè)支持細(xì)則3篇
- 唐山科技職業(yè)技術(shù)學(xué)院《吉他(二)》2023-2024學(xué)年第一學(xué)期期末試卷
- 蘇州農(nóng)業(yè)職業(yè)技術(shù)學(xué)院《美國(guó)文學(xué)史與作品選讀》2023-2024學(xué)年第一學(xué)期期末試卷
- 二零二五年度班主任班級(jí)管理師徒實(shí)踐合作協(xié)議3篇
- 事業(yè)單位專任人員2024河南聘用協(xié)議模板版
- 石家莊城市經(jīng)濟(jì)職業(yè)學(xué)院《制藥工程學(xué)》2023-2024學(xué)年第一學(xué)期期末試卷
- 2025年度玻璃制品出口貿(mào)易合同3篇
- 垃圾焚燒發(fā)電環(huán)保培訓(xùn)
- 北京市朝陽區(qū)2024-2025學(xué)年高一(上)期末化學(xué)試卷(含答案)
- 中醫(yī)基礎(chǔ)學(xué)考試題(附答案)
- 2025貴州建筑安全員B證考試題庫附答案
- 2024年杭州師范大學(xué)附屬醫(yī)院高層次衛(wèi)技人才招聘筆試歷年參考題庫頻考點(diǎn)附帶答案
- 2024-2025學(xué)年八年級(jí)歷史上冊(cè)期末復(fù)習(xí)課件
- 2025年云南省大理州事業(yè)單位招聘339人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024-2025學(xué)年度第一學(xué)期三年級(jí)數(shù)學(xué)寒假作業(yè) 有答案
- 大型起重機(jī)械現(xiàn)場(chǎng)管理手冊(cè)
- 2024年貴州省公務(wù)員錄用考試《行測(cè)》真題及答案解析
- 江蘇省南京市聯(lián)合體2024-2025學(xué)年九年級(jí)上學(xué)期期中學(xué)情分析化學(xué)試卷(無答案)
評(píng)論
0/150
提交評(píng)論