传智C++课程笔记-1
来源:互联网 发布:淘宝店怎么描述店铺 编辑:程序博客网 时间:2024/06/10 20:13
- 求解一个圆还有圆的周长
编译环境 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主要有一下的变化:
- register关键字请求编译器将局部变量存储于寄存器中
C++编译器有自己的优化方式,不使用register也能够做优化,C++中能够取得register变量的地址。 - C++编译器发现程序中需要取register变量地址的时候,register变量的声明变得无效;
- 早起的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;}
阅读全文
0 0
- 传智C++课程笔记-1
- 课程笔记(1)
- 课程学习笔记 - 1
- PHP课程笔记1
- CSAPP课程笔记1
- course课程笔记1
- C语言课程笔记(一)
- 传智C++课程笔记2
- Struts2 课程笔记(1)
- 机器学习课程1-笔记
- CS231n课程笔记1:Introduction
- 数字信号处理课程笔记1
- 斯坦福大学CS231课程笔记1
- 传智播客C语言笔记一:C语言课程概述
- 课程笔记
- 课程笔记
- CS231n课程笔记翻译:神经网络笔记1
- 黑马IOS基础课程的学习笔记 C语言基础
- Qt调用DLL动态库接口函数程序崩掉
- 源码分析参考:Picklecompat
- 小程序html转wxml,微信小程序用wxParse解析html
- Spring--关于《Spring实战》中第5章SpringMVC中表单验证无效问题
- C#排序 How to Sort a List<T> by a property in the object
- 传智C++课程笔记-1
- 关于 char 、 wchar_t 、 TCHAR 、 _T() ||| 宏 _T 、 TEXT 、 _TEXT 、 L
- 关于爬虫IP代理以及日常维护
- 汇编小写字母转换大写字母
- 源码分析参考:Pipelines
- POI中文API文档
- 10年JAVA大神—教新手如果正确的学习JAVA路线
- 第7章 套接字选项
- linux awk命令详解