




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第6章數(shù)組
1.1C語言的歷史背景1.2C語言的特點(diǎn)1.3簡(jiǎn)單的C程序介紹1.4C程序的上機(jī)步驟1.5本章小結(jié)第一章c語言概述關(guān)鍵字:歷史背景TurboC基本操作在本章中,讀者將會(huì)了解到C語言的歷史背景和主要特點(diǎn);并會(huì)接觸到幾個(gè)簡(jiǎn)單的C語言程序?qū)嵗ㄟ^這些實(shí)例學(xué)習(xí)C程序的格式、構(gòu)成及基本要求;最后熟悉C程序的編寫及運(yùn)行環(huán)境—TurboC中的基本操作。本章從一個(gè)比較淺的層次,讓讀者盡快掌握C程序設(shè)計(jì)的精髓。1.1C語言的歷史背景
C語言是國(guó)際上廣泛流行的計(jì)算機(jī)高級(jí)語言,既可用來寫系統(tǒng)軟件,也可用來寫應(yīng)用軟件。在C語言誕生以前,早期的操作系統(tǒng)等系統(tǒng)軟件(包括UNIX操作系統(tǒng))主要是采用匯編語言編寫的。但是,匯編語言存在明顯的缺點(diǎn),它依賴于計(jì)算機(jī)硬件,程序的可讀性、可移植性都比較差。為了提高可讀性和可移植性,人們希望能找到一種既具有一般高級(jí)語言特性,又具有低級(jí)語言底層操作能力的語言來編寫系統(tǒng)軟件,于是C語言在20世紀(jì)70年代初應(yīng)運(yùn)而生了。最初的C語言只是為描述和實(shí)現(xiàn)UNIX操作系統(tǒng)提供一種工作語言而設(shè)計(jì)的。隨著微型計(jì)算機(jī)的日益普及,C語言又被多次改進(jìn),出現(xiàn)了許多C語言版本。由于沒有統(tǒng)一的標(biāo)準(zhǔn),使得這些C語言之間出現(xiàn)了一些不一致的地方。為了改變這種情況,美國(guó)國(guó)家標(biāo)準(zhǔn)研究所(ANSI)為C語言制定了一套ANSI標(biāo)準(zhǔn),成為現(xiàn)行的C語言標(biāo)準(zhǔn)?,F(xiàn)在C語言已風(fēng)靡全世界,成為世界上應(yīng)用最廣泛的幾種計(jì)算機(jī)語言之一。C語言發(fā)展如此迅速,而且成為最受歡迎的語言之一,是因?yàn)樗哂袃?yōu)于其它語言的以下特點(diǎn):1.語言簡(jiǎn)潔、緊湊,使用方便、靈活。C語言共有32個(gè)關(guān)鍵字,9種控制語句,程序書寫形式自由。2.數(shù)據(jù)類型豐富。C語言的數(shù)據(jù)類型有:整型、實(shí)型、字符型、數(shù)組、指針、結(jié)構(gòu)體、共用體等。能用來實(shí)現(xiàn)各種復(fù)雜的運(yùn)算。3.運(yùn)算符豐富。C語言有多達(dá)40余種運(yùn)算符。豐富的數(shù)據(jù)類型與眾多的運(yùn)算符相結(jié)合,使C語言具有表達(dá)靈活和效率高的優(yōu)點(diǎn)。1.2C語言的特點(diǎn)
4.可移植性好。用C語言寫的程序基本上不做修改就能運(yùn)行于各種型號(hào)的計(jì)算機(jī)和各種操作系統(tǒng)。5.能直接操縱硬件。C語言能實(shí)現(xiàn)匯編語言的大部分功能,可以直接對(duì)硬件進(jìn)行操作。這是其它高級(jí)語言所不能的。C語言是一種功能很強(qiáng)的語言,但是,它也有一些不足之處:C語言的語法限制不太嚴(yán)格,程序安全性較低,運(yùn)算符功能強(qiáng)但難記、難掌握。因此,學(xué)習(xí)C語言不妨先學(xué)基本部分,先編寫一些簡(jiǎn)單的程序,基本部分熟練后再全面掌握C語言。
為了說明C語言源程序結(jié)構(gòu)的構(gòu)成,先看以下幾個(gè)程序。這幾個(gè)程序由簡(jiǎn)到難,表現(xiàn)了C語言源程序在組成結(jié)構(gòu)上的特點(diǎn)。雖然有關(guān)內(nèi)容還未介紹,但從中可以了解到組成一個(gè)C語言源程序的基本部分和書寫格式。程序文本【1.1】輸出一行信息:hello,world!
#include"stdio.h"main(){
printf("hello,world!");}
1.3簡(jiǎn)單的C程序介紹結(jié)果是:hello,world!這是一個(gè)最簡(jiǎn)單的C語言程序,第一行的“#include"stdio.h"”會(huì)在第3章介紹,在此只需記住,在程序中用到系統(tǒng)提供的標(biāo)準(zhǔn)輸入輸出函數(shù)時(shí),應(yīng)在程序開頭加上它。第二行的main是C語言程序中“主函數(shù)”的名字。每一個(gè)C語言程序都必須有一個(gè)main函數(shù),每一個(gè)函數(shù)都要有函數(shù)名和函數(shù)體,函數(shù)體用大括號(hào){}括起來。第四行的printf是系統(tǒng)提供的標(biāo)準(zhǔn)輸出函數(shù)(在第3章會(huì)詳細(xì)介紹),圓括號(hào)中雙引號(hào)中的字符串按原樣輸出。在執(zhí)行程序時(shí),輸出“hello,world!”。程序文本【1.2】求兩個(gè)整數(shù)之和#include"stdio.h"main()/*求兩個(gè)整數(shù)之和*/{int
a,b,s;/*這是聲明部分,定義a,b,s為整型變量*/a=1;/*將1賦給a,從這行開始的四行是C語句*/b=2;/*將2賦給b*/s=a+b;/*將a+b的和賦給s*/printf("%d",s);/*輸出s的值*/}結(jié)果是:3本程序各行右側(cè)的/*……*/表示注釋部分。注釋是對(duì)程序某部分的解釋,對(duì)運(yùn)行不起作用。注釋可以出現(xiàn)在一行的最右側(cè),也可以單獨(dú)成為一行,根據(jù)需要寫在程序的任何一行中。第四行的“int
a,b,s;”用來定義變量,是聲明部分。第五行和第六行是兩個(gè)賦值語句,使a和b的值分別為1和2。第七行執(zhí)行a+b的運(yùn)算,并把結(jié)果3賦給變量s。第八行是輸出語句,printf函數(shù)中逗號(hào)后的“s”表示要輸出的變量,逗號(hào)前雙引號(hào)中的“%d”表示輸出變量的格式。在執(zhí)行程序時(shí),輸出“3”。程序文本【1.3】求兩個(gè)整數(shù)中的較大者#include"stdio.h"main()/*主函數(shù)*/{int
a,b,c;/*定義a,b,s為整型變量*/scanf("%d%d",&a,&b);/*輸入a,b的值*/c=max(a,b);/*調(diào)用max函數(shù),將得到的值賦給c*/printf("%d",c);/*輸出c的值*/}int
max(intx,inty)/*定義max函數(shù)*/{intz;/*在max函數(shù)中定義z為整型變量*/if(x>y)z=x;/*如果x>y,則將x的值賦給z*/elsez=y;/*否則將y的值賦給z*/return(z);/*將z的值返回到函數(shù)的調(diào)用處*/}結(jié)果是:36↙
(輸入3和6,給a和b)6(輸出兩個(gè)數(shù)中的較大者)本程序包括兩個(gè)函數(shù):main函數(shù)和被調(diào)用的max函數(shù)。max函數(shù)的作用是將x和y中較大者賦給z,函數(shù)最后的return語句是將z的值返回給主調(diào)函數(shù)main中調(diào)用max函數(shù)的地方。程序第五行的scanf是系統(tǒng)提供的標(biāo)準(zhǔn)輸入函數(shù)(在第3章會(huì)詳細(xì)介紹),將用戶從鍵盤輸入的兩個(gè)數(shù)值給變量a和b。第六行中調(diào)用max函數(shù),調(diào)用時(shí)將實(shí)際參數(shù)a和b的值分別傳遞給形式參數(shù)x和y,經(jīng)過執(zhí)行max函數(shù)得到一個(gè)返回值,這個(gè)值會(huì)返回到調(diào)用位置,即這行中的“=”后,代替原來的“max(a,b)”,然后將這個(gè)值賦給c。第七行輸出c的值。為了區(qū)分結(jié)果中的輸入和輸出信息,將用戶輸入的信息加了下劃線,如上面運(yùn)行結(jié)果中的“36↙”表示,用戶從鍵盤輸入3和6,然后按回車鍵。結(jié)果中第二行的“6”表示顯示在屏幕上的信息。通過以上幾個(gè)例子,可以得到如下結(jié)論。(1)C程序是由函數(shù)組成的。一個(gè)C程序必須包含且只能包含一個(gè)main函數(shù),也可以包含若干個(gè)其它函數(shù)。程序的全部工作都是由各個(gè)函數(shù)分別完成的。函數(shù)是C程序的基本單位。(2)程序總是從main函數(shù)開始執(zhí)行。main函數(shù)和其它函數(shù)在程序中的先后位置不影響程序的執(zhí)行過程。由main函數(shù)開始調(diào)用其它函數(shù),其它函數(shù)間也可以相互調(diào)用,最終返回main函數(shù)結(jié)束程序。(3)一個(gè)函數(shù)由函數(shù)首部和函數(shù)體兩部分組成。函數(shù)首部即函數(shù)的第一行,包括函數(shù)名、函數(shù)類型、函數(shù)參數(shù)名和參數(shù)類型。函數(shù)名后面必須跟一對(duì)圓括號(hào),括號(hào)內(nèi)寫函數(shù)的參數(shù)名及其類型。函數(shù)可以沒有參數(shù),如“main()”。函數(shù)體即函數(shù)首部下第一對(duì)大括號(hào)內(nèi)的部分。函數(shù)體一般包括聲明部分和執(zhí)行部分。(4)一個(gè)語句和聲明部分必須在最后出現(xiàn)分號(hào),分號(hào)是語句中不可缺少的組成部分。(5)C語言允許一行寫幾個(gè)語句,也允許一個(gè)語句拆開寫在幾行上。(6)可以用/*……*/對(duì)程序中的任何一行做注釋。以增加程序的可讀性。注釋不影響語句的功能。(7)程序習(xí)慣使用英文小寫字母書寫,也可以使用大寫字母,但大寫字母習(xí)慣上另有其它用途。C語言有許多集成開發(fā)環(huán)境,可以把程序的編輯、編譯、連接和運(yùn)行等操作全部集中在一個(gè)界面上。TurboC是其中較常用的一種。本書將以TurboC編譯程序?yàn)槔v述C語言程序的上機(jī)步驟。
1.運(yùn)行C語言程序的一般過程(1)啟動(dòng)TurboC,進(jìn)入集成開發(fā)環(huán)境。(2)編輯(或修改)源程序。(3)編譯。若編譯成功,則進(jìn)行下一步操作;否則,返回(2)修改源程序,并重新編譯,直到編譯成功。1.4C程序的上機(jī)步驟(5)運(yùn)行。通過觀察結(jié)果驗(yàn)證程序的正確性。若出現(xiàn)邏輯錯(cuò)誤,則返回(2)修改源程序,并重新編譯、連接和運(yùn)行,直到程序正確。(6)退出TurboC集成開發(fā)環(huán)境。2.TurboC的啟動(dòng)可以通過在windows系統(tǒng)中雙擊主程序文件TC.EXE來啟動(dòng)TurboC。主程序文件TC.EXE在安裝TurboC的文件夾中。啟動(dòng)成功后,屏幕上將顯示TurboC的主菜單窗口,如圖1.1所示。
圖1.1TurboC的主菜單窗口在TurboC主菜單窗口中,用F10鍵和光標(biāo)移動(dòng)鍵可以從主菜單中選擇所需的功能。一般為了防止與其他用戶混淆,用戶應(yīng)該建立一個(gè)專用的工作目錄,來存放自己的文件。當(dāng)需設(shè)定用戶文件的存放目錄時(shí),應(yīng)選“File”選項(xiàng),即將亮塊移到“File”后按下回車鍵,即會(huì)彈出“文件”下拉菜單,如圖1.2所示。
將光標(biāo)移至“Changedir”選項(xiàng)并按回車鍵,則彈出一個(gè)子目錄提示框。用戶可在該提示框中輸入用戶文件的存放目錄,輸入完后按回車鍵即可。如輸入D:\user(D盤中已創(chuàng)建好user文件夾),如圖1.3所示。
設(shè)定好用戶文件的存放目錄后,用戶編寫的源文件將會(huì)保存在這里,最后,還需要設(shè)定編譯、連接后的可執(zhí)行文件的存放目錄。用剛才的方法,選擇“Options”選項(xiàng)下拉菜單中的“Directories”選項(xiàng)并按回車鍵,將彈出子菜單,從中選擇“Outputdirectory”選項(xiàng)并輸入D:\user。這里設(shè)定的就是編譯、連接后的可執(zhí)行文件所存放的目錄,如圖1.4所示。
3.編輯源程序在“File”選項(xiàng)的下拉菜單中,選擇“New”選項(xiàng),系統(tǒng)將會(huì)給出一個(gè)空白編輯窗口,在此編輯源程序,如圖1.5所示。
編輯過程中,可用到以下常用的編輯鍵:(1)用光標(biāo)移動(dòng)鍵分別向上、下、左、右來移動(dòng)。用“Home”鍵到達(dá)行首,“End”鍵到達(dá)行末。(2)用“Delete”鍵刪除光標(biāo)所在的字符,用“Backspace”鍵刪除光標(biāo)左側(cè)的字符。(3)用“Insert”鍵控制工作狀態(tài)是否為插入狀態(tài)。按下“Insert”鍵可看到屏幕編輯窗口上有“Insert”時(shí)為插入狀態(tài),此時(shí)可在屏幕當(dāng)前光標(biāo)處插入輸入的字符。在插入狀態(tài)下,再按一下“Insert”鍵可取消插入狀態(tài),狀態(tài)行上的“Insert”標(biāo)識(shí)消失,此時(shí)輸入的字符將覆蓋光標(biāo)處的字符。4.編譯和連接選擇“Compile”選項(xiàng),按回車鍵出現(xiàn)下拉菜單,如圖1.6所示。
選擇“MakeEXEfile”選項(xiàng)對(duì)當(dāng)前編輯窗口的源程序文件進(jìn)行編譯并生成目標(biāo)文件(擴(kuò)展名為.OBJ),連接后生成可執(zhí)行文件(擴(kuò)展名為.EXE)。若發(fā)現(xiàn)語法錯(cuò)誤進(jìn)行修改。5.運(yùn)行按“Esc”鍵回到主菜單,選擇“Run”選項(xiàng)出現(xiàn)下拉菜單,在菜單中選擇“Run”命令項(xiàng),即可運(yùn)行已生成的可執(zhí)行文件。若發(fā)現(xiàn)結(jié)果不對(duì)就要重新修改源程序。程序運(yùn)行后,可在“Run”選項(xiàng)的下拉菜單中選擇“UserScreen”選項(xiàng)查看結(jié)果,如圖1.7所示。查看后按任意鍵返回編輯窗口。6.TurboC的退出在“File”選項(xiàng)的下拉菜單中,選擇“Quit”選項(xiàng),就可退出TurboC集成開發(fā)環(huán)境。
本章簡(jiǎn)要介紹了C語言的發(fā)展和特點(diǎn),并通過實(shí)例分析了C程序的格式、構(gòu)成和基本要求,最后介紹了C程序的上機(jī)步驟。需要掌握的知識(shí)點(diǎn)主要有:1.C語言是目前世界上使用最廣泛的幾種計(jì)算機(jī)語言之一,語言簡(jiǎn)潔緊湊,使用方便靈活,功能很強(qiáng)。掌握C語言程序設(shè)計(jì)是程序設(shè)計(jì)人員的一項(xiàng)基本功。2.一個(gè)C語言程序由一個(gè)或多個(gè)函數(shù)構(gòu)成,必須有一個(gè)main函數(shù)。程序從main函數(shù)開始執(zhí)行。3.函數(shù)由函數(shù)首部和函數(shù)體兩部分組成。在函數(shù)體內(nèi)可以包括若干個(gè)語句,語句以分號(hào)結(jié)束,一行內(nèi)可以寫幾個(gè)語句,一個(gè)語句也可以分寫為多行。1.5本章小結(jié)4.上機(jī)運(yùn)行一個(gè)C程序必須經(jīng)過四個(gè)步驟:編輯、編譯、連接和執(zhí)行。5.用C語言編寫好程序后,可以用不同的C編譯系統(tǒng)對(duì)它進(jìn)行編譯。目前所用的編譯系統(tǒng)多采用集成開發(fā)環(huán)境:把編輯、編譯、連接和執(zhí)行等步驟在一個(gè)集成環(huán)境中完成。第6章數(shù)組
2.1C語言的數(shù)據(jù)類型2.2常量與變量2.3整型數(shù)據(jù)2.4實(shí)型數(shù)據(jù)2.5字符型數(shù)據(jù)2.6變量賦初值2.7運(yùn)算符及表達(dá)式2.8本章小結(jié)第二章數(shù)據(jù)類型、運(yùn)算符和表達(dá)式關(guān)鍵字:常量與變量整型數(shù)據(jù)實(shí)型數(shù)據(jù)字符型數(shù)據(jù)運(yùn)算符和表達(dá)式
運(yùn)算符+-*/%++--=+=-=*=/=%=<<=>>=&=^=|=,在本章中,讀者將會(huì)了解到在進(jìn)行C程序設(shè)計(jì)之前必須掌握的一些基本知識(shí)。包括:C語言所支持的數(shù)據(jù)類型、數(shù)據(jù)的常量與變量之分、常用的運(yùn)算符以及相應(yīng)的表達(dá)式。這些知識(shí)是進(jìn)行C語言程序設(shè)計(jì)的基礎(chǔ)。
2.1C語言的數(shù)據(jù)類型
數(shù)據(jù)是程序設(shè)計(jì)中一個(gè)很重要的成分,是程序處理的對(duì)象。學(xué)習(xí)任何一種計(jì)算機(jī)語言,必須了解這種語言所支持的數(shù)據(jù)類型。在其后的程序設(shè)計(jì)時(shí),對(duì)于程序中的每一個(gè)數(shù)據(jù)都應(yīng)該確定其數(shù)據(jù)類型。對(duì)不同的問題,采用的數(shù)據(jù)類型應(yīng)不同。例如,在統(tǒng)計(jì)某個(gè)班級(jí)有多少學(xué)生時(shí)應(yīng)該用整型數(shù)據(jù),而不能使用帶小數(shù)的數(shù)據(jù)。C語言規(guī)定,程序中用到的任何一個(gè)數(shù)據(jù)都必須首先指定其數(shù)據(jù)類型。在C語言,數(shù)據(jù)類型可分為:基本類型,構(gòu)造類型,指針類型,空類型四大類。每個(gè)大類中又劃分出一些小類。具體分類如圖2.1所示。
圖2.1C語言中的數(shù)據(jù)類型分類2.2.1標(biāo)識(shí)符在C語言中,把用來標(biāo)識(shí)對(duì)象(包括變量、符號(hào)常量、函數(shù)、數(shù)組等)名字的有效字符稱為標(biāo)識(shí)符。一個(gè)標(biāo)識(shí)符的命名應(yīng)遵循以下規(guī)則:(1)只能由字母、數(shù)字和下劃線組成,且不能以數(shù)字開頭。如area、_above、m_1_1都是正確的,而a+b、13是不正確的。(2)長(zhǎng)度不能超過32個(gè)字符,多余的將不被識(shí)別。(3)大寫字母和小寫字母被視為兩個(gè)不同的字符。如zhang
、ZHANG被認(rèn)為兩個(gè)不同的標(biāo)識(shí)符。(4)C語言中的關(guān)鍵字不能用作標(biāo)識(shí)符名。
2.2常量與變量C語言中的關(guān)鍵字共有32個(gè),包括:autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedstaticsizeof
structswitchtypedefunionunsignedvoidvolatilewhile
2.2.2常量與符號(hào)常量
1.常量常量是指在程序的運(yùn)行過程中其值不能改變的量。例如:像32這樣出現(xiàn)在程序中的具體數(shù)字。它在程序運(yùn)行過程中的值始終是固定不變的。常量可以區(qū)分算術(shù)型常量和字符型常量。算術(shù)型常量就是常數(shù)。例如3,123,32。字符型常量,是用雙引號(hào)或單引號(hào)括起來的一串字符,例如'A',"hello,world","12345"之類的字符型常量。
2.符號(hào)常量符號(hào)常量是指用一個(gè)符號(hào)代表一個(gè)普通意義上的常量。主要用于程序中多次出現(xiàn)一些數(shù)據(jù)時(shí),為了提高程序的可讀性,給某個(gè)特定的數(shù)據(jù)賦予一個(gè)名字。符號(hào)常量一旦賦值,在程序的運(yùn)行過程中就不能再賦以新值。符號(hào)常量在使用之前必須先定義,其一般形式為:#define標(biāo)識(shí)符常量例如:#definePI3.14中的PI就是符號(hào)常量,在其后的程序中,代替的常量是3.14。習(xí)慣上,符號(hào)常量用大寫字母表示。
程序文本【2.1】符號(hào)常量的使用#include"stdio.h"#definePI3.14/*定義符號(hào)常量PI,其值為3.14*/main(){floatr;/*r圓的半徑*/floatarea;/*area圓的面積*/printf("Pleaseinputr:");scanf("%f",&r);/*輸入圓的半徑*/area=PI*r*r;/*計(jì)算圓的面積*/printf("area=%f",area);}結(jié)果是:Pleaseinputr:1area=3.1400002.2.3變量1.變量的概念變量是指在程序的運(yùn)行過程中其值可以改變的量。程序中使用的每個(gè)變量都用一個(gè)變量名作為標(biāo)識(shí),變量命名時(shí)應(yīng)遵循標(biāo)識(shí)符命名規(guī)則。習(xí)慣上,變量名用小寫字母表示。變量也有數(shù)據(jù)類型之分,常見的有整型變量、實(shí)型變量和字符型變量等。程序運(yùn)行時(shí),計(jì)算機(jī)按變量的類型分配一定的存儲(chǔ)空間,變量的值放在變量的存儲(chǔ)空間內(nèi),程序通過變量名引用變量值,實(shí)際上是通過變量名找到其內(nèi)存地址,從內(nèi)存地址中讀取數(shù)據(jù)。2.變量的定義C語言中的變量必須先定義再使用。定義變量時(shí)需要確定變量的數(shù)據(jù)類型和變量名。變量定義的一般形式為:類型標(biāo)識(shí)符變量名[,變量名2……];程序文本【2.2】變量的定義#include"stdio.h"main(){inta;/*指定a為整型變量*/a=1;/*賦值語句,將1賦給變量a*/printf("a=%d\n",a);}結(jié)果是:a=1其中,該程序中的inta;語句定義一個(gè)變量a,變量的數(shù)據(jù)類型為int,即整型數(shù)據(jù)。注意:(1)允許在一個(gè)類型標(biāo)識(shí)符后,定義多個(gè)相同類型的變量。各變量名之間用逗號(hào)間隔。類型標(biāo)識(shí)符與變量名之間至少用一個(gè)空格間隔。(2)最后一個(gè)變量名之后必須以“;”號(hào)結(jié)尾。(3)變量定義必須放在變量使用之前。一般放在函數(shù)體的開頭部分。
2.3.1整型常量整型常量是由一系列數(shù)學(xué)組成的常數(shù),不帶小數(shù)點(diǎn)。C語言中的整型常量可以用以下3種形式表示:1.十進(jìn)制的整型常量由正負(fù)號(hào)和數(shù)字0~9組成的整數(shù),如645,?56,0等。2.八進(jìn)制的整型常量由正負(fù)號(hào)和數(shù)字0~7組成的整數(shù),并且必須以0開頭。如034表示八進(jìn)制數(shù)34,它的十進(jìn)制值為28。3.十六進(jìn)制的整型常量由正負(fù)號(hào)、數(shù)字0~9和字符a~f組成的整數(shù),并且必須以0x開頭。其中的a、b、c、d、e、f分別表示十進(jìn)制中的10、11、12、13、14、15。如0xd表示十六進(jìn)制數(shù)d,它的十進(jìn)制值為13。2.3整型數(shù)據(jù)2.3.2整型變量整型變量可分為以下3種類型:(1)基本型,以int
表示。(2)短整型,以short或者shortint表示。(3)長(zhǎng)整型,以long或者longint表示。(4)無符號(hào)整型,以u(píng)nsigned表示。Unsigned可以加在int、short和long的前面,分別表示無符號(hào)整型、無符號(hào)短整型和無符號(hào)長(zhǎng)整型。各種整型變量數(shù)據(jù)的表示方法及所表示的范圍如表2.1所示。
表2.1整型變量數(shù)據(jù)的表示范圍類型標(biāo)識(shí)符簡(jiǎn)寫數(shù)的范圍字節(jié)數(shù)intint?32768~32767即?215~(215?1)2unsignedintunsignedint0~65535即0~(216?1)2short[int]short?32768~32767即?215~(215?1)2unsignedshort[int]unsignedshort0~65535即0~(216?1)2long[int]long?2147483648~2147483647即?231~(231?1)4unsignedlong[int]unsignedlong0~4294967295即0~(232?1)42.4.1實(shí)型常量實(shí)型常量是指實(shí)數(shù)的集合,又稱為浮點(diǎn)型。C語言中的實(shí)型常量可以用以下2種形式表示:1.十進(jìn)制小數(shù)形式十進(jìn)制小數(shù)形式類似于數(shù)學(xué)中的實(shí)數(shù)形式,由正負(fù)號(hào)、數(shù)字0~9和小數(shù)點(diǎn)組成,如:1.24、30.0、?2.001。注意,必須有小數(shù)點(diǎn),小數(shù)點(diǎn)是實(shí)數(shù)的標(biāo)志。2.指數(shù)形式指數(shù)形式類似于數(shù)學(xué)中的指數(shù)形式。由正負(fù)號(hào)、數(shù)字0~9、小數(shù)點(diǎn)和字母E(或e)組成,其一般形式為:aEn(a為十進(jìn)制數(shù),n為十進(jìn)制整數(shù))如:2.1E5、?2.8E?2。2.4實(shí)型數(shù)據(jù)2.4.2實(shí)型變量實(shí)型變量可分為以下3種類型:(1)單精度型,以float表示。(2)雙精度型,以double表示。(3)長(zhǎng)雙精度型,以longdouble表示。各種實(shí)型變量數(shù)據(jù)的表示方法及所表示的范圍如表2.2所示。
類型標(biāo)識(shí)符有效數(shù)字?jǐn)?shù)值范圍字節(jié)數(shù)float6~710?37~10384double15~1610?307~103088longdouble18~1910?4931~10493216
2.5.1字符常量1.字符常量字符常量是由一對(duì)單引號(hào)括起來的單個(gè)字符,如:'a'、'b'、'='、'+'。2.轉(zhuǎn)義字符C語言中存在一種特殊的字符常量,叫做轉(zhuǎn)義字符。轉(zhuǎn)義字符以反斜杠“\”開頭,后跟一個(gè)或幾個(gè)字符。轉(zhuǎn)義字符具有特定的含義,不同于字符原有的意義,故稱“轉(zhuǎn)義”字符。在程序中,轉(zhuǎn)義字符同樣要用一對(duì)單引號(hào)括起來。常用的轉(zhuǎn)義字符及其功能如表2.3所示。
2.5字符型數(shù)據(jù)表2.3轉(zhuǎn)義字符及其功能轉(zhuǎn)義字符功能\'單引號(hào)字符'\"雙引號(hào)字符"
\\ 反斜杠字符\\a響鈴\b退格\ddd三位八進(jìn)制數(shù)代表的字符\f換頁\n換行\(zhòng)r回車\t到下一個(gè)制表位\xhh二位十六進(jìn)制數(shù)代表的字符注意:如果單引號(hào)、雙引號(hào)或反斜杠本身作為字符常量時(shí)必須使用轉(zhuǎn)義字符“\'”、“\"”或“\\”。程序文本【2.3】轉(zhuǎn)義字符的使用#include"stdio.h"main(){printf("\n\t\b\b");printf("\\");printf("\n\101");}
結(jié)果是:
\A2.5.2字符變量字符變量以char表示,一個(gè)字符變量占用一個(gè)字節(jié)。字符變量用來存儲(chǔ)字符常量。將一個(gè)字符常量存儲(chǔ)到一個(gè)字符變量中,實(shí)際上是以ASCII碼的形式存儲(chǔ)到內(nèi)存單元中。如:字符'a'的ASCII碼值為97,字符'b'的ASCII碼值為98,如果將其分別放在字符變量c1和c2中,實(shí)際上是在c1和c2兩個(gè)內(nèi)存單元放97和98的二進(jìn)制代碼,如圖2.2所示。
字符數(shù)據(jù)在內(nèi)存中存儲(chǔ)的形式與整數(shù)相同,所以C語言允許字符數(shù)據(jù)與整型數(shù)據(jù)通用。也就是說,允許對(duì)整型變量賦以字符值,也允許對(duì)字符變量賦以0~255的整型值。在輸出時(shí),允許把字符變量按整型輸出,也允許把整型變量按字符型輸出。程序文本【2.4】字符變量的字符形式和整數(shù)形式輸出#include"stdio.h"main(){charc1,c2;c1='a';c2='b';
printf("%c,%c\n",c1,c2);
printf("%d,%d\n",c1,c2);}結(jié)果是:a,b97,98其中,變量的輸出形式取決于printf函數(shù)格式串中的格式字符,當(dāng)格式字符為“c”時(shí),對(duì)應(yīng)輸出的變量值為字符,當(dāng)格式字符為“d”時(shí),對(duì)應(yīng)輸出的變量值為整數(shù)。
2.5.3字符串常量字符串常量是由一對(duì)雙引號(hào)括起的字符序列。如:"CHINA"、"hello"、"12.5"。字符串常量和字符常量是不同的量,主要有以下區(qū)別:(1)字符常量由單引號(hào)括起來,字符串常量由雙引號(hào)括起來。(2)字符常量只能是單個(gè)字符,字符串常量則可以含一個(gè)或多個(gè)字符。(3)可以把一個(gè)字符常量賦予一個(gè)字符變量,但不能把一個(gè)字符串常量賦予一個(gè)字符變量。在C語言中沒有相應(yīng)的字符串變量??梢杂靡粋€(gè)字符數(shù)組來存放一個(gè)字符串常量。(4)字符常量占一個(gè)字節(jié)的內(nèi)存空間。字符串常量占的內(nèi)存字節(jié)數(shù)等于字符串中字節(jié)數(shù)加1。增加的一個(gè)字節(jié)中存放字符“\0”(ASCII碼為0)。這是字符串結(jié)束的標(biāo)志,是系統(tǒng)自動(dòng)加上的。如:字符串常量“hello”在內(nèi)存中的實(shí)際存儲(chǔ)為:實(shí)際占用了6字節(jié)的空間。
h
e
l
l
o
\02.6變量賦初值變量賦初值是指在定義變量的同時(shí)可以給變量進(jìn)行賦值,也稱為變量的初始化。變量賦初值的一般形式為:類型標(biāo)識(shí)符變量名=初值[,變量名2[=初值2]……];例如:inta=1;/*指定a為整型數(shù)據(jù),并將1賦給變量a*/相當(dāng)于:inta;/*指定a為整型數(shù)據(jù)*/a=1;/*賦值語句,將1賦給變量a*/也可以同時(shí)給幾個(gè)變量賦初值,例如:inta=1,b=2;2.7運(yùn)算符及表達(dá)式C語言中運(yùn)算符非常豐富,用運(yùn)算符和各種類型的數(shù)據(jù)組成的式子稱為表達(dá)式,可以實(shí)現(xiàn)各種運(yùn)算功能。C語言的運(yùn)算符不僅具有不同的優(yōu)先級(jí),而且還有一個(gè)特點(diǎn),就是它的結(jié)合性。在表達(dá)式中,各操作數(shù)參與運(yùn)算的先后順序不僅要遵守運(yùn)算符優(yōu)先級(jí)的規(guī)定,還要受運(yùn)算符結(jié)合性的制約,以便確定是自左向右進(jìn)行運(yùn)算還是自右向左進(jìn)行運(yùn)算。本章介紹基本運(yùn)算符,如表2.4所示運(yùn)算符含義優(yōu)先級(jí)結(jié)合性+?正值運(yùn)算符負(fù)值運(yùn)算符2自右至左++??自增運(yùn)算符自減運(yùn)算符2自右至左*/%乘法運(yùn)算符除法運(yùn)算符求余運(yùn)算符3自左至右+?加法運(yùn)算符減法運(yùn)算符4自左至右=+=?=*=/=%=<<=>>=&=^=|=賦值運(yùn)算符14自右至左,逗號(hào)運(yùn)算符15自左至右表2.4基本運(yùn)算符2.7.1算術(shù)運(yùn)算符及算術(shù)表達(dá)式1.算術(shù)運(yùn)算符C語言中基本的算術(shù)運(yùn)算符有5種:+、?、*、/、%。+:加法運(yùn)算符,或者正值運(yùn)算符,如2+3、+5。?:減法運(yùn)算符,或者負(fù)值運(yùn)算符,如5?1、?6。*:乘法運(yùn)算符,如4*6。/:除法運(yùn)算符,如6/3。注意:兩個(gè)整數(shù)相除,其商為整數(shù),小數(shù)部分被舍棄,如5/2=2,但是,如果兩個(gè)操作數(shù)中出現(xiàn)負(fù)數(shù),則舍去小數(shù)的方向不固定,如?5/2有的系統(tǒng)的結(jié)果為?2,有的系統(tǒng)的結(jié)果為?3;相除的數(shù)據(jù)中有實(shí)數(shù),其商為實(shí)數(shù)。%:求余運(yùn)算符,或稱為模運(yùn)算符,如5%3。該運(yùn)算符兩側(cè)的數(shù)據(jù)必須要求為整型數(shù)據(jù),運(yùn)算結(jié)果為整數(shù)相除的余數(shù)。2.算術(shù)表達(dá)式算術(shù)表達(dá)式是指用算術(shù)運(yùn)算符和操作數(shù)組成的式子。其中的操作數(shù)可以為常量、變量等。如2+3*c、7%4*(3+1)。其中,“()”為初等運(yùn)算符,在所有運(yùn)算符中的優(yōu)先級(jí)最高,為1級(jí)。2.7.2自增、自減運(yùn)算符及其表達(dá)式1.自增、自減運(yùn)算符++:自增運(yùn)算符,使單個(gè)變量的值增1。??:自減運(yùn)算符,使單個(gè)變量的值減1。自增、自減運(yùn)算符使用時(shí)可以前置,如++a、??a,也可以后置,如a++、a??。運(yùn)算符前置時(shí),表示先增減,后運(yùn)算。即先將變量的值增1或減1,然后再用變化后的值參加其它運(yùn)算。例如:inta=1,b;b=++a;執(zhí)行后,a的值為2,b的值為2。運(yùn)算符后置時(shí),表示先運(yùn)算,后增減。即變量先參加其它運(yùn)算,然后再將變量的值增1或減1。例如:inta=1,b;b=a++;執(zhí)行后,a的值為2,b的值為1。2.自增、自減表達(dá)式自增、自減表達(dá)式是指用自增、自減運(yùn)算符和操作數(shù)組成的式子。其中,自增、自減運(yùn)算符的操作數(shù)只能為變量,不能為常量或表達(dá)式。程序文本【2.5】自增、自減運(yùn)算符的運(yùn)算#include"stdio.h"main(){int
i,j;i=3;j=i++;printf("\nj=%d,i=%d",j,i);i=3;j=++i;printf("\nj=%d,i=%d",j,i);i=3;printf("\ni=%d",i++);printf("\ni=%d",++i);i=3;printf("\n%d,%d",i++,i++);printf("\n%d,%d",++i,++i);}結(jié)果是:j=3,i=4j=4,i=4i=3i=54,37,6
2.7.3賦值運(yùn)算符及賦值表達(dá)式1.賦值運(yùn)算符賦值運(yùn)算符,即“=”,它的作用是將一個(gè)表達(dá)式的值賦給一個(gè)變量。例如:a=2/*將常量2賦給變量a*/b=4*2/*將表達(dá)式4*2的值賦給變量b*/c=c+1/*將表達(dá)式c+1的值再賦給變量c*/注意:(1)被賦值的變量必須是單個(gè)變量,并且必須在賦值運(yùn)算符的左邊。(2)賦值運(yùn)算符“=”與數(shù)學(xué)中的等號(hào)不同。表達(dá)式c=c+1表示將變量c的值加1再賦給變量c。(3)當(dāng)表達(dá)式值的類型與被賦值變量的類型不一致,但都是數(shù)值型或字符型時(shí),系統(tǒng)自動(dòng)將表達(dá)式的值轉(zhuǎn)換成被賦值變量的數(shù)據(jù)類型,然后再賦值給變量。
2.復(fù)合賦值運(yùn)算符在賦值運(yùn)算符“=”之前加上其它二目運(yùn)算符可構(gòu)成復(fù)合賦值運(yùn)算符。C語言中有10種復(fù)合賦值運(yùn)算符:+=、?=、*=、/=、%=、<<=、>>=、&=、^=、|=。例如:a+=5/*將a+5的值賦給變量a,等價(jià)于a=a+5*/b*=4+3/*將b*(4+3)的值賦給變量b,等價(jià)于b=b*(4+3)*/采用復(fù)合賦值運(yùn)算符可以簡(jiǎn)化程序,提高編譯效率。3.賦值表達(dá)式賦值表達(dá)式是指用賦值運(yùn)算符和操作數(shù)組成的式子。賦值表達(dá)式的一般形式為:變量賦值運(yùn)算符表達(dá)式例如:a=2賦值表達(dá)式可以嵌套,并放在任何可以放置表達(dá)式的地方,例如:a=(b=6)其中b=6是一個(gè)賦值表達(dá)式,表示先將常量6賦給變量b。然后再將這個(gè)賦值表達(dá)式的值賦給變量a。任何一個(gè)表達(dá)式都有一個(gè)值,賦值表達(dá)式也不例外。被賦值變量的值就是賦值表達(dá)式的值。因此,b=6這個(gè)表達(dá)式的值為6。最后再將這個(gè)表達(dá)式的值6賦給變量a。
2.7.4逗號(hào)運(yùn)算符及逗號(hào)表達(dá)式1.逗號(hào)運(yùn)算符逗號(hào)運(yùn)算符,即“,”。也稱為順序求值運(yùn)算符。可以將多個(gè)表達(dá)式連接起來依次求值。2.逗號(hào)表達(dá)式逗號(hào)表達(dá)式是指用逗號(hào)運(yùn)算符和其它表達(dá)式組成的式子。逗號(hào)表達(dá)式的一般形式為:表達(dá)式1,表達(dá)式2,表達(dá)式3,……表達(dá)式n功能:先計(jì)算表達(dá)式1的值,再計(jì)算表達(dá)式2的值,依次計(jì)算,最后計(jì)算表達(dá)式n的值。最后一個(gè)表達(dá)式的值就是此逗號(hào)表達(dá)式的值。例如:a=4+5,a*4先計(jì)算a=4+5,得到a的值為9,然后計(jì)算a*4,得到36。整個(gè)逗號(hào)表達(dá)式的值為36。2.7.5不同類型數(shù)據(jù)間的混合運(yùn)算C語言中整型、實(shí)型和字符型數(shù)據(jù)可以混合運(yùn)算。這時(shí)需要數(shù)據(jù)從一種類型轉(zhuǎn)換成另一種類型,以適應(yīng)不同的數(shù)據(jù)類型間的運(yùn)算。類型轉(zhuǎn)換有自動(dòng)類型轉(zhuǎn)換和強(qiáng)制類型轉(zhuǎn)換兩種。1.自動(dòng)類型轉(zhuǎn)換當(dāng)一個(gè)運(yùn)算符兩側(cè)的操作數(shù)的數(shù)據(jù)類型不同時(shí),則系統(tǒng)按“先轉(zhuǎn)換、后運(yùn)算”的原則,首先將數(shù)據(jù)自動(dòng)轉(zhuǎn)換成同一類型,然后在同一類型數(shù)據(jù)間進(jìn)行運(yùn)算。數(shù)據(jù)間自動(dòng)類型轉(zhuǎn)換的具體規(guī)則如圖2.3所示。
圖中上、下兩個(gè)橫向向左箭頭表示必然轉(zhuǎn)換。也就是說,當(dāng)float型數(shù)據(jù)在運(yùn)算時(shí)一定要先轉(zhuǎn)換為double型數(shù)據(jù);char和short型數(shù)據(jù)在運(yùn)算時(shí)一定要先轉(zhuǎn)換為int型數(shù)據(jù)。圖中縱向向上箭頭表示不同類型數(shù)據(jù)運(yùn)算時(shí)轉(zhuǎn)換的方向,也就是說,按由低到高方向轉(zhuǎn)換為相同類型即可進(jìn)行運(yùn)算。例如,int型數(shù)據(jù)與long型數(shù)據(jù)進(jìn)行運(yùn)算時(shí),int型數(shù)據(jù)先轉(zhuǎn)換為long型數(shù)據(jù),然后運(yùn)算,結(jié)果為long型數(shù)據(jù)。注意,只要由低向高轉(zhuǎn)換為相同類型數(shù)據(jù)即可,不能理解為都必須要轉(zhuǎn)換為double型數(shù)據(jù)。程序文本【2.6】自動(dòng)類型轉(zhuǎn)換#include"stdio.h"main(){
inta=1,b=2;charc='a';floatd,f=2.7;d=(a+c)+b*f+c/b;printf("d=%f",d);}結(jié)果是:d=151.4000002.強(qiáng)制類型轉(zhuǎn)換強(qiáng)制類型轉(zhuǎn)換是利用強(qiáng)制類型轉(zhuǎn)換運(yùn)算符將表達(dá)式的類型轉(zhuǎn)換為所需類型。強(qiáng)制類型轉(zhuǎn)換的一般形式為:(類型標(biāo)識(shí)符)表達(dá)式強(qiáng)制類型轉(zhuǎn)換運(yùn)算符的優(yōu)先級(jí)為2級(jí)。例如:(int)a/*將a轉(zhuǎn)換為int型*/(char)(b+c)/*將(b+c)轉(zhuǎn)換為char型*/(double)d*e/*將d轉(zhuǎn)換為double型,再與e相乘,因?yàn)閺?qiáng)制類型轉(zhuǎn)換運(yùn)算符的優(yōu)先級(jí)高于乘法運(yùn)算符*/程序文本【2.7】強(qiáng)制類型轉(zhuǎn)換#include"stdio.h"main(){
int
a,b;floatf=5.35;a=(int)f;/*將f轉(zhuǎn)換為int型*/b=(int)(f+2);/*將f+2轉(zhuǎn)換為int型*/
printf("a=%d,b=%d,f=%f\n",a,b,f);}結(jié)果是:a=5,b=7,f=5.350000其中,f仍為float型,值仍等于5.35。
2.8本章小結(jié)本章重點(diǎn)介紹了基本數(shù)據(jù)類型的定義和使用方法,數(shù)據(jù)表現(xiàn)形式常量和變量的使用,以及常用運(yùn)算符和表達(dá)式的使用。需要掌握的知識(shí)點(diǎn)主要有:1.C語言的數(shù)據(jù)類型有基本類型、構(gòu)造類型、指針類型和空類型四類。本章重點(diǎn)掌握基本類型中的整型、實(shí)型和字符型。2.在程序中,數(shù)據(jù)的表現(xiàn)形式有常量和變量。常量是指在程序的運(yùn)行過程中其值不能改變的量。變量是指在程序的運(yùn)行過程中其值可以改變的量。3.變量必須先定義后使用。變量的類型由定義語句中的類型標(biāo)識(shí)符指定。變量由變量名和變量值兩個(gè)要素組成。在程序中,通過變量名來引用變量的值。4.標(biāo)識(shí)符用來標(biāo)識(shí)一個(gè)對(duì)象(包括變量、符號(hào)常量、函數(shù)、數(shù)組等),變量名必須符合C語言中標(biāo)識(shí)符的命名規(guī)則:只能由字母、數(shù)字和下劃線組成,且不能以數(shù)字開頭;大寫字母和小寫字母被視為兩個(gè)不同的字符;C語言中的關(guān)鍵字不能用作變量名。5.要區(qū)別字符和字符串。'a'是一個(gè)字符,"a"是一個(gè)字符串,它包括'a'和'\0'。兩個(gè)字符。一個(gè)字符型變量只能存放一個(gè)字符。6.C語言中運(yùn)算符非常豐富,用運(yùn)算符和各種類型的數(shù)據(jù)組成的式子稱為表達(dá)式,可以實(shí)現(xiàn)各種運(yùn)算功能。本章中學(xué)習(xí)了算術(shù)運(yùn)算符、自增自減運(yùn)算符、賦值運(yùn)算符和逗號(hào)運(yùn)算符。其中,自增自減運(yùn)算符是C語言的一個(gè)特色,可以使程序清晰、簡(jiǎn)練,但使用起來容易出錯(cuò)。7.在算術(shù)表達(dá)式中,允許不同類型的數(shù)值數(shù)據(jù)和字符數(shù)據(jù)進(jìn)行混合運(yùn)算。混合運(yùn)算時(shí),需要將不同類型的數(shù)據(jù)按照一定的規(guī)則轉(zhuǎn)換成相同類型再進(jìn)行運(yùn)算。同時(shí),還允許對(duì)一個(gè)類型的數(shù)據(jù)進(jìn)行強(qiáng)制類型轉(zhuǎn)換,轉(zhuǎn)換成另一個(gè)類型。
第6章數(shù)組
3.1C語句概述3.2程序的三種基本結(jié)構(gòu)3.3賦值語句3.4字符數(shù)據(jù)的輸入與輸出3.5格式的輸入與輸出3.6本章小結(jié)第三章順序程序設(shè)計(jì)關(guān)鍵字:順序結(jié)構(gòu)賦值語句輸入輸出函數(shù)
學(xué)習(xí)了前兩章的基礎(chǔ)知識(shí)后,在本章中可以編寫簡(jiǎn)單的C程序。本章首先簡(jiǎn)單介紹C程序的三種基本結(jié)構(gòu)。然后詳細(xì)學(xué)習(xí)最簡(jiǎn)單、最基本的C語句。并引導(dǎo)讀者編寫最簡(jiǎn)單的C語言程序,并為以后的深入學(xué)習(xí)打下初步的基礎(chǔ)。
3.1C語句概述一個(gè)C程序是由若干函數(shù)組成的,在一個(gè)函數(shù)的函數(shù)體中一般包括兩個(gè)部分:聲明部分和執(zhí)行部分。執(zhí)行部分是由語句組成的,程序的功能也是由執(zhí)行語句實(shí)現(xiàn)的;聲明部分的內(nèi)容不稱為語句,如“inta;”只是對(duì)變量的定義,不是一條C語句。C程序結(jié)構(gòu)如圖3.1所示,即一個(gè)C程序由若干個(gè)源程序文件組成,一個(gè)源文件由若干個(gè)函數(shù)和預(yù)處理命令以及全局變量聲明部分組成,一個(gè)函數(shù)由數(shù)據(jù)聲明部分和執(zhí)行部分組成。
圖3.1C程序結(jié)構(gòu)C語句可分為五類:控制語句、函數(shù)調(diào)用語句、表達(dá)式語句、復(fù)合語句和空語句。(1)控制語句控制語句用于完成一定的控制功能。C語言中有9種控制語句,分別是:if語句、switch語句、dowhile語句、while語句、for語句、break語句、goto語句、continue語句、return語句。(2)函數(shù)調(diào)用語句 函數(shù)調(diào)用語句由函數(shù)名、實(shí)際參數(shù)加上分號(hào)組成。函數(shù)調(diào)用的一般形式為:函數(shù)名(實(shí)際參數(shù)表);例如:printf("hello,world!");是一個(gè)函數(shù)調(diào)用語句,它的功能是調(diào)用格式輸出函數(shù)輸出字符串"hello,world!"。(3)表達(dá)式語句表達(dá)式語句由表達(dá)式加上分號(hào)組成。表達(dá)式語句的一般形式為:表達(dá)式;執(zhí)行表達(dá)式語句就是計(jì)算表達(dá)式的值。例如:
x=y+z;(4)復(fù)合語句把多個(gè)語句用大括號(hào){}括起來組成的一個(gè)語句稱復(fù)合語句。在程序中應(yīng)把復(fù)合語句看成是單條語句,而不是多條語句。例如:{a=b+c;x=y+z;printf("%d%d",a,x);}復(fù)合語句內(nèi)的各條語句都必須以分號(hào)“;”結(jié)尾,在大括號(hào)“}”外不能加分號(hào)。(5)空語句只有分號(hào)“;”組成的語句稱為空語句??照Z句是什么也不執(zhí)行的語句。在程序中空語句可用來作空循環(huán)體。一個(gè)程序包含一系列的執(zhí)行語句,每一個(gè)語句完成一個(gè)功能。在寫程序時(shí),要仔細(xì)考慮各語句的排列順序,程序中語句的順序不是任意書寫而無規(guī)律的。程序可以分為三種基本結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。這三種基本結(jié)構(gòu)可以組成所有的各種復(fù)雜程序。程序的三種基本結(jié)構(gòu)可以用流程圖來描述。流程圖是指用來表示各種操作的一些圖框,常用的流程圖符號(hào)如圖3.2所示。
3.2程序的三種基本結(jié)構(gòu)圖3.2流程圖常用符號(hào)1.順序結(jié)構(gòu)順序結(jié)構(gòu)程序中的語句按先后順序逐條執(zhí)行。如圖3.3所示,順序結(jié)構(gòu)中的A和B兩個(gè)框是順序執(zhí)行的,即在執(zhí)行完A框所指定的操作后,必然接著執(zhí)行B框所指定的操作。順序結(jié)構(gòu)是最簡(jiǎn)單的一種基本結(jié)構(gòu)。
2.選擇結(jié)構(gòu)選擇結(jié)構(gòu)又稱分支結(jié)構(gòu)或判斷結(jié)構(gòu)。它根據(jù)是否滿足給定的條件而從兩組操作中選擇一種操作。如圖3.4所示,選擇結(jié)構(gòu)中必然包含一個(gè)判斷條件p,根據(jù)給定的條件p是否成立而選擇執(zhí)行A組操作還是B組操作。p所代表的條件可以是“x<0”或“x>y”等。
3.循環(huán)結(jié)構(gòu)循環(huán)結(jié)構(gòu)又稱重復(fù)結(jié)構(gòu),即在一定條件下反復(fù)執(zhí)行某一部分的操作。如圖3.5所示,執(zhí)行過程中,當(dāng)給定的條件p成立時(shí),執(zhí)行A操作,執(zhí)行完A后,再判斷條件p是否成立,如果仍然成立,再執(zhí)行A,如此反復(fù)執(zhí)行A,直到某一次條件p不成立為止,此時(shí)不執(zhí)行A,脫離循環(huán)結(jié)構(gòu)。
在C程序中,賦值語句是用的最多的語句。賦值語句由賦值表達(dá)式加上一個(gè)分號(hào)構(gòu)成。賦值語句的一般形式為:變量賦值運(yùn)算符表達(dá)式;例如:i=2;a=b+4;注意:要區(qū)分開賦值表達(dá)式和賦值語句。賦值表達(dá)式的末尾沒有分號(hào),賦值語句的末尾必須有分號(hào)。另外,在一個(gè)表達(dá)式中可以包含一個(gè)或多個(gè)賦值表達(dá)式,但絕對(duì)不能包含賦值語句。如a=(b=6)中的b=6是一個(gè)賦值表達(dá)式,是正確的。而如果寫成a=(b=6;)是錯(cuò)誤的,將語句b=6;放到表達(dá)式中是絕對(duì)不允許的。3.3賦值語句輸入輸出是程序中最基本的一種操作,C語言中的輸入輸出不是以語句來實(shí)現(xiàn)的,而是由C函數(shù)庫中的函數(shù)來實(shí)現(xiàn)的。在使用庫函數(shù)時(shí),要用編譯預(yù)處理命令“#include”將有關(guān)的“頭文件”包含到用戶源程序中。例如,在使用標(biāo)準(zhǔn)輸入、輸出庫函數(shù)時(shí),要用到“stdio.h”文件,因此文件開頭應(yīng)使用下面的編譯預(yù)處理命令:#include"stdio.h"本節(jié)中先介紹最簡(jiǎn)單的輸入輸出,即只輸入輸出一個(gè)字符。C函數(shù)庫中提供了輸出一個(gè)字符的函數(shù)putchar和輸入一個(gè)字符的函數(shù)getchar。
3.4字符數(shù)據(jù)的輸入與輸出3.4.1putchar函數(shù)字符輸出函數(shù)putchar是向顯示器輸出一個(gè)字符。putchar函數(shù)的一般形式為:putchar(ch)其中,ch可以是字符常量、字符變量或轉(zhuǎn)義字符,也可以是整型常量、整型變量。因?yàn)?,在程序中字符?shù)據(jù)和整型數(shù)據(jù)是相通的,但注意整型數(shù)據(jù)應(yīng)在字符的ASCII碼值范圍內(nèi)。注意:putchar函數(shù)只能用于單個(gè)字符的輸出,且一次只能輸出一個(gè)。
程序文本【3.1】輸出字符#include"stdio.h"main(){chara,b,c;a='B';b='O';c='Y';
putchar(a);/*向顯示器輸出變量a*/putchar(b);/*向顯示器輸出變量b*/putchar(c);/*向顯示器輸出變量c*/putchar('\n');/*向顯示器輸出換行符*/putchar('a');/*向顯示器輸出常量a*/putchar('b');/*向顯示器輸出常量b*/}結(jié)果是:BOYab3.4.2getchar函數(shù)字符輸入函數(shù)getchar是用鍵盤輸入一個(gè)字符。getchar函數(shù)的一般形式為:getchar()getchar函數(shù)沒有參數(shù),函數(shù)的值就是從輸入設(shè)備得到的字符。注意:getchar函數(shù)只能接收一個(gè)字符,如果想輸入多個(gè)字符就要用多個(gè)getchar函數(shù)。
程序文本【3.2】輸入字符#include"stdio.h"main(){chara,b,c;a=getchar();/*用鍵盤輸入一個(gè)字符,送給變量a*/b=getchar();/*用鍵盤輸入一個(gè)字符,送給變量b*/c=getchar();/*用鍵盤輸入一個(gè)字符,送給變量c*/putchar(a);/*向顯示器輸出變量a*/putchar(b);/*向顯示器輸出變量b*/
putchar(c);/*向顯示器輸出變量c*/}結(jié)果是:BOY↙BOY3.5.1printf函數(shù)格式輸出函數(shù)printf是按照指定的格式,向顯示器輸出若干個(gè)任意類型的數(shù)據(jù)。printf函數(shù)的一般形式為:printf(格式控制,輸出列表)例如:printf("a=%d\n",a)3.5格式的輸入與輸出程序文本【3.3】輸出各種類型的數(shù)據(jù)#include"stdio.h"main(){inta=12,b=34;floatx=1.23456,y=-123.456;charc='a';longl=1234567;printf("%d%d\n",a,b);printf("%-3d%3d\n",a,b);printf("%8.2f,%8.2f,%.4f,%.4f\n",x,y,x,y);printf("%c,%d,%o,%x\n",c,c,c,c);printf("%ld,%lo,%x\n",l,l,l,l);printf("%s,%5.3s\n","CHINESE","CHINESE");}結(jié)果是:123412341.23,?123.46,1.2346,?123.4560a,97,141,611234567,4553207,d687CHINESE,CHI3.5.2scanf函數(shù)格式輸入函數(shù)scanf是接受從鍵盤輸入的數(shù)據(jù),按照指定的格式賦給變量。scanf函數(shù)的一般形式為:scanf(格式控制,地址列表)例如:scanf("%d",&a)“格式控制”的含義同printf函數(shù)。“地址列表”是由若干個(gè)地址組成的,可以是變量的地址,或者是數(shù)組的地址。變量的地址用變量名前面加取地址運(yùn)算符“&”表示,數(shù)組的地址用數(shù)組名表示。如上面函數(shù)中的“&a”,表示變量a在內(nèi)存中的地址。
程序文本【3.4】輸入各種類型的數(shù)據(jù)#include"stdio.h"main(){
int
a,b;
printf("input
a,b:\n");
scanf("%d%d",&a,&b);/*輸入a,b的值*/
printf("a=%d,b=%d",a,b);}結(jié)果是:inputa,b:34↙
a=3,b=4
本章簡(jiǎn)要介紹了C程序的三種基本結(jié)構(gòu),C語句的分類。并詳細(xì)介紹了其中的賦值語句。最后重點(diǎn)介紹了四個(gè)輸入輸出函數(shù)。需要掌握的知識(shí)點(diǎn)主要有:1.一個(gè)具有良好結(jié)構(gòu)的程序由三種基本結(jié)構(gòu)構(gòu)成:順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)。由這三種基本結(jié)構(gòu)組成的程序結(jié)構(gòu)合理,思路清晰,容易理解,便于維護(hù)。本章中介紹的賦值語句和輸入輸出語句是順序結(jié)構(gòu)中最基本的語句。2.C語句可分為五類:控制語句、函數(shù)調(diào)用語句、表達(dá)式語句、復(fù)合語句和空語句。3.賦值語句是由賦值表達(dá)式加一個(gè)分號(hào)組成的。C語言中的計(jì)算功能主要是由賦值語句來實(shí)現(xiàn)的。3.6本章小結(jié)4.在C程序中,數(shù)據(jù)的輸入輸出主要通過函數(shù)庫中的輸入輸出函數(shù)來實(shí)現(xiàn),其中包括:輸出一個(gè)字符的putchar函數(shù)、輸入一個(gè)字符的getchar函數(shù)、輸出各種類型數(shù)據(jù)的printf函數(shù)和輸入各種類型數(shù)據(jù)的scanf函數(shù)。5.printf函數(shù)和scanf函數(shù)中雙引號(hào)中的部分稱為格式控制。包括三種信息:普通字符、轉(zhuǎn)義字符和格式聲明。普通字符是需要原樣輸出輸入的字符。轉(zhuǎn)義字符用來實(shí)現(xiàn)指定的功能。格式聲明由“%”和格式字符組成,格式字符用來指定各種輸出輸入格式。第四章選擇結(jié)構(gòu)4.1關(guān)系運(yùn)算符及其表達(dá)式4.2邏輯運(yùn)算符及其表達(dá)式4.3if語句4.4switch語句4.5程序舉例4.6C語言趣味程序?qū)嵗?4.7本章小結(jié)關(guān)鍵字:if語句if語句嵌套switch語句
選擇結(jié)構(gòu)是一種應(yīng)用非常廣泛的程序控制結(jié)構(gòu),是計(jì)算機(jī)科學(xué)用來描述自然界和社會(huì)生活中分支現(xiàn)象的手段。其特點(diǎn)是:根據(jù)所給定選擇條件為真(即分支條件成立)與否,決定從各實(shí)際可能的不同操作分支中執(zhí)行某一分支的相應(yīng)操作,并且任何情況下恒有“無論分支多寡,必?fù)衿湟唬豢v然分支眾多,僅選其一”的特性。注意:在C語言中,“等于”關(guān)系運(yùn)算符是雙等號(hào)“==”,而不是單等號(hào)“=”(賦值運(yùn)算符)。4.1關(guān)系運(yùn)算符及其表達(dá)式
關(guān)系運(yùn)算是對(duì)兩個(gè)運(yùn)算對(duì)象進(jìn)行大小關(guān)系的比較運(yùn)算。C語言的關(guān)系運(yùn)算符共有6個(gè),>(大于)、>=(大于等于)、<(小于)、<=(小于等于)、==(等于)、!=(不等于)。
關(guān)系運(yùn)算符中>,>=,<,<=優(yōu)先級(jí)相同,高于相同級(jí)別的==,!=。運(yùn)算方向自左向右。由關(guān)系運(yùn)算符組成的表達(dá)式稱為關(guān)系表達(dá)式。關(guān)系表達(dá)式的一般形式為:表達(dá)式關(guān)系運(yùn)算符表達(dá)式例如:a>4
a+b<c-dx==y
關(guān)系表達(dá)式的值有“真”和“假”兩種,由于C語言中沒有邏輯型數(shù)據(jù),因此用“1”和“0”分別表示邏輯真和邏輯假。例如:
3>2的值為“真”,即為1。
5>4==2的值為“假”,即為0。
【程序文本4.1】關(guān)系表達(dá)式示例。#include“stdio.h”main(){
int
a,b,c,d,e;c=2;d=4;e=6;a=c>d;b=d<e;printf(“a=%d,b=%d”,a,b);}程序運(yùn)行結(jié)果:a=0,b=1
C語言中提供了三種邏輯運(yùn)算符,?。ㄟ壿嫹牵?&(邏輯與)、||(邏輯或)。邏輯非的優(yōu)先級(jí)別最高,邏輯與次之,邏輯或最低。運(yùn)算方向自左向右。邏輯運(yùn)算符與其他運(yùn)算符的優(yōu)先級(jí)從高到低依次是:邏輯非(?。⑺阈g(shù)運(yùn)算符、關(guān)系運(yùn)算符、邏輯與(&&)、邏輯或(||)、賦值運(yùn)算符。由邏輯運(yùn)算符組成的表達(dá)式稱為邏輯表達(dá)式。例如:!a
b&&c2||d邏輯表達(dá)式的值為1(結(jié)果為“真”時(shí))和0(結(jié)果為“假”時(shí))。
4.2邏輯運(yùn)算符及其表達(dá)式
注意:1.對(duì)于運(yùn)算對(duì)象,C語言規(guī)定,當(dāng)運(yùn)算對(duì)象為0時(shí),即判定其為假,當(dāng)運(yùn)算對(duì)象為非0的任何值時(shí),即判定其為真。例如:m=0,n=3,則m&&n等于0,m||n等于1。2.C語言規(guī)定:在由&&和||運(yùn)算符組成的邏輯表達(dá)式中,只對(duì)能夠確定整個(gè)表達(dá)式值所需要的最少數(shù)目的子表達(dá)式進(jìn)行計(jì)算。也就是說,當(dāng)計(jì)算出一個(gè)子表達(dá)式的值之后便可確定整個(gè)邏輯表達(dá)式的值時(shí),后面的子表達(dá)式就不需要再計(jì)算了,整個(gè)表達(dá)式的值就是該子表達(dá)式的值。例如:a=3,b=4,c=3,d=3則表達(dá)式(c=a>b)&&(d=b>a)是一個(gè)由&&組成的邏輯表達(dá)式,從左至右計(jì)算兩個(gè)子表達(dá)式,只要有一個(gè)為0,就不再計(jì)算其他子表達(dá)式。當(dāng)計(jì)算c的值為0時(shí),便可確定整個(gè)表達(dá)式的值為0,因此后面的子表達(dá)式就不再計(jì)算了。所以,結(jié)果c的值為0,d的值3。
【程序文本4.2】邏輯表達(dá)式示例。#include“stdio.h”main(){int
x,y,m,n;x=3;y=7;m=9;printf(“%d\n”,x+y>m&&x==y);printf(“%d\n”,x||y+m&&y-m);printf(“%d\n”,!(x+y)||m-1&&y+m/2);}
程序運(yùn)行結(jié)果:011
4.3if語句實(shí)現(xiàn)選擇結(jié)構(gòu)最常用的方法是采用if語句。它根據(jù)給定的條件進(jìn)行判斷(真或假),以決定執(zhí)行某個(gè)分支程序段。C語言提供了3種基本的if語句形式。4.3.1if語句的三種形式1.單分支結(jié)構(gòu)這是一種最簡(jiǎn)單的if形式,格式為:
if(表達(dá)式){
語句序列;
}執(zhí)行過程:如果表達(dá)式的值為真,則執(zhí)行其后的語句,否則跳過該if的語句,直接執(zhí)行下一條語句。
【程序文本4.1】輸入兩個(gè)實(shí)數(shù),按從小到大的順序輸出這兩個(gè)數(shù)。#include“stdio.h”main(){floatx,y,t;
printf(“請(qǐng)輸入兩個(gè)實(shí)數(shù)(x,y):”);scanf(“%f,%f”,&x,&y);if(x>y){t=x;x=y;y=t;}printf(“%5.2f,%5.2f”,x,y);}程序運(yùn)行結(jié)果:(運(yùn)行2次):請(qǐng)輸入兩個(gè)實(shí)數(shù)(x,y):32,45↙32.00,45.00請(qǐng)輸入兩個(gè)實(shí)數(shù)(x,y):45,32↙32.00,45.00從運(yùn)行結(jié)果可以看出,只有“x>y”為真時(shí)才執(zhí)行復(fù)合語句“{t=x;x=y;y=t;}”,當(dāng)程序只需實(shí)現(xiàn)單分支選擇時(shí),就可以使用這種形式的if語句來完成。
2.雙分支if…else語句這是一種使用比較頻繁的條件語句,格式為:if(表達(dá)式){語句序列1;
}else{語句序列2;
}執(zhí)行過程:如果表達(dá)式的值為“真”,則執(zhí)行語句1,否則執(zhí)行語句2。
【程序文本4.2】輸入一名學(xué)生的C語言成績(jī),判斷是否及格。#include“stdio.h”main(){intx;
printf(“請(qǐng)輸入一名學(xué)生的C語言成績(jī):\n”);
scanf(“%d”,&x);if(x>=60)printf(“及格\n”);
elseprintf(“不及格\n”);}
程序運(yùn)行結(jié)果:(運(yùn)行2次):請(qǐng)輸入一名學(xué)生的C語言成績(jī):89↙及格請(qǐng)輸入一名學(xué)生的C語言成績(jī):58↙不及格執(zhí)行本程序時(shí),當(dāng)輸入的成績(jī)大于等于60時(shí),執(zhí)行if后面的語句,輸出“及格”;當(dāng)輸入的成績(jī)小于60時(shí),執(zhí)行else后面的語句,輸出“不及格”。對(duì)于選擇結(jié)構(gòu)程序只能執(zhí)行if后面的語句或者else后面的語句,絕對(duì)不可能同時(shí)執(zhí)行兩個(gè)分支。3.多分支if…else…if語句這種多分支語句其實(shí)是固定在else分支下嵌套著另一個(gè)if…else語句,格式為:if(表達(dá)式1)
語句序列1;elseif(表達(dá)式2)語句序列2;
elseif(表達(dá)式3)語句序列3;
…elseif(表達(dá)式n)語句序列n;
else語句序列n+1;執(zhí)行過程:程序先判斷表達(dá)式1的值,當(dāng)其結(jié)果為“真”時(shí),則執(zhí)行語句1;否則判斷表達(dá)式2的值,當(dāng)其值為“真”時(shí),則執(zhí)行語句2;否則判斷表達(dá)式3的值,當(dāng)其值為“真”時(shí),則執(zhí)行語句3;否則接著進(jìn)行判斷,依此類推,直到找到結(jié)果為“真”的表達(dá)式,并執(zhí)行與之相關(guān)的語句。如果經(jīng)過判斷,所有的表達(dá)式都為“假”,那么就執(zhí)行最后一個(gè)else之后的語句。
【程序文本4.3】現(xiàn)有一分段函數(shù),輸入任意一個(gè)x值,輸出對(duì)應(yīng)的y值。y=x+3(x>3)x(x=3)x-3(x<3)#include“stdio.h”main(){int
x,y;
printf(“\n請(qǐng)輸入x的值:”);
scanf(“%d”,&x);if(x<3)y=x+3;elseif(x==3)y=x;elsey=x-3;printf(“x=%d,y=%d”,x,y);}
程序運(yùn)行情況如下(運(yùn)行3次):請(qǐng)輸入x的值:2↙x=2,y=5請(qǐng)輸入x的值:3↙x=3,y=3請(qǐng)輸入x的值:4↙x=4,y=1在應(yīng)用if-else-if多分支結(jié)構(gòu)時(shí),應(yīng)注意每個(gè)else是和其前面最近的if配對(duì)使用的。一般來講,中間的各個(gè)else不能省略,但最后一個(gè)else可以省略,這時(shí)表示當(dāng)所有的表達(dá)式的值都為假時(shí),執(zhí)行該選擇結(jié)構(gòu)下面的語句。
4.3.2if語句的嵌套if語句的嵌套是指在if語句中又含有了if語句的形式。可以嵌套在if子句中,也可以嵌套在else子句中,可以多層嵌套。其一般形式為:
if(表達(dá)式1)if(表達(dá)式2)語句序列1;
else語句序列2;
elseif(表達(dá)式3)語句序列3;
else語句序列4;
在if語句的嵌套結(jié)構(gòu)中并不需要對(duì)稱,可以根據(jù)實(shí)際情況上面格式中的一部分,并且可以進(jìn)行if語句的多重嵌套?!境绦蛭谋?.4】從鍵盤輸入3個(gè)數(shù),如果這3個(gè)數(shù)能構(gòu)成一個(gè)三角形,則輸入該三角形的形狀信息(等邊、等腰、任意三種情況)。#include“stdio.h”main(){floata,b,c;
printf(“\n請(qǐng)輸入a,b,c的值:”);
scanf(“%f,%f,%f”,&a,&b,&c);if(a>0&&b>0&&c>0&&a+b>c&&b+c>a&&a+c>b)
if(a==b&&b==c)
printf(“等邊三角形!\n”);else
if(a==b||b==c||a==c)
printf(“等腰三角形!\n”);elseprintf(“任意三角形!\n”);else
printf(“不能構(gòu)成三角形!\n”);}
程序運(yùn)行情況如下(運(yùn)行4次)請(qǐng)輸入a,b,c的值:6,6,6↙
等邊三角形!請(qǐng)輸入a,b,c的值:6,6,8↙
等腰三角形!請(qǐng)輸入a,b,c的值:6,7,8↙
任意三角形!請(qǐng)輸入a,b,c的值:2,3,6↙
不能構(gòu)成三角形!4.3.3條件運(yùn)算符條件運(yùn)算符“?:”是C語言中唯一的一個(gè)三目運(yùn)算符,要求3個(gè)運(yùn)算對(duì)象同時(shí)參加運(yùn)算。條件表達(dá)式的語法格式為:表達(dá)式1?表達(dá)式2:表達(dá)式3其運(yùn)算規(guī)則為:如果表達(dá)式1為“真”,則求解表達(dá)式2的值,并將其作為整個(gè)條件表達(dá)式的值;否則就求解表達(dá)式3的值,并將其作為整個(gè)條件表達(dá)式的值。例如:int
a,b,max;a=3;b=4;a>b?max=a:max=b;執(zhí)行時(shí)先判斷a和b的大小,a的值是3,b的值是4,“a>b”的值為“假”,執(zhí)行表達(dá)式“max=b”,所以最后max的值為4。通??梢杂们懊娼榻B的if語句來改寫,上例中的條件表達(dá)式可改寫為:
if(a>b)max=a;else
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 建筑電氣控制技術(shù)趙建偉83課件
- 黑龍江省伊春市紅星區(qū)2025年三下數(shù)學(xué)期末綜合測(cè)試模擬試題含解析
- 2024-2025學(xué)年四川省巴中市平昌縣四下數(shù)學(xué)期末聯(lián)考模擬試題含解析
- 湖南城市學(xué)院《企業(yè)競(jìng)爭(zhēng)情報(bào)》2023-2024學(xué)年第二學(xué)期期末試卷
- 湖南稅務(wù)高等專科學(xué)?!盾浖_發(fā)工具》2023-2024學(xué)年第二學(xué)期期末試卷
- 貴州護(hù)理職業(yè)技術(shù)學(xué)院《保險(xiǎn)學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 達(dá)州職業(yè)技術(shù)學(xué)院《空間信息高性能計(jì)算》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年西雙版納傣族自治州數(shù)學(xué)四年級(jí)第二學(xué)期期末考試模擬試題含解析
- 臨沂大學(xué)《新媒體營(yíng)銷與策劃》2023-2024學(xué)年第二學(xué)期期末試卷
- 蘭州交通大學(xué)《管學(xué)概論》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年湖南高速鐵路職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)傾向性測(cè)試題庫附答案
- 2025屆高考英語二輪復(fù)習(xí)備考策略課件
- 《高鐵乘務(wù)安全管理與應(yīng)急處置(第3版)》全套教學(xué)課件
- 歷年湖北省公務(wù)員筆試真題2024
- 學(xué)校食品安全長(zhǎng)效管理制度
- 2.2 說話要算數(shù) 第二課時(shí) 課件2024-2025學(xué)年四年級(jí)下冊(cè)道德與法治 統(tǒng)編版
- 《工程勘察設(shè)計(jì)收費(fèi)標(biāo)準(zhǔn)》(2002年修訂本)
- 潔凈室空調(diào)凈化系統(tǒng)驗(yàn)證方案(通過BSI和華光審核)
- 2024年電力交易員(中級(jí)工)職業(yè)鑒定理論考試題庫-下(多選、判斷題)
- 電力建設(shè)工程質(zhì)量監(jiān)督檢查大綱新版
- GB-T-15894-2008-化學(xué)試劑-石油醚
評(píng)論
0/150
提交評(píng)論