第一章VC程序设计入门.ppt

上传人:sccc 文档编号:5634339 上传时间:2023-08-04 格式:PPT 页数:70 大小:445.51KB
返回 下载 相关 举报
第一章VC程序设计入门.ppt_第1页
第1页 / 共70页
第一章VC程序设计入门.ppt_第2页
第2页 / 共70页
第一章VC程序设计入门.ppt_第3页
第3页 / 共70页
第一章VC程序设计入门.ppt_第4页
第4页 / 共70页
第一章VC程序设计入门.ppt_第5页
第5页 / 共70页
点击查看更多>>
资源描述

《第一章VC程序设计入门.ppt》由会员分享,可在线阅读,更多相关《第一章VC程序设计入门.ppt(70页珍藏版)》请在三一办公上搜索。

1、Visual C+程序设计,主讲:黄霞,1.1 程序设计,程序设计:指设计、编制、调试程序的方法和过程。程序设计实质是对所需解决的问题,设计好算法和相应的数据结构,再利用程序设计语言将设计好的算法和数据结构编写为程序,再反复进行调试、修改,一直到正确运行的过程。基本要求:正确、可读、可理解、可维护,程序的运行过程,源程序需要保存在硬盘中,运行时先要读入内存,为其数据和代码分配相应的内存空间,数据存放在内存数据区中,代码在内存代码区中存为一连串的指令,CPU取出一条条的指令执行,并将运算的结果保存到内存中。,1.1 程序设计语言,程序设计语言:是指人与计算机交流的语言。分类:机器语言(二进制代码

2、表示的语言,直接执行)汇编语言(助记符表示的语言,编译后执行)高级语言(与自然语言较接近的语言,较易学习,需要编译及连接后执行,如C,Java,Visual C+等),高级程序设计语言,高级程序设计语言有严格的语法规则,否则不能通过编译。程序设计语言的基本成分:数据成分:指数据描述,如整型、实型、数组等控制成分:指控制流程,如顺序、条件、循环运算成分:指数据运算,如算术、关系及逻辑运算传输成分:指数据的输入和输出操作。,程序设计语言是表达软件的工具,C+是一种高级程序设计语言,用其编写的程序必须先编译成机器语言表示的目标程序,计算机才能运行。使用可视化集成开发工具Visual C+,来编写C+

3、源程序,编译、调试正确后直接运行。,C+程序的执行过程,C+程序设计学习内容简介,C+程序设计语言本身的语法知识基本的典型算法(在程序学习过程中积累)面向对象程序设计方面的基本知识,Visual C+字符集与标识符,Visual C+字符集:所有组成C+语句的字符集合,严格区分大小写。关键字:被C+作为程序语句中有特定意义的保留字。如:void、int、char、main标识符:可以用来命名的符号以字母和下划线开头的字母、数字及下划线的组合。如 合法:_a2,b33 不合法:3d,dd.d不能用关键字。如 合法:Void 不合法:void,1.下列标识符中,合法的标识符为。A 7Ab B ma

4、in C a3.b+D _12b3,Visual C+程序,任一个C+程序都是从main主函数开始执行,一直执行到主函数结束。在main主函数中调用其他自定义的函数或库函数。库函数:是系统定义的函数,在程序中包含相应的头文件后,可以直接使用库函数。,Visual C+程序举例,1、void main(void)/此函数体为空/*The program is very simple.These are all explanation.*/2、#include/编译预处理命令 void main()/函数头定义/函数体开始 cout“Hello World!”;/程序语句/函数体结束,#inclu

5、de#include void main()cout“-4绝对值的平方根为:”sqrt(fabs(-4);运行输出:-4绝对值的平方根为:2,基本的数据类型,程序中用到的数据必须指明数据类型可以明确该数据所占用的存储空间可以规定该数据所能执行的操作和运算基本数据类型(存储字节数决定取值范围和精度)char(1B)、short int(2B)、int(4B)、long int(4B)、unsigned intfloat(4B)、double(8B)void,常量,常量分为字面常量(值常量)和标识符常量。字面常量分为整型常量、实型常量、字符型常量和字符串常量。整型常量可分别用十进制、八进制(以0开

6、头0-7),十六进制(以0X(x)开头0-F)来表示。如:075,0 xA8E后缀表示长整型,后缀表示无符号,实型常量系统默认为double双精度类型,只有后面加上f后,才被认为float单精度类型。3.14 3.14f实型常量可用十进制小数形式(由数字和小数点组成)和指数形式(也称科学记数法,E或e前必须有数字,其后必须是整数)如:合法:0.13.25-78.0.23e3/e10.e5 1.0e3.5,字符型常量:1.表示为单引号括起的单个字符 a。2.用单引号括起的转义序列(以转义符开始,后跟一个字符或一个0-255之间的整型常量(可用八进制ddd 或十六进制xdd 整数)表示。如:n:表

7、示换行;t:表示水平制表符;,转义为原来的标点符号本身;032,101,x41,x22:表示相应ASCII码值代表的字符。,字符串常量:用双引号括起来的若干个字符.“A”,“1234”,“student”a 与”a”不同字符串常量存储方式:字符串常量在计算机中按顺序存放字符串中的字符,每个字节对应存放一个字符的ASCII码,系统会自动在末尾加上一个字符串结束符标志0,其ASCII码值为0。字符串常量的存储容量=(字符串中的字符个数+1)B,标识符常量,标识符常量(常量被命名为标识符)使用编译预处理define#define pi 3.1415/预处理命令使用常量说明符const const f

8、loat pi=3.1415;/程序语句,例:利用符号常量求半径为5的圆周长#include“iostream.h”#define PI 3.14159void main()const int R=5;cout“半径为5的圆周长:”2*PI*Rendl;/输出:半径为5的圆周长:31.4159,例:利用符号常量求半径为5的圆周长#include“iostream.h”#define PI 3.14159;void main()const int R=5;cout“半径为5的圆周长:”2*PI*Rendl;/编译出错在输出行。,2.以下选项中不合法的常量是。Aa B.068 C.“ab0cd”D

9、.224L3.以下常量表示中不正确的是。A55 B.55 C.x55 D.0 x554.设有四个:(1)4e0.5(2)87(3)0X54(4)“”其中的合法的常量是。A(1)(2)B.(2)(4)C.(3)(4)D.(1)(3),变量,变量:保存某种类型的值并可以被修改的量。变量的定义:数据类型 变量名;int a;变量定义同时初始化 数据类型 变量名=初值;int b1=2;int c1(5);/相当于c1=5 float b2,c2;/可同时定义同一类型的多个变量变量必须先定义,再被初始化才能被使用。int d=a1+2;/变量a1未被定义,不能直接使用 int a1;int d=a1+

10、2;/语法错误a1的值并未确定。int a1=1;int d=a1+2;/ok,变量的值和变量的地址,定义一个变量后,运行时系统会给变量分配相应的内存单元块,保存变量的值。如int a=5;变量的值可以随时被改变,保存最后一次被修改的值。变量的地址是指分给变量的内存单元块的首字节地址,变量定义后,变量地址就定了。&a/变量a的地址,&指取变量的地址符变量一般可以通过变量名来访问变量的值,也可以通过变量的地址来访问变量的值。,#includevoid main()int age=19;cout“age的值为”age;cout“age的地址为”/输出的地址为十六进制整数,以0 x开头,20,age

11、,0 xa379ef45,0 xa379ef49,#include void main()float b(3.0f);/注常量实数默认为double类型 double c(5.5);cout“b的值为”b“b的地址为”,标准输入输出流,使用标准输入输出流进行输入输出,必须包含标准输入输出流的头文件。#include/文件包含预处理命令标准输入流cin 对应键盘输入。cin变量1变量2;使用提取运算符,用键盘输入值给变量标准输出流cout 对显示器输出。cout表达式1表达式2;使用插入运算符,将表达式值在显示器中输出,输入流,cin变量名1变量名2;/只能对变量输值/从键盘输入数值给相应数据类

12、型的变量。int a;double b;cin ab;/输入的值之间用空格或回车键作为间隔,可输入:3 4.5 回车cin.get(字符变量名);一次只能对一个字符变量输值,包括空格或换行字符也作为输入值。,char a,b;cin.get(a);cin.get(b);输入:3 4 即:a=3 b=char a,b;cinab;输入:3 4 即:a=3 b=4注:当程序运行到输入语句时,程序运行光标会停下闪烁,等待输入值。一次性输入所有值后回车,输入值全部存入缓冲区,再分别取出给相应变量赋值。,P8 例1.5#include void main()int a;char b;float c;ci

13、nabc;couta b cendl;输入 1.2 3.4 5.6输出 1.2,输出流 cout,cout表达式1 表达式2 表达式3;将各表达式的值按相应格式显示输出。cout表达式1 t表达式2 endl;注1:输出流的表达式可以是变量、含变量或常量的表达式,分别输出相应变量的值,或表达式的值。注2:t:按制表位输出。n 或 endl:指换行输出。,流对象的成员函数控制输出格式,系统默认输出小数形式,是六位有效数字,最后一位有效数字由其后面位四舍五入得到。系统对小数位为的,只输出整数位。,#include void main()double a=0.444444778888;coutaen

14、dl;输出0.444445,#include void main()double a=21.444444778888;coutaendl;/输出:21.4444,#include void main()double a=21.0000;coutaendl;/输出:21,流对象的成员函数控制输出格式,cout.setf(ios:fixed)/设置小数形式输出固定位数格式,默认6位小数位数cout 头文件。自行阅读例1.7和例1.8,对整数设置不同进制形式输入和输出,输入输出默认进制为十进制,串上oct表示后面的相应数据项改为八进制,串上hex表示改为十六进制,串上dec表示改回十进制。输入与输出

15、是分开设置的,无论输入输出设置了一直会保持这种进制到下一次改变。,#include void main()int a,b,c;cinahexbc;couta b hexcendl;couta octb cendl;输入:11 12 1A 输出:11 18 1a b 22 32,1.8 指针变量,指针:变量的地址指针变量:存储其他变量地址(指针)的变量.指针变量的定义:数据类型*指针变量名;int*p;int b=5;p=,指针变量所指向的变量,变量一般直接通过变量名来访问,变量也可以通过指针变量来访问,如果指针变量保存了某个变量的地址,即表示指针变量指向了这个变量,则可通过指针变量来访问其所指

16、向的变量。利用取内容运算符*指针变量名,来表示指针变量所指向的变量。int a=5;int*p=,a:9,p 0 x234588,改错,int a=3;int*p1;*p1=,指针变量值和指针变量地址,指针变量值表示这个指针变量所保存的那个变量的地址。指针变量地址表示这个指针变量本身被分配的内存单元地址。指针变量所指向的变量的值即表示指针变量所指向的内存单元的值。int a=50;int*p=,改错:#include void main()int a,b,c,d;cinabd;c=a*a+b*b+d*d;cout“c=”tcendl;,编程:#include void main()int a,

17、b,c,d;cinabd;c=a*a+b*b+d*d;cout“area=”cendl;,编程:#includ void main()int a,b,d;cinabd;cout“area=”a*a+b*b+d*dend;,1.9 引用类型变量,引用类型变量:可作为变量的一个别名。定义:数据类型/10 10,枚举类型是指在某一特定范围内取值的数据类型。枚举类型的定义:enum 枚举类型名 枚举常量1,枚举常量2,枚举常量3,,枚举常量n;如 enum weekdays Sun,Mon,Tue,Wed,Thu,Fri,Sat;,枚举类型,注:(1)每个枚举常量对应一个整型值,默认从0开始递增。可以

18、为枚举常量确定一个整型值,其后的枚举常量从这个确定值开始递增。如:enum weekdays Sun=4,Mon=1,Tue,Wed,Thu,Fri,Sat;,定义枚举类型变量,先定义枚举类型,再定义变量 enum color red,yellow,blue,green;color a=red,b;定义枚举类型,同时定义变量。enum color red,yellow,blue,green a,b;不指明枚举类型名,直接定义变量。enum red,yellow,blue,green a,b;,枚举类型变量的使用,枚举类型变量可以用枚举量表中的枚举常量赋值,相同枚举类型变量之间也可以赋值。枚举类

19、型变量不能从键盘直接输入值,但可以输出枚举类型变量,输出的是其对应的整数值。enum color red,yellow,blue,green;color a=red;color b;b=a;a=blue;coutatbendl;/输出:2 0,1.下列程序的输出结果是。#includeenum weekdays Sun,Mon=2,Tue,Wed=Tue+5,Thu,Fri;void main()weekdays a=Sun,c=Fri,d=a;couta,c,dendl;/输出 0,10,0,自增+、自减-运算,后置自增 变量+,先取变量参与运算,再将变量的值加1。前置自增+变量,先将变量的

20、值加1,再将变量参与运算。int i=5,j;j=i+;/j=5 i=6int i=5,j;j=+i;/i=6 j=6int i=5,j;j=i-;/j=5 i=4int i=5,j;j=-i;/j=4 i=4,-、+、*、/、%,其中%为模运算,即求余运算,1.当两个整数作/运算时,作整除运算。有实数参与的/运算为一般的除法运算。3/4=0 3.0/4=0.752.运算%两侧必须都是整型操作数。若不是整型数必须将操作数强制转换成整型再进行求余运算,否则出现编译错误。3.作%运算时,若操作数中有负值,求余的原则为:先取绝对值求余数,余数取与被除数相同的符号。-10%3=-1 10%-3=1,关

21、系运算符(6 个,、=、=、!=,运算结果:1=真;0=假),1.当关系表达式成立时,关系表达式的结果为1,否则为0。例:有a=4,b=3,c=2,求表达式abc的值?解:abc的值相当于(ab)c,而ab的值为1,即再求 1c,最后表达式的值为0。2.不要混淆赋值运算符“=”和比较运算符“=”。例:int a=0,b=1,c=2;couta=bendl;a=b;couta=bendl;,逻辑运算优先级别为:!&|,高,低,注:在逻辑运算过程中不等于零即认为是真,可参与逻辑运算,但运算最后的结果真为1,假为0.!非零值=0!0=1 非零值&非零值=1 非零值&0=0 0|0=0 非零值|0=1

22、 0|非零值=1例:!5(22),赋值运算符,变量=表达式;赋值语句(变量=表达式)赋值表达式 1 变量被赋值。2 表达式本身的值,为被赋的值。如:(a=3)/区别于(a=3)int a=b=c=5;/b,c 没有定义 b=a+3=c;/错 a+3不是变量,不能被赋值,常用复合赋值运算符,二元算术运算符与赋值运算符组合成的运算符称为复合赋值运算符。+=(加等)、-=、*=、/=、%=(求余等)、&=(与等)、=(异或等)、|=(或等)。复合赋值运算:变量与赋值运算符右边的表达式参与运算后的值,重新赋给这个变量。如:a+=b+=a*=b+5从右到左,a*=b+5相当于a=a*(b+5)b=b+a

23、 a=a+b,用逗号运算符连接起来的表达式。一般形式:,即按从左到右的顺序依次求出各表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。,例:设b=2,c=3,d=4,则下列逗号表达式 如:(a=5+5,b=b*b+c,d=d*a+b)的值为47 y=x=(a=3,6*3)结果:x=y=18,a=3(y=x=a=3,6*3)结果:x=y=a=3 y=(x=a=3,6*3)结果:x=a=3,y=18,sizeof()运算符,sizeof(数据类型):数据类型占用的字节数sizeof(表达式):表达式的值所占用的字节数 如:sizeof(double)8 sizeof(char)1 size

24、of(a)1 sizeof(a+b)4 sizeof(a+5)4,int k=11;k=1/3*k+;后 k的值为多少?,2.int x,y;float a,b;数学式2x/(3ab),在C+程序中对应的正确表达式是。A2/3*x/a/b B.2*x/3/a/bC.2*x/3*a*bD.2/a/b/3*x,赋值运算符与赋值表达式,逗号运算符与逗号表达式,逻辑运算符与逻辑表达式,算术运算符与算术表达式,低,高,关系运算符与关系表达式,单目运算,逻辑表达式优化的副作用 即指在求逻辑表达式时,从左至右,若表达式某部分值可直接确定整个逻辑表达式的值,则其后的运算不再进行。已知 int a=0,b=2,

25、c=3,d;求 d=a&b+&+c 的值。因为a为0,则不必进行b+、+c的运算,就可得整个逻辑表达式的值为0,变量b,c都没有作自加运算,赋值运算最后进行,d=0。另请自行阅读P17的例1.12,6.设有说明”int a,b,c;a=b=c=5;执行语句“b+=+ab|+cb;”,则a,b,c的值分别是。A6,7,6 B.6,5,5 C.6,6,5 D.6,1,67.设有说明“int a=3,b=5,m”,则表达式“m=a/b&a+”的值为。A0 B.1 C.false D.true,表达式的书写要求,表达式:指由变量、常量、运算符、函数、圆括号按一定规则组成的式子。表达式书写规则:1.出现

26、的括号只能用圆括号2.乘号*不能省略3.除号/只作除号,不能作为表示分子除以分母的分数号看书上P18的示例。,类型转换的方式有两种:一种是隐式类型转换,一种是强制转换。,1.隐式类型转换主要分为两类:(1)算术转换不同类型的进行算术运算,小的向大的转换.(2)赋值转换右边的向左边的类型转换.,例2:A+32+7.23*6-5/3,int,int,double,double,运算结果的类型为:,例1:a+3=100/进行了隐式类型转换,(1)double y=3.45678;int x;用以下的表达式可以对y中数值保留小数点后2位四舍五入;x=y*100+0.5,y=x/100.0;(2)int

27、 x,double y=5.4;x=y;,强制类型运算(单目运算),形式1:(数据类型)表达式只对数据类型后的一个数据项,作强制类型转换如:double i=5.8;couti/3.0n;1.93333 cout(int)i/3.0;1.66667 couti;5.8/只改变运算操作数的类型,/变量本身数据类型没改变。形式2:数据类型(表达式)或(数据类型)(表达式)对表达式整个的结果值进行强制类型转换 double i=5.8;coutint(i/3.0);1 couti;5.8,typedef 语句,typedef 数据类型 新的数据数型名;用来定义一种已存在数据类型的别名;可以同样用来定义这种数据类型的变量。typedef int INT;INT x,y;/相当于 int x,y;,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号