第2講 C語言要素概述_第1頁
第2講 C語言要素概述_第2頁
第2講 C語言要素概述_第3頁
第2講 C語言要素概述_第4頁
第2講 C語言要素概述_第5頁
已閱讀5頁,還剩33頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、1第2講 C語言要素概述程序語言的功能程序語言的語法學(xué)習(xí)路線圖2準(zhǔn)備知識準(zhǔn)備知識1.程序語言的功能2.程序語言的語法1.程序設(shè)計(jì)語言的功能數(shù)據(jù)表達(dá)-數(shù)據(jù)類型n數(shù)據(jù)類型:對某些具有共同特點(diǎn)的數(shù)據(jù)集合的總稱代表的數(shù)據(jù)(數(shù)據(jù)類型的定義域)編碼表示(如何存儲在內(nèi)存空間中)在這些數(shù)據(jù)上做些什么(即操作或稱運(yùn)算)n示例:整數(shù)類型包含的數(shù)據(jù):,-2,-1,0,1,2, 二進(jìn)制存儲,2或4個字節(jié)存儲作用在整數(shù)上的運(yùn)算:+ 、 - 、 * 、 /等數(shù)據(jù)表達(dá)-C語言提供的數(shù)據(jù)類型基本數(shù)據(jù)類型:程序設(shè)計(jì)語言事先定義好,供程序員直接使用。n整型、實(shí)型(浮點(diǎn)型)、字符型等。構(gòu)造類型:由程序員構(gòu)造。n數(shù)組、結(jié)構(gòu)、文件、指

2、針等。n各種數(shù)據(jù)類型的常量與變量形式常量(常數(shù))變量 流程控制 n結(jié)構(gòu)化程序設(shè)計(jì)方法將復(fù)雜程序劃分為若干個相互獨(dú)立的模塊模塊:一條語句(Statement)、一段程序或一個函數(shù)(子程序)等單入口、單出口流程控制三種基本結(jié)構(gòu)n順序結(jié)構(gòu)語句之間為順序執(zhí)行關(guān)系的結(jié)構(gòu) n選擇結(jié)構(gòu)根據(jù)條件作判斷,再決定執(zhí)行哪一種操作的結(jié)構(gòu) n循環(huán)結(jié)構(gòu)從某處開始按照一定條件反復(fù)執(zhí)行某一處理過程,可細(xì)分為兩類:當(dāng)型和直到型循環(huán)結(jié)構(gòu) 9順序結(jié)構(gòu)順序結(jié)構(gòu)選擇結(jié)構(gòu)選擇結(jié)構(gòu)三種基本結(jié)構(gòu)的圖示循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)2. 程序設(shè)計(jì)語言的語法n用程序設(shè)計(jì)語言所寫的程序必須符合相應(yīng)語言的語法 源程序(源代碼)是一個字符序列,這些字符序列按順序組

3、成了一系列“單詞”,“單詞”的組合就形成了語言有意義的語法單位,一些簡單語法單位的組合又形成了更復(fù)雜的語法單位,最后一系列語法單位組合成程序。程序設(shè)計(jì)語言的語法n C語言的主要“單詞”(1)標(biāo)識符: C語言的標(biāo)識符規(guī)定由字母、數(shù)字以及下劃線組成,且第一個字符必須是字母或下劃線。(2)保留字(關(guān)鍵字): 它們是C語言規(guī)定的、賦予它們以特定含義、有專門用途的標(biāo)識符。(3)自定義標(biāo)識符: 包括在程序中定義的變量名、數(shù)據(jù)類型名、函數(shù)名以及符號常量名。有意義的英文單詞(4)常量: 常量是有數(shù)據(jù)類型的,如,123、12.34(5)運(yùn)算符。代表對各種數(shù)據(jù)類型實(shí)際數(shù)據(jù)對象的運(yùn)算。如,+(加)、-(減)、*(乘

4、)、/(除)、%(求余)、(大于)程序設(shè)計(jì)語言的語法n C語言的主要語法單位(1)表達(dá)式: 運(yùn)算符與運(yùn)算對象組合就形成了表達(dá)試。如,2 + 3 * 4(2)變量: 變量也有數(shù)據(jù)類型,所以在定義變量時要說明相應(yīng)變量的類型。如: int i;(3)語句: 語句是程序最基本的執(zhí)行單位,程序的功能就是通過對一系列語句的執(zhí)行來實(shí)現(xiàn)(4)函數(shù)定義與調(diào)用 (5)輸入輸出:C語言沒有輸入輸出語句,用庫函數(shù)printf、scanf等實(shí)現(xiàn)。程序設(shè)計(jì)語言的語法其中,(3)語句:表達(dá)式語句:表達(dá)式加分號“;” 分支語句:實(shí)現(xiàn)分支控制過程 if (a b) x = a;else x = b;循環(huán)語句:實(shí)現(xiàn)循環(huán)控制的過程

5、 sum = 0; /* 初始化sum和i */i = 1; while (i = 100) /* while循環(huán)語句 */ sum = sum + i; i = i + 1;復(fù)合語句:用一對“ ”,將若干語句順序組合在一起就形成了一個程序段。程序設(shè)計(jì)語言的語法其中,(4)函數(shù)定義與調(diào)用 函數(shù)是完成特定任務(wù)的獨(dú)立模塊,函數(shù)的使用最主要涉及到函數(shù)的定義與調(diào)用。引導(dǎo)實(shí)驗(yàn):認(rèn)識引導(dǎo)實(shí)驗(yàn):認(rèn)識C語言要素語言要素1. 畫一個矩形畫一個矩形2. 畫一個畫一個n行的矩形行的矩形3. 畫一個畫一個n行行m列的矩形列的矩形4. 畫一個任意字符構(gòu)成的矩形畫一個任意字符構(gòu)成的矩形5. 構(gòu)造一個畫矩形的工具構(gòu)造一個畫

6、矩形的工具15畫一個矩形畫一個矩形【源程序sample02_01.cpp】#includeint main(void)printf(*n);printf(*n);printf(*n);printf(*n);printf(*n);return 0;16循環(huán)循環(huán)i從從1到到5,每次增,每次增1: 輸出一行星號輸出一行星號引入循環(huán)結(jié)構(gòu)【源程序sample02_02.cpp】#includeint main(void) int i; for(i=1;i=5;i+)printf(*n); return 0; 17變量定義循環(huán)語句賦值表達(dá)式關(guān)系表達(dá)式算術(shù)表達(dá)式循環(huán)體語句2. 畫一個畫一個n行的矩形行的矩形

7、【源程序sample02_03.cpp】#includeint main(void) int n; printf(input n:n); scanf(%d,&n); printf(print rectangle with %d lines:n,n); for(int i=1;i=n;i+)printf(*n); return 0;183. 畫一個畫一個n行行m列的矩形列的矩形19循環(huán)循環(huán)i從從1到到n ,step 1: 1. 輸出一行星號輸出一行星號 1.1循環(huán)循環(huán)j從從1到到m,step 1: 1.1.1輸出一個星號輸出一個星號 1.2 輸入回車輸入回車 3. 畫一個畫一個n行行m列

8、的矩形列的矩形(實(shí)現(xiàn))(實(shí)現(xiàn))【源程序sample02_04.cpp】#includeint main(void) int m,n; int i,j; printf(input n:n); scanf(%d,&n); printf(input m:n); scanf(%d,&m); printf(print rectangle with %d lines:n,n); for(i=1;i=n;i+) for(j=1;j=m;j+) printf(*); printf(n); return 0;20復(fù)合語句3.(續(xù))增加數(shù)據(jù)的合理性判斷n不合理數(shù)據(jù)輸入的輸出示例n數(shù)據(jù)合法性檢查示例

9、213.(續(xù))增加數(shù)據(jù)的合理性判斷n輸入m、n值后,判斷m、n是否小于0,小于0則輸出出錯提示后結(jié)束,否則表示輸入合法,則輸出矩形。nif語句的基本格式為: if(條件表達(dá)式條件表達(dá)式) 語句語句1 else 語句語句2223.(續(xù))增加數(shù)據(jù)的合理性判斷實(shí)現(xiàn)【源程序sample02_05.cpp】。if(m0 |n0) printf(輸入的數(shù)據(jù)不能為負(fù)值輸入的數(shù)據(jù)不能為負(fù)值!n); else printf(print rectangle with %d lines:n,n); for(i=1;i=n;i+) for(j=1;j=m;j+) printf(*); printf(n); 。 234

10、. 畫一個任意字符構(gòu)成的矩形畫一個任意字符構(gòu)成的矩形n存放字符的變量的數(shù)據(jù)類型為char。n字符的輸入語句可以使用getchar函數(shù)。n字符的輸出語句可使用putchar函數(shù)。字符的輸入語句可以使用getchar函數(shù),字符的輸出語句可使用putchar函數(shù)。畫一個任意字符構(gòu)成的矩形畫一個任意字符構(gòu)成的矩形實(shí)現(xiàn)實(shí)現(xiàn)【源程序sample02_06.cpp】#includeint main(void) int m,n; int i,j; char ch; printf(input char:); ch=getchar(); printf(input n:); scanf(%d,&n); pr

11、intf(input m:); scanf(%d,&m); printf(print rectangle with %d lines:n,n); for(i=1;i=n;i+) for(j=1;j=m;j+) putchar(ch); putchar(n); return 0;字符變量字符常量輸入字符輸出字符n比較: putchar(n);和printf(n);5. 構(gòu)造一個畫矩形的工具構(gòu)造一個畫矩形的工具n繪制一個空心的矩形畫一根實(shí)心線畫n-2根空心線畫一根實(shí)心線26算法細(xì)化-自頂向下逐步細(xì)化1.輸出一行實(shí)心行 1.1循環(huán)i從1到m,step 1: 輸出一個星號 1.2 換行2. 輸

12、出n-2行空心行 2.1 循環(huán)i從2到n-1,step 1: 2.1.1 輸出一個星號 2.1.2 輸出m-2個空格 循環(huán)j從2到m-1: 輸出一個空格 2.1.3 輸出一個星號 2.1.4 換行27實(shí)現(xiàn) 【源程序sample02_07.cpp】輸出一行實(shí)心行for(j=1;j=m;j+) printf(*); printf(n);輸出n-2行空心行 for(i=2;in;i+) printf(*); for(j=2;jm;j+) printf( ); printf(*); printf(n); 28工具函數(shù)的定義/輸出一行n列實(shí)心行void draw_line(int n)int i; fo

13、r(i=1;i=n;i+) printf(*); printf(n);/輸出一行n列空心行void draw_pointline(int n)int i; printf(*); for(i=2;in;i+) printf( ); printf(*); printf(n);29函數(shù)定義的基本格式: (函數(shù)參數(shù)定義表)函數(shù)體main函數(shù)的實(shí)現(xiàn)【源程序sample02_08.cpp】1.輸入n,m。2.輸出一行m列實(shí)心行。3.輸出n-2行空心行。 循環(huán)i從2到n-1: 輸出一行m列空心行。4.輸出一行m列實(shí)心行。#includevoid draw_line(int n);void draw_poin

14、tline(int n);int main(void) int m,n; int i; draw_line(m); for(i=2;in;i+) draw_pointline(m); draw_line(m);return 0; 30函數(shù)調(diào)用函數(shù)聲明函數(shù)聲明的基本格式 (函數(shù)參數(shù)變量列表);無返回值的函數(shù)調(diào)用的基本格式為:(參數(shù)值列表);獨(dú)立實(shí)驗(yàn)獨(dú)立實(shí)驗(yàn)實(shí)驗(yàn)二 C語言要素31任務(wù)一 改錯#includeint main() int n; printf(input n:); scanf(%d,n); for(i=1,in,i+) for(j=1,j=i,j+) printf(*); printf

15、(n);return 0;32任務(wù)二 改錯#includeint main() int n,i,j; printf(input n:n); scanf(%d,&n); for(i=1;in;i+) for(j=1;jn-i;j+) printf( ); draw_line(int 2*i+1); return 0;void draw_line(int n)略33任務(wù)三編寫程序1.輸入n2.循環(huán)i從1到n,step 1: 2.1循環(huán)j從1到i-1,step 1: 輸出一個空格 2.2循環(huán)j從i到n,step 1: 輸出一個星號 2.3輸出換行34任務(wù)四 改寫程序n改寫sample02_08.cpp,要求如下(ex02_02.cpp)n(1)編寫一個函數(shù)drawRectangle,作用是調(diào)用函數(shù)draw_line和draw_pointline 畫一個n行m列的矩形。n(2)改寫main函數(shù),調(diào)用drawRectangle完成矩形的繪制。35任務(wù)五 改寫程序(選做)改寫sample02_08.cpp,繪制一個任意字符構(gòu)成的空

溫馨提示

  • 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論