《C語言配套資源》-任務(wù)1-3:計(jì)算兩個(gè)浮點(diǎn)數(shù)加、減、乘、除函數(shù)與調(diào)用_第1頁
《C語言配套資源》-任務(wù)1-3:計(jì)算兩個(gè)浮點(diǎn)數(shù)加、減、乘、除函數(shù)與調(diào)用_第2頁
《C語言配套資源》-任務(wù)1-3:計(jì)算兩個(gè)浮點(diǎn)數(shù)加、減、乘、除函數(shù)與調(diào)用_第3頁
《C語言配套資源》-任務(wù)1-3:計(jì)算兩個(gè)浮點(diǎn)數(shù)加、減、乘、除函數(shù)與調(diào)用_第4頁
《C語言配套資源》-任務(wù)1-3:計(jì)算兩個(gè)浮點(diǎn)數(shù)加、減、乘、除函數(shù)與調(diào)用_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

CONTENTS1任務(wù)1-3:操作要點(diǎn)及步驟2知識點(diǎn)1-7關(guān)鍵字、標(biāo)識符、知識點(diǎn)1-8數(shù)據(jù)類型3知識點(diǎn)1-9常量、知識點(diǎn)1-10變量4知識點(diǎn)1-11printf()格式輸出函數(shù)5【例1-3-1】符號常量、變量定義、初始化與輸出任務(wù)1-3:操作要點(diǎn)及步驟1C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授1.創(chuàng)建工程項(xiàng)目及項(xiàng)目主文件(main.c)

(1)打開d盤上的d:\CLanguageProgram\StuScoreManagementSystem文件夾,在文件夾下找到StuScoreManagementSystem.dsw工作空間文件,雙擊可打開任務(wù)1-1已經(jīng)建立的工作空間。任務(wù)1-3:操作要點(diǎn)及步驟

(2)創(chuàng)建項(xiàng)目工程

選擇“File”→“New”菜單命令,新建一個(gè)項(xiàng)目類型為“Win32ConsoleApplication”項(xiàng)目,項(xiàng)目名稱為:task1_3,注意選擇將task1_3項(xiàng)目添加到當(dāng)前的工作空間(StuScoreManageSystem),即單擊“Addtocurrentworkspace”單選按鈕。新建的task1_3項(xiàng)目為活動(dòng)的項(xiàng)目,為保險(xiǎn)起見,可以在task1_3項(xiàng)目上單擊右鍵,將該項(xiàng)目設(shè)置為活動(dòng)的項(xiàng)目(SetasActiveProject快捷菜單)。

(3)創(chuàng)建C源代碼文件在VC++集成開發(fā)環(huán)境下選擇“File”→“New”菜單命令,在出現(xiàn)新建文件對話框中輸入main.c文件名,然后單擊“OK”按鈕,則新建了C語言的main.c源文件。2.編寫程序源代碼、編譯、組建、運(yùn)行程序(1)編輯main.c源程序文件

在工作空間視圖中task1_3項(xiàng)目“SourceFiles”文件夾中雙擊main.c文件,打開main.c文件,在空的代碼編輯窗口中輸入如下代碼:即將任務(wù)1-2中task1_2項(xiàng)目中的main.c的源代碼全部復(fù)制到該項(xiàng)目中的main.c空文件中,并且將所有的整型(int)改浮點(diǎn)型(float),同時(shí)將printf()函數(shù)中的%d改為%f,將所有的注釋中的“整數(shù)”全部改為“浮點(diǎn)數(shù)”。(2)編譯源文件(3)連接應(yīng)用程序(4)運(yùn)行應(yīng)用程序知識點(diǎn)1-7關(guān)鍵字、標(biāo)識符、知識點(diǎn)1-8數(shù)據(jù)類型2知識點(diǎn)1-7關(guān)鍵字、標(biāo)識符知識點(diǎn)1-8數(shù)據(jù)類型C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授一、關(guān)鍵字在C語言中預(yù)先規(guī)定了一批標(biāo)識符,它們在程序中都代表著固定的含義,不能另作他用,這些字符稱為關(guān)鍵字,也稱為保留字。二、預(yù)定義標(biāo)識符即預(yù)先定義并具有特定含義的標(biāo)識符。預(yù)定義標(biāo)識符是C語言中系統(tǒng)預(yù)先定義的標(biāo)識符,如系統(tǒng)類庫名、系統(tǒng)常量名、系統(tǒng)函數(shù)名。預(yù)定義標(biāo)識符具有見字明義的特點(diǎn),如函數(shù)printf()為“格式輸出”函數(shù),英語全稱加縮寫printf;函數(shù)scanf()為“格式輸入”函數(shù),英語全稱加縮寫scanf等。預(yù)定義標(biāo)識符可以作為用戶標(biāo)識符使用,只是這樣會失去系統(tǒng)規(guī)定的原意,使用不當(dāng),程序會出錯(cuò)。三、用戶標(biāo)識符由用戶根據(jù)需要定義的標(biāo)識符稱為用戶標(biāo)識符,一般用來給C語言中的變量名、函數(shù)名、數(shù)組名、文件名、類型名等命名。知識點(diǎn)1-8數(shù)據(jù)類型根據(jù)ANSI標(biāo)準(zhǔn),C語言常用的關(guān)鍵字分類如下:數(shù)據(jù)類型關(guān)鍵字包括char、double、float、int、long、short、unsigned、union、void、enum、signed、struct等;控制語句關(guān)鍵字包括do、break、case、continue、for、goto、return、else、default、if、while、switch、extern等;存儲類型關(guān)鍵字包括auto、register、static;

其他關(guān)鍵字包括const、sizeof、typedef、volatile、inline。知識點(diǎn)1-7關(guān)鍵字、標(biāo)識符知識點(diǎn)1-9常量、知識點(diǎn)1-10變量3一、常量:是指在程序運(yùn)行過程中其值不能改變的量。根據(jù)數(shù)據(jù)類型的不同,常量又可分為4種類型。知識點(diǎn)1-9常量、知識點(diǎn)1-10變量C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授上表中字符常量的轉(zhuǎn)義字符如表所示常量的類型取值范圍整型常量12、0、-34為整型常量實(shí)型常量3.14、-2.3為實(shí)型常量字符常量一般字符:‘a(chǎn)’、‘A’、‘c’;轉(zhuǎn)義字符:‘\n’符號常量符號常量在使用之前必須先定義,習(xí)慣上符號常量的標(biāo)識符用大寫字母,其一般格式如下:#define標(biāo)識符常量符號常量是預(yù)編譯指令#define,不是語名,所以行末沒有分號,用來指定用一個(gè)符號名稱代表一個(gè)常量,其功能是把該標(biāo)識符定義為其后的常量值。例如:#definePI3.1415926 //定義符號常量PI符號常量PI代表3.1415926,它只是用符號常量代表一個(gè)字符串,在預(yù)編譯時(shí)僅進(jìn)行字符替換,在預(yù)編譯后,符號常量就不存在了(全置換成3.1415926了),對符號常量的名字是不分配存儲單元的。

一經(jīng)定義,以后在程序中用該標(biāo)識符代替該常量出現(xiàn),這提高了程序的可讀性,也給程序的修改帶來了極大的方便(如果程序中需要改變PI的精度,只需要修改符號常量的定義即可,程序中所有用到符號常量PI的地方,精度全部改了)。轉(zhuǎn)義符ASCII碼字符含義\00NULL表示字符串結(jié)束\a7BEL電腦的蜂鳴器發(fā)出“嘀”的一聲\b8BS左退一格,即從當(dāng)前位置移到前一列\(zhòng)f12FF換頁\n10NL(LF)換行,將當(dāng)前光標(biāo)移到下一行的開頭\r13CR回車,將當(dāng)前光標(biāo)移到本行的開頭\t9HT橫向跳到下一制表位置\v11VT垂直跳到下一制表位置\’39’單引號\”34”雙引號\\92\反斜線\ddd

1~3位八進(jìn)制ASCII碼所代表的字符\xhh

1~2位十六進(jìn)制ASCII碼所代表的字符二、變量:指在程序運(yùn)行過程中,取值可以改變的數(shù)據(jù)。每一個(gè)變量都用一個(gè)標(biāo)識符來表示,該標(biāo)識符稱為變量名。每個(gè)變量都屬于某個(gè)確定的數(shù)據(jù)類型,在內(nèi)存中占據(jù)一定的存儲單元,在該存儲單元中存放變量的值,因此,變量具有如下4個(gè)屬性:1.變量名:一個(gè)變量必須有一個(gè)名字,即變量名。變量名是一種標(biāo)識符,它必須遵守標(biāo)識符的命名規(guī)則。2.類型:不同的變量用不同的數(shù)據(jù)類型指定,例如整型變量用int。3.地址:當(dāng)變量被定義后,系統(tǒng)就自動(dòng)為其在內(nèi)存中開辟存儲空間;不同數(shù)據(jù)類型的變量占用相應(yīng)大小的內(nèi)存空間。4.變量值:每個(gè)變量對應(yīng)的值被保存在該變量在內(nèi)存中分配的存儲空間中。

知識點(diǎn)1-9常量、知識點(diǎn)1-10變量C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授在C語言中,變量一定要先定義后使用。定義變量的一般格式如下:

數(shù)據(jù)類型變量1,[變量2,…]類型必須是C語言的有效數(shù)據(jù)類型。變量名表是一個(gè)或多個(gè)標(biāo)識符,中間用逗號隔開,最后用分號表示變量定義結(jié)束。

inti=9;//定義了整型變量i,將9賦值給整型變量I下圖(a)表示了整型變量i數(shù)據(jù),該整型數(shù)據(jù)在內(nèi)存中的存放形式如下圖(b)所示,占4個(gè)字節(jié)。例如:inta=10;下圖表示了變量a的4個(gè)屬性知識點(diǎn)1-9常量、知識點(diǎn)1-10變量(數(shù)據(jù)類型轉(zhuǎn)換)C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授在C語言中,進(jìn)行數(shù)據(jù)類型之間的轉(zhuǎn)換有兩種轉(zhuǎn)換方式:隱式類型轉(zhuǎn)換與強(qiáng)制類型轉(zhuǎn)換。一、隱式類型轉(zhuǎn)換(編譯器主動(dòng)進(jìn)行的類型轉(zhuǎn)換也叫自動(dòng)類型轉(zhuǎn)換):變量的數(shù)據(jù)類型升級為高一級變量的數(shù)據(jù)類型時(shí),可避免數(shù)據(jù)丟失,即從低類型到高類型的隱式類型轉(zhuǎn)換是安全的。1.算術(shù)運(yùn)算式中,低類型能夠轉(zhuǎn)換為高類型。2.賦值表達(dá)式中,賦值運(yùn)算符“=”右邊的變量轉(zhuǎn)換為左邊的變量類型。

3.函數(shù)調(diào)用時(shí),實(shí)參轉(zhuǎn)換為形參的類型。

4.函數(shù)返回時(shí),函數(shù)返回值,return表達(dá)式轉(zhuǎn)換為返回值類型。1.任務(wù)1-3main()函數(shù)中printf("x+y=%f\n",jiafa(5,6));int

->unsignedint->long->unsigned->longlong->float->double->longdouble

二、C語言可顯式指定類型轉(zhuǎn)換(強(qiáng)制類型轉(zhuǎn)換),它語法格式為:(目標(biāo)類型)變量名或者具體的數(shù)值例如:intsum=103,count=7;

floatave;doubleaverage=(double)sum/count;//注意不要寫作(double)(sum/count)ave=(float)average;三、隱式類型轉(zhuǎn)換與強(qiáng)制類型轉(zhuǎn)換應(yīng)用的場景如下:

思考:將任務(wù)1-3main()函數(shù)中printf("x+y=%f\n",jiafa(5,6));語句改為:printf("x+y=%f\n",jiafa(5.3,6.7));后編譯后為什么會出現(xiàn)如下2個(gè)警告信息?warningC4305:'function':truncationfrom'constdouble'to'float'

2.從高類型到低類型的轉(zhuǎn)換是不安全的,將會降低精度或截?cái)鄶?shù)據(jù),可能得不到預(yù)期的結(jié)果。知識點(diǎn)1-11printf()格式輸出函數(shù)4知識點(diǎn)1-11printf()格式輸出函數(shù)C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授一、printf()函數(shù)的功能:格式化輸出printf(printformat)函數(shù)的功能是按用戶指定的格式,把指定的數(shù)據(jù)打印到顯示器屏幕上。二、printf()函數(shù)的格式:printf("格式控制字符串"[,輸出列表]);

printf()函數(shù)調(diào)用的格式中的“[,輸出列表]”,表示可選項(xiàng)。任務(wù)1-1中printf()函數(shù)無輸出列表,表示只是原樣輸出英文雙引號中的內(nèi)容,起到顯示提示用戶操作、顯示提示幫助信息等作用,此時(shí)“格式控制字符串”中不能包含格式控制符。

如果選擇“輸出列表”可選項(xiàng),則“輸出列表”項(xiàng)與“格式控制字符串”以英文的逗號分隔,且“輸出列表”項(xiàng)也以英文的逗號分隔輸出列表項(xiàng)。

例如:inta=5,b=6;print(“%d+%d=%d\n”,a,b,jiafa(a,b));1.格式控制字符串包含2類字符。(1)普通字符:普通字符串,在輸出時(shí)原樣照印,在顯示中起提示、分隔作用(轉(zhuǎn)義字符‘\n’等可以理解為特殊的字符)。例如:printf(“pleaseinputtwonumbers\n”);printf(“%d+%d=%d\n”,a,b,jiafa(a,b));普通字符格式控制字符串原樣輸出調(diào)用此printf()函數(shù)后,應(yīng)在屏幕輸出5+6=11

格式聲明輸出列表(輸出a,b變量值及函數(shù)的返回值)知識點(diǎn)1-11printf()格式輸出函數(shù)C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授printf(“%d+%d=%d\n”,a,b,jiafa(a,b));普通字符格式控制字符串原樣輸出調(diào)用此printf()函數(shù)后,應(yīng)在屏幕輸出5+6=11

格式聲明輸出列表(輸出a,b變量值及函數(shù)的返回值)f()函數(shù)格式字符串中:%附加字符格式字符格式字符說明d,i以帶符號的十進(jìn)制形式輸出整數(shù)(正數(shù)不輸出符號)o以八進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0)x,X以十六進(jìn)制無符號形式輸出整數(shù)(不輸出前導(dǎo)符0x),用x則輸出十六進(jìn)制數(shù)的a~f時(shí)以小寫形式輸出,用X時(shí),則以大寫字母輸出u以無符號十進(jìn)制形式輸出整數(shù)c以字符形式輸出,只輸出一個(gè)字符s輸出字符串f以小數(shù)形式輸出單、雙精度數(shù),隱含輸出6位小數(shù)e,E以指數(shù)形式輸出實(shí)數(shù),用e時(shí)指數(shù)以“e”表示(如1.2e+02),用E時(shí)指數(shù)以“E”表示(如1.2E+02)g,G選用%f或%e格式中輸出寬度較短的一種格式,不輸出無意義的0。用G時(shí),若以指數(shù)形式輸出,則指數(shù)以大寫表示附加字符說明l長整型整數(shù),可加在格式符d、o、x、u前面)m(代表一個(gè)正整數(shù))數(shù)據(jù)最小寬度n(代表一個(gè)正整數(shù))對實(shí)數(shù),表示輸出n位小數(shù);對字符串,表示截取的字符個(gè)數(shù)-輸出的數(shù)字或字符在域內(nèi)向左靠1.printf()函數(shù)輸出對象的類型應(yīng)與上述格式說明匹配,否則出現(xiàn)錯(cuò)誤。2.除了X,E,G外,其他格式字符必須用小寫字母,如%d不能寫成%D。3.printf()函數(shù)中格式控制字符串內(nèi)包含\n,\t,\b,\r,\f和\377等轉(zhuǎn)義字符。4.一個(gè)格式聲明以“%”開頭,以格式字符之一為結(jié)束,中間可以插入附加格式字符(也稱修飾符)。5.如果想輸出字符“%”,應(yīng)該在“格式控制字符串”中用連續(xù)兩個(gè)“%”表示,如:printf(″%f%%\n″,1.0/4);知識點(diǎn)1-11printf()格式輸出函數(shù)C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授(2)格式說明符:以“%”開頭的字符串,在%后跟有各種格式字符,它的形式為:%[修飾符]格式符,以說明輸出數(shù)據(jù)的類型、形式、長度、小數(shù)位數(shù)等。常用格式說明符及使用場合如下表所示:類型格式使用場合整型int%d輸入/輸出基本整型數(shù)據(jù)%md輸出m位整型數(shù)據(jù),如果數(shù)據(jù)的位數(shù)小于m,則在左端補(bǔ)空格,數(shù)字向右對齊;如果數(shù)據(jù)的位數(shù)大于m,則按實(shí)際數(shù)據(jù)位數(shù)輸出%-md與%md類似,不同之處是如果輸出數(shù)據(jù)的位數(shù)小于m,則數(shù)字左對齊,同時(shí)右端補(bǔ)空格%o以八進(jìn)制無符號形式輸出整數(shù)%x或%X以十六進(jìn)制無符號形式輸出整數(shù)%u以無符號的十進(jìn)制形式輸出整數(shù)long%ld輸入/輸出長整型數(shù)據(jù)實(shí)型float%f以小數(shù)形式輸入/輸出單精度實(shí)型數(shù)據(jù)%m.nf指定輸出的數(shù)據(jù)共占m列(包括小數(shù)點(diǎn)占一列),小數(shù)部分占n列,如果數(shù)值長度小于m,則左端補(bǔ)空格%-m.nf與%m.nf類似,不同之處是如果輸出數(shù)字的位數(shù)小于m,則數(shù)字左對齊,同時(shí)右端補(bǔ)空格%e以指數(shù)形式輸入/輸出單精度實(shí)型數(shù)據(jù)double%lf以小數(shù)形式輸入/輸出雙精度實(shí)型數(shù)據(jù)%le以指數(shù)形式輸入/輸出雙精度實(shí)型數(shù)據(jù)字符型char%c輸入/輸出單個(gè)字符字符串

%s輸出字符串知識點(diǎn)1-11printf()格式輸出函數(shù)C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授例如:inta=65;floatx=31.415926;則printf()格式輸出函數(shù)常用的格式符如下表格式符說明舉例輸出結(jié)果d按十進(jìn)制整數(shù)輸出printf("%d",'a');97printf("%d",a);65printf("%5d",a);□□□65printf("%d",26);26E或e按科學(xué)計(jì)數(shù)法輸出printf("%e",x);3.141593e+001printf("%E",x);3.141593E+001G或g小數(shù)形式或指數(shù)形式,使輸出寬度最小,不輸出無意義的0printf("%g",1.2345);1.2345printf("%g",0.000002);2e-006printf("%G",0.000002);2E-006f按浮點(diǎn)型小數(shù)輸出printf("%f",x);31.415926m.nfm和n都表示正整數(shù),其中,m表示輸出數(shù)據(jù)的總寬度,n指精度,即輸出數(shù)據(jù)小數(shù)部分的位數(shù),未指定n時(shí),隱含的精度為n=6位。printf("%6.2f",x);□31.42o按八進(jìn)制整數(shù)輸出printf("%o",a);101u按無符號十進(jìn)制整數(shù)輸出printf("%u",-a);4294967231x按十六進(jìn)制整數(shù)輸出printf("%x",a);41X按十六進(jìn)制整數(shù)輸出printf("%X",a);41%輸出一個(gè)百分號printf("%%");%c按字符型輸出printf("%c",a);Amc按指定的寬度m輸出字符printf("%3c",a);□□As按字符串輸出printf("%s","abc");abcms按指定的寬度m輸出字符串printf("%5s","abc");□□abc知識點(diǎn)1-11printf()格式輸出函數(shù)C語言項(xiàng)目化教程(項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動(dòng))主講:朱香衛(wèi)教授例如:inta=65;floatx=31.415926;則printf()格式輸出函數(shù)常用的修飾符如下表格式符說明舉例輸出結(jié)果+默認(rèn)負(fù)數(shù)輸出負(fù)號。當(dāng)有“+”號標(biāo)識符時(shí),正數(shù)輸出也帶正號,負(fù)數(shù)輸出負(fù)號。printf("%+5d\n",a);□□+65printf("%5d\n",-8);□□□-8printf("%+5d\n",-8);□□□-8printf("%5d\n",8);□□□□8printf

溫馨提示

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

最新文檔

評論

0/150

提交評論