C語言第3章順序結(jié)構(gòu)程序設(shè)計課件_第1頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計課件_第2頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計課件_第3頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計課件_第4頁
C語言第3章順序結(jié)構(gòu)程序設(shè)計課件_第5頁
已閱讀5頁,還剩73頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第3章順序結(jié)構(gòu)程序設(shè)計

____________主講教師:姜毅2022/11/211第3章順序結(jié)構(gòu)程序設(shè)計

____________2022章節(jié)知識點(diǎn):3.1順序結(jié)構(gòu)的構(gòu)成3.2C語句的分類3.2賦值語句3.2數(shù)據(jù)的輸入與輸出AB2022/11/212章節(jié)知識點(diǎn):3.1順序結(jié)構(gòu)的構(gòu)成AB2022/11/21知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)程序的執(zhí)行原理1分100%★C語言的分類2分60%★★★表達(dá)式語句4分100%★★★賦值語句2分30%★★輸入語句的使用2分60%★★★輸出語句的使用2分50%★★★筆試部分2022/11/213知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)程序的執(zhí)行原理1分10知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)的組成10分30%★★★格式輸入輸出語句10分必須重視★★★字符輸入與輸出5分4%★★★★上機(jī)部分2022/11/214知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)的組成10分30%★★3.1順序結(jié)構(gòu)的構(gòu)成

語句按照它們在程序中出現(xiàn)的順序逐條執(zhí)行,由這樣的語句構(gòu)成的程序結(jié)構(gòu)稱為順序結(jié)構(gòu)。

順序結(jié)構(gòu)定義inta=8;intc=7;intc;c=a+b;printf(“theaandbis%d”,c);2022/11/2153.1順序結(jié)構(gòu)的構(gòu)成語句按照它們在程序中#include<stdio.h>第一部分:預(yù)編譯部分預(yù)編譯main()

第二部分:函數(shù)體函數(shù)名{函數(shù)開始inta,b,sum;聲明部分a=1;執(zhí)行部分b=2;sum=a+b;printf(“sumis%d\n”,sum);}函數(shù)結(jié)束2022/11/216第一部分:預(yù)編譯main()

函數(shù)名{函數(shù)開始inta,3.2C語句的分類(1)表達(dá)式語句(2)函數(shù)調(diào)用語句(3)控制語句(4)空語句(5)復(fù)合語句2022/11/2173.2C語句的分類(1)表達(dá)式語句2022/11/217(1)表達(dá)式語句:在表達(dá)式的后面加上一個分號構(gòu)成。

例:x=100/*C表達(dá)式*/x=100;/*表達(dá)式語句*/x+5;/*合法,但沒意義*/(2)函數(shù)調(diào)用語句:

由函數(shù)名、函數(shù)的實(shí)際參數(shù)加上分號“;”組成。例:printf(“Ilovehuben.\n");2022/11/218(2)函數(shù)調(diào)用語句:2022/11/218(3)控制語句:由特定的語句定義符組成,用于控制程序的流程,以實(shí)現(xiàn)程序的各種結(jié)構(gòu)方式。C語言有九種控制語句。可分成以下三類:

1、條件判斷語句:if語句,switch語句;

2、循環(huán)執(zhí)行語句:dowhile語句、while語句和for語句;

3、轉(zhuǎn)向語句:break語句、continue語句和return語句、goto語句(不考)。2022/11/219(3)控制語句:由特定的語句定義符組成,用于控制程序的流程,(4)復(fù)合語句:把多個語句用一對花括號{}括起來組成的一個語句稱為復(fù)合語句。例如:

main(){intx,y,z,t;x=8;y=6;if(x>y){z=x–y;t=z*2;}else{z=x+y;t=z/2;}printf("z=%d,t=%d\n",z,t);}(5)空語句:僅包含一個分號的語句。2022/11/2110(4)復(fù)合語句:把多個語句用一對花括號{}括起來組成的一個3.3賦值語句其一般形式為:變量=常量或表達(dá)式;在變量定義中,不允許連續(xù)賦初值。例:inta=1;正確

inta=b=c=d=e=1;錯誤賦值語句是由賦值表達(dá)式加上一個分號構(gòu)成例:a=100賦值表達(dá)式

a=100;賦值語句賦值符“=”右邊的表達(dá)式也可以是一個賦值表達(dá)式例:inta,b,c,d,e;

定義變量

a=b=c=d=e=100;一并賦值2022/11/21113.3賦值語句其一般形式為:例:inta=1;3.4數(shù)據(jù)的輸入輸出

對計算機(jī)而言,輸出就是將計算機(jī)內(nèi)部數(shù)據(jù)傳送到外部設(shè)備上,比如把一系列的字符打印到顯示器。相反,通過鍵盤,掃描儀等外部設(shè)備將數(shù)據(jù)傳送到計算機(jī)內(nèi)部的操作稱為輸入。在C語言中輸入輸出是通過標(biāo)準(zhǔn)函數(shù)庫來調(diào)用的,因此,在調(diào)用輸入輸出語句時一定要加上#include<stdio.h>。2022/11/21123.4數(shù)據(jù)的輸入輸出對計算機(jī)而言,輸出就是將計算機(jī)內(nèi)3.4.1

格式輸入與輸出1.

printf函數(shù)的一般調(diào)用形式功能:通過標(biāo)準(zhǔn)輸出設(shè)備(如顯示器)輸出一組數(shù)據(jù)。輸出形式由“格式控制”字符串規(guī)定。printf(“格式控制字符串”,輸出表列);printf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。2022/11/21133.4.1格式輸入與輸出1.

printf函數(shù)的一般調(diào)格式控制:由雙引號括起來的字符串,用于指定要輸出的數(shù)據(jù)的格式。2)格式說明:用來指定需輸出數(shù)據(jù)的輸出格式的,其形式為:

%[<修飾符>]格式字符

格式字符用以說明輸出數(shù)據(jù)的類型,形式,長度,小數(shù)位數(shù)等。它包括:

1)普通字符:按原樣輸出的字符;輸出表列:需要輸出的數(shù)據(jù)列表,彼此間用逗號分隔。它可是任意合法的表達(dá)式。2022/11/2114格式控制:由雙引號括起來的字符串,用于指定要輸出的數(shù)據(jù)的格式用于輸出的修飾符2022/11/2115用于輸出的修飾符2022/11/2115用于輸出的格式字符格式符功

能形

式d輸出十進(jìn)制整數(shù)%d、%md、%ld、%mldo以八進(jìn)制形式輸出整數(shù)%o、%mo、%lox以十六進(jìn)制形式輸出整數(shù)%x、%mx、%lxu以十進(jìn)制形式輸出一個無符號的數(shù)%uc輸出一個字符%cs輸出一個字符串%s、%ms、%m.nsf以小數(shù)的形式輸出實(shí)數(shù)%f、%m.nf、%lfe以標(biāo)準(zhǔn)指數(shù)的形式輸出實(shí)數(shù)%e、%m.neg根據(jù)實(shí)數(shù)的大小自動按f或e的形式選擇輸出格式%g2022/11/2116用于輸出的格式字符格式符功能形例:格式輸出:printf()函數(shù)

printf("a+b=%5.2f",c);附加格式符格式符輸出表列普通字符格式說明符格式控制2022/11/2117例:格式輸出:printf()函數(shù)print(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長度輸出%md:m為指定的輸出長度。如果數(shù)據(jù)位小于m,則左端補(bǔ)以空格;大于m,則按實(shí)際位輸出。例:printf(“%4d,%4d”,a,b);

若a=12,b=12345,則輸出12,12345%ld:輸出長整型數(shù)據(jù)。%d的輸出范圍為-32768~32767,輸出超過該范圍的整型數(shù)就會出錯,此時用%ld輸出。其輸出格式和功能與%d相同,如:%8ld2022/11/2118(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長度輸出%md:m為(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號。對于長整數(shù)可用“%lo”輸出。功能同十進(jìn)制輸出。(3)x格式字符以十六進(jìn)制數(shù)形式輸出整數(shù),且不帶符號。對于長整數(shù)可用“%lx”輸出。功能同十進(jìn)制輸出。(4)u格式字符用來輸出unsigned型數(shù)據(jù),即無符號數(shù),輸出十進(jìn)制數(shù)。用%o,%x輸出負(fù)數(shù)時會發(fā)生錯誤。2022/11/2119(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號。對于長(5)c格式字符

一個整數(shù),如果在0~255之間,也可用字符形式輸出,系統(tǒng)會將該整數(shù)轉(zhuǎn)換成相對應(yīng)的ASCII碼字符;同時,一字符也可以用整數(shù)形式輸出。例:charc=‘a(chǎn)’;printf(“%c”,c);用來輸出一個字符。inta=65;printf(“%c”,a);intc=‘A’;printf(“%d”,c);輸出A輸出65如:printf(“%3c”,c),則輸出c格式字符也可以指定輸出字?jǐn)?shù)寬度A2022/11/2120(5)c格式字符一個整數(shù),如果在0~255之間,也(6)s格式字符%s:用來輸出一個字符串例:printf(“%s”,“Hello!”);輸出Hello!,不包括“”%ms:輸出的字符串占m列。如果字符串長度小于m,則左端補(bǔ)以空格;長度大于m,則輸出整個字符串。%-ms:如果串長小于m,則字符串向左靠,右補(bǔ)空格,其余同上。%m.ns:輸出的字符串占m列,但只取字符串中左端n個字符,這n個字符輸出在m列的右側(cè),左端補(bǔ)空格。%-m.ns:其他意義同%m.ns,右補(bǔ)空格。例:printf(“%3s”,“Hello!”);輸出Hello!

printf(“%7s”,“Hello!”);輸出Hello!2022/11/2121(6)s格式字符%s:用來輸出一個字符串例:printf((7)f格式字符%f:不指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位。%m.nf:指定輸出數(shù)據(jù)占m列,其中有n位小數(shù)。若數(shù)值長度小于m,則左端補(bǔ)以空格。%-m.nf:功能同上,右端補(bǔ)以空格。(8)e格式字符%e:不指定字段寬度,系統(tǒng)自動給出6位小數(shù),指數(shù)部分占4位。其中“e”占1位,指數(shù)符號占1位,指數(shù)占2位。2022/11/2122(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格式字符

用來輸出實(shí)數(shù),根據(jù)數(shù)值大小,自動選f或e格式,且不輸出無意義的零。2022/11/2123例: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.234567e+01,6.78900e+02;4)1.234567e+01,1.234567e+01;5)1.2345670e+01,1.235e+01;2022/11/2124#include<stdio.h>實(shí)例:程序運(yùn)行結(jié)果:20例:#include"stdio.h"main(){intx=65,y=66;printf("%d%d",x,y);printf("%d,%d\n",x,y);printf("x的值為%d,y的值為%d",x,y);}程序運(yùn)行結(jié)果為:656665,66x的值為65,y的值為662022/11/2125例:#include"stdio.h"程序運(yùn)行結(jié)果為注意:使用函數(shù)printf時要注意一個問題,那就是輸出表列中的求值順序。不同的編譯系統(tǒng)不一定相同,可以從左到右,也可從右到左。VC6.0是按從左到右進(jìn)行的。TC和BC是按從右到左進(jìn)行的。2022/11/2126注意:VC6.0是按從左到右進(jìn)行的。2022/11/21262.scanf函數(shù)的一般調(diào)用形式功能:從終端輸入任何類型的多個數(shù)據(jù)格式:scanf("格式控制",地址表列);格式控制:由雙引號括起來的字符串,用于指定要輸入的數(shù)據(jù)的格式。1)普通字符:按原樣輸入的字符;2)格式說明:用來指定需輸入數(shù)據(jù)的輸入格式的,其形式為:

%[<修飾符>]格式字符地址表列:由若干個變量地址組成的表列。地址是由”&”運(yùn)算得到的。“&”是取址運(yùn)算符,單目運(yùn)算符,右結(jié)合性。2022/11/21272.scanf函數(shù)的一般調(diào)用形式功能:從終端輸入任何類型的多例:&a,&chr,&i,分別表示變量a,chr,i的地址,該地址是在編譯連接時系統(tǒng)分配給變量a,chr,i的地址。用于輸入的修飾符2022/11/2128例:&a,&chr,&i,分別表示變量a,chr,用于輸入的格式字符2022/11/2129用于輸入的格式字符2022/11/2129格式輸入的使用與注意:輸入數(shù)據(jù)時采用的分隔符應(yīng)與格式控制中的分隔符一致。例1:scanf("%d%f%d",&a,&b,&c);

格式符中無普通字符時,可用空格、Tab鍵、回車鍵作分隔符。如: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↙2022/11/2130格式輸入的使用與注意:輸入數(shù)據(jù)時采用的分隔符應(yīng)與格式控制中的無符號數(shù)可用%d、%o、%x格式輸入。輸入格式符帶有*:表示該數(shù)據(jù)不賦值。

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

鍵入:1234567

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

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

合法。

例:scanf(”%3.2f%3c”,&a,&b);非法。2022/11/2131無符號數(shù)可用%d、%o、%x格式輸入。2022/11/2格式控制字符中禁止使用轉(zhuǎn)義字符用c格式符輸入字符時,空格、轉(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=B2022/11/2132格式控制字符中禁止使用轉(zhuǎn)義字符2022/11/2132在下列情況下可認(rèn)為數(shù)據(jù)輸入結(jié)束:遇空格、回車、跳格鍵(Tab)時;遇寬度結(jié)束;非法輸入。在格式控制字符串中可包含轉(zhuǎn)義字符。

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

輸出結(jié)果:VeryGood!“VeryGood!”2022/11/2133在下列情況下可認(rèn)為數(shù)據(jù)輸入結(jié)束:在格式控制字符串中可包含轉(zhuǎn)義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é)果(錯誤):1234

5

1,2,3,2022/11/2134main()程序?qū)嵗撼绦蜻\(yùn)行結(jié)果:程序運(yùn)行結(jié)果(錯誤)1、字符輸出:putchar()函數(shù)格式:

putchar();功能:向終端輸出一個字符。C為形式參數(shù),它可以是字符型變量、整型變量,字符型常量或轉(zhuǎn)義字符。3.4.2

字符數(shù)據(jù)的輸入與輸出2022/11/21351、字符輸出: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碼為1112022/11/2136voidmain()例:運(yùn)用putchar()函數(shù)程2、字符輸入:getchar()函數(shù)格式:getchar();功能:從終端輸入一個字符。getchar()只能接收一個字符,該字符可賦給字符變量、整型變量或作為表達(dá)式的一部分。例:main()

{charc;c=gethar();putchar(c);}輸入一個字符,再將該字符輸出2022/11/21372、字符輸入:getchar()函數(shù)格式:getcharputchar(字符變量)(1)putchar函數(shù)的一般調(diào)用形式printf(“%c”,字符變量);(2)getchar函數(shù)的一般調(diào)用形式scanf(“%c”,&字符變量);getchar(字符變量)思考?2022/11/2138putchar(字符變量)(1)putchar函數(shù)的一般調(diào)用真題剖析2022/11/2139真題剖析2022/11/2139第3章順序結(jié)構(gòu)程序設(shè)計

____________主講教師:姜毅2022/11/2140第3章順序結(jié)構(gòu)程序設(shè)計

____________2022章節(jié)知識點(diǎn):3.1順序結(jié)構(gòu)的構(gòu)成3.2C語句的分類3.2賦值語句3.2數(shù)據(jù)的輸入與輸出AB2022/11/2141章節(jié)知識點(diǎn):3.1順序結(jié)構(gòu)的構(gòu)成AB2022/11/21知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)程序的執(zhí)行原理1分100%★C語言的分類2分60%★★★表達(dá)式語句4分100%★★★賦值語句2分30%★★輸入語句的使用2分60%★★★輸出語句的使用2分50%★★★筆試部分2022/11/2142知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)程序的執(zhí)行原理1分10知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)的組成10分30%★★★格式輸入輸出語句10分必須重視★★★字符輸入與輸出5分4%★★★★上機(jī)部分2022/11/2143知識點(diǎn)所占分值考試概率難易程度順序結(jié)構(gòu)的組成10分30%★★3.1順序結(jié)構(gòu)的構(gòu)成

語句按照它們在程序中出現(xiàn)的順序逐條執(zhí)行,由這樣的語句構(gòu)成的程序結(jié)構(gòu)稱為順序結(jié)構(gòu)。

順序結(jié)構(gòu)定義inta=8;intc=7;intc;c=a+b;printf(“theaandbis%d”,c);2022/11/21443.1順序結(jié)構(gòu)的構(gòu)成語句按照它們在程序中#include<stdio.h>第一部分:預(yù)編譯部分預(yù)編譯main()

第二部分:函數(shù)體函數(shù)名{函數(shù)開始inta,b,sum;聲明部分a=1;執(zhí)行部分b=2;sum=a+b;printf(“sumis%d\n”,sum);}函數(shù)結(jié)束2022/11/2145第一部分:預(yù)編譯main()

函數(shù)名{函數(shù)開始inta,3.2C語句的分類(1)表達(dá)式語句(2)函數(shù)調(diào)用語句(3)控制語句(4)空語句(5)復(fù)合語句2022/11/21463.2C語句的分類(1)表達(dá)式語句2022/11/217(1)表達(dá)式語句:在表達(dá)式的后面加上一個分號構(gòu)成。

例:x=100/*C表達(dá)式*/x=100;/*表達(dá)式語句*/x+5;/*合法,但沒意義*/(2)函數(shù)調(diào)用語句:

由函數(shù)名、函數(shù)的實(shí)際參數(shù)加上分號“;”組成。例:printf(“Ilovehuben.\n");2022/11/2147(2)函數(shù)調(diào)用語句:2022/11/218(3)控制語句:由特定的語句定義符組成,用于控制程序的流程,以實(shí)現(xiàn)程序的各種結(jié)構(gòu)方式。C語言有九種控制語句??煞殖梢韵氯悾?/p>

1、條件判斷語句:if語句,switch語句;

2、循環(huán)執(zhí)行語句:dowhile語句、while語句和for語句;

3、轉(zhuǎn)向語句:break語句、continue語句和return語句、goto語句(不考)。2022/11/2148(3)控制語句:由特定的語句定義符組成,用于控制程序的流程,(4)復(fù)合語句:把多個語句用一對花括號{}括起來組成的一個語句稱為復(fù)合語句。例如:

main(){intx,y,z,t;x=8;y=6;if(x>y){z=x–y;t=z*2;}else{z=x+y;t=z/2;}printf("z=%d,t=%d\n",z,t);}(5)空語句:僅包含一個分號的語句。2022/11/2149(4)復(fù)合語句:把多個語句用一對花括號{}括起來組成的一個3.3賦值語句其一般形式為:變量=常量或表達(dá)式;在變量定義中,不允許連續(xù)賦初值。例:inta=1;正確

inta=b=c=d=e=1;錯誤賦值語句是由賦值表達(dá)式加上一個分號構(gòu)成例:a=100賦值表達(dá)式

a=100;賦值語句賦值符“=”右邊的表達(dá)式也可以是一個賦值表達(dá)式例:inta,b,c,d,e;

定義變量

a=b=c=d=e=100;一并賦值2022/11/21503.3賦值語句其一般形式為:例:inta=1;3.4數(shù)據(jù)的輸入輸出

對計算機(jī)而言,輸出就是將計算機(jī)內(nèi)部數(shù)據(jù)傳送到外部設(shè)備上,比如把一系列的字符打印到顯示器。相反,通過鍵盤,掃描儀等外部設(shè)備將數(shù)據(jù)傳送到計算機(jī)內(nèi)部的操作稱為輸入。在C語言中輸入輸出是通過標(biāo)準(zhǔn)函數(shù)庫來調(diào)用的,因此,在調(diào)用輸入輸出語句時一定要加上#include<stdio.h>。2022/11/21513.4數(shù)據(jù)的輸入輸出對計算機(jī)而言,輸出就是將計算機(jī)內(nèi)3.4.1

格式輸入與輸出1.

printf函數(shù)的一般調(diào)用形式功能:通過標(biāo)準(zhǔn)輸出設(shè)備(如顯示器)輸出一組數(shù)據(jù)。輸出形式由“格式控制”字符串規(guī)定。printf(“格式控制字符串”,輸出表列);printf函數(shù)是一個標(biāo)準(zhǔn)庫函數(shù),它的函數(shù)原型在頭文件“stdio.h”中。2022/11/21523.4.1格式輸入與輸出1.

printf函數(shù)的一般調(diào)格式控制:由雙引號括起來的字符串,用于指定要輸出的數(shù)據(jù)的格式。2)格式說明:用來指定需輸出數(shù)據(jù)的輸出格式的,其形式為:

%[<修飾符>]格式字符

格式字符用以說明輸出數(shù)據(jù)的類型,形式,長度,小數(shù)位數(shù)等。它包括:

1)普通字符:按原樣輸出的字符;輸出表列:需要輸出的數(shù)據(jù)列表,彼此間用逗號分隔。它可是任意合法的表達(dá)式。2022/11/2153格式控制:由雙引號括起來的字符串,用于指定要輸出的數(shù)據(jù)的格式用于輸出的修飾符2022/11/2154用于輸出的修飾符2022/11/2115用于輸出的格式字符格式符功

能形

式d輸出十進(jìn)制整數(shù)%d、%md、%ld、%mldo以八進(jìn)制形式輸出整數(shù)%o、%mo、%lox以十六進(jìn)制形式輸出整數(shù)%x、%mx、%lxu以十進(jìn)制形式輸出一個無符號的數(shù)%uc輸出一個字符%cs輸出一個字符串%s、%ms、%m.nsf以小數(shù)的形式輸出實(shí)數(shù)%f、%m.nf、%lfe以標(biāo)準(zhǔn)指數(shù)的形式輸出實(shí)數(shù)%e、%m.neg根據(jù)實(shí)數(shù)的大小自動按f或e的形式選擇輸出格式%g2022/11/2155用于輸出的格式字符格式符功能形例:格式輸出:printf()函數(shù)

printf("a+b=%5.2f",c);附加格式符格式符輸出表列普通字符格式說明符格式控制2022/11/2156例:格式輸出:printf()函數(shù)print(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長度輸出%md:m為指定的輸出長度。如果數(shù)據(jù)位小于m,則左端補(bǔ)以空格;大于m,則按實(shí)際位輸出。例:printf(“%4d,%4d”,a,b);

若a=12,b=12345,則輸出12,12345%ld:輸出長整型數(shù)據(jù)。%d的輸出范圍為-32768~32767,輸出超過該范圍的整型數(shù)就會出錯,此時用%ld輸出。其輸出格式和功能與%d相同,如:%8ld2022/11/2157(1)d格式字符%d:按整型數(shù)據(jù)的實(shí)際長度輸出%md:m為(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號。對于長整數(shù)可用“%lo”輸出。功能同十進(jìn)制輸出。(3)x格式字符以十六進(jìn)制數(shù)形式輸出整數(shù),且不帶符號。對于長整數(shù)可用“%lx”輸出。功能同十進(jìn)制輸出。(4)u格式字符用來輸出unsigned型數(shù)據(jù),即無符號數(shù),輸出十進(jìn)制數(shù)。用%o,%x輸出負(fù)數(shù)時會發(fā)生錯誤。2022/11/2158(2)o格式字符以八進(jìn)制數(shù)形式輸出整數(shù),且不帶符號。對于長(5)c格式字符

一個整數(shù),如果在0~255之間,也可用字符形式輸出,系統(tǒng)會將該整數(shù)轉(zhuǎn)換成相對應(yīng)的ASCII碼字符;同時,一字符也可以用整數(shù)形式輸出。例:charc=‘a(chǎn)’;printf(“%c”,c);用來輸出一個字符。inta=65;printf(“%c”,a);intc=‘A’;printf(“%d”,c);輸出A輸出65如:printf(“%3c”,c),則輸出c格式字符也可以指定輸出字?jǐn)?shù)寬度A2022/11/2159(5)c格式字符一個整數(shù),如果在0~255之間,也(6)s格式字符%s:用來輸出一個字符串例:printf(“%s”,“Hello!”);輸出Hello!,不包括“”%ms:輸出的字符串占m列。如果字符串長度小于m,則左端補(bǔ)以空格;長度大于m,則輸出整個字符串。%-ms:如果串長小于m,則字符串向左靠,右補(bǔ)空格,其余同上。%m.ns:輸出的字符串占m列,但只取字符串中左端n個字符,這n個字符輸出在m列的右側(cè),左端補(bǔ)空格。%-m.ns:其他意義同%m.ns,右補(bǔ)空格。例:printf(“%3s”,“Hello!”);輸出Hello!

printf(“%7s”,“Hello!”);輸出Hello!2022/11/2160(6)s格式字符%s:用來輸出一個字符串例:printf((7)f格式字符%f:不指定字段寬度,整數(shù)部分全部輸出,小數(shù)部分輸出6位。%m.nf:指定輸出數(shù)據(jù)占m列,其中有n位小數(shù)。若數(shù)值長度小于m,則左端補(bǔ)以空格。%-m.nf:功能同上,右端補(bǔ)以空格。(8)e格式字符%e:不指定字段寬度,系統(tǒng)自動給出6位小數(shù),指數(shù)部分占4位。其中“e”占1位,指數(shù)符號占1位,指數(shù)占2位。2022/11/2161(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格式字符

用來輸出實(shí)數(shù),根據(jù)數(shù)值大小,自動選f或e格式,且不輸出無意義的零。2022/11/2162例: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.234567e+01,6.78900e+02;4)1.234567e+01,1.234567e+01;5)1.2345670e+01,1.235e+01;2022/11/2163#include<stdio.h>實(shí)例:程序運(yùn)行結(jié)果:20例:#include"stdio.h"main(){intx=65,y=66;printf("%d%d",x,y);printf("%d,%d\n",x,y);printf("x的值為%d,y的值為%d",x,y);}程序運(yùn)行結(jié)果為:656665,66x的值為65,y的值為662022/11/2164例:#include"stdio.h"程序運(yùn)行結(jié)果為注意:使用函數(shù)printf時要注意一個問題,那就是輸出表列中的求值順序。不同的編譯系統(tǒng)不一定相同,可以從左到右,也可從右到左。VC6.0是按從左到右進(jìn)行的。TC和BC是按從右到左進(jìn)行的。2022/11/2165注意:VC6.0是按從左到右進(jìn)行的。2022/11/21262.scanf函數(shù)的一般調(diào)用形式功能:從終端輸入任何類型的多個數(shù)據(jù)格式:scanf("格式控制",地址表列);格式控制:由雙引號括起來的字符串,用于指定要輸入的數(shù)據(jù)的格式。1)普通字符:按原樣輸入的字符;2)格式說明:用來指定需輸入數(shù)據(jù)的輸入格式的,其形式為:

%[<修飾符>]格式字符地址表列:由若干個變量地址組成的表列。地址是由”&”運(yùn)算得到的?!埃Α笔侨≈愤\(yùn)算符,單目運(yùn)算符,右結(jié)合性。2022/11/21662.scanf函數(shù)的一般調(diào)用形式功能:從終端輸入任何類型的多例:&a,&chr,&i,分別表示變量a,chr,i的地址,該地址是在編譯連接時系統(tǒng)分配給變量a,chr,i的地址。用于輸入的修飾符2022/11/2167例:&a,&chr,&i,分別表示變量a,chr,用于輸入的格式字符2022/11/2168用于輸入的格式字符2022/11/2129格式輸入的使用與注意:輸入數(shù)據(jù)時采用的分隔符應(yīng)與格式控制中的分隔符一致。例1:scanf("%d%f%d",&a,&b,&c);

格式符中無普通字符時,可用空格、Tab鍵、回車鍵作分隔符。如: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↙2022/11/2169格式輸入的使用與注意:輸入數(shù)據(jù)時采用的分隔符應(yīng)與格式控制中的無符號數(shù)可用%d、%o、%x格式輸入。輸入格式符帶有*:表示該數(shù)據(jù)不賦值。

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

鍵入:1234567

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

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

合法。

例:scanf(”%3.2f%3c”,&a,&b);非法。2022/11/

溫馨提示

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

最新文檔

評論

0/150

提交評論