計算機第二章 C語言基礎_第1頁
計算機第二章 C語言基礎_第2頁
計算機第二章 C語言基礎_第3頁
計算機第二章 C語言基礎_第4頁
計算機第二章 C語言基礎_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

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

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

044000~0177777

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

-231~+231-14八進制

04400l

0~037777777777

4十六進制0XAA00L

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

⑴變量有名,用標識符命名;

⑵變量有類型;

⑶在程序中可以改變。

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

----aa--a=a-1說明:①運算對象只能是一個變量。②前置是先運算,后引用,而后置那么是先引用,后運算。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語言盡可能多的從左向右結合符號形成運算符。⑶算術運算賦值運算符表達式示例運算關系+=a+=3a=a+3-=b-=cb=b-c*=a*=2a=a*2/=s/=ts=s/t%=a%=5a=a%5說明:①運算對象的左值只能是一個變量。(a+2)+=5;/*Error!*/②%=運算的對象,必須是整型或字符型。⑷算術運算的說明①運算中的類型問題運算對象的類型相同,運算結果取運算對象相同的類型。inta;floatb;b=2/3;/*0b0.0*/a=5.0/2.0;/*2.5a2*/運算對象的類型不同,先將低等類型轉換為高等類型后再進行運算,運算結果取高等類型。等級原那么如下:charintlongdoublefloat2*16.0+15.0doubledoubledouble運算時可以實行類型的強制轉換,格式如下:(type)expression只對當前表達式起作用。(float)a/(int)’c’+(float)(a+10〕2+(int)fSum類型轉換舉例inta;floatb;intc;c=a*1.0+b*5+(float)’A’;idfic

d

d

ff

d

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

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

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

C語言沒有輸入輸出語句,輸入輸出是通過系統(tǒng)定義的標準函數(shù)來實現(xiàn)的。I/O函數(shù)的原型定義在stdio.h頭文件中,在引用I/O函數(shù)時,應應在程序開始處加預處理語句包含頭文件。#include<stdio.h>⒈輸入輸出的概念輸入輸出指的是內存變量或程序和外部設備間的數(shù)據(jù)交換。內存外設輸入輸出輸入輸出函數(shù)要描述:⑴輸入輸出的量;⑵輸入輸出的格式;⑶輸入輸出的設備。⒉格式輸入輸出函數(shù)⑴輸出函數(shù)printf()格式: printf〔“輸出格式字符串〞,輸出項列表〕;格式描述。用,分隔的常量、變量、表達式表。輸出格式字符串可包含以下內容:①普通字符,如:a=②轉義字符,如:\n對于普通字符和轉義字符在相應位置原樣輸出,其中%用%%。printf〔“\nabcd%%〞〕;輸出結果:abcd%③格式說明符組,說明輸出項列表中的各項的輸出格式。格式說名符組用%為開始標志。內容包含對一項輸出對象的格式說明。%-7.5f格式說明類型表格式說明符說明量的類型d、i、o、x、u整型c字符型s字符串f、e、g浮點型格式說明符應和輸出的列表項對應,產生相應的輸出。其中輸出的表項應與格式說明符類型一致。printf(“a=%5d\nb=%f〞,2+3,5.34);格式說明串的一般形式和意義%-m.nl格式類型字符〔一個字母〕格式說明標志對齊方式:缺省為右對齊,-為左對齊。寬度.精度(位數(shù)〕,寬度:輸出總列數(shù),精度:小數(shù)位數(shù)〔或字符位數(shù)〕。類型長度,缺省短整型,l表示long或double。#include<stdio.h>voidmain(void){floata;a=1.232326;printf(“a=%10.4f〞,a);}CHAP2EX2各種類型數(shù)據(jù)輸出舉例⑴字符型輸出charch=’b’;printf(“%5c,%-5c,%c〞,ch,ch-32,’s’+1);輸出結果: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⑷浮點數(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ù)保存兩位,四舍五入截斷。符號占一位!⑵輸入函數(shù)scanf〔〕格式:scanf(“格式說明字符串〞,輸入變量地址列表);說明:①m域寬可自動截取,空格作為各數(shù)據(jù)項的分隔符。voidmain(void){inti,j;scanf("%3d%3d",&i,&j);printf("%d\n%d",i,j);}123456②實型變量輸入時不能規(guī)定精度;scanf〔“%7.2f〞,&a〕;ERROR!

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

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

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論