C语言学习已经有一周了,今天来总结一下前些天学习的知识,也算是C复习的第一天吧。
1、认识C语言
1.1、什么是C语言
C语言是一门通用的计算机编程语言,诞生于1972年贝尔实验室,Dennis Ritchie设计了C语言,C语言继承了B语言的许多思想,并加入了数据类型的概念和思想。作为一种通用的编程语言,C广泛用于底层的开发。
C语言的 的设计目标是提供一种能简易的方式编译、处理低级存储器、产生少量机器码以及不需要任何运行环境支持便能运行的编程语言。
1.2、第一个 C程序
#include <stdio.h>
int main()
{
printf("hello bit\n");
printf("he he\n");
return 0;
}
//解释:
//main函数是程序的入口
//一个工程中main函数有且仅有一个
2、C语言的数据类型
2.1、数据类型分类
数据类型分类 | 数据类型表示 | 所占字节 | |||
char | 字符型 | 2 | |||
shot | 短整型 | 4 | |||
int | 整型 | 4 | |||
long | 长整型 | 8 | |||
long long | 更长的整型 | 4 | |||
float | 单精度浮点数 | 8 | |||
double | 双精度浮点数 | 8 |
2.2、实例
char ch = 'w';
int weight = 120;
int salary = 20000;
3、C语言的变量与常量
3.1、什么是常量、变量
常量:值不变的量被称为常量。例如圆周率、性别、身份证号等。
变量:值可以改变的量成为变量。例如年龄、体重、薪资等。
3.2、变量
3.2.1、变量的定义
int age = 150;
float weight = 45.5f;
char ch = 'w';
3.2.2、变量的使用
#include <stdio.h>
int main()
{
int num1 = 0; //定义变量num1,并初始化赋值0
int num2 = 0; //定义变量num2,并初始化赋值0
int sum = 0; //定义变量sum,并初始化赋值0
printf("输入两个操作数:>"); //打印操作
scanf("%d %d", &num1, &num2); //键盘输入num1,num2的值
sum = num1 + num2; //将num1与num2相加的值赋给sum
printf("sum = %d\n", sum); //打印sum
return 0;
}
3.2.3、变量的分类
局部变量:定义在花括号{}里面的变量是局部变量。
全局变量:定义在花括号{}之外的变量是全局变量。
#include <stdio.h>
int global = 2019;//全局变量
int main()
{
int local = 2018;//局部变量
//下面定义的global会不会有问题?
int global = 2020;//局部变量
printf("global = %d\n", global);
return 0;
注意:
上面的局部变量global变量的定义是没有什么问题的。
当局部变量和全局变量同名的时候,局部变量优先使用。
3.2.4、变量的作用域和生命周期
作用域:作用域是程序设计的概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
局部变量:局部变量的作用域就是变量所在的局部范围(也就是变量定义所在的花括号{})
全局变量:全局变量的作用域是整个工程
生命周期:变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段
局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。
全局变量的生命周期:整个程序的生命周期。
3.3、常量
3.3.1、常量的分类与使用
常量分类 | 字面常量 |
const修饰的常变量 | |
#define定义的标识符常量 | |
枚举常量 |
#include <stdio.h>
//常量分类
//1、字面值常量
//2、const修饰的常变量
//3、define 定义的标识符常量
//4、枚举常量
enum Color //RED,GREEN, BLUE, 是Color的未来可能取值
{
//这三个可能取值就是枚举常量
RED,
GREEN,
BLUE
};
#define MAX 100 //没有类型
int main()
{
30; //字面值常量
3.14; //字面值常量
'w'; //字符常量
printf("%d",MAX); //#define定义的常量
int a1 = 10; //定义一个变量a1,但是这个a1的值是可以改变的 ,
a1 = 20; //改变a1的值,a1从10 变成20.
const a2 = 10;
//如果想要a2的值不改变,可以使用const修饰符,a2本质是变量,但是不可以被改变,有常量的属性
a2 = 20;
//这里定义的数组传入a2报错,因为数组力不能传入变量,所以说明a2本质上还是变量
char arr[a2] = { 0 };
enum Color c=RED; //创建了一个枚举常量c,并且给c赋值可能的取值,这里赋值为RED
char arr[] = { 'a','b','c','d','\0' };
printf("%d",strlen(arr));
return 0;
}
未完待续。。。进鸡的C程序---二