C语言基础知识
来源:互联网 发布:淘宝妈妈网站推广 编辑:程序博客网 时间:2024/06/04 01:29
C语言是一门通用计算机编程语言,应用广泛。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但任然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的国际标准语法,称为ANSI C,作为C语言最初的标准。
C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程是语言。
C语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed byvalue)。
不同的变量类型可以用结构体(struct)组合在一起。
只有32个保留字,使变量、函数命名由更多弹性。
部分变量类型可以转换,例如整型和字符型变量。
通过指(pointer),C语言可以容易进行低级控制。
预编译处理(preprocessor)让C语言的编译更具有弹性。
C语言一共只有32个关键字,9种控制语句,程序书写形式自由,区分大小写。把高级语言的基本结构和语句与低级语言的实用性结合起来。C语言可以像汇编语言一样对位、字节和地址进行操作,而这三者是计算机最基本的工作单元。
C语言的运算符包含的范围很广泛,共有34种运算符。C语言把括号、赋值、强制类型转换等都作为运算符处理。从而是C语言的运算类型及其丰富,表达式类型多样化
C语言的数据类型有:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等。能用来实现各种复杂的数据结构的运算。并引用了指针的概念,使程序更高效。
C语言提供多种运算符和表达式值的方法,对问题的表达可通过各种途径获得,其程序设计更主动、灵活。它的语法限制不太严格,程序设计自由度大,如对整型量与字符型数据及逻辑型数据可以通用。
允许直接访问物理地址,对硬件进行操作由于C语言允许直接访问地址,可以直接对硬件进行操作,因此它既具有高级语言的功能,又具有低级语言的许多功能。
生成目标代码质量高,程序执行效率高,C语言描述问题比汇编语言迅速,工作量小、可读性好,易于调试、修改和移植。
C语言在不同机器上的C编译程序,86%的代码是公共的,所以C语言的编译程序便于移植。
C程序的基本过程:
编译->链接->执行
C语言的基本数据类型包括:
1、数值 (数据类型)
(1)整形 int(用于存储整数)、short(用于存储较短的数字)、long
(2)浮点型 float、double(用于存储小数点较多的小数点)
2、非数值(字符类型)
char
变量:
是计算机里一块特定的内存空间。它是由一个或者多个连续的字节所组成。每个变量都有一个名称,可以用该名称表示内存的这个位置,通过变量名可以简单快速的找到在内存中存储的数据。
变量命名:
1、首字母只能为字母或下划线;
2、变量名的其他字母包含下划线,数字和字母;
3、不能使用关键字。,
运算符
1、赋值运算符 = += -= /= *= %=
2、算术运算符 + - * / %
3、关系运算符 > < >= <= == !=
4、逻辑运算符 && || !
运算优先级
() sizeof ++ --
!
算术运算符
关系运算符
&&
||
赋值运算符
计算顺序:从右到左
算术运算符可以进行算术运算
num++ :整个表达式先表达一遍在运行一次;
--num :先减在表达
0 假
1 真
逻辑运算符:
&&表示并且 条件1&& 条件2 两个条件同时为真,结果为真;
||表示或者 条件1 || 条件2 两个条件有一个为真,结果为真;
!逻辑非 !条件 条件为真,即为假;条件为假,即为真。
- C语言基础知识
- C语言基础知识1
- c语言基础知识
- C语言基础知识
- c语言基础知识回顾
- C语言基础知识
- C语言基础知识
- C语言基础知识
- C语言/C++基础知识
- C语言的基础知识
- C语言基础知识
- C语言基础知识
- C语言基础知识.......................
- c语言基础知识
- C语言基础知识2
- C语言基础知识
- C语言基础知识梳理
- C语言基础知识汇集
- 第一章、Tiny4412 U-BOOT移植一 说明
- 类型萃取&类的模板特化
- UBUNTU adb连接android设备
- struts的搭建及简单理解
- 11g GRID的结构和管理总结
- C语言基础知识
- PHP常见规范
- 基于点和线特征的实时单目SLAM
- Android程序隐藏系统自带的标题栏
- Kylin 安装以及spark cube 的创建
- Problem E: 求最大值和最小值
- angular实现假分页
- 百度地图发版后显示网格
- SpringBoot集成通用Mapper 分页插件 Generator