目录
说明:目前是C语言的初识阶段很多东西点到为止,后面会一一详细的解释!!!
1.什么是C语言?
C语言是一种通用的计算机编程语言,广泛运用于底层开发。C设计的目的是提供一种简易的编译方式,处理低级存储器,以及产生少量的机器码以及不需要任何运行环境支持便能运行的汇编语言。因为在C出现之前,最先写程序用的是二进制因为太复杂,后来有了助记符,汇编语言,B语言再到C语言。C语言是一门面向过程的计算机编程语言,与C++/Java等面向对象的语言有所不同;而且C语言的性能很好很多东西的底层都是用C/C++写的例如Java的IDEA,windows系统;
2.第一个C程序-------"Hello World";
#include<stdio.h>
int main()
{
printf("Hello World");
return 0;
}
代码解释:
3.数据类型
你肯定在想为什么有这么多的数据类型 ?
这是因为为了更好地表达生活中的个种值;
3.1每种数据类型的大小是多少?
代码演示:
#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));
return 0;
}
看运行结果:
这里1,2,4,4,8,4,8就是这些类型对应的空间大小 ,其单位是字节(byte);需要注意的是在C中long的大小不一定是4个字节因为long的大小规定是:4 <= long <= 8 个字节;因编译器而定;
这里出现了一个sizeof,它是计算变量/类型所占内存大小的一个操作符,单位:字节;
3.2扩展
4.变量和常量
变量:生活中有些值是可变的例如:余额,体重,年龄.....,C语言中将这些可变的量称为变量;
4.1变量的定义
数据类型 变量名 = 初始化;
数据类型 变量名;
#include<stdio.h>
int main()
{
int age = 20;
float weight = 65.2f;
char letter = 'a';
int nmu;
return 0;
}
4.2变量的命名
只能由字母(大写或小写(大小写区分)),数字,下划线组成;
不能以数字开头;
不能使用关键字;(后面会介绍32个关键字这里只需要了解一下);
4.3变量的分类
变量分为局部变量和全局变量
局部变量:定义在函数花括号里面的变量,例如上面的在main函数中的变量都是局部变量;
全局变量:定义在整个程序的变量;例如下面代码:
#include<stdio.h>
int b = 20;
int main()
{
int a = 10;
return 0;
}
b就是全局变量,a则是局部变量;如果全局变量和局部变量同名会发什么情况;ok我们老look一下
#include<stdio.h>
int num = 100;
int main()
{
int num = 10;
printf("%d\n",num);
return 0;
}
运行结果:
这里可以得出结论:当局部变量和全局变量同名时局部变量优先!
4.4变量的作用域和生命周期
作用域:
一段代码不总是有效的,在他有效的那个范围称为作用域;
局部变量的作用域是:变量所在的那个范围,全局变量作用域是:整个项目工程;
生命周期:
生命周期是指变量创建到销毁的那一个时间段;
局部变量的生命周期为:进入作用域开始出作用域结束;
全局变量的生命周期为:整个程序的生命周期;
作用域可以理解为可作用的范围,而生命周期可以理解为可作用的时长;
4.5常量
常量的分类:
下面用一段代码解释:
#include<stdio.h>
enum socre
{
max,
min
};
int main()
{
/*字面常量*/
3.14159265358;//字面常量
/*const修饰的常变量*/
const int a = 20;//const修饰的常变量
a = 10;//这里会报错,因为const修饰的变量是不允许被修改的
int str[a] = { 0 };//这里会报错,数组大小应该是常量,这里a虽然被const修饰但本质还是个变量
//所以const修饰的是常变量
/*#define定义的标识符常量*/
#define N 10
int arr[N] = { 0 };//这里N是常量不会报错
/*枚举常量*/
printf("%d\n",max);
return 0;
}
看编译器上的结果:
结果与上面注释一样!