C语言的简介
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等
第一个C语言程序
#include <stdio.h>
int main()
{
printf("Hello World\n");
return 0;
}
在屏幕上打印Hello World,需要用到stdio.h的头文件,也就是standard input/output(标准输入/输出),这个头文件可以提供printf、scanf等函数;而main函数是程序的入口,一个工程中main函数有且仅有一个。
常见的数据类型
为了更加丰富的表达生活中的各种值,设定了以下常见数据类型:
char 字符数据类型
short 短整型
int 整形
long 长整型long long 更长的整形
float 单精度浮点数
double 双精度浮点数
如果想知道这些数据类型在内存中占用的大小,可以用下面的代码得知:
#include <stdio.h>
int main()
{
printf("%zd\n", sizeof(char));
printf("%zd\n", sizeof(short));
printf("%zd\n", sizeof(int));
printf("%zd\n", sizeof(long));
printf("%zd\n", sizeof(float));
printf("%zd\n", sizeof(double));
return 0;
}
在Visual Studio 2022编译运行后得到以下结果:
变量、常量
不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示
定义变量的方法
定义变量的一般形式为 数据类型 变量名 = 初值;
数据类型决定了变量可以存储的数据类型,变量名是标识符,而初值是可选的,可以在定义时进行初始化。
#include <stdio.h>
int main() {
// 声明并初始化整数变量
int age = 150;
// 声明并初始化浮点数变量
float weight = 45.5f;
// 声明并初始化字符变量
char ch = 'w';
// 在控制台输出变量的值
printf("Age: %d\n", age);
printf("Weight: %.1f\n", weight);
printf("Character: %c\n", ch);
return 0;
}
命名规则
变量命名规则
- 以字母或下划线
_
开头。 - 可以包含字母、数字、下划线。
- 不能使用关键字(保留字)作为变量名。
- 大小写敏感。
- 应具有描述性,体现变量的用途。
常量命名规则:
- 通常使用全大写字母。
- 可以包含下划线,以提高可读性。
- 应使用有意义的名字,突出常量的作用。
变量和常量的分类:
变量:
- 局部变量: 在函数或代码块内声明,只在其声明的范围内有效。
- 全局变量: 在函数外部声明,整个程序中都有效,但生命周期受程序运行周期限制。
常量:
- 字面常量: 程序中直接使用的常量值,如
10
、"Hello"
。 - 符号常量(宏常量): 使用
#define
定义的常量,例如#define PI 3.14159
。
变量和常量的使用:
变量的使用:
- 赋值: 给变量赋初值,使用
=
运算符。 - 读取: 通过变量名来获取变量存储的值。
常量的使用:
- 直接使用: 字面常量可以直接使用。
- 通过符号常量: 使用
#define
定义的符号常量,可以提高代码的可维护性和可读性。
变量和常量的作用域和生命周期:
作用域:
- 局部作用域: 局部变量只在其声明的代码块内有效,超出该范围无法访问。
-
全局作用域: 全局变量在整个程序中有效,可以被任何函数访问。
生命周期:
- 局部变量: 在其声明的代码块执行时创建,离开代码块时销毁。
- 全局变量: 在程序开始执行时创建,程序结束时销毁。
示例代码
#include <stdio.h>
// 全局变量
int globalVar = 100;
int main() {
// 局部变量
int localVar = 50;
// 使用变量
int result = globalVar + localVar;
// 打印结果
printf("打印结果: %d\n", result);
return 0;
}
杂谈
这次开始学习编程是为了弥补以前欠的账,我是某个大学的学生,大学四年疫情占三年,浑浑噩噩度过了大学生活,天真的带着高中的惯性思维,以为跟着学校走不挂科就可以,实际上还是要额外学习很多内容的。虽然已经大四了,很多事情开始变得很无奈,但是我学习编程的兴趣还在,是因为小时候挺早接触电脑的,小时候还是个“垃圾佬”以前经常把电脑拆装升级硬件,对电子产品、游戏很感兴趣,想做独立游戏开发者.....还是希望跟随自己的本心去做吧......打算写写学习笔记记录每天的学习过程,希望学完以后能够找个工作养活自己,业余时间开发出一款自己满意的游戏,就写到这里吧!