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;
}

  

posted on 2017-11-14 11:14  yao910  阅读(106)  评论(0)    收藏  举报