C++第一节

来源:互联网 发布:淘宝联盟用店铺红包 编辑:程序博客网 时间:2024/06/08 17:32

大学的第一本编程书与别的学校可能有些不同,不是C,直接上的C++,谭浩强的C++。
实践出真知,直接上代码:
说,写一个a+b的程序,老师也不管三七二十八点八,直接来;

#include <iostream>using namespace std;int main(){   int a,b,sum;   cin >> a >> b;   sum = a + b;   cout << " a + b = " << sum << endl;   return 0;}

一个在学习上喜欢钻牛角尖的人当然不喜欢“不尽职”的老师。我心中不禁发问,这是啥?这是啥?写的这是个啥?<这个符号是啥意思,iostream用词典查不出来是啥意思?难道我词典是盗版的?为什么括起来?为什么书的后面的代码开头都有这东西?main是函数?为什么还学函数,初高中我都学够了,为什么还有函数! int main后面加个括弧,是不是神经病,加了你倒是填东西啊,不填东西是不是有毛病,还return 0, go home 不算了!

当然了,对于我心中的这些疑问,老师自然不会讲解的那么详细,一句:“先不要管这些,就按着抄”激起我心中无限头牛在碰撞!书本尽管有,但也似懂非懂的样子!

就从头到尾再分析一遍吧,什么是程序,程序 = 算法+数据结构;这是公认的,觉得没有比这再好的解释了,a+b算个算法吧,我是这么认为的,数据结构呢,我理解的就是一个数据由那些成分数据构成,用什么方式构成的,呈什么样的结构,数据结构的目的,就是为了提高算法的效率,起码目前我是这么认为的。
<1>
开头的“#”号是什么意思呢,就是标新立异,证明我用“#”开头的这一句,和其他的句子不是一回事儿,而且我这一行的行尾还不写分号,就是这么嚣张,就是这么拉风!

#include <iotream>

include,学过英语的都知道吧,包含的意思。
i-o-stream,三个单词,i 就是 in, 里面的意思,没毛病吧,o ,就是 out, 外面的意思 。 C++里面,in 就变成了输入的意思了, out就变成输出的意思了, stream就是“流”的意思,我一直把这个“流”当做一种武功绝学,“潮汐流”中,意在气先,气随意走,天人合一,气如潮汐!我写修仙小说算了!

所以iostream就是“输入输出流”的意思,这个没毛病吧,那iostream是什么呢,它是一个文件,它什么作用呢?就是给这个程序提供输入或者输出的一些信息,大白话就是,你买一个“小霸王”游戏机,得有游戏卡吧,得有手柄吧,iostream就是提供这些的。所以如果程序里要用到输入和输出的时候,就得包含这个iotream。所以第一句就是:#include <iostream>
来,让我们回顾一遍,“#”号与其它语句区别开,并且末尾没有分号。因为include是包含的意思嘛,所以肯定要把iostream包起来喽,所以就是<iosteam>,这没毛病吧。因为放在文件的开头,所以也叫做头文件,第一句的解释到此为止!

using namespace std;

第二句意思是“使用命名空间std”,using,进行时态的”使用“,没毛病吧!那为什么”使用命名空间std” ,咋不“using namespace 二大爷”,咋不“using namespace 四舅老爷”,其实如果“二大爷”和“四舅老爷”包含了我能用的函数的话,那样规定也无妨,谁让不是中国人发明的呢! 这个std,就是standard(“标准”的意思),就这么规定的,这是规矩,懂吗!就好比std是个地球,我要吃西瓜,我就必须using namespace std,因为只有地球才有西瓜!第二句,就说到这里吧!

int main()

大一的看到第三行的时候我就烦,函数就函数吧,int你妹啊,int 整型,看过书的都知道的,那为什么要int main()?随着这个问题出来,我又有两个问题了,为什么要main,main后面我还要加括号,这是啥啊这!别着急,慢慢来,
(1)为什么要写main?

因为,main就像你去盗墓的洞口,你盗墓总得有个入口吧!行侠仗义,连门都进不去,还搞个屁啊!所以,写个main当入口,这样操作系统就可以调用你写的东西了,main就是主函数,就是入口函数,每个程序,必须有一个主函数,也只能有一个主函数!

(2)为什么main后面有括号,main() ?
现在就这么认为,你去盗墓,得拿个工具箱吧,或者拿个菜篮子里面装些盗墓的工具从入口进去吧,它括号里面啥也没写,也不能说明它没带东西,明修栈道,暗度陈仓有木有!一个特工过安检,你会相信你眼睛看见它没带什么东西就真的没带什么东西吗?
所以其实可以有各种,比如:int main(int argc, char *argv[]),带了88狙有木有,88狙,最大有效射程800米,不知道1200会怎么样呢?嗯哼-
main() 的括号里,可以写东西,也可以不写,括号里的东东也叫做形式参数。

(3)int main()是个啥,为什么要加int?
这一句的函数是这样的:函数返回值类型int 函数名main(形式参数) ,int是返回值类型 。为什么要是int呢,int是整型的意思,没毛病吧,为什么写int ,不写别的,写别的可以哇,比如写个float,我就可以算小数了,int算的结果都是整数的。这个返回值类型必须得写,你不写,不知道你想要什么样的结果啊,就好比你去“米其林”餐厅吃东西,人家问你需要喝点什么,你什么也不说,你要么就是得到一杯白开水,要么就是啥也没有,其实你心里是想和83年的拉菲的!你说你作不作!

{int a,b,sum;cin >> a >> b;cout << "a + b = " << sum << endl;return 0}

再来看这一段代码,这个{ }里面的,就叫做代码段!就是你写的又高又大又尚的代码了,其实对于我而言,我敲代码更享受的是这个打代码的速度,天下武功,为坚不催,唯快不破!咦唏哈哈哈哈哈,有木有!

好了,现在该思考了,这求a+b,咋用程序表达出来呢?你得想吧,你得动脑子想吧,经常用脑,喝六个核桃,谁喝谁傻!

言归正传,思路是不是该这么想:
a + b, 我得能输进去个数吧,输完之后,我还得能输进去一个数吧,两个数才行啊,咋输进去?

cin >> a >> b;

这就输进去了!cin 输入的意思,谁不懂,站起来打一顿!为什么是 >>, >>这个是提取运算符,提取了一个a, 提取了一个b,然后”;”来做语句的结尾,说明这一句写完了!

上面说道了提取a和b,输入a和b,你都没定义,你从哪提取,偷的吗? 连个桃树都不种,还想吃桃子,那桃儿都是孙悟空变的吗!!!!所以先定义,再提取输入。

int a, b, sum;
cin >> a >>b;

这样才行,定义整型的a , b 这样,你才能输进去两个数啊。你得求值吧,所以还得定义一个sum,用来表示这两个数的和,你输进去两个数,求了和,要不要输出一个数表示这两个数的和到你电脑屏幕上给你一点安慰。所以我们定义了三个变量int a, b, sum; 然后先输进去两个数cin >> a >> b;

sum = a + b;

你输进去的两个数,和要输出来的sum,是不是都在这里面了,sum = a + b;这就是一个算法,厉害吧,我竟然写了一个算法! 我们用的编译器会自己识别出来的这个加法的算法的,有没有,尽管人家编译器的要干的活还有很多,还得处理你写的东西,还得编译你的东西,把你写的这代码转换成汇编语言进行计算,管它呢,你开心就好!

cout << "a + b = " << sum << endl;

算完了,你得输出吧,输出了才能出现在电脑屏幕上啊,有木有!为什么”a + b = “要加引号,而sum加引号呢? “a+b =”是把a+b=原封不动的输出到电脑上,就像你小时候在作业本上做数学题,先把题给抄一遍吧!而sum没有加引号,输出的就是刚才那个加法算法的值!endl,就是end line,意思就是结束本行!一定一定不要忘记末尾要加引号,小事不注意,大事就要掉脑袋!

return 0;

最后一句return 0了有木有,返璞归真了有木有,为什么要return ?为什么要return 0?为什么不return dog!

就得加return,不加就是做事有始无终!在函数中,如果我们碰到了return 语句,那么这个程序就会返回调用这个函数的下一条语句执行,也就是说跳出函数的执行,回到原来的地方继续执行下去。但是呢,如果是在主函数中碰到return语句,也就是我们现在遇到的这种情况,那么整个程序就会停止,退出程序的执行。如果程序正常结束,就会像操作系统返回一个零值!
当然了,还有return; return 1;等等的情况,遇见再表!

好了,这个程序就写完了,让我们再来看一遍:

#include <iostream>using namespace std;int main(){  int a, b, sum;  cin >> a >> b;  sum = a + b;  cout << "a + b = " << sum << endl;  return 0;}

没毛病吧,ok,我们写好了第一个程序了! HA~

1 0
原创粉丝点击