資源描述:
《C程序設(shè)計(jì)順序程序設(shè)計(jì)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫。
1、第3章C程序設(shè)計(jì)—順序程序設(shè)計(jì)3.1程序的控制結(jié)構(gòu)3.1.1算法的基本概念程序=算法+數(shù)據(jù)結(jié)構(gòu)+程序設(shè)計(jì)方法+語言工具和環(huán)境3.1.2算法的特性有窮性:一個(gè)算法應(yīng)包含有限的操作步驟而不能是無限的。確定性:算法中每一個(gè)步驟應(yīng)當(dāng)是確定的,而不能是含糊的、模棱兩可的。有零個(gè)或多個(gè)輸入。有一個(gè)或多個(gè)輸出。有效性:算法中每一個(gè)步驟應(yīng)當(dāng)能有效地執(zhí)行,并得到確定的結(jié)果。3.1.3算法的表示1.用自然語言表示算法2.用流程圖表示算法圖3-1流程圖符號【例3.1】求5!的算法流程圖表示。圖3-2沒有打印功能圖3-3帶有打印功能【例3.2】判定閏年的算法用流程圖表示。三種基本結(jié)構(gòu)和改進(jìn)的流
2、程圖順序結(jié)構(gòu):選擇結(jié)構(gòu):循環(huán)結(jié)構(gòu)三種基本結(jié)構(gòu)的共同特點(diǎn):只有一個(gè)入口;只有一個(gè)出口;結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到;結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。3.1.4用N-S流程圖表示算法1.順序結(jié)構(gòu):2.選擇結(jié)構(gòu):3.循環(huán)結(jié)構(gòu):3.1.5用計(jì)算機(jī)語言表示算法【例3.3】用C語言求5!。#includevoidmain(){inti,t;t=1;i=2;while(i<=5)//循環(huán)結(jié)構(gòu),判斷下循環(huán)條件是否為真{t=t*i;i=i+1;}printf("%d",t);}3.1.6結(jié)構(gòu)化程序設(shè)計(jì)方法結(jié)構(gòu)化程序設(shè)計(jì)所遵循的原則:自頂向下;逐步細(xì)化;模塊化設(shè)計(jì);結(jié)構(gòu)化編碼
3、。3.2C語句概述圖3-5C程序的結(jié)構(gòu)圖C語句可分為以下五類:表達(dá)式語句函數(shù)調(diào)用語句控制語句復(fù)合語句空語句3.3數(shù)據(jù)輸入輸出的概念及在C語言中的實(shí)現(xiàn)在使用C語言庫函數(shù)時(shí),要用預(yù)編譯命令#include將有關(guān)“頭文件”包括到源文件中。使用標(biāo)準(zhǔn)輸入輸出庫函數(shù)時(shí)要用到“stdio.h”文件,stdio是standardinputandoutupt的意思。因此源文件開頭應(yīng)有以下預(yù)編譯命令:#include或#include“stdio.h”3.4字符數(shù)據(jù)的輸入與輸出3.4.1putchar函數(shù)(字符輸出函數(shù))putchar函數(shù)是字符輸出函數(shù),其功能是在顯示器上
4、輸出單個(gè)字符。其一般形式為:putchar(字符型量)例如:putchar('A');(輸出大寫字母A)putchar(x);(輸出字符變量x的值)putchar('101');(也是輸出字符A)putchar('');(換行)【例3.4】輸出單個(gè)字符。#includevoidmain(){chara='G',b='o',c='o',d='d';putchar(a);putchar(b);putchar(c);putchar(d);putchar('t');}3.4.2getchar函數(shù)(鍵盤輸入函數(shù))getchar函數(shù)的功能是從鍵盤上輸入一個(gè)
5、字符。其一般形式為:getchar();【例3.5】輸入單個(gè)字符。#includevoidmain(){charc;printf("inputacharacter");c=getchar();putchar(c);}putchar(getchar());或printf(“%c”,getchar());3.5printf函數(shù)(格式輸出函數(shù))3.5.1printf函數(shù)調(diào)用的一般形式printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。printf(“格式控制字符串”,輸出表列)格式控制字符串%[標(biāo)志][輸出最小寬度][.精度][長
6、度]類型printf函數(shù)調(diào)用的一般形式為:輸出最小寬度:用十進(jìn)制整數(shù)來表示輸出的最少位數(shù)。若實(shí)際位數(shù)多于定義的寬度,則按實(shí)際位數(shù)輸出,保證不因?yàn)檩敵龆箶?shù)據(jù)發(fā)生截?cái)嗾`差。若實(shí)際位數(shù)少于定義的寬度則按表3-2補(bǔ)以空格或0。精度:精度格式符以“.”開頭,后跟十進(jìn)制整數(shù)。本項(xiàng)的意義是:如果輸出數(shù)值,則表示小數(shù)的位數(shù);如果輸出的是字符,則表示輸出字符的個(gè)數(shù);若實(shí)際位數(shù)大于所定義的精度數(shù),則四舍五入截去超過的部分。長度:長度格式符為h,l兩種,h表示按短整型(short)量輸出,l表示按長整型(long)量輸出?!纠?.6】輸出整數(shù)#includevoidmai
7、n(){inta=88,b=89;printf("%4d%4o",a,b);printf("%+4ld,%-4d",a,b);printf("%+04d,%-04d",a,b);printf("a=%d,b=%d",a,b);}【例3.7】按格式控制字符串要求輸出浮點(diǎn)型小數(shù)和字符型數(shù)據(jù)#includevoidmain(){inta=15;floatb=123.1234567f;doublec=12345678.1234567;chard='p';printf("a=%d,%5d,%o,%X",a,a,