版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
用C語言編寫
簡(jiǎn)單的程序有且僅有一個(gè)main(){……}(主函數(shù))框架;語句均由分號(hào)“;”結(jié)尾;所有變量使用前須聲明(說明)其類型;有一些函數(shù)(標(biāo)準(zhǔn)庫函數(shù)或自定義函數(shù))調(diào)用;……..會(huì)有#號(hào)開頭的一些編譯預(yù)處理代碼行;會(huì)有注釋,用“/**/”或“//”標(biāo)注。上次課學(xué)過的例1計(jì)算并輸出三角形面積例2計(jì)算并輸出1+2+……+100例3判斷素?cái)?shù)這次課要講的例1計(jì)算并輸出三角形面積已知三角形的三條邊長(zhǎng)分別為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輸出時(shí)會(huì)對(duì)輸出項(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無號(hào)的十進(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%%百分號(hào)本身
printf("%%");%數(shù)據(jù)輸出printf格式輸出函數(shù)printf附加格式說明符:l長(zhǎng)整型整數(shù),加在d、o、x、u前Llongdouble型數(shù),加在f、e、g前m表示數(shù)據(jù)占用的最小寬度數(shù)據(jù)寬度大于m,按實(shí)際寬度輸出數(shù)據(jù)寬度小于m時(shí),補(bǔ)空格n對(duì)實(shí)數(shù)表示輸出n位小數(shù)對(duì)字符串表示最多輸出的字符個(gè)數(shù),如:printf("%5.2f\n%6.1f\n",f1,f2);-改變輸出內(nèi)容的對(duì)齊方式:缺省為右對(duì)齊例1計(jì)算并輸出三角形面積已知三角形的三條邊長(zhǎng)分別為a、b、c,求三角形面積。其中:s=(a+b+c)/2。若三角形的三條邊長(zhǎng)是變量,則在程序運(yùn)行時(shí)輸入:#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è)備輸入若干個(gè)任意類型的數(shù)據(jù)。格式:
scanf("格式控制字符串",地址表列);
例:scanf("%d,%f",&a,&b);非格式字符格式說明地址表列數(shù)據(jù)輸入scanf格式輸入函數(shù)表3.2scanf函數(shù)的格式說明符格式說明符意義例子輸入數(shù)據(jù)舉例%d輸入一個(gè)十進(jìn)制整數(shù)scanf(“%d”,&a);567%o輸入一個(gè)八進(jìn)制數(shù)(無前導(dǎo)0)scanf(“%o”,&a);1067%f輸入一個(gè)小數(shù)形式的數(shù)scanf(“%f”,&a);567.789%s輸入一個(gè)字符串scanf(“%s”,&a);
This%x輸入一個(gè)十六進(jìn)制數(shù)(無前導(dǎo)0x)scanf(“%x”,&a);
0x237%c輸入一個(gè)字符scanf(“%c”,&a);
A%e輸入一個(gè)科學(xué)計(jì)數(shù)法的浮點(diǎn)數(shù)scanf(“%e”,&a);5.68E+02%u輸入一個(gè)不帶正負(fù)號(hào)的十進(jìn)制整數(shù)scanf(“%u”,&a);45數(shù)據(jù)輸入scanf格式輸入函數(shù)scanf附加格式說明符l
加在d、o、x、u前:輸入長(zhǎng)整型;加在f、e前:輸入雙精度型;L
加在f、e前:輸入longdouble型;h加在d、o、x前:輸入短整型;m(一個(gè)整數(shù))表示數(shù)據(jù)占用的寬度;*本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量。數(shù)據(jù)輸入scanf格式輸入函數(shù)多數(shù)據(jù)項(xiàng)輸入時(shí),輸入數(shù)據(jù)間的分隔有3種方式:采用系統(tǒng)分隔符(空格、回車、制表符Tab):scanf("%d%d%d",&a,&b,&c);用戶自己設(shè)定分隔符,如逗號(hào)、冒號(hào)等: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)步長(zhǎng)的表達(dá)式3:i++循環(huán)體語句:sum=sum+i;for(i=1;i<=100;i++)sum=sum+i;例2計(jì)算并輸出1+2+……+100/*計(jì)算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計(jì)算并輸出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時(shí)止。循環(huán)體語句;循環(huán)起始條件循環(huán)結(jié)束條件循環(huán)增量…定義:除了1和自身外,無法被其他自然數(shù)整除的正整數(shù)。算法(窮舉法):設(shè)數(shù)為n,并設(shè)置一個(gè)標(biāo)志flag為1;用2~n-1依次去除n,若能整除,則不是素?cái)?shù),flag置0,跳出循環(huán);若都不能整除,循環(huán)正常結(jié)束,flag仍為1,n是素?cái)?shù)。輸出:若flag為1,則輸出“n是素?cái)?shù)”;若flag為0,則輸出“n不是素?cái)?shù)”;例3判斷素?cái)?shù)能否整除,使用取模(相除取余數(shù))運(yùn)算符%,若n%k=0(即余數(shù)為0),則n可以被k整除。例3判斷素?cái)?shù)輸入一個(gè)數(shù),判斷其是否為素?cái)?shù)。main(){intn,
k,
flag;
printf("輸入一個(gè)數(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是素?cái)?shù)。\n",n);
else
printf("%d
不是素?cái)?shù)。\n",n);}if語句if語句根據(jù)給定表達(dá)式的值進(jìn)行判斷,從而確定執(zhí)行程序流程中的哪一個(gè)分支。表達(dá)式是由操作數(shù)和運(yùn)算符按一定語法形式組成的符號(hào)序列。每個(gè)表達(dá)式經(jīng)過運(yùn)算(求值)后都會(huì)產(chǎn)生一個(gè)確定的值,稱為表達(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á)式兩個(gè)表達(dá)式與關(guān)系運(yùn)算符可組成一個(gè)關(guān)系表達(dá)式。若比較關(guān)系成立,則關(guān)系表達(dá)式的值為1(true),否則為0(false)。如:13>27的求值結(jié)果為0,13<=21的求值結(jié)果為1。注意:等于是==(兩個(gè)等號(hào))。優(yōu)先級(jí)高優(yōu)先級(jí)低邏輯運(yùn)算符及邏輯表達(dá)式1.邏輯運(yùn)算符邏輯運(yùn)算亦稱布爾運(yùn)算。邏輯運(yùn)算符主要包括(優(yōu)先級(jí)由高到低):!(非)
&&(與)||(或)其中:!是一元運(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)先級(jí)高到低):!(非)
&&(與)||(或)其中:!是一元運(yùn)算符,其余是二元運(yùn)算符。2.邏輯表達(dá)式邏輯表達(dá)式的操作數(shù)可以是字符類型、整數(shù)類型,結(jié)果為1或0。if語句1.簡(jiǎn)單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之間的所有素?cái)?shù)。/*輸出1~100之間的所有素?cái)?shù)*/main(){
int
i,j;
for(i=2;i<100;i++){for(j=2;i%j;j++);
if(i==j)
printf("素?cái)?shù)=%d\n",i);}}例3判斷素?cái)?shù)將1~100之間的所有素?cái)?shù)放到一個(gè)數(shù)組中。/*將1~100之間的所有素?cái)?shù)放到一個(gè)數(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個(gè)素?cái)?shù)。\n",k);*/for(m=0;m<k;m++)printf("第%d個(gè)素?cái)?shù)=%d\n",m+1,a[m]);}例3判斷素?cái)?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個(gè)素?cái)?shù)。\n",k);*/for(m=0;m<k;m++)printf("第%d個(gè)素?cái)?shù)=%d\n",m+1,a[m]);}例3判斷素?cái)?shù)將1~N之間的所有素?cái)?shù)放到一個(gè)文件中。/*將1~N之間的所有素?cái)?shù)放到一個(gè)文件中*/#include"stdio.h"#include"stdlib.
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 施工企業(yè)2025年春節(jié)節(jié)后復(fù)工復(fù)產(chǎn)工作專項(xiàng)方案 (合計(jì)3份)
- 下午考前囑咐囑咐什么?發(fā)言提綱
- 古詩文初賽答案(正稿)
- 《電路原理圖繪制》課件
- 傳統(tǒng)服飾設(shè)計(jì)師職責(zé)概述
- 鋼鐵結(jié)構(gòu)設(shè)計(jì)師職責(zé)說明
- 煤炭行業(yè)美工工作總結(jié)
- 特需科護(hù)士工作總結(jié)
- 財(cái)務(wù)工作資金管理總結(jié)
- 專業(yè)技能與教研水平
- 《皮膚病中成藥導(dǎo)引》課件
- 2024-2030年中國(guó)除顫儀行業(yè)市場(chǎng)分析報(bào)告
- 2023-2024學(xué)年廣東省廣州市越秀區(qū)九年級(jí)(上)期末物理試卷(含答案)
- 廣東省廣州市天河區(qū)2023-2024學(xué)年八年級(jí)上學(xué)期期末考試物理試題(含答案)
- 2024年高一上學(xué)期期末數(shù)學(xué)考點(diǎn)《壓軸題》含答案解析
- 成都中醫(yī)藥大學(xué)博士申請(qǐng)
- 太空軍事法律問題-洞察分析
- 2024年行政執(zhí)法人員資格考試必考知識(shí)題庫及答案(共250題)
- 招標(biāo)代理崗位職責(zé)規(guī)章制度
- 家校攜手育桃李 齊心合力創(chuàng)輝煌 課件高二上學(xué)期期末家長(zhǎng)會(huì)
- 二零二四年風(fēng)力發(fā)電項(xiàng)目EPC總承包合同
評(píng)論
0/150
提交評(píng)論