C語言順序程序設(shè)計(jì)_第1頁
C語言順序程序設(shè)計(jì)_第2頁
C語言順序程序設(shè)計(jì)_第3頁
C語言順序程序設(shè)計(jì)_第4頁
C語言順序程序設(shè)計(jì)_第5頁
已閱讀5頁,還剩19頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

會(huì)計(jì)學(xué)1C語言順序程序設(shè)計(jì)第3章

順序結(jié)構(gòu)程序設(shè)計(jì)語句簡介賦值語句常用輸入輸出函數(shù)程序設(shè)計(jì)的一般步驟順序結(jié)構(gòu)程序設(shè)計(jì)舉例課后作業(yè)講課提綱第1頁/共24頁第3章

順序結(jié)構(gòu)程序設(shè)計(jì)控制語句C語言中共有9種流程控制語句:

if()….else (條件語句)for() (for循環(huán)語句)while() (while循環(huán)語句)do…while() (do-while循環(huán)語句)continue (結(jié)束本次循環(huán)語句)Break(中止執(zhí)行switch語句或循環(huán)語句)switch (多分支選擇語句)goto (轉(zhuǎn)向語句)return (從函數(shù)返回語句)函數(shù)調(diào)用語句

與表達(dá)式語句相似,在函數(shù)調(diào)用表達(dá)式后面加分號(hào)就構(gòu)成了函數(shù)調(diào)用語句。3.1語句簡介例:printf("thisisacstatement.");c=max(a,b);第2頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

表達(dá)式語句在一個(gè)表達(dá)式的后面加一個(gè)分號(hào)“;”就構(gòu)成表達(dá)式語句。例如:i=i+2是表達(dá)式,而不是語句。i=i+2;是語句。任何表達(dá)式都可以加上分號(hào)而成為語句空語句只有1個(gè)分號(hào)的語句稱為空語句。如:;即是1個(gè)空語句,它什么也不做??照Z句也可以被看成是一種特殊情況下的表達(dá)式語句,它只有一個(gè)分號(hào),執(zhí)行時(shí)不做任何事情,有時(shí)用來作為被轉(zhuǎn)向點(diǎn),或循環(huán)語句中的循環(huán)體。3.1語句簡介第3頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

復(fù)合語句

由一對大括弧“{}”把若干語句括起來構(gòu)成的語句稱為復(fù)合語句。復(fù)合語句的一般形式:{語句1;語句2;……

;語句n;}復(fù)合語句在語法上相當(dāng)于1個(gè)單一語句,在一對花括號(hào)內(nèi)的語句數(shù)量不限。例如:{a++;b*=a;printf("b=%d\n",b);}在復(fù)合語句內(nèi),不僅可以有執(zhí)行語句,還可以有定義部分,定義部分應(yīng)該出現(xiàn)在可執(zhí)行語句的前面。例如:{intt;t=x;x=y;y=t;}3.1語句簡介第4頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

賦值語句是由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成,是程序設(shè)計(jì)中最常用的語句之一:【格式】變量名=表達(dá)式;【功能】將賦值號(hào)“=”號(hào)右邊表達(dá)式的值賦給左邊的變量【執(zhí)行過程】先計(jì)算表達(dá)式的值,然后再把該值賦給左邊的變量注意:賦值表達(dá)式可以包括在其他表達(dá)式之中,例如:

if((a=b)>0)t=a;3.2賦值語句

運(yùn)算符第5頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

字符輸出函數(shù)putchar()字符輸入函數(shù)getchar()格式輸入函數(shù)printf()格式輸出函數(shù)scanf()3.3常用輸入輸出函數(shù)只能輸入輸出一個(gè)字符而不能是字符串第6頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

字符輸出函數(shù)putchar(),作用是向終端輸出一個(gè)字符?;靖袷剑簆utchar(ch);用法說明:參數(shù)ch使用比較靈活,可以是除字符串常量之外的字符常量、字符變量、整型常量、整型變量、實(shí)型常量、實(shí)型變量或各種表達(dá)式在程序中使用putchar()函數(shù)時(shí),該程序的開頭必須用一條預(yù)編譯命令“#include<stdio.h>”。putchar()函數(shù)可以輸出控制字符,如:putchar(‘\n’);3.3.1putchar函數(shù)例3.1在putchar函數(shù)中使用不同參數(shù)輸出字符A。#include"stdio.h"main(){charch='A';inti=65;putchar(ch);/*輸出字符變量所代表的字符,得到運(yùn)行結(jié)果中第一個(gè)A*/putchar(i);/*輸出以整型變量i的值為ASCⅡ碼的字符,得到運(yùn)行結(jié)果中第二個(gè)A*/putchar('A');/*直接輸出字符常量'A',得到運(yùn)行結(jié)果中第三個(gè)A*/putchar(65);/*輸出以十進(jìn)制整型常量65為ASCⅡ碼的字符,得到運(yùn)行結(jié)果中第四個(gè)A*/putchar('\n');/*輸出一個(gè)換行符*/}程序運(yùn)行結(jié)果:AAAA第7頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

字符輸入函數(shù)getchar(),接收從終端(或系統(tǒng)隱含指定的輸入設(shè)備)輸入的1個(gè)字符。它沒有參數(shù)。

基本格式:getchar();

3.3.2getchar函數(shù)例3.2輸入單個(gè)字符#include"stdio.h"main(){charch;ch=getchar();/*從鍵盤上接收一個(gè)字符*/putchar(ch);/*在屏幕上輸出該字符*/}運(yùn)行過程:AA第8頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

例3.3輸入輸出字符練習(xí)。#include<stdio.h>main(){charch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();putchar(ch1);putchar(ch2);putchar(ch3);}abc↙abcABC↙ABCABCDEFG↙ABCA↙BC↙AB運(yùn)行情況:第9頁/共24頁格式:printf(“格式控制串”,輸出項(xiàng)表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯(cuò),返回EOF(-1)3.3.3printf函數(shù)輸出表:要輸出的數(shù)據(jù)(可以沒有,多個(gè)時(shí)以“,”分隔)格式控制串:包含兩種信息格式說明:

%[修飾符]格式字符

,用于指定輸出格式普通字符或轉(zhuǎn)義序列:原樣輸出格式字符

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

第10頁/共24頁d,ix,Xoucse,Efg%%格式字符:十六進(jìn)制無符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無符號(hào)整數(shù)小數(shù)形式浮點(diǎn)小數(shù)e和f中較短一種百分號(hào)本身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.789;printf(“%e”,a);floata=567.789;printf(“%f”,a);floata=567.789;printf(“%g”,a);printf(“%%”);567ff101567AABC5.677890e+02567.789000567.789%說明

格式字符要用小寫格式字符與輸出項(xiàng)個(gè)數(shù)應(yīng)相同,按先后順序一一對應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出例

main(){unsignedintu=65535;printf(”u=%d\n",u);}

輸出結(jié)果:u=-1例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);

例inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);輸出結(jié)果:34a=3,b=4111111111111111165535

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

第11頁/共24頁附加格式說明符(修飾符).n對實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對字符串,指定實(shí)際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對齊(缺省右對齊)-指定在有符號(hào)數(shù)的正數(shù)前顯示正號(hào)(+)+輸出數(shù)值時(shí)指定左面不使用的空位置自動(dòng)填00在八進(jìn)制和十六進(jìn)制數(shù)前顯示前導(dǎo)0,0x#在d,o,x,u前,指定輸出精度為long型在e,f,g前,指定輸出精度為double型l

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

第12頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

main(){inta,b,c;a=printf("%.5d\n",38);b=printf("%e\n",123.456789);c=printf("%g\n",123.456789);printf("a=%d,b=%d,c=%d\n",a,b,c);}例3.5printf函數(shù)的返回值程序運(yùn)行結(jié)果:

000381.23457e+02123.457a=6,b=12,c=8第13頁/共24頁3.3.4scanf函數(shù)格式:scanf(“格式控制串”,地址表)功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲(chǔ)單元中,并按回車鍵結(jié)束返值:正常,返回輸入數(shù)據(jù)個(gè)數(shù)地址表:變量的地址,常用取地址運(yùn)算符&格式字符:d,i,o,x,u,c,s,f,e例scanf(“%d”,&a);

輸入:10

則a=10例scanf(“%x”,&a);

輸入:11

則a=17

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

第14頁/共24頁附加格式說明符(修飾符)l修飾符功能hm*用于d,o,x前,指定輸入為short型整數(shù)用于d,o,x前,指定輸入為long型整數(shù)用于e,f前,指定輸入為double型實(shí)數(shù)指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束抑制符,指定輸入項(xiàng)讀入后不賦給變量例scanf(“%4d%2d%2d”,&yy,&mm,&dd);

輸入19991015

則1999yy,10mm,15dd例scanf(“%3d%*4d%f”,&k,&f);

輸入12345678765.43則123k,8765.43f例scanf(“%2d%*3d%2d”,&a,&b);

輸入1234567

則12a,67b例scanf(“%3c%2c”,&c1,&c2);

輸入abcde

則‘a(chǎn)’c1,‘d’c2

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

第15頁/共24頁輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符其它字符做分隔符:格式串中兩個(gè)格式符間字符例scanf(“%d%o%x”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);

輸入123123123

輸出a=123,b=83,c=291例scanf(“%d:%d:%d”,&h,&m,&s);

輸入12:30:45

則12h,30m,45s例scanf(“%d,%d”,&a,&b)

輸入3,4

則3a,4b例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);

輸入a=12,b=24,c=36

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

第16頁/共24頁說明:用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入如scanf(“%c%c%c”,&c1,&c2,&c3);

若輸入abc

則ac1,

c2,bc3輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:遇空格、TAB、或回車遇寬度結(jié)束遇非法輸入如scanf(“%d%c%f”,&a,&b,&c);

若輸入1234a123o.26

則1234a,‘a(chǎn)’b,123c輸入函數(shù)留下的“垃圾”:例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10解決方法:(1)用getchar()清除(2)用函數(shù)fflush(stdin)清除全部剩余內(nèi)容(3)用格式串中空格或“%*c”來“吃掉”例intx;charch;scanf(“%d”,&x);

scanf(“%c”,&ch);或scanf(“%*c%c”,&ch);

第17頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

從軟件工程的角度來看,編寫一些實(shí)用軟件,常常需要經(jīng)過以下主要步驟:軟件維護(hù)軟件需求分析概要設(shè)計(jì)編碼軟件測試對于絕大多數(shù)實(shí)際問題,程序設(shè)計(jì)的一般可以分為以下步驟:程序的調(diào)試編程確定算法:建模:3.4程序設(shè)計(jì)的一般步驟第18頁/共24頁

第3章

順序結(jié)構(gòu)程序設(shè)計(jì)

3.5順序結(jié)構(gòu)程序設(shè)計(jì)舉例例3.11交換兩個(gè)變量的值main(){inta,b,t;printf("Entera&b:");/*輸出一行提示信息*/scanf("%d%d",&a,&b);/*從鍵盤上輸入變量a、b的值*/printf("(1)a=%db=%d\n",a,b);/*顯示變量a、b的初始值*/t=a;a=b;b=t;/*這三條語句實(shí)現(xiàn)了兩個(gè)變量的交換*/printf("(2)a=%db=%d\n",a,b);/*顯示變量a、b交換之后的值*/}Entera&b:123456輸出:(1)a=123b=456(2)a=456b=123

第19頁/共24頁第3章

順序結(jié)構(gòu)程序設(shè)計(jì)例3.12在例3.3的基礎(chǔ)上實(shí)現(xiàn):輸入小寫字母,輸出大寫字母。#include<stdio.h>#include<ctype.h>/*使用字符函數(shù)(如toupper)必須包含該頭文件*/main(){charch1,ch2,ch3;ch1=getchar();ch2=getchar();ch3=getchar();ch1=ch1-32;ch2=ch2-'a'+'A';ch3=toupper(ch3);putchar(ch1);putchar(ch2);putchar(ch3);}小寫字母轉(zhuǎn)換為大寫字母輸入三個(gè)小寫字母給ch1、ch2、ch3時(shí)不能在中間插入空格、回車鍵或TAB鍵等字符運(yùn)行結(jié)果:boyBOY第20頁/共24頁/*ch3_12.c*/#include<math.h>#include<stdio.h>main(){floata,b,c,s,area;scanf("%f,%f,%f",&a,&b,&c);s=1.0/2*(a+b+c);area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2f\n",a,b,c,s);printf("area=%7.2f\n",area);}例3.13輸入三角形邊長,求面積輸入:3,4,6輸出:a=3.00,b=4.00,c=6.00s=6.50area=5.33文件包含預(yù)處理命令變量定義輸入數(shù)據(jù)輸出數(shù)據(jù)第3章

順序結(jié)構(gòu)程序設(shè)計(jì)第21頁/共24頁第3章

順序結(jié)構(gòu)程序設(shè)計(jì)例3.14輸入一個(gè)double類型的數(shù),使該數(shù)保留

溫馨提示

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

提交評論