C++入门学习第一天
来源:互联网 发布:seo赚钱方式 编辑:程序博客网 时间:2024/05/21 03:54
1.学习C++ 最主要的事情就是集中关注概念,不要迷失在语言的技术细节中,对于程序设计和设计技术的理念远比对细节的理解更重要。
2什么是C++ 它是一个更好的C支持数据抽象 支持面向对象的程序设计支持通用型程序设计 原始的程序设计范型是确定你需要的哪些过程 采用你能找到的最好的算法。
2.1变量与算法 bool布尔char字符型 int整数类型double双精度浮点类型
+加 -减*乘 /除 %余
==等于 !=不等于 <小于 >大于 <=小于等于 >=大于等于
void some_funcition(){//函数不返回值
double d =2.2;//初始化浮点数
int i =7; 初始化整数类型
d=d+i; 将和值赋于d
i=d*i; 将乘积赋予i
}
像c一样 =是赋值 ==是检测
2.2检测循环 C++提供了一组很方便的用于表示选择和循环的语句。
bool accrpt(){
cout<<"Do you want to proceed(y or n)?/n";//写出提问
char answer =0;
cin>>answer;//读取答案
if(answer =='y') return true;
return false;
}
运算符<<(“送出”)用作输出运算符cout标准输出流 >>(“取入”)输入运算符cin标准输入流
通过回答‘n’纳入考虑范围
bool accrpt2(){
cout<<"Do you want to proceed(y or n)?/n";//写出提问
char answer =0;
cin>>answer;//读取答案
switch(answer){
case ‘y’:
return true;
case ‘n’:
return false;
default:
cout<<“I'll tale that for a no。/n”;
return false;
}
}
swatch会检查对照检查一个值,这些分情况常量必须互不相同。如果这个值与所有常量不匹配那么就选择default 当然也可以不提供default。
很少有程序不包含循环的
bool accept3(){
int tries =1;
while(tries<4){
cout《“"Do you want to proceed(y or n)?/n”;
char answer = 0;
cin》answer;
switch(answer){
case ‘y’:
return true;
case ‘n’:
return false;
default:
cout<<“Sorry,I don't understand that /n”;
tries = tries + 1;
}
}
cout<<"I'll take that for no /n";
return false;
} 这里while 语句一直执行到条件变成false结束;
2.3 指针与数组
数组可以如下定义: char v[10] //10个字符的数组;v[0]..v[9]
指针类似char* p;//指向字符的指针;
在声明里, []表示“的数组”, 而*表示“的指针”。 所有数组都以0为下界。
p = &v[3]; //p指向v的第4个元素;
一元的&是取地址运算符。
考虑将10个元素从一个数组复制到另一个数组:
void some_funcition(){
int v1[10];
int v2[10];
for(int i=0;i<10; i++) v1[i]=v2[i];
}
2.4模块程序设计
确定你需要的哪些模块;将程序分为一些模块,使数据隐藏于模块之中。被称为数据隐藏原理
C++提供了一种机制,可以把相关数据、函数等 组织到一个独立的名字空间里。例如模块Stack的用户界面可以按如下方式声明和使用;
namespace Stack{
viod push(char);
char pop();
}
void f(){
Stack::push('c');
if(Stack::pop()!=‘c’)error(“impossible”);
}
这里的Stack::限定词表限定push()和pop()是来自Stack名词空间。这些名字的其他使用将不会与之干扰,不会引起混乱。
Stack的定义可以通过程序的另一个单独编译的部分提供:
banespace Stack{
const int max_size = 200;
char v [max_size];
int top =0;
void push (char c)//检查上溢并压入c
char pop() //检查下溢并弹出
}
有关这个Stack模块的关键点是,用户代码完全被隔离于Stack的数据表示之外,隔离方式是通过写出Stack::push和Stack::pop()代码来实现。
数据实际上只是隐藏起来许多东西中的一类,数据隐藏的概念很容易扩展到信息隐藏,也就是说,例如函数、类型的名字,也很容易做成一个模块里面局部的东西。为此
C++允许任何声明放入名字空间里。
这个Stack模块只是描述堆栈的一种方式, 下面几小结将用各种堆栈作为例子,阐释不同的程序设计风格。
- ios 学习第一天 object-c入门
- C#学习第一天
- c学习第一天
- 学习c第一天
- c语言入门第一天
- C++入门学习第一天:c++与c的区别
- 汇编入门学习----第一天
- cocos2dx入门学习第一天
- swft入门学习-第一天
- python入门第一天学习
- C++入门学习第一天
- c学习第一天--常量
- Objective-C学习第一天
- ubuntu & C 学习第一天
- 学习C语言第一天
- Object-C 学习第一天
- c语言学习第一天
- C语言学习第一天
- maven project 编译 失效
- Linux内核的整体架构简介
- cmdbuild安装
- 仿淘宝、京东多重商品属性组合Sku标签
- bufferevent 结构体
- C++入门学习第一天
- Sql server 2014 安装教程
- Linux(Centos)之安装Nginx及注意事项
- Django第一个项目
- 关于jQuery中noConflict()用法分析(转)
- Gson教程六(译):空值的映射
- OpenGL 资料汇总
- activemq案例
- APNS 推送