第1章:程序設(shè)計與VC語言簡介_第1頁
第1章:程序設(shè)計與VC語言簡介_第2頁
第1章:程序設(shè)計與VC語言簡介_第3頁
第1章:程序設(shè)計與VC語言簡介_第4頁
第1章:程序設(shè)計與VC語言簡介_第5頁
已閱讀5頁,還剩46頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

VC++實用教程

VisualC++UtilityCourse劉驚雷編著電子工業(yè)出版社2024/2/271課程內(nèi)容

本課程以操作系統(tǒng)的程序員接口為主線,介紹了VC程序的編制方法和原理。主要內(nèi)容分為三篇:VC控制臺程序設(shè)計與面向?qū)ο罄碚摚ㄖ饕帉懽址绞较碌某绦颍?;VC的兩種編程模式API編程和MFC編程(編寫具有圖形用戶界面的應(yīng)用程序);VC高級編程----基于組件的編程與應(yīng)用(編寫COM和DLL組件)。2024/2/272課程目標(biāo) 掌握利用VC編寫面向?qū)ο蟮目刂婆_程序、VC雙路開發(fā)具有圖形用戶界面的模式--API編程和MFC編程,了解基于組件的應(yīng)用程序的編制方法。在整個課程的學(xué)習(xí)中,要體會Windows操作系統(tǒng)的兩個接口(用戶接口和程序員接口)的使用,熟悉VC應(yīng)用程序?qū)τ嬎銠C(jī)軟硬件系統(tǒng)的控制,掌握一些常用的程序設(shè)計方法。2024/2/273VC簡介

VC(VisualC++的簡稱)是一種功能強(qiáng)大、使用靈活的程序設(shè)計語言,尤其是在使用操作系統(tǒng)所提供的服務(wù)與資源方面獨霸群雄,VC程序設(shè)計可以深入到計算機(jī)的方方面面,但“萬丈高樓平地起”,掌握程序設(shè)計有關(guān)的基礎(chǔ)理論與應(yīng)用是至關(guān)重要的。2024/2/274教材和參考書:1、教材:

VisualC++實用教程(劉驚雷編著,電子工業(yè)出版社,2005.3)2、參考書:劉驚雷、范輝等.VisualC++6.0程序設(shè)計簡明教程,高等教育出版社,2001.7劉路放等.VisualC++與面向?qū)ο蟪绦蛟O(shè)計教程.高等教育出版社,2002.4朱磊,周彬.Windows下的C/C++高級編程.人民郵電出版社,2003.32024/2/275考核方式:編寫一段應(yīng)用程(帶注釋)上機(jī)調(diào)試程序2024/2/276概述 VC(VisualC++的簡稱)是一種功能強(qiáng)大、使用靈活的程序設(shè)計語言,尤其是在使用操作系統(tǒng)所提供的服務(wù)與資源方面獨霸群雄,VC程序設(shè)計可以深入到計算機(jī)的方方面面,但“萬丈高樓平地起”,掌握程序設(shè)計有關(guān)的一些基礎(chǔ)理論與應(yīng)用是至關(guān)重要的。本篇為VC控制臺程序與面向?qū)ο罄碚摚荚跒樽x者順利進(jìn)入VC開發(fā)領(lǐng)域打下堅實的基礎(chǔ)。2024/2/277

1.1程序設(shè)計與程序設(shè)計語言

1.2程序設(shè)計方法的演變

1.3VC語言概述

習(xí)題

本章內(nèi)容主要包括程序設(shè)計的四個層次,四種程序設(shè)計方法的概念,簡單的具有輸入輸出功能的控制臺程序的設(shè)計,VC集成開發(fā)環(huán)境的特點.要求了解面向?qū)ο蟮某绦蛟O(shè)計和基于組件的程序設(shè)計的特點,掌握結(jié)構(gòu)化程序設(shè)計的特點及應(yīng)用、輸入輸出流在控制臺程序中的應(yīng)用,熟悉單文件控制臺應(yīng)用程序的編寫過程,熟練掌握程序設(shè)計四個層次的含義及每個層次的重要性。

第1章程序設(shè)計與VC語言簡介2024/2/278

概述

1.1.1程序設(shè)計

1.1.2程序設(shè)計技術(shù)的四個層次

1.1.3算法與程序

1.1.4程序設(shè)計方法學(xué)基礎(chǔ)

1.1.5程序設(shè)計語言

1.1.6程序設(shè)計的重要性概念1.1程序設(shè)計與程序設(shè)計語言2024/2/279

在計算機(jī)技術(shù)發(fā)展的歷史長河中,有兩個人是需要我們記憶的,一個是圖靈,另一個是比爾、蓋茨。圖靈用數(shù)學(xué)的概念形式地對計算的本質(zhì)做了解釋;比爾、蓋茨連續(xù)幾年都為全球首富,這“地球人全知道了”,是他帶領(lǐng)Microsoft公司,從事于計算機(jī)的靈魂——軟件的開發(fā)。本書的目的,就是帶領(lǐng)廣大讀者熟悉其軟件開發(fā)的旗艦產(chǎn)品——VisualC++,通過它開始我們的程序設(shè)計,開始對計算機(jī)系統(tǒng)的認(rèn)識過程。概述2024/2/27101.1.1 程序設(shè)計程序設(shè)計的概念:是采用某種編程語言,為了解決某個特定領(lǐng)域的問題,而使用某種設(shè)計方法編寫計算機(jī)程序的活動。如果把小說比作程序的話,小說創(chuàng)作就是程序設(shè)計。只不過小說是表達(dá)人的思想,進(jìn)而控制人的活動的一種代碼,而計算機(jī)程序是表達(dá)機(jī)器的思想,進(jìn)而控制機(jī)器活動的一種代碼,當(dāng)然這種代碼也是和人相通的。程序設(shè)計的特征:程序設(shè)計必須采用某種語言;對領(lǐng)域的依賴性;采用某種設(shè)計方法進(jìn)行。

2024/2/27111.1.2 程序設(shè)計技術(shù)四個層次算法設(shè)計與分析程序設(shè)計語言程序設(shè)計方法學(xué)程序設(shè)計環(huán)境與工具2024/2/27121.1.3 算法與程序算法的概念:利用計算機(jī)解決問題的步驟。著名的計算機(jī)科學(xué)家沃思說“程序=數(shù)據(jù)結(jié)構(gòu)+算法”,算法在程序設(shè)計中的作用可窺見一斑。如果把做菜的原料比做數(shù)據(jù),你做出的菜比做設(shè)計的程序,那么烹飪的方法就是算法。程序:用某種語言為工具編制出來的動作序列,它是人類思想的一個載體。計算機(jī)程序是用計算機(jī)程序設(shè)計語言所要求的規(guī)范書寫出來的一系列動作,它表達(dá)了程序員要求計算機(jī)進(jìn)行的操作,該操作的結(jié)果是為人類服務(wù)的某種表示形式。2024/2/2713程序的特征:程序的靜態(tài)與動態(tài)屬性;程序是程序語言抽象的符號表示;程序是對數(shù)據(jù)實施算法的過程;程序是分層嵌套的。2024/2/2714算法在程序設(shè)計中的重要性:

算法具有時間上的穩(wěn)定性;語言是用工具編制出來的動作序列,算法的理解、設(shè)計和分析都需要掌握扎實的基礎(chǔ)理論知識。包括算法的復(fù)雜性理論,各種常用的求解方法如遞歸法、貪心法等;程序開發(fā)的后期,界面的設(shè)計不再是主要的問題,而數(shù)據(jù)結(jié)構(gòu)和算法的設(shè)計卻變得愈加重要。2024/2/27151.1.4 程序設(shè)計方法學(xué)

上個世紀(jì)60年代后期,許多軟件項目的開發(fā)周期與開發(fā)成本超出預(yù)算,而生產(chǎn)出來的軟件產(chǎn)品卻可靠性差、可重用性差、可維護(hù)性差,這反映了整個軟件行業(yè)的生產(chǎn)效率低下,這就是人們常說的軟件危機(jī)。程序設(shè)計方法學(xué)是指在程序設(shè)計過程中應(yīng)遵循的一些原理和方法。程序設(shè)計中最關(guān)心的是程序的效率和程序的可靠性。

程序的可靠性包括兩個方面:程序的正確性。指程序的實現(xiàn)是否滿足了需求,程序的正確性的證明在程序設(shè)計方法學(xué)課程中來研究;程序的健壯性,指程序異常情況下工作的能力。

2024/2/2716

程序設(shè)計方法學(xué)主要研究:

抽象數(shù)據(jù)類型理論、程序的控制結(jié)構(gòu)程序的正確性證明、程序變換技術(shù)結(jié)構(gòu)化程序設(shè)計(如C語言)與面向?qū)ο蟮某绦蛟O(shè)計(C++)范型等。

程序設(shè)計方法是獨立于具體程序設(shè)計語言的技術(shù)

程序設(shè)計方法與程序設(shè)計語言是相輔相成的。采用某種程序設(shè)計方法編寫程序需要相應(yīng)程序設(shè)計語言作為工具程序設(shè)計語言的設(shè)計是為了支持某種程序設(shè)計方法。2024/2/27171.1.5程序設(shè)計語言程序設(shè)計語言:是一種適合于計算機(jī)和人們閱讀方式的描述計算的符號系統(tǒng)。注:“高級語言程序設(shè)計”強(qiáng)調(diào)的是利用某種高級語言進(jìn)行程序設(shè)計的過程,而“高級程序設(shè)計語言”強(qiáng)調(diào)的是對高級程序設(shè)計語言的理解和應(yīng)用。與程序設(shè)計語言有關(guān)系的三類人員程序設(shè)計語言的開發(fā)者程序設(shè)計語言的實現(xiàn)者程序設(shè)計語言的使用者。

2024/2/27181.1.6*程序設(shè)計的重要性概念 程序設(shè)計的重要性,可從以下幾個方面來理解:程序設(shè)計是計算機(jī)類學(xué)生畢業(yè)走向工作崗位的一項基本技能。程序設(shè)計是非計算機(jī)學(xué)生跨入計算機(jī)領(lǐng)域的一個實踐之路。程序設(shè)計的四個層次決定了程序設(shè)計是一項全面技能的培養(yǎng)。2024/2/27191.2程序設(shè)計方法的演變概念

概述

1.2.1結(jié)構(gòu)化程序設(shè)計概念

1.2.2面向?qū)ο蟪绦蛟O(shè)計

1.2.3基于組件的程序設(shè)計

1.2.4*面向Agent程序設(shè)計2024/2/2720

20世紀(jì)60年代以后,計算機(jī)硬件技術(shù)的迅速發(fā)展,導(dǎo)致其速度與存儲容量不斷提高,成本急劇下降。加之程序規(guī)模越來越大,許多程序的開發(fā)不再是僅靠個人的技藝,而需要團(tuán)隊的共同努力才可能完成。而舊的程序設(shè)計方法很少考慮團(tuán)隊各成員之間交流協(xié)作的需要,因此,為了實現(xiàn)程序的可靠性、可重用性和可理解性等因素,誕生了很多程序設(shè)計方法。本節(jié)闡述程序設(shè)計發(fā)展史的四種程序設(shè)計方法。概述2024/2/27211.2.1結(jié)構(gòu)化程序設(shè)計結(jié)構(gòu)化程序設(shè)計的核心思想:(1)程序?qū)嶓w主要由算法和數(shù)據(jù)結(jié)構(gòu)組成;(2)其分析與設(shè)計方法采用的是“自頂向下,逐步求精”的程序設(shè)計方法;(3)在程序流程控制結(jié)構(gòu)上遵循“單入口單出口”的理念;(4)任何程序的結(jié)構(gòu)都是由順序、選擇與循環(huán)來完成的,取消Goto語句的使用。2024/2/2722例子【例1-1】打印自然數(shù)中前n個素數(shù)。程序的主文件是PrintPrim.cpp。

分析:

存放n個素數(shù)的數(shù)據(jù)結(jié)構(gòu):用一維數(shù)組判斷素數(shù)算法:根據(jù)素數(shù)的定義,x是素數(shù),當(dāng)且僅當(dāng)x只能被1和自身x整除,因此,要確定x是不是素數(shù),只要檢查x能不能被不超過sqrt(x)的數(shù)整除即可。劃分模塊,逐步求精:打印自然數(shù)中前n個素數(shù)的任務(wù)劃分為:判斷x是否素數(shù)、找前n個素數(shù)、打印前n個素數(shù)三部分,以函數(shù)抽象之。程序?qū)崿F(xiàn)2024/2/2723#include"stdio.h"#include"math.h"#defineMaxLen10000bool

IsPrim(intx)//判斷x是否素數(shù){ for(inti=2;i<=sqrt(x);i++) if(x%i==0) returnfalse; returntrue;}voidFindPrims(int

a[],intn)//找前n個素數(shù)存于數(shù)組a中{

intx=1; a[0]=2;//第一個素數(shù)是2,不用求

inti=1;//數(shù)組的下標(biāo)位置

while(i<n) { x=x+2;//素數(shù)除了2外,只能是奇數(shù),從3搜尋

if(IsPrim(x)) { a[i]=x;//將素數(shù)x放到數(shù)組a的第i個位置處

i++;//下個位置增1 } }}2024/2/2724voidPrintPrims(int

a[],intn){

FindPrims(a,n);//找前n個素數(shù)存于數(shù)組a中

for(inti=0;i<n;i++)//打印數(shù)組a中存放的n個素數(shù)

printf("%8d",a[i]);

printf("\n");}voidmain(){

int

a[MaxLen];//a存放素數(shù)

intn;//打印的素數(shù)的個數(shù)

printf("PleaseInputnNumberToA");

scanf("%d",&n);

PrintPrims(a,n);//打印a數(shù)組中的前n個素數(shù)}2024/2/2725以結(jié)構(gòu)化程序設(shè)計的觀點看,程序主要包括數(shù)據(jù)結(jié)構(gòu)與算法,并且兩者是分離的。但將函數(shù)與其操作的數(shù)據(jù)分裂開來,導(dǎo)致了程序維護(hù)的困難。面向?qū)ο蟮木幊谭椒ò岩粋€比較復(fù)雜的問題分解成一個個能夠完成獨立功能的對象,把這些對象組合起來去完成一個復(fù)雜的功能。這就像計算機(jī)公司一樣,用許多計算機(jī)的部件(比如機(jī)箱、內(nèi)存、硬盤、顯示器等)去組裝一臺計算機(jī),各個零部件都能完成自己的功能,計算機(jī)公司員工所做的工作只是依照一定的方式把它們組合起來。1.2.2 面向?qū)ο蟪绦蛟O(shè)計2024/2/2726

面向?qū)ο蟮某绦蛟O(shè)計方法是將反映事物的屬性與操縱該屬性的方法組裝成一體,形成一個實體對象。

屬性是指某對象的屬性,方法是指某對象的方法,比如說輪子的個數(shù)是一個屬性,但必須搞清是什么對象的屬性,因為汽車和自行車都有輪子;同樣,當(dāng)我們說加速這個方法時,必須搞清是什么對象的方法,因為汽車和自行車都有加速的方法,但其加速的原理是不一樣的,即該方法的實現(xiàn)在不同的對象中的代碼是不一樣的。相同類型的對象構(gòu)成一個類,對象是類的一個實例,類是構(gòu)成面向?qū)ο蟪绦蛟O(shè)計的基石。

客觀世界的問題是由實體及其相互間的關(guān)系構(gòu)成的,采用面向?qū)ο蟮姆椒ㄊ前堰@些實體映射為對象,各對象既是一個獨立的實體,又可通過消息(即讓對象以某種進(jìn)行操作的請求)相互作用。

2024/2/27271.2.3 基于組件的程序設(shè)計基于組件的程序設(shè)計可以說是面向?qū)ο蟪绦蛟O(shè)計的延伸,兩者并不矛盾,可以說基于組件程序設(shè)計也采用了面向?qū)ο蟮募夹g(shù),只不過在面向?qū)ο蟪绦蛟O(shè)計中,我們往往強(qiáng)調(diào)的是在同一個程序語言的開發(fā)環(huán)境下進(jìn)行設(shè)計。面向?qū)ο蟪绦蛟O(shè)計的基石是類與對象,這些類可以在一個開發(fā)環(huán)境下重用,例如VC中的MFC類庫就只能在VC的環(huán)境下使用,C++Builder的VCL庫也主要在Borland的產(chǎn)品中進(jìn)行重用;而在基于組件的程序設(shè)計中,程序設(shè)計的基石是組件,它是粒度更大的對象,其作用主要在于跨平臺與開發(fā)語言中使用。當(dāng)前的組件技術(shù)主要有CORBA與COM。在最后一篇中,我們就要利用VC來開發(fā)一個跨平臺的COM組件。

2024/2/2728組件:是指系統(tǒng)中明確辨識的構(gòu)成部分,是可以被復(fù)用的軟件實體。它由組件規(guī)約和組件實現(xiàn)兩部分組成,其中組件規(guī)約主要由組件模型來進(jìn)行描述。

組件模型:是指對組件本質(zhì)特征的抽象描述,當(dāng)前組件的設(shè)計采用的模型主要有CORBA和COM,這些組件模型將組件的接口與實現(xiàn)進(jìn)行了有效地分離,提高了組件交互能力,從而增加了復(fù)用的機(jī)會,并適應(yīng)了目前網(wǎng)絡(luò)環(huán)境下大型分布式系統(tǒng)的需要。采用組件來設(shè)計程序的好處:(1)跨平臺、跨語言的支持。(2)位置透明性。(3)可伸縮性。(4)可復(fù)用性。

2024/2/2729基于組件的程序設(shè)計中還有一個很重要的概念——架構(gòu)。架構(gòu)是整個或部分系統(tǒng)的可重用設(shè)計,表現(xiàn)為一組抽象組件及組件實例間交互的方法;另一種定義為,架構(gòu)是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。前者是從應(yīng)用方面而后者是從目的方面給出的定義。

架構(gòu)的最大好處就是復(fù)用,面向?qū)ο笙到y(tǒng)最大復(fù)用方式就是程序架構(gòu)的復(fù)用。

架構(gòu)提供了可復(fù)用的抽象算法及高層設(shè)計,并能將大的系統(tǒng)分解成更小,而且能夠描述組件間的內(nèi)部接口,這些標(biāo)準(zhǔn)接口使得在已有的組件基礎(chǔ)上通過組裝建立各種各樣的系統(tǒng)成為可能。

2024/2/2730*1.2.4 面向Agent程序設(shè)計在面向代理的時代,程序是由多個具有獨立功能的Agent組成,程序設(shè)計的關(guān)鍵是設(shè)計每一個具有智能行為的Agent實體。Agent是一個被密封了的計算機(jī)系統(tǒng),我們可以從以下四個方面加以理解:(1)一個Agent是一個完整的計算機(jī)實體,它內(nèi)部包含了實現(xiàn)其目標(biāo)所必需的各種子系統(tǒng)和子系統(tǒng)間相互作用的接口;(2)它能夠感知自己當(dāng)前所處的環(huán)境和環(huán)境狀態(tài)的變化,并能夠?qū)Νh(huán)境的變化智能地做出自己的行動;(3)每個Agent都有自己特定的能夠?qū)崿F(xiàn)的目標(biāo);(4)每個Agent是一個自治體,它既能控制其內(nèi)部的狀態(tài)又能控制自己的行為。2024/2/2731面向Agent的程序設(shè)計的四個步驟:(1)分解大系統(tǒng)。

(2)提取Agent。(3)建立模型與軟件實現(xiàn)。

(4)組裝。2024/2/27321.3 VC語言概述

1.3.1C、C++和VC語言的關(guān)系

1.3.2VC控制臺程序介紹

1.3.3一個VC單文件應(yīng)用程序的實現(xiàn)

1.3.4標(biāo)準(zhǔn)設(shè)備的輸入與輸出語句

1.3.5VC控制臺程序基本結(jié)構(gòu)與特點

1.3.6*

VC6.0集成開發(fā)環(huán)境

2024/2/2733C語言是一種典型的結(jié)構(gòu)化程序設(shè)計語言,數(shù)據(jù)和對數(shù)據(jù)的操作在C語言下是分離的,這導(dǎo)致了在大規(guī)模軟件開發(fā)中,對程序結(jié)構(gòu)的復(fù)雜性難以控制,開發(fā)出的代碼復(fù)用程度較低。

C++語言和C是兼容的,C語言是C++語言的一個子集。C中的關(guān)鍵字、語法、函數(shù)、表達(dá)式等在C++里都完全適用。

C++是一種程序設(shè)計語言,VC和BCB采用的都是基于C++語言的編程工具。1.3.1 C、C++和VC語言的關(guān)系2024/2/27341.3.2 VC控制臺程序介紹控制臺程序:是管理基于字符(文本)界面的輸入與輸出;在字符界面的應(yīng)用程序中,沒有提供基于圖形用戶界面接口的Windows程序的界面函數(shù)庫。輸入緩沖區(qū):輸入緩沖區(qū)放的是輸入事件(如鍵盤和鼠標(biāo))的記錄;屏幕輸出緩沖區(qū)是一個二維數(shù)組,存放輸出到控制臺窗口的字符信息和顏色信息。2024/2/27351.3.3 一個VC單文件應(yīng)用

程序的實現(xiàn)

【例1-2】實現(xiàn)簡單文本輸出的單文件控制臺程序?qū)嵗T摮绦虻闹魑募荢ingleFile.cpp。1.編輯

單擊VisualStudio主菜單欄中的File菜單項下的New,則彈出一個新建程序?qū)υ捒颍谠搶υ捒蛑杏兴膫€選項卡,選擇Files選項卡,彈出的對話框中列出了13個選項。選中C++SourceFile列表項,并在右邊的File編輯框中輸入新建的單文件C++文件名稱SingleFile,同時在Location編輯框中指定一個存放文件的目錄

。2024/2/2736程序源代碼:#include<iostream.h>voidmain(){

cout<<“這是一個簡單的單文件VisuallC++程序!\n";cout<<“歡迎進(jìn)入VC程序開發(fā)的世界!您的基礎(chǔ)知識準(zhǔn)備好了嗎?"<<endl;}輸入完后,按CTRL+S熱鍵進(jìn)行保存。2024/2/2737圖1.1單文件建立窗口2024/2/2738

2.編譯和鏈接

3.運(yùn)行

源代碼經(jīng)過編譯鏈接后就生成了可執(zhí)行文件,通過單擊Build|ExecuteSingle.exe選項,生成的可執(zhí)行文件將被運(yùn)行,按任意鍵,則返回到VC的主窗口。

單擊VisualStudio主菜單欄中的Build菜單項下的CompileSingle.cpp,則彈出一個如圖1.2所示的詢問是否建立一個激活的工作區(qū)文件對話框,在該對話框中選擇“是”按鈕后,VC編譯器將對該源代碼進(jìn)行編譯。單擊Build|BuildSingle.exe選項,將對編譯好的程序進(jìn)行鏈接。如果該程序尚未編譯,則會先對其編譯之,而后進(jìn)行鏈接。2024/2/2739圖1.2詢問是否建立一個缺省的工作區(qū)對話框

圖1.3程序輸出的控制臺窗口

2024/2/27401.3.4 標(biāo)準(zhǔn)設(shè)備的輸入與

輸出語句

VC控制臺應(yīng)用程序中,不僅可以使用標(biāo)準(zhǔn)C語言函數(shù)庫stdio.h中提供的輸入函數(shù)scanf()和輸出函數(shù)printf()外,還可以使用標(biāo)準(zhǔn)輸入流cin和輸出流cout,它們的定義是在輸入輸出流式頭文件iostream.h中,在使用這兩個流設(shè)備時,必須在編譯預(yù)處理中包含它們。在C++中,將數(shù)據(jù)從一個對象到另一個對象的流動抽象為“流”。流在使用前建立,使用后被刪除。從流中獲取數(shù)據(jù)的過程稱為提取操作,向流中添加數(shù)據(jù)的操作稱為插入操作。2024/2/27411.鍵盤輸入

鍵盤輸入的作用是讀取用戶輸入的字符串,按相應(yīng)變量的類型轉(zhuǎn)換為二進(jìn)制代碼寫入內(nèi)存。其格式為:

cin>>變量1>>變量2>>變量3……>>變量n;

其中cin是預(yù)定義的輸入流對象,代表鍵盤。>>為輸入流對象的提取操作符,它作用于cin上可以實現(xiàn)從標(biāo)準(zhǔn)輸入設(shè)備——鍵盤上輸入數(shù)據(jù)。輸入流cin通過>>從鍵盤上提取用戶的輸入,然后將這些值送到其后的變量中。2024/2/2742例如:

intx,y;

cin>>x>>y;

當(dāng)程序執(zhí)行時,用戶從鍵盤上輸入16和28(用空格或回車分隔)時,cin的提取操作>>就把從鍵盤上所獲取的字符串“16”和“28”,轉(zhuǎn)化成整型數(shù)據(jù)存入變量x與y中。2.屏幕輸出

屏幕輸出作用是從內(nèi)存中讀取數(shù)據(jù)項,對相應(yīng)的表達(dá)式求值后,轉(zhuǎn)換為相應(yīng)的字符串顯示到屏幕上,其格式為:

cout<<表達(dá)式1<<表達(dá)式2<<表達(dá)式3…<<表達(dá)式n;2024/2/2743

其中cout是預(yù)定義的輸出流對象,代表顯示器。<<為輸出流對象的插入操作符,它作用于cout上可以將數(shù)據(jù)輸出到標(biāo)準(zhǔn)輸出設(shè)備——顯示器上。各個表達(dá)式是輸出項,cout的插入操作符首先對各輸出項的表達(dá)式求值,然后轉(zhuǎn)換成字符串形式輸出。例如:

intx=66,y=88;

cout<<x<<“\n”<<y+1<<endl;

當(dāng)程序執(zhí)行時,程序計算出x的值是66,把它轉(zhuǎn)換成字符串輸出到屏幕上,緊接著輸出字符“\n”(換行字符)、表達(dá)式y(tǒng)+1的值89。endl的作用與“\n”一樣,都是換行符。2024/2/27443.輸出格式控制符

C++中的輸出中,可以包含各種各樣的格式控制符號,例如上面所見到的換行符endl與“\n”,還有制表符“\t”等。表1.1列出了常用的格式控制符及其功能。在使用它們時,要在程序的開頭添加#include<iomanip.h>。格式控制符功能endl輸出一個新行,并清空輸出緩沖區(qū)setfill(charc)設(shè)置填充字符cdec/oct/hex用十進(jìn)制/八進(jìn)制/十六進(jìn)制表示輸入或輸出數(shù)值setw設(shè)置輸出寬度setprecision(intn)設(shè)置浮點數(shù)輸出精度(包括小數(shù))表1.1常用輸出格式控制符2024/2/27451.3.5 VC控制臺程序基本

結(jié)構(gòu)與特點

VC語言設(shè)計的控制臺程序和C語言編寫DOS下的程序很相似,不同之處在于,VC語言設(shè)計的控制臺程序中出現(xiàn)了類和對象,以及由類和對象帶來的語法、語義和語用。VC控制臺程序是由一個或多個文件組成,每個文件由用戶自定義或VC系統(tǒng)自帶的類、函數(shù)、變量組成。類由成員變量和成員函數(shù)組成,函數(shù)由若干個語句組成,語句是單詞的集合,單詞是字符的集合。

2024/2/27461.main()函數(shù)VC控制臺程序的執(zhí)行開始點是main()函數(shù),和C語言不同的是,VC下必須指定該函數(shù)的返回值(前面例子的返回值為void)。VC開發(fā)的帶有圖形用戶界面(第二篇所講的)的Windows程序的開始點是WinMain()。2.程序注釋VC下,程序有兩種注釋的方法:一是單行注釋符//,它是將//后面的一行語句作為程序的注釋;二是多行注釋符號/*和*/,它們必須成對出現(xiàn),/*標(biāo)識注釋的開始,*/標(biāo)識注釋的結(jié)束。用戶可以根據(jù)需要注釋單行或多行開靈活選擇相應(yīng)的注釋語句。2024/2/27473.編譯預(yù)處理預(yù)處理中的每個命令也是一種操作,該操作

溫馨提示

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

評論

0/150

提交評論