C语言框架初步认识
文章目录
一、什么是C语言?
1.C语言是一门通用计算机编程语言,广泛应用于底层开发。
2.C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
二、第一个C语言程序
- 需记忆点:输出时%所对应的输出数据类型
三、数据类型
1.本质
- 创建变量,根据类型向内存申请对应的空间
2.常用的数据类型
- char, int, float, double
注意:C语言没有字符串类型,区别于Java的String
3.数据类型的所占的字节大小
代码演示 数据类型所占的字节大小
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));//1
printf("%d\n", sizeof(short));//2
printf("%d\n", sizeof(int));//4
printf("%d\n", sizeof(long));//4
printf("%d\n", sizeof(long long));//8
printf("%d\n", sizeof(float));//4
printf("%d\n", sizeof(double));//8
printf("%d\n", sizeof(long double));
return 0;
}
//小疑问:long double的大小是几个字节,8还是12
3.注意float
float weight = 45.5f;
//疑问:定义float类型的变量时,数据后面是否可以不加f呢?
//默认类型时double?和Java一样吗
四、变量和常量
1.变量的命名规则
- 只能由字母(包括大写和小写)、数字和下划线( _ )组成
- 不能以数字开头
- 长度不能超过63个字符
- 变量名中区分大小写的
- 变量名不能使用关键字
2.局部变量\全局变量
代码演示 局部\全局变量的使用
#include <stdio.h>
int global = 2023;
int main()
{
int local = 2022;//局部变量
int global = 2024;
printf("global=%d", global);//2024
return 0;
}//思考:主函数里定义的global是否存在语法错误
总结:局部变量和全局变量同名的时候,局部变量优先使用
3.常量
3.1分类
- 字面常量
- const 修饰的常变量 //本质还是变量只是不可修改
- #define 定义的标识符常量 //预编译时替换
- 枚举常量 //枚举常量的默认是从0开始,依次向下递增1
注意:const 修饰的常变量在C语言中只是在语法层面限制了,变量不能直接被改变,但是本质上还是一个变量的,所以叫常变量。
五、字符串+转义字符+注释
1.字符串
#include <stdio.h>
int main()
{
char arr1[] = { 'o', 'f', 'f', 'e', 'r' };
char arr2[] = "offer";
char arr3[] = { 'o','f','f','e','r','\0' };
printf("%s\n", arr1);//不知道什么时候结束
printf("%s\n", arr2);
printf("%s\n", arr3);
return 0;
}
注意:字符串的结束标志是一个 \0 的转义字符。在计算字符串长度的时候 \0 是结束标志,不算作字符串
内容。
2.转义字符
2.1.种类
2.2使用
代码展示 如何在屏幕上打印 D:\code\2023:
#include <stdio.h>
int main()
{
printf("D:\\code\\2023:\n");
return 0;
}//如果没有\\的话,后面的字符会出现什么情况
代码展示 如何在屏幕上打印出"和\
#include <stdio.h>
int main()
{
printf("\"");
printf("\\");
return 0;
}
2.3笔试题练习:
题目 程序的输出结果是什么
#include <stdio.h>
int main()
{
printf("%d\n", strlen("abcdef"));//6
printf("%d\n", strlen("c:\test\628\test.c"));//14
// \62被解析成一个转义字符
return 0;
}
3.注释
养成习惯
六、选择语句
七、循环函数
八、函数
特点: 简化代码,代码复用
九、数组
十、操作符
1.算术操作符
2.移位操作符
3.位操作符
4.赋值操作符
5.单目操作符
6.关系操作符
7.逻辑操作符
8.条件操作符
9.逗号表达式
10.下标引用、函数调用和结构成员
十一、常见关键字32个
1.typedef: 类型重命名
2.static
在C语言中:
static是用来修饰变量和函数的
- 修饰局部变量-称为静态局部变量
- 修饰全局变量-称为静态全局变量
- 修饰函数-称为静态函数
结论:
- static修饰局部变量改变了变量的生命周期, 让静态局部变量出了作用域依然存在,到程序结束,生命周期才结束
- 一个全局变量或函数被static修饰,使得这个全局变量或函数只能在本源文件内使用,不能在其他源文件内使用
十二、define定义常量和宏
//define定义标识符常量
#define MAX 1000
//define定义宏
#define ADD(x, y) ((x)+(y))
注意: 宏在使用的时候在预编译阶段, 进行的是宏替换, 由于运算符的优先级, 因此不要吝啬括号的使用!
十三、指针
1.理解
- 内存是电脑上特别重要的存储器,计算机中程序的运行都是在内存中进行的
- 为了有效的使用内存,就把内存划分成一个个小的内存单元,每个内存单元的大小是1个字节。为了能够有效的访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址
- 变量是创建内存中的(在内存中分配空间的),每个内存单元都有地址,所以变量也是有地址的
- 标准输出应使用%p来进行打印
2.指针变量的大小
代码演示指针变量的大小(地址的大小)
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char *));
printf("%d\n", sizeof(short *));
printf("%d\n", sizeof(int *));
printf("%d\n", sizeof(double *));
return 0;
}
结论
指针变量的大小取决于地址的大小
32位平台下地址是32个bit位(即4个字节)x86
64位平台下地址是64个bit位(即8个字节)x64
十四、结构体
1.本质:可以存放不同类型的元素的集合, 区别于数组(存放相同类型的元素) ,可以描述复杂类型
总结
以上就是今天要讲的内容,本文仅仅简单介绍了C语言知识点的基本的框架,希望码友能够对C语言有一定的初步认识,如有存在不足,欢迎评论区指正!