经过了了前两章C++的初步认识,C++的储存、表达形式和基本运算的学习,相信本人及大家都对C++有了基本的认识。下面就会进入C++的第二篇章:基于C++过程的程序设计。
第三章 C++程序设计初步
目录
3.4.3 用getchar和putchar函数进行字符的输入和输出
3.1 基于过程的程序设计和算法
3.1.1 算法的概念
一个基于过程的程序应包括以下两个方面:
(1)对数据的描述:即数据结构
(2)对数据的描述:即操作步骤,也叫算法
算法+数据结构=程序
算法:一种解题方案准确而完整的描述
数据结构:是计算机储存、组成数据的方式
3.1.2 算法的表示
算法通常可以有4种方式表示:
1.自然语言
2.流程图
3.伪代码(pseudo code)是用介于自然语言和计算机语言之间的文字和符号来描述的算法。它无固定的、严格的语法规则,书写方便,格式紧凑,容易修改。
如:
if x is positive then
print x
else
print -x
4.用计算机语言表示算法
3.2 C++的程序结构和C++语句
通常一个程序包含一个或多个程序单位,每个程序单位由以下3个部分组成:
(1)预处理指令。如#include指令。
(2)全局声明。函数外对数据类型、函数以及变量的声明和定义。
(3)函数。包括函数首部和函数体,在函数体中可以包含声明语句和执行语句。
一个完整的C++程序:
#include<iosteam> //预处理指令
using namespace std; //在函数之外的全局声明
int a=3; //同上
int main() //函数首部
{
float b; //函数内的声明
b=4.5; //执行语句
cin<<a<<b; //同上
return 0; //执行语句
}
如果一个变量在函数之外进行声明,此变量是全局变量
C++程序结构:
C++语句可以分为4种:
1.声明语句
2.执行语句
通知计算机完成一定的操作:
(1)控制语句:完成一定的控制功能;C++有9种语句:
if()...else... | 条件选择语句 |
for()... | 循环语句 |
whlie()... | 循环语句 |
do...whlie() | 循环语句 |
continue | 结束本次循环语句 |
break | 中止执行switch或循环语句 |
switch | 多分支选择语句 |
goto | 转向语句 |
return | 从函数返回语句 |
(2)函数和流对象调用语句
sort(x,y,z)
cout<<x<<endl //流对象调用语句
(3)表达式语句:任何一个表达式的最后加一个分号都可以成为一个语句。一个语句必须在 最后出现分号,分号是语句种不可缺少的一部分。
3.空语句
;//空语句,啥也没有
4.复合语句:用{ }把一些语句括起来成为复合语句
{
z=x+y;
if(z>100)z=z-100;
cout<<z;
}
3.3 赋值操作
赋值操作和之前的对变量赋值内容差不多,等以后遇到赋值操作的问题,再展开阐述吧。
3.4 C++的输入与输出
3.4.1 输入流与输出流的基本操作
cout语句和cin语句的一般格式:
cout<<表达式1<<表达式2<<...<<表达式n;
cin>>变量1>>变量2>>...>>变量n;
如:
#include<iostream>
using namespace std;
int mian()
{
cout<<"This is"
<<"a C++"
<<"program."
<<endl;
//也可以写成
cout<<"This is";
cout<<"a C++";
cout<<"program.";
cout<<endl;
return 0;
}
3.4.2 在标准输入流与输出流中使用控制符
当然如果要输入一些特殊的字符。就可以使用控制符,
标准输入输出流的控制符:
编写程序:各行小数点对齐
#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
double a=123.456,b=3.14159,c=-3214.67;
cout<<setiosflags(ios::fixed)<<setiosflags(ios::right)<<setprecision(2);
cout<<setw(10)<<a<<endl;
cout<<setw(10)<<b<<endl;
cout<<setw(10)<<c<<endl;
return 0;
}
运行结果: 123.46
3.14
-3214.67
3.4.3 用getchar和putchar函数进行字符的输入和输出
1.putchar函数:向终端输出一个字符
例3.2 输出单个字符
#include<iostream>
using namespace std;
int main()
{
char a,b,c;
a='B';b='O';c='Y';
putchar(a);putchar(b);putchar(c);putchar('\n');
putchar(66);putchar(79);putchar(89);putchar(10);
return 0;
}
运行结果: BOY
BOY
2.getchar函数:从终端输入一个字符
例3.3 输入单个字符
#include<iostream>
using namespace std;
int main()
{
char c;
c=getchar();putchar(c+32);putchar('\n');
return 0;
}
运行结果: 输入A a
3.4.4 用scanf和printf函数进行输入和输出
和putchar、getchar函数一样,printf函数进行输出,scanf函数进行输入。
例3.4 用scanf和printf函数进行输入和输出
#include<iostream>
using namespace std;
int main()
{
int a;
float b;
char c;
scanf("%d %c %f",&a,&c,&b);
printf("a=%d,b=%f,c=%c\n",a,b,c);
return 0;
}