C语言的诞生

1972年美国贝尔实验室在研究UNIX操作系统过程中,为UNIX设计编程语言,肯·汤普森参照BCPL语言设计出了B语言,丹尼斯·里奇在这基础上设计开发出C语言。因此C语言和UNIX系统是密切相关的,这也是为啥在Mac OS、Linux系统上能够很方便编写C语言。

C语言主要应用

C语言程序结构

下面一段代码是C语言程序的基本结构

# include int main(){/* 注释 */printf("hello world");return 0;}

1.#include 是预处理器指令,告诉 C 编译器在实际编译之前要包含 stdio.h 文件。

2.int main()是主函数,程序从这里开始执行。

3./*…*/ 将会被编译器忽略,这里放置程序的注释内容。它们被称为程序的注释。

4.printf(…)是 C 中另一个可用的函数,会在屏幕上显示消息 “Hello, World!”。

5.return 0;终止 main() 函数,并返回值 0。

C语言基本语法

C语言数据类型

1. 基本数据类型

1.1 整数(int)

1.2 字符(char)

1.3 浮点

2. 枚举类型

3. void类型

4. 派生类型

常量VS变量

变量:可以改变的量

常量:固定不变的数据,不可以改变的量叫做常量

const int pass = 60 // 表示及格const int good = 75 // 表示良好const int excellent = 85 // 表示优秀

直接量:直接写在程序中的叫做直接量

const是一个修饰符,加在int的前面用来给这个变量加上一个常量(不变的)的属性。这个常量的属性表示这个变量的值一旦初始化,就不能再修改了。

如果你试图对常量做修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误。

小问题:让用户输入的值作为常量的值

# include int main(){int amount;printf("请输入amount");scanf("%d",&amount);const int AMOUNT = amount;}

浮点数

带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式另一种方式叫做定点数,不过在C语言中你不会遇到定点数。人们借用浮点数这个词来表达所有的带小数点的数。

当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算。

表达式

1. 运算符:运算符、算子

2.

C语言运算符

1. 算术运算符

+、-、*、/、%、( )、

2.

a+=1

a++、++a、

a++ a+=1 a=a+1

关系运算符:==、!=、 > 、 >= 、< 、<=、

关系运算符的结构就只有两个 1或者0

逻辑运算符: ||、&&、!

C语言控制语句

if条件语句

swtich多分支语句

while循环语句

for循环语句

break语句

continue语句

C语言函数详解

1. 函数的定义

类型说明符 函数名(形参类型,形参类型)

{

/* 函数体 */

return 返回值类型;

}

定义一个方法,传入两个整数,返回绝对值大的数

# include int getMax(int a,int b){return a > b ? a : b;}int main(){int c = getMax(34,20);printf("%d",c);return 0;}

函数分类

(1) 库函数

(2) 用户定义的函数

(3) 有返回值的函数、无返回值的函数

(4) 有参函数、无参函数

函数定义

函数的参数

(1) 形参

(2) 实参

函数返回值

2. 函数的调用

3. 函数变量

4. 变量作用域

5. 存储类别

(1) 静态局部变量

(2) 静态全局变量

C语言作用域详解

C语言数组

数组的创建
// 创建一个指定长度的空数组
int arrayName[length];
// 创建一个数组并赋值
int arrayName[] = {1,2,3,4,5,6,7}
数组元素的访问
// 使用下标访问数组元素
arrayName[index]

遍历数组
// 使用sizeof获取数组总长度除以单个元素长度,即可求出数组元素个数,然后通过循环语句即可遍历访问每个数组元素

多维数组
int arrayName[3][3] = {{1,2,3},{4,5,6},{7,8,9}}

C语言枚举

使用enum关键字类创建枚举类型

enum DAY{MON,TUE,WEN,THU,FRI,STA,SUN}

C语言指针

指针变量

# include int main(){int a = 10;int *pa = &a;printf("%d\n",a);printf("%d\n",*pa);*pa = 5;printf("%d\n",a);return 0;}

C语言结构体

结构体是一种可以存放多种数据类型的复合数据类型,使用struct关键字来创建结构体# 创建结构体struct Person {char name[32];int age;int sex;}# 使用结构体创建变量struct Person p1;p1.name="xujingliang";p1.age = 28;p1.sex = 1;#结构体中数据的访问printf("age:%d\n",p1.age);

C语言共用体

//共用体与结构体的创建和使用是类似的,不同的是共用体和结构体的存储方式是不同的,可以使用union关键字来创建共用体# 创建共用体union Person {char name[32];int age;int sex;}# 使用共用体来创建变量union Person p1;p1.name = "Hello";p1.age = 20;p1.sex = 0;

C语言输入和输出

1. scanf( )函数和printf( )函数详解

1.1 获取用户输入的值

1.2 获取用户输入的多个值

# include int main(){int a,b;printf("请输入a和b的值,中间使用空格隔开");scanf("%d %d",&a,&b);printf("a=%d,b=%d",a,b);reutrn 0;}

1.3 printf( )格式化输出

%d整数(int)
%f单精度浮点数(float)
%lf双精度浮点数(double)
%c字符