![第3章最簡(jiǎn)單的C程序設(shè)計(jì)_第1頁(yè)](http://file4.renrendoc.com/view/81a919efe2314e2a3cc17477bfbd797a/81a919efe2314e2a3cc17477bfbd797a1.gif)
![第3章最簡(jiǎn)單的C程序設(shè)計(jì)_第2頁(yè)](http://file4.renrendoc.com/view/81a919efe2314e2a3cc17477bfbd797a/81a919efe2314e2a3cc17477bfbd797a2.gif)
![第3章最簡(jiǎn)單的C程序設(shè)計(jì)_第3頁(yè)](http://file4.renrendoc.com/view/81a919efe2314e2a3cc17477bfbd797a/81a919efe2314e2a3cc17477bfbd797a3.gif)
![第3章最簡(jiǎn)單的C程序設(shè)計(jì)_第4頁(yè)](http://file4.renrendoc.com/view/81a919efe2314e2a3cc17477bfbd797a/81a919efe2314e2a3cc17477bfbd797a4.gif)
![第3章最簡(jiǎn)單的C程序設(shè)計(jì)_第5頁(yè)](http://file4.renrendoc.com/view/81a919efe2314e2a3cc17477bfbd797a/81a919efe2314e2a3cc17477bfbd797a5.gif)
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
要編寫(xiě)C程序,需要兩個(gè)方面的知識(shí):一是根據(jù)所解問(wèn)題的要求,設(shè)計(jì)出解題的具體步驟,這一步驟稱為設(shè)計(jì)算法二是用C語(yǔ)言寫(xiě)出程序,以便計(jì)算機(jī)能正確地執(zhí)行第3章最簡(jiǎn)單的C程序設(shè)計(jì)
——順序程序設(shè)計(jì)
3.1算法是程序的靈魂3.2程序的三種基本結(jié)構(gòu)3.3C語(yǔ)句綜述3.4賦值表達(dá)式和賦值語(yǔ)句3.5數(shù)據(jù)輸入輸出的概念3.6字符數(shù)據(jù)的輸入輸出3.7簡(jiǎn)單的格式輸入與輸出3.8順序結(jié)構(gòu)程序設(shè)計(jì)舉例3.9提高部分3.1算法是程序的靈魂3.1.1算法的概念3.1.2怎樣表示算法P483.1.1算法的概念一個(gè)程序包括以下兩個(gè)方面的內(nèi)容:對(duì)數(shù)據(jù)的描述。在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式,即數(shù)據(jù)結(jié)構(gòu)對(duì)操作的描述。即操作步驟,也就是算法P48數(shù)據(jù)是操作的對(duì)象操作的目的是對(duì)數(shù)據(jù)進(jìn)行加工處理,以得到期望的結(jié)果著名計(jì)算機(jī)科學(xué)家沃思(NikiklausWirth)提出一個(gè)公式:
算法
+數(shù)據(jù)結(jié)構(gòu)=程序3.1.1算法的概念P48一個(gè)程序除了算法和數(shù)據(jù)結(jié)構(gòu)這主要要素外,還應(yīng)當(dāng)采用結(jié)構(gòu)化程序設(shè)計(jì)方法進(jìn)行程序設(shè)計(jì),并且用某一種計(jì)算機(jī)語(yǔ)言表示算法、數(shù)據(jù)結(jié)構(gòu)、程序設(shè)計(jì)方法和語(yǔ)言工具是一個(gè)程序設(shè)計(jì)人員應(yīng)具備的知識(shí)3.1.1算法的概念P48算法是解決“做什么”和“怎么做”的問(wèn)題程序中的操作語(yǔ)句,是算法的體現(xiàn)不了解算法就談不上程序設(shè)計(jì)3.1.1算法的概念P483.1.2怎樣表示算法用自然語(yǔ)言表示算法用流程圖表示算法用N-S流程圖表示算法用偽代碼表示算法P50用自然語(yǔ)言表示算法自然語(yǔ)言就是人們?nèi)粘J褂玫恼Z(yǔ)言,可以是漢語(yǔ)、英語(yǔ),或其他語(yǔ)言用自然語(yǔ)言表示通俗易懂,但文字冗長(zhǎng),容易出現(xiàn)歧義性用自然語(yǔ)言描述包含分支和循環(huán)的算法,不很方便除了很簡(jiǎn)單的問(wèn)題外,一般不用自然語(yǔ)言用流程圖表示算法流程圖是用一些圖框來(lái)表示各種操作用圖形表示算法,直觀形象,易于理解起止框輸入輸出框處理框判斷框流程線連接點(diǎn)注釋框m被2整除是否開(kāi)始判斷一個(gè)數(shù)是否偶數(shù)的算法輸入m的值輸出m是偶數(shù)輸出m不是偶數(shù)結(jié)束輸出1~10的算法結(jié)束n1開(kāi)始n10輸出n的值nn+1是否用N-S流程圖表示算法N-S流程圖用以下的流程圖符號(hào):ABAB成立不成立pA當(dāng)p1成立順序結(jié)構(gòu)選擇結(jié)構(gòu)循環(huán)結(jié)構(gòu)判斷一個(gè)數(shù)是否偶數(shù)的算法輸出m是偶數(shù)輸出m不是偶數(shù)是否m能被2整除輸入m輸出1~100的算法輸出n的值n的值10n=1n=n+1用偽代碼表示算法偽代碼是用介于自然語(yǔ)言和計(jì)算機(jī)語(yǔ)言之間的文字和符號(hào)來(lái)描述算法用偽代碼寫(xiě)算法并無(wú)固定的、嚴(yán)格的語(yǔ)法規(guī)則,可以用英文,也可以中英文混用用偽代碼表示算法“輸出x的絕對(duì)值”的算法ifxispositivethenprintxelseprint-x若x為正
輸出x否則
輸出-xifx為正printxelseprint-x3.2程序的三種基本結(jié)構(gòu)順序結(jié)構(gòu)。各操作步驟是順序執(zhí)行的順序結(jié)構(gòu)是最簡(jiǎn)單的一種基本結(jié)構(gòu)P53AB3.2程序的三種基本結(jié)構(gòu)選擇結(jié)構(gòu)又稱判斷結(jié)構(gòu)或分支結(jié)構(gòu)根據(jù)是否滿足給定的條件而從兩組操作中選擇一種操作P53AB成立p不成立A成立p不成立3.2程序的三種基本結(jié)構(gòu)循環(huán)結(jié)構(gòu)。它又稱重復(fù)結(jié)構(gòu)在一定條件下反復(fù)執(zhí)行某一部分的操作P53A成立p1不成立A成立p2不成立3.2程序的三種基本結(jié)構(gòu)一個(gè)良好的程序,無(wú)論多么復(fù)雜,都可以由這3種基本結(jié)構(gòu)組成用這三種基本結(jié)構(gòu)構(gòu)成的程序稱為“結(jié)構(gòu)化程序”P(pán)533.3C語(yǔ)句綜述P54C程序源程序文件1源程序文件2源程序文件n…預(yù)處理命令數(shù)據(jù)聲明函數(shù)1函數(shù)n函數(shù)首部函數(shù)體數(shù)據(jù)聲明執(zhí)行語(yǔ)句…3.3C語(yǔ)句綜述P54C語(yǔ)句分為以下5類:(1)控制語(yǔ)句:if、switch、for、while、do…while、continue、break、return、goto等(2)函數(shù)調(diào)用語(yǔ)句(3)表達(dá)式語(yǔ)句(4)空語(yǔ)句(5)復(fù)合語(yǔ)句3.4賦值表達(dá)式和賦值語(yǔ)句3.4.1賦值表達(dá)式3.4.2賦值過(guò)程中的類型轉(zhuǎn)換3.4.3賦值語(yǔ)句3.4.4變量賦初值P563.4.1賦值表達(dá)式賦值運(yùn)算符“=”是賦值運(yùn)算符作用是將一個(gè)數(shù)據(jù)賦給一個(gè)變量也可以將一個(gè)表達(dá)式的值賦給一個(gè)變量P563.4.1賦值表達(dá)式復(fù)合的賦值運(yùn)算符在賦值符“=”之前加上其他運(yùn)算符,可以構(gòu)成復(fù)合的運(yùn)算符a+=3
等價(jià)于
a=a+3P563.4.1賦值表達(dá)式賦值表達(dá)式一般形式為:
變量
賦值運(yùn)算符
表達(dá)式對(duì)賦值表達(dá)式求解的過(guò)程:求賦值運(yùn)算符右側(cè)的“表達(dá)式”的值賦給賦值運(yùn)算符左側(cè)的變量P563.4.1賦值表達(dá)式賦值表達(dá)式賦值表達(dá)式“a=3*5”的值為15,對(duì)表達(dá)式求解后,變量a的值和表達(dá)式的值都是15“a=(b=5)”和“a=b=5”等價(jià)“a=b”和“b=a”含義不同P563.4.2賦值過(guò)程中的類型轉(zhuǎn)換兩側(cè)類型一致時(shí),直接賦值兩側(cè)類型不一致,但都是數(shù)值型或字符型,自動(dòng)將右側(cè)的類型轉(zhuǎn)換為左側(cè)類型后賦值定義變量時(shí)要防止數(shù)據(jù)溢出P593.4.3賦值語(yǔ)句賦值語(yǔ)句是由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成賦值表達(dá)式的末尾沒(méi)有分號(hào),而賦值語(yǔ)句有分號(hào)一個(gè)表達(dá)式可以包含賦值表達(dá)式,但決不能包含賦值語(yǔ)句P603.4.4變量賦初值程序中常需要對(duì)一些變量預(yù)先設(shè)置一個(gè)初值設(shè)置初值既可以用賦值語(yǔ)句去實(shí)現(xiàn),也可以在定義變量的同時(shí)使變量初始化,后者更為方便inta,b,c=5;相當(dāng)于:inta,b,c;c=5;P603.5數(shù)據(jù)輸入輸出的概念幾乎每一個(gè)C程序都包含輸入輸出輸入輸出是程序中最基本的操作之一所謂輸入輸出是以計(jì)算機(jī)主機(jī)為主體而言的從計(jì)算機(jī)向輸出設(shè)備輸出數(shù)據(jù)稱為輸出,從輸入設(shè)備向計(jì)算機(jī)輸入數(shù)據(jù)稱為輸入P613.5數(shù)據(jù)輸入輸出的概念C語(yǔ)言本身不提供輸入輸出語(yǔ)句輸入和輸出操作是由C函數(shù)庫(kù)中的函數(shù)來(lái)實(shí)現(xiàn)的printf、scanf、putchar、getchar、puts、gets不是關(guān)鍵字在使用系統(tǒng)庫(kù)函數(shù)時(shí),要在程序中使用預(yù)編譯命令“#include”P(pán)613.6字符數(shù)據(jù)的輸入輸出3.6.1用putchar函數(shù)輸出一個(gè)字符3.6.2用getchar函數(shù)輸入一個(gè)字符P633.6.1用putchar函數(shù)輸出一個(gè)字符從計(jì)算機(jī)向顯示器輸出一個(gè)字符putchar函數(shù)的一般形式為:putchar(c)例3.1先后輸出幾個(gè)字符。P63#include<stdio.h>voidmain(){chara,b,c;a='B',b='O',c='Y';putchar(a);putchar(b);putchar(c);putchar('\n');}向顯示器輸出字符B向顯示器輸出換行符BOY#include<stdio.h>voidmain(){chara,b,c;a='B',b='O',c='Y';putchar(a);putchar(b);putchar(c);putchar('\n');}改為inta=66,b=79,c=89;BOYputchar(’\101’)(輸出字符A)putchar(’\’’)(輸出單撇號(hào)字符’)3.6.2用getchar函數(shù)輸入一個(gè)字符向計(jì)算機(jī)輸入一個(gè)字符getchar函數(shù)的一般形式為:getchar()例3.2輸入多個(gè)字符。P64#include<stdio.h>voidmain(){chara,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar('\n');}輸入一個(gè)字符,送給變量aBOY↙BOY
B↙O↙BO
#include<stdio.h>voidmain(){chara,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar('\n');}putchar(getchar());#include<stdio.h>voidmain(){chara,b,c;
a=getchar();b=getchar();c=getchar();
putchar(a);putchar(b);putchar(c);putchar('\n');}putchar(getchar());putchar(getchar());#include<stdio.h>voidmain(){chara,b,c;
a=getchar();
b=getchar();c=getchar();
putchar(a);putchar(b);putchar(c);putchar('\n');}putchar(getchar());putchar(getchar());putchar(getchar());#include<stdio.h>voidmain(){chara,b,c;
a=getchar();
b=getchar();
c=getchar();
putchar(a);putchar(b);putchar(c);putchar('\n');}putchar(getchar());putchar(getchar());putchar(getchar());3.7簡(jiǎn)單的格式輸入與輸出3.7.1用簡(jiǎn)單的printf函數(shù)輸出數(shù)據(jù)3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P663.7.1用簡(jiǎn)單的printf函數(shù)輸出數(shù)據(jù)在C程序中用來(lái)實(shí)現(xiàn)輸出和輸入的,主要是printf函數(shù)和scanf函數(shù)這兩個(gè)函數(shù)是格式輸入輸出函數(shù)用這兩個(gè)函數(shù)時(shí),必須指定格式P661.printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);格式聲明1.printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);普通字符1.printf函數(shù)的一般格式printf(格式控制,輸出表列)例如:printf(”i=%d,c=%c\n”,i,c);可以是常量、變量或表達(dá)式2.基本的格式字符d格式符。按十進(jìn)制整型數(shù)據(jù)的實(shí)際長(zhǎng)度輸出i格式符。作用與d格式符相同2.基本的格式字符c格式符。用來(lái)輸出一個(gè)字符charch=’a’;printf(”%c”,ch);輸出字符:a2.基本的格式字符c格式符。用來(lái)輸出一個(gè)字符例3.3用printf函數(shù)輸出字符數(shù)據(jù)。
#include<stdio.h>voidmain(){charc='a';inti=97;printf("c=%c,c=%d\n",c,c);printf("i=%c,i=%d\n",i,i);}c=a,c=97i=a,i=972.基本的格式字符s格式符。用來(lái)輸出一個(gè)字符串printf(”%s”,”CHINA”);輸出字符串:CHINA2.基本的格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出例3.4輸出實(shí)數(shù)時(shí)的有效位數(shù)。#include<stdio.h>voidmain(){floata,b;a=111111.111;b=222222.222;printf("%f\n",a+b);}333333.3281252.基本的格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出例3.5輸出雙精度數(shù)時(shí)的有效位數(shù)。#include<stdio.h>voidmain(){doublea,b;a=11111111.11111111;b=22222222.22222222;printf("%f\n",a+b);}33333333.3333332.基本的格式字符f格式符。用來(lái)輸出實(shí)數(shù),以小數(shù)形式輸出float型數(shù)據(jù)只能保證6~7位有效數(shù)字double型數(shù)據(jù)能保證15~16位有效數(shù)字計(jì)算機(jī)輸出的數(shù)字不都是絕對(duì)精確有效的2.基本的格式字符e格式符。指定以指數(shù)形式輸出實(shí)數(shù)VC++給出小數(shù)位數(shù)為6位指數(shù)部分占5列小數(shù)點(diǎn)前必須有而且只有1位非零數(shù)字printf(”%e”,123.456);
輸出:1.234560
e+0021.scanf函數(shù)的一般形式scanf(格式控制,地址表列)含義同printf函數(shù)3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P701.scanf函數(shù)的一般形式scanf(格式控制,地址表列)可以是變量的地址,或字符串的首地址3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P70例3.6用scanf函數(shù)輸入數(shù)據(jù)。#include<stdio.h>voidmain(){inta,b,c;scanf(“%d%d%d”,&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);}3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P70345↙a=3,b=4,c=52.scanf函數(shù)中的格式聲明與printf函數(shù)中的格式聲明相似以%開(kāi)始,以一個(gè)格式字符結(jié)束,中間可以插入附加的字符scanf("a=%db=%dc=%d",&a,&b,&c);3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P70說(shuō)明scanf(”%d,%d”,a,b);錯(cuò)scanf(”%d,%d”,&a,&b);對(duì)對(duì)于scanf("a=%d,b=%d,c=%d",&a,&b,&c);
122436↙
錯(cuò)
a=12,b=24,c=36↙
對(duì)
a=12b=24c=36↙
錯(cuò)3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P70說(shuō)明對(duì)于scanf(”%c%c%c”,&c1,&c2,&c3);
abc↙
對(duì)
abc↙
錯(cuò)對(duì)于scanf(”%d%c%f”,&a,&b,&c);若輸入
1234a123o.26↙3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P70說(shuō)明對(duì)于scanf(”%c%c%c”,&c1,&c2,&c3);
abc↙
對(duì)
abc↙
錯(cuò)對(duì)于scanf(”%d%c%f”,&a,&b,&c);若輸入
1234a123o.26↙3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P70說(shuō)明對(duì)于scanf(”%c%c%c”,&c1,&c2,&c3);
abc↙
對(duì)
abc↙
錯(cuò)對(duì)于scanf(”%d%c%f”,&a,&b,&c);若輸入
1234a123o.26↙3.7.2用簡(jiǎn)單的scanf函數(shù)輸入數(shù)據(jù)P703.8順序結(jié)構(gòu)程序設(shè)計(jì)舉例P73
例3.7輸入三角形的三邊長(zhǎng),求三角形面積。解題思路:假設(shè)給定的三個(gè)邊符合構(gòu)成三角形的條件找到求三角形面積的公式:
其中s=(a+b+c)/23.8順序結(jié)構(gòu)程序設(shè)計(jì)舉例P73#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,s,area;scanf("%lf,%lf,%lf",&a,&b,&c);s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\nb=%f\n%f\n",a,b,c);printf("area=%f\n",area);}計(jì)算s計(jì)算area輸入a、b、c的值#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,s,area;scanf("%lf,%lf,%lf",&a,&b,&c);s=(a+b+c)/2.0; area=sqrt(s*(s-a)*(s-b)*(s-c));printf("a=%f\nb=%f\n%f\n",a,b,c);printf("area=%f\n",area);}數(shù)學(xué)函數(shù),計(jì)算平方根調(diào)用數(shù)學(xué)函數(shù)加此行9.89,12.65,8.76↙a=9.890000b=12.65000c=8.760000area=43.165683
例3.8從鍵盤(pán)輸入一個(gè)大寫(xiě)字母,要求改用小寫(xiě)字母輸出。解題思路:關(guān)鍵是找到大、小寫(xiě)字母間的內(nèi)在聯(lián)系小寫(xiě)字母的ASCII碼=大寫(xiě)字母的ASCII碼+32#include<stdio.h>voidmain(){charc1,c2;c1=getchar();printf("%c,%d\n",c1,c1);c2=c1+32;printf("%c,%d\n",c2,c2);}將大寫(xiě)轉(zhuǎn)小寫(xiě)A↙A,65a,97#include<stdio.h>voidmain(){printf(“%c”,getchar()+32);printf(“%c”,getchar()+32);printf("%c\n",getchar()+32);}
例:輸入3個(gè)大寫(xiě)字母,輸出相應(yīng)的3個(gè)小寫(xiě)字母。#include<stdio.h>voidmain(){putchar(getchar()+32);putchar(getchar()+32);putchar(getchar()+32);putchar('\n');}
例:輸入3個(gè)大寫(xiě)字母,輸出相應(yīng)的3個(gè)小寫(xiě)字母。例3.9求
方程的根。a、b、c由鍵盤(pán)輸入
設(shè)
>0解題思路:首先要知道求方程式的根的方法。由數(shù)學(xué)知識(shí)已知:如果
≥0,則一元二次方程有兩個(gè)實(shí)根:若記#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,disc,x1,x2,p,q;
scanf(“a=%lf,b=%lf,c=%lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;
printf("x1=%.2f\nx2=%.2f\n",x1,x2);}程序中調(diào)用數(shù)學(xué)函數(shù)sqrt輸入a,b,c的值#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,disc,x1,x2,p,q;
scanf(“a=%lf,b=%lf,c=%lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;
printf("x1=%.2f\nx2=%.2f\n",x1,x2);}輸入的是雙精度型實(shí)數(shù)#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,disc,x1,x2,p,q;
scanf(“a=%lf,b=%lf,c=%lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;
printf("x1=%.2f\nx2=%.2f\n",x1,x2);}a=1,b=3,c=2↙x1=-1.00x2=-2.00要求輸入3個(gè)實(shí)數(shù)自動(dòng)轉(zhuǎn)成實(shí)數(shù)后賦給a,b,c#include<stdio.h>#include<math.h>voidmain(){doublea,b,c,disc,x1,x2,p,q;
scanf(“a=%lf,b=%lf,c=%lf",&a,&b,&c);disc=b*b-4*a*c;p=-b/(2*a);q=sqrt(disc)/(2*a);x1=p+q;x2=p-q;
printf("x1=%.2f\nx2=%.2f\n",x1,x2);}小數(shù)點(diǎn)后輸出2列a=1,b=3,c=2↙x1=-1.00x2=-2.003.9提高部分3.9.1無(wú)符號(hào)數(shù)據(jù)與有符號(hào)數(shù)據(jù)之間的賦值3.9.2較復(fù)雜的輸入輸出格式控制3.9.3簡(jiǎn)單易用的C++的輸入輸出3.9.4C++用“//”作為注釋的標(biāo)識(shí)P763.9.1無(wú)符號(hào)數(shù)據(jù)與有符號(hào)數(shù)據(jù)之間的賦值將有符號(hào)整數(shù)賦值給長(zhǎng)度相同的無(wú)符號(hào)整型變量:按字節(jié)原樣賦值(連原有的符號(hào)位也作為數(shù)值一起傳送)P76例3.10有符號(hào)整數(shù)賦值給無(wú)符號(hào)整型變量,數(shù)據(jù)會(huì)失真。#include<stdio.h>voidmain(){unsigneda;intb;b=-1;a=b;printf("%u\n",a);}1111111111111111ba1111111111111111輸出無(wú)符號(hào)整數(shù)假設(shè)占2字節(jié)65535將無(wú)符號(hào)整數(shù)賦值給長(zhǎng)度相同的有符號(hào)整型變量:不要超出有符號(hào)整型變量的數(shù)值范圍,否則會(huì)出錯(cuò)例3.11無(wú)符號(hào)整數(shù)賦值給有符號(hào)整型變量,注意數(shù)值范圍。#include<stdio.h>voidmain(){unsigneda;intb;a=65535;b=a;printf("%d\n",b);}1111111111111111ba1111111111111111補(bǔ)碼形式假設(shè)占2字節(jié)-13.9.2較復(fù)雜的輸入輸出格式控制1.輸出數(shù)據(jù)時(shí)的格式控制%md。用來(lái)指定輸出數(shù)據(jù)的寬度,m是指定的寬度,如果數(shù)據(jù)實(shí)際的位數(shù)小于m,則左端補(bǔ)以空格,若大于m,按實(shí)際位數(shù)輸出printf("%4d,%4d",123,12345);P78123,123453.9.2較復(fù)雜的輸入輸出格式控制1.輸出數(shù)據(jù)時(shí)的格式控制%ld。對(duì)于int型數(shù)據(jù)占2字節(jié)的系統(tǒng),在輸出長(zhǎng)整型數(shù)據(jù)時(shí)要在格式字符d前面加一個(gè)英文字母llonga=135790;printf(“%ld",a);printf(“%8ld",a);P781357901357903.9.2較復(fù)雜的輸入輸出格式控制1.輸出數(shù)據(jù)時(shí)的格式控制%o。以八進(jìn)制整數(shù)形式輸出。由于是將內(nèi)存單元中的各位的值(0或1)按八進(jìn)制形式輸出,因此輸出的數(shù)值不帶符號(hào),即將符號(hào)位也一起作為八進(jìn)制數(shù)的一部分輸出inta=-1;printf(″%d,%o″,a,a);P78-1,17777711111111111111113.9.2較復(fù)雜的輸入輸出格式控制1.輸出數(shù)據(jù)時(shí)的格式控制%x。以十六進(jìn)制數(shù)形式輸出整數(shù)。同樣不會(huì)出現(xiàn)負(fù)的十六進(jìn)制數(shù)inta=-1;printf(″%d,%x″,a,a);P78-1,ffff11111111111111113.9.2較復(fù)雜的輸入輸出格式控制1.輸出數(shù)據(jù)時(shí)的格式控制%u。用來(lái)輸出無(wú)符號(hào)型數(shù)據(jù),以十進(jìn)制整數(shù)形式輸出一個(gè)有符號(hào)整數(shù)也可用%u格式輸出;反之,一個(gè)無(wú)符號(hào)型數(shù)據(jù)也可用%d格式輸出按相互賦值的規(guī)則處理無(wú)符號(hào)型數(shù)據(jù)也可用%o或%x格式輸出P78例3.12無(wú)符號(hào)數(shù)據(jù)的輸出。#include<stdio.h>voidmain(){unsigneda=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);}3.9.2較復(fù)雜的輸入輸出格式控制P78在TC2.0下(占2字節(jié))的運(yùn)行結(jié)果為:a=-1,177777,ffff,65535b=-2,177776,fffe,65534
在VC++6.0下(占4字節(jié))的運(yùn)行結(jié)果為:a=65535,177777,ffff,65535b=-2,37777777776,fffffffe,42949672943.9.2較復(fù)雜的輸入輸出格式控制%mc。用來(lái)指定輸出字符數(shù)據(jù)的寬度charc=‘a(chǎn)’;printf(“%3c”,c);P78a3.9.2較復(fù)雜的輸入輸出格式控制%ms。指定輸出的字符串占m列若串長(zhǎng)大于m,則將串全部輸出若串長(zhǎng)小于m,則左補(bǔ)空格%-ms。如果串長(zhǎng)小于m,則在m列范圍內(nèi),字符串向左靠,右補(bǔ)空格。P78例3.13字符串的輸出。#include<stdio.h>voidmain()
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年旅行社服務(wù)項(xiàng)目建議書(shū)
- 2025年微波輻射計(jì)、微波散射計(jì)、測(cè)高計(jì)項(xiàng)目發(fā)展計(jì)劃
- 實(shí)施精準(zhǔn)營(yíng)銷策略提高市場(chǎng)占有率水平
- 光學(xué)鏡片透光率測(cè)量基準(zhǔn)
- 辦公環(huán)境改善措施細(xì)則
- 城市地下綜合管廊建設(shè)與管理技術(shù)研究
- 格林童話選故事解讀
- 1-3-Methoxyphenyl-piperazine-生命科學(xué)試劑-MCE
- 公司年會(huì)演講致辭稿件范本
- 企業(yè)員工激勵(lì)計(jì)劃及策劃方案的說(shuō)明
- 防水補(bǔ)漏工程合同(合同版本)
- 小學(xué)生韻母in、ing常見(jiàn)漢字與區(qū)分練習(xí)
- DB32∕T 186-2015 建筑消防設(shè)施檢測(cè)技術(shù)規(guī)程
- 2022年福建泉州中考英語(yǔ)真題【含答案】
- 汽車座椅骨架的焊接夾具畢業(yè)設(shè)計(jì)說(shuō)明書(shū)(共23頁(yè))
- 露天礦山職業(yè)危害預(yù)先危險(xiǎn)分析表
- 淺談固定資產(chǎn)的審計(jì)
- WZCK-20系列微機(jī)直流監(jiān)控裝置使用說(shuō)明書(shū)(v1.02)
- 連續(xù)平壓熱壓機(jī) 三篇 俞敏等
- 2021最新整理食物嘌呤含量一覽表
- 自動(dòng)化生產(chǎn)線機(jī)械手及分揀單元設(shè)計(jì)說(shuō)明書(shū)
評(píng)論
0/150
提交評(píng)論