C++入门学习第一天

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模块只是描述堆栈的一种方式, 下面几小结将用各种堆栈作为例子,阐释不同的程序设计风格。

















  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值