c語(yǔ)言之基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)課件_第1頁(yè)
c語(yǔ)言之基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)課件_第2頁(yè)
c語(yǔ)言之基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)課件_第3頁(yè)
c語(yǔ)言之基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)課件_第4頁(yè)
c語(yǔ)言之基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)課件_第5頁(yè)
已閱讀5頁(yè),還剩57頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

C語(yǔ)言程序的基本語(yǔ)句數(shù)據(jù)的輸入輸出Begin:第三章基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)

C語(yǔ)言程序的基本語(yǔ)句Begin:第三章基本語(yǔ)句與順3.1C語(yǔ)言程序的基本語(yǔ)句3.1C語(yǔ)言程序的基本語(yǔ)句

C語(yǔ)言語(yǔ)句分為五類:表達(dá)式語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、控制語(yǔ)句、復(fù)合語(yǔ)句、空語(yǔ)句。1.表達(dá)式語(yǔ)句由一個(gè)表達(dá)式組成一個(gè)語(yǔ)句。

如:++p;/*自增運(yùn)算表達(dá)式加分號(hào)構(gòu)成語(yǔ)句*/N+=10;/*復(fù)合賦值表達(dá)式加分號(hào)構(gòu)成語(yǔ)句*/a+b;/*a+b表達(dá)式加分號(hào)構(gòu)成語(yǔ)句*/2.函數(shù)調(diào)用語(yǔ)句由一次函數(shù)調(diào)用加上分號(hào)“;”組成。形式:函數(shù)名(實(shí)參列表);如:printf(“VeryGood!\n”);/*輸出VeryGood!*/max(x,y,z);/*調(diào)用自定義函數(shù)max,求x,y,z中的最大數(shù)*/3.1C語(yǔ)言程序的基本語(yǔ)句3.1C語(yǔ)言程序的基本語(yǔ)句4.復(fù)合語(yǔ)句:用{}括起來(lái)組成的一個(gè)語(yǔ)句

如:if(a>b)

{x=0;b=b+1;x=a;}5.空語(yǔ)句:僅由一個(gè)分號(hào)構(gòu)成的語(yǔ)句3.控制語(yǔ)句:控制程序的流程

如:if…else語(yǔ)句,while語(yǔ)句,return語(yǔ)句等。如:while(getchar()!='\n')

;/*空語(yǔ)句*/3.1C語(yǔ)言程序的基本語(yǔ)句4.復(fù)合語(yǔ)句:用{}括起來(lái)組成的一個(gè)語(yǔ)句5.空語(yǔ)句:3.2賦值語(yǔ)句注意事項(xiàng)見(jiàn)書(shū)P503.2賦值語(yǔ)句注意事項(xiàng)見(jiàn)書(shū)P50功能:通過(guò)標(biāo)準(zhǔn)輸出設(shè)備(如顯示器)輸出一組數(shù)據(jù)。輸出形式由“格式控制”字符串規(guī)定。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)一般形式:

printf(“格式控制字符串”,輸出表列);3.3數(shù)據(jù)輸入輸出printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。1.printf()函數(shù)功能:通過(guò)標(biāo)準(zhǔn)輸出設(shè)備(如顯示器)輸出3.3.1格式輸出:格式控制:由雙引號(hào)括起來(lái)的字符串,用于指定要輸出的數(shù)據(jù)的格式。2)格式說(shuō)明:用來(lái)指定需輸出數(shù)據(jù)的輸出格式的,其形式為:

%[<修飾符>]格式字符格式字符用以說(shuō)明輸出數(shù)據(jù)的類型,形式,長(zhǎng)度,小數(shù)位數(shù)等。它包括:1)普通字符:按原樣輸出的字符;

輸出表列:需要輸出的數(shù)據(jù)列表,彼此間用逗號(hào)分隔。它可是任意合法的表達(dá)式。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)格式控制:由雙引號(hào)括起來(lái)的字符串,用于指定要輸出的數(shù)據(jù)的格式用于輸出的修飾符3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸出的修飾符3.3.1格式輸出:printf()函數(shù)用于輸出的格式字符格式符功

能形

式d輸出十進(jìn)制整數(shù)%d、%md、%ld、%mldo以八進(jìn)制形式輸出整數(shù)%o、%mo、%lox以十六進(jìn)制形式輸出整數(shù)%x、%mx、%lxu以十進(jìn)制形式輸出一個(gè)無(wú)符號(hào)的數(shù)%uc輸出一個(gè)字符%cs輸出一個(gè)字符串%s、%ms、%m.nsf以小數(shù)的形式輸出實(shí)數(shù)%f、%m.nf、%lfe以標(biāo)準(zhǔn)指數(shù)的形式輸出實(shí)數(shù)%e、%m.neg根據(jù)實(shí)數(shù)的大小自動(dòng)按f或e的形式選擇輸出格式%g3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸出的格式字符格式符功能形例:格式輸出:printf()函數(shù)printf("a+b=%5.2f",c);附加格式符格式符輸出表列普通字符格式說(shuō)明符格式控制3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)例:格式輸出:printf()函數(shù)print(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出%md:m為指定的輸出長(zhǎng)度。如果數(shù)據(jù)位小于m,則左端補(bǔ)以空格;大于m,則按實(shí)際位輸出。例:printf(“%4d,%4d”,a,b);若a=12,b=12345,則輸出12,12345%ld:輸出長(zhǎng)整型數(shù)據(jù)。其輸出格式和功能與%d相同,如:%8ld3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出%md:m為(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號(hào)。對(duì)于長(zhǎng)整數(shù)可用“%lo”輸出。功能同十進(jìn)制輸出。(3)x格式字符以十六進(jìn)制數(shù)形式輸出整數(shù),且不帶符號(hào)。對(duì)于長(zhǎng)整數(shù)可用“%lx”輸出。功能同十進(jìn)制輸出。(4)u格式字符用來(lái)輸出unsigned型數(shù)據(jù),即無(wú)符號(hào)數(shù),輸出十進(jìn)制數(shù)。用%o,%x輸出負(fù)數(shù)時(shí)會(huì)發(fā)生錯(cuò)誤。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號(hào)。對(duì)于長(zhǎng)(5)c格式字符一個(gè)整數(shù),如果在0~255之間,也可用字符形式輸出,系統(tǒng)會(huì)將該整數(shù)轉(zhuǎn)換成相對(duì)應(yīng)的ASCII碼字符;同時(shí),一字符也可以用整數(shù)形式輸出。例:charc=‘a(chǎn)’;printf(“%c”,c);用來(lái)輸出一個(gè)字符。inta=65;printf(“%c”,a);intc=‘A’;printf(“%d”,c);輸出A輸出65如:printf(“%3c”,c),則輸出c格式字符也可以指定輸出字?jǐn)?shù)寬度A3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(5)c格式字符一個(gè)整數(shù),如果在0~255之間,也(6)s格式字符%s:用來(lái)輸出一個(gè)字符串例:printf(“%s”,“Hello!”);輸出Hello!,不包括“”%ms:輸出的字符串占m列。如果字符串長(zhǎng)度小于m,則左端補(bǔ)以空格;長(zhǎng)度大于m,則輸出整個(gè)字符串。%-ms:如果串長(zhǎng)小于m,則字符串向左靠,右補(bǔ)空格,其余同上。%m.ns:輸出的字符串占m列,但只取字符串中左端n個(gè)字符,這n個(gè)字符輸出在m列的右側(cè),左端補(bǔ)空格。%-m.ns:其他意義同%m.ns,右補(bǔ)空格。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)例:printf(“%3s”,“Hello!”);輸出Hello!printf(“%7s”,“Hello!”);輸出Hello!(6)s格式字符%s:用來(lái)輸出一個(gè)字符串例:printf((7)f格式字符%f:不指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位。%m.nf:指定輸出數(shù)據(jù)占m列,其中有n位小數(shù)。若數(shù)值長(zhǎng)度小于m,則左端補(bǔ)以空格。%-m.nf:功能同上,右端補(bǔ)以空格。(8)e格式字符%e:不指定字段寬度,系統(tǒng)自動(dòng)給出6位小數(shù),指數(shù)部分占4位。其中“e”占1位,指數(shù)符號(hào)占1位,指數(shù)占2位。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(7)f格式字符%f:不指定字段寬度,整數(shù)部分全部輸出,小例:printf(“%e”,123.456);輸出:1.234560e+026位小數(shù)部分4位指數(shù)部分%m.ne,%-m.ne,%me

:中m,-的意義和前相同,n是指數(shù)據(jù)的小數(shù)部分輸出的位數(shù)。(9)g格式字符用來(lái)輸出實(shí)數(shù),根據(jù)數(shù)值大小,自動(dòng)選f或e格式,且不輸出無(wú)意義的零。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)例:printf(“%e”,123.456);6位小數(shù)部分4#include<stdio.h>voidmain(){inta=1234;floatf1=12.34567,f2=678.9;printf("1)%d,%6d,%-6d,%2d;\n",a,a,a,a);printf("2)%f,%10.4f,%3.2f;\n",f1,f1,f1);printf("3)%e,%e;\n",f1,f2);printf("4)%8e,%14e;\n",f1,f1);printf("5)%10.7e,%10.3e;\n",f1,f1);}實(shí)例:程序運(yùn)行結(jié)果:1)1234,1234,1234,1234;2)12.345670,12.3457,12.35;3)1.23457e+01,6.78900e+02;4)1.23457e+01,1.23457e+01;5)1.234567e+01,1.23e+01;#include<stdio.h>實(shí)例:程序運(yùn)行結(jié)果:2、格式輸入:scanf()函數(shù)功能:從終端輸入任何類型的多個(gè)數(shù)據(jù)

格式:scanf("格式控制",地址表列);格式控制:由雙引號(hào)括起來(lái)的字符串,用于指定要輸入的數(shù)據(jù)的格式。1)普通字符:按原樣輸入的字符;

2)格式說(shuō)明:用來(lái)指定需輸入數(shù)據(jù)的輸入格式的,其形式為:

%[<修飾符>]格式字符3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)地址表列:由若干個(gè)變量地址組成的表列。地址是由”&”運(yùn)算得到的?!埃Α笔侨≈愤\(yùn)算符,單目運(yùn)算符,右結(jié)合性。2、格式輸入:scanf()函數(shù)功能:從終端輸入任何類型的例:&a,&chr,&i,分別表示變量a,chr,i的地址,該地址是在編譯連接時(shí)系統(tǒng)分配給變量a,chr,i的地址。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸入的修飾符例:&a,&chr,&i,分別表示變量a,chr,用于輸入的格式字符3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸入的格式字符3.3.1格式輸出:printf()函格式輸入的使用與注意:輸入數(shù)據(jù)時(shí)采用的分隔符應(yīng)與格式控制中的分隔符一致。例1:

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

格式符中無(wú)普通字符時(shí),可用空格、Tab鍵、回車(chē)鍵作分隔符。如:123.45678↙或12(Tab)3.45(Tab)678例2:

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

必須采用格式:12,3.45,678↙例3:

scanf("a=%d,b=%d",&a,&b);

必須采用格式:a=12,b=345↙3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)格式輸入的使用與注意:輸入數(shù)據(jù)時(shí)采用的分隔符應(yīng)與格式控制中的無(wú)符號(hào)數(shù)可用%d、%o、%x格式輸入。輸入格式符帶有*:表示該數(shù)據(jù)不賦值。

例:scanf("%d%*d%d",&a,&c);

鍵入:1234567

則a=12,c=567,34未賦值。數(shù)據(jù)輸入時(shí)不可規(guī)定精度,但可確定寬度。

例:scanf(”%3f%3c”,&a,&b);合法。

例:scanf(”%3.2f%3c”,&a,&b);非法。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)無(wú)符號(hào)數(shù)可用%d、%o、%x格式輸入。3.3.1格式輸用c格式符輸入字符時(shí),空格、轉(zhuǎn)義字符均為有效字符。

scanf("%c%c%c",&a,&b,&c);

若鍵入ABC

則a=A,b=B,c=C若鍵入ABC

則a=A,b=,c=B若鍵入AB

則C未送,結(jié)果已出為:a=A,b=,c=B3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用c格式符輸入字符時(shí),空格、轉(zhuǎn)義字符均為有效字符。3.3.1在下列情況下可認(rèn)為數(shù)據(jù)輸入結(jié)束:遇空格、回車(chē)、跳格鍵(Tab)時(shí);遇寬度結(jié)束;非法輸入。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)在格式控制字符串中可包含轉(zhuǎn)義字符。

例:1)printf(“1)%s\n”,“VeryGood!”);

2)printf(“2)\“%s\”\n”,“VeryGood!”);

輸出結(jié)果:VeryGood!“VeryGood!”在下列情況下可認(rèn)為數(shù)據(jù)輸入結(jié)束:3.3.1格式輸出:pri例:自增、自減運(yùn)算符程序?qū)嵗?main(){inti;i=1;printf(“1)i=%d;2)i=%d;3)i=%d;4)i=%d;5)i=%d;6)i=%d;7)i=%d;\n",i,i++,i,i--,++i,i,--i);}程序運(yùn)行結(jié)果:1)i=1;2)i=0;3)i=0;4)i=1;5)i=1;6)i=0;7)i=0;不同的編譯系統(tǒng)對(duì)輸出表列中的求值順序不一定相同??梢詮淖蟮接?,也可從右到左。TC和BC是按從右到左進(jìn)行的。例:自增、自減運(yùn)算符程序?qū)嵗?main()程序運(yùn)main(){inta;floatb;charc;

printf("按格式%%d%%f%%c送數(shù):");scanf("%d%f%c",&a,&b,&c);printf("a=%d,b=%f,c=%c,\n",a,b,c);

printf("按格式%%d,%%f,%%c送數(shù):");scanf("%d,%f,%c",&a,&b,&c);printf("a=%d,b=%f,c=%c,\n",a,b,c);

printf("按格式%%6d%%6f%%6c送數(shù):");scanf("%6d%6f%6c",&a,&b,&c);printf("a=%d,b=%f,c=%c,\n",a,b,c);}程序運(yùn)行結(jié)果:按格式%d%f%c送數(shù):23

4.5pa=23,b=4.500000,c=p,按格式%d,%f,%c送數(shù):23,4.5,pa=23,b=4.500000,c=p,按格式%6d%6f%6c送數(shù):

23

4.5p

a=23,b=4.500000,c=p,程序?qū)嵗?:main()程序運(yùn)行結(jié)果:程序?qū)嵗?:main(){chara,b,c,d,e;scanf("%c%c%c",&a,&b,&c);scanf("%3c%3c",&d,&e);

printf("%c,%c,%c\n",a,b,c);printf("%c,%c\n",d,e);}程序?qū)嵗?:程序運(yùn)行結(jié)果:1234

5

1,2,34,5程序運(yùn)行結(jié)果(錯(cuò)誤):1234

5

1,2,3,main()程序?qū)嵗?:程序運(yùn)行結(jié)果:程序運(yùn)行結(jié)果(錯(cuò)誤1、字符輸出:putchar()函數(shù)格式:

putchar(C);功能:向終端輸出一個(gè)字符。C可以是字符型變量、整型變量,字符型常量或轉(zhuǎn)義字符。3.3.2字符輸入輸出函數(shù):putchar函數(shù)和getchar函數(shù)1、字符輸出:putchar()函數(shù)格式:putcharvoidmain(){chara;intb;a='b';b=111;putchar(a);putchar(b);putchar('y');putchar('\n');}例:運(yùn)用putchar()函數(shù)程序運(yùn)行結(jié)果:boy“o”的ASCII碼為1113.3.2字符輸入輸出函數(shù):putchar函數(shù)和getchar函數(shù)voidmain()例:運(yùn)用putchar()函數(shù)程1、字符輸入:getchar()函數(shù)格式:

getchar();功能:從終端輸入一個(gè)字符。getchar()只能接收一個(gè)字符,該字符可賦給字符變量、整型變量或作為表達(dá)式的一部分。例:main()

{charc;c=getchar();putchar(c);}輸入一個(gè)字符,再將該字符輸出3.3.2字符輸入輸出函數(shù):putchar函數(shù)和getchar函數(shù)1、字符輸入:getchar()函數(shù)格式:getchar例:將十進(jìn)制數(shù)407轉(zhuǎn)換為八進(jìn)制數(shù)。main(){intm,n1,n2,n3;m=407;n1=m%8;/*n1為個(gè)位*/n2=m/8%8;/*n2為十位*/n3=m/8/8%8;/*n3為百位*/printf("407=0%d\n",n3*100+n2*10+n1);}3.3.2字符輸入輸出函數(shù):putchar函數(shù)和getchar函數(shù)例:將十進(jìn)制數(shù)407轉(zhuǎn)換為八進(jìn)制數(shù)。main()3.3.TheEnd上機(jī)實(shí)驗(yàn)內(nèi)容:⑴熟悉數(shù)據(jù)的格式化輸入輸出;⑵《實(shí)驗(yàn)教程》第三章實(shí)驗(yàn):基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)。TheEnd上機(jī)實(shí)驗(yàn)內(nèi)容:C語(yǔ)言程序的基本語(yǔ)句數(shù)據(jù)的輸入輸出Begin:第三章基本語(yǔ)句與順序結(jié)構(gòu)程序設(shè)計(jì)

C語(yǔ)言程序的基本語(yǔ)句Begin:第三章基本語(yǔ)句與順3.1C語(yǔ)言程序的基本語(yǔ)句3.1C語(yǔ)言程序的基本語(yǔ)句

C語(yǔ)言語(yǔ)句分為五類:表達(dá)式語(yǔ)句、函數(shù)調(diào)用語(yǔ)句、控制語(yǔ)句、復(fù)合語(yǔ)句、空語(yǔ)句。1.表達(dá)式語(yǔ)句由一個(gè)表達(dá)式組成一個(gè)語(yǔ)句。

如:++p;/*自增運(yùn)算表達(dá)式加分號(hào)構(gòu)成語(yǔ)句*/N+=10;/*復(fù)合賦值表達(dá)式加分號(hào)構(gòu)成語(yǔ)句*/a+b;/*a+b表達(dá)式加分號(hào)構(gòu)成語(yǔ)句*/2.函數(shù)調(diào)用語(yǔ)句由一次函數(shù)調(diào)用加上分號(hào)“;”組成。形式:函數(shù)名(實(shí)參列表);如:printf(“VeryGood!\n”);/*輸出VeryGood!*/max(x,y,z);/*調(diào)用自定義函數(shù)max,求x,y,z中的最大數(shù)*/3.1C語(yǔ)言程序的基本語(yǔ)句3.1C語(yǔ)言程序的基本語(yǔ)句4.復(fù)合語(yǔ)句:用{}括起來(lái)組成的一個(gè)語(yǔ)句

如:if(a>b)

{x=0;b=b+1;x=a;}5.空語(yǔ)句:僅由一個(gè)分號(hào)構(gòu)成的語(yǔ)句3.控制語(yǔ)句:控制程序的流程

如:if…else語(yǔ)句,while語(yǔ)句,return語(yǔ)句等。如:while(getchar()!='\n')

;/*空語(yǔ)句*/3.1C語(yǔ)言程序的基本語(yǔ)句4.復(fù)合語(yǔ)句:用{}括起來(lái)組成的一個(gè)語(yǔ)句5.空語(yǔ)句:3.2賦值語(yǔ)句注意事項(xiàng)見(jiàn)書(shū)P503.2賦值語(yǔ)句注意事項(xiàng)見(jiàn)書(shū)P50功能:通過(guò)標(biāo)準(zhǔn)輸出設(shè)備(如顯示器)輸出一組數(shù)據(jù)。輸出形式由“格式控制”字符串規(guī)定。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)一般形式:

printf(“格式控制字符串”,輸出表列);3.3數(shù)據(jù)輸入輸出printf函數(shù)是一個(gè)標(biāo)準(zhǔn)庫(kù)函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。1.printf()函數(shù)功能:通過(guò)標(biāo)準(zhǔn)輸出設(shè)備(如顯示器)輸出3.3.1格式輸出:格式控制:由雙引號(hào)括起來(lái)的字符串,用于指定要輸出的數(shù)據(jù)的格式。2)格式說(shuō)明:用來(lái)指定需輸出數(shù)據(jù)的輸出格式的,其形式為:

%[<修飾符>]格式字符格式字符用以說(shuō)明輸出數(shù)據(jù)的類型,形式,長(zhǎng)度,小數(shù)位數(shù)等。它包括:1)普通字符:按原樣輸出的字符;

輸出表列:需要輸出的數(shù)據(jù)列表,彼此間用逗號(hào)分隔。它可是任意合法的表達(dá)式。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)格式控制:由雙引號(hào)括起來(lái)的字符串,用于指定要輸出的數(shù)據(jù)的格式用于輸出的修飾符3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸出的修飾符3.3.1格式輸出:printf()函數(shù)用于輸出的格式字符格式符功

能形

式d輸出十進(jìn)制整數(shù)%d、%md、%ld、%mldo以八進(jìn)制形式輸出整數(shù)%o、%mo、%lox以十六進(jìn)制形式輸出整數(shù)%x、%mx、%lxu以十進(jìn)制形式輸出一個(gè)無(wú)符號(hào)的數(shù)%uc輸出一個(gè)字符%cs輸出一個(gè)字符串%s、%ms、%m.nsf以小數(shù)的形式輸出實(shí)數(shù)%f、%m.nf、%lfe以標(biāo)準(zhǔn)指數(shù)的形式輸出實(shí)數(shù)%e、%m.neg根據(jù)實(shí)數(shù)的大小自動(dòng)按f或e的形式選擇輸出格式%g3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸出的格式字符格式符功能形例:格式輸出:printf()函數(shù)printf("a+b=%5.2f",c);附加格式符格式符輸出表列普通字符格式說(shuō)明符格式控制3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)例:格式輸出:printf()函數(shù)print(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出%md:m為指定的輸出長(zhǎng)度。如果數(shù)據(jù)位小于m,則左端補(bǔ)以空格;大于m,則按實(shí)際位輸出。例:printf(“%4d,%4d”,a,b);若a=12,b=12345,則輸出12,12345%ld:輸出長(zhǎng)整型數(shù)據(jù)。其輸出格式和功能與%d相同,如:%8ld3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出%md:m為(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號(hào)。對(duì)于長(zhǎng)整數(shù)可用“%lo”輸出。功能同十進(jìn)制輸出。(3)x格式字符以十六進(jìn)制數(shù)形式輸出整數(shù),且不帶符號(hào)。對(duì)于長(zhǎng)整數(shù)可用“%lx”輸出。功能同十進(jìn)制輸出。(4)u格式字符用來(lái)輸出unsigned型數(shù)據(jù),即無(wú)符號(hào)數(shù),輸出十進(jìn)制數(shù)。用%o,%x輸出負(fù)數(shù)時(shí)會(huì)發(fā)生錯(cuò)誤。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號(hào)。對(duì)于長(zhǎng)(5)c格式字符一個(gè)整數(shù),如果在0~255之間,也可用字符形式輸出,系統(tǒng)會(huì)將該整數(shù)轉(zhuǎn)換成相對(duì)應(yīng)的ASCII碼字符;同時(shí),一字符也可以用整數(shù)形式輸出。例:charc=‘a(chǎn)’;printf(“%c”,c);用來(lái)輸出一個(gè)字符。inta=65;printf(“%c”,a);intc=‘A’;printf(“%d”,c);輸出A輸出65如:printf(“%3c”,c),則輸出c格式字符也可以指定輸出字?jǐn)?shù)寬度A3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(5)c格式字符一個(gè)整數(shù),如果在0~255之間,也(6)s格式字符%s:用來(lái)輸出一個(gè)字符串例:printf(“%s”,“Hello!”);輸出Hello!,不包括“”%ms:輸出的字符串占m列。如果字符串長(zhǎng)度小于m,則左端補(bǔ)以空格;長(zhǎng)度大于m,則輸出整個(gè)字符串。%-ms:如果串長(zhǎng)小于m,則字符串向左靠,右補(bǔ)空格,其余同上。%m.ns:輸出的字符串占m列,但只取字符串中左端n個(gè)字符,這n個(gè)字符輸出在m列的右側(cè),左端補(bǔ)空格。%-m.ns:其他意義同%m.ns,右補(bǔ)空格。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)例:printf(“%3s”,“Hello!”);輸出Hello!printf(“%7s”,“Hello!”);輸出Hello!(6)s格式字符%s:用來(lái)輸出一個(gè)字符串例:printf((7)f格式字符%f:不指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位。%m.nf:指定輸出數(shù)據(jù)占m列,其中有n位小數(shù)。若數(shù)值長(zhǎng)度小于m,則左端補(bǔ)以空格。%-m.nf:功能同上,右端補(bǔ)以空格。(8)e格式字符%e:不指定字段寬度,系統(tǒng)自動(dòng)給出6位小數(shù),指數(shù)部分占4位。其中“e”占1位,指數(shù)符號(hào)占1位,指數(shù)占2位。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)(7)f格式字符%f:不指定字段寬度,整數(shù)部分全部輸出,小例:printf(“%e”,123.456);輸出:1.234560e+026位小數(shù)部分4位指數(shù)部分%m.ne,%-m.ne,%me

:中m,-的意義和前相同,n是指數(shù)據(jù)的小數(shù)部分輸出的位數(shù)。(9)g格式字符用來(lái)輸出實(shí)數(shù),根據(jù)數(shù)值大小,自動(dòng)選f或e格式,且不輸出無(wú)意義的零。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)例:printf(“%e”,123.456);6位小數(shù)部分4#include<stdio.h>voidmain(){inta=1234;floatf1=12.34567,f2=678.9;printf("1)%d,%6d,%-6d,%2d;\n",a,a,a,a);printf("2)%f,%10.4f,%3.2f;\n",f1,f1,f1);printf("3)%e,%e;\n",f1,f2);printf("4)%8e,%14e;\n",f1,f1);printf("5)%10.7e,%10.3e;\n",f1,f1);}實(shí)例:程序運(yùn)行結(jié)果:1)1234,1234,1234,1234;2)12.345670,12.3457,12.35;3)1.23457e+01,6.78900e+02;4)1.23457e+01,1.23457e+01;5)1.234567e+01,1.23e+01;#include<stdio.h>實(shí)例:程序運(yùn)行結(jié)果:2、格式輸入:scanf()函數(shù)功能:從終端輸入任何類型的多個(gè)數(shù)據(jù)

格式:scanf("格式控制",地址表列);格式控制:由雙引號(hào)括起來(lái)的字符串,用于指定要輸入的數(shù)據(jù)的格式。1)普通字符:按原樣輸入的字符;

2)格式說(shuō)明:用來(lái)指定需輸入數(shù)據(jù)的輸入格式的,其形式為:

%[<修飾符>]格式字符3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)地址表列:由若干個(gè)變量地址組成的表列。地址是由”&”運(yùn)算得到的?!埃Α笔侨≈愤\(yùn)算符,單目運(yùn)算符,右結(jié)合性。2、格式輸入:scanf()函數(shù)功能:從終端輸入任何類型的例:&a,&chr,&i,分別表示變量a,chr,i的地址,該地址是在編譯連接時(shí)系統(tǒng)分配給變量a,chr,i的地址。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸入的修飾符例:&a,&chr,&i,分別表示變量a,chr,用于輸入的格式字符3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用于輸入的格式字符3.3.1格式輸出:printf()函格式輸入的使用與注意:輸入數(shù)據(jù)時(shí)采用的分隔符應(yīng)與格式控制中的分隔符一致。例1:

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

格式符中無(wú)普通字符時(shí),可用空格、Tab鍵、回車(chē)鍵作分隔符。如:123.45678↙或12(Tab)3.45(Tab)678例2:

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

必須采用格式:12,3.45,678↙例3:

scanf("a=%d,b=%d",&a,&b);

必須采用格式:a=12,b=345↙3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)格式輸入的使用與注意:輸入數(shù)據(jù)時(shí)采用的分隔符應(yīng)與格式控制中的無(wú)符號(hào)數(shù)可用%d、%o、%x格式輸入。輸入格式符帶有*:表示該數(shù)據(jù)不賦值。

例:scanf("%d%*d%d",&a,&c);

鍵入:1234567

則a=12,c=567,34未賦值。數(shù)據(jù)輸入時(shí)不可規(guī)定精度,但可確定寬度。

例:scanf(”%3f%3c”,&a,&b);合法。

例:scanf(”%3.2f%3c”,&a,&b);非法。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)無(wú)符號(hào)數(shù)可用%d、%o、%x格式輸入。3.3.1格式輸用c格式符輸入字符時(shí),空格、轉(zhuǎn)義字符均為有效字符。

scanf("%c%c%c",&a,&b,&c);

若鍵入ABC

則a=A,b=B,c=C若鍵入ABC

則a=A,b=,c=B若鍵入AB

則C未送,結(jié)果已出為:a=A,b=,c=B3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)用c格式符輸入字符時(shí),空格、轉(zhuǎn)義字符均為有效字符。3.3.1在下列情況下可認(rèn)為數(shù)據(jù)輸入結(jié)束:遇空格、回車(chē)、跳格鍵(Tab)時(shí);遇寬度結(jié)束;非法輸入。3.3.1格式輸出:printf()函數(shù)和scanf()函數(shù)在格式控制字符串中可包含轉(zhuǎn)義字符。

例:1)printf(“1)%s\n”,“VeryGood!”);

2)printf(“2)\“%s\”\n”,“VeryGood!”);

輸出結(jié)果:VeryGood!“VeryGood!”在下列情況下可認(rèn)為數(shù)據(jù)輸入結(jié)束:3.3.1格式輸出:pri例:自增、自減運(yùn)算符程序?qū)嵗?main(){inti;i=1;printf(“1)i=%d;2)i=%d;3)i=%d;4)i=%d;5)i=%d;6)i=%d;7)i=%d;\n",i,i++,i,i--,++i,i,--i);}程序運(yùn)行結(jié)果:1)i=1;2)i=0;3)i=0;4)i=1;5)i=1;6)i=0;7)i=0;不同的編譯系統(tǒng)對(duì)輸出表列中的求值順序不一定相同。可以從左到右,也可從右到左。TC和BC是按從右到左進(jìn)行的。例:自增、自減運(yùn)算符程序?qū)嵗?main()程序運(yùn)main(){inta;floatb;charc;

printf("按格式%%d%%f%%c送數(shù):");scanf("%d%f%c",&a,&b,&c);printf("a=%d,b=%f,c=%c,\n",a,b,c);

printf("按格式%%d,%%f,%%c送數(shù):");scanf("%d,%f,%c",&a,&b,&c);printf("a=%d,b=%f,c=%c,\n",a,b,c);

printf("按格式%%6d%%6f%%6c送數(shù):");scanf

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論