传智C++课程笔记-1

来源:互联网 发布:淘宝店怎么描述店铺 编辑:程序博客网 时间:2024/06/10 20:13
  1. 求解一个圆还有圆的周长
    编译环境 VS2008
#include <iostream>   //包含C++的头文件using namespace std;    //使用一个标准的命名空间void  main01(){    //printf("hello world!\n");    cout << "hello world!"<<endl;    system("pause");    //return 0;}//编写一个求圆的面积的函数  //使用面向过程的方法求解一个圆的面积以及周长int main(){    double r = 0;   //    double s = 0,grith = 0;    const double pi = 3.141159;    cout<<"请输入圆的半径:";    cin>>r;    grith = 2*pi*r;    s = pi*r*r;    cout<<"圆的半径为:"<<r<<endl;    cout<<"圆的面积为:"<<s<<endl;    cout<<"圆的周长为:"<<grith<<endl;    system("pause");    return 0;}

下面是使用面向对象的方法编写C++程序,实现输入圆的半径输出圆的周长和面积的C++程序

#include <iostream>   //包含C++的头文件using namespace std;    //使用一个标准的命名空间void  main01(){    //printf("hello world!\n");    cout << "hello world!"<<endl;    system("pause");    //return 0;}//编写一个求圆的面积的函数  //使用面向过程的方法求解一个圆的面积以及周长int main02(){    double r = 0;   //    double s = 0,grith = 0;    const double pi = 3.141159;    cout<<"请输入圆的半径:";    cin>>r;    grith = 2*pi*r;    s = pi*r*r;    cout<<"圆的半径为:"<<r<<endl;    cout<<"圆的面积为:"<<s<<endl;    cout<<"圆的周长为:"<<grith<<endl;    system("pause");    return 0;}class Circle{public:  //类的访问控制    double radius;    void Set_Radius(double r){radius  = r;};    double Get_Radius(){return radius;};    double Get_Grith(){return 2*3.14f*radius;};  //通过成员函数获取成员变量    double Get_Area(){return 3.14f*radius*radius;};};//使用面向对象的方法编写一个程序,获取圆的半径,最后输出圆的周长和圆的面积//在C++中变量有一个好听的名字叫做属性int main(){     Circle A,B;    //用类定义两个对象     double r = 0,R =0;     cout  << "请输入R1的值:";     cin >> r;     cout  << "请输入R2的值:";      cin >> R;     A.Set_Radius(r);   //类的调用     cout << "A.Radius = " << A.Get_Radius() << endl;      cout << "A.Grith = " << A.Get_Grith() << endl;      cout << "A.Area = "<< A.Get_Area() << endl;      B.Set_Radius(R);   //类的调用      cout << "B.Radius = " << B.Get_Radius() << endl;      cout << "B.Grith = " << B.Get_Grith() << endl;      cout << "B.Area = "<< B.Get_Area() << endl;    system("pause");    //实现让程序调试运行的时候能够停留在这个页面方便程的调试    return 0;}
#include<iostream>using namespace std;//c++的命名空间class circle{public:    double r;    double pi = 3.1415926;    double area = pi*r*r;};// 2010编译不通过 但是在2013编译器能编译通过int main(){    circle c1;   //c1在对象初始化的时候进行了相应的对象的初始化,也就是进行了////double r;//double pi = 3.1415926;//double area = pi*r*r;//    cout << "please input your r" << endl;    cin >> c1.r;   //这个时候虽然对r进行了赋值但是这时已经不在进行pi和area的运算;    cout << c1.area << endl;    //乱码,在调用的时候其实的得到的是r,没有初始化时的内存空间的值area,所以area是一个很大的值    system("pause");    return 0;}

这里写图片描述

#include <iostream>#include <string.h>#include <stdlib.h>using namespace std;//文件iosream中没有引入标准的  std;需要程序员手工的写int main31(){    system("pause");    return 0;}//怎样定义一个命名空间namespace namespaceA{  int a = 10;}namespace namespaceB{    int a = 20;    namespace namespaceC    {        struct Teacher        {            char name[32];            int age ;        };    }} //使用命名空间int main(){     char buff[25];    int i = 3;    sprintf(buff,"%d",i);    using  namespaceA::a ;    cout <<a << endl;    system("pause");    return 0;}

和C语言相比C++的实用性增加主要是:

  • C语言的变量必须在作用域开始的地方定义C++中更加强调语言的使用性,所有的变量都能够在使用的时候在定义;

register关键字增强
register关键字请求编译器让变量a直接放在寄存器里面,速度快,因此在C语言中register修饰的变量不能够取地址,但是在C++中能够取得register变量的值。

在C++中register主要有一下的变化:

  1. register关键字请求编译器将局部变量存储于寄存器中
    C++编译器有自己的优化方式,不使用register也能够做优化,C++中能够取得register变量的地址。
  2. C++编译器发现程序中需要取register变量地址的时候,register变量的声明变得无效;
  3. 早起的C语言编译器不会对代码进行优化,因此register变量是一个很好的补充;

C++中变量检测增强,在C语言中 重复的定义多个同名的全局变量是合法的,但是在C++中不允许同时定义多个同名的全局变量,在C语言中多个同名的全局变量会被链接到全局数据区域的的同一个地址空间上;

struct类型增强
C语言的struct定义了一组变量的集合,C编译器并不认为这是一种新的类型,C++中struct是一个新类型的定义声明

C++中所有的变量和函数都必须有类型的声明C语言中的默认类型在C++中是不合法的
C++中新增Bool类型的关键字并且C++中Bool类型的数据只有两种取值,true和false,理论上bool只占一个字节。如果多个bool类型放在一起可能各占一个bit,这取决于编译器得到实现,

三目运算符在C和C++编译器的实现

  • 三目运算符在C语言中,返回变量的值,不能作为变量使用,
  • 三目运算符在C++中返回的是变量本身,能够作为左值并能够放在程序的任何地方
  • 但是当三目运算符中返回值有一个可能是常量值的时候,则不能作为左值使用(a < b ? 1 : b) = 30;因为有可能返回的是常量1,因此不能够做左值;

  • -
#include <iostream>using namespace std;struct Teacher{    int a_arg[10];    char s_tring[100];};int main(){    Teacher   a;      //在C++中对struct关键字进行增强,认为struct定义的为一个类型    printf("hello world!\n");    system("pause");          return 0;}
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 多肉长出了多头怎么办 多肉已经徒长了怎么办 脖子抻筋了 很疼怎么办 声带肥大造成说话声音沙哑怎么办 轻微的骨性龅牙怎么办 19岁没了晨勃怎么办 早上晨勃消失了怎么办 阴茎勃而不坚怎么办 一个月婴儿痰多怎么办 孕妇咳绿色浓痰怎么办 买的戒指大了怎么办 孩子鞋子买大了怎么办 鞋子不大但掉跟怎么办 鞋子长了一码怎么办 新鞋有点顶脚怎么办 宝宝鞋子买小了怎么办 鞋子买的小了怎么办 粉底液颜色偏黄怎么办 腿长的不直怎么办 多梦睡眠质量差怎么办 颈椎病引起的脑供血不足怎么办 骨头轻微的骨裂怎么办 怀孕六个月不想要怎么办 脚面一用力筋疼怎么办 肚子经常饿的响怎么办 一宿没睡第二天怎么办 婚姻走不下去了 怎么办 作业好多怎么办想哭了 熬夜后恶心想吐怎么办 脸上长了小肉瘤怎么办 6sp电池不耐用怎么办 小孩个子长得慢怎么办 4岁儿童身高偏矮怎么办 13孩子身高偏矮怎么办 9岁儿童身高偏矮怎么办 3岁宝宝个子偏矮怎么办 6岁宝宝个子偏矮怎么办 5岁宝宝个子偏矮怎么办 2岁宝宝个子偏矮怎么办 3岁宝宝身高矮小怎么办 微博什么都忘了怎么办