第一章--C语言的基本概念

丹尼斯 里奇

一、什么是C语言?

定义:是一个面向过程的计算机高级语言--不需要任何运行环境便能运行的程序语言;

发展:目前是C11      (K&R C—>ANSI C / C89标准—>C99标准——>C11标准);

二、什么是C程序?

概念:有很多的函数(小程序段)构成,main函数为主函数-程序执行入口;

C语言执行过程:程序编写出来通过(编译器)编译连接后生成机器语言,计算机才可以执行。目前用的Clang编译器是作者: 克里斯·拉特纳(英语:Chris Lattner,1978年)

第二章--基本语法

(关键字、标识符、数据、注释、常量、变量、printf/scanf、函数、进制)

一、什么是关键字?

概念:C语言本身提供的具有特殊功能的字符 (共32个);

注意:全都是小写字母,系统会自动高亮;

1-----------------------数据类型关键字

A.基本数据类型(5个)

  • int :整型数据,通常为默认类型;
  • float :单精度浮点型;
  • double :双精度浮点型;
  • char :字符型类型数据,属于整型数据的一种;
  • void :空类型,声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果 ;

B .类型修饰关键字(4个)

  • short :修饰int,短整型数据,可省略被修饰的int;
  • long :修饰int,长整形数据,可省略被修饰的int;
  • signed :修饰整型数据,有符号数据类型;
  • unsigned :修饰整型数据,无符号数据类型;

C .复杂类型关键字(5个)

  • struct :结构体声明;
  • union :共用体声明;
  • enum :枚举声明;
  • typedef :声明类型别名;
  • sizeof :得到特定类型或特定类型变量的大小;
D .存储级别关键字(6个)

  • auto :指定为自动变量,由编译器自动分配及释放。通常在栈上分配
  • static :指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
  • register :指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
  • extern :指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,

    C语言学习总结(一) 基本语法的更多相关文章

    1. Go语言学习笔记一(语法篇)

      国庆节七天假期,这段时间刚好项目那边催的不是很紧,基本上每天都是白天重构一下项目代码,晚上自己学习.(大概是因为容总那边的人都去度假了把项目进度放慢了吧.这两天“彩虹”姐姐也来凑热闹,据说还是直接从澳 ...

    2. Go语言学习:01-基本语法

      目录 基本语法 源文件构成 数据类型 基本类型变量 数组 切片 创建切片 调整容量 字符串与切片 常量 String Map 控制 条件语句 if switch 循环语句 函数 函数定义 函数变量 闭 ...

    3. Python语言学习前提:基础语法

      一.变量 1.变量:存储数据.存储数据需要对应内存空间,基于变量的数据类型,解释器会分配指定内存,决定什么数据被存储到内存中. 变量数据类型:整数.小数.字符. 2.变量赋值:变量在使用前必须赋值,赋 ...

    4. Groovy语言学习--语法基础(5)

      至此groovy语言学习-语法基础就结束了,新的工作已经安排下来,要干活了. 对groovy了解到一定程度之后就可以在java项目中对其进行引入了.为此新建了一个微型的项目,个人觉得千言万语不如代码实 ...

    5. Groovy语言学习--语法基础(1)

      2018年11月末,从上家公司离职后进入现在的公司.进入项目以来,发现项目中有很多groovy脚本,以前没接触过groovy,抽时间系统地学一下,也方便后期项目的开发和维护. groovy和java的 ...

    6. HTML语言学习笔记(会更新)

      # HTML语言学习笔记(会更新) 一个html文件是由一系列的元素和标签组成的. 标签: 1.<html></html> 表示该文件为超文本标记语言(HTML)编写的.成对出 ...

    7. linux 下C语言学习路线

      UNIX/Linux下C语言的学习路线.一.工具篇“公欲善其事,必先利其器”.编程是一门实践性很强的工作,在你以后的学习或工作中,你将常常会与以下工具打交道, 下面列出学习C语言编程常常用到的软件和工 ...

    8. 大一上学期C语言学习心得总结

      经过一个学期的C语言学习,大体算是在这个编程语言上入了门,能够通过一些代码解决特定的问题.当然,每次成功将问题转换成代码都小有激动,虽然只是在黑框上输出了一些数字或是字符串. 编程,虽然还不是很懂,但 ...

    9. 郝斌老师C语言学习笔记(一)

      在给变量分配内存时,很可能这段内存存在以前其他程序使用留下的值.当使用VC编译器,若编译器发现没有给变量赋值而使用,就会返回一个以“85”开头的很大的数字(此时该段内存中为一个垃圾数,为了避免出现较常 ...

    随机推荐

    1. 在Android中访问内置SE和基于SE的卡模拟(一)

      2013-10-10 编写 前言 在“十问Android NFC手机上的卡模拟”文中仅仅简单的介绍了一下相关的概念,如果需要了解基于SE的卡模拟的更多细节,也就是,究竟在Android的NFC手机上, ...

    2. 正尝试在 OS 载入程序锁内执行托管代码。不要尝试在 DllMain 或映像初始化函数内执行托管代码,这样做会导致应用程序挂起。

      出错提示: 正尝试在 OS 载入程序锁内执行托管代码. 不要尝试在 DllMain 或映像初始化函数内执行托管代码,这样做会导致应用程序挂起. 原因分析: .NET2.0中添加了42种非常强大的调试助 ...

    3. 导入导出封装的工具类 (一) 利用POI封装

      对于导入导出各个项目中差点儿都会用到,记得在高校平台中封装过导入导出这部分今天看了看是利用JXL封装的而经理说让我用POI写写导出,这两个导入导出框架是眼下比較流程和经常使用的框架,有必要都了解一下. ...

    4. 礼仪或许就是尊重的还有一个说法——leo鉴书61

      <Leo鉴书(第1辑)>已登陆百度阅读,今后还将不断更新,免费下载地址:http://t.cn/RvawZEx 礼仪从字面上就区分成"礼"和"仪"两 ...

    5. Unicode编码及其实现:UTF-16、UTF-8,and more

      http://blog.csdn.net/thl789/article/details/7506133

    6. Java基础知识强化之IO流笔记57:数据输入输出流(操作基本数据类型)

      1. 数据输入输出流(操作基本数据类型) (1)数据输入流:DataInputStream DataInputStream(InputStream in) (2)数据输出流:DataOutputStr ...

    7. Mac系统Safari浏览器启动无图模式

      有的时候我们用热点上网,图片的出现会消耗大量的流量,这时候就需要启动无图模式不加载图片. 步骤:启动Safari浏览器->偏好设置->高级->勾选“在菜单栏中显示“开发”菜单”-&g ...

    8. Mysql 半同步复制配置

      以下是配置和监控半同步复制: 1. 半同步复制功能以plugin的方式接入MySQL,需要在主库与从库两端同时开启半同步的支持,具体配置如下: On the master mysql> INST ...

    9. Scala闭包

      假如我们定义如下的函数: (x:Int) => x + more 这里我们引入一个自由变量more.它不是所定义函数的参数,而这个变量定义在函数外面,比如: var more =1 那么我们有如 ...

    10. java 用eclipse j2ee写的servlet 程序,WEB-INF下的配置文件web.xml在哪啊?谢谢!

      我用的版本是tomcat7.0,在webcontent\web-inf里只有一个空文件夹lib,写完servlet 类程序,就可以运行了,我想知道自动生成的配置文件在哪里?或者说从哪里能够看出来配置内 ...