




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第一章程序設(shè)計(jì)入門1.1算術(shù)表達(dá)式1.2變量及其輸入1.3順序結(jié)構(gòu)程序設(shè)計(jì)1.4分支結(jié)構(gòu)程序設(shè)計(jì)1.5小結(jié)與習(xí)題c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第1頁。1.1算術(shù)表達(dá)式程序1-1計(jì)算并輸出1+2的值#include<stdio.h>intmain(){ printf("%d\n",1+2); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第2頁。1.1算術(shù)表達(dá)式讓我們做4個(gè)習(xí)題習(xí)題1:修改程序1-1,輸出3-4的結(jié)果習(xí)題2:修改程序1-1,輸出5×6的結(jié)果習(xí)題3:修改程序1-1,輸出8÷4的結(jié)果習(xí)題4:修改程序1-1,輸出8÷5的結(jié)果c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第3頁。1.1算術(shù)表達(dá)式程序1-2計(jì)算并輸出8/5的值,保留小數(shù)點(diǎn)后1位#include<stdio.h>intmain(){ printf("%.1lf\n",8.0/5.0); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第4頁。1.1算術(shù)表達(dá)式練習(xí)5:把%.1lf中的數(shù)字1改為2,結(jié)果如何?%lf的結(jié)果是什么?練習(xí)6:字符串%.1lf不變,把8.0/5.0改成原來的8/5,結(jié)果如何?練習(xí)7:字符串%.1lf改成原來的%d,8.0/5.0不變,結(jié)果如何?c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第5頁。1.1算術(shù)表達(dá)式提示1-1:整數(shù)值用%d輸出,實(shí)數(shù)用%lf輸出。提示1-2:整數(shù)/整數(shù)=整數(shù),浮點(diǎn)數(shù)/浮點(diǎn)數(shù)=浮點(diǎn)數(shù)c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第6頁。1.1算術(shù)表達(dá)式程序1-3復(fù)雜的表達(dá)式計(jì)算#include<stdio.h>#include<math.h>intmain(){ printf("%.1lf\n",1+2*sqrt(3)/(5-0.1)); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第7頁。1.2算術(shù)表達(dá)式程序1-4A+B問題#include<stdio.h>intmain(){ inta,b; scanf("%d%d",&a,&b); printf("%d\n",a+b); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第8頁。1.2算術(shù)表達(dá)式提示1-3:scanf中的占位符和變量的數(shù)據(jù)類型應(yīng)一一對(duì)應(yīng),且每個(gè)變量前需要&符號(hào)。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第9頁。1.2算術(shù)表達(dá)式例題1-1圓柱體的表面積輸入底面半徑r和高h(yuǎn),輸出圓柱體的表面積,保留3位小數(shù),格式見樣例。樣例輸入:3.59樣例輸出:Area=274.889c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第10頁。程序1-5圓柱體的表面積#include<stdio.h>#include<math.h>intmain(){ constdoublepi=4.0*atan(1.0); doubler,h,s1,s2,s; scanf("%lf%lf",&r,&h); s1=pi*r*r; s2=2*pi*r*h; s=s1*2.0+s2; printf("Area=%.3lf\n",s); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第11頁。1.2算術(shù)表達(dá)式提示1-4:在算法競(jìng)賽中,輸入前不要打印提示信息。輸出完畢后應(yīng)立即終止程序,不要等待用戶按鍵,因?yàn)檩斎胼敵鲞^程都是自動(dòng)的,沒有人工干預(yù)。提示1-6:在算法競(jìng)賽中,每行輸出均以回車府結(jié)束,包括最后一行。除非特別說明,每行的行首不應(yīng)有空格,但行末通??梢杂卸嘤嗫崭?。另外,輸出的每?jī)蓚€(gè)數(shù)或者字符串之間應(yīng)以單個(gè)空格隔開。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第12頁。1.2算術(shù)表達(dá)式提示1-7:盡量用const關(guān)鍵字聲明常數(shù)。提示1-8:賦值是個(gè)動(dòng)作,先計(jì)算右邊的值,再賦給左邊的變量,覆蓋它原來的值提示1-9:printf的格式字符串中可以包含其他可打印符號(hào),打印時(shí)原樣輸出。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第13頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)例題1-2三位數(shù)反轉(zhuǎn)輸入一個(gè)三位數(shù),分離出它的百位、十位和個(gè)位,反轉(zhuǎn)后輸出。樣例輸入:127樣例輸出:721c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第14頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)#include<stdio.h>intmain(){ intn; scanf("%d",&n); printf("%d%d%d\n",n%10,n/10%10,n/100); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第15頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)提示1-10:算法競(jìng)賽的題目應(yīng)當(dāng)是嚴(yán)密的,各種情況下的輸出均應(yīng)嚴(yán)格規(guī)定。如果在此競(jìng)賽中發(fā)現(xiàn)題目有漏洞,應(yīng)向相關(guān)人員詢問,而盡量不要自己隨意假定。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第16頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)#include<stdio.h>intmain(){ intn,m; scanf("%d",&n); m=(n%10)*100+(n/10%10)*10+(n/100); printf("%03d\n",m); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第17頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)例題1-3交換變量輸入兩個(gè)整數(shù)a和b,交換二者的值,然后輸出。樣例輸入:82416樣例輸出:16824c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第18頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)#include<stdio.h>intmain(){ inta,b,t; scanf("%d%d",&a,&b); t=a; a=b; b=t; printf("%d%d\n",a,b); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第19頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)提示1-11:賦值a=b之后,變量a原來的值被覆蓋,而b的值不變。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第20頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)#include<stdio.h>intmain(){ inta,b,t; scanf("%d%d",&a,&b); a=a+b; b=a-b; a=a-b; printf("%d%d\n",a,b); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第21頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)提示1-12:交換兩個(gè)變量的三變量法適用范圍廣,推薦使用。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第22頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)#include<stdio.h>intmain(){ inta,b,t; scanf("%d%d",&a,&b); printf("%d%d\n",b,a); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第23頁。1.3順序結(jié)構(gòu)程序設(shè)計(jì)提示1-13:算法競(jìng)賽是在比誰能更好地解決問題,而不是再比誰寫的程序看上去更高級(jí)。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第24頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)例題1-4雞兔同籠已知雞和兔的總數(shù)量為n,總腿數(shù)為m。輸入n和m,依次輸出雞的數(shù)目和兔的數(shù)目。如果無解,則輸出“Noanswer”(不要引號(hào))。樣例輸入:1432樣例輸出:122樣例輸入:1016樣例輸出:Noanswerc語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第25頁。#include<stdio.h>intmain(){ inta,b,n,m; scanf("%d%d",&n,&m); a=(4*n-m)/2; b=n-a; if(m%2==1||a<0||b<0) printf("Noanswer\n"); else printf("%d%d\n",a,b); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第26頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)if語句的一般格式:if(條件)
語句1;else
語句2;c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第27頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)提示1-14:if語句的基本格式為:if(條件)語句1;else語句2。提示1-15:if語句的條件是一個(gè)邏輯表達(dá)式,它的值可能為真,也可能為假。提示1-16:C語言中的邏輯運(yùn)算符都是短路運(yùn)算符。一旦能夠確定整個(gè)表達(dá)式的值,就不再繼續(xù)計(jì)算。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第28頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)例題1-5三整數(shù)排序輸入3個(gè)整數(shù),從小到大排序后輸出。樣例輸入:20733樣例輸出:72033c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第29頁。#include<stdio.h>intmain(){ inta,b,c; scanf("%d%d%d",&a,&b,&c); if(a<b&&b<c)printf("%d%d%d\n",a,b,c); if(a<c&&c<b)printf("%d%d%d\n",a,c,b); if(b<a&&a<c)printf("%d%d%d\n",b,a,c); if(b<c&&c<a)printf("%d%d%d\n",b,c,a); if(c<a&&a<b)printf("%d%d%d\n",c,a,b); if(c<b&&b<a)printf("%d%d%d\n",c,b,a); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第30頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)提示1-17:算法競(jìng)賽的目標(biāo)是編程對(duì)任意輸入均得到正確的結(jié)果,而不僅是樣例數(shù)據(jù)。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第31頁。#include<stdio.h>intmain(){ inta,b,c; scanf("%d%d%d",&a,&b,&c); if(a<=b&&b<=c)printf("%d%d%d\n",a,b,c); elseif(a<=c&&c<=b)printf("%d%d%d\n",a,c,b); elseif(b<=a&&a<=c)printf("%d%d%d\n",b,a,c); elseif(b<=c&&c<=a)printf("%d%d%d\n",b,c,a); elseif(c<=a&&a<=b)printf("%d%d%d\n",c,a,b); elseif(c<=b&&b<=a)printf("%d%d%d\n",c,b,a); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第32頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)提示1-18:如果有多個(gè)并列、情況不交叉的條件需要一一處理,可以用elseif語句。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第33頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)#include<stdio.h>intmain(){ inta,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b){t=a;a=b;b=t;} if(a>c){t=a;a=c;c=t;} if(b>c){t=b;b=c;c=t;} printf("%d%d%d\n",a,b,c); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第34頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)提示1-19:可以用花括號(hào)把若干條語句組合成一個(gè)整體。這些語句仍然按順序執(zhí)行。提示1-20:在難以一次性求出最后結(jié)果時(shí),可以用變量?jī)?chǔ)存“臨時(shí)結(jié)果”,從而逐步更新。c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第35頁。1.4分支結(jié)構(gòu)程序設(shè)計(jì)#include<stdio.h>intmain(){ inta,b,c,x,y,z; scanf("%d%d%d",&a,&b,&c); x=a;if(b<x)x=b;if(c<x)x=c; z=a;if(b>z)z=b;if(c>z)z=c; y=a+b+c-x-z; printf("%d%d%d\n",x,y,z); return0;}c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第36頁。1.5小結(jié)與習(xí)題數(shù)據(jù)類型練習(xí)練習(xí)11:表達(dá)式1111*1111的值是多少?把5個(gè)1改成6個(gè)1呢?9個(gè)呢?練習(xí)12:把練習(xí)11中的所有數(shù)據(jù)換成浮點(diǎn)數(shù),結(jié)果如何?練習(xí)13:表達(dá)式sqrt(-10)的值是多少?嘗試用各種方式輸出。在計(jì)算的過程中系統(tǒng)會(huì)報(bào)錯(cuò)嗎?練習(xí)14:表達(dá)式1.0/0.0、0.0/0.0的值是多少?嘗試用各種方式輸出。在計(jì)算的過程中系統(tǒng)會(huì)報(bào)錯(cuò)嗎?練習(xí)15:表達(dá)式1/0的值是多少?在計(jì)算的過程中系統(tǒng)會(huì)報(bào)錯(cuò)嗎?c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第37頁。scanf輸入格式練習(xí)如果用語句scanf(“%d%d”,&a,&b)來輸入兩個(gè)數(shù),那么這兩個(gè)數(shù)應(yīng)以怎樣的格式輸入呢?練習(xí)21:在同一行中輸入12和2,并以空格分隔,是否得到了預(yù)期的結(jié)果?練習(xí)22:在不同的兩行中輸入12和2,是否得到了預(yù)期的結(jié)果?練習(xí)23:在練習(xí)21和22中,在12和2的前面和后面加入大量的空格或水平制表符(TAB),甚至插入一些空行。實(shí)驗(yàn)24:把2換成字符s,重復(fù)練習(xí)21~23c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第38頁。1.5小結(jié)與習(xí)題printf語句輸出練習(xí)練習(xí)31:僅用一條printf語句,打印1+2和3+4的值,用兩個(gè)空行隔開。練習(xí)32:試著把%d中的連個(gè)字符(百分號(hào)和小寫字母d)輸出到屏幕。練習(xí)33:試著把\n中的兩個(gè)字符(反斜線和小寫字符n)輸出到屏幕。練習(xí)34:像32、33那樣也需要“特殊方法”才能輸出的東西還有哪些?哪些是printf函數(shù)引起的問題,哪些不是?c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第39頁。問題1:int型整數(shù)的最小值和最大值是多少?(需要精確值)問題2:double型浮點(diǎn)數(shù)能精確到多少位小數(shù)?或者,這個(gè)問題本身值得商?問題3:double型浮點(diǎn)數(shù)最大正數(shù)值和最小正數(shù)值分別是多少(不必特別精確)?問題4:邏輯運(yùn)算符號(hào)&&、||和!(它表示邏輯非)的相對(duì)優(yōu)先級(jí)是怎樣的?也就是說,a&&b||c應(yīng)理解成(a&&b)||c還是a&&(b||c),或者隨便怎么理解都可以?問題5:if(a)if(b)x++;elsey++的確切含義是什么?這個(gè)else應(yīng)和哪個(gè)if配套?c語言-程序設(shè)計(jì)入門全文共44頁,當(dāng)前為第40頁。1.6上機(jī)練習(xí)習(xí)
溫馨提示
- 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è)課題申報(bào)書范例
- 區(qū)級(jí)教師課題申報(bào)書
- 合同范本修訂
- 合伙分紅合同范本
- 微課題申報(bào)書
- 教改課題申報(bào)書怎么填
- 銜接課題申報(bào)書范文
- 員工持股合同范本
- 國(guó)家申報(bào)書課題名稱結(jié)構(gòu)
- 個(gè)人購酒合同范本
- 開曼群島公司法2024版中文譯本(含2024年修訂主要內(nèi)容)
- 東北師大附屬中學(xué)2025屆高考數(shù)學(xué)四模試卷含解析
- 漏采血標(biāo)本不良事件根因分析
- 安全管理工作的成果與亮點(diǎn)
- 糧食儲(chǔ)備庫內(nèi)圓筒鋼板倉及附房工程施工組織設(shè)計(jì)
- 學(xué)??萍脊?jié)活動(dòng)方案
- 賽事運(yùn)營(yíng)創(chuàng)新模式
- 金融服務(wù)消費(fèi)糾紛調(diào)解工作規(guī)范
- 《國(guó)際貿(mào)易實(shí)務(wù)(英文版)》(英文課件) - Ch 1 Introduction to International Trade Practices-Ch 5 Price
- 新生兒科、兒科《新生兒窒息復(fù)蘇》理論考試試題
- 神經(jīng)重癥氣管切開患者氣道功能康復(fù)與管理專家共識(shí)(2024)解讀
評(píng)論
0/150
提交評(píng)論