C语言介绍

作者: 积木同学 | 来源:发表于2018-08-09 07:59 被阅读24次

1.c语言的发展历史

            --C语言的原型ALGOL 60语言(也称为A语言),最早的块结构语言。

            --1963年,剑桥大学将ALGOL 60语言发展成为CPL语言,CPL最大的缺点就是太大了,以至于不能在很多应用程序中使用。

            --1967年,剑桥大学的Martin Richards 对CPL语言进行了简化,于是产生了BCPL语言,BCPL缺乏运行时的支持,而且运行很慢。

            --1970年,美国贝尔实验室的Ken thompson将BCPL进行了修改,提炼CPL语言的精华并起名为B语言,并且他用B语言写了第一个UNIX操作系统,它的字符处理机制太烂了,而且浮点数运算被实现的并不理想,处理指针时开销太大。

            --1972年左右,美国贝尔实验室的D.M.Ritchie在B语言基础上最终设计出了一种新的语言,取名为C语言。

            --1977年,为了使UNIX操作系统推广,Dennis.M.Rithie发表了不依赖于具体机器系统的C语言编译文本“可移植的C语言编译程序”。

            --1978年,美国电放电报公司(AT&T)贝尔实验室正式发表了C语言,同时由B.W.Kernighan和D.M.Ritche合著了著名的“The C Programming Language”一书,通常简称为“K&R”,也有人称之为“K&R”标准,但是在“K&R”中并没有定义一个完整的标准C语言。

            --1983年,美国国家标准化协会(American National Standards Institute),在“K&R”基础上制定了一个C语言标准,于1983年发表,通常称之为ANSI C,又称C89。

            --1990年,国际标准化组织ISO(International Organization for Standards)接受了ANSI C为ISO C的标准(ISO9899-1990),又称C99。

2.C语言的特点

            1》 语言,简洁,紧凑,使用方便灵活。C语言一共有32个关键字,9种控制语句,程序书写自由,压缩了一切不必要的成份。

    2》 运算符丰富。

            3》 数据类型丰富,具有现代语言的各种数据结构。

    4》 具有结构化的控制语句。

    5》 语法限制不太严格,程序设计自由度大。

    6》 C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件操作。

            7》 生成目标代码质量高,程序执行效率高。C语言一般只比汇编程序生成的目标代码效率低10%--%20。

    8》 C语言编写的程序可移植性好,基本不用太多的修改就能在各种平台上运行。

3.C的应用现状

            操作系统内核开发领域几乎是唯一开发工具

            绝大部分操作系统是由C加上少量汇编语言开发的

            Linux、Windows、Vxworks、Unix

            在嵌入式领域占有绝对优势

            在网络服务器类相当大优势

                Apache、Oracle

            GUI应用领域

                大型商用程序采用C的较多

                Offices,SPSS,AutoCAD

            大规模、高性能计算、游戏开发以及一些传统的客户端软件和构件

4.C程序结构特点

            程序由一个或多个函数组成

            必须有并且只能有一个主函数main()

            程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行

            C程序由语句组成

            用";"作为语句终止符

            习惯用小写字母,大小写敏感

6.linux平台下我们用的编译工具 gcc  (GUN)编译器的集合;我们用的编辑工具 VIM 。

    注: 区别的编译器和编辑器的功用。

        -E    -S    -c    (-o)

    .c --> .i --> .s --> .o --> a.out

      预处理  编译  汇编    链接

7.常用的字节和位之间的单位系

            内存以字节为单元组成,每个字节有一个地址,一个字节一般由8个二进制位组成,每个二进制的值是0或1

            1T = 1024G

            1G = 1024M

            1M = 1024K     

            1K = 1024B     

            1B = 8b        Byte 字节  Bit 位

8.C语言的32个关键字

    只有32个,很多功能由函数实现.

    auto  break  case  char  const  continue  default  do double  else

    enum  extern  float  for  goto  if  int  long  register  return

    short  signed sizeof  static  struct  switch  typedef  unsigned  union  void

    volatile  while

9.数据类型    注:(区分数据类型和数据结构的概念)

                                                  |--短整型short

                                          |整型----|--整型  int

                              |--数值类型|        |--长整型long

                              |                  |--扩展型长整型 long long

    |---------------基本类型--|          |       

    |                        |          |实点型--|-单精度型float

    |               |                  |-双精度型double

C    |                        |--字符类型

数  |

据 --|                        |--数组

类  |---------------构造类型--|--结构体型

型  |                        |--枚举类型

    |                        |--共用体型

    | 

    |---------------指针类型

    |

    |---------------空类型(无类型void)

    |               

    |---------------自定义类型typedef

10. 常量与变量

    1》运行过程中,其值不能改变的量称为常量。12,-3,4.6,-1.23,'a',“hello”。

    2》在运行过程中可以改变其值的量叫变量。

    3》和其它高级语言一样,用来对变量,符号常量,函数,数组等数据对象命名的有效字符序列称为标志符。

    注: 规定标识符只能由字母,数字和下划线3种字符组成。且第一个字母必须为字母或下划线。(有大小写之分)

    Class  class 为不同的变量名。

注:ANSI C没有规定标识符的长度,但各个C编译系统都有自己的规定。如IBM——PC的MSC取8个字符。大于8个字符的只取前8个字符作为有效标识符。

11.整型变量

    1》 整型数据在内存的存储方式(补码),正数和0的补码和它的原码相同,负数是原码取反加1;

    2》 整数的十进制数,八进制,二进制的相互转换和表示方法;

    10进制===>>2进制  (除二取余法)

    2    ===>>10    例10101    ==  1*2^0+0*2^1+1*2^2+0*2^3+1*2^4

  每一个十六进制对应4个bit

12.浮点型变量

float  f;

double  b;

13.字符变量与常量

man ascii

char ch    "ch为字符变量"

ch = 'a'  "a为字符常量"

14.字符串常量

  "hello world"

13.算术运算符和算术表达式

  (查表理解它们之间的优先级别,尽可能的多记一点)

a+b; a b 操作数  ‘+’操作符

根据所需操作数的数量 将操作符分为:

1.单目运算符:++ --  & ! ~  *(解引用:访问指针指向的空间)

2.双目运算符:+ - * / %

3.三目运算符: ?:

14.输出(printf)输入(scanf)语句的用法和简介

printf("hello %d\n",a);

scanf("%d",&a);

%  格式控制符

a  输出/输入参数

几个%对应几个输出/输入参数,也叫输出列表

%d    整数int

%h    short

%c    字符char

%s    字符串

%f    浮点型float

%lf    double

%p    地址

%x    十六进制

%o    一个八进制

%u    unsigned int

%hu    unsigned short

%ld    unsigned long

%lld  long long

%%    输出一个“%”

...........................

15.位运算

      运算符          含义

        &(清0)        按位与    0&0=0,  0&1=0,  1&0=0,  1&1=1   

    |(置1)        按位或    0|0=0,  1|0=1, 0|1=1, 1|1=1

    ^            按位异或  0^0=0,  1^0=1,  0^1=1,  1^1=0   

    ~            取反

        在逻辑左右移移出去的直接丢弃,空出来的补0

        算术右移移出去的直接丢弃 空出来的补符号位

    <<            左移

    >>            右移

16.布尔希值(bool)

  非零为真,零为假。

相关文章

  • C语言介绍

    1.c语言的发展历史 --C语言的原型ALGOL 60语言(也称为A语言),最早的块结构语言。 ...

  • C语言 介绍

    c语言优点: 代码量小、速度快、功能强大 wps就是用C语言编写的 windows由C、C++编写 unix: C...

  • C语言介绍

    前述: 多年以后我们一定会记住2020这次的疫情,通过这次灾难不知道多少行业会被洗牌,回归起点,java写久了,似...

  • C语言简介

    C语言简介 谈起C语言的介绍,在网络上有各种各样的说明,各种C语言教学书籍中也都有对C语言进行简单的介绍。那些都没...

  • C语言如何使用随机数?

    C语言如何使用随机数? 功能介绍推送一些C语言方面的知识,提供C语言/C++语言资料,讨论和学习C语言/C++编程...

  • iOS学习路线-可参考

    课程分 类 课程模块 模块介绍 课程内容 Part1 C语言C语言和Objective-C语言 C语言 Mac系统...

  • c语言入门经典18个程序

    C语言程序设计 QQ群:731871503 功能介绍 从零开始精通C语言教程用于C语言学习交流,分享C语言相关的...

  • C++语言介绍

    1.C++语言的特点 1.语言简洁紧凑,使用灵活方便 C++语言共有32个关键字和9种控制语言,程序书写自由,既有...

  • C++语言实现顺序栈

    C++语言实现顺序栈 在写C语言实现顺序栈的时候,我已经向大家介绍了>栈的特点以及介绍了栈的相关操作,并利用C语言...

  • 【记2】const小记

    一、首先介绍C语言中的const功能。 二、开始比较C语言与C++中的const区别。在C语言中,若采用以下代码,...

网友评论

    本文标题:C语言介绍

    本文链接:https://www.haomeiwen.com/subject/lszfbftx.html