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

















原创粉丝点击