————————java培训、Andoroid培训、IOS培训、.Net培训、
期待与您交流!————————
C语言
C语言是一个有结构化程序设计、具有变量作用域、以及递归功能的过程式语言。它是面向过程的一门语言。
数据类型
C的数据类型包括: 整形 、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。
常量与变量
常量其值不可改变,符号常量名通常用大写。
#define PI 3.14 那么PI就是一个常量。
变量是以某标识符为名字,其值可以改变的量。 标识符是以字母或下划线开头的一串由字母、数字或下划线构成的序列 ,请注意第一个字符必须为字母或下划线,否则为不合法的变量名。变量在编译时为其分配相应存储元。
int a;a就是一个变量。在定义时若标识符为int 1a、int 33333 ……这些都是错误的。
数组
如果一个变量名后面跟着一个有数字的中括号,这个声明就是数组声明。字符串也是一种数组。记住方括内的索引值是从0算起的。
int array[5]={1,2,3,4,5};
char str[]="hello world";
int array1[3]={1,2,3,4,5};这是一种错误的定义, 中括号中的值应该不小于右边所定义的元素个数 。
指针
C语言最核心的内容就是指针。
如果一个变量声明时在前面使用 * 号,表明这是个指针型变量。换句话说,该变量存储一个地址,而*则是取操作符,意思是取这个内存地址里存储的内容。
int *p=10;则p指向了10的存储地址,及p=&10;那么*p就指向了该存储地址的内容,*p就是10。
字符串
C语言的字符串其实就是以'\0'字符结尾的char型数组。
char str[]="hello world";
关键字
关键字又称为保留字,就是已被C语言本身使用,不能作其它用途使用的字。
C语言的关键字有32个,就是用蓝色标识的单词。
void:声明函数无返回值或无参数,声明无类型指针,显示丢弃运算结果
char:字符型类型数据,属于整形数据的一种
int:整型数据,表示范围通常为编译器指定的内存字节长
float:单精度浮点型数据,属于浮点数据的一种
double:双精度浮点型数据,属于浮点数据的一种
short:修饰i nt ,短整型数据,可省略被修饰的int
signed:修饰整型数据,有符号数据类型
unsigned:修饰整型数据,无符号数据类型
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式
struct:结构体声明
union:联合体声明
enum:枚举声明
typedef:声明类型别名
sizeof:得到特定类型或特定类型变量的大小
nline:内联函数用于取代宏定义,会在任何调用它的地方展开
auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配。与static相反。变量默认为auto
static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义
const:指定变量不可被当前线程改变(但有可能被系统或其他线程改变)
volatile:指定变量的值有可能会被系统或其他线程改变,强制编译器每次从内存中取得该变量的值,阻止编译器把该变量优化成寄存器变量
return:用在函数体中,返回特定值(如果是void类型,则不返回函数值)
continue:结束当前循环,开始下一轮循环
break:跳出当前循环或switch结构
goto:无条件跳转语句
if:条件语句,后面不需要放分号
else:条件语句否定分支(与if连用)
switch:开关语句(多重分支语句)
case:开关语句中的分支标记,与switch连用
defualt:开关语句中的“其他”分支,可选
#define 预编译宏
BOOL:布尔类型
long : 修饰 int ,长整型数据,可省略被修饰的 int
语法结构
顺序结构:自上而下,依次执行。
char:字符型类型数据,属于整形数据的一种
int:整型数据,表示范围通常为编译器指定的内存字节长
float:单精度浮点型数据,属于浮点数据的一种
double:双精度浮点型数据,属于浮点数据的一种
short:修饰i nt ,短整型数据,可省略被修饰的int
signed:修饰整型数据,有符号数据类型
unsigned:修饰整型数据,无符号数据类型
restrict:用于限定和约束指针,并表明指针是访问一个数据对象的唯一且初始的方式
struct:结构体声明
union:联合体声明
enum:枚举声明
typedef:声明类型别名
sizeof:得到特定类型或特定类型变量的大小
nline:内联函数用于取代宏定义,会在任何调用它的地方展开
auto:指定为自动变量,由编译器自动分配及释放。通常在栈上分配。与static相反。变量默认为auto
static:指定为静态变量,分配在静态变量区,修饰函数时,指定函数作用域为文件内部
register:指定为寄存器变量,建议编译器将变量存储到寄存器中使用,也可以修饰函数形参,建议编译器通过寄存器而不是堆栈传递参数
extern:指定对应变量为外部变量,即标示变量或者函数的定义在别的文件中,提示编译器遇到此变量和函数时在其他模块中寻找其定义
const:指定变量不可被当前线程改变(但有可能被系统或其他线程改变)
volatile:指定变量的值有可能会被系统或其他线程改变,强制编译器每次从内存中取得该变量的值,阻止编译器把该变量优化成寄存器变量
return:用在函数体中,返回特定值(如果是void类型,则不返回函数值)
continue:结束当前循环,开始下一轮循环
break:跳出当前循环或switch结构
goto:无条件跳转语句
if:条件语句,后面不需要放分号
else:条件语句否定分支(与if连用)
switch:开关语句(多重分支语句)
case:开关语句中的分支标记,与switch连用
defualt:开关语句中的“其他”分支,可选
#define 预编译宏
BOOL:布尔类型
long : 修饰 int ,长整型数据,可省略被修饰的 int
语法结构
选择结构:if..else if switch..case
循环结构:while do..while for
函数
函数是一个自我包含的完成一定相关功能的执行代码段。
void test()
{
printf("这是一个测试函数\n");
}
运算符号
通用的运算符号:+、-、*、/、%、&、=、++、||……
优先级:单目运算符>算数运算符>关系运算符>逻辑运算符>条件运算符>赋值运算符(=)>逗号运算符。
一个完整的C程序
main是主函数名称,是C语言的入口。void是返回类型,返回为空。#include 引用标准函数库,使编译器能够识别写入的代码。在函数中可以忽略声明。//或者/**/是注释。
#include <stdio.h>
void main()
{
printf("Hello world\n");//输出一个名为Hello world的字符串并换行。
}