《C語(yǔ)言程序設(shè)計(jì)教程(第4版)》第1章C語(yǔ)言概況_第1頁(yè)
《C語(yǔ)言程序設(shè)計(jì)教程(第4版)》第1章C語(yǔ)言概況_第2頁(yè)
《C語(yǔ)言程序設(shè)計(jì)教程(第4版)》第1章C語(yǔ)言概況_第3頁(yè)
《C語(yǔ)言程序設(shè)計(jì)教程(第4版)》第1章C語(yǔ)言概況_第4頁(yè)
《C語(yǔ)言程序設(shè)計(jì)教程(第4版)》第1章C語(yǔ)言概況_第5頁(yè)
已閱讀5頁(yè),還剩23頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語(yǔ)言)總體安排 學(xué)習(xí)目標(biāo) 學(xué)習(xí)方法 基本要求積極調(diào)整思維方式。理解概念多做練習(xí)。上課積極聽講,記錄重點(diǎn)、難點(diǎn)。按時(shí)、獨(dú)立完成作業(yè)。上機(jī)實(shí)習(xí)充分準(zhǔn)備,實(shí)習(xí)后認(rèn)真總結(jié)。理解計(jì)算機(jī)解題的思想和過程。2.學(xué)會(huì)使用C語(yǔ)言進(jìn)行簡(jiǎn)單程序設(shè)計(jì)3.逐步形成良好的程序設(shè)計(jì)風(fēng)格??倢W(xué)時(shí)為48其中:上課/上機(jī)=32/163/55考核: 期末:筆試+上機(jī) 平時(shí):作業(yè)+出勤課程的安排3/55補(bǔ)充一點(diǎn):程序設(shè)計(jì)語(yǔ)言是國(guó)家對(duì)計(jì)算機(jī)能力檢測(cè)的重要內(nèi)容教學(xué)內(nèi)容第1章C語(yǔ)言概況第2章C語(yǔ)言基礎(chǔ)第3章順序結(jié)構(gòu)第4章選擇結(jié)構(gòu)第5章循環(huán)結(jié)構(gòu)第6章編譯預(yù)處理第7章數(shù)組第8章指針*第9章函數(shù)第10章結(jié)構(gòu)體與共用體*第11章位運(yùn)算*第12章文件*1.1程序設(shè)計(jì)的基本概念1.2c語(yǔ)言的初步知識(shí)本章小結(jié)及作業(yè)第1章程序設(shè)計(jì)及C語(yǔ)言概況#include“stdio.h”main(){floatr,s;r=3;s=3.14159*r*r;printf(“s=%f”,s);}1.1.1程序和程序設(shè)計(jì)語(yǔ)言1.1程序設(shè)計(jì)的基本概念人們把這種計(jì)算機(jī)能夠識(shí)別并可以執(zhí)行的指令序列稱為程序。程序設(shè)計(jì)語(yǔ)言是計(jì)算機(jī)能夠理解和識(shí)別的語(yǔ)言。求圓的面積0000111111111111110001111111101111101010000000011111111111010110001110源程序目標(biāo)程序編譯解釋r=?S=3.14159*r*r1.1.2程序設(shè)計(jì)的一般過程

分析、理解問題解決方案(大致的思路),建立數(shù)學(xué)模型求解步驟和流程(算法)(文字、符號(hào)等的描述)使用程序設(shè)計(jì)語(yǔ)言編寫源程序運(yùn)行調(diào)試程序整理輸出結(jié)果,寫出相關(guān)文檔分析問題確定處理方案確定操作步驟編寫程序上機(jī)運(yùn)行程序整理結(jié)果圖1.1程序設(shè)計(jì)的一般過程back1.1程序設(shè)計(jì)的基本概念程序的三種基本控制結(jié)構(gòu):①順序結(jié)構(gòu)步驟1:輸入整數(shù)n和m;步驟2:求和sum=m+n;步驟3:輸出兩數(shù)之和sum。圖1.2順序結(jié)構(gòu)AB(a)

(b)A

B

【例1.1】求兩個(gè)整數(shù)m與n的和輸入n和m求和sum=m+n輸出sum【例1.1】算法1.1.3結(jié)構(gòu)化程序設(shè)計(jì)方法步驟1:輸入整數(shù)a和b;步驟2:判斷,如果a<b,則min=a,否則min=b;步驟3:輸出兩數(shù)中較小的數(shù)min。圖1.4選擇結(jié)構(gòu)假

真PAB(a)(b)P

A

B

【例1.2】求a、b兩個(gè)整數(shù)中較小的數(shù)。圖1.5【例1.2】算法輸入a,ba<b?YNmin=amin=b輸出min②選擇結(jié)構(gòu)③循環(huán)結(jié)構(gòu)圖1.6當(dāng)型循環(huán)結(jié)構(gòu)真假PA

(a)(b)A當(dāng)p為真圖1.7直到型循環(huán)結(jié)構(gòu)真假AP

(b)(a)直到P為假A步驟1:定義變量sum用來存放和值,并賦初值0;定義變量k,用來存放每一項(xiàng)的值,并賦初值1;步驟2:判斷k的值是否小于或等于100,如果是,則繼續(xù)執(zhí)行步驟3,否則轉(zhuǎn)到步驟5,退出循環(huán);步驟3:將sum與k的和賦給sum;步驟4:將k的值增1;返回步驟2重復(fù)執(zhí)行。步驟5:輸出和值sum?!纠?.3】計(jì)算1+2+3+4+…+100圖1.8【例1.3】算法sum=0,k=1k<=100?

sum=sum+kk=k+1輸出sum圖1.6當(dāng)型循環(huán)結(jié)構(gòu)真假PA(a)(b)A當(dāng)p為真(2).流行C語(yǔ)言編譯系統(tǒng) ①M(fèi)icrosoftC或稱MSC ②BorlandC

③TurboC ④QuickC

⑤Visualc++1.2C語(yǔ)言的初步知識(shí)(1).基于B語(yǔ)言,源于ALGOL60。

ALGOL60CPLBCPLB語(yǔ)言C語(yǔ)言(1960)(1963)(1967)(1970)(1972)ANSI標(biāo)準(zhǔn)1.C語(yǔ)言的起源與特點(diǎn)(1)語(yǔ)言簡(jiǎn)潔、緊湊,使用方便、靈活。(2)支持結(jié)構(gòu)化程序設(shè)計(jì)。(3)運(yùn)算符豐富。(4)數(shù)據(jù)類型豐富。(5)較強(qiáng)的編譯預(yù)處理功能。(6)C語(yǔ)言的可移植性好。(7)C語(yǔ)言本身既有一般高級(jí)語(yǔ)言的優(yōu)點(diǎn),又有低級(jí)(匯編)語(yǔ)言的特點(diǎn)。(8)語(yǔ)法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大。

2.C語(yǔ)言的特點(diǎn)

1.2.2初識(shí)C語(yǔ)言程序(1)C程序的構(gòu)成【例1.4】求兩個(gè)整數(shù)m與n的和。#include“stdio.h”main()/*主函數(shù)*/{intm,n,sum;/*定義變量m,n,sum*/m=5;n=3;/*給變量m,n賦值*/sum=m+n;/*求m+n的值,并賦給變量sum*/

printf(“sumis%d\n”,sum);

/*輸出sum的值*/}程序的運(yùn)行結(jié)果為:sumis8【例1.5】求兩個(gè)整數(shù)中的較小者#include“stdio.h”main()/*主函數(shù)*/{intx,y,m;/*定義變量*/

intfun(inta,intb);/*函數(shù)的聲明*/printf(“inputx,y:”);/*提示輸入數(shù)據(jù)*/scanf("%d,%d",&x,&y);/*輸入變量x和y的值*/min=fun(x,y);/*調(diào)用fun函數(shù),將函數(shù)值賦給min*/

printf("min=%d\n",min);/*輸出min的值*/}intfun(inta,intb)

/*定義fun函數(shù),值為整型,a,b為該函數(shù)的形式參數(shù)*/{intc;/*函數(shù)中用到的變量c也要定義*/if(a<b)c=a;

elsec=b;

return(c);/*將c的值返回至調(diào)用處*/}1、C語(yǔ)言字符集:1.2.3.C語(yǔ)言字符集與標(biāo)識(shí)符①字母:大、小寫英文字母共52個(gè)。②數(shù)字:0~9共10個(gè)③空白符:空格符、制表符、換行符等統(tǒng)稱為空白符共3個(gè)。④標(biāo)點(diǎn)和特殊字符:+-*/%_.=<>&|()[]{};?:’”!#等25個(gè)。標(biāo)識(shí)符是指用來標(biāo)識(shí)變量名、符號(hào)常量名、函數(shù)名、文件名以及一些具有專門含義的有效字符序列。①以字母或下劃線(_)開頭,由字母、數(shù)字、下劃線組成的字符序列。如:num,a8,no_13d,no1,xk#1(×)②大寫字母和小寫字母視為兩個(gè)不同的字符。③標(biāo)識(shí)符的長(zhǎng)度受編譯系統(tǒng)限制2標(biāo)識(shí)符:(1)標(biāo)識(shí)符的構(gòu)成規(guī)則1.2.3.C語(yǔ)言字符集與標(biāo)識(shí)符代表固定含義,不能另作它用。見教材表1.1代表特定含義(一般是庫(kù)函數(shù)名和預(yù)編譯處理命令名),一般不另作它用。(2)標(biāo)識(shí)符分類定義用戶標(biāo)識(shí)符時(shí)注意:大小寫有區(qū)分。如book,BOOK,Book

。標(biāo)識(shí)符做到“見名知意”。如average,sum,length等。

關(guān)鍵字不能作為用戶標(biāo)識(shí)符。如do,int,if

等。關(guān)鍵字標(biāo)識(shí)符:預(yù)定義標(biāo)識(shí)符:用戶標(biāo)識(shí)符:1.2.3.C語(yǔ)言字符集與標(biāo)識(shí)符(1)C程序的基本單位是==函數(shù)一個(gè)C程序包括:一個(gè)主函數(shù)main()和[若干個(gè)其它函數(shù)]

其它函數(shù)可以是庫(kù)函數(shù)或用戶函數(shù)(2)任何函數(shù)(包括主函數(shù)main())都是由函數(shù)說明和函數(shù)體兩部分組成。其一般結(jié)構(gòu)如下:[函數(shù)類型]函數(shù)名([參數(shù)表])/*函數(shù)說明部分*/{說明部分;執(zhí)行部分;/*函數(shù)體部分*/ }1.2.4.C語(yǔ)言程序的基本構(gòu)成如,[例1.5]中的函數(shù)fun(),其函數(shù)說明各部分如下所示。函數(shù)類型函數(shù)名函數(shù)參數(shù)表↓↓↓

intfun(inta,intb)◆函數(shù)說明部分

[函數(shù)類型]函數(shù)名([函數(shù)參數(shù)表])

由函數(shù)類型(可缺省)、函數(shù)名和函數(shù)參數(shù)表(可缺省)三部分組成,其中函數(shù)參數(shù)表的格式為:

數(shù)據(jù)類型形參1[,數(shù)據(jù)類型形參2,……]◆函數(shù)體在函數(shù)說明部分的下面大括號(hào)(必須配對(duì)使用)內(nèi)的部分。函數(shù)體一般由說明語(yǔ)句和可執(zhí)行語(yǔ)句兩部分構(gòu)成:說明部分:

說明語(yǔ)句部分由變量定義、自定義類型定義、自定義函數(shù)說明、外部變量說明等組成。執(zhí)行部分:

一般由若干條可執(zhí)行語(yǔ)句構(gòu)成。intfun(inta,intb)

/*定義fun函數(shù),值為整型,a,b為該函數(shù)的形式參數(shù)*/{intc;/*函數(shù)中用到的變量c也要定義*/if(a<b)c=a;

elsec=b;

return(c);/*將c的值返回至調(diào)用處*/}(3)源程序書寫格式◆所有語(yǔ)句都必須以分號(hào)“;”結(jié)束?!舫绦蛐械臅鴮懜袷阶杂桑仍试S1行內(nèi)寫幾條語(yǔ)句,也允許1條語(yǔ)句分寫在幾行上。

如: a=2;b=3; 與 a=2;

b=3; 等價(jià)◆允許使用

/*···*/對(duì)程序中任何部分作注釋?!?/p>

main()函數(shù)的位置隨意。程序總是從主函數(shù)開始執(zhí)行,而終止于主函數(shù)。#include"stdio.h"main(){intscore;printf("Pleaseinputscore:");scanf("%d",&score);if(score>=85) {printf("A");printf("\ngood!");}elseif(score>=60) {printf("B"); printf("\nworkhard"); }else {printf("C"); }}①程序:英文小寫字母(大寫字母習(xí)慣作為常量或其它用途)②程序中一般每一條語(yǔ)句占用一行。③不同層次的語(yǔ)句,從不同的起始位置開始。

(4)C程序的階梯式書寫格式【例1.6】用“*”號(hào)輸出字母C的圖案。#include"stdio.h"main(){printf("****\n");printf("*\n");printf("*\n");printf("****\n");}1.2.5簡(jiǎn)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論