《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第1頁
《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第2頁
《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第3頁
《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第4頁
《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第5頁
已閱讀5頁,還剩1024頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

第1章

C

語言概述C語言程序設(shè)計(jì)(第五版)全套可編輯PPT課件01-C語言概述02-C語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)計(jì)03-選擇結(jié)構(gòu)程序設(shè)計(jì)04-循環(huán)結(jié)構(gòu)程序設(shè)計(jì)05-數(shù)組06-函數(shù)與編譯預(yù)處理命令07-指針08-結(jié)構(gòu)體和共用體09-文件10-位運(yùn)算1.1

C語言簡介1.2

C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.3

算法及算法的描述1.4

C

語言程序的調(diào)試和運(yùn)行步驟1.5

在VisualC++中運(yùn)行C語言程序過程第1章

C

語言概述

內(nèi)容提綱第1章

C

語言概述一、教學(xué)目的

?了解

C

語言的由來、特點(diǎn),C

語言程序的基本結(jié)構(gòu);

?了解編程風(fēng)格的重要性,養(yǎng)成良好的編程風(fēng)格習(xí)慣;

?了解

C

語言是按編譯方式執(zhí)行的;

?熟悉和掌握

VC++2010的運(yùn)行環(huán)境。二、教學(xué)要求

?掌握

C

語言的特點(diǎn)和基本結(jié)構(gòu);

?了解算法的概念,掌握用流程圖和

N-S

圖來描述一個(gè)算法;

?掌握

VC++2010集成開發(fā)環(huán)境基本操作。三、教學(xué)重點(diǎn)、難點(diǎn)

?掌握

C

語言程序的基本結(jié)構(gòu);

?掌握用流程圖和

N-S

圖正確地描述要解決的實(shí)際問題。第1章

C

語言概述

內(nèi)容提綱1.1

C語言簡介1.2C語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.3算法及算法的描述1.4C語言程序的調(diào)試和運(yùn)行步驟1.5在VisualC++中運(yùn)行C語言程序過程Youare

here!你在這兒!1.1

C程語言簡介?

程序設(shè)計(jì)語言

程序設(shè)計(jì)語言是計(jì)算機(jī)能夠理解和識(shí)別的一種語言體系,它按照特定的語法規(guī)則組織計(jì)算機(jī)指令,使計(jì)算機(jī)能夠自動(dòng)進(jìn)行各種操作處理。?

計(jì)算機(jī)程序

按照程序設(shè)計(jì)語言的語法規(guī)則組織起來的一組計(jì)算機(jī)指令被稱為計(jì)算機(jī)程序。1.程序設(shè)計(jì)語言的發(fā)展歷程機(jī)器語言1.2.匯編語言3.高級(jí)語言程序設(shè)計(jì)語言的分類4.面向?qū)ο蟮恼Z言1.1

C程語言簡介1.1

C程語言簡介

例如:

1011000

00001111

表示把15送入寄存器AL中的某種型號(hào)計(jì)算機(jī)的指令。

(1)機(jī)器語言

機(jī)器語言是用0和1組成的機(jī)器指令,能被計(jì)算機(jī)直接識(shí)別和執(zhí)行的語言。

用機(jī)器語言編寫的程序執(zhí)行效率雖然比較高,但是,機(jī)器語言不易記憶,通用性差。1.1

C程語言簡介(2)匯編語言

匯編語言用助記符取代了機(jī)器指令,而且助記符與機(jī)器指令一一對(duì)應(yīng),與機(jī)器語言相比,匯編語言比較直觀、易記憶,但移植性不好。

匯編語言指令表示:MOVAL,15

機(jī)器語言指令表示:1011000

00001111

例如:把15送入寄存器AL中的匯編語言和機(jī)器語言都是面向機(jī)器的程序設(shè)計(jì)語言一般稱為低級(jí)語言1.1

C程語言簡介(3)高級(jí)語言

高級(jí)語言使用接近人類自然語言的語句代碼來編寫計(jì)算機(jī)程序。由于高級(jí)語言與具體的計(jì)算機(jī)指令系統(tǒng)無關(guān),所以用高級(jí)語言編寫的程序能在不同型號(hào)的計(jì)算機(jī)上運(yùn)行,通用性好。1.1

C程語言簡介例如:

表示把15送入寄存器AL中的高級(jí)語言指令如下:

AL=15;(4)面向?qū)ο蟮恼Z言

隨著計(jì)算機(jī)技術(shù)的發(fā)展產(chǎn)生了面向?qū)ο蟮恼Z言,其特點(diǎn)是編寫程序時(shí)只要考慮如何認(rèn)識(shí)問題中的對(duì)象和描述對(duì)象,而不必具體說明對(duì)象中的數(shù)據(jù)操作。1.1

C程語言簡介例如:

VisualC++、Java

語言等就是典型代表。

1963年英國的劍橋大學(xué)在ALGOL60的基礎(chǔ)上推出了CPL語言,但是CPL語言難以實(shí)現(xiàn)。1967年英國劍橋大學(xué)的學(xué)者對(duì)CPL語言作了簡化和改進(jìn),推出了BCPL語言。1970年美國貝爾實(shí)驗(yàn)室的學(xué)者以BCPL語言為基礎(chǔ),設(shè)計(jì)出了簡單且接近硬件的B語言。1972年由美國的學(xué)者D.M.Ritchie在B語言的基礎(chǔ)上設(shè)計(jì)出了C語言。

1977年D.M.Ritchie發(fā)表了不依賴于具體機(jī)器的C語言編譯文本《可移植C語言編譯程序》,大大簡化了將C語言移植到其他機(jī)器上所需要的工作。1978年以后,C語言先后移植到大、中、小、微型計(jì)算機(jī)上。C語言很快風(fēng)靡全世界,成為世界上應(yīng)用最廣泛的程序設(shè)計(jì)語言。2.C

語言的發(fā)展歷程1.1

C程語言簡介3.

C

語言的主要特點(diǎn)(1)C語言基本組成部分緊湊簡潔,功能豐富,使用方便、靈活

C語言只有32個(gè)關(guān)鍵字和9種控制語句,運(yùn)算類型極其豐富,表達(dá)式類型簡潔,語法限制不太嚴(yán)格,程序設(shè)計(jì)自由度大,且使用一些簡單的方法就可以構(gòu)造出相當(dāng)復(fù)雜的數(shù)據(jù)類型和程序結(jié)構(gòu)。1.1

C程語言簡介(2)C語言是結(jié)構(gòu)化語言

C語言程序主要是由函數(shù)構(gòu)成的,這些函數(shù)可方便地調(diào)用,并具有多種條件、循環(huán)語句控制程序的流向,使程序完全結(jié)構(gòu)化。結(jié)構(gòu)化語言程序清晰、更易于程序設(shè)計(jì)、調(diào)試和維護(hù)。(3)C語言允許直接訪問硬件

C

語言允許直接訪問物理地址,可以直接對(duì)硬件進(jìn)行操作,因此它既具有高級(jí)語言的功能,又具有低級(jí)語言的許多功能。1.1

C程語言簡介(4)C語言程序目標(biāo)代碼的質(zhì)量和效率高

C語言程序編譯后生成的目標(biāo)代碼質(zhì)量高,程序執(zhí)行效率高。C語言編寫的程序一般僅比匯編語言所生成的目標(biāo)代碼效率低10%~20%。(5)C語言適用范圍廣,可移植性好

C語言程序基本上不做修改就能用于各種型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。1.1

C程語言簡介C語言的上述特點(diǎn)使其在操作系統(tǒng)開發(fā)、操作系統(tǒng)相關(guān)軟件開發(fā)、服務(wù)器運(yùn)維、嵌入式開發(fā)中具有廣泛的應(yīng)用。我國目前在許多基礎(chǔ)軟件,如操作系統(tǒng)、數(shù)據(jù)庫軟件、工業(yè)軟件方面的完全國有化、自主產(chǎn)權(quán)化和先進(jìn)性提升等等方面仍有很多工作要做。這些都要依靠具備扎實(shí)的計(jì)算機(jī)編程基礎(chǔ)的專業(yè)型青年人才來完成。

因此無論是對(duì)普通理工科學(xué)生還是信息專業(yè)的高等院校學(xué)生來說,都應(yīng)當(dāng)重視和良好的掌握這門語言。1.1

C程語言簡介第1章

C

語言概述

內(nèi)容提綱1.1

C語言簡介1.2C語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.3算法及算法的描述1.4C語言程序的調(diào)試和運(yùn)行步驟1.5在VisualC++中運(yùn)行C語言程序過程Youare

here!你在這兒!

預(yù)處理命令

#include<stdio.h>

函數(shù)的首部

intmain()

函數(shù)體開始

{

printf("Let'sstudytheClanguage!\n");

return0;

函數(shù)體結(jié)束

}一個(gè)C語言函數(shù)

程序運(yùn)行結(jié)果:Let'sstudytheClanguage!1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)【例1.1】用

C

語言編寫一個(gè)程序,在屏幕上顯示:

Let'sstudytheClanguage!函數(shù)體1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)【例1.2】使用

C

語言編寫一個(gè)程序,求兩個(gè)數(shù)a與b之和。#include<stdio.h>

/*程序需要使用C語言提供的庫函數(shù)*/intadd(intx,inty)

/*定義函數(shù)add(),功能是求兩個(gè)數(shù)x、y之和*/{

intsum; /*定義整型變量sum*/

sum=x+y; /*將x、y之和賦給變量sum*/

return(sum); /*返回sum的值*/}intmain() /*主函數(shù)*/{

inta,b,c; /*定義a、b、c三個(gè)整型變量*/

a=123; /*把常數(shù)123賦給變量a*/

b=456; /*把常數(shù)456賦給變量b*/

c=add(a,b); /*調(diào)用函數(shù)add,并將返回的值賦值給變量c*/

printf("sum=%d\n",c);

/*輸出返回的c的值*/

return0;}1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)程序運(yùn)行結(jié)果:sumis:5791.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)(1)函數(shù)的首部(2)函數(shù)體一個(gè)函數(shù)由兩部分組成

?

函數(shù)的首部:即函數(shù)的第一行,包括函數(shù)類型、函數(shù)名、參數(shù)類型和參數(shù)名。函數(shù)名后面必須跟一對(duì)圓括號(hào),函數(shù)參數(shù)可以沒有。

例如:函數(shù)類型函數(shù)名參數(shù)類型參數(shù)名int

add(

int

x,

int

y

){

intsum;

sum=x+y;

return(sum);}參數(shù)類型參數(shù)名1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)沒有參數(shù)函數(shù)類型函數(shù)名int

main(

){

inta,b,c;

a=123;

b=456;

c=add(a,b);

printf("sum=%d\n",c);return0;}1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)(1)說明部分(2)執(zhí)行部分函數(shù)體

?函數(shù)體

即函數(shù)首部下面的大括號(hào){……}內(nèi)的部分。函數(shù)體一般包括說明部分(也稱數(shù)據(jù)定義部分或聲明部分)和執(zhí)行部分,它們都是C語句。·說明部分:

是對(duì)函數(shù)體要用到的變量進(jìn)行定義及對(duì)其所調(diào)用函數(shù)的聲明?!?zhí)行部分:

用于完成函數(shù)內(nèi)部所規(guī)定的各項(xiàng)操作。intmain(){

inta,b,c;

intadd(int

x,int

y);

a=123;

b=456;

c=add(a,b);

printf("sum=%d\n",c);

return0;}int

add(int

x,

int

y){

intsum;

sum=x+y;

return(sum);}1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)C語言程序的結(jié)構(gòu)特點(diǎn):

程序由函數(shù)構(gòu)成,函數(shù)有主函數(shù)

main()、庫函數(shù)以及自定義函數(shù)三種類型。

一個(gè)函數(shù)的說明部分在前,執(zhí)行部分在后,這兩部分的順序不能顛倒,也不能交叉。

一個(gè)程序總是從主函數(shù)

main()開始執(zhí)行,無論主函數(shù)寫在程序的什么位置。

程序的語句都是以分號(hào)結(jié)尾。

程序中可以有編譯預(yù)處理命令,其通常應(yīng)放在程序的最前面。#include<stdio.h>intadd(intx,

inty){

intsum;

sum=x+y;

return(sum);}intmain()

{

inta,b,c;

a=123;

b=456;

c=add(a,b);

printf("sum=%d\n",c);return0;}1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)

為提高程序的可讀性,在書寫

C

語言程序時(shí)應(yīng)遵循以下規(guī)則:

(1)一個(gè)說明或一個(gè)語句占一行。

(2)用{

}括起來的部分,通常表示了程序的某一層次結(jié)構(gòu)。在使用時(shí)盡可能采用左右大括號(hào)各占一行,且上、下對(duì)齊,以便于檢查括號(hào)的匹配性。

(3)整個(gè)程序采用遞縮格式書寫。即內(nèi)層次語句向右邊縮進(jìn)若干空格后書寫,同一層語句上、下左對(duì)齊,以便看起來更加清晰。1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.2

C

語言程序的書寫風(fēng)格1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格(4)對(duì)于數(shù)據(jù)的輸入/輸出,運(yùn)行時(shí)最好要出現(xiàn)輸入/輸出提示信息。

(5)對(duì)語句、函數(shù)和程序,應(yīng)加上適當(dāng)?shù)淖⑨?。注釋不影響程序的?zhí)行,主要用來說明語句、函數(shù)和程序的功能、用途或程序?qū)崿F(xiàn)的方法等,以便提高程序的可讀性。注釋方法有兩種

/*注釋內(nèi)容*/:適用于單行或多行注釋//注釋內(nèi)容:適用于單行注釋1.2.2

C

語言程序的書寫風(fēng)格#include<stdio.h>

//程序需要使用C語言提供的庫函數(shù)intadd(intx,inty)

/*定義函數(shù)add(),功能是求兩個(gè)數(shù)x、y之和*/{

intsum;

//定義變量sum為整型

sum=x+y;

//將x、y之和賦給變量sum

return(sum);

//返回sum的值}intmain()

/*主函數(shù)*/{

inta,b,c;

//定義a、b、c三個(gè)整型變量

a=123;

//把常數(shù)123賦給變量a

b=456;

//把常數(shù)456賦給變量b

c=add(a,b);

//調(diào)用函數(shù)add,并將返回的值賦值給變量c

printf("sum=%d\n",c);

//輸出返回的c的值

return0;}1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.2.1C

語言程序的基本結(jié)構(gòu)1.2C

語言程序的基本結(jié)構(gòu)和書寫風(fēng)格#include<stdio.h>intadd(intx,inty){

intsum;sum=x+y;return(sum);}intmain()

{inta,b,c;a=123;b=456;c=add(a,b);

printf("sum=%d\n",c);return0;}#include<stdio.h>intadd(intx,inty){intsum;sum=x+y;return(sum);}intmain(){inta,b,c;a=123;b=456;c=add(a,b);printf("sum=%d\n",c);

return0;}【例1.3】將例1.2求兩個(gè)數(shù)

a

b

之和的程序,用規(guī)范和不規(guī)范格式書寫。按不規(guī)范形式書寫程序按規(guī)范形式書寫程序1.2.2

C

語言程序的書寫風(fēng)格第1章

C

語言概述

內(nèi)容提綱1.1

C語言簡介1.2C語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.3算法及算法的描述1.4C語言程序的調(diào)試和運(yùn)行步驟1.5在VisualC++中運(yùn)行C語言程序過程Youare

here!你在這兒!1.3算法及算法的描述·一個(gè)程序一般包括以下兩方面的內(nèi)容

(1)對(duì)數(shù)據(jù)的描述。在程序中要指定數(shù)據(jù)的類型和數(shù)據(jù)的組織形式,即“數(shù)據(jù)結(jié)構(gòu)”。

(2)對(duì)數(shù)據(jù)操作的描述,即操作步驟,也就是“算法”。著名的公式:程序=數(shù)據(jù)結(jié)構(gòu)+算法無論是什么程序設(shè)計(jì)方法,或使用什么程序設(shè)計(jì)語言,程序的本質(zhì)都是通過“算法”來對(duì)“數(shù)據(jù)”進(jìn)行加工處理。1.3算法及算法的描述·算法的描述

算法的描述方法多種多樣,可以使用自然語言描述,也可以使用專門的算法表達(dá)工具進(jìn)行描述。(1)流程圖方式(2)N-S圖方式常用的算法的描述方法1.流程圖方式流程圖是用一些圖框表示各種類型的操作,用線表示這些操作的執(zhí)行順序。常用的流程圖符號(hào)的功能:

起止框(a):表示算法由此開始或結(jié)束。

處理框(b):表示基本操作處理。

判斷框(c):表示根據(jù)條件進(jìn)行判斷操作處理。

輸入/輸出框(d):表示輸入數(shù)據(jù)或輸出數(shù)據(jù)。

流程線(e):表示程序的執(zhí)行流向。1.3算法及算法的描述1.3算法及算法的描述例如:計(jì)算半徑為r的圓面積s算法的流程圖描述如下:1.3算法及算法的描述例如:判斷輸入的兩個(gè)正整數(shù)x、y的大小,并輸出其中的大數(shù)算法的流程圖描述如下:2.N-S圖方式

去掉帶箭頭的流程線,算法全部寫在一個(gè)矩形框內(nèi),在該框內(nèi)還可以包含其他的從屬于它的框,或者說,由一些基本的框組成一個(gè)大的框。(a)順序結(jié)構(gòu)(b)選擇結(jié)構(gòu)(c)當(dāng)型循環(huán)結(jié)構(gòu)(d)直到型循環(huán)結(jié)構(gòu)N-S圖中使用的基本符號(hào)1.3算法及算法的描述1.3算法及算法的描述例如:計(jì)算半徑為r的圓面積s算法的N-S圖描述如下:1.3算法及算法的描述例如:判斷輸入的兩個(gè)正整數(shù)x、y的大小,并輸出其中的大數(shù)算法的N-S圖描述如下:【例

1.4】繪制“求3個(gè)整型數(shù)中的最大數(shù)問題”的流程圖和N-S圖。流程圖描述

N-S圖描述第1章

C

語言概述

內(nèi)容提綱1.1

C語言簡介1.2C語言程序的基本結(jié)構(gòu)和書寫風(fēng)格1.3算法及算法的描述1.4C語言程序的調(diào)試和運(yùn)行步驟1.5在VisualC++中運(yùn)行C語言程序過程Youare

here!你在這兒!

C

語言編寫的源程序必須經(jīng)編譯、連接生成可執(zhí)行文件(*.exe),才可以運(yùn)行。1.4C

語言程序的調(diào)試和運(yùn)行步驟

C

語言源程序的運(yùn)行步驟1.編輯(edit)

使用一個(gè)系統(tǒng)提供的文本編輯器編輯

C

語言源程序,并將其保存為

“.c”

的文件。2.編譯(compile)

編譯程序會(huì)自動(dòng)分析、檢查源程序的語法錯(cuò)誤,并報(bào)告警告或出錯(cuò)原因。用戶可根據(jù)報(bào)告信息修改源程序,再編譯,直到程序正確后,生成目標(biāo)程序

“.obj”。3.連接(link)生成目標(biāo)程序后,將目標(biāo)程序與系統(tǒng)提供的庫函數(shù)或其他目標(biāo)程序進(jìn)行連接,得到最終的可執(zhí)行文件。連接成功后生成可執(zhí)行文件“.exe”。4.運(yùn)行(run)運(yùn)行程序并檢查運(yùn)行結(jié)果的正確性。如果運(yùn)行結(jié)果不正確,應(yīng)檢查程序或算法,重新編輯代碼。1.4C

語言程序的調(diào)試和運(yùn)行步驟

本章介紹了

C

語言的由來、特點(diǎn)和

C

語言程序的基本結(jié)構(gòu),還介紹了在

VisualC++2010

中執(zhí)行

C

語言程序的編輯、編譯、連接及運(yùn)行步驟。

函數(shù)是

C

語言程序的基本單位。一個(gè)

C

語言源程序可以由多個(gè)函數(shù)組成,其中必須有一個(gè),而且只能有一個(gè)名為

main()

的主函數(shù)。C

語言程序總是從

main()

函數(shù)開始執(zhí)行。

編寫規(guī)范的程序和養(yǎng)成良好的書寫風(fēng)格,可以提高程序的可讀性。

算法是程序設(shè)計(jì)的關(guān)鍵,可以幫助我們正確地描述要解決的實(shí)際問題。本

結(jié)參

獻(xiàn)1.恰汗·合孜爾.實(shí)用計(jì)算機(jī)數(shù)值計(jì)算方法及程序設(shè)計(jì)(C語言版)[M].北京:清華大學(xué)出版社,2008.2.韋娜

王俊

袁玲

吳文紅等編著.C程序程序設(shè)計(jì)[M].2版.北京:清華大學(xué)出版社,2019.3.占躍華

符傳誼

畢傳林

主編.C語言程序設(shè)計(jì)[M].3版.北京:北京郵電大學(xué)出版社,2019.4.占躍華

符傳誼

主編.C語言程序設(shè)計(jì)實(shí)訓(xùn)教程[M].3版.北京:北京郵電大學(xué)出版社.2019.5.趙春曉王麗君編著.C語言程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2017.6.郭偉青趙建鋒何朝陽編著.C程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2007.7.張磊編著.C語言程序設(shè)計(jì)[M].4版.北京:清華大學(xué)出版社,2018.8.金龍海李聰主編.C語言程序設(shè)計(jì)[M].北京:科學(xué)出版社,2012.9.譚浩強(qiáng)編著.C程序設(shè)計(jì)[M].5版.北京:清華大學(xué)出版社,2017.第2章

C語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)計(jì)C語言程序設(shè)計(jì)(第五版)2.1

C

語言的字符集2.2

C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3

C

語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例第2章

C語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)計(jì)

內(nèi)容提綱第2章C語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)計(jì)一、教學(xué)目的

?了解

C

語言的幾種基本數(shù)據(jù)類型;

?了解不同類型數(shù)據(jù)間的混合運(yùn)算規(guī)則;

?掌握格式輸入

/

輸出函數(shù)的使用方法;

?會(huì)編寫一些簡單的順序結(jié)構(gòu)程序。第2章C語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)計(jì)二、教學(xué)要求

?掌握

C

語言的幾種基本數(shù)據(jù)類型;

?掌握標(biāo)識(shí)符的概念,熟悉變量和常量先定義后使用的特點(diǎn);

?熟練掌握各種類型數(shù)據(jù)的定義與存儲(chǔ)特點(diǎn);

?熟悉整型數(shù)據(jù)與字符型數(shù)據(jù)間的關(guān)系;

?掌握定義變量的同時(shí),賦初值的方法;

?掌握各種運(yùn)算符和表達(dá)式的含義與使用要點(diǎn);

?掌握不同類型數(shù)據(jù)間的混合運(yùn)算規(guī)則;

?掌握

C

語言的基本語句;

?了解

C語言程序的基本結(jié)構(gòu):順序結(jié)構(gòu);

?熟練掌握格式輸入/輸出函數(shù)的使用方法;

?能編寫簡單的順序結(jié)構(gòu)程序。第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)計(jì)三、教學(xué)重點(diǎn)、難點(diǎn)

?重點(diǎn):

?C

語言的幾種基本數(shù)據(jù)類型

?

不同類型數(shù)據(jù)間的混合運(yùn)算規(guī)則

?熟悉整型數(shù)據(jù)與字符型數(shù)據(jù)間的關(guān)系

?難點(diǎn):

?格式輸入

/

輸出函數(shù)的使用方法第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)

內(nèi)容提綱2.1

C語言的字符集Youare

here!你在這兒!2.2

C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3

C

語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例2.1

C

語言的字符集?

字符集

字符是組成

C

語言的最基本的元素。C

語言字符集由字母、數(shù)字、空白符、下劃線、標(biāo)點(diǎn)符號(hào)和特殊字符組成。?

C

語言的字符集的構(gòu)成

字母:小寫字母a~z共26個(gè),大寫字母A~Z共26個(gè)

數(shù)字:0~9共10個(gè)

空白符:空格符、制表符和換行符等統(tǒng)稱為空白符

④下畫線:_

標(biāo)點(diǎn)符號(hào)、特殊字符:+、-、*、/、%、=、>、<、(、)、

[、]、

{、}、!、&、#、^、?、,、.、;、:、'、"、\,以及注釋符,轉(zhuǎn)義字符(后面會(huì)專門介紹)等。

在編寫C語言程序時(shí),只能使用C語言字符集中的字符,且區(qū)分大小寫英文字母。第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)

內(nèi)容提綱2.1

C語言的字符集Youare

here!你在這兒!2.2

C語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3

C

語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例·關(guān)鍵字

是具有特定含義的、專門用來說明

C

語言的特定成分的一類單詞。

關(guān)鍵字都是用小寫字母書寫,不能用大寫字母書寫。

關(guān)鍵字不能用于變量名或函數(shù)名等其他場合。2.2C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符chardoubleenumfloatintlongshortsignedstructunionunsignedvoidbreakcasecontinuedefaultdoelseforgotoifreturnswitchwhileautoexternregisterstaticconstsizeoftypedefvolatileC語言定義的32個(gè)關(guān)鍵字2.2.1關(guān)鍵字·標(biāo)識(shí)符

用于標(biāo)識(shí)名字的有效字符序列稱為標(biāo)識(shí)符?!?biāo)識(shí)符的用途

標(biāo)識(shí)符可用來標(biāo)識(shí)變量名、符號(hào)常量名﹑函數(shù)名、數(shù)組名和數(shù)據(jù)類型名等。2.2C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.2.2標(biāo)識(shí)符2.2C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.2.2標(biāo)識(shí)符·標(biāo)識(shí)符的命名應(yīng)遵循以下規(guī)則:

①標(biāo)識(shí)符只能由英文字母、數(shù)字和下畫線

3

種字符組

成,且第一個(gè)字符必須為字母或下畫線。

②大小寫英文字母被認(rèn)為是不同的字符。

例如:D

d、BOOK

book

是不同的標(biāo)識(shí)符。

③標(biāo)識(shí)符不能與關(guān)鍵字和保留標(biāo)識(shí)符重名。

④在一個(gè)標(biāo)識(shí)符中,各個(gè)字符之間不允許出現(xiàn)空格。

⑤標(biāo)識(shí)符的長度可以為任意,它隨編譯系統(tǒng)的不同而

不同。?

正確的標(biāo)識(shí)符命名:

_3a

x3

PI

musicabD34xzBook_1BOOTBALL?不正確的標(biāo)識(shí)符命名:

a+bG.W.Bush

3s

-3x

int#xyprintfuv定義標(biāo)識(shí)符時(shí)應(yīng)盡量做到“見名知意”,以提高程序的可讀性。例如,可用

sum

表示求和、name

表示姓名、max

表示最大值、min

表示最小值等。2.2C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.2.2標(biāo)識(shí)符提示:例如:

正弦函數(shù)sin(

)、打印函數(shù)

printf(

)、預(yù)編譯處理命令

#define

等。2.2C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.2.3保留標(biāo)識(shí)符·保留標(biāo)識(shí)符

保留標(biāo)識(shí)符是系統(tǒng)保留的一部分標(biāo)識(shí)符,通常用于系統(tǒng)定義庫函數(shù)的名字。第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)

內(nèi)容提綱2.1

C語言的字符集2.2

C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3

C語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例Youare

here!你在這兒!·C語言的數(shù)據(jù)類型C語言對(duì)具有相同屬性的數(shù)據(jù),采用相同的取值范圍和相同的操作,這種相同的屬性集合稱為數(shù)據(jù)類型。

數(shù)據(jù)類型決定數(shù)據(jù)的表示形式、占據(jù)存儲(chǔ)空間的大小、數(shù)據(jù)的取值范圍和運(yùn)算方式。2.3C

語言的數(shù)據(jù)類型基本數(shù)據(jù)類型是非數(shù)據(jù)類型的基礎(chǔ)非基本數(shù)據(jù)類型基本數(shù)據(jù)類型·C

語言數(shù)據(jù)類型的分類2.3C

語言的數(shù)據(jù)類型

C

語言的數(shù)據(jù)類型由+2.3C

語言的數(shù)據(jù)類型·C語言數(shù)據(jù)類型及其分類關(guān)系第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)

內(nèi)容提綱2.1

C語言的字符集2.2

C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3C語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例Youare

here!你在這兒!·常量

所謂常量是指在程序運(yùn)行的整個(gè)過程中,其值始終不變的量?!こA款愋偷姆诸?.4常

量2.4常

量2.4.1整型常量十進(jìn)制整型常量12八進(jìn)制整型常量3十六進(jìn)制整型常量整型常量有3

種表示形式1.十進(jìn)制整型常量

十進(jìn)制整型常量的數(shù)碼為

0~9

,數(shù)值前面可以有+、-符號(hào)。例如:

合法的十進(jìn)制整型常量:

237,

-568,

65535

不合法的十進(jìn)制整型常量:

3.(含有小數(shù)點(diǎn),是實(shí)數(shù)),035(不能有前綴0)

23D(含有非十進(jìn)制數(shù)碼

D)2.4常

量十進(jìn)制整型常量的數(shù)值前面不允許加

0注意:2.4.1整型常量2.八進(jìn)制整型常量

八進(jìn)制整型常量的表示形式是以數(shù)字0開頭,由0~7的數(shù)字組成。合法的八進(jìn)制常量:

015(十進(jìn)制為13),0177777(十進(jìn)制為65535)

不合法的八進(jìn)制常量:

256(無前綴0),0128(出現(xiàn)了非八進(jìn)制數(shù)碼8)2.4常

量2.4.1整型常量3.十六進(jìn)制整型常量

十六進(jìn)制整型常量的表示形式是以

0x

0X

開頭,由0~9

的數(shù)字、A~F

a~f

字母組成。

合法的十六進(jìn)制整型常量:

0X2A(十進(jìn)制為42),0XFFFF(十進(jìn)制為65535)

不合法的十六進(jìn)制整型常量:

5A(無前綴0X),0X3H(含有非十六進(jìn)制數(shù)碼H)

※一個(gè)整型常量后面加了后綴l或L,則被認(rèn)為是longint類型常量,如55與55L

數(shù)值上相等,但類型不同,后者為long型。2.4.1整型常量2.4常

量·實(shí)型常量

實(shí)型常量即為實(shí)數(shù),它只有十進(jìn)制這一種數(shù)值。2.4.2

實(shí)型常量2.4常

量(1)小數(shù)形式(2)指數(shù)形式實(shí)型常量的兩種形式·實(shí)型常量1.小數(shù)形式

由正號(hào)或負(fù)號(hào)、0~9

的數(shù)字和小數(shù)點(diǎn)組成,且小數(shù)點(diǎn)的前面或后面至少一邊要有數(shù)字。

例如:-1.85、

0.3456、

120.0、

.426

2.指數(shù)形式

由十進(jìn)制數(shù)(尾數(shù))加階碼標(biāo)志

“e”

“E”

以及階碼(只能是整數(shù),可以帶符號(hào))組成。

其一般形式為:

aEn

aen

其中

a

為十進(jìn)制數(shù),階碼n

為十進(jìn)制整數(shù)(n

為正數(shù)時(shí)“+”可以省略),其值為

a×10n。2.4.2

實(shí)型常量2.4常

量·合法的指數(shù)形式:

1.234e12(等于1.234×1012)

3.7E-2(等于3.7×10-2)

2.34e+8(等于2.34×108)·非法的指數(shù)形式:

568(無小數(shù)點(diǎn))

e-5(階碼標(biāo)志“e”之前無數(shù)字)

-5(無階碼標(biāo)志)

58+e5(符號(hào)位置不對(duì))

2.7E(無階碼)

6.4e+5.8(階碼不是整數(shù))2.4.2

實(shí)型常量2.4常

量·對(duì)于實(shí)型常量的兩種表示形式,系統(tǒng)均默認(rèn)為是雙精度實(shí)型常量。

例如:

5.35、5.5e5

的類型均為

double

型·如果一個(gè)實(shí)型常量的后面加上了

F

f,則被認(rèn)為是

float

單精度實(shí)型常量。

例如:

0.5e2f、3.14159F2.4.2

實(shí)型常量2.4常

量·字符常量

字符常量是用單引號(hào)括起來的一個(gè)字符。

例如:

'a'、'0'、'A'、'-'、'*'

都是合法字符常量

'a'和'A'是不同的字符常量

除了以上形式的字符常量以外,C

語言還定義了一些特殊的字符常量,是以反斜杠

"\"開頭的字符序列,稱為轉(zhuǎn)義字符。轉(zhuǎn)義字符的意思是將反斜杠

"\"后面的字符轉(zhuǎn)變成另外的意義。2.4常

量2.4.3字符常量字符形式含義ASCII碼\n換行,將當(dāng)前位置移到下一行開頭10\t水平位移,跳到下一個(gè)tab位置9\b退格,將當(dāng)前位置移到前一列8\r回車,將當(dāng)前位置移到本行開頭13\f換頁,將當(dāng)前位置移到下一頁開頭12\\反斜杠字符“\”92\'單引號(hào)字符“'”39\"雙引號(hào)字符“"”34\0空字符0\ddd

1到3位八進(jìn)制數(shù)所代表的ASCII碼字符\xhh1到2位十六進(jìn)制數(shù)所代表的ASCII碼字符轉(zhuǎn)義字符及其含義2.4.3字符常量2.4常

注意:

①字符常量只能用單引號(hào)括起來,不能用雙引號(hào)或其他括號(hào)。

例如:

'a'

'5'

②字符常量只能是單個(gè)字符,不能是字符串。

例如:

'xx'、'55'

③數(shù)字被定義為字符常量之后就以

其ASCII

碼值參與數(shù)值運(yùn)算。2.4常

量2.4.3字符常量【例2.1】分析下面程序的運(yùn)行結(jié)果。

#include<stdio.h>

/*

程序需要使用C語言提供的庫函數(shù)*/

int

main()

{

printf("China\n\101\t\\\n");

/*調(diào)用printf(

)顯示字符串*/

return0;

}

程序運(yùn)行結(jié)果:

China

A

\程序中的轉(zhuǎn)義字符有:\n、\101、\t、\\。輸出China之后遇到轉(zhuǎn)義字符'\n'進(jìn)行換行,其后遇八進(jìn)制轉(zhuǎn)義字符'\101',輸出其對(duì)應(yīng)的字符'A',然后遇到轉(zhuǎn)義字符'\t',水平移動(dòng)到下一個(gè)制表位置,再遇轉(zhuǎn)義字符'\\',輸出'\',最后遇'\n'進(jìn)行換行。2.4常

量2.4.3字符常量·字符串常量字符串常量是用雙引號(hào)括起來的字符序列。

例如,以下是合法的字符串常量:“a”“CHINA”“**402754**”

“”:表示一個(gè)空格串

“”:表示什么字符也沒有的字符串

“\n”:表示一個(gè)具有換行功能的字符串2.4常

量2.4.4字符串常量

字符串常量在內(nèi)存中存儲(chǔ)時(shí),系統(tǒng)自動(dòng)在每一個(gè)字符串常量的尾部加一個(gè)“字符串結(jié)束標(biāo)志”,即字符

'\0'(ASCII碼值為0)。因此,長度為

n

個(gè)字符的字符串常量在內(nèi)存中要占用

n+1

個(gè)字節(jié)的空間。

例如,字符串

"A"

"Cprogram"

的長度分別為

1

9(即字符的個(gè)數(shù)),但在內(nèi)存中所占的字節(jié)數(shù)分別為

2

10。2.4常

量2.4.4字符串常量A\0ogra

m\0

Cpr(b)字符串“Cprogram”

的存儲(chǔ)形式(a)字符串“A”的存儲(chǔ)形式·字符串常量在內(nèi)存中的存儲(chǔ)形式:2.4常

量·字符常量與字符串常量的區(qū)別:

①定界符不同

字符常量使用單引號(hào),而字符串常量使用雙引號(hào)。

例如:

'a'

"a"

②存儲(chǔ)要求不同

字符常量存儲(chǔ)的是字符的

ASCII

碼值,而字符串常量除了要存儲(chǔ)字符串常量的有效字符外,還要存儲(chǔ)一個(gè)字符串結(jié)束標(biāo)志

'\0'。2.4.4字符串常量·符號(hào)常量在程序中,如果某個(gè)常量多次被使用,則可以使用一個(gè)符號(hào)來代替該常量,這種相應(yīng)的符號(hào)稱為符號(hào)常量。用宏定義

#define

來定義符號(hào)常量,格式是在#define后面跟一個(gè)“標(biāo)識(shí)符”和一個(gè)“字符串”,彼此之間用空格隔開。

例如:

#defineN35

#definePI3.1415

※符號(hào)常量不是C語句,故末尾不要加分號(hào)?!?/p>

習(xí)慣上,符號(hào)常量用大寫,變量用小寫以示區(qū)別。

※符號(hào)常量一旦定義,就不能在程序的其他地方給該標(biāo)識(shí)符再

賦值。2.4.5符號(hào)常量2.4常

量#include<stdio.h> /*

程序需要使用C語言提供的庫函數(shù)*/int

main(){

floatr,v,s;

r=2.0; /*將2.0賦值給半徑r*/

v=4.0/3.0*3.1415*r*r*r; /*求球的體積v*/

s=4.0*3.1415*r*r; /*求球的表面積s*/

printf("v=%f\ns=%f\n",v,s); /*輸出球的體積v和表面積s*/return0;}2.4.5符號(hào)常量2.4常

量程序運(yùn)行結(jié)果:v=33.509335s=50.264000【例2.2】編寫求一個(gè)半徑

r=2.0

的球的體積和表面積的程序。球的體積:v=(4/3)Πr3球的表面積:s=4Πr2#include<stdio.h> /*

程序需要使用C語言提供的庫函數(shù)*/#definePI3.1415 /*定義PI為符號(hào)常量,其值為3.1415*/int

main(){

floatr,v,s;

r=2.0; /*將2.0賦值給半徑r*/

v=4.0/3.0*PI*r*r*r; /*求球的體積v*/

s=4.0*PI*r*r; /*求球的表面積s*/

printf("v=%f\ns=%f\n",v,s);/*輸出球的體積v和表面積s*/return0;}v=4.0/3.0*PI*r*r*r

等效于

v=4.0/3.0*3.1415*r*r*r2.4.5符號(hào)常量2.4常

量【例2.2】編寫求一個(gè)半徑

r=2.0

的球的體積和表面積的程序。s=4.0*PI*r*r

等效于

s=4.0*3.1415*r*r第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)

內(nèi)容提綱2.1

C語言的字符集2.2

C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3C語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例Youare

here!你在這兒!?

變量

所謂變量是指在程序運(yùn)行過程中,其值可以改變的量。

例如:

計(jì)算圓周長l的

C

語句:

l=2*3.1415*r;l和r都是變量,r可以有不同的值,

l的值跟隨r的值改變。2.5.1變量的概念2.5變

量?

變量的3個(gè)特征:

?變量名

變量名的命名方式符合標(biāo)識(shí)符的命名規(guī)則。

?變量有類型之分

不同類型的變量占用的內(nèi)存單元(字節(jié))數(shù)不同,因此每個(gè)變量都有一個(gè)確定的類型。

?變量存放值

程序運(yùn)行過程中用到的變量必須有確切的值,變量在使用前必須賦值,變量的值存儲(chǔ)在內(nèi)存中。2.5.1變量的概念2.5變

量1.變量的定義

常量是可以不經(jīng)定義直接引用的,而程序中用到的所有變量必須先定義后使用。

變量定義的一般形式為:

數(shù)據(jù)類型標(biāo)識(shí)符變量名1[,變量名2,變量名3,…,變量名n];

[

]:表示可選項(xiàng)。

例如:

inta;

/*定義a為整型變量*/

floatx,

y,

z;

/*定義x、y、z為單精度實(shí)型變量*/

charch;

/*定義ch為字符型變量*/2.5.2

變量的定義與初始化2.5變

量·進(jìn)行變量定義時(shí),應(yīng)注意以下幾點(diǎn):

①允許在一個(gè)數(shù)據(jù)類型標(biāo)識(shí)符后,說明多個(gè)相同類型的變量,各

變量名之間用逗號(hào)隔開。

②數(shù)據(jù)類型標(biāo)識(shí)符與變量名之間至少用一個(gè)空格隔開。

③最后一個(gè)變量名之后必須以分號(hào)“;”結(jié)尾。

④變量定義必須放在變量使用之前,一般放在函數(shù)體的開頭部分。

⑤在同一個(gè)程序中變量不允許重復(fù)定義。2.5變

量2.5.2

變量的定義與初始化

例如,以下是不合法的定義:

intx,

y,

z; /*定義x、y、z為整型變量*/

inta,

b,

x; /*變量x被重復(fù)定義*/

intu,v /*語句末尾沒有;號(hào)*/2.變量的初始化

在定義變量的同時(shí)可以給變量賦初值,稱為變量初始化。

變量初始化的一般形式為:

數(shù)據(jù)類型標(biāo)識(shí)符變量名1=常量1[,變量名2=常量2,…];

[

]:表示可選項(xiàng)。2.5變量2.5.2

變量的定義與初始化例如:

inta;

//定義a為整型變量

floatx=0,y=0;//定義x、y為實(shí)型變量,同時(shí)x、y都賦初值為0

charch='a';//定義ch為字符型變量,同時(shí)賦初值字符'a'·整型變量整型變量通??煞譃?類:一般整型、短整型、長整型和無符號(hào)型。其中,無符號(hào)型又有無符號(hào)整型、無符號(hào)短整型和無符號(hào)長整型之分。

變量根據(jù)類型的不同,所能表示的數(shù)值范圍,以及所占內(nèi)存空間的大小也不同。在VC++2010環(huán)境下的狀況。2.5.3

整型變量符號(hào)數(shù)據(jù)類型類型標(biāo)識(shí)符所占字節(jié)數(shù)取值范圍帶符號(hào)整型int4-214783648~214783647短整型short或shortint2-32768~32767無符號(hào)無符號(hào)整型unsigned或unsignedint40~4294967295無符號(hào)短整型unsignedshort20~655352.5變

量·實(shí)型變量實(shí)型變量分為單精度型(float)、雙精度型(double)和長雙精度型(longdouble)3

種。2.5.4實(shí)型變量類型名類型標(biāo)識(shí)符所占字節(jié)數(shù)有效數(shù)字取值范圍單精度型float46~7-3.4×10-38~3.4×1038雙精度型double815~16-1.7×10-308~1.7×10308※

實(shí)型數(shù)據(jù)的存儲(chǔ)形式?jīng)Q定了能提供的有效數(shù)字是有限的,有效數(shù)字位數(shù)以外的數(shù)字會(huì)被舍去,所以實(shí)型數(shù)據(jù)會(huì)存在誤差。2.5變

量【例2.3】實(shí)型數(shù)據(jù)的舍入誤差分析。#include<stdio.h>int

main(){floata,

b;

/*定義a、b為單精度實(shí)型變量*/doublec,

d;

/*定義c、d為雙精度實(shí)型變量*/a=3.55;/*將3.55賦給單精度實(shí)型變量a*/b=12345.678;/*將12345.678賦給單精度實(shí)型變量b*/c=3.55;/*將3.55賦給雙精度實(shí)型變量c*/d=12345.678;/*將12345.678賦給雙精度實(shí)型變量d*/

printf("a=%f,b=%f\n",

a,

b);

/*以單精度實(shí)型形式輸出a、b的值*/

printf("c=%f,d=%f\n",

c,

d);

/*以單精度實(shí)型形式輸出c、d的值*/return0;}由于b是float類型,有效位數(shù)為7位,將12345.678賦給b時(shí),輸出結(jié)果卻顯示為12345.677734,前面7位數(shù)字是有效的,后面數(shù)字出現(xiàn)了誤差。2.5.4實(shí)型變量2.5變

量程序運(yùn)行結(jié)果:a=3.550000,b=12345.677734c=3.550000,d=12345.6780002.5.5

字符變量2.5變

·字符變量

字符變量用來存放字符常量,注意只能存放一個(gè)字符。·字符變量的類型標(biāo)識(shí)符:

char例如:

charc1,c2,c3;

c1='a';

//正確:給字符變量賦值字符'a'

c2='6';

//正確:給字符變量賦值字符'6'

c3="a";

//不正確:給字符變量賦值字符串常量"a"1.字符型數(shù)據(jù)在內(nèi)存中的存放形式

字符型數(shù)據(jù)在內(nèi)存中存儲(chǔ)的是ASCII碼的二進(jìn)制形式,一個(gè)字符的存儲(chǔ)占用一個(gè)字節(jié)。2.5.5

字符變量2.5變

量例如:

charc1,c2;

c1='a';

c2='b';

在內(nèi)存中儲(chǔ)存的是字符‘a(chǎn)’、

‘b’的ASCII碼值97和98的二進(jìn)制形式。2.字符型數(shù)據(jù)的使用

?

由于字符型數(shù)據(jù)在內(nèi)存中存放的是字符的ASCII碼值,所以也可以把字符型數(shù)據(jù)看成是整型數(shù)據(jù),即字符型和整型可以通用。

?

字符型數(shù)據(jù)可以參與算術(shù)運(yùn)算,也可以把整型數(shù)據(jù)賦值給字符型變量,還可以以整數(shù)形式輸出。2.5.5

字符變量2.5變

量【例2.4】向字符變量賦以整數(shù)。

#include<stdio.h>

int

main(

)

{

charc1,c2;/*定義c1、c2為字符型變量*/

c1=65;

/*

將整數(shù)65賦給字符變量c1,相當(dāng)于c1='A'

*/

c2=67;

/*將整數(shù)67賦給字符變量c2,相當(dāng)于c1='C'*/

printf("%c\t%c\n",c1,c2); /*以字符形式輸出c1和c2的值*/

printf("%d\t

%d\n",c1,c2); /*以整數(shù)形式輸出c1和c2的值*/return0;

}2.5.5

字符變量2.5變

量程序運(yùn)行結(jié)果:A

C65

67字符型數(shù)據(jù)既可以用字符形式輸出(用%c),也可以用整數(shù)形式輸出(用%d),增加了程序設(shè)計(jì)的靈活性。【例2.5】字符型和整型變量可以相互賦值。#include<stdio.h>int

main(){

intk; /*定義k為整型變量*/

charch; /*定義ch為字符型變量*/

k='b'; /*將字符'b'賦給整型變量k*/

ch=66; /*將整數(shù)66賦給字符變量ch*/

printf("%d,%c\n",k,k);

/*分別以整數(shù)和字符形式輸出k的值*/

printf("%d,%c\n",ch,ch);

/*分別以整數(shù)和字符形式輸出ch的值*/return0;}2.5.5

字符變量2.5變

量程序運(yùn)行結(jié)果:

98,b

66,B第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)

內(nèi)容提綱2.1

C語言的字符集2.2

C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3

C語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例Youare

here!你在這兒!·運(yùn)算符用來表示各種運(yùn)算的符號(hào)稱為“運(yùn)算符”。2.6.1運(yùn)算符2.6C

語言的運(yùn)算符和表達(dá)式(1)按運(yùn)算符功能(2)按運(yùn)算對(duì)象的多少運(yùn)算符按其功能和運(yùn)算對(duì)象的個(gè)數(shù)進(jìn)行分類·運(yùn)算符按其運(yùn)算符功能分類

可以分為算術(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯運(yùn)算符、位運(yùn)算符和特殊運(yùn)算符5類?!み\(yùn)算符按其運(yùn)算對(duì)象的多少分類

單目運(yùn)算符:

僅對(duì)一個(gè)運(yùn)算對(duì)象進(jìn)行操作。例如

:-5

雙目運(yùn)算符:對(duì)兩個(gè)運(yùn)算對(duì)象進(jìn)行操作。例如:

2+3

三目運(yùn)算符:

對(duì)三個(gè)運(yùn)算對(duì)象進(jìn)行操作。例如:5>9?3:-32.6.1運(yùn)算符2.6C

語言的運(yùn)算符和表達(dá)式?

表達(dá)式

用運(yùn)算符把運(yùn)算對(duì)象連接起來的符合

C

語言語法規(guī)則的式子,稱為表達(dá)式。

例如:

表達(dá)式

c/(3*a+b)

中包括+、*、/、(

)

運(yùn)算符,

運(yùn)算對(duì)象包括3、a、b、c。?

表達(dá)式的值

對(duì)表達(dá)式進(jìn)行運(yùn)算,所得到的結(jié)果稱為表達(dá)式的值。

例如:

表達(dá)式

2+cos(0)

的值為

3。2.6.2表達(dá)式2.6C

語言的運(yùn)算符和表達(dá)式?運(yùn)算符的優(yōu)先級(jí)

運(yùn)算符的優(yōu)先級(jí)指多個(gè)運(yùn)算符用在同一個(gè)表達(dá)式中時(shí)先進(jìn)行什么運(yùn)算,后進(jìn)行什么運(yùn)算。?運(yùn)算符的結(jié)合性

運(yùn)算符的結(jié)合性是指在表達(dá)式中若連續(xù)出現(xiàn)若干個(gè)優(yōu)先級(jí)相同的運(yùn)算符時(shí),各運(yùn)算符的運(yùn)算次序。因而,在

C

語言中有所謂“左結(jié)合性”和“右結(jié)合性”之說。?關(guān)于運(yùn)算符的結(jié)合性詳見P222.6.3運(yùn)算符的優(yōu)先級(jí)和結(jié)合性2.6C

語言的運(yùn)算符和表達(dá)式第2章

C

語言基礎(chǔ)及順序結(jié)構(gòu)程序設(shè)

內(nèi)容提綱2.1

C語言的字符集2.2

C

語言的關(guān)鍵字、標(biāo)識(shí)符和保留標(biāo)識(shí)符2.3

C語言的數(shù)據(jù)類型2.4

常量2.5

變量2.6

C

語言的運(yùn)算符和表達(dá)式2.7

C語言中最基本的運(yùn)算符和表達(dá)式2.8C語言的基本語句2.9數(shù)據(jù)的輸入與輸出2.10順序結(jié)構(gòu)程序設(shè)計(jì)2.11程序舉例Youare

here!你在這兒!1.基本算術(shù)運(yùn)算符及其表達(dá)式?基本算術(shù)運(yùn)算符

溫馨提示

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

評(píng)論

0/150

提交評(píng)論