李洪强iOS开发之零基础学习iOS开发【02-C语言】03-关键字、标识符、注释

上一讲中已经创建了第一个C语言程序,知道了C程序是由函数构成的,这讲继续学习C语言的一些基本语法。C语言属于一门高级语言,其实,所有的高级语言的基本语法组成部分都是一样的,只是表现形式不太一样。就好像亚洲人和非洲人,大家都有人类的结构:2只手、2只脚、1个头,只是他们外表不太一样,比如肤色、脸型。因此,你掌握好了一门高级语言,再去学习其他高级语言,那是相当快的。而且,很多其他高级语言,比如后面要学习的Objective-C,都是基于C语言、从C语言衍生出来的,好好学习C语言吧,绝对不吃亏。

一、关键字

1.什么是关键字

关键字就是C语言提供的有特殊含义的符号,有些地方也叫做“保留字”。

2.一共有哪些关键字

C语言一共提供了32个关键字,这些关键字都被C语言赋予了特殊含义。

auto double int struct break else long switch

case enum register typedef char extern return union

const float short unsigned continue for signed void

default goto sizeof volatile do if while static

大致浏览一遍即可,不用去百度每个关键字的作用,这些关键字以后会经常用到的,到时候你想不记住都难。

3.如何辨别关键字

这些关键字会经常跟其他符号混在一起使用,一个程序里面这么多英文符号,我怎么知道那些是关键字呢?关键字有2大特征:

1> 全部都是小写

2> 在开发工具或者智能文本编辑工具(比如UltraEdit)中会显示特殊颜色

比如下面这段C程序在UltraEdit中呈现的样子

在这段代码中,只有int和return是关键字,C语言中的所有关键字在UltraEdit中都会显示蓝色!可以看出,main并不是关键字。至于int和return究竟有什么特殊含义,这里先不做讨论,后面会详细介绍。

二、标识符

1.什么是标识符

标识符就是在程序中自定义的一些符号和名称。要跟关键字区分开来:关键字是C语言默认提供的符号,标识符是程序员自定义的。

2.标识符的作用

1> 标识符,从字面上理解就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来。其实,标识符的作用就跟人类的名字差不多,为了区分每个人,就在每个人出生的时候起了个名字。

2> 上一篇说到:C语言是由函数构成的,一个C程序中可能会有多个函数,为了区分这些函数,就给每一个函数都起了个名称。函数的名称就是标识符的一种。除了函数,以后还会学到“变量”这个概念,变量的名称也是标识符。

因此,上面的代码中:int和return是关键字,main是标识符

3.标识符命名规则

标识符是由程序员自定义的,但是不能随便命名,它有以下几点命名规则:

1> 只能由26个英文字母的大小写、10个阿拉伯数字0~9、下划线_组成。

下面的标识符都是正确的:

test1    Mike2jack   My_tExt  

下面的标识符都是错误的:

test!32   haha(da)tt   哈哈_text

2> 严格区分大小写,同一段英文字母的大写和小写是两个不同的标识符。

比如:main和Main是两个不同的标识符

3> 不能以数字开头。

下面的标识符都是错误的:

123haha  78text  98111

4> 不可以使用关键字作为标识符。

下面的函数是错误的:

1 int int()
2 {
3     return 0;
4 }

函数的名称是标识符的一种,而第1行的函数名称叫做int,int是C语言中的关键字,这是不合法的,肯定会报语法错误。

4.标识符命名规范

这个命名规范,你不一定要遵守。不过呢,90%的优秀程序员都是按照这个规范去走的。

1> 尽量起个有意义的名称,比如一个完整的英文单词,别人一看这个名称就能才能这个标识符的作用。如果不懂英文,你也可以用拼音,尽量不要起像abcde、sfsdfsdf等这类看起来没有意义的名称

2> 如果标识符中含有多个单词,可以使用驼峰标识(除开第一个单词,后面每个单词的首字母都是大写):firstName、myFirstName,或者使用下划线_来连接:first_name、my_first_name

三、注释

1.什么是注释

  • 注释是在所有计算机语言中都非常重要的一个概念,从字面上看,就是注解、解释的意思。
  • 注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流。假如我写完一行代码后,加上相应的注释,那么别人看到这个注释就知道我的这行代码是做什么用的。
  • 注释可以是任何文字,也就是说可以写中文。

注意:直接在代码中写上一大段中文是不行的,编译器会报错

1 这是一个主函数,C程序的入口点
2 int main()
3 {
4     return 0;
5 }

第1行写了一段中文,用来解释main函数的作用,但是这段代码是不能编译成功的。第1行的中文并不叫注释,注释有它特定的格式。

2.注释的种类

C语言中一共有2种注释:单行注释、多行注释。大部分高级语言都有这2种注释。

1> 单行注释

单行注释以两个正斜杠开头,也就是以//开头,只能注释一行,从//开始到这行的结尾都是注释的内容

1 #include <stdio.h>
2
3 // 这是一个主函数,C程序的入口点
4 int main()
5 {
6     // 这句代码可以在屏幕输出Hello World这一串文字
7     printf("Hello World");
8     return 0;
9 }

第3行、第6行都是注释,注释在开发工具中一般都是绿色的。可以看出,这里第3行的注释是用来解释第4行代码的,第6行的注释是用来解释第7行代码的。一般就是这样写单行注释,用来解释某一行代码的作用。

注释也可以写在某条语句的后面

1 #include <stdio.h>
2
3 // 这是一个主函数,C程序的入口点
4 int main()
5 {
6     printf("Hello World"); // 这句代码可以在屏幕输出Hello World这一串文字
7     return 0;
8 }

第6行分号;后面的绿色文字都是注释。

如果将//放到printf的前面,那么整个第6行都属于注释。

1 #include <stdio.h>
2
3 // 这是一个主函数,C程序的入口点
4 int main()
5 {
6     // printf("Hello World"); 这句代码可以在屏幕输出Hello World这一串文字
7     return 0;
8 }

你会发现整个第6行都变成了绿色,说明整个第6行都是注释。

2> 多行注释

//只能用来注释一行文字,如果有多行文字都需要注释,那么就可以用多行注释。多行注释以/*开头,以*/结尾,/*和*/中间的内容都是注释。

1 /*
2  作者:MJ
3  描述:第一个C语言程序
4  作用:这是一个主函数,C程序的入口点
5  */
6 int main()
7 {
8     return 0;
9 }

第1行到第5行的内容都是注释

3.注释的嵌套

1> 单行注释可以嵌套单行注释、多行注释

1 // 哇哈哈 // 呵呵呵
2
3 // /* fsdfsdf */  // sdfsdfsd

这2行的所有内容都是注释

2> 多行注释可以嵌套单行注释

1 /*
2  // 作者:MJ
3  // 描述:第一个C语言程序
4  作用:这是一个主函数,C程序的入口点
5  */

这几行的所有内容都是注释

3> 多行注释不能嵌套多行注释

1 /* 哈哈哈
2
3  /*
4    嘻嘻嘻
5  */
6
7   呵呵呵 */

你会发现只有第1到第5行才是注释,第7行并不属于注释。因为/*找到第一个*/后就算注释结束了,而第1个*/在第5行。

4> 下面的写法是错误的

1 // /*
2     哈哈哈
3  */

只有第1行是注释,第2~3行都不是注释

4.注释的细节

1> 注释是写给人看的,不是给计算机看的。计算机怎么可能看得我们写的中文嘛。因此,当编译程序的时候,并不会将注释编译到目标文件中。

换句话说:被注释掉的语句是不会被执行的。

1 int main()
2 {
3     // printf("Hello");
4     return 0;
5 }

第3行的语句被注释掉了,因此,运行程序的时候,并不会执行第3行的语句,屏幕上没有任何输出。

2> 要养成写注释的良好习惯。绝大部分项目经理检查下属代码的第一件事就是看有没有写注释,也有很多公司的机试也会检查注释(机试就是给你一道编程题、一台电脑,在规定时间内解题)。

3> 为什么注释这么重要呢?

  • 今天,你写了几百行代码,很高兴,做出了一个非常不错的功能,但是,忘了写注释。一个星期过后,你再回去看那一段代码,你可能完全看不懂了,这是很正常的事。如果你写了注释,那情况就不一样了,注释可以帮助你回顾代码的作用。
  • 你在某家公司待了1年多,写了10几万行代码,但是你不写一点注释。有一天你离职了,新的员工接手你做的项目,他首先要做的事情肯定是要读懂你写的代码。可是你一点注释都没写,10万行代码,全部都是英文,这会让这位新员工非常地蛋疼。每个人都有自己的思想,写代码的思路肯定是不一样的,看别人写的代码是件非常痛苦的事情,特别是没有注释的代码。你不写注释的做法会大大降低公司的开发效率。因此,所有的正规公司都非常重视注释。

5.注释的隐藏功能

1> 排错

其实,如果你利用得当的话,注释不仅仅是可以用来解释程序,还可以用来排除错误。

比如下面的代码

1 #include <stdio.h>
2
3 int main()
4 {
5     printf("111\n");
6     printf("222\n")
7     printf("333\n");
8     return 0;
9 }

编译程序,你会发现编译失败。这个时候你可以将比较可疑的代码给注释了,比如注释第6行,因为感觉第6行好像少了点什么东西

1 #include <stdio.h>
2
3 int main()
4 {
5     printf("111\n");
6     // printf("222\n")
7     printf("333\n");
8     return 0;
9 }

再编译一遍,发现编译成功了。说明就是第6行代码出错了!!!

2> 检查代码的作用

在工作中,偶尔会遇到自己不会做的功能,这时候我们就要去网上找一些别人写好的代码来填补自己的项目。但是别人写的代码不可能完全符合我们的需求啊,于是需要裁剪部分有用的代码出来,怎么知道哪一部分是有用的代码呢?那么你就要搞清楚每一行代码的作用。这个时候,我们利用注释来弄清楚每一行代码的作用。

比如,下面这段程序,我想知道第3行代码的作用

1 int main()
2 {
3     printf("Hello");
4     return 0;
5 }

这个时候你可以先把程序运行一遍,看看运行效果,运行效果就是:在屏幕上输出了Hello这一串内容。

接着你把第3行代码注释了

1 int main()
2 {
3     // printf("Hello");
4     return 0;
5 }

然后再运行一遍程序,发现屏幕上并没有输出以前的Hello。说明第3行代码的作用就是:在屏幕上输出了Hello这一串内容!!!总结来说,就是把注释后跟注释前的运行效果做一个对比,看看有没有少了什么效果,如果少了某些效果,说明被注释代码的作用就是实现这个少掉的效果。这句话可能有点绕,好好体会一下,对你大有帮助!

时间: 2024-10-11 12:38:04

李洪强iOS开发之零基础学习iOS开发【02-C语言】03-关键字、标识符、注释的相关文章

李洪强iOS开发之零基础学习iOS开发】【02-C语言】01-概述

前面已经给大家介绍了iOS开发相关的一些基础知识,其实iOS开发就是开发iPhone\iPad上的软件,而要想开发一款软件,首先要学习程序设计语言.iOS开发需要学习的主要程序设计语言有:C语言.C++.Objective-C,其中C++.Objective-C都是以C语言为基础,从C语言衍生出来的.从这讲开始,我们就暂时抛开iOS相关的知识,沉下心来学习传说中的C语言.正式学习之前,先提醒一句:学习一门语言的语法是比较枯燥的事,很像是在学习1+1等于几,不可能说,学习C语言语法过程中就能马上做

李洪强iOS开发之【零基础学习iOS开发】【01-前言】01-开篇

从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时评论. 一.什么是iOS 要想学习iOS开发,首先要搞清楚什么是iOS.iOS其实是一款操作系统,就像平时我们在电脑上用的XP.Win7,都是操作系统. 那什么是操作系统呢?操作系统其实是一种软件,是直接运行在硬件(电脑.手机等)上的最基本的系统软件,任何

【零基础学习iOS开发】【01-前言】01-开篇

本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时评论. 回到顶部 一.什么是iOS 要想学习iOS开发,首先要搞清楚什么是iOS.iOS其实是一款操作系统,就像平时我们在电脑上用的

【零基础学习iOS开发】【转载】

原文地址:http://www.cnblogs.com/mjios/archive/2013/04/24/3039357.html 本文目录 一.什么是iOS 二.主流手机操作系统 三.什么是iOS开发 四.学习iOS开发的目的 五.学习iOS开发的前提 从今天开始,我就开始更新[零基础学习iOS开发]这个专题.不管你是否涉足过IT领域,也不管你是理科生还是文科生,只要你对iOS开发感兴趣,都可以来阅读此专题.我尽量以通俗易懂的语言,让每个人都能够看懂.若遇到不明白的地方或者对此文有异议,望及时

零基础学习IOS开发(二)- 使用cocos2d-x3.0 执行Hello world

关于开发框架,依据网上检索来的信息,感觉cocos2d-x的ios游戏开发框架非常不错,并且有非常强的可移植性,因此打算尝试一下. 截止写下此文章,最新的cocos2d-x的版本号为v3.0稳定版(几天前刚刚公布),下载地址为:http://www.cocos2d-x.org/filedown/cocos2d-x-3.0-cn 安装方式例如以下: 1.解压程序压缩包(所在路径不能有中文哦,由于是python,你懂的...) 2.sudo python setup.py 安装cocos2d-x,依

零基础学习iOS开发去哪里比较好呢?

很多人选择零基础学习iOS开发,但不知道如何学习更加省力,要知道,C语言是iOS的编程基础,打牢C语言基础至关重要,传智播客iOS培训机构作为行业最具权威的iOS研发和人才培训中心,是教育部教育信息管理中心认证的全国移动互联网开发人才实训基地,专业的教学培养大批高技能iOS开发者,传智播客注重基础教学,从C语言开发学习到进入下一阶段的学习,需经过严格的进阶制考核,以保证有足够的能力接受iOS应用开发技能.      C语言是iOS的基础,学好C语言对iOS应用开发和iOS手游开发都起着重要作用,

MongoDB实战开发 【零基础学习,附完整Asp.net示例】

MongoDB实战开发 [零基础学习,附完整Asp.net示例] 阅读目录 开始 下载MongoDB,并启动它 在C#使用MongoDB 重构(简化)代码 使用MongoDB的客户端查看数据 使用MongoDB的客户端维护数据 MongoDB提供的C#驱动 MongoDB不支持在查询数据库时使用Join操作 获取MongoDB服务端状态 [目标]:本文将以实战的形式,向您展示如何用C#访问MongoDB,完成常见的数据库操作任务, 同时,也将介绍MongoDB的客户端(命令行工作模式)以及一些基

[原]零基础学习SDL开发之移植SDL2.0到Android

在[原]SDL开发教程我们知道了如何在pc下使用SDL进行开发,在android上面是否一样可以使用呢?答案是肯定的. 下面我们进行移植SDL到Android,这里都是基于SDL最新版进行移植的,在Eclipse中编译. 开发环境:Ubuntu 14.04 64位,Eclipse + CDT + ADT,NDK 一.到官网下载http://www.libsdl.org/hg.php 下载2.0的源码也可以通过hg来clone最新的源码 hg clone http://hg.libsdl.org/

李洪强iOS开发之【零基础学习iOS开发】【01-前言】02-准备

在上一讲中,介绍了什么是iOS开发.说简单一点,iOS开发,就是开发运行在iPhone或者iPad上的软件.这么一说完,应该有很多人就会产生一些疑惑,比如学习iOS开发是不是一定要买iPhone?需不需要买苹果电脑呢?学软件开发是不是一定要计算机专业的?因此,在这讲中,我会为广大有意学习iOS开发的朋友们进行解惑,说明一下学习iOS开发究竟需要那些准备. 一.程序设计语言 上一讲已经说到:要想开发一款软件,首先得学习一些相应的程序设计语言.至于iOS开发,需要学习的语言主要有:C.C++.Obj