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

传智C++课程笔记-1相关推荐

  1. JAVA_Lesson14(传智播客笔记之多线程)

    多线程间通信-示例 之间是很多线程都在执行同一项任务,但是现在他们处理的任务不同(处理的还是同一资源). 线程间通信-等待唤醒机制(握手机制) 应该有个判断里面是否有资源的标记flag,判断是否有资源 ...

  2. photoshop基础教程视频-贺叶铭-传智播客-笔记

    界面构成 1.菜单栏 2.工具箱 3.工具属性栏 4.悬浮面板 5.画布 ctrl+n 新建对话框 (新建画布) 画布200*200大小,是指以毫米为单位,当不说单位,默认是毫米. 打开对话框:ctr ...

  3. 传智播客python笔记_python传智播客笔记--第十天:隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写...

    封装,继承,多态 隐藏属性,私有属性,私有方法,__del__方法,类的继承,类中方法的重写 -**************************************************** ...

  4. JAVA_Lesson8(传智播客笔记之继承、单例设计模式懒汉式、饿汉式)

    数组对象工具的建立(重要的是这种思想) 主函数是静态的,主函数需要调用的也需要static. 当有2个.java文件时,先编译含有函数功能的.java文件,再编译含主函数的.java文件.(因为主函数 ...

  5. C++ 零基础入门到实战就业教程传智教育_笔记

  6. HTML+CSS+JS 传智 详细笔记

    HTML(1)- -毕向东老师对Html的简介 CSS- -毕老师对CSS的简介 Javascript- -毕老师对JS的简介 html&css等等练习表(W3Cscholl) js练习表回顾 ...

  7. 传智播客python培训班 青岛

    2021年,随着我国数字化脚步加快,企业和市场对于数字化技术人才的需求不断攀升,IT互联网培训机构担当起人才培养的重要任务.众多IT培训机构在强大市场需求面前也加足马力向前奔跑,本文将解析2021年I ...

  8. cs213n课程笔记

    文章目录 一.计算神经网络(P1) 1 激活函数 实际操作: 2 数据预处理 3 权重初始化 4 批标准化 二.训练神经网络(P2) 1.梯度下降 实际使用 2.避免过拟合 3.正则化 Trainin ...

  9. 揭秘:传智播客报名如此火爆的内幕

    揭秘:传智播客报名如此火爆的内幕 元宵节刚刚结束,上海传智就迎来了网页十期班开学典礼,开班现场人头攒动,场面十分火爆,这也是网页平面班开年的第一个班级. 口碑好,就是这么任性! "我现在是一 ...

最新文章

  1. Uncaught SecurityError: Failed to execute 'replaceState' on 'History': A history state object with
  2. java7 AIO初体验
  3. 数据结构与算法--图论-深度优先搜索及其应用
  4. 谭浩强c++程序设计知识点思维导图
  5. linux 与window 相互共享命令
  6. 去掉WINDOWS SERVER 开机按CTRL+ALT+DEL登陆的方法
  7. tomcat 8启动很慢解决方式
  8. HDU 6191 2017广西邀请赛:Query on A Tree(字典树启发式合并)
  9. 北京大学生物信息学课程(5)
  10. html下载文件和上传文件(图片)(java后台(HttpServlet))打开保存路径和选择文件录取+(乱码UTF-8)+包...
  11. vim中:x和:wq的区别
  12. 苹果硅:Wintel的过去
  13. CSS固定定位(position: fixed;/background-attachment: fixed;)
  14. 域名升级访问中拿笔记好_好记性也应做笔记,安利一款比onenote更好用的云笔记工具...
  15. matlab设置非平坦结构元,基于多尺度多结构元的数学形态学边缘检测
  16. VmWare12 遭win11程序兼容性助手阻止运行的解决方法
  17. cBridge 2.0: 基于Celer状态守卫者网络的通用跨链平台
  18. 企业微信为何出现信息发不出去的情况
  19. 2、java语言基础
  20. 苹果7 plus手机显示无服务器,天了噜!iPhone 7 Plus 居然有这些功能!非买不可!...

热门文章

  1. 并查集杭电1272小希的迷宫
  2. list dict 性能测试
  3. 第2课第3节_Java面向对象编程_继承性_P【学习笔记】
  4. keil5一点project就闪退
  5. UNIX 环境高级编程 文件和目录
  6. ORACLE_LOADER加载外部数据
  7. 程序练习:Matlab 实现最小二乘法
  8. 编程练习:Matlab 一个小任务(-)
  9. VTK序列图像的读取
  10. java层 android_Android开发实践:Java层与Jni层的数组传递