0.C语言和C++语言最大区别:
C语言:只能做结构化程序设计,不能做面向对象程序设计
没有对象,就没有类
只有变量和函数
C++ :能做结构化程序设计,也能做面向对象的程序设计
有变量,函数,类(对象)
1.程序是指计算机语言写的,可以被计算机连续执行的一条条指令的集合
程序设计:包括五个步骤 1确定数据结构 2确定算法 3编写程序 4调试程序 5书写文档
2.算法:有穷性 确定性 可行性 有零个或多个输入 有一个或多个输出
算法描述:伪代码和流程图(包括N-S流程图)
3.结构化程序
顺序结构 选择结构 循环结构
4.模块化结构
大而化小,分而治之:自顶向下 逐步细化 模块化
C语言是一种结构化程序设计语言
5.变量类型:逻辑型 字符型 整型 浮点型 空值型
字节:1个字节是8位二进制
6.短整型
2字节;长整型 4字节
7.整型变量回绕 溢出会发生回绕
8.浮点变量:
浮点数就是小数:float,double,long double,或者是特别大的数
float一般是4字节,double一般是8字节(具体值是多少看计算机)
使用sizeof计算它的实际大小,它们的有效数字不同,最少6位-10位,可以通过cfloat头文件查看
cout默认输出的格式是一样的,用cout.setf对它进行控制,
cout.setf(ios_base::fixed,ios_base::floatfield); //把浮点的字段变成固定的,不要变成e科学计数法
float a= 10.0/3.0;
double b= 10.0/3.0;
double e = 123.456789096; //显示的时候就不会是e表示法了
使用到小数时必须要用float或者double
9.字符变量:char类型 保存字符和小数
单引号字符;双引号字符串
10.常量和枚举常量:
enum Array {
Sun,
Mon,
};
11.数组和字符串:
std::cin >> buffer; //在输出的时候比较讨厌,>> 是流提取符,遇见空格就会停下来
所以这里就会用到另外一个方法,安全的方法;
std::cin.get(buffer,79); //最多79个字符,空格不会停下来
12.C++的string类:
#include <iostream>
int main()
{
char String1[] = "No man is an island";
char String2[20] = {'\0'}; //空间不够,但是会依然copy,覆盖掉后面的数据,这就比较危险了。所以有strncpy,可以指定copy多少个。
strcpy(String2,String1); //将字符串2 copy 到字符串1
strncpy(String2,String1,19); //不够大就会报错,没有留\0 //ta们只是C风格字符串,还不是C++字符串,真正的C++字符串在下面。
std::cout << String2 << std::endl;
return 0;
}
#include <iostream>
#include <string>
int main()
{
char String1[] = "No man is an island";
char String2[20] = {'\0'}; //空间不够,但是会依然copy,覆盖掉后面的数据,这就比较危险了。所以有strncpy,可以指定copy多少个。
strcpy(String2,String1); //将字符串2 copy 到字符串1
strncpy(String2,String1,19); //不够大就会报错,留\0
std::cout << String2 << std::endl;
std::string str1("This is a C++ string!");
std::cout << str1 << std::endl;
std::string str2;
str2 = str1;
std::cout << str2 <<std::endl;
return 0;
}
13.表达式、语句和运算符
有小数的除法:x =(double)a / (double)b; //只有这样才会得出有小数的运算,只有先将a或者b变成double或者float的形式,后面的运算才会出现小数。
做减法运算时要注意,如果定义变量unsigned int,结果如果为负数,就会发生回绕,就会出现特别奇怪的数
14.真值、if语句
#include<iostream>
int main()
{
bool a; //布尔变量
a = true;
std::cout << a << std::endl;
a = false;
std::cout << a << std::endl;
int x,y;
std::cout << "请输入两个数";
std::cin >> x;
std::cin >> y;
a = x>y;
if(a)
std::cout << "x比y大!" <<std::endl;
else
std::cout << "a是假!" <<std::endl;
return 0;
}
三目运算符:if(x>y)
z=x;
else
z=y; // 等价于 z=(x > y) ? x : y;
14.函数
#include<iostream>
#include<cmath>
int main()
{
double result = pow(15.0,3);
std::cout << result << std::endl;
std::cout << "今天学习函数" << std::endl;
return 0;
}
#include<iostream> //我们自己做的函数
int pow(int base, int n)
{
int i,p;
p=1;
for(i=1;i<=n;i++)
p=p*base;
return p;
}
int main()
{
int result = pow(3,3);
std::cout << result << std::endl;
std::cout << "今天学习函数" << std::endl;
return 0;
}
//语句调用、表达式调用、参数调用
message("Hello,world!"); //语句调用
cout << max(1,2) << endl; //表达式调用
int c;
c=max(3,max(1,2));
cout << c << endl; //参数调用
//函数声明
就是告诉main,有一个函数,不用怕找不到。
示例如下:
#include<iostream>
using namespace std;
int max(int m, int n);
int main()
{
int num;
int maxnum;
cout << "Enter 10 integer number:" << endl;
cin >> num;
maxnum = num;
for(int i=1;i<10;i++)
{
cin >> num;
maxnum = max(maxnum, num);
}
cout << "The maximal number is " << maxnum << endl;
return 0;
}
int max(int m, int n)
{
return m>n?m:n;
}
浙公网安备 33010602011771号