C语言/C++编程新手入门基础学习:初识变量和循环

C语言是面向过程的,而C++是面向对象的

C和C++的区别:

C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。

C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域,这样就可以通过获取对象的状态信息得到输出或实现过程(事务)控制。 所以C与C++的最大区别在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”。

C与C++的最大区别:在于它们的用于解决问题的思想方法不一样。之所以说C++比C更先进,是因为“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计如果没有好的算法,一样不行。而且,“C加上好的设计”也能写出非常好的东西。

很多小伙伴都老是会碰到疑问,其实还是基础没打扎实,这些题如果你不看答案你能知道多少呢?如果还有很多不知道就证明基础没打扎实,如果你还在入门纠结,如果你还在苦恼怎么入门!小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

我们前一章解读了第一个程序,大家现在肯定是希望能够编写出有用的程序,我们不希望程序只做打字员的工作,显示已经包含在代码中的固定信息,我们需要程序能够和外界交互,希望它每次都可以执行不同的操作,这时候我们就需要引入变量的概念,正是因为有变量的存在,程序才能变得如此多样性。

讲到变量,我们这里要牵扯是内存的概念,计算机执行程序时,组成程序的指令和数据都必须要存储到计算机的某个地方,这个地方就是计算机的内存,我们可以把内存想象成一排有顺序的盒子,每个盒子都有两种状态,满为1,空为0,每个盒子称为一个位(bit),为了方便,内存中的位以8个为一组,每8个位组成的一组称为一个字节(byte)。为了使用字节的内容,每个字节用一个编号表示,第一个字节是编号0,第二个字节是编号1,这样一直到计算机内存的最后一个字节,字节的这个编号我们称为字节的地址(address)。因此,每个字节的地址都是唯一的。这里一定要好好理解,不然以后学到指针会很吃力的。

变量是计算机里一块特定的内存,它是由一个或多个连续的字节所组成,一般是1、2、4、8或16个字节。每个变量都有一个名字,可以用该名字表示内存的这个位置,用来取出它包含的数据或往里面存入一个新数值。

我们说变量可以有一个或多个字节,那计算机怎么知道变量有几个字节呢?所以我们就需要给变量指定类型,变量的类型决定了为它分配多少个字节。

前面说了变量有编号(地址)、有名字还有类型,那要使用一个变量是不是要给它定义这三个部分呢?其实不用,我们只需要指定变量的名字和类型就可以使用它了,因为编号(地址)是系统分配的,这个不用我们操心。比如int a;(注意不要忘记分号)这样我们就定义了一个变量,变量的名字是a,变量的类型是int(就是整数变量,-2、-1、0、1、2...这种).这里的int在C语言里叫做关键字,其实关键字就是从英语里面取的一个很小的子集,再加上一些符号和规则,就组成了我们C语言的全部。C语言有几个标准的,最常见的就是89年颁布的C89标准(还有99年颁布的C99标准、11年颁布的C11标准等等),共有32个关键字,我列举出来,不理解不要紧,以后这些关键字基本都要讲到的。

1 数据类型关键字(12个):

(1) char :声明字符型变量或函数 (2) double :声明双精度变量或函数 (3) enum :声明枚举类型 (4) float:声明浮点型变量或函数 (5) int: 声明整型变量或函数 (6) long :声明长整型变量或函数 (7) short :声明短整型变量或函数 (8) signed:声明有符号类型变量或函数 (9) struct:声明结构体变量或函数 (10) union:声明共用体(联合)数据类型 (11) unsigned:声明无符号类型变量或函数 (12) void :声明函数无返回值或无参数,声明无类型指针(基本上就这三个作用)

2控制语句关键字(12个):

A循环语句 (1) for:一种循环语句(可意会不可言传) (2) do :循环语句的循环体 (3) while :循环语句的循环条件 (4) break:跳出当前循环 (5) continue:结束当前循环,开始下一轮循环 B条件语句 (1)if: 条件语句 (2)else :条件语句否定分支(与 if 连用) (3)goto:无条件跳转语句 C开关语句 (1)switch :用于开关语句 (2)case:开关语句分支 (3)default:开关语句中的“其他”分支 D返回语句return :子程序返回语句(可以带参数,也看不带参数)

3 存储类型关键字(4个) 

(1)auto :声明自动变量 一般不使用 (2)extern:声明变量是在其他文件正声明(也可以看做是引用变量) (3)register:声明寄存器变量 (4)static :声明静态变量

4 其它关键字(4个):

(1)const :声明只读变量 (2)sizeof:计算数据类型长度 (3)typedef:用以给数据类型取别名(当然还有其他作用 (4)volatile:说明变量在程序执行中可被隐含地改变

记住我们取名字的时候要特别注意,因为变量的名字只能由字母、数字和下划线( _ )组成,并且要以字母开头(其实可以下划线开头,但是标准库里的变量也经常以下划线开头,为了防止冲突,我这里规定下以后变量名都以字母开头),所以8_Ball、Hash!、Mary-Lou这些全都是错误的变量名。

我们现在开始写使用变量的第一个程序:打开我们的编译器,新建一个工程,取名为Integer,我们依旧是选择控制台程序中的"Hello World"程序,建好之后我们打开

在上面的代码上新增两行

点击构建->运行后出来的结果为:

我们来解释下这两行的意义,第一行int iValue = 26;这个就是定义了一个变量,变量的名字(简称变量名)叫iValue(这个名字随便取,只要符合我们上面说的取名字规则就行),同时我们还为iValue赋了一个值为26,在变量的后面直接赋值我们一般也叫做初始化,我们也可以把这行拆成两行来写,效果是一样的。

int iValue;

iValue = 26;

第二行还是用到了我们之前的printf函数,但是它和我们下一行的printf使用明显不同,它拥有了两个参数,而且第一个参数里面有一个"%d",这是什么意思呢,其实就是把这两个参数全部都显示出来,不过第二个参数显示出来的位置就是“%d”出现的位置,我们把%d称为占位符,因为它输出的时候会被iValue的值给替换。

同样的,如果我们现在要定义两个整数变量,然后把这两个整数变量用printf显示出来呢,那么我们应该这样写:

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

我们再次点构建->运行,就会得出结果了:

当然,我们也可以把这两个整数变量使用一个printf显示出来,这样代码是这样:

我们点击构建->运行发现能得出同样的结果。我们看看代码有什么不一样呢,发现没有,我们的printf里面有了三个参数,而且第一个参数里面有了两个%d,这两个占位符其实就是为后面的第二个参数iValue1和第三个参数iValue3预留位置的。我们还可以有四个参数、五个参数、六个参数等等,只要我们在第一个参数里准备了足够多的%d。%d的意思就是把它表示的参数使用十进制整数显示出来,我们后面还会讲到以字符的形式显示出来,以其他进制的形式显示出来。

现在我们有了变量,我们可以进行基本的算术运算了,比如859*435+432/6-27%8,这个值等于多少呢,我们或许可以使用计算器,不过我们也可以在我们自己的程序中完成。

构建->运行之后是不是就出来了呢

用了好几次printf了吧,接下来我们讲另一个函数scanf,这个函数其实是和printf相对的一个函数,printf代表输出,而scanf代表输入,它需要我们在键盘上给它输入数据,它和printf比较相似,但是它使用的第一个参数后面的参数必须是地址,我们前面说了变量有地址(编号)、变量名和类型,我们在定义的时候只需要变量名和类型,因为系统会给我们的变量分配地址,但是我们这里需要地址该怎么办呢,其实很简单,只需要使用&这个符号就可以取的变量的地址了。我们接下来写这段代码:

点击构建->运行后,程序运行会提示我们输入一个整数,我们就随便输入一个整数,比如39,然后我们按下回车,这时候就会出来运行结果

看到了吧,其实我们只相当于添加了两行,

printf("请您输入整数iValue的值:");

scanf("%d",&iValue1);

第一行只是起到提示我们输出的作用,而第二行才是关键,它的第一个参数里面也有占位符,第二个参数就是iValue1的地址,注意iValue1前面加了地址符&。

那让我们接下来再使用我们刚刚学的scanf写一个有用的程序吧:

点击运行后,它会提示你输入你现在的年龄,比如我们这里输入26,按下回车

小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!

这段代码也很简单,首先定义了两个整数变量age和lifeDays,接下来的一句printf会提示你输入你的年龄,scanf("%d",&age); 这行才是真正让你输入年龄的代码,lifeDays = (100-age)*365;这行会计算,我们这里假设我们能活100岁(这里当然是不准的,每个人的寿命都不一样,或许哪天我们人类能够发明出计算寿命的公式,那么我们就能得出准确值了),然后使用 (100-age)*365就得出了我们还能活的天数,最后把我们把lifeDays的值使用printf打印出来。

这些是C/C++能做的

服务器开发工程师、人工智能、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像处理、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等

看到了吧,时间真的很短暂啊,不知不觉,我们已经走过了人生的四分之一了,其实要计算一个人的存活天数是一件很残忍的事,但是比这个更残忍的是浪费自己的时间。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,179评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,229评论 2 380
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,032评论 0 336
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,533评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,531评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,539评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,916评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,574评论 0 256
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,813评论 1 296
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,568评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,654评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,354评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,937评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,918评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,152评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,852评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,378评论 2 342

推荐阅读更多精彩内容