![《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第1頁](http://file4.renrendoc.com/view12/M00/1F/11/wKhkGWbNkGOAN_A4AAG3FitApFE955.jpg)
![《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第2頁](http://file4.renrendoc.com/view12/M00/1F/11/wKhkGWbNkGOAN_A4AAG3FitApFE9552.jpg)
![《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第3頁](http://file4.renrendoc.com/view12/M00/1F/11/wKhkGWbNkGOAN_A4AAG3FitApFE9553.jpg)
![《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第4頁](http://file4.renrendoc.com/view12/M00/1F/11/wKhkGWbNkGOAN_A4AAG3FitApFE9554.jpg)
![《C語言程序設(shè)計(jì)(第5版)》全套教學(xué)課件_第5頁](http://file4.renrendoc.com/view12/M00/1F/11/wKhkGWbNkGOAN_A4AAG3FitApFE9555.jpg)
版權(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度影視行業(yè)商業(yè)秘密保護(hù)保密協(xié)議范本
- 電子商城庫存管理與倉儲(chǔ)作業(yè)流程優(yōu)化研究
- 2025年度支付合同中員工離職手續(xù)辦理規(guī)范
- 2025年度智能化股權(quán)轉(zhuǎn)讓終止協(xié)議書范本
- 電子商務(wù)的消費(fèi)者行為研究
- 轉(zhuǎn)正申請(qǐng)書數(shù)據(jù)
- 2025年度新型建筑材料供應(yīng)施工合同
- 2025年度新能源充電樁建設(shè)項(xiàng)目股權(quán)協(xié)議
- 二零二五年度壓縮天然氣槽車租賃與物流配送合同3篇
- 2025年度醫(yī)療器械研發(fā)資助合同文本
- SY∕T 5280-2018 原油破乳劑通用技術(shù)條件
- 中考語文名著復(fù)習(xí):《駱駝祥子》閱讀卡片1-24章
- 藥品監(jiān)管知識(shí)培訓(xùn)課件
- 過松源晨炊漆公店(其五)課件
- 安全事故案例圖片(76張)課件
- 預(yù)應(yīng)力錨索施工方案
- 豇豆生產(chǎn)技術(shù)規(guī)程
- MES運(yùn)行管理辦法
- 中藥炮制學(xué)教材
- 現(xiàn)場快速反應(yīng)跟蹤管理看板
- 常見腫瘤AJCC分期手冊第八版(中文版)
評(píng)論
0/150
提交評(píng)論