版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3單元順序結(jié)構(gòu)摘要3.1算法與結(jié)構(gòu)化程序設(shè)計(jì)3.1.1什么是算法3.1.2算法與流程圖3.1.3結(jié)構(gòu)化程序設(shè)計(jì)及原則3.2C語言語句3.3字符輸入與輸出3.3.1字符輸入函數(shù)3.3.2字符輸出函數(shù)3.4格式化輸入與輸出3.4.1格式化輸入函數(shù)3.4.2格式化輸出函數(shù)實(shí)例分析與實(shí)現(xiàn)3.1算法與結(jié)構(gòu)化程序設(shè)計(jì)3.1.1什么是算法4算法-Algorithm把大象裝進(jìn)冰箱需要幾個(gè)步驟?第一步:把冰箱門打開;第二步:把大象放進(jìn)冰箱;第三步:把冰箱門關(guān)上。5做任何事情都有一定的步驟。為解決一個(gè)問題而采取的方法和步驟,就稱為算法。
算法-Algorithm數(shù)值運(yùn)算算法非數(shù)值運(yùn)算算法計(jì)算機(jī)算法可分為兩大類:算法-Algorithm例:求1×2×3×4×5。S1:先求1×2,得到結(jié)果2。S2:將步驟1得到的乘積2再乘以3,得到結(jié)果6。S3:將6再乘以4,得到結(jié)果24。S4:將24再乘以5,得到結(jié)果120。S1:使t=1S2:使i=2S3:使t×i,乘積仍然放在在變量t中S4:使i的值+1,即i+1→iS5:如果i≤5,返回重新執(zhí)行步驟S3以及其后的S4和S5;否則,算法結(jié)束。S1:1→tS2:3→iS3:t×i→tS4:i+2→tS5:若i≤11,返回S3,否則,結(jié)束。求1×3×5×7×9×11?算法-AlgorithmC語言算法的特性有窮性有效性有一個(gè)或多個(gè)輸出有零個(gè)或多個(gè)輸入確定性3.1算法與結(jié)構(gòu)化程序設(shè)計(jì)3.1.2算法與流程圖算法與流程圖起止框輸入輸出框判斷框處理框流程線連接點(diǎn)用流程圖表示算法:算法與流程圖【例3.2】將例3.1求5!的算法用流程圖表示。算法與流程圖三種基本結(jié)構(gòu)和改進(jìn)的流程圖
順序結(jié)構(gòu)
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)只有一個(gè)入口;只有一個(gè)出口;結(jié)構(gòu)內(nèi)的每一部分都有機(jī)會(huì)被執(zhí)行到;結(jié)構(gòu)內(nèi)不存在“死循環(huán)”。算法與流程圖用N-S流程圖表示算法
順序結(jié)構(gòu)
選擇結(jié)構(gòu)
循環(huán)結(jié)構(gòu)3.1算法與結(jié)構(gòu)化程序設(shè)計(jì)3.1.3結(jié)構(gòu)化程序設(shè)計(jì)及原則結(jié)構(gòu)化程序設(shè)計(jì)及原則最早由迪杰斯特拉在1965年提出一個(gè)程序的任何邏輯問題都可由順序、選擇、循環(huán)三
種基本控制結(jié)構(gòu)構(gòu)造結(jié)構(gòu)化程序中的任意基本結(jié)構(gòu)都具有唯一入口和唯一出口,
且程序不會(huì)出現(xiàn)死循環(huán)在程序的靜態(tài)形式與動(dòng)態(tài)執(zhí)行流程之間具有良好的對(duì)應(yīng)關(guān)系結(jié)構(gòu)化程序設(shè)計(jì)及原則三種基本的程序結(jié)構(gòu):
順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)及原則結(jié)構(gòu)化程序設(shè)計(jì)的原則:自頂向下逐步細(xì)化模塊化設(shè)計(jì)限制使用goto語句3.2C語言語句C語言語句C程序的基本組成
源文件1
源文件2函數(shù)1說明部分......函數(shù)2可執(zhí)行部分
—
語句
源文件i............預(yù)編譯命令
源文件nC程序C語言語句語句是C程序的基本組成成分。語句能完成特定操作,語句的有機(jī)組合能實(shí)現(xiàn)指定的計(jì)算處理功能。語句最后必須有一個(gè)分號(hào),分號(hào)是C語句的組成部分。C語句的分類表達(dá)式語句運(yùn)算符、常量、變量等可以組成表達(dá)式。表達(dá)式語句由一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成。其一般形式為:表達(dá)式;執(zhí)行表達(dá)式語句就是計(jì)算表達(dá)式的值例如:a=5是一個(gè)賦值表達(dá)式,而a=5;是一個(gè)賦值語句。C語句的分類流程控制語句
C語言中控制程序流程的語句有三類,共9種語句。選擇語句:選擇語句有if語句和switch語句兩種循環(huán)語句:循環(huán)語句有for、while和do_while三種轉(zhuǎn)移語句:轉(zhuǎn)移語句有break,continue,return和goto四種
例如:if(a>b)max=a;elsemax=b;例如:for(i=1;i<10;i++)printf("%d",i);例如:for(i=1;i<10;i++){printf("%d",i);if(i==5)break;}C語句的分類函數(shù)調(diào)用語句
由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成,例如:printf("ThisisaCstatement.");
C語句的分類復(fù)合語句用一對(duì)大括號(hào)括起一條或多條語句,稱為復(fù)合語句。注意:復(fù)合語句只視為一條語句,復(fù)合語句的“}”后面不能出現(xiàn)分號(hào),而“}”前復(fù)合語句中最后一條語句的分號(hào)不能省略。例如:{t=a;a=b;b=t;};{t=a;a=b;b=t}均是錯(cuò)誤的,
{t=a;a=b;b=t;}
則為正確的復(fù)合語句。C語句的分類空語句
空語句由一個(gè)分號(hào)組成,它表示什么操作也不做。例如:;C語言的輸入輸出第1步:數(shù)據(jù)輸入第2步:數(shù)據(jù)處理第3步:數(shù)據(jù)輸出C語言的輸入輸出為了實(shí)現(xiàn)輸入和輸出功能,在C語言的庫(kù)函數(shù)中提供了一組輸入輸出函數(shù)。使用標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)時(shí)要用到“stdio.h”文件,因此源文件開頭應(yīng)有以下預(yù)編譯命令:#include<stdio.h>或
#include"stdio.h"3.3字符輸入與輸出3.3.1字符輸入函數(shù)字符輸入函數(shù)getchar()getchar()函數(shù)的功能是從鍵盤上輸入一個(gè)字符。
其一般形式為:
getchar();通常把輸入的字符賦給一個(gè)字符變量,構(gòu)成賦值語句。
例如:charc;c=getchar();字符輸入函數(shù)getchar()【例】輸入單個(gè)字符。#include<stdio.h>intmain(){charc;printf("inputacharacter\n");c=getchar();putchar(c);return0;}字符輸入函數(shù)getchar()使用getchar()函數(shù)時(shí)應(yīng)注意以下幾點(diǎn):getchar()函數(shù)只能接受單個(gè)字符,輸入數(shù)字也按字符處理。輸入多于一個(gè)字符時(shí),只接收第一個(gè)字符。使用本函數(shù)前必須包含頭文件“stdio.h”3.3字符輸入與輸出3.3.2字符輸出函數(shù)字符輸出函數(shù)putchar()putchar()函數(shù)是字符輸出函數(shù),其功能是在顯示器上輸出單個(gè)字符。
其一般形式為:
putchar(c)
其中,c可以是被單引號(hào)引起來的單個(gè)字符,可以是介于0~127之間的一個(gè)十進(jìn)制整型數(shù),也可以是一個(gè)字符型變量。例如:putchar('A');/*輸出大寫字母A*/putchar(66);/*輸出大寫字母B*/putchar(x);/*輸出字符變量x的值*/字符輸出函數(shù)putchar()【例】輸出單個(gè)字符。#include<stdio.h>intmain(){chara='B',b='o',c='k';putchar(a);putchar(b);putchar(b);putchar(c);putchar('\t');putchar(a);putchar(b);putchar('\n');putchar(b);putchar(c);return0;}字符輸出函數(shù)putchar()用putchar()函數(shù)可以輸出控制字符。例如:putchar(‘\n’)/*換行'*/putchar('\101')/*輸出字符'A'*/putchar('\'')/*輸出字符'*/putchar(‘\t’)/*跳制表域*/3.4格式化輸入與輸出3.4.1格式化輸入函數(shù)scanf()函數(shù)的使用
scanf函數(shù)的調(diào)用形式:
scanf(格式控制字符串,地址表列);
格式控制字符串的作用是根據(jù)特定的格式接收用戶輸入地址是由地址運(yùn)算符“&”后跟變量名組成的例如:&a,&b分別表示變量a和變量b的地址。scanf()函數(shù)的使用【例】用scanf函數(shù)輸入數(shù)據(jù)。#include<stdio.h>intmain(){inta,b,c; printf("inputa,b,c\n");scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d",a,b,c);return0;}scanf()函數(shù)常用格式控制符格式字符串的一般形式為:%[*][輸入數(shù)據(jù)寬度][長(zhǎng)度]類型格式字符說明d,i用來輸入有符號(hào)的十進(jìn)制整數(shù)u用來輸入無符號(hào)的十進(jìn)制整數(shù)o用來輸入無符號(hào)的八進(jìn)制整數(shù)x,X用來輸入無符號(hào)的十六進(jìn)制整數(shù)c用來輸入單個(gè)字符s用來輸入字符串,將字符串送到一個(gè)字符數(shù)組中,在輸入時(shí)以非空白字符開始,以第一個(gè)空白字符結(jié)束。字符串以串結(jié)束標(biāo)志'\0'作為其最后一個(gè)字符f用來輸入實(shí)數(shù),可以用小數(shù)形式或指數(shù)形式輸入e,E,g,G與f作用相同,e與f、g可以互相替換字符功能說明l用于輸入長(zhǎng)整型數(shù)據(jù)以及雙精度型數(shù)據(jù)h用于輸入短整型數(shù)據(jù)域?qū)捴付ㄝ斎霐?shù)據(jù)所占寬度,域?qū)拺?yīng)為正整數(shù)*表示本輸入項(xiàng)在讀入后不賦給相應(yīng)的變量scanf()函數(shù)常用格式控制符【例】scanf(“%3d%3d”,&a,&b);
輸入:123456
變量a,b的值分別是多少?【例】scanf("%2d%*3d%2d",&a,&b);輸入:12□345□67變量a,b的值分別是多少?scanf()函數(shù)常用格式控制符在使用scanf函數(shù)時(shí)還須注意以下幾點(diǎn):①scanf中要求給出變量地址,如給出變量名則會(huì)出錯(cuò)。例如:inta;scanf(“%d”,a);//錯(cuò)誤的scanf(“%d”,&a);//正確的scanf()函數(shù)常用格式控制符在使用scanf函數(shù)時(shí)還須注意以下幾點(diǎn):②在輸入多個(gè)數(shù)值數(shù)據(jù)時(shí),若格式控制串中沒有非格式字符作輸入數(shù)據(jù)之間的間隔,則可用空格,TAB或回車作間隔。例如:inta,b,c;//令a=5,b=6,c=7scanf(“%d%d%d”,&a,&b,&c);輸入:567或567或567scanf()函數(shù)常用格式控制符在使用scanf函數(shù)時(shí)還須注意以下幾點(diǎn):③在輸入字符數(shù)據(jù)時(shí),若格式控制串中無非格式字符,則認(rèn)為所有輸入的字符均為有效字符。
例如:scanf("%c%c%c",&a,&b,&c);
輸入1:opq輸入2:opq結(jié)果是多少??scanf()函數(shù)常用格式控制符在使用scanf函數(shù)時(shí)還須注意以下幾點(diǎn):④如果在格式控制字符串中加入空格作為間隔,則輸入時(shí)各數(shù)據(jù)之間可加空格。
例如:scanf("%c%c%c",&a,&b,&c);
輸入:mnk時(shí),a=m,b=n,c=k
scanf()函數(shù)常用格式控制符在使用scanf函數(shù)時(shí)還須注意以下幾點(diǎn):⑤如果格式控制字符串中有非格式字符則輸入時(shí)也要輸入該非格式字符。
例如:scanf("%d,%d,%d",&a,&b,&c);
輸入:8,9,10
例如:scanf(“a=%d,b=%d,c=%d",&a,&b,&c);
輸入:a=8,b=9,c=10scanf()函數(shù)常用格式控制符在使用scanf函數(shù)時(shí)還須注意以下幾點(diǎn):⑥如輸入的數(shù)據(jù)與輸出的類型不一致時(shí),雖然編譯能夠通過,但結(jié)果將不正確。scanf()函數(shù)常用格式控制符【例】為提高學(xué)生們對(duì)中華文化的學(xué)習(xí)熱情,某班級(jí)特舉辦“學(xué)習(xí)強(qiáng)國(guó)”答題競(jìng)賽。請(qǐng)編程模擬答題過程。
例如:“魏晉時(shí)期的(
)因主持編繪《禹貢地域圖》和提出“制圖六體”而被稱為地圖學(xué)家。A.阮籍 B.嵇康 C.裴秀 D.向秀
“您的答案是:”分析:分析:通過對(duì)C語言輸入和輸出函數(shù)的學(xué)習(xí)可知,競(jìng)賽題目的顯示應(yīng)使用格式化輸出函數(shù)實(shí)現(xiàn);題目答案的輸入應(yīng)使用格式化輸入函數(shù)實(shí)現(xiàn)。
3.4格式化輸入與輸出3.4.2格式化輸出函數(shù)printf()函數(shù)的使用
printf()函數(shù)的調(diào)用形式:printf(格式控制字符串,輸出項(xiàng)表);
功能:按格式控制字符串中的格式依次輸出輸出項(xiàng)表中的各輸出項(xiàng)。
printf()函數(shù)的使用格式控制字符串是用來說明各輸出項(xiàng)的輸出格式。輸出項(xiàng)表列出要輸出的項(xiàng)(常量、變量或表達(dá)式),各輸出項(xiàng)之間用逗號(hào)分開。若輸出項(xiàng)表不出現(xiàn),且格式字符串中不含格式信息,則輸出的是格式字符串本身。printf()函數(shù)的使用實(shí)際調(diào)用printf()函數(shù)時(shí)有兩種形式:形式1:printf(字符串);
功能:按原樣輸出字符串。
例如:printf("Howareyou\n");
輸出:Howareyou并換行。printf()函數(shù)的使用形式2:printf(格式控制字符串,輸出項(xiàng)表);
功能:按格式控制字符串中的格式依次輸出輸出項(xiàng)表中的各輸出項(xiàng)。
例如:printf("r=%d,s=%f\n",2,3.14*2*2);
輸出:r=2,s=12.560000。printf()函數(shù)的使用
格式字符串中有兩類字符:①非格式字符
非格式字符(或稱普通字符)一律按原樣輸出。如:上例中的"r="和"s="等。②格式字符
格式字符的形式:%[附加格式說明符]格式字符如:%d,%10.2f等。53printf()函數(shù)常用格式控制符常用的格式字符:d格式符:用來輸出十進(jìn)制整數(shù)。有以下幾種用法:格式控制符功能舉例%d按十進(jìn)制整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出inta=5;printf(“%d”,a);輸出結(jié)果為:5
%mdm為指定的輸出字段的寬度。如果數(shù)據(jù)的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,則按實(shí)際位數(shù)輸出printf("%4d,%4d",a,b);若a=123,b=12345,則輸出結(jié)果為:□123,12345
%ld輸出長(zhǎng)整型數(shù)據(jù)longa=123456;printf("%8ld",a);輸出結(jié)果為:□□12345654printf()函數(shù)常用格式控制符常用的格式字符:o格式符:以八進(jìn)制整數(shù)形式輸出。
例如:inta=-1;printf("%d,%o",a,a);-1在內(nèi)存單元中的存放形式(以補(bǔ)碼形式存放)如下:
輸出結(jié)果為:-1,377777777771111111111111111111111111111111155printf()函數(shù)常用格式控制符常用的格式字符:x格式符:以十六進(jìn)制數(shù)形式輸出整數(shù)。例如:inta=-1;printf("%x,%o,%d",a,a,a);
輸出結(jié)果為:ffffffff,37777777777,-11111111111111111111111111111111156printf()函數(shù)常用格式控制符常用的格式字符:c格式符:用來輸出一個(gè)字符。
例如:
charc='a';printf("%c",c);
輸出結(jié)果為:a57printf()函數(shù)常用格式控制符【小提示】
一個(gè)整數(shù),只要它的值在0~255范圍內(nèi),也可以用"%c"使之按字符形式輸出;反之,一個(gè)字符數(shù)據(jù)也可以用整數(shù)形式輸出。58printf()函數(shù)常用格式控制符【例3.6】用printf函數(shù)輸出數(shù)據(jù)。#include<stdio.h>intmain(){inta=88,b=89;printf("%d%d\n",a,b);printf("%d,%d\n",a,b);printf("%c,%c\n",a,b);printf("a=%d,b=%d",a,b);return0;}59printf()函數(shù)常用格式控制符常用的格式字符:s格式符:用來輸出一個(gè)字符串。
格式控制符功能%s輸出一個(gè)字符串%ms輸出的字符串占m列,如字符串本身長(zhǎng)度大于m,則突破m的限制,將字符串全部輸出。若串長(zhǎng)小于m,則左補(bǔ)空格%-ms如果串長(zhǎng)小于m,則在m列范圍內(nèi),字符串向左靠,右補(bǔ)空格%m.ns輸出占m列,但只取字符串中左端n個(gè)字符。這n個(gè)字符輸出在m列的右側(cè),左補(bǔ)空格%-m.nsm、n含義同上,n個(gè)字符輸出在m列范圍的左側(cè),右補(bǔ)空格。如果n>m,則m自動(dòng)取n值,即保證n個(gè)字符正常輸出60printf()函數(shù)常用格式控制符【例3.7】s格式符的使用。#include<stdio.h>intmain(){printf("%3s,%7.2s,%.4s,%-5.3s\n","CHINA","CHINA","CHINA","CHINA");return0;}61printf()函數(shù)常用格式控制符常用的格式字符:f格式符:用來輸出實(shí)數(shù)(包括單、雙精度),以小數(shù)形式輸出。
格式控制符功能%f不指定字段寬度,由系統(tǒng)自動(dòng)指定,整數(shù)部分全部輸出,并輸出6位小數(shù)%m.nf指定輸出的數(shù)據(jù)共占m列,其中有n位小數(shù)。如果數(shù)值長(zhǎng)度小于m,則左補(bǔ)空格%-m.nf與%m.nf基本相同,只是使輸出的數(shù)值向左端靠齊,右端補(bǔ)空格%lf輸出
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024葡萄酒年份酒拍賣會(huì)組織與銷售代理合同3篇
- 2024車輛保養(yǎng)維修中心服務(wù)承包合同
- 2024版路燈租賃合同書
- 2025年度廠房投資合作項(xiàng)目合同范本3篇
- 2024年跨國(guó)軟件定制開發(fā)合同
- 2024風(fēng)力發(fā)電項(xiàng)目投資建設(shè)合同
- 2024版云計(jì)算服務(wù)定制合同
- 2024年鋼筋工程勞務(wù)承包專用合同
- 2024特崗教師招聘與聘用及培訓(xùn)與考核服務(wù)合同3篇
- 動(dòng)物疫病檢驗(yàn)技術(shù)知到智慧樹章節(jié)測(cè)試課后答案2024年秋黑龍江農(nóng)業(yè)經(jīng)濟(jì)職業(yè)學(xué)院
- 簡(jiǎn)約清新大氣餐飲行業(yè)企業(yè)介紹模板課件
- 氮?dú)庵舷⑹鹿拾咐?jīng)驗(yàn)分享
- 某公司年度生產(chǎn)經(jīng)營(yíng)計(jì)劃書
- 廠房租賃合同標(biāo)準(zhǔn)版(通用10篇)
- 《教育心理學(xué)》教材
- 易制毒化學(xué)品安全管理制度(3篇)
- 建設(shè)單位業(yè)主方工程項(xiàng)目管理流程圖
- 斷裂力學(xué)——2Griffith理論(1)
- 風(fēng)電場(chǎng)崗位任職資格考試題庫(kù)大全-下(填空題2-2)
- 安全施工專項(xiàng)方案報(bào)審表
- 學(xué)習(xí)解讀2022年新制定的《市場(chǎng)主體登記管理?xiàng)l例實(shí)施細(xì)則》PPT匯報(bào)演示
評(píng)論
0/150
提交評(píng)論