C語言程序設計曾劍平_第1頁
C語言程序設計曾劍平_第2頁
C語言程序設計曾劍平_第3頁
C語言程序設計曾劍平_第4頁
C語言程序設計曾劍平_第5頁
已閱讀5頁,還剩34頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

會計學1C語言程序設計曾劍平運行時不是我希望…如果已經存在工程及C文件(c1),又另外建了一個C(c2),但運行時希望執(zhí)行c2中的main函數。解決:

1)關閉worksapce,在提示中選擇N2)這時只保留c2,再進行compile,運行。第1頁/共39頁VC在Linking…時停止了解決:C程序編輯完成后,不要馬上執(zhí)行(executeprogram).正確:先compile,確保沒有error和warning,如果有先修改代碼。然后再執(zhí)行。第2頁/共39頁Workspace,project,C一次只能打開一個workspace一個Workspace可以包含多個project,但只能有一個處于active狀態(tài)一個project可以包含多個C文件處于active狀態(tài)的project中的C文件中只能有一個main函數第3頁/共39頁第4頁/共39頁提綱VC上機中的問題基本數據類型輸入和輸出基礎上機練習第5頁/共39頁整型數據inta1;shortinta2;longinta3;按照數值范圍大?。夯拘停篿nt短整型:shortint(簡:short)長整型:longint(簡:long)取值范圍:a1:-231~231-1(-2147483648~2147483647)a2:-215~215-1(-32768~32767)a3:-231~231-1(-2147483648~2147483647)第6頁/共39頁取值范圍的解釋int4個字節(jié)(byte),4*8=32位(bit)short2個字節(jié),2*8=16位long4個字節(jié),4*8=32位這三種類型變量的二進制位表示中,最高位表示符號位:0—正,1—負因此,能用于表示數值的位要減1。如:short在計算機中的表示:0000000000000001表示1200000000000000011表示322-10111111111111111表示32767215-1假如為4bit,則表示范圍(0~15):0000,0001,0010,0011,…,111124-1=15為什么short16bit表示最大是:215-1?為什么long/int32bit表示最大是:231-1?第7頁/共39頁

數值位數int4*8=32位(bit)31short2*8=16位15long4*8=32位31但是在不同的C編譯平臺上,int,short,long的字節(jié)數不一定是4,2,4.只要:long的字節(jié)數>=int的字節(jié)數short的字節(jié)數<=int的字節(jié)數第8頁/共39頁超范圍的變量賦值inta1;shortinta2;a1=2147483646a1=2147483647a1=2147483648a2=32767;a2=32768;a2=32769;warningC4305:'=':truncationfrom'constint'to'short'VC不會warning,但不能正確賦值!第9頁/共39頁負數1)負整數在計算機中的表示:

-1,-10?2)最高位為1的二進制數對應的負整數是多少?

1000000000000001表示?

1000000000000011表示?

1111111111111111表示?第10頁/共39頁補碼,反碼負整數在計算機中用補碼表示。shorta2=-1;1)對應的正整數的二進制數00000000000000012)求反碼:11111111111111103)+1:1111111111111111shorta2=-10;1)對應的正整數的二進制數00000000000010102)求反碼:11111111111101013)+1:1111111111110110第11頁/共39頁1111111111111111表示?1)-111111111111111102)求反碼00000000000000013)求得對應的整數:11111111111111111表示-1第12頁/共39頁1000000000000001表示?1)-110000000000000002)求反碼01111111111111113)求得對應的整數:327671000000000000001表示-32767第13頁/共39頁利用VC的debug觀察16進制格式,對應的二進制數:1111111111110110第14頁/共39頁如果不需要符號位如年齡變量,非負??啥x為:unsignedintage;稱為:無符號基本型變量unsignedshort無符號短整型unsignedlong無符號長整型表示范圍:age:0~232-1第15頁/共39頁其他進制的整數表示八進制:整數開頭加一個數字符0;如0123十六進制:整數開頭加0x(0X).由0~9,a,b,c,d,e,f或對應的大寫字母構成十六進制數。0x123,0x1abc0x123(0x后面不能有空格)第16頁/共39頁整數常量直接在數字后加類型符號:長整型,加L(或l):123L無符號整型,加U(或u):1u,122u無符號長整型,同時加UL(u,l),22ul基本型、短整型:沒有對應的符號。思考:1u1L的區(qū)別第17頁/共39頁整數型變量定義

inta1;shorta2;//同:shortinta2;longa3;//同:longinta3;unsignedinta4;unsignedshorta5;//同unsignedshortinta5;unsignedlonga6;//同unsignedlonginta6;a4=-10;a5=-100;a2=32769;不正確賦值第18頁/共39頁浮點型數據帶小數點或指數符號的數值數據。按數值范圍和精度分:單精度:float雙精度:double長雙精度:longdouble(double不能省略)第19頁/共39頁表示范圍float占4字節(jié),7位有效數字,范圍:

-3.4×10-38~3.4×1038double占8字節(jié),15位有效數字,范圍:

-1.7×10-308~1.7×10308longdouble占16字節(jié),18位有效數字范圍:

-1.2×10-4932~1.2×104932第20頁/共39頁書寫要求格式:正負號整數部分.小數部分指數部分要求:整數、小數部分不可同時沒有;小數點、指數部分不可同時沒有;指數部分為e(或E)開始加一個整數。合法:.7

.4579.1.5e-62e32.e3.2e3不合法:e4.e55.0E7是整型;7.是浮點型.第21頁/共39頁類型符號1.5f1.5F(float)1.5L1.5l(longdouble)1.5(double)下面語句有問題嗎?floatx=1.23456789;doubley=1.234f;數字后面沒有類型符,默認為double型warningC4305:'initializing':truncationfrom'constdouble'to'float'第22頁/共39頁誤差問題floatx=1.23456789f;實際賦值可能不正確,超過有效數字位數判斷兩個浮點數x,y是否相等:fabs(x-y)<1e-6fabs(x-y)<fabs(x*1e-6)第23頁/共39頁字符型數據charc1,c2;c1=‘A’;c2=‘a’;//只能使用單引號表示1個字符,占1個字節(jié)。錯誤:c1=“A”雙引號c1=‘’;沒有值c1=‘’’;c1=‘\’;特殊符號正確的是:c1=‘\’‘;//使用轉義,實際為1字符,c1被設為‘第24頁/共39頁轉義字符常量\a\b\n\r\t\v\f\\\’\”\0:字符串結束標志\dddd八進制數字()\xhhh十六進制數字(0~255)轉義符是字符型,只能表示1個字符,占1個字節(jié)。因此,\dddd,\xhhh是不正確的。使用時將得不到正確結果,如printf(“d%”,’\1000’);并不輸出512.并且使用時必須用單引號或作為字符串的一部分。如,printf(“%c”,’\x5a’);printf(“I\’mastudent.”);第25頁/共39頁字符串常量簡稱:字符串由普通字符和轉義字符兩種字符組成。在內存中的字符串,最末尾是‘\0’標志字符串的結束。chars[5]=“1234”;//定義的長度多1區(qū)別:‘a’1字節(jié)chars=‘a’;“a”2字節(jié)chars[2]=“a”;第26頁/共39頁字符型數據的運算charc1,c2;c1=97;c2=c1+1;c1=‘a’;c2=c1+1;后面兩個語句達到相同的目的:c1=‘a’c2=‘b’字符型和整型可以通用,混合運算。第27頁/共39頁與整型通用帶來的符號問題charc=‘\376’;printf(“%d”,c);輸出:254,-2取決于編譯系統對二進制最高位的處理。unsignedcharc=‘\376’;printf(“%d”,c);輸出254第28頁/共39頁提綱VC上機中的問題基本數據類型輸入和輸出基礎上機練習第29頁/共39頁單字符輸出/輸入函數輸出一個字符:putchar(intch);ch—字符型、整型從鍵盤得到一個字符:charch;ch=getchar();//等待用戶輸入,并按回車,如果輸入多個字符,只取第一個字符。第30頁/共39頁關于getchar()從鍵盤獲得三個輸入值。stdin是輸入設備標識符#include<stdio.h>voidmain(){charc1,c2,c3;c2=getchar();fflush(stdin);//清除鍵盤緩沖,否則不一定正確獲得輸入值c1=getchar();fflush(stdin);c3=getchar(); return;}第31頁/共39頁格式輸出函數printf(輸出格式控制字符串s,輸出列表);s中三類字符的處理:普通字符:原樣輸出轉義字符:按轉義符的作用輸出輸出格式轉換說明:由若干個輸出格式組成。一個輸出格式:%+修飾符+格式符第32頁/共39頁輸出列表:由若干輸出項組成,用逗號隔開。每個輸出項可以是常量、變量、表達式。每個輸出項與輸出格式一一對應。第33頁/共39頁printf的要點1)小數位長度小時,會進行四舍五入再輸出printf(“%6.2f”,123.4567);指定的數據的輸出寬度:正負號不計

溫馨提示

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

評論

0/150

提交評論