从0学习C语言(第3天)---- C语言初探、把C玩弄于股掌之中的思维
前言:在开始今天的学习之前,我们先去明白一个事情,那就是:我们学习这个东西,想让自己达到什么样的境地,怎么样才能让自己变的很厉害?我始终认为,学习之前搞清楚这个事情之后,你才可能会全身心的投入里面去。我可以给你传达我的思维,让你学习中不会觉得很无聊,反而觉得很有趣。
在开始之前,和大家说一个事情。我原来c不是很懂,一开始没有学习这个语言,我是在后来自己突然想去学,才开始去学习,我只用了两个月的时候,把c学习滚瓜烂熟,在学校的时候,写的程序拿去参加过比赛,当时就有公司直接来邀请我过去上班,当时我可还是在学校,其实语言是千变万化的,不要太过于局限自己的思维。这些文章也仅仅是我用我当时的一个初学者的口吻来写出来,我相信这样会更加的能和大家坐在一起,一起探讨问题。
目录
从0学习C语言(第3天)---- C语言初探、把C玩弄于股掌之中的思维
4.附加----怎么让自己把C语言玩弄于股掌之中(思维无限扩展)
下面直接开始我们今天要了解的内容:
0.C语言的关键字
事先说明,关键字这里面的内容做一个简单的了解或者看看就算了,后面我们学习的时候会去掌握的。不要一开始就被这些东西击垮,从入门到放弃。
C语言的关键字共有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:说明变量在程序执行中可被隐含地改变
好的,我相信你看完了,可能还有点无聊,或者还有一点看不懂,没关系,后面自然就会的,不管这些东西先,往下看。
1.C语言的变量命名规则
变量的命名规则这里就要认真的学习了。
在定义变量时,变量名可以是字母、数字和下划线的组合。但是也不是随便的组合,要注意以下几个命名规则:
1) 变量名的开头必须是字母或下划线,不能是数字。实际编程中最常用的是以字母开头,而以下划线开头的变量名是系统专用的。
2) 变量名中的字母是区分大小写的。比如 a 和 A 是不同的变量名,num 和 Num 也是不同的变量名。
3) 变量名绝对不可以是C语言关键字,这一点一定要记住!
注意:因为系统定义的变量普遍是下划线开头的,为了避免与系统定义的名字产生冲突,在编程的时候,除非要求这么定义,否则永远都不要使用下划线作为一个变量名的开头。
2.C语言的函数名命名规则
1. 驼峰命名法
驼峰命名法因程序中某些要素的命名类似驼峰而得名,如:userName、SuperManager 等。
其实,驼峰命名法还可分为小驼峰式命名法和大驼峰式命名法,这主要是通过单词的第一个字母来区分这两种不同的分类的。
(1)小驼峰式命名法(lower camel case)的规则是:第一个单词首字母小写,后面其他单词首字母均大写,例如:myName、littleDog 等;
(2)大驼峰式命名法(upper camel case):每一个单词的首字母都大写,例如:FirstBlood、LastName 等。
2. 匈牙利命名法
所谓“匈牙利命名法”,指的是在某些要素名称前加上相应的小写字母的符号标识作为前缀,并标识出该要 素名称的作用域、类型等,同时使用下划线(_)来连接所有的单词,例如:m_name、send_buf 等。而这种命名法,大多用于诸如 C++、C#之类的某些语言。 例如模块名、函数名、变量名等。此外,还需要注意,说明这些命名规则的目的是增加代码的可读性,同时让程序更加美观易懂。这些命名规则并不一定要绝对遵守,但是编写的程序最好能具备良好的可读性。
3.C语言的逻辑结构
a)顺序结构
顺序结构,从字面上就很简单的理解,就是一个顺序结构,整体从上到下的执行。就好像你开车从a点到b点,不管你中间有多少转弯或者停车等等,你从a到b就是一个顺序结构。
b)选择结构
选择,做这个事情或者做另一个事情,这就是一个选择。还是上面的例子,你开车选择了1号线路还是2号线路,你选择的条件是什么的,这就是一个选择的结构。
例如:
if(a==1){ //括号里的就是你的条件,if--else--if--else 就是你要选择的路
走1号线;
}else if(a==2){
走2号线;
}else{
走3号线;
}
c)循环结构
在某一个地方,走多几圈或者一直走,那就是一个循环结构。你开车在环型的圈圈上开了好几圈,或者一直开着转圈,这就是一个循环结构。
例如:
while(1){
代码块;//一直在这些执行,因为while一直成立为真
}
//或者
for(i = 0;i < 10;i++){
代码块;//在这里执行10次,因为i < 10的时候,条件就不成立了
}
//看不懂也没有关系,你知道意思就是在一个代码里面重复执行某一段代码就行了
d)其他语句(跳转语句)
break;continue;goto;return;//简单的知道一下就行
4.附加----怎么让自己把C语言玩弄于股掌之中(思维无限扩展)
学习的东西大家都是一样的,那我们有什么思维可以把c运用的很好?首先我们要有一个扎实的基础这个是必须的,那扎实的基础跟着我学习就必定会有的了。另外就是灵活的思维,在不要在受到限制的情况下,玩命的去把你的思维无限的扩大化,尝试的去写各种写法。例如请你使用一个for语句,写一个循环5次的结构就有很多种写法
1. for(i=0;i<5;i++){
}
2. for(i=0;;i++){
if(i>=5)
break;
}
......我能写出几十种出来,这就是思维的无限扩展。一个for写一个循环第一种就是最简单的,程序就很简洁了,其他的都是我们思维的无限扩展写出来的,尽管它看上去会变得长一些臭一些,注意,我们这里说的是思维的无限扩展,这也是我们对这些程序熟悉的一种体现,它的作用就是有利于我们后面写一些比较繁琐或者比较难得东西的时候,可以帮到我们。让程序变的千变万化。
思维的无限扩展。在语言规则允许的情况下,在语法符合的情况下,进行你的思维无限扩展。