一、关键字

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> 命名规则(一定要遵守)

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

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

  * 不能以数字开头

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

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

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

如果标识符中含有多个单词,可以使用驼峰标识(除开第一个单词,后面每个单词的首字母都是大写):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

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

三、 注释

1. 什么是注释

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

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

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

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

2. 单行注释

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

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

3. 多行注释

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

4. 注释的作用

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

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

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

2> 检查代码的作用

3> 排除错误

5. 注释的嵌套现象

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

// 哇哈哈 // 呵呵呵

// /* fsdfsdf */  // sdfsdfsd

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

/*

// 作者:MJ

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

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

*/

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

/* 哈哈哈

/*嘻嘻嘻*/

呵呵呵 */

4) 下面的写法是错误的

// /*

哈哈哈

*/

6. 注释的重要性

   要养成写注释的良好习惯。绝大部分项目经理检查下属代码的第一件事就是看有没有写注释,也有很多公司的机试也会检查注释,每个人都有自己的思想,写代码的思路肯定是不一样的,看别人写 的代码是件非常痛苦的事情,特别是没有注释的代码。你不写注释的做法会大大降低公司的开发效率。因此,所有的正规公司都非常重视注释。

四、 数据

1. 什么是数据

  生活中时时刻刻都在跟数据打交道,比如体重数据、血压数据、股价数据等。在我们使用计算机的过程中,会接触到各种各样的数据,有文档数据、图片数据、视频数据,还有聊QQ时产生的文字数据、用迅雷下载的文件数据等。

2. 数据的分类

  计算机中存储的数据可以分为两种:静态数据和动态数据。

1> 静态数据

   概念:静态数据是指一些永久性的数据,一般存储在硬盘中。硬盘的存储空间一般都比较大,现在普通计算机的硬盘都有500G左右,因此硬盘中可以存放一些比较大的文件。

  存储的时长:计算机关闭之后再开启,这些数据依旧还在,只要你不主动删掉或者硬盘没坏,这些数据永远都在。

   哪些是静态数据:静态数据一般是以文件的形式存储在硬盘上,比如文档、照片、视频等。

2> 动态数据(临时数据)

   概念:动态数据指在程序运行过程中,动态产生的临时数据,一般存储在内存中。内存的存储空间一般都比较小,现在普通计算机的内存只有4G左右,因此要谨慎使用内存,不要占用太多的内存空间。

  存储的时长:计算机关闭之后,这些临时数据就会被清除。

   哪些是动态数据:当运行某个程序(软件)时,整个程序就会被加载到内存中,在程序运行过程中,会产生各种各样的临时数据,这些临时数据都是存储在内存中的。当程序停止运行或者计算机被强制关闭时,这个程序产生的所有临时数据都会被清除。

你可能会问:既然硬盘的存储空间这么大,为何不把所有的应用程序加载到硬盘中去执行呢?有个主要原因是内存的访问速度比硬盘快N倍。

3> 静态数据和动态数据的转换

  静态 -> 动态

  动态 -> 静态

3. 数据的大小

  1) 不管是静态还是动态数据,都是0和1组成的。0和1如何组成这么多的数据?

  2) 数据都有大小,静态数据就会占用硬盘的空间,动态数据就占用内存的空间

  3) 数据越大,包含的0和1就越多,比特位和字节

  4) 1 KB = 1024 B,1 MB = 1024 KB,1 GB = 1024 MB,1 TB = 1024 GB

五、 常量

1. 什么是常量

  常量,表示一些固定的数据

2. 常量的分类

  1> 整型常量(int)

包括了所有的整数,比如6、27、109、256、-10、0、-289等

2> 浮点型常量(float\double)

  浮点型常量分为double和float两种数据类型

  double:双精度浮点型,其实就是小数。比如5.43、-2.3、0.0等(注意,0.0也算是个小数)

   float:单精度浮点型,也是小数,比double的精确程度低,也就是说所能表示的小数位数比较少。为了跟double区分开来,float 型数据都是以f结尾的,比如5.43f、-2.3f、0.0f。需要注意的是,绝对不能有10f这样格式的,编译器会直接报错,只有小数才允许加上f。

3> 字符常量(char)

   将一个数字(0~9)、英文字母(a~z、A~Z)或者 其他符号(+、-、!、?等)用单引号括起来,这样构成的就是字符常量。比如'6'、'a'、'F'、'+'、'$'等。

  注意:单引号只能括住1个字符,而且不能是中文字符,下面的写法是错误的:'abc'、'123456'、'男'

4> 字符串常量

   将一个或者多个字符用双引号("")括起来,这样构成的就是字符串常量。比如"6"、"男"、"哇哈哈"、"abcd"、"my_car4",其实printf("Hello World");语句中的"Hello World"就是字符串常量。

六、 变量

1. 什么是变量

  当一个数据的值需要经常改变或者不确定时,就应该用变量来表示。比如游戏积分。

2. 定义变量

1> 目的

  任何变量在使用之前,必须先进行定义。

   定义变量的目的是:在内存中分配一块存储空间给变量,方便以后存储数据。

  如果定义了多个变量,就会为这多个变量分别分配不同的存储空间。

2> 格式

变量类型  变量名;

  比如int num;

变量名属于标识符

  变量类型

   不同类型的变量占用不同大小的存储空间。内存极其有限,分配适当的存储空间

   约束变量所存放的数据类型(方便运算)

3> 实例

int main()

{

int i;

char c;

int a, b;

return 0;

}

3. 变量的使用

1> 赋值

  往变量里面存点东西,就是赋值。赋值语句后带个分号;

  例如i = 10;

注意:这里的等号=,并不是数学中的“相等”,而是C语言中的赋值运算符,作用是将右边的常量10赋值给左边的变量i

   第一次赋值,可以称为“初始化”

初始化的两种形式

   先定义,后初始化:int a;  a = 10;

   定义的同时进行初始化:int a = 10;

2> 修改

  可以修改变量的值,多次赋值。每次赋值都会覆盖原来的值

例如   i = 10;

i = 20;

变量i最后的值是20

使用printf输出一个\多个变量的值

int a = 10, c = 11;

printf("a=%d, c=%d", a, c);

double\float\char的输出,格式符的一些小技巧

double height = 1.55;

char blood = 'A';

printf("height=%.2f, 血型是%c",  height,  blood);

简单的加减操作

int a = 10 + 20;

没有初始化时不要拿来使用(下面的写法是不建议的)

int score;

printf("score=%d", score);

3> 变量之间值的传递

可以将一个变量的值赋值给另一个变量

  int a = 10;

  int b = a;

l连续赋值

  a = b = 10;

4. 常见错误

1> 变量名相同  int a = 10;  int a = 12;

2> 变量的作用域不对

变量的创建和释放过程

代码块作用域 {  int a = 10; }

5. 习题

1> 交换整型变量a、b的值。比如a=10、b=11;交换之后a的值是11,b的值是10。用两种方式实现:

使用第三方变量

int temp;

temp = a;

a = b;

b = temp;

u 不使用第三方变量

a = b - a;

b = b - a;

a = b + a;

解:

 #include <stdio.h>

 /*
a = 10
b = 11
交换之后
a -> 11
b -> 10 1.利用第三方变量(工作,掌握)
int temp = a;
a = b;
b = temp; 2.不利用第三方变量(面试,有印象)
a = b - a;
b = b - a;
a = b + a;
*/ int main()
{
int a = ;
int b = ;
/*
int temp = a;
a = b;
b = temp;
*/
a = b - a;
b = b - a;
a = b + a; printf("a=%d, b=%d\n", a, b); return ;
}

ios

------<a href="http://www.itheima.com" target="blank">Java培训、Android培训、iOS培训、.Net培训</a>、期待与您交流! -------

C语言一些知识点总结的更多相关文章

  1. 学Android开发,入门语言java知识点

    学Android开发,入门语言java知识点 Android是一种以Linux为基础的开源码操作系统,主要使用于便携设备,而linux是用c语言和少量汇编语言写成的,如果你想研究Android,就去学 ...

  2. JavaScript语言基础知识点图示(转)

    一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运算符 4.JavaScript 数组 5.Ja ...

  3. JavaScript 语言基础知识点总结

    网上找到的一份JavaScript 语言基础知识点总结,还不错,挺全面的. (来自:http://t.cn/zjbXMmi @刘巍峰 分享 )  

  4. JavaScript语言基础知识点图示

    原文:JavaScript语言基础知识点图示 一位牛人归纳的JavaScript 语言基础知识点图示. 1.JavaScript 数据类型 2.JavaScript 变量 3.Javascript 运 ...

  5. C/C++编程笔记:C语言入门知识点(三),请收藏C语言最全笔记!

    今天我们继续来学习C语言的入门知识点,第一课:C/C++编程笔记:C语言入门知识点(二),请收藏C语言最全笔记! 21. 输入 & 输出 当我们提到输入时,这意味着要向程序填充一些数据.输入可 ...

  6. c语言小知识点

    大一时学c语言,总结的一些自己感觉很零碎且容易忘的知识点,不对之处请指正 1.字符串不管中间是否有数值0,结尾一定有数值02.浮点类型的变量存储并不精确3.printf格式串自动右对齐,加负号左对齐4 ...

  7. lua语言自学知识点----Lua与.Net相互调用

    知识点: LuaInterface作用是用来完成Lua与C#的相互调用. LuaInterface核心库:1.luainterface.dll 用于C#读取lua(放在bin目录同级) 2.luane ...

  8. C++语言入门知识点(详细版)【持续更新每周三更】,小舒舒戳这里!!!

    时间过得好快啊,LITTLESUN已经在这块新地图摸打滚爬了一个多月了.前一段时间出了点小意外一直没能更新博客,昨天被小舒舒催更了(惭愧惭愧)便准备着手来一篇回忆录回首一下这一个月走过的风风雨雨,也希 ...

  9. C/C++编程笔记:C语言入门知识点(二),请收藏C语言最全笔记!

    今天我们继续来学习C语言的入门知识点 11. 作用域规则 任何一种编程中,作用域是程序中定义的变量所存在的区域,超过该区域变量就不能被访问.C 语言中有三个地方可以声明变量: 在函数或块内部的局部变量 ...

  10. 关于c语言的知识点不足的地方

    在最近的一次c语言考试之前,自己根据老师说的会出原题的卷子的总结 关于代码的自动对齐,dev c++ CTRL+shift+A/a 关于运算顺序的csdn上有,常考的有/ %等 上地址 https:/ ...

随机推荐

  1. 【CSS】伪类和伪元素选择器

    伪类 基于当前元素所处的状态或具有的特性,用于设置元素自身的特殊效果. a:link  规定所有未被点击的链接: a:visited  匹配多有已被点击过的链接: a:active  匹配所有鼠标按下 ...

  2. vue搭建项目前奏曲——vue-cli

    vue-cli是快速构建这个单页应用的脚手架,这个可是官方的.官方给的建议,如果你是初次尝试Vue,哪就老老实实用普通的书写引入js文件,这里牵扯太多的东西,例如webpack.Node.js.npm ...

  3. 上海2017QCon个人分享总结

    有幸作为讲师受邀参加InfoQ在上海举办的QCon2017,不得不说,不论是从讲师还是听众的角度衡量,QCon进一步扩大了技术视野.虽然前端专题只有四场,但每一场分享都是目前的热门话题.并且Qcon的 ...

  4. JavaBean编辑器的简单介绍

    引言 Sun所指定的JavaBean规范很大程度上是为IDE准备的--它让IDE能够以可视化的方式设置JavaBean的属性.如果在IDE中开发一个可视化的应用程序,则需要通过属性设置的方式对组成应用 ...

  5. HTML笔记<note2>

    文本标记 我是正常的文本段落 我是用b标记的加粗文本 我是用strong定义的强调文本 i标记的倾斜文本 em强调文本 del标记的删除线 del标记的下划线文本 特殊字符标记 显示 说明 空格&am ...

  6. linux 投影仪

    注:文章转自http://goo.gl/aI9Ycd如果侵权,请原作者留言,立即删除 之前在 R219 做 C++ 演講的時候,發現 Ubuntu 沒有辦法使用 VGA 輸出,臨時改用 Windows ...

  7. Oracle参数设置之set与reset的实际案例

    Oracle参数设置之set与reset的实际案例 环境:Oracle 10.2.0.5 RAC 需求:节点1的aq_tm_processes要求恢复默认,节点2设置要求保持不变 1.构建测试环境 2 ...

  8. 【前端】Require.js使用方法总结

    一.为什么要使用require.js 首先一个页面如果在加载多个js文件的时候,浏览器会停止网页渲染,加载文件越多,网页失去响应的时间就会越长:其次,由于js文件之间存在依赖关系,因此必须严格保证加载 ...

  9. json_encode()中文不转码

    php使用json_encode()把数组转换为json的时候,总会把中文进行转码,转码后从json数据上我们无法看出其中的中文文字.php5.4以后,当json_encode()的第二个参数赋值为J ...

  10. PhiloGL学习(4)——三维对象、加载皮肤

    前言 上一篇文章中介绍了如何响应鼠标和键盘事件,本文介绍如何加载三维对象并实现给三维对象添加一个漂亮的皮肤. 一. 原理分析 我对三维的理解为:所谓三维对象无非是多个二维对象拼接到一起,贴图就更简单了 ...