C语言学习总结(一) 基本语法
第一章--C语言的基本概念
丹尼斯 里奇
一、什么是C语言?
定义:是一个面向过程的计算机高级语言--不需要任何运行环境便能运行的程序语言;
发展:目前是C11 (K&R C—>ANSI C / C89标准—>C99标准——>C11标准);
二、什么是C程序?
概念:有很多的函数(小程序段)构成,main函数为主函数-程序执行入口;
C语言执行过程:程序编写出来通过(编译器)编译连接后生成机器语言,计算机才可以执行。目前用的Clang编译器是作者: 克里斯·拉特纳(英语:Chris Lattner,1978年)

第二章--基本语法
(关键字、标识符、数据、注释、常量、变量、printf/scanf、函数、进制)
一、什么是关键字?
概念:C语言本身提供的具有特殊功能的字符 (共32个);
注意:全都是小写字母,系统会自动高亮;
1-----------------------数据类型关键字
- int :整型数据,通常为默认类型;
- float :单精度浮点型;
- double :双精度浮点型;
- char :字符型类型数据,属于整型数据的一种;
- void :空类型,声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 ;
B .类型修饰关键字(4个)
- short :修饰int,短整型数据,可省略被修饰的int;
- long :修饰int,长整形数据,可省略被修饰的int;
- signed :修饰整型数据,有符号数据类型;
- unsigned :修饰整型数据,无符号数据类型;
C .复杂类型关键字(5个)
- struct :结构体声明;
- union :共用体声明;
- enum :枚举声明;
- typedef :声明类型别名;
- sizeof :得到特定类型或特定类型变量的大小;
- auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配
- static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
- register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
- extern :指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,
C语言学习总结(一) 基本语法的更多相关文章
- Go语言学习笔记一(语法篇)
国庆节七天假期,这段时间刚好项目那边催的不是很紧,基本上每天都是白天重构一下项目代码,晚上自己学习.(大概是因为容总那边的人都去度假了把项目进度放慢了吧.这两天“彩虹”姐姐也来凑热闹,据说还是直接从澳 ...
- Go语言学习:01-基本语法
目录 基本语法 源文件构成 数据类型 基本类型变量 数组 切片 创建切片 调整容量 字符串与切片 常量 String Map 控制 条件语句 if switch 循环语句 函数 函数定义 函数变量 闭 ...
- Python语言学习前提:基础语法
一.变量 1.变量:存储数据.存储数据需要对应内存空间,基于变量的数据类型,解释器会分配指定内存,决定什么数据被存储到内存中. 变量数据类型:整数.小数.字符. 2.变量赋值:变量在使用前必须赋值,赋 ...
- Groovy语言学习--语法基础(5)
至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实 ...
- Groovy语言学习--语法基础(1)
2018年11月末,从上家公司离职后进入现在的公司.进入项目以来,发现项目中有很多groovy脚本,以前没接触过groovy,抽时间系统地学一下,也方便后期项目的开发和维护. groovy和java的 ...
- HTML语言学习笔记(会更新)
# HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...
- linux 下C语言学习路线
UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...
- 大一上学期C语言学习心得总结
经过一个学期的C语言学习,大体算是在这个编程语言上入了门,能够通过一些代码解决特定的问题.当然,每次成功将问题转换成代码都小有激动,虽然只是在黑框上输出了一些数字或是字符串. 编程,虽然还不是很懂,但 ...
- 郝斌老师C语言学习笔记(一)
在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...
随机推荐
- [转]Reducing script compile time or a better workflow to reduce excessive recompiling
http://forum.unity3d.com/threads/148078-Reducing-script-compile-time-or-a-better-workflow-to-reduce- ...
- gulp自己主动化任务脚本在HybridApp开发中的使用
眼下做前端开发的同学可能都熟悉grunt.fis之类的自己主动化构建工具.事实上在HybridApp开发中我们也能够使用这些工具来简化我们的工作.gulp就是一个比grunt,fis都先进的构建工具. ...
- DM8168 DVRRDK软件框架研究
转载注明:http://blog.csdn.net/guo8113/article/details/41120491 Netra(DM8168)处理器是个多核处理器,每一个核之间相互独立却又相互关联, ...
- CRF++使用小结(转)
1. 简述 近期要应用CRF模型,进行序列识别.选用了CRF++工具包,详细来说是在VS2008的C#环境下,使用CRF++的windows版本号.本文总结一下了解到的和CRF++工具包相关的信息. ...
- phpcms 源码分析五:文件缓存实现
这次是逆雪寒的文件缓存实现代码分析: /* [/php] PHPCMS的文本缓存实现: [php] <?php /* 这个文件里面全是有关生成文本缓存的函数.文本缓存是个好东西.一般的项目,我们 ...
- 简单的实现QQ通信功能(五)
第五部分:聊天界面的设计及代码 一:效果图及界面设计 1. 效果图: 2. 界面设计: (1)左上角显示朋友的头像和“某某正在和某某聊天”. (2)中间的聊天窗口用了一个ListView,视图用详细信 ...
- Java json设置时间格式,Jackson设置时间格式,json设置单引号
Java json设置时间格式,Jackson设置时间格式,json设置单引号 >>>>>>>>>>>>>>> ...
- Linux操作系统搭建JDK开发环境
在Linuxer系统中,jdk环境常常是必需的,下面介绍下Oracle官方JDK安装方式 第一步:去jdk官网下载对应版本的JDK安装文件 第二步:解压文件,修改文件名 $ sudo mkdir /u ...
- FOR XML PATH 转换问题
以下我带大家了解关于 FOR XML PATH 首先我们看下所熟悉的表数据 之后转换 <骨牌编号>1</骨牌编号> <骨牌颜色>橙</骨牌颜色> < ...
- IOS GCD 的理解
GCD (Grand Central Dispatch) 是Apple公司开发的一种技术,它旨在优化多核环境中的并发操作并取代传统多线程的编程模式. 在Mac OS X 10.6和IOS 4.0之后开 ...
- Go语言学习笔记一(语法篇)