C语言基本语法


主要讲下C语言的基础,对C语言有一个大概的了解

至于C是什么,以及它的概念,这里不做阐述

C语言结构体

main函数是程序的入口

一个项目工程里main只有一个

printf - 库函数 

使用库函数,就得包含对应的头文件

stdio 标准输入输出

数据类型

char          // 字符数据类型
short         // 短整型
int            // 整型
long         // 长整型
long long  // 更长的整型
float        // 单精度浮点数
double    // 双精度浮点数

定义变量

 

sizeof

 sizeof 是一个操作符,用来计算类型和变量大小的

 全局变量和局部变量

全局变量 定义在代码块{}之外的变量

局部变量 定义在代码块{}内部

当局部变量和全局变量同时存在的情况下,局部变量优先

作用域

作用域就是指那块代码哪里能用,哪里就是它的作用域 和局部变量以及全局变量的区别是 作用域是范围 变量只是变量

局部变量的是作用域是变量所在的局部范围 全局变量的作用域是整个工程

局部变量的生命周期 全局变量的生命周期是整个工程

 

 

 

 

------------恢复内容开始------------

主要讲下C语言的基础,对C语言有一个大概的了解

至于C是什么,以及它的概念,这里不做阐述

C语言结构体

main函数是程序的入口

一个项目工程里main只有一个

printf - 库函数 

使用库函数,就得包含对应的头文件

stdio 标准输入输出

数据类型

char          // 字符数据类型
short         // 短整型
int            // 整型
long         // 长整型
long long  // 更长的整型
float        // 单精度浮点数
double    // 双精度浮点数

定义变量

 

sizeof

 sizeof 是一个操作符,用来计算类型和变量大小的

 全局变量和局部变量

全局变量 定义在代码块{}之外的变量

局部变量 定义在代码块{}内部

当局部变量和全局变量同时存在的情况下,局部变量优先

作用域

作用域就是指那块代码哪里能用,哪里就是它的作用域 和局部变量以及全局变量的区别是 作用域是范围 变量只是变量

局部变量的是作用域是变量所在的局部范围 全局变量的作用域是整个工程

局部变量的生命周期 全局变量的生命周期是整个工程

 常量分类

字面常量

字面变量演示

const常变量

const修饰的常变量被称为const修饰的常变量

const 修饰的常变量在C语言中只是在语法层面限制了 变量 num不能直接被改变,但是num本质上还是一个变量的,所以叫常变量

const 常变量不可重新赋值或者通过变量改变值

 

 报错

define

在头定义

#define var value

enum枚举变量

 枚举是C语言提供的一种自定义类型的方法

枚举常量的默认是从0开始,依次向下递增1的

字符串

结束符 \0

arr1 内存里是7个值 "a" "b" "c" "d" "e" "f" "0"  0 等于 \0 终止字符

arr2 内存里6个值 有些编辑器或者win环境后面还会打印随机值 需要用0或者\0终止

strlen()

strlen() C语言内置函数
strlen() = string length 计算字符串长度

 转义

流程控制

循环

 循环里加入break

输出结果

函数 

自己定义的函数为自定义函数
内置函数在C语言里叫库函数

定义add函数,函数传参变量a,b
函数内定义操作,将a和b相加的值赋值给add
调用函数进行相加并输出

 

 数组

C语言中给了数组的定义:一组相同类型元素的集合

int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };

C语言规定:数组的每个元素都有一个下标,下标是从0开始的。 数组可以通过下标来访问的。

	int arr[10] = { 1,2,3,4,5,6,7,8,9,10 };
	printf("%d\n",arr[3]);

 循环数组

int arr[10] = { 10,11,12,13,14,15,16,17,18,19 }; // 定义数组
int i = 0;                       // 定义下标 存进变量
while (i < 10) {                                // 数组的元素<10进入循环
	scanf("%d", &arr[i]);           // 每次循环+1
	i++;
}
i = 0;                        
while (i < 10) {
	printf("%d", arr[i]);                 // 根据循环下标输出数组值
	i++;
}