完整word版C++语言第一课Word下载.docx
- 文档编号:8239397
- 上传时间:2023-05-10
- 格式:DOCX
- 页数:34
- 大小:30.90KB
完整word版C++语言第一课Word下载.docx
《完整word版C++语言第一课Word下载.docx》由会员分享,可在线阅读,更多相关《完整word版C++语言第一课Word下载.docx(34页珍藏版)》请在冰点文库上搜索。
1.1.1C++的发展:
具
C++程序设计语言是由来自AT&
T贝尔实现室的BjarneStroustrup设计和实现的,它兼
Simula语言在组织与设计方面的特性以及适用于系统程序设计的C语言特性。
C++最初的版本被称作“带类的
C(Cwithclasses)”,在
1980年被第一次投入使用;
当时它只支持系统程序设计和数据抽象技术。
支持面向对象程序设计的语言特性在1983年被加入C++;
之后,面向对象设计方法和
面向对象程序设计技术就逐渐进入了C++领域。
在1985年,C++第一次投入商业市场。
在1987至1989年间,支持范型程序设计的语言特性也被加进了C++
随着若干独立开发的C++实现产品的出现和广泛应用,正式的C++标准化工作在1990
年启动。
标准化工作由ANSI(AmericanNationalStandardInstitute)以及后来加入的ISO
(InternationalStandardsOrganization)负责。
1998年正式发布了C++语言的国际标准。
1.1.2C++的开发环境:
VisualStudio6.0
这个虽然是Microsoft公司的老版本的开发环境,但是鉴于其后继版本VisualStudio.NET
的庞大身躯,以及初学者并不那么高的功能要求,所以推荐这个开发环境给C++的初学者,
供其学习C++的最基本的部分,比如C的那部分子集,当然你别指望他能够支持最新的C99
标准。
在日常的开发中,仍然有很多公司使用这个经典稳定的环境,比如笔者就看曾亲见有
些公司将其编译器替换为GCC做手机开发之用。
VisualStudio.NET
作为Microsoft公司官方正式发布的最新版本开发环境,其中有太多激动人心的功能。
结合其最新的C++编译器。
对于机器配置比较好的开发人员来说,使用这个开发环境将能满足其大部分的要求。
BorlandC++BuilderX
C++BuilderX则是完全从C++的角度思考得出的一个功能丰富的IDE。
其最大的特点是
跨平台,跨编译器,多种Framework的集成,并且有一个WxWindows为基础的GUI设计
器。
尤其是采用了纯C++来重写了整个Framework,摒弃了以前令人无奈的版本。
对于C++
的开发来说,从编译器,到库,到功能集成都是非常理想的。
可以预见,BorlandC++Builder
X2.0很值得C++爱好者期待。
唯一令人难堪之处是作为一个C++的开发工具,其IDE是用
Java写的,在配置不够理想的机器上请慎重考虑再安装。
DevC++
GCC
候,GCC
是一个很好的编译器。
在Windows上的C++编译器一直和标准有着一段距离的时
就是一个让Windows下开发者流口水的编译器。
Dev-C++就是能够让GCC跑在
Windows
下的工具,作为集成开发环境,还提供了同专业
IDE
相媲美的语法高亮,代码提
示,调试等功能。
由于使用Delphi开发,占用内存少,速度很快,比较适合轻量级的学习和使用。
1.2Dev-cpp的环境
启动Dev-c++后的环境如下:
在这个环境中,编辑好源代码后,单击可以编译源代码,如果编译有错误,则列出
错误,并停止编译,这个操作的快捷键为Ctrl+F9。
如果编译成功,则可以单击,运行编译好的程序。
当然,也可以单击,编译当前的程序并运行。
这个操作的快捷键为F9.
一些有用的快捷键:
Ctrl+y:
删除当前行
Ctrl+n:
新建源文件窗口
Insert:
插入与改写状态切换
1.3C++程序结构
1.3.1HelloWord!
输入以下程序并编译、运行。
#include<
iostream>
usingnamespacestd;
intmain()
{
cout<
<
"
HelloWord!
endl;
}
从这个mini程序可以看到C++程序的一般格式。
注释如下:
//包含要使用的库函数。
这里是输入输出功能。
因为一个//信息系统总要输入输出信息,所以基本上每个程序都会
intmain()
//包含它。
//把std名字空间打开,程序可以正确识别std中的名字
了,//如cout,endl等(开盖子语句)。
//主函数,执行入口,在最新标准中,它必须返回int
//类型数据
//函数的内容必须放在{}括号中
//输出信息
//函数结束
还可以看到,程序的语句必须用分号结束
在Dev-cpp中,执行后屏幕一闪,就回到编辑界面,怎样让程序等一会,让我们能看清执行结果。
有两种方法:
getchar();
这种方法调用函数getchar(),它等待从命令行得到一个字符,回车结束。
所以回车后回到编辑界面。
或:
system(“pause”);
这种方法调用
中的
cmd命令“
pause”,按任意键回到编辑界面。
练习:
(1)在Dev-cpp中编写代码,让它说一些你想说的话。
注意,在它可以
说中国话,
只要把它放到英文的引号中就行。
(2)编程序显示一首唐诗
(3)编程,用字符*组成一个3列5行的平行四边形
1.3.2能说会算
放在引号中的内容会原样输出。
如果不放在引号中呢?
比如编程计算123×
321.
321*123<
可以看到,对于没有放到引号中的类型,C++会把这些内容作为表达式,计算并输出这个表达式的值。
(1)计算半径为12的球的体积
(2)一元二次方程的系数分别为1,5,3,求这个方程的根。
C++中的常用算术运算符:
运算C++中的运算符
++
--
×
*
÷
/
求余数%
1.3.3
变量
如果在HelloWord
程序中,去掉引号,会发生什么。
试一试。
对了,它把Hello看成了一个变量,并报告说
Hello这个变量没有定义。
C++是一种强类型
语言,要求所有的变量都要
先定义后使用。
定义变量的方法为:
类型名变量名
如:
inta;
//定义一个变量,变量名为
a,它的类型为整型
doublec,d;
//定义两个变量,变量名为
c和d,它们的类型都为double
intb=12;
//定义一个变量,变量名为
b,类型为整型,同时给变量
b赋值,让变量b的值为
//12.
要改变一个变量的值,可以使用
赋值号“=”,它的作用是:
计算出等号右边的表达式的值,
然后把这个结果赋值给等号右边的变量。
如执行以下语句:
b=-1;
可以让变量b的值为-1
C++常用基本数据类型
类型
说明
长度(字节)
表示范围
备注
char
字符型
1
-128~127
unsignedchar
无符号字符
0~255
int
整型
4
约±
21亿
unsignedint
无符号整型
0到约42亿
double
双精度型
8
10308
15位有效位
bool
布尔型
true和false
(1)计算半径为12的球的体积,把球的半径保存在变量r中,把球的体积放到变量
(2)一元二次方程的系数分别为1,5,3,求这个方程的根。
把系数分别保存在变量
中。
判别式结果保存在d中,根分别保存在x1和x2中。
v中。
a,b,c
(3)在第一题中,如果忘记给变量r赋值,会得到什么结果。
为什么?
(4)在第一题中,如果把变量v的类型设置成了int,会得到什么结果,为什么?
(5)编写程序,输入三角形的三边,求三角形的面积。
公式为:
area=sqrt(s(s-a)(s-b)(s-c))
其中s为半周长s=(a+b+c)/2
(6)运行如下的程序,会得到什么结果,想一想,为什么?
inta=10000;
intb=a*a*a;
b<
1.3.4赋值语句
赋值,顾名思义,就是把一个值赋予某个量。
可以这理解:
变量相当于装东西的容器,赋值的过程就是把东西放进容器的过程。
赋值语句格式如下:
变量=表达式;
写赋值语句有以下几点要注意:
1、赋值号“=”
赋值号是一个运算符。
表示“把等号右边的表达式的值赋值给等号右边的变量”。
它和数学中的符号一样,但含义却完全不一样。
比如,它显然没有交换律:
a=b不能写成b=a
a=b+c如果写成b+c=a还是一个语法错误。
2、赋值号两边的数据类型必须相同或相容
C++中的量不管是变量还是常量都有一个属性称为“数据类型”。
数据类型相同的或相容的才可以相互赋值。
怎么来理解这句话呢?
我们知识变量就是内存中指定的一些存储单元,可以把它想象成具有一定大小的盒子,它们能存储某些类型的数据。
如果给的数据刚好能放到盒子里,当然没有问题。
但如果你给的数据占用的空间超过了盒子的大小,就会出问题了。
对于数据类型相容的,可以这样理解。
如果我们给的数据占用的空间小于盒子的空间,一般也可以勉强用,这就属于“相容”的情形,一般不会出错。
但如果反过来,则盒子会装不下,会发生“溢出”,这就不行了,会出错。
因些,我们在写赋值语句时,要注意两边的类型是否匹配。
赋值语句的一般写法为:
a=3
x=x+2
x=y/z
当一个变量既出现在表达式的左边又出现在右边时,可以缩写。
如上面的表达式可写为:
x+=2
x/=z
对于x=x+1或x=x-1的表达式来说,C/C++提供了更加简洁的写法,
x++
x--
1、把一个整数的各位数字倒序输出。
1.3.5做“通用”程序
在前面的学习中,我们只能算程序时就确定的数据。
但常常有些数据在编程时是不知道
具体值的。
比如收银台程序就不能假定用户只能买1件201元的衣服。
在程序运行时,临时输入数据,可以用cin。
比如计算球的体积的程序:
intr,v;
cin>
>
r;
v=3.14*4/3*r*r*r;
v<
system("
pause"
);
1.输入两个数,放到变量a,b中,然后交换变量a,b的值,并输出
2.做一个自己的程序,当程序运行时输入数据,完成某个计算任务。
1.4文件操作
1.4.1建立文件流
举例:
编程计算两个数的和、差、积、商。
输入:
从文本文件jisuan.in读入数据。
文件格式为:
只有两个数,中间用空格分隔如:
52
输出:
输出到文件jisuan.out中,格式为:
每行一个数,分别为和、差、积、商的结果。
7
3
10
2.5
参考代码:
fstream>
inta,b;
ifstreaminf("
jisuan.in"
ofstreamoutf("
jisuan.out"
//设置输入文件流inf
////设置输出文件流
并初始化
outf并初始化
inf>
a>
b;
outf<
a+b<
a-b<
a*b<
a*1.0/b<
1.4.2用文件流替换标准输入输出流
同上面的问题,参考代码:
freopen("
"
rt"
stdin);
//把文件流重定向到标准输入流cinfreopen("
wt"
stdout);
//把文件流重定向到标准输出流coutcin>
已知物体的运动的初速度和加速度,可以求出物体经过一定时间运行的距离,其公式为:
s=v0t*1/2*vt2
编程求物体的运行距离。
输入文件:
juli.in
格式为:
共有三行数据,每一行由空格分隔的三个数字组成,分别表示初速度,加速度和时间。
输出文件:
juli.out
共三行,每行一个数,表示物体运行的距离。
1.5流程控制
1.5.1IF语句
条件语句用于响应一个条件的两个方面。
例如:
今天如果下雨,我们就在家;
否则(不下雨)我们就出去玩。
。
用C++的IF语句可写成:
if(天下雨)
在家;
else
出去玩;
IF语句的一般格式为:
if(条件)
分支一;
分支二;
“分支一”和“分支二”表示当条件成立时和不成立分别要执行语句。
执行过程为:
如果条件成立(也称条件为真),那么程序执行分支一中的语句,否则(条件为假)程序执行分支二的语句。
图示:
注意:
1、条件语句的分支如果不只一个语句,需要用花括号括起来,组成一个复合语句。
2、在If语句中,else部分可以省略。
此时的执行逻辑如下:
3、在IF语句中还可以嵌套IF语句,一般来说,把IF语句嵌套在else分支中。
此时的写法形如:
if(条件1)
分支一
elseif(条件2)
分支二
elseif(条件3)
分支三
分支四
例1、输入两个数a,b,输出较大的数。
intvoidmain()
if(a>
b)
a;
条件由关系表达式组成,C++的关系运算符有:
==(比较左右值是否相等)
(比较左值是否大于右值)
=(比较左值是否大于或等于右值,也称为不小于)
(比较左值是否小于右值)
=(比较左值是否小于或等于右值,也称为不大于)
!
=(比较左右值是否不相等)
特别要注意,关系运算符的“等于”,是由两个=组成。
如果写成了一个,就成了赋值语句。
要命的是,许多编译器并不报错,所以一定要小心。
关系运算的结果为逻辑值。
对于复杂的条件,需要用到逻辑运算符。
逻辑运算的结果为逻辑值。
C++的逻辑运算符有三个:
符号
意思
例子
&
并且(and)
条件1&
条件2
||
或者(or)
条件1||
条件2
!
非(not)
条件
下面列出了&
(与)
操作的所有可能条件及结果:
真&
真=真
假=假假&
假=假
下面列出了||(或)操作的所有可能条件及结果
真||真=真
真||假=真
假||假=假
以下则为!
操作:
真=假
假=真
1、判断一个数是偶数或奇数。
2、判断一个字母是大写字母,小写字母,还是数字
3、程序运行时,输入三个数,把它们按从小到大的顺序输出。
输入文件threenum.in:
三个数,由空格分隔
输出文件threenum.out:
三个由空格分隔的从小到大的数
1.5.2switch语句:
多级if...else...显然是为了那些可能需要进行多级判断才能做出选择的情况。
化多级判断,提供了switch语句。
switch语句的格式:
switch(整型或字符型变量)
C++为了简
case变量可能值1:
break;
case变量可能值2:
case变量可能值3:
分支三;
...
default:
最后分支;
}
在switch的语法里,我们要学到4个关键字:
switch、case、break、default。
在switch(变量)这一行里,变量只能是整型或字符型。
程序先读出这个变量的值,然后在各个"
case"
里查找哪个值和这个变量相等,如果相等,就算条件成立,程序执行相应的
分支,直到碰上break或者switch语句结束。
实例:
模拟网络调查,要求输出不同的选项,供网友选择(通过简单地输入数字),程序根据网友的选择,输出相应不同的结果。
intmain(intargc,char*argv[])
intfromWay;
cout<
"
请通过输入序号,选择您如何来到本网站。
1)----通过搜索引擎"
<
endl;
2)----通过朋友介绍"
3)----通过报刊杂志"
4)----通过其它方法"
cin>
fromWay;
switch(fromWay)
case1:
您是通过搜索引擎来到本网站的。
case2:
您是通过朋友介绍来到本网站的。
case3:
您是通过报刊杂志来到本网站的。
case4:
您是通过其它方法来到本网站的。
错误的选择!
请输入1~4的数字做出选择。
return0;
首先,intfromWay定义了一个整型变量,准备用来存储用户输入的选择。
程序将根据fromWay值,在下面的各个case中找到匹配的值。
本例中switch
case,值分别是1、2、3、4。
如果输入的是2,所以程序进入下面这个case:
带有四个
个
程序打出"
switch语句。
这行内
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 完整 word C+ 语言 第一
![提示](https://static.bingdoc.com/images/bang_tan.gif)