第1章C語言程序設(shè)計初步_第1頁
第1章C語言程序設(shè)計初步_第2頁
第1章C語言程序設(shè)計初步_第3頁
第1章C語言程序設(shè)計初步_第4頁
第1章C語言程序設(shè)計初步_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

C語言程序設(shè)計概述第1章C語言程序設(shè)計初步全文共49頁,當前為第1頁。本章內(nèi)容1.1計算機程序設(shè)計語言的發(fā)展1.2C語言的發(fā)展及特點1.3簡單的C語言程序1.4C語言程序的開發(fā)步驟及調(diào)試方法1.5算法及其描述1.6格式化輸入、輸出函數(shù)1.7學生信息管理系統(tǒng)案例簡介第1章C語言程序設(shè)計初步全文共49頁,當前為第2頁。程序設(shè)計語言發(fā)展機器語言匯編語言面向過程語言面向?qū)ο笳Z言C,pascal,fortran,basicC++,java,objectpascal計算機語言是程序員對計算機硬件系統(tǒng)進行控制的工具,程序員通過計算機語言來指揮計算機。第1章C語言程序設(shè)計初步全文共49頁,當前為第3頁。C語言特點功能強大使用靈活應(yīng)用廣泛學習方法:一、變換角色二、多做練習三、經(jīng)常總結(jié),舉一反三第1章C語言程序設(shè)計初步全文共49頁,當前為第4頁。/*文件名:p1-1.c

該程序的功能是求兩數(shù)之和*/#include<stdio.h> //注明輸入輸出函數(shù)使用的頭文件voidmain() //定義主函數(shù){intx,y,sum; //定義變量

scanf("%d%d",&x,&y); //調(diào)用庫函數(shù)從鍵盤輸入數(shù)據(jù)

sum=x+y; //計算兩數(shù)之和

printf("sum=%d\n",sum);//在屏幕上顯示結(jié)果}函數(shù)體【例1-1】從鍵盤輸入任意兩個整數(shù),輸出兩數(shù)之和。注釋1.簡單的C語言程序第1章C語言程序設(shè)計初步全文共49頁,當前為第5頁。注釋1.注釋有兩種:

(1)“/*…*/”,可以是單行或多行

(2)“//”,只能是單行注釋2.注釋可有可無,用來對程序進行說明3.注釋不會影響程序的功能和正確性第1章C語言程序設(shè)計初步全文共49頁,當前為第6頁。包含頭文件#include<stdio.h>作用是將頭文件stdio.h的內(nèi)容讀到該命令的位置處。為了用戶編程方便,C編譯系統(tǒng)提供了許多完成各種功能的庫函數(shù)供用戶調(diào)用。需要注明該庫函數(shù)所在的頭文件。scanf()為輸入庫函數(shù),printf()為輸出庫函數(shù),程序中只要用到這兩個庫函數(shù),就需要包含stdio.h頭文件。第1章C語言程序設(shè)計初步全文共49頁,當前為第7頁。定義主函數(shù)構(gòu)成C程序的基本單位是函數(shù),一個C程序可由一個或多個函數(shù)組成,有且只有一個主函數(shù)。C程序總是從main()函數(shù)開始執(zhí)行,main()函數(shù)執(zhí)行完了,程序也就結(jié)束了。一個函數(shù)由函數(shù)首部和函數(shù)體兩部分組成。函數(shù)體中每條語句必須以分號(;)號結(jié)尾。第1章C語言程序設(shè)計初步全文共49頁,當前為第8頁。定義變量定義了三個整型變量x、y和sum。int表示整型。給變量命名時需要注意以下幾點:

(1)變量名只能由字母、數(shù)字和下劃線三種字符組成,且第一個字符必須為字母或下劃線。

(2)變量名一般采用小寫字母,并且區(qū)分大小寫。

(3)變量名不能為關(guān)鍵字。

(4)盡量做到“見名知義”。變量必須先定義后使用。第1章C語言程序設(shè)計初步全文共49頁,當前為第9頁。調(diào)用格式輸入函數(shù)調(diào)用scanf()格式輸入函數(shù)從鍵盤輸入數(shù)據(jù)給變量x和y,該函數(shù)的調(diào)用格式如下:scanf("格式控制字符串",變量地址列表);格式說明符與各輸入項在數(shù)量和類型上一一對應(yīng)。第1章C語言程序設(shè)計初步全文共49頁,當前為第10頁。進行兩數(shù)相加x、y和sum變量在計算機中存放在哪兒呢?答案是:計算機的內(nèi)存。a=a+1;語句將執(zhí)行什么操作呢?第1章C語言程序設(shè)計初步全文共49頁,當前為第11頁。調(diào)用格式輸出函數(shù)調(diào)用printf()格式輸出函數(shù)在屏幕上顯示計算結(jié)果。printf("格式控制字符串",輸出列表);格式控制字符串用來指定輸出格式,由普通字符、格式說明符和控制字符組成。輸出時普通字符原樣顯示,格式說明符變量的值所代替,控制字符\n的作用是換行。如果想讓輸出結(jié)果顯示為:15+12=27,應(yīng)如何設(shè)置printf()函數(shù)的參數(shù)?第1章C語言程序設(shè)計初步全文共49頁,當前為第12頁。C語言源程序的構(gòu)成C程序源程序文件1源程序文件2源程序文件n預處理命令函數(shù)n函數(shù)1數(shù)據(jù)聲明函數(shù)首部函數(shù)體數(shù)據(jù)聲明執(zhí)行語句第1章C語言程序設(shè)計初步全文共49頁,當前為第13頁。C語言程序的基本結(jié)構(gòu)

一段C語言程序源代碼由三個部分構(gòu)成:

1.編譯預處理指令

2.變量、函數(shù)的聲明

3.常量、變量、函數(shù)的定義

一段可以編譯成可執(zhí)行程序的C語言源代碼必須定義且只能定義一個名稱為main的函數(shù),main()函數(shù)控制程序的入口和出口。第1章C語言程序設(shè)計初步全文共49頁,當前為第14頁。#include<stdio.h>#definePI3.14doubleCalcArea(doubler);intnCount;voidmain(){doubleac;doubler;r=10.2;ac=CalcArea(r);printf("TheAceageis:%f\n",ac);return;}doubleCalcArea(doubler){doublefa;fa=PI*r*r;returnfa;}

編譯預處理指令函數(shù)聲明變量定義

函數(shù)定義第1章C語言程序設(shè)計初步全文共49頁,當前為第15頁。1.編譯預處理指令

編譯預處理指令由#開始。常用的預處理指令有兩個:

#inlcude指令:在編譯時,include后面的文件被包含到我們的源代碼中來。

#define指令:替換指令,在編譯時,用define的后一部分去代替源代碼中出現(xiàn)的前一部分。#defineMAXLEN64#defineMAXWID15#defineMAXCON255intnCount;#include“T1.h"#defineBASE666voidmain(){ intm; m=80; m=m+BASE; return;}T1.hT1.c第1章C語言程序設(shè)計初步全文共49頁,當前為第16頁。#defineMAXLEN64#defineMAXWID15#defineMAXCON255intnCount;#defineBASE

666voidmain(){ intm; m=80;

m=m+666; return;}編譯時T1.c的實際樣子:T1.c第1章C語言程序設(shè)計初步全文共49頁,當前為第17頁。2.變量、函數(shù)的聲明

在C語言程序中,任何一個變量或者函數(shù)在使用之前,都必須先聲明或者定義。變量、函數(shù)需要進行聲明的場合:1.變量或者函數(shù)不在當前的源代碼文件中,它們在其它文件中定義,但在當前文件中需要使用。2.函數(shù)在需要使用時,還沒有定義,這時可以通過對函數(shù)先作聲明,然后再定義。第1章C語言程序設(shè)計初步全文共49頁,當前為第18頁。聲明的例子:

externintnCount;externintAdd2int(inta,intb);intAdd2int(inta,intb);變量、函數(shù)需要進行定義的場合:源程序中使用的任何變量、常量、函數(shù)都必須被定義一次。定義的例子:intnCount;//定義整型變量floatf1,f2;//定義浮點型變量charc;//定義字符型變量constintpp=12;//定義整型常量第1章C語言程序設(shè)計初步全文共49頁,當前為第19頁。歸納總結(jié)計算機通過程序來處理任務(wù)的過程:輸入處理輸出編寫C程序的一般過程是:(1)定義變量;(2)設(shè)置變量的值,可以通過鍵盤輸入或直接賦值;(3)加工處理,得到結(jié)果;(4)輸出結(jié)果。第1章C語言程序設(shè)計初步全文共49頁,當前為第20頁。C語言程序的上機過程C語言程序的開發(fā)步驟一般分為四步:編輯、編譯、連接和執(zhí)行。第1章C語言程序設(shè)計初步全文共49頁,當前為第21頁。C語言程序的上機過程單擊“文件”菜單的“新建(New)”命令,出現(xiàn)以下界面:1編輯源程序第1章C語言程序設(shè)計初步全文共49頁,當前為第22頁。輸入源程序第1章C語言程序設(shè)計初步全文共49頁,當前為第23頁。2編譯(compile)第1章C語言程序設(shè)計初步全文共49頁,當前為第24頁。

假設(shè)將sum=x+y語句后的分號(;)輸?shù)袅?,則會出現(xiàn)如圖所示的錯誤提示信息。

雙擊錯誤提示行,系統(tǒng)會自動定位錯誤的大概位置,再結(jié)合系統(tǒng)給出的提示信息進行修改。第1章C語言程序設(shè)計初步全文共49頁,當前為第25頁。3連接

4執(zhí)行第1章C語言程序設(shè)計初步全文共49頁,當前為第26頁。1.3.3C語言程序的調(diào)試方法程序錯誤總體上有兩類:語法錯誤和邏輯錯誤。對于語法錯誤,編譯時會產(chǎn)生錯誤提示信息,可以根據(jù)錯誤提示信息加以修改。如果程序編譯、連接都沒有錯誤,但運行結(jié)果與預期結(jié)果不一致,則需要通過調(diào)試來找出程序中存在的邏輯錯誤,并加以排除。第1章C語言程序設(shè)計初步全文共49頁,當前為第27頁。調(diào)試可以借助“調(diào)試工具條(Debug)”來進行,“調(diào)試工具條”中的主要命令如圖1-15所示。C語言的調(diào)試手段主要有:單步執(zhí)行、運行到光標處和設(shè)置斷點,這三種調(diào)試手段在實踐中常常結(jié)合使用。第1章C語言程序設(shè)計初步全文共49頁,當前為第28頁。1.單步執(zhí)行(StepOver)

單擊“單步執(zhí)行(StepOver)”按鈕一次,程序執(zhí)行一步

第1章C語言程序設(shè)計初步全文共49頁,當前為第29頁。

查看程序中變量的值:把光標移動到某個變量上,停留一會就可以看到該變量的值。在窗口的左下方,會自動顯示變量的值。在窗口右下方的觀察窗口中輸入變量名,會顯示該變量的值。第1章C語言程序設(shè)計初步全文共49頁,當前為第30頁。2.運行到光標處(RuntoCursor)先在源程序中定位好光標的位置,再單擊工具欄上的“運行到光標處(RuntoCursor)”第1章C語言程序設(shè)計初步全文共49頁,當前為第31頁。3.設(shè)置斷點(InsertBreakpoint)

程序運行到斷點處會自動暫停

第1章C語言程序設(shè)計初步全文共49頁,當前為第32頁。5.關(guān)閉工作區(qū)當一個程序執(zhí)行完畢,想要建立下一個程序時,必須先關(guān)閉當前文件所在的工作區(qū),再建立新文件。第1章C語言程序設(shè)計初步全文共49頁,當前為第33頁。【例1-2】從鍵盤輸入圓的半徑,求圓的面積。/*文件名:p1-2.c*/#include<stdio.h>//注明輸入輸出函數(shù)使用的頭文件voidmain() //定義主函數(shù){ floatr,area; //定義單精度型變量

scanf("%f",&r); //調(diào)用庫函數(shù)從鍵盤輸入半徑

area=3.14*r*r; //計算圓的面積

printf("area=%f\n",area); //在屏幕上顯示結(jié)果}

帶小數(shù)點的變量可定義為float(單精度型),%f為其格式說明符。第1章C語言程序設(shè)計初步全文共49頁,當前為第34頁。歸納總結(jié)

為了使程序美觀、整齊,可讀性好,編寫C程序時應(yīng)盡量遵循以下規(guī)則:“{”和“}”對齊,且一般單獨占一行。使用<TAB>鍵縮進,書寫格式呈鋸齒形。一條語句占一行。有足夠的注釋。第1章C語言程序設(shè)計初步全文共49頁,當前為第35頁?!纠?-3】從鍵盤輸入任意一個數(shù),輸出該數(shù)的平方根,輸出寬度占7位,并保留兩位小數(shù)。帶小數(shù)點的變量也可定義為double(雙精度型),其格式說明符為%lf。#include<stdio.h> //注明輸入輸出函數(shù)使用的頭文件#include<math.h> //注明sqrt()函數(shù)使用的頭文件voidmain() //定義主函數(shù){ doublea,b; //定義變量

scanf("%lf",&a); //調(diào)用庫函數(shù)從鍵盤輸入數(shù)據(jù)

b=sqrt(a); //計算平方根

printf("平方根為:%7.2lf\n",b); //在屏幕上顯示結(jié)果}

第1章C語言程序設(shè)計初步全文共49頁,當前為第36頁。7.2為附加格式說明符,表示輸出寬度占7位,并保留兩位小數(shù)。

float單精度型變量和double雙精度型變量都可以存儲實數(shù),兩者有何區(qū)別?雙精度型變量精度更高、能存儲的數(shù)值范圍更大。雙精度型變量占8個字節(jié)存儲空間,有效數(shù)字達到15位;而單精度型變量占4個字節(jié)存儲空間,有效數(shù)字只有6位。一般情況下,采用單精度型變量就可以了。

第1章C語言程序設(shè)計初步全文共49頁,當前為第37頁。【例1-4】從鍵盤輸入三角形的三條邊長a、b、c,求三角形的面積s,輸出寬度占7位,并保留兩位小數(shù)。計算三角形面積的公式為,

其中,p=(a+b+c)/2。

#include<stdio.h>//注明輸入輸出函數(shù)使用的頭文件#include<math.h> //注明sqrt()函數(shù)使用的頭文件voidmain() //定義主函數(shù){ doublea,b,c,p,s; //定義變量

printf("請輸入三條邊長:"); //顯示輸入提示信息

scanf("%lf%lf%lf",&a,&b,&c); //調(diào)用庫函數(shù)

p=(a+b+c)/2; s=sqrt(p*(p-a)*(p-b)*(p-c)); //計算面積

printf("結(jié)果為:%7.2lf\n",s); //在屏幕上顯示結(jié)果}第1章C語言程序設(shè)計初步全文共49頁,當前為第38頁。7學生信息管理系統(tǒng)案例簡介對于一個大型的軟件系統(tǒng),采用模塊化程序設(shè)計是一種比較有效的方法。所謂模塊化程序設(shè)計就是將一個大的程序按功能分割成一個個小的模塊,每個模塊功能單一、程序規(guī)模不大,這樣有利于編程和調(diào)試。第1章C語言程序設(shè)計初步全文共49頁,當前為第39頁。學生信息管理系統(tǒng)菜單第1章C語言程序設(shè)計初步全文共49頁,當前為第40頁。第1章C語言程序設(shè)計初步全文共49頁,當前為第41頁?!纠?-9】

菜單對應(yīng)的程序源碼。#include"stdio.h"voidmain(){ intchoice; printf("歡迎使用學生信息管理系統(tǒng)\n"); printf("————————————————————————\n"); printf("1.添加學生信息2.顯示學生信息\n"); printf("3.修改學生信息4.刪除學生信息\n"); printf("5.查找學生信息6.統(tǒng)計不及格人數(shù)、最高分和平均分\n"); printf("7.按總分排序8.保存至文件(文本方式)\n"); printf("9.從文件讀入(文本方式)10.保存至文件(二進制方式)\n"); printf("11.從文件讀入(二進制方式)12.退出程序\n"); printf("————————————————————————\n"); printf("請選擇功能模塊,輸入數(shù)字1-12:"); scanf("%d",&choice); printf("您選擇了第%d號子菜單\n",choice);}第1章C語言程序設(shè)計初步全文共49頁,當前為第42頁。2.求一元二次方程3x2-20x-100=0的根,計算結(jié)果保留兩位小數(shù)。#include<stdio.h> //注明輸入輸出函數(shù)使用的頭文件#include<math.h> //注明sqrt()函數(shù)使用的頭文件voidmain() //定義主函數(shù){ doublea=3,b=-20,c=-100,delta,x1,x2; //定義變量

delta=sqrt(b*b-4*a*c); //計算delta x1=(-b+delta)/(2*a); //計算方程的根

x2=(-b-delta)/(2*a); printf("x1=%7.2lf,x2=%7.2lf\n",x1,x1); //顯示結(jié)果}第1章C語言程序設(shè)計初步全文共49頁,當前為第43頁。3.從鍵盤輸入直角三角形的兩條直角邊的長度,求斜邊的長度和三角形的面積,計算結(jié)果保留兩位小數(shù)。#include<stdio.h> //注明輸入輸出函數(shù)使用的頭文件#include<math.h> //注明sqrt()函數(shù)使用的頭文件voidmain() //定義主函數(shù){ doublex,y,z,area; //定義變量

printf("請輸入兩條直角邊的長度:");//顯示輸入提示信息

scanf("%lf%lf",&x,&y); //從鍵盤輸入數(shù)據(jù)

z=sqrt(x*x+y*y); //計算斜邊

area=x*y/2 ; //計算面積

printf("斜邊=%7.2lf,面積=%7.2lf\n",z,area);//顯示結(jié)果}第1章C語言程序設(shè)計初步全文共49頁,當前為第44頁。4.從鍵盤輸入兩個整數(shù)到變量a和b中,交換a和b兩變量的值。#include<stdio.h> //注明輸入輸出函數(shù)使用的頭文件voidmain() //定義主函數(shù){ inta,b,temp; //定義變量

printf("請輸入兩個整數(shù):"); //顯示輸入提示信息

scanf("%d%d",&a,&b); //調(diào)用庫函數(shù)從鍵盤輸入數(shù)據(jù)

temp=a; //以下三條語句交換a和b的值

a=b; b=temp; printf("a=%d,b=%d\n",a,b); //在屏幕上顯示結(jié)果}第1章C語言程序設(shè)計初步全文共49頁,當前為第45頁。5.編寫一個C程序,顯示如下所示的功能菜單:**************************** 歡迎使用工資管理系統(tǒng)

[1]輸入工資

[2]修改工資

[3]刪除工資

[4]退出****************************第1章C語言

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論