一、 学习语法之前的提醒

1) C语言属于一门高级语言,其实,所有高级语言的基本语法组成部分都是一样的,只是表现形式不太一样

2) 就好像亚洲人和非洲人,大家都有人类的结构:2只 手、2只脚、1个头,只是他们外表不太一样,比如肤色、脸型

3) 因此,你掌握好了一门高级语言,再去学习其他高级语言,那是相当快的

4) 而且,很多其他高级语言,比如后面要学习的Objective-C,都是基于C语言、从C语言衍生出来的,好好学习C语言吧,绝对不吃亏

二、 关键字

1. 什么是关键字

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

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

2. 关键字的特征

1> 全部都是小写

2> 在开发工具或者智能文本编辑工具中会显示特殊颜色。默认情况下,C语言中的所有关键字在Xcode中都会显示紫褐色

3. main函数中哪些是关键字

int、return

三、 标识符

1. 什么是标识符

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

2. 标识符的作用

1) 标识符,从字面上理解就是用来标识某些东西的符号,标识的目的就是为了将这些东西区分开来

2) 其实,标识符的作用就跟人类的名字差不多,为了区分每个人,就在每个人出生的时候起了个名字

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

3. 命名

1> 命名规则(一定要遵守)

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

l 严格区分大小写,比如test和Test是2个不同的标识符

l 不能以数字开头

l 不可以使用关键字作为标识符

2> 命名规范(最好遵守)

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

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

4. 常见的标识符命名错误

合法标识符

非法标识符

注释

fromNo12

from#12

标识符中不能使用#符号

my_Boolean

my-Boolean

标识符中不能使用“-”符号,应使用下划线“_”代替

Obj2

2ndObj

标识符不能使用数字开头

myInt

int

“int”是内建关键字

jack_rose

jack&rose

符号“&”不能出现在标识符中

GUI

G.U.I

标识符内部需要出现“.”分隔符

5. 习题

指出标识符的正确性

test1    Mike2jack    My_tExt  _test

test!32   haha(da)tt   哈哈_text  123haha

78text    a      _123    _

四、 注释

1. 什么是注释

1) 注释是在所有计算机语言中都非常重要的一个概念,从字面上看,就是注解、解释的意思

2) 注释可以用来解释某一段程序或者某一行代码是什么意思,方便程序员之间的交流。假如我写完一行代码后,加上相应的注释,那么别人看到这个注释就知道我的这行代码是做什么用的

3) 注释可以是任何文字,也就是说可以写中文

4) 在开发工具中注释一般是豆沙绿色

2. 单行注释

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

2) 任何地方都可以写注释:函数外面、里面,每一条语句后面

3. 多行注释

多行注释以/*开头,以*/结尾,/*和*/中间的内容都是注释

4. 注释的作用

1> 被注释的代码不会参与编译

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

l 从.o文件的大小可以间接看出注释后的代码并没有被编译

2> 检查代码的作用

3> 排除错误

5. 注释的嵌套现象

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

// 哇哈哈 // 呵呵呵

// /* fsdfsdf */  // sdfsdfsd

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

/*

// 描述:第一个C语言程序

作用:这是一个主函数,C程序的入口点

*/

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

/* 哈哈哈

/*嘻嘻嘻*/

呵呵呵 */

4) 下面的写法是错误的

// /*

哈哈哈

*/

6. 注释的重要性

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

l 今天,你写了几百行代码,很高兴,做出了一个非常不错的功能,但是,忘了写注释。一个星期过后,你再回去看那一段代码,你可能完全看不懂了,这是很正常的事。如果你写了注释,那情况就不一样了,注释可以帮助你回顾代码的作用。

l 你在某家公司待了1年多,写了10几万行代码,但是你不写一点注释。有一天你离职了,新的员工接手你做的项目,他首先要做的事情肯定是要读懂你写 的代码。可是你一点注释都没写,10万行代码,全部都是英文,这会让这位新员工非常地蛋疼。每个人都有自己的思想,写代码的思路肯定是不一样的,看别人写 的代码是件非常痛苦的事情,特别是没有注释的代码。你不写注释的做法会大大降低公司的开发效率。因此,所有的正规公司都非常重视注释。

7. 习题

看看下列程序能否运行成功,如果能,说出运行结果:

1> 程序1

// 主函数

int main() {

printf("itcast\n");

return 0;

}

2> 程序2

// 主函数

int main()  {

printf("//itcast\n");

return 0;

}

3> 程序3

主函数

int main()  {

printf("itcast\n");

return 0;

}

4> 程序4

int main()

{

printf(//"itcast\n");

return 0;

}

5> 程序5

int main() // 主函数 {

//printf("itcast\n");

return 0;

}

(注:参考于传智)

c中的关键字、标识符、注释的更多相关文章

  1. 黑马程序员——C语言基础语法 关键字 标识符 注释 数据及数据类型

    Java培训.Android培训.iOS培训..Net培训.期待与您交流! (一下内容是对黑马苹果入学视频的个人知识点总结) (一)C语言简单介绍 (1)C语言程序是由函数组成的任何C语言程序都是由一 ...

  2. JAVA之旅(一)——基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算

    JAVA之旅(一)--基本常识,JAVA概念,开发工具,关键字/标识符,变量/常量,进制/进制转换,运算符,三元运算 Android老鸟重新学一遍JAVA是什么感觉?枯燥啊,乏味啊,而且归纳写博客,都 ...

  3. -1-1 java 基础语法 java关键字 java 注释 常量 语句 运算符 函数 数组定义

    Java语言基础组成 关键字 标识符 注释 常量和变量 运算符 语句 函数 数组 关键字 定义:被Java语言赋予了特殊含义的单词 特点:关键字中所有字母都为小写 用于定义数据类型的关键字 class ...

  4. java标识符,关键字,注释及生成Doc文档

    # java语法基础 ## 标识符,关键字与注释 ### 标识符 1.类名,变量名,方法名都称为标识符. 2.命名规则:(1):所有的标识符都应该以字母(AZ,或者az)美元符($)或者下划线(_)开 ...

  5. 关于js中this关键字的补充

    前面: 前面虽然综合了网络上不少大牛的心得,但感觉还是意犹未尽,为了彻底搞清楚js中this的相关知识,决定再写一篇.个人觉得,在技术上,除非钻到细枝末节,否则很难达至非常高的水平. 补充1: 无法重 ...

  6. js中this关键字测试集锦

    参考:阮一峰<javascript的this用法>及<JS中this关键字详解> this是Javascript语言的一个关键字它代表函数运行时,自动生成的一个内部对象,只能在 ...

  7. PostgreSQL中关于关键字(保留字)在表名和字段名中的应用文件解决

    标识符和关键词 受限标识符或被引号修饰的标识符.它是由双引号(")包围的一个任意字符序列.一个受限标识符总是一个标识符而不会是一个关键字.因此"select"可以用于引用 ...

  8. 【C#学习笔记之一】C#中的关键字

    C#中的关键字 关键字是对编译器具有特殊意义的预定义保留标识符.它们不能在程序中用作标识符,除非它们有一个 @ 前缀.例如,@if 是有效的标识符,但 if 不是,因为 if 是关键字. 下面是列出的 ...

  9. c#多线程中Lock()关键字的用法小结

    本篇文章主要是对c#多线程中Lock()关键字的用法进行了详细的总结介绍,需要的朋友可以过来参考下,希望对大家有所帮助     本文介绍C# lock关键字,C#提供了一个关键字lock,它可以把一段 ...

随机推荐

  1. SpringMVC——自定义拦截器、异常处理以及父子容器配置

    自定义拦截器: 一.若想实现自定义拦截器,需要实现 org.springframework.web.servlet.HandlerInterceptor 接口. 二.HandlerIntercepto ...

  2. ASP.NET MVC系列:添加模型

    模型(Model)是应用程序中用于处理应用程序数据逻辑的部分;通常模型对象在数据库中存取数据 添加模型类 在解决方案中右击Models文件夹,然后选择“添加”,在“添加”项里选择“类”:或者选中Mod ...

  3. mvc 对一个或者多个实体验证失败

    为了解决“对一个或者多个实体验证失败”,关闭调用SaveChanges() 的实体属性合法性验证(谨慎使用) db.Configuration.ValidateOnSaveEnabled = fals ...

  4. VS10x CodeMap 注册码 key VS插件CodeMap

    VS10x CodeMap 注册码(key): #$aCN/L/ra73OaqCJENXc2JIDL61IMawNWBBX+PxhBzobE9w3QlcrwoXeB3DWBC2f56y9r0Hx2XP ...

  5. VS2015如何新建MVC空模版项目

    直接看图吧:

  6. 介绍开源的.net通信框架NetworkComms框架 源码分析(一)ConnectionState

    原文网址: http://www.cnblogs.com/csdev Networkcomms 是一款C# 语言编写的TCP/UDP通信框架  作者是英国人  以前是收费的 目前作者已经开源  许可是 ...

  7. 浅谈Oracle中物理结构(数据文件等。。。)与逻辑结构(表空间等。。。。。)

    初始Oracle时很难理解其中的物理结构和逻辑结构,不明白内存中和硬盘中文件的区别和联系,我也是初学Oracle,这里就简单的谈谈我我看法. 首先,你需要明白的一点是:数据库的物理结构是由数据库的操作 ...

  8. C#操作word或excel及水晶报表,检索 COM 类工厂中 CLSID 为 {} 的组件时失败,原因是出现以下错误: 80070005

    解决办法一:<转自http://www.cnblogs.com/Sue_/articles/2123372.html> 具体解决方法如下: 1:在服务器上安装office的Excel软件. ...

  9. springmvc 配置多视图,返回jsp,velocity,freeMarker,tiles(模板)等等

    springmvc-servlet.xml配置 <!-- Velocity --> <bean id="velocityViewResolver" class = ...

  10. IT职业思考 谈谈IT外包公司

    个人能力强才是王道 1. 为什么像BAT.HP.IBM.华为这些大公司还需要外包,他们已经有那么多的技术人员 一个公司,如果没有那么多项目,光养这些技术人员,实际的经营成本确实不低,但是这些技术人员又 ...