第三講順序結(jié)構(gòu)程序設(shè)計(jì)_第1頁
第三講順序結(jié)構(gòu)程序設(shè)計(jì)_第2頁
第三講順序結(jié)構(gòu)程序設(shè)計(jì)_第3頁
第三講順序結(jié)構(gòu)程序設(shè)計(jì)_第4頁
第三講順序結(jié)構(gòu)程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩44頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

☆C語言的基本語句☆數(shù)據(jù)輸入與輸出☆程序舉例第3章結(jié)構(gòu)程序設(shè)計(jì)三大結(jié)構(gòu)

————順序結(jié)構(gòu)目的與要求:了解基本語句—簡單語句、復(fù)合語句理解程序控制結(jié)構(gòu)的概念掌握輸入輸出函數(shù)的基本使用方法學(xué)習(xí)重點(diǎn):scanf()與printf()的用法。結(jié)構(gòu)化程序設(shè)計(jì)結(jié)構(gòu)化程序的基本結(jié)構(gòu)結(jié)構(gòu)化程序設(shè)計(jì)

結(jié)構(gòu)化程序:由三種基本結(jié)構(gòu)(順序、選擇、循環(huán))反復(fù)嵌套構(gòu)成的程序優(yōu)點(diǎn):結(jié)構(gòu)清晰,易讀,提高程序設(shè)計(jì)質(zhì)量和效率三種基本結(jié)構(gòu)概述ABC1、順序結(jié)構(gòu)ABC流程圖N-S圖A1A2AiAnk=k2k=k1k=knk=ki......(1)二分支選擇結(jié)構(gòu)(2)多分支選擇結(jié)構(gòu)條件BA真假條件AB真假流程圖N-S圖2、選擇結(jié)構(gòu)(1)當(dāng)型循環(huán)結(jié)構(gòu)(2)直到型循環(huán)結(jié)構(gòu)注:A可以是一個(gè)簡單語句,也可以是一個(gè)基本結(jié)構(gòu)條件A假真當(dāng)條件為真A流程圖N-S圖A條件假真A直到條件為真流程圖N-S圖無論是運(yùn)算操作還是流程控制操作,都由相應(yīng)的語句完成。3、循環(huán)結(jié)構(gòu)☆C語言的基本語句什么是語句?完成指定運(yùn)算或操作的可執(zhí)行單位。

C語言有哪些語句?—分類C語句的標(biāo)志為;說明語句

包括常量定義、變量定義和變量說明、函數(shù)說明、結(jié)構(gòu)說明等語句。inti,j,k=0;charch;doublex,y,z;const

chara=‘A’;表達(dá)式語句

由表達(dá)式加上分號“;”組成—表達(dá)式;

a=10賦值表達(dá)式a=10;賦值語句t=x,x=y,y=t表達(dá)式t=x,x=y,y=t;語句函數(shù)調(diào)用語句函數(shù)調(diào)用加上分號“;”——函數(shù)名(參數(shù));printf("Hello")函數(shù)調(diào)用printf(“Hello”);函數(shù)調(diào)用語句空語句只有分號“;”組成的語句稱為空語句??照Z句是什么也不執(zhí)行的語句。main(){floatx=5,s;

;s=2*3.14*x;;;printf(“%f”,s);}復(fù)合語句用{}

括起來的一組語句。一般形式為:

{[數(shù)據(jù)說明部分;]

執(zhí)行語句部分;

}

…{

inta=2,b=3,c;

c=a+b;printf("c=%d\n",c);}…說明:(1)

“}”后不加分號(2)語法上和單一語句相同(3)復(fù)合語句可嵌套(4)復(fù)合語句內(nèi)定義的變量只能在復(fù)合語句內(nèi)使用。

輸出結(jié)果:判斷程序輸出?main(){intx=1,y=2;

{intx=2;

{intx=3;printf(“x=%d,y=%d\n”,x,y);}printf(“x=%d,y=%d\n”,x,y);

}printf(“x=%d,y=%d\n”,x,y);}輸出結(jié)果:x=3,y=2x=2,y=2x=1,y=2控制語句用來實(shí)現(xiàn)一定的控制功能的語句稱為控制語句。C語言用控制語句來實(shí)現(xiàn)選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。C語言有九種控制語句??煞殖梢韵氯悾篿f()…else…switchfor()…while()…do...while()continuebreakgotoreturn分支循環(huán)輔助控制后續(xù)章節(jié)討論☆數(shù)據(jù)輸入與輸出如何實(shí)現(xiàn)輸入輸出標(biāo)準(zhǔn)I/O函數(shù)掌握4個(gè)函數(shù)的使用方法:輸入:getchar()和scanf()

輸出:putchar()和printf()#include<stdio.h>實(shí)現(xiàn)前提

字符輸入輸出函數(shù)1.字符輸出函數(shù)例如:#include<stdio.h>main(){inti=97;charch='a';

putchar(i);putchar('\n');putchar(ch);}運(yùn)行結(jié)果:aa例:#include<stdio.h>main(){intc;c=getchar();

putchar(i);;}運(yùn)行結(jié)果:AA

字符輸入輸出函數(shù)2.字符輸入函數(shù)格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返回值:正常,字符的ASCII碼值;出錯(cuò),為EOF(-1)intputchar(int)intgetchar(void)格式:getchar()功能:從鍵盤讀一個(gè)字符返回值:正常:讀取的ASCII碼值;出錯(cuò):則返回EOF(-1)思考:以下三種不同的輸入,輸出情況如何?1.abcdefg2.ab3.abcdefg案例:#include<stdio.h>main(){inti,j;charc;i=getchar();putchar(i);j=getchar();putchar(j);c=getchar();putchar(c);}執(zhí)行g(shù)etchar()時(shí)輸入字符以回車結(jié)束,同時(shí)回車字符也可以做為輸入的字符。

注意示例:1.printf(“It’sfun!”);輸出It’sfun!2.inta=1,b=2;printf(“%d,%d”,a,b);輸出1,23.inta=1,b=2;printf(“a=%d\nb=%d”,a,b);輸出a=1b=24.inta=1,b=2;printf(“%d”,a+b);輸出35.inta=1,b=2;printf(“a+b”);輸出a+b☆格式輸出函數(shù)printf()

按指定格式向輸出設(shè)備(顯示器)輸出數(shù)據(jù)。一、格式輸出函數(shù)的一般形式printf(“格式控制字符串”,參數(shù)列表);普通字符:按原樣輸出(包括轉(zhuǎn)義字符)格式說明:%格式字符(1)格式控制字符串printf(“Olympic!\n”);printf(“%d,%o”,x,y);例:inta=1,b=2,c=3;printf(“%d,%d\n”,a,b,c);輸出:1,2例:inta=1,b=2;printf(“%d,%d,%d\n”,a,b);輸出:1,2,2注意:格式說明個(gè)數(shù)應(yīng)與參數(shù)個(gè)數(shù)相同且一一對應(yīng)。若少于輸出項(xiàng)個(gè)數(shù),多余輸出項(xiàng)不會輸出,否則,會隨機(jī)輸出。格式控制串的三類字符:1)普通字符:原樣輸出。2)轉(zhuǎn)義字符:特定操作,如\n、\t。3)格式說明部分:由%引導(dǎo)的格式字符串組成,控制數(shù)據(jù)的輸出顯示格式。一般格式為:%[flags][width][.prec][F|N|h|L][type]1.%type這是最簡單的格式輸出說明形式,說明以何種類型形式輸出表達(dá)式的值。d,ix,Xoucse,Efg%十六進(jìn)制無符號整數(shù)不帶符號十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無符號整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號本身inta=567;printf(“%d”,a);inta=255;printf(“%x”,a);inta=65;printf(“%o”,a);inta=567;printf(“%u”,a);chara=65;printf(“%c”,a);printf(“%s”,“ABC”);floata=567.78;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.67780e+02567.789000567.789%1、d:輸出十進(jìn)制整數(shù)①%d:實(shí)際數(shù)據(jù)原樣輸出。②%md:輸出寬度m位,數(shù)據(jù)位數(shù)<m,左補(bǔ)空格;%-md:輸出寬度m位,數(shù)據(jù)位數(shù)<m,右補(bǔ)空格;若數(shù)據(jù)位數(shù)>m,原樣輸出。例:printf(“%6d,%2d,%-6d,%+2d”,123,123,-123,1);輸出:123,123,-123,+1%+md:正數(shù)輸出‘+’。④%1d:輸出長整型數(shù)據(jù)-32768~32767之外的數(shù)③%0md:不足位補(bǔ)0例:printf(“%-6d,%06d”,123,123);輸出:123,000123%mld:指定寬度2.o-輸出八進(jìn)制整數(shù)(無符號數(shù))①%o:原樣輸出。②%mo:不足位左補(bǔ)空格,超過則原樣輸出。%-mo:不足位右補(bǔ)空格,超過則原樣輸出。例:printf(“%d,%o,%8o\n”,25,25,25);輸出:25,31,31輸出:031例:printf(“%#o\n”,25);④%1o:按八進(jìn)制形式輸出長整型數(shù)據(jù)。③%#o:輸出前導(dǎo)符03.x/X-輸出十六進(jìn)制整數(shù)(無符號數(shù))①%x:按十六進(jìn)制形式輸出基本整型數(shù)據(jù)。④%lx:按十六進(jìn)制形式輸出長整型數(shù)據(jù)。③%#x:輸出前導(dǎo)符0x②%mx:%-mx:例:printf(“%d,%X,%#X”,26,26,26);輸出:26,2A,0X2A0~127的整數(shù)也可用%c輸出。4.u-以十進(jìn)制形式輸出無符號數(shù)%u--0~655355.c-輸出單個(gè)字符①%c②%mc,%-mc例:unsignedintx=30;printf(“%u”,x);輸出:30輸出:65,A66,B

例:寫出程序運(yùn)行結(jié)果。#include<stdio.h>main(){charc1,c2;c1=‘A’;c2=‘B’;printf(%d,%3c\n”,c1,c1);printf(“%d,%-3c\n”,c2,c2);}6.s-輸出一個(gè)字符串①%s②%ms%-ms例:#include<stdio.h>main(){printf(“%3s,%-7s”,“china”,“china”);}輸出:china,china%-m.ns指定輸出位數(shù)m,輸出字符串從左起的n個(gè)字符,若n<m右補(bǔ)空格,否則原樣輸出。③%m.ns指定輸出位數(shù)m,輸出字符串從左起的n個(gè)字符,若n<m左補(bǔ)空格,否則原樣輸出。例:#include<stdio.h>main(){printf(“%5.2s,%.4s,%-5.3s”,“china”,“china”,“china”);}輸出:ch,chin,chi例:floatx=111111.111,y=222222.222;printf(“%f\n”,x+y);7.f-以小數(shù)形式輸出單,雙精度①%ffloat:整數(shù)部分全部輸出,并輸出6位小數(shù);double:整數(shù)部分全部輸出,并輸出6位小數(shù)。輸出:333333.328125②%m.nf:輸出寬度m列,小數(shù)位數(shù)為n:數(shù)據(jù)長度<m,左補(bǔ)空格。%-m.nf:輸出寬度m列,小數(shù)位數(shù)為n:數(shù)據(jù)長度<m,右補(bǔ)空格。如:floatx=123.456;printf(“%8.2f,%.2f\n”,x,x);輸出:

123.46,123.46當(dāng)n<實(shí)際小數(shù)位數(shù)時(shí),若在有效數(shù)字范圍內(nèi)進(jìn)行四舍五入。①%e8.e-以指數(shù)形式輸出實(shí)數(shù)例:printf(“%e,%E\n”,123.456);輸出:1.234560e+002,1.234560E+002②%m.ne,%-m.ne例:floatx=123.456;printf(%f,%e,%g”,x,x,x);9.g/G-選擇e或f格式最緊湊的一種格式,且不輸出無意義的0。輸出123.456001,1.234560e+002,123.4561.scanf(“%d%d”,&a,&b);輸入:12回車

或者

1回車2回車2.scanf(“%d,%d”,&a,&b);輸入:1,2回車3.scanf(“a=%d,b=%d”,&a,&b);輸入:a=1,b=2回車☆格式輸入函數(shù)示例:一般形式:scanf("格式控制字符串",地址列表);格式控制字符串中,有兩類字符:普通字符:按原樣輸入格式字符:由%引導(dǎo)的格式字符串組成scanf

:&加變量名,指的是該變量所代表的內(nèi)存空間的地址。scanf

語句在運(yùn)行時(shí),會停下來,等待從鍵盤輸入值依次存入地址列表中的地址空間。(2)注意字符的連續(xù)輸入。chara,b,c;scanf(“%c%c%c”,&a,&b,&c);應(yīng)輸入:ABC(回車)注意:輸入數(shù)字,以空格、回車、tab為分隔符,但輸入字符時(shí),應(yīng)連續(xù)輸入,最后按回車。否則,空格、回車、tab都做為有效字符被變量接收。%[*][width][F|N][h|L]typetype是必須的,表示輸入后轉(zhuǎn)換的數(shù)據(jù)類型。d(D)十進(jìn)制整數(shù)o(O)八進(jìn)制整數(shù)x(X)十六進(jìn)制整數(shù)i(I)自動(dòng)根據(jù)數(shù)頭分辨十、八、十六進(jìn)制u(U)無符號十進(jìn)制整數(shù)c單個(gè)字符s字符串f(e,g,G)實(shí)數(shù)n不輸入數(shù)據(jù),將已讀入的字符送到對應(yīng)的地址中%百分號scanf語句格式說明部分的一般格式為:scanf使用小結(jié)普通字符原樣輸入。

scanf(”x=%d”,&x);變量前加上&。默認(rèn)間隔為空格、回車、tab。實(shí)數(shù)不許規(guī)定精度,像%10.4f是不合法的。類型不匹配則停止處理3.3案例分析分析:1.定義實(shí)型變量r、l、s用于存放半徑、周長、面積;2.調(diào)用輸入函數(shù),輸入r:3.分別利用周長公式和面積公式求出l、s;4.調(diào)用輸出函數(shù)輸出l、s?!纠?.1】輸入圓的半徑,輸出其周長和面積。程序代碼:#include<stdio.h>voidmain(){floatr,l,s;printf("Inputcircleradius(r>0):");

scanf("%f",&r);l=2*3.14*r;s=3.14*r*r;

printf(“l(fā)=%f\n",l);printf(“s=%f\n",s);getch();}分析:1.定義三個(gè)字符型變量ch1,ch2,ch3;2.調(diào)用字符輸入函數(shù),輸入三個(gè)字符依次存于ch1、ch2、ch3;3.按ch3、ch2、ch1順序輸出三個(gè)字符。【例3.2】輸入三個(gè)字符,將它們反向輸出。#include<stdio.h>voidmain(){charch1,ch2,c

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論