第2章簡單的C程序設(shè)計_第1頁
第2章簡單的C程序設(shè)計_第2頁
第2章簡單的C程序設(shè)計_第3頁
第2章簡單的C程序設(shè)計_第4頁
第2章簡單的C程序設(shè)計_第5頁
已閱讀5頁,還剩81頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

2.1數(shù)據(jù)類型及存儲形式2.2用表達式進行數(shù)據(jù)的運算2.3最常用的C語句----賦值語句2.4數(shù)據(jù)的輸入輸出2.5順序程序設(shè)計舉例第2章簡單的C程序設(shè)計——順序程序設(shè)計

2.1基本數(shù)據(jù)類型及存儲形式2.1.1基本數(shù)據(jù)類型2.1.2數(shù)據(jù)的表現(xiàn)形式-常量和變量2.1.3整型數(shù)據(jù)2.1.4字符型數(shù)據(jù)2.1.5浮點型數(shù)據(jù)

2.1.1基本數(shù)據(jù)類型整型字符型浮點型(實型)

2.1.2數(shù)據(jù)的表現(xiàn)形式-常量和變量常量:程序運行過程中,值一直保持不變的量。例如:1000,30.0036,-0.225,0.0變量:程序運行過程中,值可以改變的量為變量。例如:i,sum變量用符號表示,在程序的執(zhí)行中能夠賦值,值可以發(fā)生變化。變量有一個名字,并在使用之前要說明其類型,一經(jīng)說明,就在內(nèi)存中占據(jù)與其類型相應(yīng)的存儲單元。(變量三要素:名、值、類型)變量的說明格式類型名變量名;類型名變量1,變量2,…,變量n;類型名變量=初值;類型名變量1,變量2=初值2,…,變量n;

2.1.2數(shù)據(jù)的表現(xiàn)形式-常量和變量變量初始化inta,b,c;inta=3,b;inti,sum;變量名(標(biāo)識符名)的取名原則由字母、下劃線、數(shù)字構(gòu)成首字符為字母或下劃線區(qū)分大小寫不和編譯器所用固定標(biāo)識符名重復(fù)(參見附錄B)正確:sum,average,_total,Class,lotus_1_2_3,li_ling錯誤:MR.Dicson,$123,C++,2yue,int

2.1.2數(shù)據(jù)的表現(xiàn)形式-常量和變量

2.1.3整型數(shù)據(jù)(1)整型常量的三種形式十進制整型常量123,-456,4(錯誤:234.,0123)八進制整型常量用0開頭,0123,-011(錯誤:019)十六進制整型常量用0x開頭,0x12,0xff(錯誤:0xt9)其中:八進制數(shù)符號0,1,2,…,7十六進制數(shù)符號0,1,…,8,9,a,b,c,d,e,f十六進制數(shù)符號x,a,b,c,d,e,f不區(qū)分大小寫(2)整型數(shù)據(jù)在內(nèi)存中的存儲形式根據(jù)所使用的編譯器規(guī)定的字節(jié)數(shù),按二進制補碼存儲。例2字節(jié)情形inti=10;000000000000101000000000000010100000000000001010原碼補碼存儲

2.1.3整型數(shù)據(jù)例2字節(jié)情形inti=-10;100000000000101011111111111101101111111111110110原碼補碼存儲

2.1.3整型數(shù)據(jù)11111111111101101111111111111111例4字節(jié)情形inti=-10;1111111111110110111111111111111100000000000010101000000000000000原碼補碼存儲

2.1.3整型數(shù)據(jù)(3)整型數(shù)據(jù)的分類基本整型int4字節(jié)短整型shortint或short2字節(jié)長整型longint或long4字節(jié)無符號基本整型unsignedint4字節(jié)無符號短整型unsignedshortint或unsignedshort2字節(jié)無符號長整型unsigned

longint或unsignedlong4例inti,j;unsignedlonginti;類型

字節(jié)數(shù)取值范圍int4-2147483648~2147483647,-231~231-1Unsignedint40~4294967295,0~232-1Short[int]2-32768~32767,-215~215-1Unsignedshort[int]20~65535,0~216-1Long[int]4-2147483648~2147483647,-231~231-1Unsignedlong[int]40~4294967295,0~232-1表整型數(shù)據(jù)所定義變量占存儲空間大小及取值范圍

2.1.3整型數(shù)據(jù)(4)整型數(shù)據(jù)的溢出超出數(shù)據(jù)表示的范圍會發(fā)生溢出例shortinta011111111111111110000000000000001000000000000000a=32767a+1a+的補碼如輸出a的值為-32768

2.1.3整型數(shù)據(jù)(5)怎樣確定整型常量的類型原則和方法:按常量的大小范圍確定,確保不溢出為示區(qū)別,長整型常量的后面加l或L,如123L為示區(qū)別,無符號整型常量的后面加u或U,比如123u定義變量和給變量賦值時,時刻牢記變量的存儲空間大小及取值范圍

2.1.3整型數(shù)據(jù)

2.1.4字符型數(shù)據(jù)(1)字符常量普通字符分標(biāo)準(zhǔn)ASCII碼字符和非標(biāo)準(zhǔn)ASCII碼字符(參見附錄A)(注意:使用時用西文字符單引號如’a’)字母A~Z,a~z(標(biāo)準(zhǔn)ASCII碼字符)數(shù)字0~9(標(biāo)準(zhǔn)ASCII碼字符)專門符號!#@$%^*&+_/[](){},.?:;‘“~等(標(biāo)準(zhǔn)ASCII碼字符)空格(標(biāo)準(zhǔn)ASCII碼字符)不能顯示的字符非標(biāo)準(zhǔn)ASCII碼字符,用ASCII碼值表示轉(zhuǎn)義字符(見下表)例\n用轉(zhuǎn)義字符的概念理解printf(“Hello!\n”);\101\x41\0

2.1.4字符型數(shù)據(jù)轉(zhuǎn)義字符含義ASCII碼\a響鈴7\n換行,將當(dāng)前位置移到下一行開頭10\t水平制表(跳到下一個tab位置)9\b退格,將當(dāng)前位置移到前一列8\r回車,將當(dāng)前位置移到本行開頭13\f換頁,將當(dāng)前位置移到下頁開頭12\v豎向跳格8\\反斜杠字符“\”92\’單引號(撇號)字符39\”雙引號字符34\0空字符0\ddd1到3位8進制數(shù)所代表的字符

\xhh1到2位16進制數(shù)所代表的字符

(2)字符變量字符變量占一個字節(jié)char取值范圍-128~127unsignedchar取值范圍0~255

例charc1,c2;c1=‘a(chǎn)’;//等價語句c1=97;c2=‘b’;//等價語句c2=98;0110000101100010c1(值97)c2(值98)

2.1.4字符型數(shù)據(jù)例程序#include<stdio.h>intmain(){charc1,c2;c1=97;c2=98;printf(“c1=%c,c2=%c\n”,c1,c2);printf(“c1=%d,c2=%d\n”,c1,c2);return0;}運行結(jié)果

c1=a,c2=bc1=97,c2=98例程序#include<stdio.h>intmain(){charc1,c2;c1=‘a(chǎn)’;c2=‘b’;c1=c1–32;c2=c2-32;printf(“%c,%c\n”,c1,c2);return0;}運行結(jié)果A,B(3)字符串常量用西文雙引號的若干字符例特別注意串結(jié)束標(biāo)志字符\0“Howdoyoudo?”“CHINA”“a”“Hello\n”字符串常量“CHINA”的長度為5在內(nèi)存空間的存儲占6個字節(jié)CHINA\0

2.1.4字符型數(shù)據(jù)(1)什么是浮點數(shù)浮點型常量(即實型常量)標(biāo)準(zhǔn)型123.45,4.,0.56,.567指數(shù)型1.23456e2,5.68965e+003,1.E-12指數(shù)型浮點常量的特點:字母e不分大小寫指數(shù)部分包括符號位4位真數(shù)部分盡量大于等于1,小于10

2.1.5浮點型數(shù)據(jù)(2)浮點型數(shù)據(jù)的分類float(單精度浮點型)4字節(jié)double(雙精度浮點型)8字節(jié)longdouble(長雙精度浮點型)16字節(jié)(3)浮點數(shù)在內(nèi)存中的存儲形式浮點數(shù)在內(nèi)存中的存儲形式即浮點格式

2.1.5浮點型數(shù)據(jù)

2.1.5浮點型數(shù)據(jù)計算機中一個任意進制數(shù)N可表示為:其中:m:尾數(shù),是一個純小數(shù)e:浮點的指數(shù),是一個整數(shù)R:基數(shù),對于二進制計數(shù)值的機器是一個常數(shù),為2,8或16大多數(shù)高級語言都按照IEEE-754標(biāo)準(zhǔn)來規(guī)定浮點數(shù)的存儲格式。以32位單精度浮點數(shù)為例。S:尾數(shù)符號,0正1負M:尾數(shù)23位,采用隱含最高位1的表示方法,實際尾數(shù)24位

尾數(shù)真值=1+尾數(shù)E:階碼8位,采用“移碼”表示(移碼可表示階符);

階碼=階碼真值+127

例:將(100.25)10轉(zhuǎn)換成短浮點數(shù)格式(32位)8字節(jié)double型浮點數(shù)的存儲格式為:

2.1.5浮點型數(shù)據(jù)表實型數(shù)據(jù)的表示范圍類型字節(jié)有效數(shù)字數(shù)值范圍float46,70及1.2×10-38~3.4×1038double815,160及2.3×10-308~1.7×10308Longdouble81615,1618,190及2.3×10-308~1.7×103080及3.4×10-4932~1.1×104932(4)浮點型常量的類型默認為double型floatf;f=123.456789;//可能的數(shù)據(jù)丟失(5)浮點型數(shù)據(jù)的舍入誤差#include<stdio.h>intmain(){floata;a=3.141592612;printf(“a=%f\n”,a)return0;}運行結(jié)果3.141593

2.1.5浮點型數(shù)據(jù)

2.2用表達式進行數(shù)據(jù)的運算2.2.1C表達式2.2.2C運算符2.2.3C運算符的優(yōu)先級和結(jié)合性2.2.4不同數(shù)據(jù)類型間的混合運算2.2.5強制類型轉(zhuǎn)換

2.2.1C表達式由C運算符和常量、變量組成的式子算術(shù)表達式關(guān)系表達式邏輯表達式賦值表達式逗號表達式

2.2.2C運算符算術(shù)運算符關(guān)系運算符邏輯運算符位運算符賦值運算符條件運算符…其他表算術(shù)運算符運算符含義舉例結(jié)果+正號(單目)+aa的值-負號(單目)-aa的負值*乘法(雙目)a*ba和b的乘積/除法(雙目)a/ba除以b的商%求余(雙目)a%ba除以b的余+加法(雙目)a+ba和b的和-減法(雙目)a-ba和b的差++自加(單目)a++,++aa的值加1--自減(單目)a--,--aa的值減1關(guān)于算術(shù)運算符的幾點說明整數(shù)和整數(shù)相除結(jié)果還是整數(shù)10/3(3),-10/3(-3)----結(jié)果取整,而不是四舍五入。如2/3和1/4的結(jié)果都為0%的運算數(shù)為整數(shù),結(jié)果也是整數(shù)除%、++、--外,參加運算的運算數(shù)可以是任何算術(shù)類型++、--運算符的運算數(shù)必須是整型變量++i(--i)和i++(i--)的區(qū)別:++i(--i)先將i自增(自減)然后放到表達式中運算i++(i--)先將i放到表達式中運算然后自增(自減)例i=3;j=++i;則j的值為4,然后i的值為4例i=3;j=i++;則j的值為3,運算后,i的值為4

2.2.2C運算符例i=3;printf(“%d”,--i);輸出結(jié)果為2,然后i的值為2例i=3;printf(“%d”,i--);輸出結(jié)果為3,然后i的值為2

2.2.2C運算符(1)C運算符的優(yōu)先級按運算符的優(yōu)先級決定運算順序,見附錄C括號的優(yōu)先級最高(只有一種“()”,多級分層)(2)C運算符的結(jié)合性左結(jié)合性(同優(yōu)先級的運算符,按順序自左向右運算)右結(jié)合性(同優(yōu)先級的運算符,按順序自右向左)例:a+b-ca=b=4

2.2.3C運算符的優(yōu)先級和結(jié)合性

2.2.4不同數(shù)據(jù)類型間的混合運算floatdoublelongunsignedintchar,short在進行運算時,不同類型的數(shù)據(jù)要先轉(zhuǎn)換成同一類型的優(yōu)先級較高類型數(shù)據(jù)再進行運算。例分析表達式的運算結(jié)果和類型10+'a'+1.5-87.65*'b'分析:1:整型2:雙精度浮點3:雙精度浮點4:雙精度浮點10+'a'+1.5-87.65*'b'1234

2.2.4不同數(shù)據(jù)類型間的混合運算格式(類型名)(表達式)例(double)a(int)(x+y)(float)(5%3)(int)x+y

2.2.5強制類型轉(zhuǎn)換

2.3常用的C語句—賦值語句2.3.1賦值表達式2.3.2賦值語句

(1)賦值運算符=(2)賦值表達式含賦值運算符的式子格式變量賦值運算符表達式例a=2*4.5;含義:將表達式的結(jié)果賦給左邊的變量,類型不一致時強制性類型轉(zhuǎn)換,表達式本身的值為賦值符號右邊的值。

2.3.1賦值表達式當(dāng)連續(xù)出現(xiàn)賦值運算符時右結(jié)合性a=b=c=5;等價a=(b=(c=5));a=5+(c=6);a=(b=4)+(c=6);a=(b=10)/(c=2);b=4;printf(”%d”,a=b);輸出結(jié)果為4

2.3.1賦值表達式(3)復(fù)合的賦值運算符+=,-=,*=,/=,%=含義:a+=3等價于a=a+3x*=y+3等價于x=x*(y+3)x%=3等價于x=x%3

2.3.1賦值表達式(4)賦值過程中的類型轉(zhuǎn)換賦值兼容性:賦值符兩邊都是數(shù)值時可以賦值,類型轉(zhuǎn)換后賦值1)將浮點型數(shù)據(jù)賦給整型時

取整2)將整型賦給單雙精度浮點時

數(shù)值不變,按浮點存儲3)將雙精度賦給單精度浮點時

不超出單精度數(shù)值表示范圍和有效位時不出錯4)將字符型賦給整型時

按ASCII值賦給整型變量5)將多字節(jié)整型數(shù)據(jù)賦給占字節(jié)少的整型變量或字符型變量時

將低字節(jié)原封不動相應(yīng)賦給變量例inti=32767;shortintj;j=i;(i:4字節(jié),j:2字節(jié))i的原碼:00000000000000000111111111111111i的補碼:00000000000000000111111111111111j的補碼:0111111111111111j的原碼:0111111111111111j的值:32767結(jié)論:不出錯例inti=-1;shortintj;j=i;(i:4字節(jié),j:2字節(jié))i的原碼:10000000000000000000000000000001i的補碼:11111111111111111111111111111111j的補碼:1111111111111111j的原碼:1000000000000001j的值:-1結(jié)論:不出錯結(jié)論:只要i的值在j的表示范圍內(nèi)時,無論正負都不出錯

2.3.1賦值表達式例inti=32769;shortintj;j=i;(i:4字節(jié),j:2字節(jié))i的原碼:00000000000000001000000000000001i的補碼:00000000000000001000000000000001j的補碼:1000000000000001j的原碼:1111111111111111j的值:-32767結(jié)論:出錯結(jié)論:當(dāng)i的值超出j的表示范圍時出錯

2.3.1賦值表達式例inta=32767;shortintb;b=a+1;(a:4字節(jié),b:2字節(jié))a的原碼:00000000000000000111111111111111a的補碼:00000000000000000111111111111111a+1的補碼:1000000000000000b的補碼:1000000000000000b的值:-32768結(jié)論:出錯

2.3.1賦值表達式6)將少字節(jié)整型數(shù)據(jù)賦給占字節(jié)多的整型變量時低字節(jié)原樣賦值,高字節(jié)全部補0或1。當(dāng)?shù)妥止?jié)符號位為0時,全部補0。當(dāng)?shù)妥止?jié)符號位為1時,全部補1。這樣保證不出錯。例shortinta=32767;intb;b=a;(a:2字節(jié),b:4字節(jié))a的原碼:0111111111111111a的補碼:0111111111111111b的補碼:0000000000000000

0111111111111111b的原碼:0000000000000000

0111111111111111b的值:32767

2.3.1賦值表達式例shortinta=-1;intb;b=a;(a:2字節(jié),b:4字節(jié))a的原碼:1000000000000001a的補碼:1111111111111111b的補碼:111111111111111

1111111111111111b的原碼:1000000000000000

0000000000000001b的值:-1結(jié)論:不出錯

2.3.1賦值表達式7)有符號和無符號整型相互賦值時

遵循上述規(guī)則,注意符號變化。例unsignedshortinta=32769;shortintb;b=a;(a:4字節(jié),b:4字節(jié))a的存儲:1000000000000001b的補碼:

1000000000000001b的原碼:1111111111111111b的值:-32767結(jié)論:出錯

2.3.1賦值表達式

2.3.2賦值語句(1)區(qū)分賦值表達式和賦值語句a=3;a=(b=3);(2)變量賦初值定義變量的同時給變量賦值inta,b=3,c;inta=b=c=3;錯誤!例編寫程序?qū)和b的值互換#include<stdio.h>intmain(){inta=3,b=4,temp;temp=a;a=b;b=temp;printf(a=%d,b=%d\n”,a,b);return0;}運行結(jié)果:a=4,b=3錯誤:a=b;b=a;

2.4數(shù)據(jù)的輸入輸出2.4.1C語言中輸入輸出的概念2.4.2用printf函數(shù)輸出數(shù)據(jù)2.4.3用scanf函數(shù)輸入數(shù)據(jù)2.4.4字符數(shù)據(jù)的輸入輸出

2.4.1C語言中輸入輸出的概念#include<stdio.h>(#include“stdio.h”)和函數(shù)的使用實現(xiàn)輸入輸出scanf()輸入函數(shù)printf()輸出函數(shù)putchar()輸出字符getchar()輸入字符puts()輸出字符串gets()輸入字符串

2.4.2用printf函數(shù)輸出數(shù)據(jù)(1)printf函數(shù)的一般格式printf(格式控制,輸出列表)格式控制包括格式聲明和普通字符printf(“%d,%c\n”,i,c);輸出列表是需要輸出的數(shù)據(jù)、變量表達式,用逗號隔開。printf(”a=%d,b=%d\n”,a,b);(2)基本的格式字符1)d格式printf(“%d\n%d”,12,-345);12-345printf(“%5d\n%5d”,12,-345);12(前有3空格,右對齊)-345(前有1空格,右對齊)

2.4.2用printf函數(shù)輸出數(shù)據(jù)printf(“%-5d\n%-5d”,12,-345);12(后有3空格,左對齊)-345(后有1空格,左對齊)2)c格式inta=121;printf(“%c%5c%-5c”,a,a,a);輸出:yyy

2.4.2用printf函數(shù)輸出數(shù)據(jù)3)s格式printf(“%s”,”china\n”);4)f格式基本型#include<stdio.h>intmain(){doublea,b;a=1.1111111111;b=2.2222222222;printf(“a+b=%f”,a+b);return0;}運行結(jié)果a+b=3.333333指定寬度和小數(shù)位printf(“%15.10f”,100/3.0);輸出(輸出共占15列,小數(shù)10位,右對齊)33.3333333333(前有2空格)printf(“%-15.10f”,100/3.0);輸出(輸出共占15列,小數(shù)10位,左對齊)33.3333333333(后有2空格)防止出錯

2.4.2用printf函數(shù)輸出數(shù)據(jù)5)e格式printf(“%e”,123.456);輸出1.234560e+002printf(“%13.2e”,123.456);輸出(總寬度13列,小數(shù)2列,前有4空格,右對齊)1.23e+002printf(“%-13.2e”,123.456);輸出(總寬度13列,小數(shù)2列,后有4空格,左對齊)1.23e+0026)u格式%u—以無符號十進制形式輸出整數(shù)附加格式%ld、%lo、%lx、%lu—用于長整型數(shù)據(jù)的輸出

2.4.2用printf函數(shù)輸出數(shù)據(jù)格式字符說明d,i帶符號的十進制形式輸出整數(shù)o八進制無符號形式輸出整數(shù)X,x十六進制無符號形式輸出整數(shù),符號對應(yīng)大小寫u無符號十進制形式輸出整數(shù)c輸出字符s輸出字符串f小數(shù)形式輸出浮點數(shù)E,e指數(shù)形式輸出浮點數(shù)G,g指數(shù)形式輸出浮點數(shù)表printf格式字符(1)

scanf函數(shù)的一般形式scanf(格式控制,地址列表);(2)scanf函數(shù)中的格式聲明和注意事項scanf(“%f%f%f”,&a,&b,&c);對應(yīng)輸入:123(空格隔開)scanf(“%f,%f,%f”,&a,&b,&c);對應(yīng)輸入:1,2,3scanf(“a=%f,b=%f,c=%f”,&a,&b,&c);對應(yīng)輸入:a=1,b=2,c=3

2.4.3用scanf函數(shù)輸入數(shù)據(jù)scanf(“%c%c%c”,&c1,&c2,&c3);輸入abc時,c1,c2,c3的值分別為:’a’,’b’,’c’輸入abc時,c1,c2,c3的值分別為:’a’,’’,’b’注意:c格式輸入時,空格也是字符scanf(“%d%c%f”,&a,&b,&c);如輸入:1234a123o.26則:a的值為1234b的值為’a’c的值為123.scanf(“%3d%3d”,&a,&b);如輸入:123456則:a的值為123b的值為456輸入數(shù)據(jù)時不能規(guī)定精度,非法語句:scanf(“%7.2f”,&f);輸入時:%ld對應(yīng)長整型%lf對應(yīng)double型%hd對應(yīng)短整型%*d表示忽略對應(yīng)項格式字符說明d,i輸入有符號的十進制整數(shù)o輸入無符號的八進制整數(shù)X,x輸入無符號的十六進制,符號時大小寫作用相同u輸入無符號十進制形式整數(shù)c輸入字符s輸入字符串(后面章節(jié)使用)f輸入實數(shù),小數(shù)或指數(shù)形式E,e,G,g基本同f格式表scanf函數(shù)所用的格式字符

2.4.3用scanf函數(shù)輸入數(shù)據(jù)(1)putchar函數(shù)輸出字符…putchar(c);例#include<stdio.h>intmain(){chara=‘B’,b=‘O’,c=‘Y’;putchar(a);putchar(b);putchar(c);putchar(‘\n’);return0;}

2.4.4字符數(shù)據(jù)的輸入輸出運行結(jié)果BOYputchar(‘\101’);//輸出:Aputchar(‘\’’);//輸出:西文單引號putchar(‘\015’);//輸出:換行putchar((char)66);//輸出:B

2.4.4字符數(shù)據(jù)的輸入輸出(2)用getchar函數(shù)輸入一個字符#include<stdio.h>intmain(){chara,b,c;a=getchar();b=getchar();c=getchar();putchar(a);putchar(b);putchar(c);putchar(‘\n’);return0;}輸入:BOY輸出:BOY

2.4.4字符數(shù)據(jù)的輸入輸出#include<stdio.h>intmain(){putchar(getchar());putchar(getchar());putchar(getchar());putchar(‘\n’);return0;}輸入:BOY輸出:BOY

2.4.4字符數(shù)據(jù)的輸入輸出例輸入三角形的三邊a,b,c,求三角形的面積#include<stdio.h>#include<math.h>intmain(){floata,b,c,s,area;scanf(“%f,%f,%f”,&a,&b,&c);s=(a+b+c)/2.;area=sqrt(s*(s-a)*(s-b)*(s-c));printf(“a=%f\nb=%f\nc=%f\narea=%f\n”,a,b,c,area);return0;}

2.5順序程序設(shè)計舉例及上機實踐輸入:3.4,4.5,5.6輸出:a=3.400000b=4.500000c=5.600000area=7.649173例2010年11月1日第6次全國人口普查,全國人口為1370536875人,假設(shè)年增長率為0.5%,計算到2050年有多少人口。p1=p0*(1+r)y#include<stdio.h>#include<math.h>intmain(){doublep0,p1,r;inty;p0=1370536875;y=2050-2010;r=0.005;p1=p0*pow(1+r,y);printf(“p1=%f\n”,p1);return0;}輸出:P1=1673143517.8906…例求ax2+bx+c=0的方程的根。a、b、c由鍵盤輸入,b2-4ac大于等于0。#include<stdio.h>#include<math.h>intmain(){doublea,b,c,disc,x1,x2,p,q;scanf(“%lf,%lf,%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=%5.2f\nx2=%5.2f\n”,x1,x2);return0;}輸入:1,3,2輸出:x1=-1.00x2=-2.0074本章語法變量定義及初始化類型名變量1,變量2=初值2,…,變量n;賦值語句

printf(格式控制,輸出列表)scanf(格式控制,地址列表)

其他函數(shù)的調(diào)用,如putchar(c)與getchar()

掌握:函數(shù)名稱;函數(shù)是否有參數(shù)和返回值,若有,分別是什么類型;函數(shù)的功能。75常見錯誤漏掉語句末尾的分號;----最常見的語法錯誤!乘法運算符是星號*,不是×或·變量未初始化就使用,出現(xiàn)邏輯錯誤C語言區(qū)分大小寫,main,printf等系統(tǒng)自帶的函數(shù)名,以及int等關(guān)鍵字均為小寫(大寫會報語法錯誤)。

自己命名的變量,A和a則為兩個不同的變量main()函數(shù)的正確寫法,Main,(main)都是錯的!76常見錯誤scanf(“…..”,&x)注意以下幾點:漏掉取地址符,程序編譯通過,但運行時崩潰若x為double型,格式控制用%lf;float型,用%f若格式控制為(“a=%lf”,&x),運行時必須輸入a=…若格式控制為(“%lf\n”,&x),運行時會將回車作為格式控制的一部分,而無法完成變量的輸入應(yīng)去掉scanf(“%

溫馨提示

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

最新文檔

評論

0/150

提交評論