版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
用C語言編寫
簡單的程序有且僅有一個main(){……}(主函數(shù))框架;語句均由分號“;”結(jié)尾;所有變量使用前須聲明(說明)其類型;有一些函數(shù)(標(biāo)準(zhǔn)庫函數(shù)或自定義函數(shù))調(diào)用;……..會有#號開頭的一些編譯預(yù)處理代碼行;會有注釋,用“/**/”或“//”標(biāo)注。上次課學(xué)過的例1計算并輸出三角形面積例2計算并輸出1+2+……+100例3判斷素數(shù)這次課要講的例1計算并輸出三角形面積已知三角形的三條邊長分別為a、b、c,求三角形面積。其中:s=(a+b+c)/2#include<stdio.h> #include<math.h>main(){inta=3,b=4,c=5;floats,area;s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%d,b=%d,c=%d,s=%f\n",a,b,c,s);printf("area=%f\n",area);}#include<stdio.h> #include<math.h>main(){floata=3,b=4,c=5,s,area;s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f,b=%f,c=%f,s=%f\n",a,b,c,s);printf("area=%7.2f\n",area);}#include<stdio.h> #include<math.h>main(){floata=3,b=4,c=5,s,A;s=1.0/2*(a+b+c);
A=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f,b=%f,c=%f,s=%f\n",a,b,c,s);printf(“面積=%7.2f\n",A);}數(shù)據(jù)輸出Printf格式輸出函數(shù)按一定格式輸出若干任意類型的數(shù)據(jù)。printf輸出時會對輸出項(xiàng)求值。格式:
printf("格式控制字符串",輸出項(xiàng)表列);例:printf("a=%db=%f",a,b);
函數(shù)名輸出表列普通字符格式說明數(shù)據(jù)輸出printf格式輸出函數(shù)格式說明符的意義格式符意義例
子結(jié)果%d十進(jìn)制inta=567;printf("%d“,a);567%x十六進(jìn)制inta=567;
printf("%x“,a);0x237%o八進(jìn)制inta=567;
printf("%o“,a);1067%u無號的十進(jìn)制整數(shù)inta=45;printf("%u“,a);45%c字符chara=‘A’;
printf("%c“,a);A%s字符串char*s=“This;”printf("%s“,s);This%e浮點(diǎn)表示法輸出floata=567.789;
printf("%e“,a);5.68E+02%f小數(shù)形式floata=567.789;printf("%f“,a);567.789%ge和f中較短的一種floata=567.789;printf("%g“,a);567.789%%百分號本身
printf("%%");%數(shù)據(jù)輸出printf格式輸出函數(shù)printf附加格式說明符:l長整型整數(shù),加在d、o、x、u前Llongdouble型數(shù),加在f、e、g前m表示數(shù)據(jù)占用的最小寬度數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出數(shù)據(jù)寬度小于m時,補(bǔ)空格n對實(shí)數(shù)表示輸出n位小數(shù)對字符串表示最多輸出的字符個數(shù),如:printf("%5.2f\n%6.1f\n",f1,f2);-改變輸出內(nèi)容的對齊方式:缺省為右對齊例1計算并輸出三角形面積已知三角形的三條邊長分別為a、b、c,求三角形面積。其中:s=(a+b+c)/2。若三角形的三條邊長是變量,則在程序運(yùn)行時輸入:#include<stdio.h> #include<math.h>main(){floata,b,c,s,area;
scanf(“%f%f%f”,&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“a=%f,b=%f,c=%f,s=%f\n”,a,b,c,s);
printf(“area=%7.2f\n”,area);}*注意非法字符數(shù)據(jù)輸入scanf格式輸入函數(shù)按一定格式從輸入設(shè)備輸入若干個任意類型的數(shù)據(jù)。格式:
scanf("格式控制字符串",地址表列);
例:scanf("%d,%f",&a,&b);非格式字符格式說明地址表列數(shù)據(jù)輸入scanf格式輸入函數(shù)表3.2scanf函數(shù)的格式說明符格式說明符意義例子輸入數(shù)據(jù)舉例%d輸入一個十進(jìn)制整數(shù)scanf(“%d”,&a);567%o輸入一個八進(jìn)制數(shù)(無前導(dǎo)0)scanf(“%o”,&a);1067%f輸入一個小數(shù)形式的數(shù)scanf(“%f”,&a);567.789%s輸入一個字符串scanf(“%s”,&a);
This%x輸入一個十六進(jìn)制數(shù)(無前導(dǎo)0x)scanf(“%x”,&a);
0x237%c輸入一個字符scanf(“%c”,&a);
A%e輸入一個科學(xué)計數(shù)法的浮點(diǎn)數(shù)scanf(“%e”,&a);5.68E+02%u輸入一個不帶正負(fù)號的十進(jìn)制整數(shù)scanf(“%u”,&a);45數(shù)據(jù)輸入scanf格式輸入函數(shù)scanf附加格式說明符l
加在d、o、x、u前:輸入長整型;加在f、e前:輸入雙精度型;L
加在f、e前:輸入longdouble型;h加在d、o、x前:輸入短整型;m(一個整數(shù))表示數(shù)據(jù)占用的寬度;*本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量。數(shù)據(jù)輸入scanf格式輸入函數(shù)多數(shù)據(jù)項(xiàng)輸入時,輸入數(shù)據(jù)間的分隔有3種方式:采用系統(tǒng)分隔符(空格、回車、制表符Tab):scanf("%d%d%d",&a,&b,&c);用戶自己設(shè)定分隔符,如逗號、冒號等:scanf("%d,%d,%d",&a,&b,&c);設(shè)置輸入項(xiàng)位數(shù)(m),按位截取,如:scanf(“%2d%3d%4d”,
&a,
&b,
&c);
求1+2+……+100抽取具有共性的算式:sum=sum+isum初值為0,該算式重復(fù)100次,i從1變到100設(shè)i為循環(huán)變量,則:指定循環(huán)起點(diǎn)的表達(dá)式1:i=1給出循環(huán)條件的表達(dá)式2:i<=100設(shè)置循環(huán)步長的表達(dá)式3:i++循環(huán)體語句:sum=sum+i;for(i=1;i<=100;i++)sum=sum+i;例2計算并輸出1+2+……+100/*計算1+2+3+……+100*/#include
<stdio.h>main(){
int
i,sum;
sum=0;
//置sum初值為0
for(i=1;i<=100;i++)
//循環(huán)重復(fù)100次
sum=
sum
+i;
//反復(fù)累加
printf("sum=%d\n",sum);//輸出累加和}例2計算并輸出1+2+……+100循環(huán)變量累加和for循環(huán)for循環(huán)結(jié)構(gòu)及執(zhí)行
for(表達(dá)式1;表達(dá)式2;表達(dá)式3)
{
}先執(zhí)行表達(dá)式1。若表達(dá)式2的值非0,重復(fù)執(zhí)行循環(huán)體語句與表達(dá)式3。直到表達(dá)式2的值為0時止。循環(huán)體語句;循環(huán)起始條件循環(huán)結(jié)束條件循環(huán)增量…定義:除了1和自身外,無法被其他自然數(shù)整除的正整數(shù)。算法(窮舉法):設(shè)數(shù)為n,并設(shè)置一個標(biāo)志flag為1;用2~n-1依次去除n,若能整除,則不是素數(shù),flag置0,跳出循環(huán);若都不能整除,循環(huán)正常結(jié)束,flag仍為1,n是素數(shù)。輸出:若flag為1,則輸出“n是素數(shù)”;若flag為0,則輸出“n不是素數(shù)”;例3判斷素數(shù)能否整除,使用取模(相除取余數(shù))運(yùn)算符%,若n%k=0(即余數(shù)為0),則n可以被k整除。例3判斷素數(shù)輸入一個數(shù),判斷其是否為素數(shù)。main(){intn,
k,
flag;
printf("輸入一個數(shù):");
scanf("%d",&n);
for(flag=1,k=2;k<=n-1;k++)
if(n%k==0)
{
flag=0;
break;
}
//如果n%k≠0,則繼續(xù)循環(huán),否則退出循環(huán)
if(flag==1)
printf("%d是素數(shù)。\n",n);
else
printf("%d
不是素數(shù)。\n",n);}if語句if語句根據(jù)給定表達(dá)式的值進(jìn)行判斷,從而確定執(zhí)行程序流程中的哪一個分支。表達(dá)式是由操作數(shù)和運(yùn)算符按一定語法形式組成的符號序列。每個表達(dá)式經(jīng)過運(yùn)算(求值)后都會產(chǎn)生一個確定的值,稱為表達(dá)式的值。if語句中表達(dá)式多為關(guān)系表達(dá)式或邏輯表達(dá)式。if語句中表達(dá)式的值分兩種:0與非0;
關(guān)系運(yùn)算符及關(guān)系表達(dá)式1.關(guān)系運(yùn)算符(均是二元運(yùn)算符)<小于
<=小于或等于>大于
>=大于或等于==等于
!=不等于2.關(guān)系表達(dá)式兩個表達(dá)式與關(guān)系運(yùn)算符可組成一個關(guān)系表達(dá)式。若比較關(guān)系成立,則關(guān)系表達(dá)式的值為1(true),否則為0(false)。如:13>27的求值結(jié)果為0,13<=21的求值結(jié)果為1。注意:等于是==(兩個等號)。優(yōu)先級高優(yōu)先級低邏輯運(yùn)算符及邏輯表達(dá)式1.邏輯運(yùn)算符邏輯運(yùn)算亦稱布爾運(yùn)算。邏輯運(yùn)算符主要包括(優(yōu)先級由高到低):!(非)
&&(與)||(或)其中:!是一元運(yùn)算符,其余是二元運(yùn)算符。2.邏輯表達(dá)式邏輯表達(dá)式的操作數(shù)可以是字符類型、整數(shù)類型,結(jié)果為1或0。如:判斷閏年的邏輯表達(dá)式:(year%4==0&&year%100!=0)||year%400==0如上式值為1,則是閏年,否則不是。邏輯運(yùn)算符及邏輯表達(dá)式1.邏輯運(yùn)算符邏輯運(yùn)算亦稱布爾運(yùn)算。邏輯運(yùn)算符主要包括(優(yōu)先級高到低):!(非)
&&(與)||(或)其中:!是一元運(yùn)算符,其余是二元運(yùn)算符。2.邏輯表達(dá)式邏輯表達(dá)式的操作數(shù)可以是字符類型、整數(shù)類型,結(jié)果為1或0。if語句1.簡單if語句(單臂)
if(表達(dá)式){語句序列;}如:
if(x>y)
printf(“%d”,x);表達(dá)式語句序列非00if語句2.第二種結(jié)構(gòu)的if語句(雙臂)
if(表達(dá)式){語句序列1;}else{語句序列2;}如:
if(x>y)
printf(“%d”,x);else
printf(“%d”,y);表達(dá)式語句序列2語句序列10非0輸出1~100之間的所有素數(shù)。/*輸出1~100之間的所有素數(shù)*/main(){
int
i,j;
for(i=2;i<100;i++){for(j=2;i%j;j++);
if(i==j)
printf("素數(shù)=%d\n",i);}}例3判斷素數(shù)將1~100之間的所有素數(shù)放到一個數(shù)組中。/*將1~100之間的所有素數(shù)放到一個數(shù)組中*/#include"stdio.h"main(){inti,j;intk,m,a[100];for(m=0;m<100;m++)a[m]=0;for(i=2,k=0;i<100;i++){for(j=2;i%j;j++);if(i==j){a[k]=j;k++;}}/*printf("共有%d個素數(shù)。\n",k);*/for(m=0;m<k;m++)printf("第%d個素數(shù)=%d\n",m+1,a[m]);}例3判斷素數(shù)引入宏定義。/*引入宏定義*/#include"stdio.h"#defineN100main(){inti,j;intk,m,a[N];for(m=0;m<N;m++)a[m]=0;for(i=2,k=0;i<N;i++){for(j=2;i%j;j++);if(i==j){a[k]=j;k++;}}/*printf("共有%d個素數(shù)。\n",k);*/for(m=0;m<k;m++)printf("第%d個素數(shù)=%d\n",m+1,a[m]);}例3判斷素數(shù)將1~N之間的所有素數(shù)放到一個文件中。/*將1~N之間的所有素數(shù)放到一個文件中*/#include"stdio.h"#include"stdlib.
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 44957-2024人工影響天氣作業(yè)點(diǎn)防雷技術(shù)規(guī)范
- 2025年上海市徐匯區(qū)高三語文一模作文解析與范文:突破與接受自身局限
- 持久性隆起性紅斑的臨床護(hù)理
- 部編人教版八年級歷史上冊教案
- 《證劵技術(shù)分析》課件
- 《數(shù)學(xué)規(guī)劃》課件
- 《第一章》課件-1.2人生智能的發(fā)展
- 2021年動力鋰電行業(yè)億緯鋰能分析報告
- 《機(jī)床電氣線路的安裝與調(diào)試》課件-第2章
- 《自動控制原理》課件第11章
- 國家開放大學(xué)應(yīng)用寫作(漢語)形考任務(wù)1-6答案(全)
- 學(xué)生家長陪餐制度及營養(yǎng)餐家長陪餐記錄表
- 銷售人員如何調(diào)整心態(tài)
- 局部阻力系數(shù)計算表
- 中南大學(xué)《工程制圖》習(xí)題集期末自測題答案解析
- 脂溢性皮炎與頭部脂溢性皮炎攻略
- 丙烯精制工段工藝畢業(yè)設(shè)計
- 國開專科《人文英語 2》機(jī)考題庫
- 客戶服務(wù)技巧-學(xué)會委婉說不
- GB/T 2007.3-1987散裝礦產(chǎn)品取樣、制樣通則評定品質(zhì)波動試驗(yàn)方法
- GB/T 14456.3-2016綠茶第3部分:中小葉種綠茶
評論
0/150
提交評論