一.什么是C语言
C语言是一种通用的、高级的编程语言,最初由Dennis Ritchie在20世纪70年代开发。它被广泛用于系统编程,包括操作系统、嵌入式系统和驱动程序等方面。C语言具有简洁、高效、可移植和可扩展的特点,同时也是许多其他编程语言的基础。C语言的语法清晰简单,易于学习和使用,因此成为许多计算机科学入门课程的教学语言。
二.第一个C语言程序
#include <stdio.h>
int main()
{
printf("hello world\n");
return 0;
}
//解释:
//main函数是程序的入口
//一个工程中main函数有且仅有一个
//printf函数用于输出
三. 数据类型
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点数
double //双精度浮点数
#include <stdio.h>
int main()
{
printf("%d\n", sizeof(char));
printf("%d\n", sizeof(short));
printf("%d\n", sizeof(int));
printf("%d\n", sizeof(long));
printf("%d\n", sizeof(long long));
printf("%d\n", sizeof(float));
printf("%d\n", sizeof(double));
printf("%d\n", sizeof(long double));
return 0;
}
四. 变量、常量
1.什么是变量/常量
变量是一个可以存储不同值的存储空间。在程序中,可以通过给变量赋值来存储不同的数据。变量的值可以随时改变。在大多数编程语言中,变量需要先声明后使用,声明时需要指定变量的类型。
常量是一个固定的值,它的值在程序执行过程中不能改变。常量一旦被定义,其值就不能再改变。在大多数编程语言中,常量需要通过关键字来定义。
在使用变量和常量时,需要注意以下几点:
- 变量用于存储可以改变的值,常量用于存储不可改变的值。
- 变量需要先声明后使用,常量需要先定义后使用。
- 变量的值可以随时改变,常量的值在定义后不能再改变。
- 变量的值可以通过赋值操作改变,常量的值一般在定义时直接指定。
- 变量可以在程序执行过程中多次使用和改变,常量一般在定义后不再改变。
2.变量的定义方法
关键字 + 命名 = 初始值
int age = 18;
float weight = 33.4f;
char ch = 'w';
3.变量的分类
#include <stdio.h>
int global = 1;//全局变量
int main()
{
int local = 2;//局部变量
//下面定义的global会不会有问题?
int global = 3;//局部变量
printf("global = %d\n", global);
return 0;
}
上面的局部变量global变量的定义其实没有什么问题的!当局部变量和全局变量同名的时候,局部变量优先使用。
4.变量的使用
#include <stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
printf("输入两个数:");
scanf("%d %d", &num1, &num2);
sum = num1 + num2;
printf("sum = %d\n", sum);
return 0;
}
5.变量的作用域和生命周期
作用域( scope )是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效 / 可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。
变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
6.常量
常量是在程序中不可变的值。在C语言中,常量可以是字面值,也可以是通过宏定义或枚举定义的符号常量。
字面值常量是指直接在代码中指定的值,例如整数、浮点数、字符和字符串常量。这些常量在程序执行期间保持不变,不能被修改。
符号常量是通过使用#define
预处理指令或const
关键字来定义的常量。符号常量在程序中被替换为其对应的值,因此在程序执行期间也是不可变的。符号常量具有更好的可读性和可维护性,因为它们可以在程序的开始部分进行定义,并且可以在整个程序中重复使用。
在C语言中,符号常量的命名通常使用大写字母,以便与变量区分开来。例如,定义一个符号常量PI可以使用以下方式:
#define PI 3.14159
const float PI = 3.14159;
常量的使用可以使程序更具可读性和可维护性,因为它们提供了一种在程序中使用固定值而不是硬编码值的方式。此外,常量还可以提高程序的性能,因为它们的值在编译时就已经确定,编译器可以进行优化。
字面常量const 修饰的常变量#define 定义的标识符常量枚举常量
#include <stdio.h>
//举例
enum fruit
{
APPLE,
BANANA,
ORANGE
};
//括号中的APPLE,BANANA,ORANGE是枚举常量
int main()
{
//字面常量
3.14;//字面常量
1000;//字面常量
//const 修饰的常变量
const float pai = 3.14f; //这里的pai是const修饰的常变量
pai = 5.14;//是不能直接修改的!
//#define的标识符常量
#define MAX 100
printf("max = %d\n", MAX);
//枚举常量
printf("%d\n", APPLE);
printf("%d\n", BANANA);
printf("%d\n", ORANGE);
//注:枚举常量的默认是从0开始,依次向下递增1的
return 0;
}