大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語言)-第3章順序結(jié)構(gòu)_第1頁
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語言)-第3章順序結(jié)構(gòu)_第2頁
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語言)-第3章順序結(jié)構(gòu)_第3頁
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語言)-第3章順序結(jié)構(gòu)_第4頁
大學(xué)計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)(C語言)-第3章順序結(jié)構(gòu)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第3章順序結(jié)構(gòu)本章內(nèi)容數(shù)據(jù)的輸入輸出程序舉例C程序的語句123說明語句說明語句包括變量(或數(shù)組)定義語句和函數(shù)聲明語句兩種,而最常用的是變量(或數(shù)組)定義語句,通過變量定義語句確定變量的類型與初值。例如:charch1,ch2;intx,y,z=1;floata,b,c;doubled1,d2;執(zhí)行語句執(zhí)行語句可分為以下五類:1、表達(dá)式語句。如:k=k+1;為賦值語句

k+1;為表達(dá)式語句k++;為自增1語句

a=(b=5)+(c=3);2、復(fù)合語句。如:{z=x+y;t=z/100;}一個(gè)復(fù)合語句在語法上作為一條語句處理,在一對(duì)花括號(hào)中的語句數(shù)量不限。

復(fù)合語句花括號(hào)必須配對(duì);右花括號(hào)的后面不加分號(hào)。在復(fù)合語句中,不僅可以有執(zhí)行語句,還可以有說明語句.

如:{inta=5;b=a*a;}

執(zhí)行語句3、空語句?!埃弧?、函數(shù)調(diào)用語句。如:printf(“**book**”);

5、控制語句(9種)。如:if語句,for語句等數(shù)據(jù)的輸入輸出C語言中沒有提供輸入輸出語句,其輸入輸出操作,是通過C語言系統(tǒng)所提供的輸入輸出函數(shù)

來實(shí)現(xiàn)的。1、默認(rèn)的標(biāo)準(zhǔn)輸入輸出設(shè)備是鍵盤和顯示器。2、輸入輸出函數(shù)被放在標(biāo)準(zhǔn)的I/O函數(shù)庫中,庫中的公用信息存放在頭文件stdio.h中,若要使用這些輸入輸出函數(shù),必須在源程序的開始使用預(yù)處理命令:

#include"stdio.h"字符輸入函數(shù)getchar()格式:getchar()功能:從鍵盤上輸入一個(gè)字符。函數(shù)的值就是從鍵盤上得到的字符。能獲取空格、回車、制表符。如:charch;ch=getchar();注意:getchar()只能接收一個(gè)字符,而且只有在用戶敲入回車鍵<Enter>后,讀入才開始執(zhí)行。字符輸入函數(shù)getchar()main()

{

char

ch1,

ch2;

ch1

=

getchar();

ch2

=

getchar();

printf("%d

%d\n",

ch1,

ch2);

}

輸入:’A’<Enter>

程序的輸入都建有一個(gè)緩沖區(qū),即輸入緩沖區(qū)。當(dāng)一次鍵盤輸入結(jié)束時(shí),會(huì)將輸入的數(shù)據(jù)存入輸入緩沖區(qū),

getchar()函數(shù)從輸入流緩沖區(qū)中讀取值,而非從鍵盤(終端)緩沖區(qū)讀取。輸入字符A后,回車(\n)會(huì)一起讀入輸入流緩沖區(qū)。所以第一次getchar取走字符A后會(huì)留下字符\n,第二次getchar直接從緩沖區(qū)中把\n取走。字符輸出函數(shù)putchar()格式:putchar(ch)功能:將ch的值向標(biāo)準(zhǔn)輸出設(shè)備輸出。其中ch可以是字符型變量,整型變量,字符型常量。也可以輸出轉(zhuǎn)義字符。例:#include“stdio.h”main(){ chara,b,c;a=‘T’;b=‘e’;c=‘a(chǎn)’;

putchar(a);putchar(b);putchar(c);

}結(jié)果:Tea格式輸出函數(shù)printf()格式:

printf(“控制字符串”,輸出項(xiàng)列表)功能:按控制字符串規(guī)定的輸出格式,將輸出項(xiàng)列表中的各輸出項(xiàng)的值依次輸出到顯示器上。其中:控制字符串包括:格式說明:%[m.n][l]格式字符作用是將輸出的數(shù)據(jù)轉(zhuǎn)換為格式字符規(guī)定的格式,然后輸出。

格式字符printf(“%d”,15)格式字符意義d以十進(jìn)制有符號(hào)形式輸出整型數(shù)據(jù)o以八進(jìn)制無符號(hào)形式輸出整型數(shù)據(jù)(不帶前導(dǎo)0)x以十六進(jìn)制無符號(hào)形式輸出整型數(shù)據(jù)(不帶前導(dǎo)0x)u以十進(jìn)制無符號(hào)形式輸出整型數(shù)據(jù)c輸出一個(gè)字符s輸出字符串中的字符,直到遇到“\0”,或者輸出由精度指定的字符數(shù)f以小數(shù)形式輸出單精度和雙精度數(shù)據(jù),隱含的小數(shù)位數(shù)為6e以規(guī)格化的指數(shù)形式輸出單精度和雙精度數(shù)據(jù),隱含的小數(shù)位數(shù)為6控制字符串printf(“%5.2f”,23.45)字符意義字母l用于長(zhǎng)整型整數(shù)的輸出,可加在格式符d、o、x、u前面m(正整數(shù))指定輸出數(shù)據(jù)所占的寬度,若輸出的數(shù)據(jù)位數(shù)>m,為保證數(shù)據(jù)的正確性,則按實(shí)際位數(shù)輸出;如果數(shù)據(jù)的位數(shù)<m,則多出的位數(shù)補(bǔ)空格.n(正整數(shù)).n稱為精度。對(duì)實(shí)數(shù),表示輸出n位小數(shù);對(duì)字符串,表示截取的字符個(gè)數(shù);對(duì)于整數(shù),指定必須輸出的數(shù)字個(gè)數(shù),若輸出的數(shù)字少于指定的個(gè)數(shù),則前面補(bǔ)0,否則按原樣輸出-輸出的數(shù)字或字符左對(duì)齊+使輸出的數(shù)字總是帶“+”或“-”號(hào)0在輸出的數(shù)據(jù)前加前導(dǎo)“0”#使輸出的八進(jìn)制數(shù)(或十六進(jìn)制數(shù))帶前導(dǎo)0(或0x)輸出項(xiàng)列表:是需要輸出的一些數(shù)據(jù),可以是一個(gè)或者是多個(gè)輸出項(xiàng),當(dāng)有多個(gè)輸出項(xiàng)時(shí),輸出項(xiàng)之間用逗號(hào)“,”隔開,輸出項(xiàng)可以是常量、變量或表達(dá)式。輸出項(xiàng)的個(gè)數(shù)和類型必須與控制字符串的格式字符的個(gè)數(shù)、類型相匹配。printf(“控制字符串”,輸出項(xiàng)列表)控制字符串printf()原理printf(“a=%db=%d“,15,27);printf(“helloword“);1、在格式控制字符串中,格式說明與輸出項(xiàng)從左到右在類型上必須一一對(duì)應(yīng)匹配。對(duì)long型數(shù)據(jù)要使用%ld

格式輸出。2、在格式控制字符串中,格式說明與輸出項(xiàng)的個(gè)數(shù)應(yīng)該相同。如果格式說明的個(gè)數(shù)少于輸出項(xiàng)的個(gè)數(shù),則多余的輸出項(xiàng)不輸出;如果格式說明的個(gè)數(shù)多于輸出項(xiàng)的個(gè)數(shù),則對(duì)于多余的格式項(xiàng)將輸出不定值(或0值)。在格式控制字符串中,除了合法的格式說明外,可以包含任意的合法字符(包括轉(zhuǎn)義字符),這些字符在輸出時(shí)“原樣照印”。printf()原理3、若需輸出百分號(hào)%斜杠\%%\\4、在輸出語句中改變輸出變量的值,如:inta=5;printf(“%d%d\n”,a,a++);5、printf函數(shù)的返回值通常是本次調(diào)用中輸出字符的個(gè)數(shù)。printf()舉例main(){charch=‘a(chǎn)’;inta=123;floatx=12.3456;printf(“Hellocomputer\n”);printf(“%c,%d\n”,ch,ch); printf(“%.5d,%.2d,%5d,%05d\n”,a,a,a,a);printf(“%f,%10.3f,%5.5f,%2.3f\n”,x,x,x,x);}Hellocomputer<Enter>a,9700123,123,123,0012312.345600,12.346,12.34560,12.346printf()再舉例int

a=12478;格式控制符輸出結(jié)果

%d%8d%3d%-8d

12478124781247812478printf()再舉例float

a=

1274.678;格式控制符輸出結(jié)果

%f%e%8.2f%6.2f

%10.2e%-10.2e1274.6780001.274678e+001274.681274.681.3e+0031.3e+003printf()再舉例c=

“hello”;格式控制符輸出結(jié)果

%s%3s%7s%7.2s

%-7.2shellohellohellohehe格式輸入函數(shù)scanf()格式:

scanf(“控制字符串”,地址表列)功能:按控制字符串規(guī)定的輸入格式,從鍵盤上將輸入的數(shù)據(jù)依次存到輸入項(xiàng)地址表列所指定的內(nèi)存單元中。地址表列:變量的地址表,即:&變量名,&變量名,…

控制字符串:與printf()函數(shù)類似。

格式輸入函數(shù)scanf()main(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“a=%d,b=%d,c=%d\n”,a,b,c);printf(“s=%d”,a+b+c);}從鍵盤上輸入:312110屏幕上則顯示:a=3,b=12,c=110s=125注意:1、輸入long整型數(shù)據(jù)時(shí),在“%”和“d”

之間必須加“l(fā)”;輸入double型數(shù)據(jù)時(shí),在“%”和“f(e)”之間也必須加l。否則得不到正確的數(shù)據(jù)。2、當(dāng)指定輸入數(shù)據(jù)所占的寬度m時(shí),系統(tǒng)自動(dòng)按寬度m截取所需數(shù)據(jù)。但不能對(duì)實(shí)型數(shù)據(jù)指定小數(shù)位的寬度。例:scanf(“%4d%2d”,&a,&b);

若輸入:123456

則將1234→a,56→b

scanf(“%7.2f”,&a);不合法。格式輸入函數(shù)scanf()格式輸入函數(shù)scanf()3、輸入項(xiàng)與控制字符串中的格式說明從左到右在類型上必須一一對(duì)應(yīng)匹配。4、數(shù)據(jù)輸入的合法結(jié)束:空格(一個(gè)或多個(gè))、回車、TAB鍵、數(shù)據(jù)域?qū)挘欠ㄝ斎搿?、在用“%c”格式輸入字符時(shí),空格符、制表符或回車符、“轉(zhuǎn)義字符”等都是有效字符。但是,如果在格式說明之間加入了空格后,這時(shí)輸入字符中的空格符、制表符和回車符都將作為間隔符。例:已知:charc1,c2,c3;inta,b;floatd,e;格式輸入語句輸入數(shù)據(jù)的格式變量獲得的值 scanf(“%d%d%f”,&a,&b,&d) 101112.5a=10,b=11,d=12.5scanf(“%2d%2d”,&a,&b) 10113a=10,b=11 scanf(“%c%c%c”,&c1,&c2,&c3) ABCc1=’A’,c2=’B’,c3=’C’ABCc1=’A’,c2=’‘,c3=’B’scanf(“%d%c%d”,&a,&c1,&b) 123c48Da=123,c1=’c’,b=48scanf(“%7.2f”,&d)這是錯(cuò)誤格式。因?yàn)檩斎霐?shù)據(jù)時(shí)不能規(guī)定精度。 scanf()舉例綜合程序舉例例:已知a=5.0,b=2.5,c=7.8,計(jì)算#include"stdio.h"#definePI3.14main(){floata=5.0,b=2.5,c=7.8,y;

y=PI*a*b/(a+b*c);

printf("y=%f\n",y);}綜合程序舉例例:從鍵盤輸入兩個(gè)整數(shù)賦給變量a和b,要求交換變量a和b中的值。#include"stdio.h"main(){inta,b

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(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ǔ)空間,僅對(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)論