第二课 程序设计、算法,C++语言简介
目 标
预知识:程序设计、算法和C++
顺序结构
标准数据类型和变量的定义
1、程序设计
程序设计
是给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。
0.2、算法
算法(Algorithm)是指解题方案的准确而完整的描述,是一系列解决问题的清晰指令,算法代表着用系统的方法描述解决问题的策略机制。
有穷性
确切性
输入项(≥0)
输出项(≥1)
可行性
算法
描述算法的方法有多种,常用的有自然语言、结构化流程图、伪代码和PAD图等,其中最普遍的是流程图。
循环for语句流程图
顺序结构流程图
计算机程序
计算机程序
是用计算机语言编写的能完成一定功能的指令序列。
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus nibh sit amet sem vulputate venenatis bibendum orci pulvinar. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec luctus nibh sit amet sem vulputate venenatis bibendum orci pulvinar.
计算机语言
计算机语言是计算机能识别的指令及其使用规则的集合。
计算机语言有很多种:
例如:C、Java、VB、Python、PHP、C++等。
C++语言简介:
1、C++是一种历史悠久的语言。1983年,,贝尔实验室的Bjarne Stroustrup在C语言基础上推出了C++。 C++进一步扩充和完善了C语言,是一种面向对象的程序设计语言。
2、C++是应用广泛、深受欢迎的语言,流行程序排行第三\四。排在前四名的分别是C、Java、C++和Objective C。
3、C++兼容C,是面向对象的语言,适合编写系统程序。
4、C++标准的版本。第一个标准,C++98,1998年发布;第二个标准C++03,2003年发布;第三个标准,C++11,2011年发布;下一个标准可能是C++15、C++17。本课程主要讲标准的C++。
何谓好的程序
符合以下两条,即是好的程序:
第一:能完成要求的功能。
第二:良好的性能。
(包括:1、可读性好,易于理解。2、节省时间,节约空间。3、可靠性高,易维护。)
可读性好易于理解
节省时间
节约空间
可靠性高易维护
C++程序简介:
C++的程序是结构化程序设计语言。结构化程序包括顺序、选择、循环三种控制结构。顺序结构就是按照语句的先后顺序依次招待程序的方式。
顺序
选择
循环
结构化
程序
例:最简单的程序:输出:Hello world!
【参考程序】
#include
int main(){
printf("Hello word!");
return 0;
}
提示:所有的代码都要在英状态输入。
1、顺序结构
标准数据类型和变量的定义
1.1标准数据类型和变量的定义
知识点:
各种标准数据类型的分类、定义标识符、占字节数、数值范围、表现形式和应用,常量和变量的概念、分类、语法格式说明和应用。
1.1.1、标准数据类型
知识点:
C++语言提供了丰富的数据类型。
本节介绍几种基本的数据类型:整型、实型、字符型。
它们都是系统定义的简单数据类型,称为标准数据类型。
1.1标准数据类型和变量的定义
1、整型(integer)
在C++语言中,整型类型标识符为int。根据整型变量的取值范围又可将整型变量定义为以下8种整型类型:
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}数据类型
定义标识符
占字节数
数值范围
数值范围
短整型
short [int]
2(16位)
-32768~32767
-215~215-1
整型
[long] int
4(32位)
-2147483648~2147483647
-231~231-1
长整型
long [int]
4(32位)
-2147483648~2147483647
-231~231-1
超长整型
long long [int]
8(64位)
-9223372036854775808~9223372036854775807
-263~263-1
无符号整型
unsigned [int]
2(16位)
0~65535
0~216-1
无符号短整型
unsigned short [int]
2(16位)
0~65535
0~216-1
无符号长整型
unsigned long [int]
4(32位)
0~4294967295
0~232-1
无符号超长整型
Unsigned long long
8(64位)
0~18446744073709551615
0~264-1
1.1标准数据类型和变量的定义
2、实型(real)
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}数据类型
定义标识符
数值范围
占字节数
有效位数
单精度实型
float
-3.4E+38~3.4E+38
4(32位)
6~7位
双精度实型
double
-1.7E+308~1.7E+308
8(64位)
15~16位
长双精度实型
long double
-3.4E+4932~1.1E+4932
16(128位)
18~19位
布尔变量
bool
真true或假false
1(8位)
1.1标准数据类型和变量的定义
3、字符型(char)
字符常量有以下两种表示法:
⑴、普通表示形式
字符常量是由单个字符组成,所有字符采用ASCII编码,ASCII编码共有128个字符(表2-4)。
在程序中,通常用一对单引号将单个字符括起来表示一个字符常量。如:'a','A','0'等。如字符A的序号是65,字符a的序号是97, 字符0的序号的48。
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}序号
字符
序号
字符
序号
字符
序号
字符
序号
字符
序号
字符
32
空格
48
0
64
@
80
P
96
`
112
p
33
!
49
1
65
A
81
Q
97
a
113
q
34
”
50
2
66
B
82
R
98
b
114
r
35
#
51
3
67
C
83
S
99
c
115
s
36
$
52
4
68
D
84
T
100
d
116
t
37
%
53
5
69
E
85
U
101
e
117
u
38
&
54
6
70
F
86
V
102
f
118
v
39
'
55
7
71
G
87
W
103
g
119
w
40
(
56
8
72
H
88
X
104
h
120
x
41
)
57
9
73
I
89
Y
105
i
121
y
42
*
58
:
74
J
90
Z
106
j
122
z
43
+
59
;
75
K
91
[
107
k
123
{
44
,
60
76
L
92
\
108
l
124
|
45
-
61
=
77
M
93
]
109
m
125
}
46
.
62
>?
78
N
94
^
110
n
126
~
47
/
63
?
79
O
95
_
111
o
127
deL
1.1标准数据类型和变量的定义
3、字符型(char)
⑵、转义字符表示形式。
转义字符有三种用法:表示控制字符、表示特殊字符、表示所有字符。常用的转义字符如右表所示。
{5C22544A-7EE6-4342-B048-85BDC9FD1C3A}转义字符
含义
'\n'
换行
'\t'
水平制表
'\b'
退格
'\r'
回车(不换行)
'\0'
空字符
'\’'
单引号
'\”'
双引号
'\\'
一个反斜杠字符
'\ddd'
1~3位八进制数所代表的字符
'\xhh'
1~2位十六进制数所代表的字符
1.1标准数据类型和变量的定义
例1:整型数据类型存储空间大小
【参考程序】:
#include
using namespace std;
int main()
{
int x;
short y;
cout<return 0;
}
分析:分别定义int,short类型的变量各一个,并依次输出它们的存储空间大小(单位:字节)。
整型数据类型存储空间大小
【说明】:
sizeof(表达式)除变量外,还可以是常量和各种标准类型。C++默认整型常量和实型常量为int型和double型,所以长度为4和8。
基于char数据在内存中存储的是整型数值,所以它可以和int变量一样做加减运算,下面这个例子说明了这种用法。
1.1标准数据类型和变量的定义
例2:大小字母的转换
【参考程序】:
#include
using namespace std;
int main()
{ char c1,c2;
c1='a';
c2='A';
cout< c1=c1-32; //小写字母转换大写字母
c2=c2+32; //大写字母转换小写字母
cout< }
运行结果:
a A
A a
【说明】:
因为所有小写字母的ASCII值要比对应大写字母的ASCII值大32,所以c1减去32后便得到原来字母的大写形式。反之,c2加上32后便得到原来字母的小写形式。
#include
using namespace std;
int main(){
int a = 2147483647;
a = a + 1;
cout << "a=" << a << endl;
return 0;
}
//运行程序,输出:a=-2147483648。
例、阅读并上机调试以下程序,观察运行结果,体会int类型的数据范围。
#include
using namespace std;
int main(){
int b = 0, a = 100;
char ch = 'A';
b = a + ch;
cout << ch << " " << int(ch) << " " << b << endl;
return 0;
}
//运行程序,输出:A 65 165。
程序中定义了b、a两个整型变量和一个字符型变量ch,并进行了初始化。需要注意的是,在C++中,字符型数据可以直接参与整型或者实型数据的运算,按照其ASCII码值使用。int(ch)表示把ch字符强制转换成int类型。
例、阅读并上机调试以下程序,观察运行结果。
作业:
编写一个程序,从键盘输入一个字符串,
实现里面数据大写转换成小写
感谢各位
Thank you for your