




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
VisualC++程序设计11.1程序设计程序设计:指设计、编制、调试程序的方法和过程。程序设计实质是对所需解决的问题,设计好算法和相应的数据结构,再利用程序设计语言将设计好的算法和数据结构编写为程序,再反复进行调试、修改,一直到正确运行的过程。基本要求:正确、可读、可理解、可维护2程序的运行过程源程序需要保存在硬盘中,运行时先要读入内存,为其数据和代码分配相应的内存空间,数据存放在内存数据区中,代码在内存代码区中存为一连串的指令,CPU取出一条条的指令执行,并将运算的结果保存到内存中。31.1程序设计语言程序设计语言:是指人与计算机交流的语言。分类:机器语言(二进制代码表示的语言,直接执行)汇编语言(助记符表示的语言,编译后执行)高级语言(与自然语言较接近的语言,较易学习,需要编译及连接后执行,如C,Java,VisualC++等)4高级程序设计语言高级程序设计语言有严格的语法规则,否则不能通过编译。程序设计语言的基本成分:数据成分:指数据描述,如整型、实型、数组等控制成分:指控制流程,如顺序、条件、循环运算成分:指数据运算,如算术、关系及逻辑运算传输成分:指数据的输入和输出操作。5程序设计语言是表达软件的工具C++是一种高级程序设计语言,用其编写的程序必须先编译成机器语言表示的目标程序,计算机才能运行。使用可视化集成开发工具VisualC++,来编写C++源程序,编译、调试正确后直接运行。6C++程序的执行过程
C++源程序
C++预处理器
预处理后的源程序
C++编译程序
目标程序
链接程序
可执行程序
其它目标程序和库
7C++程序设计学习内容简介C++程序设计语言本身的语法知识基本的典型算法(在程序学习过程中积累)面向对象程序设计方面的基本知识8VisualC++字符集与标识符VisualC++字符集:所有组成C++语句的字符集合,严格区分大小写。关键字:被C++作为程序语句中有特定意义的保留字。如:void、int、char、main标识符:可以用来命名的符号以字母和下划线开头的字母、数字及下划线的组合。如合法:_a2,b33不合法:3d,dd.d不能用关键字。如合法:Void不合法:void91.下列标识符中,合法的标识符为
。A7AbBmainCa3.b+D_12b310VisualC++程序任一个C++程序都是从main主函数开始执行,一直执行到主函数结束。在main主函数中调用其他自定义的函数或库函数。库函数:是系统定义的函数,在程序中包含相应的头文件后,可以直接使用库函数。11VisualC++程序举例1、voidmain(void){}//此函数体为空/*Theprogramisverysimple.Theseareallexplanation.*/2、#include<iostream.h>//编译预处理命令voidmain()//函数头定义{//函数体开始cout<<“HelloWorld!”;//程序语句}//函数体结束12#include<iostream.h>#include<math.h>voidmain(){cout<<“-4绝对值的平方根为:”<<sqrt(fabs(-4));}运行输出:-4绝对值的平方根为:213基本的数据类型程序中用到的数据必须指明数据类型可以明确该数据所占用的存储空间可以规定该数据所能执行的操作和运算基本数据类型(存储字节数决定取值范围和精度)char(1B)、shortint(2B)、int(4B)、longint(4B)、unsignedintfloat(4B)、double(8B)void14常量常量分为字面常量(值常量)和标识符常量。字面常量分为整型常量、实型常量、字符型常量和字符串常量。整型常量可分别用十进制、八进制(以0开头0-7),十六进制(以0X(x)开头0-F)来表示。如:075,0xA8E后缀L表示长整型,后缀U表示无符号15实型常量系统默认为double双精度类型,只有后面加上f后,才被认为float单精度类型。3.143.14f实型常量可用十进制小数形式(由数字和小数点组成)和指数形式(也称科学记数法,E或e前必须有数字,其后必须是整数)如:合法:0.13.25-78.0.23e3//e10.e51.0e3.516字符型常量:1.表示为单引号括起的单个字符‘a’。2.用单引号括起的转义序列(以转义符’\’开始,后跟一个字符或一个0-255之间的整型常量(可用八进制\ddd或十六进制\xdd整数)表示。如:’\n’:表示换行;‘\t’:表示水平制表符;‘\’’’,‘\’’,‘\\’,转义为原来的标点符号本身;’\032’,’\101’,’\x41’,’\x22’:表示相应ASCII码值代表的字符。17字符串常量:用双引号括起来的若干个字符.“A”,“1234”,“student”‘a’与”a”不同字符串常量存储方式:字符串常量在计算机中按顺序存放字符串中的字符,每个字节对应存放一个字符的ASCII码,系统会自动在末尾加上一个字符串结束符标志\0,其ASCII码值为0。字符串常量的存储容量=(字符串中的字符个数+1)B18标识符常量标识符常量(常量被命名为标识符)使用编译预处理define#definepi3.1415//预处理命令使用常量说明符constconstfloatpi=3.1415;//程序语句19例:利用符号常量求半径为5的圆周长#include“iostream.h”#definePI3.14159voidmain(){constintR=5;cout<<“半径为5的圆周长:”<<2*PI*R<<endl;}//输出:半径为5的圆周长:31.415920例:利用符号常量求半径为5的圆周长#include“iostream.h”#definePI3.14159;voidmain(){constintR=5;cout<<“半径为5的圆周长:”<<2*PI*R<<endl;}//编译出错在输出行。212.以下选项中不合法的常量是。A.’a’B.068C.“ab\0cd”D.224L3.以下常量表示中不正确的是。A.’\55’B.’55’C.‘\x55’D.0x554.设有四个:(1)4e0.5(2)’\87’(3)0X54(4)“\\”其中的合法的常量是。A.(1)(2)B.(2)(4)C.(3)(4)D.(1)(3)22变量变量:保存某种类型的值并可以被修改的量。变量的定义:数据类型变量名;inta;变量定义同时初始化数据类型变量名=初值;intb1=2;intc1(5);//相当于c1=5floatb2,c2;//可同时定义同一类型的多个变量变量必须先定义,再被初始化才能被使用。intd=a1+2;//变量a1未被定义,不能直接使用inta1;intd=a1+2;//语法错误a1的值并未确定。
inta1=1;intd=a1+2;//ok23变量的值和变量的地址定义一个变量后,运行时系统会给变量分配相应的内存单元块,保存变量的值。如inta=5;变量的值可以随时被改变,保存最后一次被修改的值。变量的地址是指分给变量的内存单元块的首字节地址,变量定义后,变量地址就定了。&a//变量a的地址,&指取变量的地址符变量一般可以通过变量名来访问变量的值,也可以通过变量的地址来访问变量的值。24#include<iostream.h>voidmain(){intage=19;cout<<“age的值为”<<age;cout<<“age的地址为”<<&age<<endl;age=20;cout<<“age的值为”<<age;cout<<“age的地址为”<<&age<<endl;}//输出的地址为十六进制整数,以0x开头2520age0xa379ef450xa379ef4926#include<iostream.h>voidmain(){floatb(3.0f);//注常量实数默认为double类型doublec(5.5);cout<<“b的值为”<<b<<“b的地址为”<<&b<<endl;cout<<“c的值为”<<c<<“c的地址为”<<&c<<endl;}
27标准输入输出流使用标准输入输出流进行输入输出,必须包含标准输入输出流的头文件。#include<iostream.h>//文件包含预处理命令标准输入流cin对应键盘输入。cin>>变量1>>变量2;使用提取运算符>>,用键盘输入值给变量标准输出流cout对显示器输出。cout<<表达式1<<表达式2;使用插入运算符<<,将表达式值在显示器中输出28输入流cin>>变量名1>>变量名2;//只能对变量输值//从键盘输入数值给相应数据类型的变量。inta;doubleb;cin>>a>>b;//输入的值之间用空格或回车键作为间隔,可输入:34.5回车cin.get(字符变量名);一次只能对一个字符变量输值,包括空格或换行字符也作为输入值。29chara,b;cin.get(a);cin.get(b);输入:34即:a=3b=chara,b;cin>>a>>b;输入:34即:a=3b=4注:当程序运行到输入语句时,程序运行光标会停下闪烁,等待输入值。一次性输入所有值后回车,输入值全部存入缓冲区,再分别取出给相应变量赋值。30P8例1.5#include<iostream.h>voidmain(){ inta;charb;floatc; cin>>a>>b>>c; cout<<a<<""<<b<<""<<c<<endl;}输入1.23.45.6输出1.231输出流coutcout<<表达式1<<表达式2<<表达式3;将各表达式的值按相应格式显示输出。cout<<表达式1<<‘\t’<<表达式2<<endl;注1:输出流的表达式可以是变量、含变量或常量的表达式,分别输出相应变量的值,或表达式的值。注2:‘\t’:按制表位输出。‘\n’或endl:指换行输出。32流对象的成员函数控制输出格式系统默认输出小数形式,是六位有效数字,最后一位有效数字由其后面位四舍五入得到。系统对小数位为0的,只输出整数位。33#include<iostream.h>voidmain(){ doublea=0.444444778888; cout<<a<<endl;}//输出0.44444534#include<iostream.h>voidmain(){ doublea=21.444444778888; cout<<a<<endl;}//输出:21.444435#include<iostream.h>voidmain(){ doublea=21.0000; cout<<a<<endl;}//输出:2136流对象的成员函数控制输出格式cout.setf(ios:fixed)//设置小数形式输出固定位数格式,默认6位小数位数cout<<setw(数值1)<<表达式1<<setw(数值2)<<表达式2<<‘\n’;setw(数值):设置的数值宽度只对其后的一个输出项起作用,使用此函数必须包含#include<iomanip.h>头文件。自行阅读例1.7和例1.837对整数设置不同进制形式输入和输出输入输出默认进制为十进制,串上oct表示后面的相应数据项改为八进制,串上hex表示改为十六进制,串上dec表示改回十进制。输入与输出是分开设置的,无论输入输出设置了一直会保持这种进制到下一次改变。38#include<iostream.h>voidmain(){inta,b,c;cin>>a>>hex>>b>>c; cout<<a<<""<<b<<""<<hex<<c<<endl; cout<<a<<""<<oct<<b<<""<<c<<endl;}输入:11121A输出:11181ab2232391.8指针变量指针:变量的地址指针变量:存储其他变量地址(指针)的变量.指针变量的定义:数据类型*指针变量名;int*p;intb=5;p=&b;定义某一数据类型的指针变量可以存储这种数据类型的任一变量的地址。指针变量定义同时初始化inta=3,c=6;int*p1=&a;p1=&c;40指针变量所指向的变量变量一般直接通过变量名来访问,变量也可以通过指针变量来访问,如果指针变量保存了某个变量的地址,即表示指针变量指向了这个变量,则可通过指针变量来访问其所指向的变量。利用取内容运算符*指针变量名,来表示指针变量所指向的变量。inta=5;int*p=&a;*p=9;cout<<*p<<‘\t’<<a<<endl;a:9p0x23458841改错inta=3;int*p1;*p1=&a;inta=3;int*p1=&a;p1=8;inta=3;int*p1;*p1=6;42指针变量值和指针变量地址指针变量值表示这个指针变量所保存的那个变量的地址。指针变量地址表示这个指针变量本身被分配的内存单元地址。指针变量所指向的变量的值即表示指针变量所指向的内存单元的值。
inta=50;int*p=&a;cout<<p<<‘\t’<<&p<<‘\t’<<*p<<‘\n’;43改错:
#include<iostream.h>voidmain(){inta,b,c,d;cin>>a>>b>>d;c=a*a+b*b+d*d;cout<<“c=”<<‘\t’<<c<<endl;}44编程:
#include<iostream.h>voidmain(){inta,b,c,d;cin>>a>>b>>d;c=a*a+b*b+d*d;cout<<“area=”<<c<<endl;}45编程:
#includ<iostream.h>voidmain(){inta,b,d;cin>>a>>b>>d;cout<<“area=”<<a*a+b*b+d*d<<end;}461.9引用类型变量引用类型变量:可作为变量的一个别名。定义:数据类型&引用变量名=已定义的变量;引用变量被赋值为某一已定义的变量,此时引用变量名与本身的变量名是同一变量的两个名字。intx=5;int&m=x;//int&m=&x;错
cout<<x<<‘\t’<<m<<endl;//55m=10;cout<<x<<‘\t’<<m<<endl;//101047枚举类型是指在某一特定范围内取值的数据类型。枚举类型的定义:
enum枚举类型名{枚举常量1,枚举常量2,枚举常量3,…,枚举常量n};如enumweekdays{Sun,Mon,Tue,Wed,Thu,Fri,Sat};枚举类型注:(1)每个枚举常量对应一个整型值,默认从0开始递增。可以为枚举常量确定一个整型值,其后的枚举常量从这个确定值开始递增。如:enumweekdays{Sun=4,Mon=1,Tue,Wed,Thu,Fri,Sat};48定义枚举类型变量先定义枚举类型,再定义变量
enumcolor{red,yellow,blue,green};colora=red,b;定义枚举类型,同时定义变量。enumcolor{red,yellow,blue,green}a,b;不指明枚举类型名,直接定义变量。enum{red,yellow,blue,green}a,b;49枚举类型变量的使用枚举类型变量可以用枚举量表中的枚举常量赋值,相同枚举类型变量之间也可以赋值。枚举类型变量不能从键盘直接输入值,但可以输出枚举类型变量,输出的是其对应的整数值。enumcolor{red,yellow,blue,green};colora=red;colorb;b=a;a=blue;cout<<a<<‘\t’<<b<<endl;//输出:20501.下列程序的输出结果是
。#include<iostream.h>enumweekdays{Sun,Mon=2,Tue,Wed=Tue+5,Thu,Fri};voidmain(){ weekdaysa=Sun,c=Fri,d=a; cout<<a<<','<<c<<‘,’<<d<<endl;}//输出0,10,051自增++、自减--运算后置自增变量++,先取变量参与运算,再将变量的值加1。前置自增++变量,先将变量的值加1,再将变量参与运算。inti=5,j;j=i++;//j=5i=6inti=5,j;j=++i;//i=6j=6inti=5,j;j=i--;//j=5i=4inti=5,j;j=--i;//j=4i=452算术运算符-、+、*、/、%,其中%为模运算,即求余运算1.当两个整数作‘/’运算时,作整除运算。有实数参与的‘/’运算为一般的除法运算。3/4=03.0/4=0.752.运算‘%’两侧必须都是整型操作数。若不是整型数必须将操作数强制转换成整型再进行求余运算,否则出现编译错误。3.作‘%’运算时,若操作数中有负值,求余的原则为:先取绝对值求余数,余数取与被除数相同的符号。-10%3=-110%-3=153关系运算符(6个,<、<=、>、>=、==、!=,运算结果:1=真;0=假)1.当关系表达式成立时,关系表达式的结果为1,否则为0。例:有a=4,b=3,c=2,求表达式a>b>c的值?解:a>b>c的值相当于(a>b)>c,而a>b的值为1,即再求1>c,最后表达式的值为0。2.不要混淆赋值运算符“=”和比较运算符“==”。例:inta=0,b=1,c=2;cout<<a==b<<endl;a=b;cout<<a==b<<endl;54逻辑运算优先级别为:
!&&||高低注:在逻辑运算过程中不等于零即认为是真,可参与逻辑运算,但运算最后的结果真为1,假为0.
!非零值=0!0=1非零值&&非零值=1非零值&&0=00||0=0非零值||0=10||非零值=1例:!5(2<1)||3(!0)&&(3>2)55赋值运算符变量=表达式;赋值语句(变量=表达式)赋值表达式1变量被赋值。2表达式本身的值,为被赋的值。如:(a=3)//区别于(a==3)inta=b=c=5;//b,c没有定义b=a+3=c;
//错a+3不是变量,不能被赋值56
常用复合赋值运算符二元算术运算符与赋值运算符组合成的运算符称为复合赋值运算符。+=(加等)、-=、*=、/=、%=(求余等)、&=(与等)、^=(异或等)、|=(或等)。复合赋值运算:变量与赋值运算符右边的表达式参与运算后的值,重新赋给这个变量。如:a+=b+=a*=b+5从右到左,a*=b+5相当于a=a*(b+5)b=b+aa=a+b57逗号表达式用逗号运算符连接起来的表达式。
一般形式:<表达式1>,<表达式2>,…,<表达式n>
即按从左到右的顺序依次求出各表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。例:设b=2,c=3,d=4,则下列逗号表达式如:(a=5+5,b=b*b+c,d=d*a+b)的值为47y=x=(a=3,6*3)结果:x=y=18,a=3(y=x=a=3,6*3)结果:x=y=a=3y=(x=a=3,6*3)结果:x=a=3,y=1858sizeof()运算符sizeof(数据类型):数据类型占用的字节数sizeof(表达式):表达式的值所占用的字节数如:sizeof(double)8sizeof(char)1sizeof(‘a’)1sizeof(‘a’+’b’)4sizeof(‘a’+5)459intk=11;k=1/3*k++;后k的值为多少?602.intx,y;floata,b;数学式2x/(3ab),在C++程序中对应的正确表达式是
。A.2/3*x/a/bB.2*x/3/a/bC.2*x/3*a*bD.2/a/b/3*x61赋值运算符与赋值表达式逗号运算符与逗号表达式逻辑运算符与逻辑表达式算术运算符与算术表达式优先级别低高关系运算符与关系表达式单目运算62逻辑表达式优化的副作用
即指在求逻辑表达式时,从左至右,若表达式某部分值可直接确定整个逻辑表达式的值,则其后的运算不再进行。已知inta=0,b=2,c=3,d;求d=a&&b++&&++c的值。因为a为0,则不必进行b++、++c的运算,就可得整个逻辑表达式的值为0,变量b,c都没有作自加运算,赋值运算最后进行,d=0。
另请自行阅读P17的例1.12636.设有说明”inta,b,c;a=b=c=5;执行语句“b+=++a>b||++c>b;”,则a,b,c的值分别是。A.6,7,6B.6,5,5C.6,6,5D.6,1,67.设有说明“inta=3,b=5,m”,则表达式“m=a/b&&a++”的值为。A.0B.1C.falseD.true64
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 班级的一场比赛记事作文(12篇)
- 新兴产业技术发展趋势表
- 电影行业收入预测报告统计表
- 固废综合利用示范基地项目实施方案(参考范文)
- 学习中的一次挑战与成功记事并议论文(12篇)
- 我的英雄赞美身边英雄的话题作文14篇
- 体育设施与资源优化配置的实施路径
- 建筑设计理论实践练习题集
- 2025年艺术设计专业考试题及答案
- 2025年医学影像技术与临床应用的综合能力考试卷及答案
- 货物类投标方案(技术标)
- 七年级课外名著阅读知识竞赛试题及答案
- 中国血脂管理指南理论知识考核试题及答案
- 血管活性药物静脉输注护理
- 村级积分制管理
- Nikon尼康D3100中文说明书
- 国家开放大学2024春《1494员工劳动关系管理》期末考试真题及答案-开
- DBJ∕T 13-234-2024 不发火建筑地面应用技术标准
- 2024年新疆中考地理真题卷及答案
- 人教版初三物理总复习电学专题复习教学设计
- 项目风险记录及跟踪表
评论
0/150
提交评论