版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
C程序設(shè)計(ProgramminginC)C程序設(shè)計1這次課的主要內(nèi)容C程序的基本結(jié)構(gòu)C語言的基本符號C語言的基本數(shù)據(jù)類型這次課的主要內(nèi)容C程序的基本結(jié)構(gòu)2C程序的基本結(jié)構(gòu)C程序的基本結(jié)構(gòu)3一個簡單的C程序#include<stdio.h>intmain(void){intinches,feet,fathoms;printf("inputfathoms:");scanf(“%d“,&fathoms);feet=6*fathoms;inches=12*feet;printf("WreckoftheHesperus:\n");printf("Itsdepthatseaindefferentunits:\n");printf("%dfathoms\n",fathoms);printf("%dfeet\n",feet);printf("%dinches\n",inches);return0;}英尋→英寸的換算:把英尋數(shù)賦給一個變量;把英尋轉(zhuǎn)換為英尺,并存到一個變量中;把英尺轉(zhuǎn)換為英寸,并存到一個變量中;把不同單位的測量值整齊地顯示在屏幕上。一個簡單的C程序#include<stdio.h>英尋→英4函數(shù)是C程序的基本模塊在上面的例子中,有一個名稱為“main”的函數(shù),每一個獨立運行的C程序有且僅有一個mian函數(shù),C程序設(shè)計中的一部分主要工作就是編寫函數(shù)。我們將從一個函數(shù)的結(jié)構(gòu)出發(fā)理解C程序中的基本要素。函數(shù)內(nèi)有對數(shù)據(jù)的聲明和對數(shù)據(jù)的運算,例如#include<stdio.h>intmain(void){intinches,feet,fathoms;printf("inputfathoms:");scanf(“%d“,&fathoms);feet=6*fathoms;inches=12*feet;}聲明部分:三個值將變化的整數(shù)運算部分:接收一個整數(shù);用乘運算進行單位換算函數(shù)是C程序的基本模塊在上面的例子中,有一個名稱為“main5常量和變量是程序中的基本元素常量和變量(constantsandvariables)常量(constants):在程序的運行過程中值保持不變。例如,下面程序中的“6”和“12”變量(variables):在程序的運行過程中值可以改變。例如,下面程序中的“fathoms”、“feet”、“inches”。#include<stdio.h>intmain(void){intinches,feet,fathoms;printf("inputfathoms:");scanf(“%d“,&fathoms);feet=6*fathoms;inches=12*feet;}常量和變量是程序中的基本元素常量和變量(constants6可以給程序中的常量命名若一個數(shù)據(jù)元素的值在程序的運行過程中保持不變(是常量),則可以用一個符號為其命名。例如,將下面程序中的6命名為“VALUE1”,12命名為“VALUE2”#include<stdio.h>intmain(void){intinches,feet,fathoms;...feet=6*fathoms;inches=12*feet;...}#include<stdio.h>#defineVALUE16#defineVALUE212intmain(void){intinches,feet,fathoms;...feet=VALUE1*fathoms;inches=VALUE2*feet;...}常量定義符號常量字面常量或字面值可以給程序中的常量命名若一個數(shù)據(jù)元素的值在程序的運行過程中保7程序中的符號形式程序中出現(xiàn)的所有符號都必須有含義,有些符號的形式和含義是語言設(shè)計者規(guī)定的,例如下面例子中的“include”、“define”、“int”等。#include<stdio.h>#defineVALUE16#defineVALUE212intmain(void){intinches,feet,fathoms;...feet=VALUE1*fathoms;inches=VALUE2*feet;...}編程者還需要為程序中的某些對象用語言規(guī)定的形式命名,例如,在上例中為字面常量命名。程序中的符號形式程序中出現(xiàn)的所有符號都必須有含義,有些符號的8用在程序中的基本字符和符號C語言程序中的基本字符如下標(biāo)識符是由字母、數(shù)字和下劃線符號“_”組成的標(biāo)記。標(biāo)識符不能以數(shù)字開頭。創(chuàng)建標(biāo)識符是為了對程序中的對象進行唯一地命名。例如,在上一個例子中用“VALUE1”對字面量12進行命名,計算所得的英寸數(shù)保存在名稱為“inches”的變量中。C語言對標(biāo)識符是大、小寫敏感的。小寫字母abcz大寫字母ABCZ數(shù)字0123456789其他字符+-*/=(){}[]<>'"!@#$%&_|^\.,;:?空白字符空格符換行符跳格符關(guān)鍵字是程序語言中已經(jīng)作了嚴(yán)格的含義規(guī)定的標(biāo)識符,后面我們將逐漸了解并熟悉C語言的關(guān)鍵字及已經(jīng)約定了含義的標(biāo)識符。用在程序中的基本字符和符號C語言程序中的基本字符如下標(biāo)識符是9C語言的關(guān)鍵字下面是C語言中已經(jīng)有定義的標(biāo)識符,程序員為某種對象命名時不能使用auto double int structbreak else long switchcase enum register typedefchar extern return unionconst float short unsignedcontinue for signed voiddefault goto sizeof volatiledo if static whileC語言的關(guān)鍵字下面是C語言中已經(jīng)有定義的標(biāo)識符,程序員為某種10變量(Variable)一個變量是一個用于存放值(value)的占位符(placeholder)。內(nèi)存的存儲空間可看作是若干個從0開始編號的盒子。例如,若內(nèi)存為128MB,則有128×1024×1024個盒子(每個盒子可以存儲一個8位的二進制數(shù))。123...k內(nèi)存0...存儲單元504每個變量都有三個屬性:名字,值和類型。變量名是一個存儲單元的符號名,變量的值存儲在存儲單元中inches變量名變量值變量(Variable)一個變量是一個用于存放值(value11C語言的基本數(shù)據(jù)類型C語言的基本數(shù)據(jù)類型12C語言的基本數(shù)據(jù)類型C語言的基本數(shù)據(jù)類型有整數(shù)類型實數(shù)類型字符類型對于基本數(shù)據(jù)類型,我們將從以下三個方面介紹其內(nèi)容每種類型數(shù)據(jù)的表示形式數(shù)據(jù)的取值范圍數(shù)據(jù)的運算C語言的基本數(shù)據(jù)類型C語言的基本數(shù)據(jù)類型有對于基本數(shù)據(jù)類型,13整數(shù)類型整數(shù)類型數(shù)據(jù)的表示形式:十進制、八進制、十六進制常量、變量我們已經(jīng)知道,機器中數(shù)據(jù)采用二進制表示,若規(guī)定用16位表示一個整數(shù),則整數(shù)12的機內(nèi)表示為0000000000001100整數(shù)字面常量12在程序中的表示:十進制:12八進制:014十六進制:0xC或0xc整數(shù)類型整數(shù)類型數(shù)據(jù)的表示形式:我們已經(jīng)知道,機器中數(shù)據(jù)采用14整型變量基本的整數(shù)類型變量用“int”進行聲明intfeet,inches,i;我們已經(jīng)知道,若規(guī)定用16位補碼表示一個帶符號的整數(shù),則表示范圍為-215~215-1(–32768~32767),因此用“int”聲明的整數(shù)類型變量的有效值在這個范圍內(nèi)。類型符號“l(fā)ong”聲明的整數(shù)類型用32位表示,其變量的取值范圍為:-231~231-1聲明整數(shù)類型變量時還可以用符號“unsigned”進行修飾,目的是說明無符號的整數(shù)(正整數(shù)),例如unsignedintfeet,inches,i;unsignedlongm;整型變量基本的整數(shù)類型變量用“int”進行聲明我們已經(jīng)知道,15整數(shù)類型及取值范圍ANSI標(biāo)準(zhǔn)定義的整數(shù)類型類型符號比特數(shù)取值范圍-32768
~32767
即
-215~215-1
[signed]int160
~65535即0~216-1
unsignedint16-32768
~32767即-215~215-1[signed]short[int]160
~65535即0~216-1
unsignedshort[int]16long[int]320
~4294967295即0~232-1unsignedlong[int]32-2147483648
~2147483647即-231~231-1
整數(shù)類型及取值范圍ANSI標(biāo)準(zhǔn)定義的整數(shù)類型類型符號比特數(shù)16整型數(shù)據(jù)的運算針對整數(shù)類型數(shù)據(jù)的運算有算術(shù)運算:加(+)、減(-)、乘(*)、除(/)、整除取余(%);關(guān)系運算:等于(==)、不等于(!=)、大于(>)、大于或等于(>=)、小于(<)、小于或等于(<=)函數(shù)整型數(shù)據(jù)的運算針對整數(shù)類型數(shù)據(jù)的運算有17實數(shù)類型實數(shù)類型數(shù)據(jù)的表示形式:十進制小數(shù)表示形式,例如3.14、9.8指數(shù)表示形式:<尾數(shù)>E<指數(shù)>,其中E可用e代替,例如3.0E-5基本的實數(shù)數(shù)據(jù)為float型,在內(nèi)存占用4個字節(jié)(32位),按照指數(shù)形式存放,提供6位有效數(shù)字(小數(shù)點后五位)。float型為單精度,double為雙精度型,還有長精度型longdouble實數(shù)類型類型符號比特數(shù)取值范圍-3.4×10-38
~3.4×1038
float32-1.7×10-308
~1.7×10308
double64-1.2×10-4932
~1.2×104932longdouble128有效數(shù)字6~715~1618~19實數(shù)類型實數(shù)類型數(shù)據(jù)的表示形式:基本的實數(shù)數(shù)據(jù)為float型18實型數(shù)據(jù)的舍入誤差在計算機中,實數(shù)運算中有誤差實數(shù)的表示采用近似值方式例如,在float類型中,12345678848.0+201.0/3*3的運算結(jié)果取整數(shù)為0C編譯系統(tǒng)將實型常量作為雙精度處理,例如:floatf;f=2.45678*4523.65;系統(tǒng)將2.45678和4523.65按雙精度數(shù)據(jù)存儲和運算,最后取結(jié)果的前6(7)位有效數(shù)字保存。TC2.0實型數(shù)據(jù)的舍入誤差在計算機中,實數(shù)運算中有誤差C編譯系統(tǒng)將實19實數(shù)的有效數(shù)據(jù)#include<stdio.h>main(){floatx1,y1;doublex2,y2;
x1=111111.111;y1=222222.222;printf("x1=%f\n",x1);printf("y1=%f\n",y1);printf("x1+y1=%f\n\n",x1+y1);
x2=111111.111;y2=222222.222;printf("x2=%f\n",x2);printf("y2=%f\n",y2);printf("x2+y2=%f\n",x2+y2);}運行結(jié)果:x1=111111.109375y1=222222.218750x1+y1=333333.328125x2=111111.111000y2=222222.222000x2+y2=333333.333000實數(shù)的有效數(shù)據(jù)#include<stdio.h>運行結(jié)果:20實型數(shù)據(jù)的運算針對實數(shù)類型數(shù)據(jù)的運算有算術(shù)運算:加(+)、減(-)、乘(*)、除(/);關(guān)系運算:等于(==)、不等于(!=)、大于(>)、大于或等于(>=)、小于(<)、小于或等于(<=)函數(shù)實型數(shù)據(jù)的運算針對實數(shù)類型數(shù)據(jù)的運算有21字符類型字符類型數(shù)據(jù)的表示形式:常量,用單撇號括起來,例如:'a','D','?'變量,charc1,c2;一個字符在內(nèi)存中占據(jù)一個字節(jié)的存儲空間,字符編碼采用ASCII碼,以二進制形式存儲。#include<stdio.h>main(){inti;for(i=0;i<128;i++){if(i%16==0)printf("\n");printf("%c",i);}printf("\n");}數(shù)字字符、小寫字母、大寫字母集中編碼字符類型字符類型數(shù)據(jù)的表示形式:一個字符在內(nèi)存中占據(jù)一個字節(jié)22字符類型C語言中允許將字符類型數(shù)據(jù)看作整數(shù)類型字符類型數(shù)據(jù)既可以以字符形式輸出,也可以以整數(shù)形式輸出。字符數(shù)據(jù)可以進行算術(shù)運算#include<stdio.h>main(){charch1,ch2;ch1='a';ch2='b';printf("ch1=%c,ch2=%c\n",ch1,ch2);printf("ch1=%d,ch2=%d\n",ch1,ch2);}程序運行結(jié)果:
ch1=a,ch2=b
ch1=97,ch2=98字符類型C語言中允許將字符類型數(shù)據(jù)看作整數(shù)類型#includ23字符串常量像"abc"這樣的在雙引號內(nèi)的字符序列是串常量,例如,"Howdoyoudo."、"Goodmorning."等,都是字符串常量,其長度分別為14和13(空格也是一個字符)。在C語言中,存儲字符串常量時,系統(tǒng)在串尾自動增加一個符號'\0'作為串的結(jié)束標(biāo)志。例如,串"china"在內(nèi)存中的實際存儲如下所示。china\0字符串常量像"abc"這樣的在雙引號內(nèi)的字符序列是串常量,在24特殊字符的表示在程序中,有些特殊字符需要用轉(zhuǎn)義字符表示,例如要表示單撇字符以及在串中表示雙撇字符時需要用轉(zhuǎn)義字符表示。常用的轉(zhuǎn)義字符\n字符形式含義ASCII編碼換
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 稀土磁性材料成型工安全知識能力考核試卷含答案
- 高處作業(yè)吊籃安裝拆卸工崗前工作技巧考核試卷含答案
- 中國墻面支架行業(yè)市場前景預(yù)測及投資價值評估分析報告
- 2026年連續(xù)變量量子密鑰分發(fā)項目可行性研究報告
- 2025年寧夏中考道法真題卷含答案解析
- 2025年西藏中考道法真題卷含答案解析
- 2025年康復(fù)考核試題庫及答案
- 2026初中數(shù)學(xué)教師個人工作總結(jié)
- 現(xiàn)場施工企業(yè)三級安全教育試題答卷及參考答案
- 2025年基本公共衛(wèi)生服務(wù)專項培訓(xùn)考試試題(附答案)
- 畢業(yè)設(shè)計(論文)-自動展開曬衣架設(shè)計
- T/CCMA 0164-2023工程機械電氣線路布局規(guī)范
- GB/T 43590.507-2025激光顯示器件第5-7部分:激光掃描顯示在散斑影響下的圖像質(zhì)量測試方法
- 2025四川眉山市國有資本投資運營集團有限公司招聘50人筆試參考題庫附帶答案詳解
- 2024年山東濟南中考滿分作文《為了這份繁華》
- 2025年鐵嶺衛(wèi)生職業(yè)學(xué)院單招職業(yè)傾向性測試題庫新版
- 《煤礦安全生產(chǎn)責(zé)任制》培訓(xùn)課件2025
- 項目進度跟進及完成情況匯報總結(jié)報告
- 2025年常州機電職業(yè)技術(shù)學(xué)院高職單招語文2018-2024歷年參考題庫頻考點含答案解析
- 民間融資居間合同
- 2024-2025學(xué)年冀教版九年級數(shù)學(xué)上冊期末綜合試卷(含答案)
評論
0/150
提交評論