《C語言程序設計案例教程》全套教學課件_第1頁
《C語言程序設計案例教程》全套教學課件_第2頁
《C語言程序設計案例教程》全套教學課件_第3頁
《C語言程序設計案例教程》全套教學課件_第4頁
《C語言程序設計案例教程》全套教學課件_第5頁
已閱讀5頁,還剩615頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

"CaseTutorialsofCLanguageProgramming"isbasedondataprocessing《C語言程序設計案例教程》

----基于數(shù)據(jù)處理全套可編輯PPT課件

本課件是可編輯的正常PPT課件目錄02第2章簡單的數(shù)值運算程序設計03第3章邏輯運算與選擇結構程序設計01第1章C語言概述及程序設計基礎04第4章重復運算與循環(huán)結構程序設計本課件是可編輯的正常PPT課件目錄06第6章指針與字符串數(shù)據(jù)處理07第7章函數(shù)與程序結構優(yōu)化05第5章數(shù)組與批量數(shù)據(jù)處理08第8章結構體與復雜數(shù)據(jù)處理本課件是可編輯的正常PPT課件目錄10第10章文件與大批量數(shù)據(jù)處理09第9章鏈表與非連續(xù)存儲數(shù)據(jù)處理本課件是可編輯的正常PPT課件1.1C語言的發(fā)展及特點01021.2C語言程序的基本結構031.3編譯預處理1.4程序設計基礎041.5VS2019使用方法05第1章C語言概述及程序設計基礎本課件是可編輯的正常PPT課件1.1.1C語言的發(fā)展本書以Visual

studio2019為開發(fā)平臺進行編程練習本課件是可編輯的正常PPT課件1.1.2C語言的特點(一)0102030405C語言是一種結構化語言C語言功能強大,程序運行效率高C語言數(shù)據(jù)結構豐富C語言運算符豐富C語言簡潔、緊湊,使用方便、靈活本課件是可編輯的正常PPT課件1.1.2C語言的特點(二)0607080910C語法限制不太嚴格、程序設計自由度大C語言程序生成代碼質量高,程序執(zhí)行效率高C語言可移植性強C語言允許直接訪問物理地址,能進行位操作適合編寫嵌入式程序與操作系統(tǒng)等本課件是可編輯的正常PPT課件TIOBEIndex:VeryLongTermHistory

Toseethebiggerpicture,pleasefindbelowthepositionsofthetop:10programminglanguagesofmanyyearsback.Pleasenotethattheseareaveragepositionsforaperiodof12months.本課件是可編輯的正常PPT課件1.2C語言程序的基本結構【例1.1】一個簡單的C程序示例。#define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>voidmain() {

printf("這是我的第一個C語言程序!\n");}1.2.1C語言程序的書寫基本結構在VS中為了避免早期的C語言中的某些函數(shù)認為是不安全的,加上此聲明語句可以避免出現(xiàn)編譯錯誤(要求所有程序均增加此行定義,下同)//預處理,文件包含//主函數(shù)//調用庫函數(shù)

本課件是可編輯的正常PPT課件【例1.2】已知圓的半徑,求圓的周長和面積(ex1_2.cpp)。#include<stdio.h>//預處理,文件包含#definePI3.14159 //預處理,宏定義floatarea(intradius) //計算半徑為radius的圓面積函數(shù){ returnPI*radius*radius; //返回圓面積}voidmain(){ intradius; //聲明圓半徑radius為整型變量 floatcircumferencel,circle_area; //聲明周長circumferencel、面積circle_area為單精度浮點型變量 scanf("%d",&radius); //從鍵盤輸入半徑 circumferencel=2*PI*radius; //計算周長circumferencel的值 circle_area=area(radius); //計算面積circle_area的值 printf("半徑=%d,周長=%5.2f,面積=%5.2f\n",radius,circumferencel,circle_area); //輸出圓的半徑、周長和面積}1.2.1C語言程序的書寫基本結構函數(shù)area函數(shù)main本課件是可編輯的正常PPT課件【例1.2】已知圓的半徑,求圓的周長和面積(ex1_2.cpp)。#include<stdio.h>//預處理,文件包含#definePI3.14159 //預處理,宏定義floatarea(intradius) //計算半徑為radius的圓面積函數(shù){ returnPI*radius*radius; //返回圓面積}voidmain(){ intradius; //聲明圓半徑radius為整型變量 floatcircumferencel,circle_area; //聲明周長circumferencel、面積circle_area為單精度浮點型變量 scanf("%d",&radius); //從鍵盤輸入半徑 circumferencel=2*PI*radius; //計算周長circumferencel的值 circle_area=area(radius); //計算面積circle_area的值 printf("半徑=%d,周長=%5.2f,面積=%5.2f\n",radius,circumferencel,circle_area); //輸出圓的半徑、周長和面積}1.2.1C語言程序的書寫基本結構函數(shù)area函數(shù)main本課件是可編輯的正常PPT課件1.編譯預處理部分編譯預處理部分#開頭,它通常又包括文件包含、宏定義與條件編譯三種情況。#inclue<文件名>#define標識符

字符串2.函數(shù)部分12C語言程序的基本結構:函數(shù)返回值類型函數(shù)名1(形式參數(shù)列表){函數(shù)體1}

函數(shù)返回值類型函數(shù)名2(形式參數(shù)列表){函數(shù)體2}

intmain(){函數(shù)體n}

本課件是可編輯的正常PPT課件函數(shù)部分2C語言程序的書寫結構:函數(shù)返回值類型函數(shù)名1(形式參數(shù)列表){函數(shù)體1}

函數(shù)返回值類型函數(shù)名2(形式參數(shù)列表){函數(shù)體2}

intmain(){函數(shù)體n}

編譯預處部分

1特別說明:main()可以放在函數(shù)中的任意位置,但通常放在最前或者最后面。

本課件是可編輯的正常PPT課件1.2.2C語言程序的邏輯結構本課件是可編輯的正常PPT課件1.2.3字符集C語言字符集由字母、數(shù)字、空格、標點和特殊字符組成。(1)字母:小寫字母a~z,大寫字母A~Z,共52個。(2)數(shù)字:0~9共10個。(3)下劃線:_。(4)空格:(5)其它符號:見下表符號作用符號作用符號作用,逗號運算符()表達式+加號.結構體成員-減號;語句標記[]數(shù)組下標標記*乘號#宏定義格式符/除法\轉義符{}復合語句%其余數(shù)'字符標記&按位與"字符串標記<>文件包含標記|按位或!not(邏輯非)~按位取反=賦值運算?

:條件運算符^按位異或`未給出@未給出$未給出本課件是可編輯的正常PPT課件1.2.4標識符在程序中使用的語句功能名、變量名、函數(shù)名、數(shù)組名、指針名、標號等統(tǒng)稱為標識符。1.標識符概述0103正確的:x1a__yabc_defmax_of_groupxyzAx3WhileiF3.示例02標識符只能是字母(A~Z,a~z)、數(shù)字(0~9)、下劃線(_)組成的字符串,并且其第一個字符必須是字母或下劃線。2.標識符的書寫規(guī)定:錯誤的:5x1a

y$1abc%defwhile

case

本課件是可編輯的正常PPT課件1.2.4標識符在程序中使用的語句功能名、變量名、函數(shù)名、數(shù)組名、指針名、標號等統(tǒng)稱為標識符。1.標識符的分類0403正確的:x1a__yabc_defmax_of_groupxyzAx3WhileiF3.示例02標識符只能是字母(A~Z,a~z)、數(shù)字(0~9)、下劃線(_)組成的字符串,并且其第一個字符必須是字母或下劃線。2.標識符的書寫規(guī)定:錯誤的:5x1a

y$1abc%defwhile

case

本課件是可編輯的正常PPT課件

關鍵字4.標識符的分類

預定義標識符0102

用戶標識符03關鍵字也稱保留字,不得作為它用。如語句命令if、for等系統(tǒng)預先定義的標識符,同樣不得作為它用。如庫函數(shù)名printf等0102一般用來給變量、數(shù)組、結構體、函數(shù)、或文件等命名?!耙娒R義”很重要,如area03本課件是可編輯的正常PPT課件數(shù)據(jù)類型關鍵字(12個)char:字符型double:雙精度enum:枚舉型。float:浮點型int:整型long:長整型short:短整型signed:有符號struct:結構體union:聯(lián)合體

unsigned:無符號void:空類型。關鍵字(keyword)分類介紹:控制語句(12個)for:循環(huán)語句。do:循環(huán)語句。while:循環(huán)語句。break:結束本層循環(huán)。continue:結束本次循環(huán)。if/else條件語句。goto:無條件跳轉switch/case/default:多分支語句。return:返回函數(shù)計算結果。0102存儲類型(4個)auto:VC6.0中自動變量extern:外部變量register:寄存器變量static:靜態(tài)變量const:只讀變量。其它(4個)

sizeof:計算數(shù)據(jù)類型長度。typedef:定義一個數(shù)據(jù)類型名。volatile:說明變量在程序執(zhí)行中可被隱含地改變03本課件是可編輯的正常PPT課件1.2.5C語言語句C語言規(guī)定:在每一條語句末尾用分號“;”結束。本課件是可編輯的正常PPT課件3.語句的表示與功能介紹格式:函數(shù)返回值類型函數(shù)名(形式參數(shù)列表);

用函數(shù)定義的第一行后面加;表示,其作用為聲明一個函數(shù),以便實現(xiàn)函數(shù)的任意位置擺放而不出現(xiàn)函數(shù)未定義的編譯錯誤。(1)函數(shù)說明0103格式:對已經(jīng)定義了的變量用關鍵字extern進行外部變量聲明,起到擴展外部變量作用域的作用。如:externintx;(3)變量說明02格式:數(shù)據(jù)類型關鍵字變量名標識符;作用:定義一個或多個變量。例如:intx,y;

floatradius,area;(2)變量定義1)說明語句本課件是可編輯的正常PPT課件3.語句的表示與功能介紹其一般形式為:

表達式;執(zhí)行表達式語句就是計算表達式的值。如z=x+y;i++;x+y;(1)表達式語句0103

控制語句用于控制程序的流程,以實現(xiàn)程序的分支、循環(huán)和跳轉等功能。(3)控制語句02其一般形式為:

函數(shù)名(實際參數(shù)表);執(zhí)行一個函數(shù)調用功能。(2)函數(shù)調用語句2)執(zhí)行語句①分支結構語句:if/else、switch/case;②循環(huán)控制語句:dowhile、while、for;③跳轉語句:break、continue、return、goto。本課件是可編輯的正常PPT課件3.語句的表示與功能介紹把多個語句用“{}”括起來組成的一個語句塊稱為復合語句。例如:{

x=y+z;a=b+c;printf(“%d%d”,x,a);}(4)復合語句0405

只有分號“;”組成的語句稱為空語句。執(zhí)行時無功能實現(xiàn)。(5)空語句2)執(zhí)行語句例如,用空語句作循環(huán)體:while(getchar()!='\n');

本課件是可編輯的正常PPT課件4.語句的分析模型【例1.3】系統(tǒng)登錄:密碼輸入正確則提示“恭喜!登錄成功!”,如果出錯只允許兩次密碼輸入出錯,第三次密碼還是錯誤便強制退出登錄。輸入一個字符串,計算其長度lenlen!=6密碼正確?出錯次數(shù)+1設密碼長度為6位符號,出錯次數(shù)置0出錯次數(shù)<3輸出提示,結束出錯次數(shù)+1出錯次數(shù)<3輸出提示,結束輸出提示,結束yesnonoyesnoyes本課件是可編輯的正常PPT課件4.語句的分析模型intmain(){

charpassword[20]={0};

inti,j,count=0;i=j=0;

for(i=1;i<=5;i++)

{

printf("請輸入6位密碼:");scanf("%s",password);j=strlen(password);

if(j!=6)

{count++;printf("密碼長度不對,第%d次輸入錯誤!\n",count);

if(count==3)

{

printf("連續(xù)3次輸入的密碼不正確,登錄失?。n");

break;

}

}

else

{

……

}

}

return0;}復合語句for語句if-else語句if語句復合語句程序本課件是可編輯的正常PPT課件1.2.6C語言程序的書寫約定“見名識義”4.關于標識符號{和}均單獨占一行,一行一般只寫一個語句2.不要吝嗇程序的長度要么放在最前面,要么放在最后面3.主函數(shù)main()的位置VisualStudio20101.選用更好的開發(fā)環(huán)境①/*……*/②//用于注釋一行5.適當添加必要的注釋保留像VS

2020版本的自動嵌套式的縮進格式,不要隨意更改本課件是可編輯的正常PPT課件010203040506編譯預處理對其中的預處理指令進行處理,并對源代碼進行轉換匯編程序將高級語言程序轉換成匯編語言代碼優(yōu)化程序對程序的代碼進行優(yōu)化處理鏈接程序將編譯后的目標代碼與其他目標代碼或庫文件合并成一個可執(zhí)行文件編譯進行程序的語法分析,生成分析表可執(zhí)行文件生成可在操作系統(tǒng)(如windows)環(huán)境下運行的程序1.3編譯預處理C語言由源代碼生成可執(zhí)行程序的過程如下:本課件是可編輯的正常PPT課件1.3.1預處理命令分類:(1)文件包含:將源文件中以#include格式包含的文件復制到編譯的源文件中,可以是頭文件,也可以是其他的程序文件。(2)宏定義指令:#define指令定義一個宏,#undef指令刪除一個宏定義。(3)條件編譯:根據(jù)#ifdef和#ifndef后面的條件決定需要編譯的代碼。預處理指令:在程序的一行中以符號#開頭的指令。本課件是可編輯的正常PPT課件1.3.2文件包含1.文件包含的格式#include<文件名>或#include"文件名"例如:#include"stdio.h"http://頭文件#include<math.h>作用:直接使用已經(jīng)存在的庫函數(shù)或用戶自己定義的函數(shù),以豐富程序功能,減輕程序員的編程負擔,提高編程效率。一個include命令只能指定一個被包含文件,若有多個文件要包含,則需用多個include命令。本課件是可編輯的正常PPT課件1.3.3宏定義1.無參宏定義其定義的一般形式為:#define標識符字符串作用:可以用一個“宏名”來代替程序中出現(xiàn)的任何符號串。#include

<stdio.h>#define

PI

3.1415926#define

AREA

PI*r*r#define

M

(x*x+2*x+1)void

main(){

int

r,x; r=3; x=5; printf("%f\n",AREA); printf("%d\n",M*2);}printf("%f\n",3.1415926*r*r);printf("%d\n",(x*x+2*x+1)*2);宏替換本課件是可編輯的正常PPT課件1.3.3宏定義#include

<stdio.h>#define

P

printf#define

D

"%d

"

//%d輸出整型變量的格式符#define

F

"%f\n"

//&f輸出浮點數(shù)型變量的格式符void

main(){

int

a=5,c=8,e=11;

float

b=3.8,d=9.7,f=21.08;

P(D

F,a,b);

P(D

F,c,d);

P(D

F,e,f);}宏定義也可以用來定義程序中多次使用的符號串或格式符,以減少敲代碼的數(shù)量printf(“%d”%f\n”,a,b);printf(“%d”%f\n”,c,d);printf(“%d”%f\n”,e,f);宏替換本課件是可編輯的正常PPT課件1.3.3宏定義2.帶參宏定義C語言允許宏帶有參數(shù)。在宏定義中的參數(shù)稱為形式參數(shù),在宏調用中的參數(shù)稱為實際參數(shù)。對帶參數(shù)的宏,在調用中,不僅要宏展開,而且要用實參去代換形參。帶參宏定義的一般形式為:

#define宏名(形參表)字符串帶參宏調用的一般形式為:

宏名(實參表);如:

#defineM(y)y*y+2*y//宏定義宏定義也可以用來定義程序中多次使用的符號串或格式符,以減少敲代碼的數(shù)量k=5*5+2*5;s=a+b*a+b+2*a+b;宏替換宏調用:

k=M(5);

s=M(a+b);

帶參數(shù)的宏使用不當具有一定的隱患?。?!本課件是可編輯的正常PPT課件1.3.3宏定義使用不當?shù)暮辏?+3*3+4宏替換解決辦法:

#define

SQUARE(a,b)

a*b帶參數(shù)的宏使用不當具有一定的隱患!建議:慎用?。?!#include

<stdio.h>#define

SQUARE(a,b)

a*bvoid

main(){ printf("正方形1的面積:%d\n",SQUARE(2,3)); printf("正方形2的面積:%d\n",SQUARE(2+3,3+4));}本課件是可編輯的正常PPT課件1.3.4條件編譯作用:可以按不同的條件去編譯不同的程序部分,因而產(chǎn)生不同的目標代碼文件。這對于程序的移植和調試是很有用的:1.格式1#ifdef標識符程序段1#else程序段2#endif功能:根據(jù)標識符已定義的情況進行編譯2.格式2#ifndef標識符程序段1#else程序段2#endif功能:根據(jù)標識符未定義的情況進行編譯3.格式3#if常量表達式程序段1#else程序段2#endif功能:根據(jù)常量表達式的值進行編譯本課件是可編輯的正常PPT課件1.3.4條件編譯#include

<stdio.h>#define

PI

3.14159#define

R

1

//常量定義,用于條件編譯void

main(){

float

c,area,square;

//定義輸入變量c,圓的面積area,矩形面積square printf("inputanumber:

"); scanf("%f",&c);#if

R

//根據(jù)R的值決定對if后面的程序段進行編譯

area=PI

*c*c;

printf("圓面積是:%f\n",area);#else

square=c*c;

printf("矩形面積是:%f\n",square);#endif}#define

R

0本課件是可編輯的正常PPT課件1.4程序設計基礎

尼克勞斯-埃米爾-沃思(NiklausEmilWirth),Pascal的創(chuàng)造者,圖靈獎獲得者,計算機歷史博物館研究員,于2024年1月1日去世,享年89歲。他1975年出版的書名為《算法+數(shù)據(jù)結構=程序》,(Algorithm+DataStructures=Programs),憑借他提出的著名公式:"算法+數(shù)據(jù)結構=程序,于1984年獲得了圖靈獎"。本課件是可編輯的正常PPT課件1.4.1算法基本概念

1.算法的定義

算法(algorithm)是對特定問題求解的步驟的一種具體描述,算法是指令的有限序列,其中每一條指令表示一個或是多個操作,用于解決某個實際問題;所以算法也是指解決問題的方法和步驟。

2.程序

算法(algorithm)+數(shù)據(jù)結構=程序。本課件是可編輯的正常PPT課件2.算法的特征一個算法有零個或多個輸入,這些輸入取自于某個特定的對象集合。輸入算法中每一條指令必須有確切的含義,使用者理解時不存在二義性。確定性描述的操作都是可以通過已經(jīng)實現(xiàn)的基本運算執(zhí)行有限次來實現(xiàn)的??尚行跃褪怯糜邢迋€步驟在有限的時間內解決某個特定的問題有窮性一個算法有一個或多個輸出,這些輸出是同輸入有著某些特定關系的量。輸出本課件是可編輯的正常PPT課件3.算法的設計要點效率指的是算法執(zhí)行的時間,對于一個問題,執(zhí)行時間短算法效率高。高效率算法主要是為了讓人閱讀和交流,其次才是機器執(zhí)行可讀性當輸入非法時,算法也能適當?shù)刈龀龇磻蜻M行處理,而不會出錯健壯性算法應該能夠正確地解決求解問題正確性存儲量需求指算法執(zhí)行過程中所需要的最大存儲空間。低存儲本課件是可編輯的正常PPT課件4.算法效率的度量在設計之初先分析算法所需要的時間與空間事前分析程序運行后統(tǒng)計其所消耗的時間與空間事后統(tǒng)計一個用高級程序語言編寫的程序在計算機上運行時所消耗的時間取決于下列因素:l依據(jù)的算法選用何種策略;l問題的規(guī)模;l書寫程序的語言,對于同一個算法,實現(xiàn)語言的級別越高,執(zhí)行效率就越低;l編譯程序所產(chǎn)生的機器代碼的質量;l機器執(zhí)行指令的速度。一般較少使用,原因是這種方法有兩個缺陷:一個是必須先運行依據(jù)算法編制的程序;另一個是所得時間的統(tǒng)計量依賴于計算機的硬件、軟件等環(huán)境因素,有時容易掩蓋算法本身的優(yōu)劣。本課件是可編輯的正常PPT課件4.算法效率的度量度量算法所需要的空間S(n)=O(f(n))(1)空間復雜度度量算法所需要的時間T(n)=O(f(n))(1)時間復雜度O(1)<O(log?n)<O(n)<O(nlog?n)<O(n2)<O(n3)<O(2?)<O(n!)<O(n?)空間復雜度一般為O(1)、O(n)、O(n2)和O(n3)本課件是可編輯的正常PPT課件1.4.2算法的表示?優(yōu)點:簡單,便于閱讀。?缺點:無統(tǒng)一的標準,文字冗長,容易出現(xiàn)歧義。1.用自然語言表示【例1.13】用自然語言描述計算并輸出x、y、z三個數(shù)中最大者的算法。算法如下:S1.輸入變量x,y,z;S2.比較x與y,將其較大的數(shù)存放到t中;S3.比較t與z,將其較大的數(shù)存放到max中;S4.輸出max;本課件是可編輯的正常PPT課件1.4.2算法的表示?偽代碼是用介于自然語言與計算機語言之間的文字和符號來描述算法。它無固定的、嚴格的語法規(guī)則,書寫格式自由,且易于修改,要求表達清楚。2.用偽代碼表示例1.14】用偽代碼表示計算t=5!的算法。begin(算法開始)t?1i?2whilei≤5{

t?t*ii?i+1}printftend(算法結束)本課件是可編輯的正常PPT課件1.4.2算法的表示?圖形表示算法,直觀形象,易于理解美國國家標準化協(xié)會ANSI規(guī)定了一些常用的流程圖符號。3.用流程圖表示處理框虛線起止框

判斷框流程線連接符輸入/輸出框注解用上面的基本圖形符號可以構造任意復雜的算法結構本課件是可編輯的正常PPT課件三種基本結構:順序結構、分支結構、循環(huán)結構的流程圖表示:順序結構分支結構多分支結構死循環(huán)結構當型循環(huán)結構直到型循環(huán)結構本課件是可編輯的正常PPT課件【例1.15】畫出求1+2+3+…+100的流程圖。本課件是可編輯的正常PPT課件1.4.2算法的表示?算法的每一步都用一個矩形框描述,按執(zhí)行次序連接起來就是一個完整的算法描述,這種描述方法被稱為N-S圖。4.N-S圖表示N-S流程圖用以下流程圖符號

(A)順序結構

(B)選擇結構

(C)當型循環(huán)

(D)

直到型循環(huán)本課件是可編輯的正常PPT課件【例1.15】用N-S圖畫出求1+2+3+…+100的算法圖。s←0,i←1

當i≤100成立s←s+ii←i+1輸出s的值s←0,i←1【例1.15-1】用N-S圖畫出求1…100中的素數(shù)和的算法圖。s←0,i←1

當i≤100成立i是素數(shù)s←s+i輸出s的值s←0,i←1i←i+1空yesno本課件是可編輯的正常PPT課件1.4.2算法的表示?用程序設計語言表示算法時,必須遵循該程序設計語言的語法規(guī)則,要求比較嚴格,一般不常用其表示算法。5.用程序設計語言表示本課件是可編輯的正常PPT課件1.4.3程序的三種基本結構1.順序結構

順序結構是最簡單的基本結構,要求按從上到下的先后順序執(zhí)行程序中的每一條語句(或結構單元)。2.選擇結構選擇結構又稱作分支結構。在選擇結構中,要根據(jù)邏輯條件的成立與否,分別選擇執(zhí)行不同的語句或結構單元。3.循環(huán)結構循環(huán)結構的執(zhí)行方式是根據(jù)某項條件重復地執(zhí)行一些語句若干次,直到某條件成立或不成立為止。本課件是可編輯的正常PPT課件1.4.3程序的三種基本結構的特點1.共同特點

在用流程圖表示的結構中,在其外面加上一個大的虛線框,就可以發(fā)現(xiàn)三種基本結構的共同特點:即它們均只有“一個入口”和“一個出口”。2.可嵌套3種結構之間可相互嵌套,如條件中嵌套循環(huán),循環(huán)中嵌套循環(huán)等;優(yōu)點:解決任何復雜問題!3.好程序的標準每個程序模塊只有一個入口和一個出口;沒有死語句(永遠執(zhí)行不到的語句);沒有死循環(huán)(永遠執(zhí)行不完的循環(huán));程序的書寫格式規(guī)范、可讀性強。

程序算法結構清晰、執(zhí)行效率高。本課件是可編輯的正常PPT課件1.5VS2019的特點VisualStudio2019(簡稱VS2019)是微軟推出的一個集成開發(fā)環(huán)境(IDE),它支持多種編程語言和框架,適用于開發(fā)各種類型的應用程序。其主要特點如下:模塊化安裝:VS2019采用了模塊化安裝方法,可以根據(jù)需要選擇安裝組件。性能改進:VS2019在性能方面進行了優(yōu)化。實時協(xié)作:VS2019支持實時協(xié)作開發(fā),允許多個開發(fā)者同時編輯和共享代碼。改進的測試工具:包括對單元測試、性能測試和負載測試的支持。支持.NETCore3.0:允許開發(fā)者構建跨平臺的應用程序。AI輔助編碼:集成了AI輔助編碼功能,如IntelliCode,可以提供更智能的代碼。支持容器開發(fā):支持Docker和Kubernetes,方便進行容器化應用程序的開發(fā)??缙脚_開發(fā):VS2019支持跨平臺開發(fā),包括對iOS、Android、Linux等平臺的支持。改進的UI/UX:VS2019對用戶界面進行了改進,提供了更現(xiàn)代化和用戶友好的體驗。支持Python、JavaScript、TypeScriptt等語言的開發(fā),提供相應的工具和模板。VisualStudioToolsforAI,支持機器學習和人工智能項目的開發(fā)。本課件是可編輯的正常PPT課件第一章小結C語言又稱之為函數(shù)型語言。標識符分為關鍵字、預定義名稱與用戶自定義標識符三類。語句包含說明語句和執(zhí)行語句兩大類。預處理通常包括宏定義、文件包含、條件編譯三種類型,根據(jù)實際需求合理使用。算法是程序設計的精華和核心;算法描述有自然語言、流程圖、N-S圖、偽代碼和程序語言等。C語言程序是依據(jù)結構化程序設計思想而設計的,它具有順序、分支、循環(huán)三種基本結構。本課件是可編輯的正常PPT課件"CaseTutorialsofCLanguageProgramming"isbasedondataprocessing《C語言程序設計案例教程》

----基于數(shù)據(jù)處理本課件是可編輯的正常PPT課件目錄02第2章簡單的數(shù)值運算程序設計03第3章邏輯運算與選擇結構程序設計01第1章C語言概述及程序設計基礎04第4章重復運算與循環(huán)結構程序設計本課件是可編輯的正常PPT課件目錄06第6章指針與字符串數(shù)據(jù)處理07第7章函數(shù)與程序結構優(yōu)化05第5章數(shù)組與批量數(shù)據(jù)處理08第8章結構體與復雜數(shù)據(jù)處理本課件是可編輯的正常PPT課件目錄10第10章文件與大批量數(shù)據(jù)處理09第9章鏈表與非連續(xù)存儲數(shù)據(jù)處理本課件是可編輯的正常PPT課件第2章簡單的數(shù)值運算程序設計表達式與語句格式化輸入/輸出2.12.22.33.4252.42.62.6簡單的數(shù)值運算程序設計示例C語言變量C語言數(shù)據(jù)類型C語言常量本課件是可編輯的正常PPT課件2.1C語言數(shù)據(jù)類型數(shù)據(jù)結構程序算法3.4數(shù)據(jù)之間關系數(shù)據(jù)類型數(shù)據(jù)是信息的表現(xiàn)形式和載體,可以是符號、文字、數(shù)字、語音、圖像、視頻等數(shù)據(jù)之間存在先后(前后)、層次或網(wǎng)狀之間等關系本課件是可編輯的正常PPT課件2.1.1數(shù)據(jù)類型的分類01020304主要的特點是:其值不可以再分解為其他類型。基本數(shù)據(jù)類型一個構造類型的值可以分解成若干個“成員”或“元素”。每個“成員”都是一個基本數(shù)據(jù)類型或又是一個構造類型。構造數(shù)據(jù)類型其值用來表示某個變量在內存儲器中的地址。指針類型用于不需要有返回值的函數(shù)值的函數(shù)類型定義空類型數(shù)據(jù)類型定義了一個變量可以存儲的數(shù)據(jù)大小,并定義了該數(shù)據(jù)可以表示的操作。數(shù)據(jù)類型是程序設計中的重要概念,它也是編程和數(shù)據(jù)結構的核心要素。本課件是可編輯的正常PPT課件2.1.1數(shù)據(jù)類型的分類本課件是可編輯的正常PPT課件2.1.1數(shù)據(jù)類型的作用2.表示數(shù)據(jù)的存儲方式1.決定數(shù)據(jù)的取值范圍1000000000000001unsignedintint32769-32767數(shù)據(jù)類型定義二進制值十進制值如:數(shù)據(jù)的存儲位數(shù)(16位、32位,8位等

)、構造類型

存儲格式等。注意:教師在講解時要求能分析上面結果的計算過程3.合適的運算如:+、-、*、/、%等,并不是所有的數(shù)據(jù)類型均能進行上面的操作。本課件是可編輯的正常PPT課件2.1.1數(shù)據(jù)類型的分類【例2.1】數(shù)據(jù)類型的作用示例。#include<stdio.h>int

main(void){

unsigned

short

i=0xC965;

short

t=0xC965;

printf("i=%d\n",i);

printf("t=%d\n",t);

return

0;}注意:教師在講解時要求能分析上面結果的計算過程運行結果:本課件是可編輯的正常PPT課件2.2C語言常量

常量是指在程序設計過程中一直保持不變的量,它是計算機運算時數(shù)據(jù)處理的基礎數(shù)據(jù)。

C語言中的常量與數(shù)據(jù)類型相關,每種數(shù)據(jù)類型均有相應的常量表示方法。2.2.1整型常量十進制整數(shù)八進制整數(shù)十六進制整數(shù)規(guī)則:除單獨的數(shù)字0以外,第一位和由1~9組成,后面各位均由0-9組成如:right:0、5、1237、-5668、-21627error:0123(有前導0)、23D、2_3規(guī)則:必須以0開頭,即以0作為八進制數(shù)的前綴。數(shù)碼取值為0~7。如:right:015)、-0101、0177777;error:1345、067599、0A123規(guī)則:前綴為0X或0x。其數(shù)碼取值為0~9,A~F或a~f。如:ritht:0X2A)、-0X11、0XFFFF、0x11error:0457A、ABCDEX、0x284P共同點:1.數(shù)的表示前面允許加上+、-號分別表示正數(shù)與負數(shù)。2.數(shù)的后面可加L或U,表示長整數(shù)或無符號整數(shù)本課件是可編輯的正常PPT課件2.2.2實型常量

實型常量:帶小數(shù)點的數(shù),稱為實數(shù),在計算機中又稱為浮點型。

實數(shù)只采用十進制表示:帶小數(shù)點表示和指數(shù)表示。1.

十進制數(shù)小數(shù)點表示

由數(shù)碼0~9和小數(shù)點組成,前面可以帶+或-號,表示正數(shù)與負數(shù)。如:0.0、25.0、5.789、0.13、5.、300.、-267.8230、.35、43.02.

指數(shù)形式aEn(a為十進制數(shù),n為十進制整數(shù))

其值為a*10n。

right:0.5E7(等于0.5×107)-2.8E-2(等于-2.8×10-2)

error:-5E(無階碼數(shù)值)53.234-E3(負號位置不對)“f”或“F”表示單精度float類型:如12.45f“l(fā)”或“L”表示雙精度double類:123.45L省略后綴為雙精度double類型:如123.45后綴本課件是可編輯的正常PPT課件2.2.3字符常量

在C語言中用單撇號(')括起來的一個字符,稱為字符常量。

如:right:'a'、'b'、'='、'+'、'?'、'0'、'3'、'9'、'A'

error:

'1d'、'123'、'ab'、'''、'\'轉義字符轉義字符的意義ASCII代碼\n換行,跳到下一行行首10\t橫向跳到下一制表位置(Tab)9\b退格8\r回車,跳到當前行行首13\f走紙換頁,跳到下一頁開頭12\\反斜線"\"92\'單引號39\"雙引號34\a鳴鈴7\ddd1~3位八進制數(shù)所代表的字符

\xhhhh為1~2位十六進制數(shù)所代表的字符轉義字符字符常量的值:ASCII值(0-127的數(shù)值,見表)本課件是可編輯的正常PPT課件示例:#include

<stdio.h>int

main(){ printf("

ab

c\tde\rf\n"); printf("hijk\tL\bM\n");

return

0;}運行結果:why:分析此結果的形成原因本課件是可編輯的正常PPT課件2.2.4枚舉常量

作用:用于那些取值范圍較少(少到可以數(shù)出來的情形)。如:星期、月份、七彩色等。通過用具體的符號名稱為表示一組數(shù)的類型即為枚舉數(shù)據(jù)類型,對應的符號名稱就是枚舉常量,其數(shù)值對應整數(shù)0--n.枚舉類型定義的一般形式為:

enum枚舉類型名{標識符1,標識符2,...,標識符n};(1)星期的枚舉定義:

enum

week1{sun,

mou,

tue,

wed,

thu,

fri,

sat};enum

week2{sunday,monday,tuesday,wednesday,thursday,friday,saturday};enum

week3{SUNDAY,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY};(2)七彩色顏色的枚舉定義:enumcolor{red,orange,yellow,green,cyan,blue,purple};(3)十二個月的枚舉定義:enummonth{January,February,March,April,May,June,July,August,September,October,November,December};本課件是可編輯的正常PPT課件2.2.4枚舉常量枚舉成員定義以后變量的取值只能是這些枚舉成員。每個enum類型的枚舉成員都有一個整數(shù)值,如果不指定,則從0開始遞增。如果指定

第1個的值,則后面的依次增加1.如:enumweek3{SUNDAY=1,MONDAY,TUESDAY,WEDNESDAY,THURSDAY,FRIDAY,SATURDAY};則SUNDAY的整數(shù)值為1,MONDAY的整數(shù)值為2,以此類推。如:enum

week2{sunday,monday,tuesday,wednesday,thursday,friday,saturday};

enum

week2a,b,c;則:a=monday;

//正確

a=2;

//錯誤本課件是可編輯的正常PPT課件2.3.2變量的定義

變量是指在程序運行過程中可以隨時改變的量,理解:任何一個時刻均具有唯一值,但它又是隨時可以改變的。變量的

定義定義時不賦值定義時賦值定義后約定形式1:只定義變量。類型關鍵字標識符1,標識符2,…;形式2:在定義變量時同時給變量賦初值。類型關鍵字標識符1=值1,標識符2=值2,…;(1)變量的存儲(2)變量的取值與范圍(3)變量可參與的運算charch1,ch2;//定義ch1,ch2為字符變量,無初值charch3=’a’,ch4=’\\’,ch5=’\108’;//定義ch3,ch4,ch5為字符變量,有初值inta,b,c;//定義a,b,c為整型變量,無初值longx=1,y=23,z;//定義x,y,z為長整型變量,其中x,y有初值floatf1,f2,f3;//定義f1,f2,f3為單精度浮點變量,無初值doubled1=12.4,d2,d3=3.4e5;//定義d1,d2,d3為雙精度浮點變量,其中d1,d3有初值本課件是可編輯的正常PPT課件2.3.3變量的存儲1.變量占用的存儲空間大小#include<stdio.h>int

main(void){

printf("字符型數(shù)據(jù)char占%d個字節(jié)\n",sizeof(char));

printf("短整型數(shù)據(jù)short占%d個字節(jié)\n",sizeof(short));

printf("整型數(shù)據(jù)int占%d個字節(jié)\n",sizeof(int));

printf("長整型數(shù)據(jù)long占%d個字節(jié)\n",sizeof(long));

printf("無符號短整型數(shù)據(jù)unsignedshort占%d個字節(jié)\n",sizeof(unsigned

short));

printf("無符號整型數(shù)據(jù)unsignedint占%d個字節(jié)\n",sizeof(unsigned

int));

printf("無符號長整型數(shù)據(jù)unsignedlong占%d個字節(jié)\n",sizeof(unsigned

long));

printf("單精度浮點型數(shù)據(jù)float占%d個字節(jié)\n",sizeof(float));

printf("雙精度浮點型數(shù)據(jù)double占%d個字節(jié)\n",sizeof(double));

return

0;}本課件是可編輯的正常PPT課件2.3.3變量的存儲#include<stdio.h>int

main(void){

char

ch;

short

int

i1;

int

i2;

long

i3;

unsigned

short

i4;

unsigned

int

i5;

unsigned

long

i6;

float

f1;

double

f2;

printf("字符型變量ch占%d個字節(jié)\n",sizeof(ch));

printf("短整型變量i1占%d個字節(jié)\n",sizeof(i1));

printf("整型變量i2占%d個字節(jié)\n",sizeof(i2));

printf("長整型變量i3占%d個字節(jié)\n",sizeof(i3));

printf("無符號短整型變量i4占%d個字節(jié)\n",sizeof(i4));

printf("無符號整型變量i5占%d個字節(jié)\n",sizeof(i5));

printf("無符號長整型變量i6占%d個字節(jié)\n",sizeof(i6));

printf("單精度浮點型變量f1占%d個字節(jié)\n",sizeof(f1));

printf("雙精度浮點型變量f2占%d個字節(jié)\n",sizeof(f2));

return

0;}結論:變量所占的存儲空間等于其定義的數(shù)據(jù)類型所占的存儲空間。本課件是可編輯的正常PPT課件2.整型變量的存儲1)整數(shù)的補碼表示補碼表示的優(yōu)點:(1)0的表示唯一,(2)減法可通過加法來實現(xiàn)其運算補碼的計算過程:原碼反碼補碼最高位0表示正數(shù),1表示負數(shù)正數(shù):

原碼=反碼=補碼除符號位外各位求反反碼的基礎上+1,不得影響符號位例子:

-374的表示十進制值補碼值反向轉換過程本課件是可編輯的正常PPT課件2.3.3變量的存儲整型變量所占存儲空間及其取值范圍整型組合數(shù)據(jù)類型說明符存儲字節(jié)取值范圍shortintshort2-32768~32767-215~(215-1)intlongintlong4-2147483648~2147483647-231~(231-1)unsignedshortintunsignedshort20~655350~(216-1)unsignedintunsignedlongintunsignedlong40~42949672950~(232-1)注意:整型變量的局限性本課件是可編輯的正常PPT課件2.3.3變量的存儲注意:分析上述結果形成的原因#include<stdio.h>int

main(){

short

x,y,z; x=32767; y=1; z=x+y; printf("x=%d,y=%d,z=%d\n",x,y,z);}程序的運行結果:本課件是可編輯的正常PPT課件3.實型變量的存儲實數(shù)以指數(shù)存儲,其長度為4個字(float)或8個字節(jié)(double),分3部分:類型說明符存儲字節(jié)有效數(shù)字取值的范圍float46~7(位)正浮點數(shù):1.1755×10-38~3.4×1038負浮點數(shù):-3.4×1038~-1.1755×10-38double815~16(位)正浮點數(shù):2.2251×10-308~1.7977×10308負浮點數(shù):-1.7977×10308~-2.2251×10-308

本課件是可編輯的正常PPT課件3.實型變量的存儲注意:分析上述結果形成的原因,并解釋實數(shù)運算所產(chǎn)生的誤差與精度分析。程序的運行結果:#include

<stdio.h>int

main(){

float

a,b; a=123456.789e5; b=a+20; printf("a=%f\n",a); printf("a+20=%f\n",b); printf("1000.0/3=%.18lf\n",1000.0f/3);

return

0;}本課件是可編輯的正常PPT課件4.字符變量的存儲字符變量的存儲空間其長度為1個字(8位二進制),最高位通常為0,可以存儲0-127共128個ASCII字符。如:chara='A',b='a';字母A的ASCII值65,字母a的ASCII值97;對應的兩個變量a,b的存儲單元中的8位二進制數(shù)值如下:0100000101100001變量a變量b

從存儲結構上看,字符變量的存儲單元為一個字節(jié),很顯然可以將其當成是一個字節(jié)的整數(shù)來使用。本課件是可編輯的正常PPT課件#include

<stdio.h>int

main(){

char

a,b,c;

int

x; a='a'; b=0xA81;

//將1個整數(shù)賦值給字符變量b c=a-32; x=a+b+c;

//將字符變量通過數(shù)值運算賦值給變量x

printf("a=%c,b=%c,c=%c,x=%c\n",a,b,c,x);//以字符方式輸出各變量

printf("a=%d,b=%d,c=%d,x=%d\n",a,b,c,x);

//以整數(shù)方式輸出各變量

return

0;}4.實型變量的存儲程序的運行結果:注意:分析上述結果形成的原因本課件是可編輯的正常PPT課件5.枚舉變量的存儲enum

weekday

{sun=3,mou=1,tue,wed,thu,fri,sat

};//定義枚舉類型enum

weekday

a,b,c;

//定義枚舉變量printf("%d",sizeof(a));

//輸出枚舉變量a占用存儲單元的字節(jié)數(shù),結果為4.從VS程序的輸出結果得知:枚舉變量占用的存儲單元數(shù)為4個字節(jié)。本課件是可編輯的正常PPT課件2.3.3變量的作用變量遵循“先定義、后引用”的原則先定義每個變量均有唯一

的名字,命名符合標識符的定義要求變量名字用數(shù)據(jù)類型定義變量,則同時規(guī)定了其占用存儲空間與參與的運算變量類型任何一個時刻均有唯一確定的值,但它是不斷變化的存儲數(shù)值每個

變量存在一定的作用范圍,超范圍使用會出借作用域本課件是可編輯的正常PPT課件2.4表達式與語句2.4.1運算符優(yōu)先級結合律見附錄本課件是可編輯的正常PPT課件2.4表達式與語句2.4.2

與數(shù)值運算相關的運算符x+y

x-y

x*y

x/y

x%y典型形式:#include

<stdio.h>int

main(){ printf("%d,%d\n",20/7,6.6f); printf("求余數(shù):%d

%d%d%d\n",100%3,100%-3,-100%3,-100%-3); printf("%f,%f\n",20.0/7,-20.0/7);}注意1、%運算的結果符號位同x2、實數(shù)當成整數(shù)輸出時需特別引起注意3、實數(shù)是有精度或有誤差1.基本算術運算符本課件是可編輯的正常PPT課件2.賦值運算符變量=表達式典型形式:其后面不加;為表達式,加;為語句運算邏輯:變量計算表達式的值賦給例如:x=1

//表達式的值為1a=b=c=3

//等價于a=(b=(c=3)),表達式的值為3,變量a、b、c的值均為3y=(a+2*b)*c-x

//繼上,表達式的值為26,變量y的值為26w=sin(a)+sin(b)

//sin()為函數(shù)x=(a=5)+(b=8)//賦值式的結果也可參與運算是錯誤的賦值表達式:3x=52a+b=64(a+2*3)=x-y本課件是可編輯的正常PPT課件2)組合賦值運算符在賦值符“=”之前加上其他雙目運算符可構成復合賦值符。如+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=。復合賦值表達式的一般形式為:變量

雙目運算符=表達式它等價于:變量=變量雙目運算符(表達式)例如:a+=5

等價于a=a+5b-=x-y

等價于b=b-(x-y)x*=y+7

等價于x=x*(y+7)r%=p

等價于r=r%p本課件是可編輯的正常PPT課件3.自增、自減運算符++:其功能是使變量的值自增1。--:其功能是使變量值自減1。++,--運算符均為單目運算,只能用于單個變量的前面或后面以變量i為例:++i:先將i自增1,然后再參與其他的運算,簡稱“先增后用”。i--:i先參與其他的運算,再將i自減1,簡稱“先用后減”。本課件是可編輯的正常PPT課件++\--運算會應用示例#include<stdio.h>int

main(void){

int

i,j;

i=10;j=++i;

printf("i=%d,j=%d\n",i,j);

i=10;j=--i;

printf("i=%d,j=%d\n",i,j);

i=10;j=i++;

printf("i=%d,j=%d\n",i,j);

i=10;j=i--;

printf("i=%d,j=%d\n",i,j);

return

0;}運行結果:本課件是可編輯的正常PPT課件4.逗號運算符其一般形式為:表達式1,表達式2,表達式3其求值過程是從左到右依次計算每個表達式的值,并將最后表達式3的值作為整個逗號表達式的值。#include

<stdio.h>int

main(){

int

a=1,b=2,c=3,x,y; y=(x=a+b,x+c); printf("x=%d,y=%d\n",x,y);}程序運行結果為x=3,y=6。本課件是可編輯的正常PPT課件2.4.3表達式1.表達式的定義表達式是由常量、變量、函數(shù)、表達式值等數(shù)據(jù)對象、運算符和(

)組合而成的式子。(1)運算順序保持不變,必要時通過加()來實現(xiàn)(2)運算符必須符合C語言規(guī)定,且不得省略。如乘法*(3)數(shù)學式子

的各種括號均只能用()表示(4)可以使用庫函數(shù)來表示(5)表達式可以嵌套使用1/xy對應的表達式為:1.0/(x*y)。x2+2x+1對應的表達式為:x*x+2*x+1。3[(a+b)c-2d]/3a的C語言表達式為3*((a+b)*c-2*d)/(3*a)的C語言表達式為(-b+sqrt(b*b-4*a*c))/(2*a)如:x=(y=a+b,z=a-b,j=++i)*2數(shù)學式子表達式轉換方法本課件是可編輯的正常PPT課件2.4.3表達式2.表達式的運算嚴格按附錄C中的運算符優(yōu)先級標準的順序進行運算1、優(yōu)先級原則3、類型轉換原則2、結合律原則同一級別中嚴格按錄C中的運算符的結合律標準的順序進行運算(1)當一個表達式中出現(xiàn)多種不同數(shù)據(jù)類型時,系統(tǒng)按約定的類型轉換規(guī)則執(zhí)行。(2)強制類型轉換自動類型轉換本課件是可編輯的正常PPT課件2.4.3表達式(2)強制類型轉換其一般形式為:(類型說明符)表達式(float)a;

//將變量a轉換為float類型(int)(x+y);

//把表達式x+y的結果轉換為int整型intx,y;(float)x/y;

//將x轉換為

float類型,/運算可以得到小數(shù)值,否則為整數(shù)除法示例:作用:使運算結果更加符合實際需要,減少誤差或產(chǎn)生錯誤的結果。本課件是可編輯的正常PPT課件2.4.3表達式(3)類型轉換例程#include<stdio.h>int

main(){

float

PI=3.14159;

int

s1,r=5;

double

s2;

s1=r*r*PI;

s2=r*r*PI;

printf("s1=%d,s2=%f\n",s1,s2);

return

0;}程序運行結果為s1=78,s2=78.539749。#include

<stdio.h>int

main(){

long

total=418;

//總價

int

count=5;

//數(shù)目

double

unitprice1,unitprice2,price;

unitprice1=(float)total/count;

//強制轉換

unitprice2=(double)total/count;

//強制轉換

price=total/count;

//整數(shù)除法,結果自動類型轉換為double

printf("unitprice1=%lf,unitprice2=%lf,

price=%lf\n",unitprice1,unitprice2,price);

return

0;}本課件是可編輯的正常PPT課件2.4.4表達式語句任何一個表達均可以構成一個表達式語句,只需要在表達式后面中上“;”。構成方式:

表達式;作用:執(zhí)行一定的計算功能

a+b;

//一個表達式語句,在程序中不起任何作用

x=1;

//賦值語句,其作用將1賦給變量x,即x的值為1a=b=c=3;

//賦值語句,其作用將3賦給變量a,b,cx=1,y=2,z=3;

//逗號語句,其作用將1賦給變量x,2賦給變量y,3賦給zdelta=(-b+sqrt(b*b-4*a*c))/(2*a);

//賦值語句,計算判別式deltaj=i++;

//賦值語句,先使用i,將i的值賦給j,i再自增1j=++i;

//賦值語句,先i再自增1,再將i的值賦給jp=sin(x*PI/180);

//賦值語句,計算x度的sin函數(shù)值本課件是可編輯的正常PPT課件2.5格式化輸入/輸出C語言本身沒有I/O語句,所有I/O都由函數(shù)來實現(xiàn),C語言提供了stdio.h庫文件,其中包含了大量的輸入輸出函數(shù),本節(jié)重點介紹printf()和scanf()函數(shù)的應用。2.5.1格式化輸出函數(shù)C庫函數(shù)stdio.h提供了5個格式化輸出函數(shù),其函數(shù)定義如下所示。#include<stdio.h>//包含庫文件intprintf(constchar*format,...);intfprintf(FILE*stream,constchar*format,...);intdprintf(intfd,constchar*format,...);intsprintf(char*buf,constchar*format,...);intsnprintf(char*buf,size_tsize,constchar*format,...);返回類型函數(shù)名函數(shù)參數(shù)(又稱形式參數(shù))語句標識符(此語句為說明語句)本課件是可編輯的正常PPT課件2.5格式化輸入/輸出1.printf()函數(shù)實際應用:先想好輸出結果的表達方式,再確定格式式控制字符串怎么與?。?!如:要輸出2+3=5這樣的結果方式,則用“%d+%d=%d”,x,y,x+y

要輸出root1=2.1,root2=3.23,則用“root1=%lf,root2=%lf”,x1,x2說明語句:intprintf(constchar*format,...);調用方式:printf(“格式控制字符串”,輸出列表);格式字符串非格式字符串%[標志][輸出最小寬度][.精度][長度]格式字符想輸出(表達)什么就寫什么一個%格式字符按順序對應后面輸出列出中的一個表達式的值本課件是可編輯的正常PPT課件2.5.1格式化輸出1.printf()函數(shù)格式字符含

義d以十進制形式輸出帶符號整數(shù)(正數(shù)不輸出符號)u以十進制形式輸出無符號整數(shù)o以八進制形式輸出無符號整數(shù)(不輸出前綴0)x或X以十六進制形式輸出無符號整數(shù)(不輸出前綴0x)f以小數(shù)形式輸出單、雙精度實數(shù)e或E以指數(shù)形式輸出單、雙精度實數(shù)g或G以%f或%e中較短的輸出寬度輸出單、雙精度實數(shù)c輸出單個字符s輸出字符串標

志含

義-結果左對齊,右邊填空格+輸出符號(正號或負號)空格輸出值為正時冠以空格,為負時冠以負號#對格式字符c,s,d,u無影響;對格式字符o類,在輸出時加前綴0;對格式字符x類,在輸出時加前綴0x;對格式字符e,g,f類當結果有小數(shù)時才給出小數(shù)點用于%后面,如%d用于%后格式符前,如%+d格式含

義%ld用于長整型數(shù)據(jù)的輸出%hd用于短整型數(shù)據(jù)的輸出%lf用于雙精度型數(shù)據(jù)輸出本課件是可編輯的正常PPT課件2.5.1格式化輸出

溫馨提示

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

評論

0/150

提交評論