計(jì)算機(jī)第二章 C語(yǔ)言基礎(chǔ)_第1頁(yè)
計(jì)算機(jī)第二章 C語(yǔ)言基礎(chǔ)_第2頁(yè)
計(jì)算機(jī)第二章 C語(yǔ)言基礎(chǔ)_第3頁(yè)
計(jì)算機(jī)第二章 C語(yǔ)言基礎(chǔ)_第4頁(yè)
計(jì)算機(jī)第二章 C語(yǔ)言基礎(chǔ)_第5頁(yè)
已閱讀5頁(yè),還剩30頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第二章C語(yǔ)言根底程序處理的根本過(guò)程開(kāi)始輸入數(shù)據(jù)x=2,y=3外設(shè)z=x+y數(shù)據(jù)處理輸出數(shù)據(jù)5外設(shè)結(jié)束數(shù)據(jù)表示主要內(nèi)容⒈數(shù)據(jù)及其表示方法;⒉數(shù)據(jù)的根本運(yùn)算;⒊根本輸入輸出。程序是對(duì)數(shù)據(jù)按照算法處理,并輸出結(jié)果的過(guò)程,因此,以上三個(gè)問(wèn)題是程序設(shè)計(jì)的根本問(wèn)題。2.1根本數(shù)據(jù)類(lèi)型1/2?數(shù)據(jù)是對(duì)客觀事物特征抽象的符號(hào)化表示,客觀事物不同,表示的方法也不同〔人數(shù)以整數(shù)表示,圓面積用小數(shù)表示,燈的狀態(tài)用開(kāi)關(guān)表示,信件要用文字表示〕,計(jì)算機(jī)的處理方法也不同,因此根據(jù)程序處理的數(shù)據(jù)對(duì)象,應(yīng)規(guī)定數(shù)據(jù)的類(lèi)型。計(jì)算機(jī)由于工程的限制,只能在有限精度和有限范圍內(nèi)在工程上近似地描述操作的對(duì)象——數(shù)據(jù)。

數(shù)據(jù)類(lèi)型決定了數(shù)據(jù)的如下特征:⑴數(shù)據(jù)的外部表示方式和內(nèi)部存儲(chǔ)方式不同;⑵表示的范圍和精度不同;⑶對(duì)數(shù)據(jù)的處理方式不同。C語(yǔ)言的數(shù)據(jù)類(lèi)型C語(yǔ)言的數(shù)據(jù)類(lèi)型根本類(lèi)型字符型char浮點(diǎn)型floatdouble構(gòu)造類(lèi)型數(shù)組、結(jié)構(gòu)、聯(lián)合、枚舉型enum指針類(lèi)型空類(lèi)型void整型int2.2常量〔Constant〕及其類(lèi)型⒈常量的概念在程序中不能改變的量稱(chēng)為常量。常量的類(lèi)型由數(shù)據(jù)的外部表現(xiàn)形式確定。⒉常量的外部形式及其確定的類(lèi)型⑴整型常量的表示整型常量根據(jù)表示的范圍可以有一般整型和長(zhǎng)整型,還可以表示為十進(jìn)制、八進(jìn)制、十六進(jìn)制形式。一般整型常量的表示進(jìn)制表示舉例范圍字節(jié)數(shù)十進(jìn)制2304-32768~+327672八進(jìn)制

044000~0177777

2十六進(jìn)制0xaa000x0000~0xffff2長(zhǎng)整型常量的表示進(jìn)制表示舉例范圍字節(jié)數(shù)十進(jìn)制-21234l

-231~+231-14八進(jìn)制

04400l

0~037777777777

4十六進(jìn)制0XAA00L

0x0000----0xffffffff4⑵浮點(diǎn)型常量的表示〔只有十進(jìn)制表示〕浮點(diǎn)型常量有兩種表示方式:小數(shù)表示方法,指數(shù)表示方法。不區(qū)分單、雙精度。小數(shù)表示方式規(guī)那么:一個(gè)小數(shù)點(diǎn)、符號(hào)和至少一位數(shù)字。-2.01.0.11113-15.指數(shù)表示方式規(guī)那么:規(guī)那么:ne±m(xù)表示n×10mn小數(shù)局部,整型常量或小數(shù)形式表示的實(shí)型常量。指數(shù)局部,兩位整數(shù)。n決定精度,一般精度為7位;m決定范圍,范圍10-38到10+38,當(dāng)超過(guò)范圍時(shí)稱(chēng)為“溢出〞,小于10-38稱(chēng)為下溢,當(dāng)0處理,大于10+38,稱(chēng)為上溢,系統(tǒng)出錯(cuò)!123.456表示為0.123456E+3-10000000表示為-1e70.0000123表示為0.123e-4⑶字符常量的表示表示ASCII字符集中的一個(gè)字符。字符有一個(gè)整型值,即該字符的ASCII碼值。表示方法:’a’、’!’。撇號(hào)定界的一個(gè)字符。值為:97⑷字符串常量的表示雙引號(hào)“定界的字符序列。系統(tǒng)會(huì)在最后一個(gè)字符后加NULL〔ASCII碼值為0〕,標(biāo)志字符串的結(jié)束。如:〞HEFEI〞〞Hello!〞’a’和〞a〞的區(qū)別??jī)?nèi)部’a’:97〞a〞:97NULL72101108108111330Hello!\0〞Hello!〞在內(nèi)存中的存儲(chǔ)結(jié)構(gòu):⑸轉(zhuǎn)義字符轉(zhuǎn)義字符是C語(yǔ)言表示字符的特殊方法,用來(lái)表示ASCII字符集中的控制字符,以及系統(tǒng)占用字符如:〞。表示方法:①\字符;②\八進(jìn)制〔十六進(jìn)制整數(shù),小于256〕 \a表示BELL \b 表示BACKSPACE字母\n 表示換行 \r 表示回車(chē) \t表示TAB \\ 表示\ \? 表示?符號(hào) \’ 表示’ \〞 表示〞 \0 表示NULL八進(jìn)制十六進(jìn)制數(shù)\x41\101代表’A’printf(“\007〞);printf(“語(yǔ)文\n數(shù)學(xué)\n〞);表示八進(jìn)制或十六進(jìn)制數(shù)作為ASCII碼值所對(duì)應(yīng)的字符。2.3變量(Variable)⒈變量的概念變量是在程序中可以改變的量,變量具有三個(gè)特征:

⑴變量有名,用標(biāo)識(shí)符命名;

⑵變量有類(lèi)型;

⑶在程序中可以改變。

變量對(duì)應(yīng)于內(nèi)存中某一地址下的幾個(gè)單元,變量名作為程序引用變量的標(biāo)志。變量的類(lèi)型確定了變量在內(nèi)存中所占單元的數(shù)量及其表示的方式。變量的地址可以通過(guò)&運(yùn)算獲得。內(nèi)存inta;a變量的引用標(biāo)志&a對(duì)應(yīng)a的地址。整型變量占兩個(gè)內(nèi)存單元。變量必須先說(shuō)明后使用!說(shuō)明的目的是確定變量的名字和類(lèi)型。⒉變量的說(shuō)明形式:type變量名表;/*以,分隔的標(biāo)識(shí)符表*/inta,b,c;type是類(lèi)型說(shuō)明詞,對(duì)于整型和字符型可加修飾說(shuō)明。根本類(lèi)型說(shuō)明符:int、char、float、double修飾說(shuō)明和根本說(shuō)明的對(duì)應(yīng)關(guān)系修飾說(shuō)明詞可用于修飾的基本類(lèi)型singed/unsignedint、charshort/longintlonginta,b,c;⑴整型變量說(shuō)明說(shuō)明詞及性質(zhì)如下:說(shuō)明詞含義范圍Byteint有符號(hào)一般整型-32768~327672short[int]有符號(hào)短整型-32768~327672long[int]有符號(hào)長(zhǎng)整型-231~+231-14unsigned無(wú)符號(hào)一般整型0~655352unsignedshort無(wú)符號(hào)短整型0~655352unsignedlong無(wú)符號(hào)長(zhǎng)整型0~232-14shorta,b,c;inte,f,g;long_qs,num;unsignedd,e,f;⑵字符型變量的說(shuō)明說(shuō)明符所占字節(jié)數(shù) 范圍char 1 -128~+127unsignedchar 1 0~255⑶浮點(diǎn)型變量的說(shuō)明說(shuō)明符所占字節(jié)數(shù) 范圍精度f(wàn)loat 4 10-38~10+38 7位double 8 10-308~10+308 16位浮點(diǎn)型變量包含精度和范圍兩個(gè)概念。⑴超過(guò)精度位數(shù)后的位數(shù)值不確定。floata;a=1.1111111111;⑵超過(guò)范圍溢出(Overflow)。超出精度局部,不準(zhǔn)確。floata,b,c;a=1.234e+20;b=2.345e+21;c=a*b;超出1038,溢出。當(dāng)運(yùn)算結(jié)果大于10+38稱(chēng)為上溢,系統(tǒng)出錯(cuò)。當(dāng)運(yùn)算結(jié)果小于10-38稱(chēng)為下溢,當(dāng)0處理。2.4根本運(yùn)算與表達(dá)式程序的核心是對(duì)數(shù)據(jù)按照算法進(jìn)行處理〔運(yùn)算〕。C語(yǔ)言提供了強(qiáng)大的數(shù)據(jù)運(yùn)算功能。數(shù)據(jù)通過(guò)運(yùn)算符連接的式子稱(chēng)為表達(dá)式,表達(dá)式根據(jù)運(yùn)算關(guān)系對(duì)數(shù)據(jù)運(yùn)算,并得到一個(gè)值。⒈變量賦值〔Assignment〕運(yùn)算格式:V=expression;/*將expression的值賦給變量V*/inta=2;/*說(shuō)明賦值,編譯時(shí)賦值。*/intb;b=3+2;/*說(shuō)明后賦值,執(zhí)行時(shí)賦值。*/說(shuō)明:⑴=是賦值號(hào)〔動(dòng)詞〕;⑵賦值運(yùn)算的左值只能是變量。a=a+2;iCount=iCount+10;a+2=12;/*Error!*/⑶賦值號(hào)兩邊類(lèi)型應(yīng)該一致,如不一致,以變量類(lèi)型轉(zhuǎn)換。inta=2.5;/*2a*/⒉算術(shù)運(yùn)算〔Arithmeticoperators〕功能:完成各種類(lèi)型數(shù)據(jù)的加、減、乘、除及求余數(shù)運(yùn)算。⑴雙目算術(shù)運(yùn)算〔兩個(gè)運(yùn)算對(duì)象參加的運(yùn)算〕運(yùn)算運(yùn)算規(guī)則示例+加2+3-減a-b*乘2*(-a)/除12/3.0%求余數(shù)15%4只能對(duì)整型或字符型數(shù)據(jù)運(yùn)算。余數(shù)符號(hào)與被除數(shù)相同。注意:乘號(hào)不能省略!-12%5-2-12%(-5)1%2⑵自加、自減運(yùn)算〔單目運(yùn)算〕運(yùn)算符前置后置運(yùn)算關(guān)系++++aa++a=a+1

----aa--a=a-1說(shuō)明:①運(yùn)算對(duì)象只能是一個(gè)變量。②前置是先運(yùn)算,后引用,而后置那么是先引用,后運(yùn)算。2++;/*Error!*/inti,x;i=5;x=i++;/*x=i;i=i+1;*/i=5;x=++i;/*i=i+1;x=i;*/#include<stdio.h>voidmain(void){inta=2,b=3,c;c=a+++b;printf(“%d〞,c);}CHAP2EX1C語(yǔ)言盡可能多的從左向右結(jié)合符號(hào)形成運(yùn)算符。⑶算術(shù)運(yùn)算賦值運(yùn)算符表達(dá)式示例運(yùn)算關(guān)系+=a+=3a=a+3-=b-=cb=b-c*=a*=2a=a*2/=s/=ts=s/t%=a%=5a=a%5說(shuō)明:①運(yùn)算對(duì)象的左值只能是一個(gè)變量。(a+2)+=5;/*Error!*/②%=運(yùn)算的對(duì)象,必須是整型或字符型。⑷算術(shù)運(yùn)算的說(shuō)明①運(yùn)算中的類(lèi)型問(wèn)題運(yùn)算對(duì)象的類(lèi)型相同,運(yùn)算結(jié)果取運(yùn)算對(duì)象相同的類(lèi)型。inta;floatb;b=2/3;/*0b0.0*/a=5.0/2.0;/*2.5a2*/運(yùn)算對(duì)象的類(lèi)型不同,先將低等類(lèi)型轉(zhuǎn)換為高等類(lèi)型后再進(jìn)行運(yùn)算,運(yùn)算結(jié)果取高等類(lèi)型。等級(jí)原那么如下:charintlongdoublefloat2*16.0+15.0doubledoubledouble運(yùn)算時(shí)可以實(shí)行類(lèi)型的強(qiáng)制轉(zhuǎn)換,格式如下:(type)expression只對(duì)當(dāng)前表達(dá)式起作用。(float)a/(int)’c’+(float)(a+10〕2+(int)fSum類(lèi)型轉(zhuǎn)換舉例inta;floatb;intc;c=a*1.0+b*5+(float)’A’;idfic

d

d

ff

d

dcint注意:賦值運(yùn)算右值表達(dá)式的類(lèi)型轉(zhuǎn)換以左值變量的類(lèi)型為準(zhǔn)。②運(yùn)算的優(yōu)先級(jí)表達(dá)式的運(yùn)算是分步驟進(jìn)行的。因此當(dāng)一個(gè)表達(dá)式中出現(xiàn)多種運(yùn)算時(shí),存在優(yōu)先級(jí)的問(wèn)題。算術(shù)運(yùn)算的優(yōu)先級(jí)如下:++、--、(type)單目運(yùn)算*、/、%+、-=、op=相同優(yōu)先級(jí),結(jié)合順序從左到右!3*4+6/a-6%3;相同優(yōu)先級(jí),結(jié)合順序從右到左!inta,b=2,c=2;a=b*=c+=2;可以用()調(diào)整優(yōu)先級(jí)。c=c+2;b=b*c;a=b;⒊條件運(yùn)算運(yùn)算格式:e1?e2:e3e1、e2、e3為表達(dá)式,當(dāng)e1非0時(shí),運(yùn)算結(jié)果取e2的值;當(dāng)e1為0時(shí),取e3的值。inta=2,b=3,c=-1,d;d=a?b:c;/*d為3*/a=0;d=a?b:c;/*d為-1*/⒋逗號(hào)表達(dá)式格式:e1,e2,e3,…,en用,分隔的表達(dá)式,計(jì)算順序從左到右,表達(dá)式取值為en;⒌sizeof運(yùn)算形式:sizeof數(shù)據(jù)對(duì)象; sizeof(類(lèi)型說(shuō)明符);inta,b,c;b=sizeofa;/*b的值為2(TC)*/c=sizeof(float);/*c的值為4*/x=(a=5,a+6)*10;C語(yǔ)言常用數(shù)學(xué)函數(shù)

為方便用戶(hù)使用,C語(yǔ)言系統(tǒng)定義了大量函數(shù)。數(shù)學(xué)函數(shù)主要目的是求解常用數(shù)學(xué)函數(shù),如sinX等。數(shù)學(xué)函數(shù)的原型定義在系統(tǒng)的math.h頭文件中。在使用此類(lèi)函數(shù)時(shí),應(yīng)在程序的開(kāi)始處加如下語(yǔ)句:

#include<math.h>函數(shù)數(shù)學(xué)含義sin(x)sinXcos(x)cosXtan(x)tgXfabs(x)|x|pow(x,y)xysqrt(x)log(x)lnxlog10(x)log10x使用方法:作為一個(gè)運(yùn)算項(xiàng)參加表達(dá)式運(yùn)算。函數(shù)的參數(shù)〔自變量〕、函數(shù)的值都是double類(lèi)型。z=sqrt(sin(x)*sin(x)+cos(y)*cos(y))2.5數(shù)據(jù)的輸入輸出Input&Output

C語(yǔ)言沒(méi)有輸入輸出語(yǔ)句,輸入輸出是通過(guò)系統(tǒng)定義的標(biāo)準(zhǔn)函數(shù)來(lái)實(shí)現(xiàn)的。I/O函數(shù)的原型定義在stdio.h頭文件中,在引用I/O函數(shù)時(shí),應(yīng)應(yīng)在程序開(kāi)始處加預(yù)處理語(yǔ)句包含頭文件。#include<stdio.h>⒈輸入輸出的概念輸入輸出指的是內(nèi)存變量或程序和外部設(shè)備間的數(shù)據(jù)交換。內(nèi)存外設(shè)輸入輸出輸入輸出函數(shù)要描述:⑴輸入輸出的量;⑵輸入輸出的格式;⑶輸入輸出的設(shè)備。⒉格式輸入輸出函數(shù)⑴輸出函數(shù)printf()格式: printf〔“輸出格式字符串〞,輸出項(xiàng)列表〕;格式描述。用,分隔的常量、變量、表達(dá)式表。輸出格式字符串可包含以下內(nèi)容:①普通字符,如:a=②轉(zhuǎn)義字符,如:\n對(duì)于普通字符和轉(zhuǎn)義字符在相應(yīng)位置原樣輸出,其中%用%%。printf〔“\nabcd%%〞〕;輸出結(jié)果:abcd%③格式說(shuō)明符組,說(shuō)明輸出項(xiàng)列表中的各項(xiàng)的輸出格式。格式說(shuō)名符組用%為開(kāi)始標(biāo)志。內(nèi)容包含對(duì)一項(xiàng)輸出對(duì)象的格式說(shuō)明。%-7.5f格式說(shuō)明類(lèi)型表格式說(shuō)明符說(shuō)明量的類(lèi)型d、i、o、x、u整型c字符型s字符串f、e、g浮點(diǎn)型格式說(shuō)明符應(yīng)和輸出的列表項(xiàng)對(duì)應(yīng),產(chǎn)生相應(yīng)的輸出。其中輸出的表項(xiàng)應(yīng)與格式說(shuō)明符類(lèi)型一致。printf(“a=%5d\nb=%f〞,2+3,5.34);格式說(shuō)明串的一般形式和意義%-m.nl格式類(lèi)型字符〔一個(gè)字母〕格式說(shuō)明標(biāo)志對(duì)齊方式:缺省為右對(duì)齊,-為左對(duì)齊。寬度.精度(位數(shù)〕,寬度:輸出總列數(shù),精度:小數(shù)位數(shù)〔或字符位數(shù)〕。類(lèi)型長(zhǎng)度,缺省短整型,l表示long或double。#include<stdio.h>voidmain(void){floata;a=1.232326;printf(“a=%10.4f〞,a);}CHAP2EX2各種類(lèi)型數(shù)據(jù)輸出舉例⑴字符型輸出charch=’b’;printf(“%5c,%-5c,%c〞,ch,ch-32,’s’+1);輸出結(jié)果:b,B,t⑵字符串輸出#include<stdio.h>voidmain(void){charchString[]="China";printf("%s,%6s,%-6s\n",chString,chString,chString);printf(“%4s%6.2s%-6.2s","Hefei","Hefei","Hefei");}China,

China,

China

HefeiHeHe寬度不夠,原樣輸出。m.n,m為總輸出列數(shù),n截取輸出字符數(shù)。⑶整型輸出〔TC環(huán)境描述〕#include<stdio.h>voidmain(void){unsignedinta=65535;intb=-2;printf("a=%d,%o,%x,%u",a,a,a,a);printf("\nb=%6d%8o%5X%6u",b,b,b,b);}a=-1,177777,ffff,65535b=-2177776FFFE65534⑷浮點(diǎn)數(shù)輸出include<stdio.h>voidmain(void){floatf=123.456;printf("%f,%10f,%10.2f,%-10.2f\n",f,-f,f,-f);}123.456001,-123.45600,123.46,-123.46

小數(shù)保存兩位,四舍五入截?cái)?。符?hào)占一位!⑵輸入函數(shù)scanf〔〕格式:scanf(“格式說(shuō)明字符串〞,輸入變量地址列表);說(shuō)明:①m域?qū)捒勺詣?dòng)截取,空格作為各數(shù)據(jù)項(xiàng)的分隔符。voidmain(void){inti,j;scanf("%3d%3d",&i,&j);printf("%d\n%d",i,j);}123456②實(shí)型變量輸入時(shí)不能規(guī)定精度;scanf〔“%7.2f〞,&a〕;ERROR!

③數(shù)據(jù)輸入用SPACE分隔,當(dāng)格式字符用其他字符隔離,輸入時(shí)也應(yīng)在對(duì)應(yīng)位置上輸入相同的字符;voidmain(void){inti,j;scanf("i=%d,j=%d",&i,&j);printf("\n%d\n%d",i,j);}④輸入項(xiàng)只能是變量,且必須用地址形式。⒉字符輸入輸出函數(shù)輸入:getchar();輸出:putchar();#include<stdio.h>voidmain(void){charch1,ch2='\n';

ch1=getchar();putchar(ch1);putchar(ch2);

putchar('a');}rra輸入程序設(shè)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論