C語言程序設(shè)計 3.3輸入與輸出語句_第1頁
C語言程序設(shè)計 3.3輸入與輸出語句_第2頁
C語言程序設(shè)計 3.3輸入與輸出語句_第3頁
C語言程序設(shè)計 3.3輸入與輸出語句_第4頁
C語言程序設(shè)計 3.3輸入與輸出語句_第5頁
已閱讀5頁,還剩15頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

<>3

輸入輸出語句標(biāo)準(zhǔn)輸入輸出函數(shù)putchar輸出字符,scanf格式輸入,puts輸出字符串getchar輸入字符,printf格式輸出,gets輸入字符串所謂數(shù)據(jù)的輸入輸出是從計算機角度出發(fā)的。C語言本身沒有I/O語句,所有I/O都由函數(shù)來實現(xiàn)。C語言的標(biāo)準(zhǔn)庫函數(shù)由編譯系統(tǒng)提供的一系列函數(shù),以庫形式存放在系統(tǒng)中,不是C語言文本的組成部分。庫函數(shù)已編譯成目標(biāo)文件(.obj),在連接階段才與源程序編譯成的目標(biāo)文件相連接,生成可執(zhí)行文件。調(diào)用形式:函數(shù)名(參數(shù)表)注意在調(diào)用C語言庫函數(shù)時,需要使用編譯預(yù)處理命令#include<相關(guān)的頭文件>,使相應(yīng)的頭文件包含到用戶源程序中。

#include<stdio.h>或#include”stdio.h”TurboC2.0可以不加#include命令常用頭文件:stdio.h定義輸入輸出函數(shù)string.h定義字符串操作函數(shù)math.h定義sin、cos等數(shù)學(xué)函數(shù)<>3.1

字符數(shù)據(jù)的輸入輸出putchar函數(shù)(單字符輸出函數(shù))輸出一個字符:格式:putchar(‘字符’);

putchar(字符變量);

強調(diào):被輸出的單個字符必須被‘’括起來運行結(jié)果:BOY

/*例4.1putchar(‘字符’)*/#include<stdio.h>voidmain(){putchar('B');putchar('O');putchar('Y');}/*例putchar(字符變量)*/#include<stdio.h>voidmain(){chara,b,c;a='B';b=‘O';c=‘Y';putchar(a);putchar(b);putchar(c);}結(jié)果當(dāng)然還是一樣的!<>輸出控制字符/*例putchar(‘控制字符’)*/#include<stdio.h>voidmain(){chara,b;a=‘O';b=‘k';putchar(a);putchar(‘\n’);putchar(b);}運行結(jié)果:Ok輸出轉(zhuǎn)義字符/*例

putchar()含有轉(zhuǎn)義符*/#include<stdio.h>voidmain(){chara;a='B';putchar('\101');putchar(a);}運行結(jié)果:AB<>getchar函數(shù)(單字符輸入函數(shù))。格式:getchar()

;

強調(diào):輸入單個字符后,必須按一次回車,計算機才接受輸入的字符。#include<stdio.h>不能少!#include<stdio.h>voidmain(){charc;c=getchar();putchar(c);}運行結(jié)果:aa<>3.2

格式輸入與輸出printf函數(shù)(格式輸出函數(shù))printf函數(shù)的一般格式格式:printf(格式控制,輸出表列);格式控制:用雙引號括起來的字符串,包含兩種信息格式說明:%[修飾符]格式字符,指定輸出格式普通字符:原樣輸出輸出表列:要輸出的數(shù)據(jù),可以是變量或表達式,可以沒有,多個時以“,”分隔)例:printf(“%d%d”,a,b);

printf(“a=%db=%d\n”,a,b);格式說明普通字符轉(zhuǎn)義字符輸出表列<>/*從最簡單的學(xué)起*/#include<stdio.h>voidmain(){printf(“HelloWorld!”);}運行結(jié)果:HelloWorld!調(diào)用printf()時可以省略#include命令!<>格式字符d格式符:輸出十進制整數(shù),有3種用法%d格式:按數(shù)據(jù)實際長度輸出,數(shù)據(jù)范圍-32768~32767。/*%d格式的printf()函數(shù)使用*/#include<stdio.h>voidmain(){inta=3,b=4;printf(“%d%d\n”,a,b);printf(“a=%d,b=%d\n”,a,b);}運行結(jié)果:34a=3,b=4格式說明決定最終輸出的格式格式說明應(yīng)與輸出列表項個數(shù)相同,順序一致格式說明通常用小寫字母表示<>%md格式:m指定輸出字段的寬度數(shù)據(jù)位數(shù)小于m,左端補空格,反之按實際輸出。inta=123,b=12345;printf(“%4d%4d”,a,b);%ld格式:輸出長整型數(shù)據(jù)可以用%mld格式指定輸出列寬longc=135790printf(“%ld\n”,c);printf(“%8ld”,c);135790135790135790>32767(int型數(shù)據(jù)的最大值)12312345<>o格式符:八進制輸出整數(shù)是將內(nèi)存中的二進制位整個按八進制輸出,所以輸出值沒有符號??梢灾付ㄝ敵鰧挾?mo,長整型可以用%lo格式輸出。inta=-1;printf(“%d,%o,%8o,%x”,a,a,a,a);輸出:-1,177777,__177777,ffff1111111111111111-1在存的存放形式(補碼)x格式符:十六進制輸出整數(shù)同o格式符,無符號,即無負(fù)十六進制數(shù)??梢灾付ㄝ敵鰧挾?mx

,長整型可以用%lx格式輸出。<>u格式符:十進制輸出unsigned型數(shù)據(jù)int型可以用%u格式輸出,unsigned型也可以用%d、%o和%x格式輸出。例

無符號數(shù)據(jù)的輸出

#include<stdio.h>voidmain(){unsignedinta=65535;intb=-2;printf(“a=%d,%o,%x,%u\n”,a,a,a,a);printf(“b=%d,%o,%x,%u\n”,b,b,b,b);}運行結(jié)果:a=-1,177777,ffff,65535b=-2,177776,fffe,65534<>c格式符:輸出一個字符值在0~255的整數(shù),可以用%c形式輸出為字符例

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

#include<stdio.h>voidmain(){charc=‘a(chǎn)’;inti=97;printf(“%c,%d\n”,c,c);printf(“%c,%d\n”,i,i);}運行結(jié)果:

a,97a,97<>s格式符:輸出一個字符串有%s,%ms,%-ms,%m.ns,%-m.ns五種用法例

字符串的輸出

#include<stdio.h>voidmain(){printf(“%3s,%7.2s,%.4s,%-5.3d\n”,“CHINA”,“CHINA”,“CHINA”,“CHINA”);}運行結(jié)果:

CHINA,_____CH,CHIN,CHI__m自動=n<>f格式符:輸出實數(shù)%f格式:整數(shù)部分全部輸出,小數(shù)6位??梢杂蟹怯行?shù)字輸出,因為單精度有效位7位,雙精度16位。%m.nf格式:占m列,其中n位小數(shù),左補空格。%-m.nf格式:右補空格例%f格式輸出實數(shù)時指定小數(shù)位數(shù)

#include<stdio.h>voidmain(){flotf=123.456;printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f);}例4.6%f格式輸出實數(shù)時的有效位數(shù)

#include<stdio.h>voidmain(){flotx,y;x=111111.111;y=222222.222;printf(“%f\n”,x+y);}運行結(jié)果:

333333.328125例%f格式輸出雙精度實數(shù)時的有效位數(shù)

#include<stdio.h>voidmain(){doublex,y;a=1111111111111.111111111;b=2222222222222.222222222;printf(“%f\n”,x+y);}運行結(jié)果:

3333333333333.333010運行結(jié)果:123.456001__123.456001______123.46__123.46__123.46____<>e格式符:指數(shù)形式輸出實數(shù)%e格式:不指定m和n,小數(shù)6位,指數(shù)部分共5位,其中e和指數(shù)符號各1位,指數(shù)值3位。%m.ne和%-m.ne格式:m、n、-的含義同前面。沒有n時,自動=6g格式符:輸出實數(shù)可以自動根據(jù)數(shù)值大小選擇f或e格式(選列少的)不輸出無意義的零<>scanf函數(shù)(輸入函數(shù))

一般形式功能:按指定格式從鍵盤讀入數(shù)據(jù),存入地址表指定的存儲

單元中,并按回車鍵結(jié)束格式控制:含義同printf函數(shù)地址表列:變量地址或字符串地址,地址間“,”分隔。強調(diào):地址列表中每一項必須以取地址運算符&開頭。格式:scanf(格式控制,地址表列

)

;

用scanf函數(shù)輸入數(shù)據(jù)#include<stdio.h>voidmain(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf(“%d,%d,%d\n”,a,b,c);}輸入:3_4_5輸出:3,4,5<>例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例scanf(“%4d%2d%2d”,&yy,&mm,&dd);輸入

19991015

1999yy,10mm,15dd<>輸入分隔符的指定一般以空格、TAB或回車鍵作為分隔符輸入數(shù)據(jù)時,遇非法輸入則認(rèn)為數(shù)據(jù)結(jié)束其它字符做分隔符:格式串中兩個格式符間有其它字符,則輸入時對應(yīng)位置也要有相同的字符。例scanf(“%d:%d:%d”,&h,&m,&s);

輸入12:30:45則12h,30m,45s例

scanf(“%d%c%f”,&a,&b,&c);

輸入1234a123o.26

則1234a,‘a(chǎn)’b,123c非法字符<>3順序結(jié)構(gòu)程序舉例例

輸入三角形邊長,求面積#include<math.h>#include<stdio.h>voidmain(){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);pri

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論