第4章順序結(jié)構(gòu)-C語(yǔ)言程序設(shè)計(jì)(譚浩強(qiáng)第三版)_第1頁(yè)
第4章順序結(jié)構(gòu)-C語(yǔ)言程序設(shè)計(jì)(譚浩強(qiáng)第三版)_第2頁(yè)
第4章順序結(jié)構(gòu)-C語(yǔ)言程序設(shè)計(jì)(譚浩強(qiáng)第三版)_第3頁(yè)
第4章順序結(jié)構(gòu)-C語(yǔ)言程序設(shè)計(jì)(譚浩強(qiáng)第三版)_第4頁(yè)
第4章順序結(jié)構(gòu)-C語(yǔ)言程序設(shè)計(jì)(譚浩強(qiáng)第三版)_第5頁(yè)
已閱讀5頁(yè),還剩27頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1第4章簡(jiǎn)單的c程序設(shè)計(jì)c語(yǔ)句概述賦值語(yǔ)句數(shù)據(jù)的輸出

數(shù)據(jù)的輸入程序舉例24.1

c語(yǔ)句概述34.1

c語(yǔ)句概述5類控制語(yǔ)句函數(shù)調(diào)用語(yǔ)句表達(dá)式語(yǔ)句空語(yǔ)句復(fù)合語(yǔ)句4

(1)控制語(yǔ)句??刂普Z(yǔ)句用于完成一定的控制功能。C只有9種控制語(yǔ)句:

if()…else… for()… while()… do…while() continue break switch goto return(2)函數(shù)調(diào)用語(yǔ)句。函數(shù)調(diào)用語(yǔ)句由一個(gè)函數(shù)調(diào)用加一個(gè)分號(hào)構(gòu)成。Printf(“ThisisaCstatement.”);

(3)表達(dá)式語(yǔ)句。表達(dá)式語(yǔ)句由一個(gè)表達(dá)式加一個(gè)分號(hào)構(gòu)成。

(4)空語(yǔ)句:;。

(5)復(fù)合語(yǔ)句??梢杂脅}把一些語(yǔ)句括起來成為復(fù)合語(yǔ)句。5

賦值語(yǔ)句是由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成例:a=100賦值表達(dá)式

a=100;賦值語(yǔ)句4.2

賦值語(yǔ)句64.3

數(shù)據(jù)輸入輸出的概念及在C語(yǔ)言中的實(shí)現(xiàn)(一).所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的輸出:從計(jì)算機(jī)向外部輸出設(shè)備(顯示器,打印機(jī))輸出數(shù)據(jù)輸入:從輸入設(shè)備(鍵盤,鼠標(biāo),掃描儀)向計(jì)算機(jī)輸入數(shù)據(jù).(二).C語(yǔ)言本身不提供輸入輸出語(yǔ)句,輸入和輸出操作是由C函數(shù)庫(kù)中的函數(shù)來實(shí)現(xiàn)的例如:字符輸入函數(shù):getchar字符輸出函數(shù):putchar格式輸入函數(shù):scanf格式輸出函數(shù):printf字符串輸入函數(shù):gets字?jǐn)?shù)串輸出函數(shù):puts(三).在使用系統(tǒng)庫(kù)函數(shù)時(shí),要用預(yù)編譯命令“#include”將有關(guān)的“頭文件”包括到用戶源文件中.例如:在調(diào)用標(biāo)準(zhǔn)輸入輸出庫(kù)函數(shù)時(shí),文件開頭應(yīng)該有:

#include“stdio.h”先從當(dāng)前目錄,再庫(kù)文件所在目錄或:

#include<stdio.h>74.4

數(shù)據(jù)的輸出

數(shù)據(jù)輸出:是指把計(jì)算機(jī)內(nèi)存中的數(shù)據(jù)送到外部設(shè)備上去的操作。默認(rèn)的輸入設(shè)備是鍵盤,默認(rèn)的輸出設(shè)備是顯示器。C語(yǔ)言沒有輸入/輸出語(yǔ)句。I/O操作通過系統(tǒng)函數(shù)實(shí)現(xiàn)。介紹兩個(gè)輸出函數(shù):

printf():按指定格式向終端(顯示器)輸出若干個(gè)任意類型的數(shù)據(jù)。

putchar():向終端(顯示器)輸出一個(gè)字符。

8格式:printf(“格式控制串”,輸出表)功能:按指定格式向顯示器輸出數(shù)據(jù)返值:正常,返回輸出字節(jié)數(shù);出錯(cuò),返回EOF(-1)

輸出表:要輸出的數(shù)據(jù)(可以沒有,多個(gè)時(shí)以“,”分隔)

格式控制串:包含兩種信息1、格式說明%[修飾符]格式字符

,用于指定輸出格式,將數(shù)據(jù)轉(zhuǎn)換為指定的格式輸出.如:%d、%f2、普通字符或轉(zhuǎn)義序列:將被原樣輸出的字符(包括轉(zhuǎn)義字符).

printf(“%d%d”,a,b);

格式說明輸出表列

printf(“a=%db=%d\n”,a,b);

普通字符一、格式輸出函數(shù):9完整格式說明為:printf函數(shù)%格式說明起始符—0m.nl或h格式字符指定輸出類型輸出長(zhǎng)度修正指定輸出寬度及精度指定空位填0指定左對(duì)齊輸出10d,ix,Xoucse,Efg%%格式字符:十六進(jìn)制無(wú)符號(hào)整數(shù)不帶符號(hào)十進(jìn)制整數(shù)十進(jìn)制整數(shù)指數(shù)形式浮點(diǎn)小數(shù)單一字符字符串八進(jìn)制無(wú)符號(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)相同,按先后順序一一對(duì)應(yīng)輸出轉(zhuǎn)換:格式字符與輸出項(xiàng)類型不一致,自動(dòng)按指定格式輸出例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é)果:34

a=3,b=4例main(){unsignedintu=65535;printf(”u=%d\n",u);}輸出結(jié)果:u=-11111111111111165535%—0m.nl或h

格式字符11.n對(duì)實(shí)數(shù),指定小數(shù)點(diǎn)后位數(shù)(四舍五入)對(duì)字符串,指定實(shí)際輸出位數(shù)修飾符功能m輸出數(shù)據(jù)域?qū)?數(shù)據(jù)長(zhǎng)度<m,左補(bǔ)空格;否則按實(shí)際輸出輸出數(shù)據(jù)在域內(nèi)左對(duì)齊(缺省右對(duì)齊)-指定在有符號(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%—0m.nl或h

格式字符附加格式說明符(修飾符)12例整型、字符、實(shí)型字符串的輸出。inta=1234;floatf=123.456;charch=‘a(chǎn)’;printf(“%8d,%-8d,%2d\n”,a,a,a);printf(“%f,%10f,%10.1f,-%10.1,%.2f,%.2e\n”,f,f,f,f,f,f);printf(“%3c\n”,ch);運(yùn)行結(jié)果:

1234,1234,1234123.456000,123.456000,123.5,123.5,123.46,1.23e+02a例m.n-13運(yùn)行結(jié)果:

CHINA,CH,CHIN,CHI例字符串的輸出。

#include<stdio.h>

voidmain()

{

printf(“%3s,%7.2s,%.4s,%-5.3s\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);

}

14printf函數(shù)注意:除X、G、E外,其余格式字符必須小寫。15二、字符輸出函數(shù)

putchar()結(jié)果:AA例1:#include“stdio.h”main(){charc1,c2;c1=‘A’;c2=65;

putchar(c1);putchar(c2);}例2:輸出控制字符、轉(zhuǎn)義字符。#include“stdio.h”main(){putchar(‘\101’);putchar(‘\n’);putchar(‘\\’);}結(jié)果:A

\格式:putchar(c)參數(shù):c為字符常量、變量或表達(dá)式功能:把字符c輸出到顯示器上返值:正常,為顯示的代碼值;出錯(cuò),為EOF(-1)164.5

數(shù)據(jù)的輸入

數(shù)據(jù)輸入:是指從計(jì)算機(jī)的外部設(shè)備上將數(shù)據(jù)送入內(nèi)存的操作。介紹兩個(gè)輸入函數(shù):scanf():按指定格式從鍵盤讀入數(shù)據(jù)給變量,存入地址表指定的存儲(chǔ)單元中。getchar():從鍵盤輸入一個(gè)字符。17一、格式化輸入函數(shù)

scanf()

格式:scanf(“格式控制字符串”,地址表列)功能:按指定格式從鍵盤讀入數(shù)據(jù)。格式字符串、普通字符內(nèi)存地址,可以是變量的地址、數(shù)組元素的地址等。

形式為:%[*mhl]格式字符

d,i,o,x(X),u,c,s,f,e(E),g(G)18常用:

%d——int型變量的地址%ld——long型變量的地址%f——float型變量的地址%lf——double型變量的地址%c——char型變量的地址%s——char型數(shù)組名一、格式化輸入函數(shù)

scanf()

19例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附加格式說明符(修飾符)修飾符功能*表示本輸入項(xiàng)在輸入后不賦給相應(yīng)的變量數(shù)字m指定輸入數(shù)據(jù)寬度,遇空格或不可轉(zhuǎn)換字符則結(jié)束

h用于d,i,o,x,u前,指定輸入為short型整數(shù)

l用于d,i,o,x,u前,指定輸入為long型整數(shù);用于e,f,g前,指定輸入為double型實(shí)數(shù)

L用于e,f,g前,指定輸入為longdouble型實(shí)數(shù)20一、格式化輸入函數(shù)

scanf()

輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符

其它字符做分隔符:格式串中兩個(gè)格式符間字符例scanf(“%d%o%x”,&a,&b,&c);輸入123123123例scanf(“%d:%d:%d”,&h,&m,&s);輸入12:30:45則12h,30m,45s例scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);輸入a=12,b=24,c=3621當(dāng)一行內(nèi)輸入的數(shù)據(jù)個(gè)數(shù)小于格式字符串的個(gè)數(shù)時(shí),光標(biāo)會(huì)出現(xiàn)在下一行,等待用戶繼續(xù)輸入。當(dāng)一行內(nèi)輸入的數(shù)據(jù)個(gè)數(shù)大于格式字符串的個(gè)數(shù),會(huì)把多于的數(shù)據(jù)留給后面的scanf函數(shù)使用。一、格式化輸入函數(shù)

scanf()

例scanf(“%7.2f”,&a);是不合法的說明:輸入數(shù)值時(shí)不能規(guī)定精度22一、格式化輸入函數(shù)

scanf()

用“%c”格式符時(shí),空格和轉(zhuǎn)義字符作為有效字符輸入。

可以指定字符寬度例如scanf(“%c%c%c”,&c1,&c2,&c3);若輸入abc則ac1,

c2,bc3例如scanf(“%3c%2c”,&c1,&c2);若輸入

abcde

則‘a(chǎn)’c1,‘d’c223一、格式化輸入函數(shù)

scanf()

輸入數(shù)據(jù)時(shí),遇以下情況認(rèn)為該數(shù)據(jù)結(jié)束:

遇空格、TAB、或回車

遇寬度結(jié)束

遇非法輸入例如scanf(“%d%c%f”,&a,&b,&c);若輸入1234a123o.26則1234a,‘a(chǎn)’b,123

c24例intx;charch;scanf(“%d”,&x);scanf(“%c”,&ch);printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10例intx;charch;scanf(“%d”,&x);ch=getchar();printf(“x=%d,ch=%d\n”,x,ch);執(zhí)行:123輸出:x=123,ch=10注意:輸入函數(shù)留下的“垃圾”(略)25二、字符輸入函數(shù)

getchar()注意:(1)getchar()

只接受一個(gè)字符。輸入多個(gè)字符時(shí),多余字符作廢。(按回車后才開始接收字符)(2)用getchar()得到的字符可以賦給字符型變量、整形變量或作為表達(dá)式的一部分。如c=getchar()+32;putchar(c);若輸入是:A則輸出是:a(3)使用getchar()、putchar()時(shí),在程序的開頭要有:

#include<stdio.h>或#include“stdio.h”格式:getchar()功能:從鍵盤緩沖區(qū)讀入一個(gè)字符。函數(shù)值:從輸入設(shè)備得到的字符。26例:#include<stdio.h>main(){intc;printf(“Enteracharacter:”);c=getchar();printf(“%c:%d\n”,c,c);}Enteracharacter:aa:97二、字符輸入函數(shù)

getchar()274.6

順序程序設(shè)計(jì)舉例順序結(jié)構(gòu)程序設(shè)計(jì)主要過程——定義變量,輸入或賦值,計(jì)算,輸出結(jié)果28#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);}例1輸入三角形邊長(zhǎng),求面積輸入:3,4,6輸出:

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論