第1讲C++简单程序设计_第1页
第1讲C++简单程序设计_第2页
第1讲C++简单程序设计_第3页
第1讲C++简单程序设计_第4页
第1讲C++简单程序设计_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

程序设计基础(C++)第1讲C++简单程序设计第2讲数据的输入输出与控制结构第3讲数组第4讲函数与程序结构第5讲指针第6讲结构及其它第7讲类与对象第8讲继承与派生第9讲多态与虚函数第10讲模板第1章

C++简单程序设计

1.1概述

1.2基本数据类型

1.3运算符和表达式

1.4面向对象设计思想简单程序介绍求两数如2、3之和2+3=?如何用C++程序实现?1.1概述#include<iostream.h>voidmain()

//主程序{

inta,b,sum;

//定义变量

a=2;b=3;

//变量赋值

sum=a+b;

//求和

cout<<“sumis”<<sum<<endl;//输出}这里,iostream.h是标准输入输出流类库提供的文件,其中包含对“cout”和“<<”的定义;

main()表示主函数,函数体由一对大括号{}扩起来;//右面的是注释部分,不运行;第4行是变量定义部分,定义了3个整型变量;5,6行是算法实现部分;第7行“cout<<”的作用是在屏幕上字符串sumis

,以及变量sum的值,endl为回车换行。因此该程序运行结果为:

sumis5总结C++程序的基本结构:(1)每个C++程序一般由程序主体、编译预处理和注释三部分组成。程序主体函数定义是C++程序的主体部分。程序的作用基本上由函数来完成。编译预处理每个以符号“#”开头的行,称为编译预处理行,是C++提供的一种模块化工具。注释注释的作用是用来给编程人员一种提示或记号,注释部分内容不参加程序的编译和执行。(2)函数由两部分组成:函数说明部分、函数体。函数说明部分:

函数类型

函数名

void

main()

函数体:由一对大括号{}扩起来,函数体又分为两部分:变量定义部分、执行部分。(3)不论main函数放到何处,C++程序总是从main函数开始执行,随main函数结束而整个程序结束。存在的疑问:1、如何在C++语言中实现两数之和?2、为什么要定义例如:a,b,sum?3、C++语言中有什么类型的数据?4、C++语言中还能实现什么样的计算?求两数之和在C++语言中的步骤: (1)定义在这个程序中所涉及到的所有变量; (2)赋予a,b两变量的值; (3)求和并赋给和变量,如sum; (4)输出两数之和。解答1:如何在C语言中实现求两数之和1.2基本数据类型

1.2.1常量与变量1.常量和符号常量在程序运行过程中,其值不能被改变的量称为常量。如12、0、45为整型常量,4.5、-32.2为实型常量,‘a’、’5’为字符常量。这种常量又称为字面常量或直接常量。1.常量和符号常量在程序中还可以用一个标识符代表一个常量。案例1.2

constintPRICE30#include<

iostream.h>voidmain() {

intnum,total; num=10; total=num*PRICE;

cout<<total=<<total<<endl; }2.变量(1)变量名与标识符(2)变量的定义和初始化(1)变量名与标识符变量:以标识符来取名,在程序中其值可变的量。标识符:是变量名、符号常量名、函数名、数组名、结构体名、共用体名的总称。命名规定:(1)标识符是以字母或下划线开头,由字母、数字、下划线组成的字符序列。如:sum、file、_size、data38;以下标识符是错误的:stu-num、3D64、$123、M.D.JOHN.、abcDEF。(2)C++语言中有45个关键字,系统已定义好其含义,不允许用户再次定义;另外还有预处理命令,用户最好不要用它们做其它标识符。(3)C++语言中,系统认为大、小写字母是不同的字符,如:ABC、abc是不同的标识符。定义标识符,应遵循以下原则:(1)尽量做到见名知义,以增加程序的可读性。(2)符号常量一般用大写字母,其它标识符如变量名、函数名用小写字母或大小写字母混合使用。(2)变量的定义和初始化任何变量必须先定义再使用,因为:只有定义了变量,编译程序才能根据变量的类型分配适当的内存单元。决定其存储数据的方法。允许该数据所执行的操作方式。定义变量的形式为:数据类型变量名表;定义变量的同时,可以对该变量赋初值,也称变量的初始化。如:inti1=3,i2=5;charch1=‘a’,ch2=‘A’;floatf1,f2=3.5;执行程序时任何变量在使用之前一定要有明确的值,否则会出现错误,如:inti,j;j=i+3;是错误的,应改为:

inti,j;i=5;j=i+3;定义变量不能使用连等的形式,如:inta=b=c=1;1.2.2C++语言的数据类型类型基本类型

构造类型指针类型空类型整型实型布尔型字符型数组类型结构体类型共用体类型双精度单精度类解答2:C++的数据类型基本类型:构造简单,已由系统定义好。构造类型:复杂数据类型,由其他数据类型按一定规则构造而成。指针类型:存放地址(指针),用来解决动态数据的建立、删除和使用。类类型:复杂数据类型。基本类型数据整型数据浮点型数据字符型数据1.整型数据(常量)整型十进制十六进制八进制如:235以0开头,如:0235

以0x开头,如:0x235

表示方式类型基本整型

以int表示,由四个字节的二进制数来表示短整型长整型以longint或long表示,长整型采用双倍字长(32位)来表示一个数,因此长整型的表示范围为:-2147483648~+2147483647。在一个整数后加一个字母l

或L表示长整型数。如:-135L。以shortint

或short表示整型变量的定义:例如:

inta,b; unsignedshortc,d; longe,f;

2.浮点型数据实型常量即实数,又称浮点数,实数有两种表示方法:小数形式和指数形式。小数形式:由数字和小数点组成,小数点前后的0可省略,但必须有小数点。如:0.135,.135,135.0,0.0。指数形式:由尾数、字母e或E及指数部分组成。如:-0.25e-2=0.25*10-2,1.41E-4,2e+5。注意:e或E的前后都要有数字,且指数(阶码)必须为整数,如:2.3E-3.2,1.E,.e-4都是错误的表示形式。浮点数一般分为单精度(float)、双精度(double)和长双精度(longdouble)三种,单精度用四个字节表示,其数值范围为±10-37~1038,有效数字位数为十进制数的6~7位;双精度用八个字节表示,其数值范围为±10-307~10308,有效数字位数为十进制数的15~16位。长双精度用得很少。实型变量的定义:例如:

floata,b; doublec,d;3.字符数据字符常量用一对单引号扩起来的单个字符表示,如:‘A’,’?’,‘a’。单引号仅做定界符使用,本身不算字符常量。某些特殊字符\,‘,“,不能由单引号扩起来做字符常量,规定用”\\“、”\’“、”\“”分别表示\,‘,“,它们是转义字符,是字符常量的一种特殊形式。字符型变量的定义:例如:

chara,b;

转义字符 功能\0 字符串结束\n

换行\t

水平制表\v

垂直制表\nnn 1-3位8进制数代表的字符\xhh 1-2位16进制数代表的字符\b 左退一格\r 回车不换行\f 换页\a 响铃\\ 显示一个反斜线C++语言中规定了一组转义字符及其功能解答3:C++语言中还能实现什么样的计算1.基本的算术运算2.算术表达式及运算符的优先级与结合性3.自增、自减运算4.取负运算5.赋值运算1.3运算符和表达式1.基本的算术运算基本的算术运算符有+、-、*、/、%五个。其中“/”除法运算时,二数皆为整数,其商也为整数,如:7/2=3,-5/3=-1有的机器也可能等于-2。多数机器采用“向零取整”的方式,即取整后向零靠拢。“%”为取余运算符,规定两个参加取余运算的数必须是整数,如:2%3=2,6%2=0,-7%2=-1。2.算术表达式及运算符的优先级与结合性所谓表达式是将操作对象(常数、变量、函数等),用运算符连接起来的符合C++语法规则的式子。用算术运算符将操作对象连接起来的符合语法规则式子称为算术表达式。如:

2+5*9/3-6+4运算符有优先级,如:先乘除,后加减;同级运算符,按自左向右的顺序运算,即左结合性。3.自增、自减运算符“++”和“--”是自增、自减运算符,它使一个变量的值加1或减1。如:++i,--i/*先使i的值加、减1,再使用变量i*/i++,i--/*先使用i的值,再使i的值加、减1*/如下两程序片断:

inti=10;

inti=10;

x=i++;

x=++i;

y=i;

y=i;程序运行结果:x=10;y=11。

x=11;y=11。自增、自减运算只能用于变量,不能用于常量或表达式。如:-i++;表示的是-(i++)而不是(-i)++;该运算符的结合性为“自右至左”。如:inti=5;

intj=3-++i;则j=-3注意避免出现歧义:如:(i++)+(i++)+(i++),(++i)+(++i)+(++i)或i+++j4.赋值运算“=”是赋值运算符,功能是将“=”右边表达式的值赋给左边的一个变量,区别于关系运算符中的相等(==)。赋值表达式的形式为:〈变量〉=〈表达式〉;如:x=9;y=‘a’;i=i+1;a=(b=6)/(c=3);赋值运算符具有右结合性,如:a=b=3+8;先做3+8,然后将11赋给b,再将b的值11赋给a。复合的赋值运算符在赋值运算符“=”之前加上+、-、*、/、%、<<、>>、&、^、|等10种双目运算符,可构成复合运算符。如:a+=5;等价于a=a+5;y*=x-2;等价于y=y*(x-2);x%=y/3;等价于x=x%(y/3);熟练使用复合赋值运算符可使程序更加简练,提高编译效率。案例1.3通过编程求下面算术表达式的值:x+a%3*(int)(x+y)%2/4

设x=2.5,a=3.5,y=2.5实现步骤:(1)定义在这个程序中所涉及到的所有变量;(2)输入x,a,y的值;(3)求算术表达式的值并赋给变量z;(4)输出表达式的值z。#include<iostream.h>voidmain(){floatx,a,y,z;

cin>>x>>y>>a;//输入x、y、a的值

z=x+(int)a%3*(int)(x+y)%2/4;

cout<<"表达式x+a%3*(int)(x+y)%2/4的值为:"<<z<<endl;}运行结果:表达式x+a%3*(int)(x+y)%2/4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论