初始C语言
1.什么是C语言?
C语言是一门通用的计算机编程语言,作用是用于人与计算机交互,广泛用于底层开发。
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易
的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语
言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的
C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超
级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制
定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。 [1] 目前2011年12月8
日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标
准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉
字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
其编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等
在学习过程中本人选用 VS2019 这一集成开发环境作为编译、运行代码的工具。
2.第一个C语言程序
#include <stdio.h>
int main()
{
printf("hello world \n");
return 0;
}
对上述代码的解释:
- 代码从main( )函数开始运行,main函数可以看作是程序的入口。一个程序,有且仅有一个main( )函数。
- printf( )是C语言的一个库函数,其功能是在屏幕上打印信息。使用前要包含头文件 。
- 还有一些其他的main()函数的写法,但是前期并不推荐。
3.数据类型
char //字符数据类型
short //短整型
int //整形
long //长整型
long long //更长的整形
float //单精度浮点型
double //双精度浮点型
//C语言没有专门的字符串类型
question:
- 为什么C语言要有这么多的数据类型?
计算机语言的目的是使人与计算机能够交互,从而解决实际问题。多种数据类型是为了能够更准确的描述现实世界中的问题。
2.每种类型的大小是多少?
#include <stdio.h>
int main()
{
printf("%d\n",sizeof(char));
printf("%d\n",sizeof(int));
printf("%d\n",sizeof(short));
printf("%d\n",sizeof(long));
printf("%d\n",sizeof(long long));
printf("%d\n",sizeof(float));
printf("%d\n",sizeof(double));
return 0;
}
可以用此代码查看每种类型可占用的空间大小,其单位为字节(byte)。
代码解释:
- %d代表以十进制打印整数,前面指定打印格式,后面指定打印内容,单位是字节。
- sizeof()是一个运算符,可看变量占据空间的大小。
- 可能出现 sizeof(long)= sizeof(int)的情况,是因为VS2019的C语言标准规定sizeof(long)>= sizeof(int)即可。
类型的使用:
char ch = 'w'
int weight = 120;
int age = 20;
4.常量和变量
生活中有些量是不变的(例如:性别,身份证号,圆周率…)
有些是可变的(例如:年龄,薪资…)
在C语言中,不变的值用常量的概念表示,变的值用变量的概念表示。
4.1定义变量的方法
int age = 19;
float weight = 65.3f;
char ch = 'z'
注意:有时编译器会默认认为某个小数是 double 类型,可在后面加 f 表示其是 float 类型。
4.2变量的命名
- 只能由字母(大、小写均可)、数字、下划线(_)组成。
- 不能由数字开头。
- 长度不能超过63个字符。
- 变量名区分大小写。
- 变量名不能使用关键字。
- 变量名尽量有意义。
4.3变量的分类
变量一般可分为两类:局部变量和全局变量。我们通过以下代码了解变量的分类:
#include <stdio.h>
int global = 100;//全局变量
int main()
{
int local = 200;//局部变量
int global = 300;//局部变量
printf("%d\n",global);
return 0;
}
代码解释:
- 可以通俗理解为,{ }外的为全局变量,{ }内的为局部变量。
- 上面的 global 变量没有什么问题。
- 当全局变量和局部变量同名时,局部变量优先。
变量的使用
#include <stido.h>
int main()
{
num1 = 0;
num2 = 0;
printf("请输入两个操作的数:");
scanf("%d %d",&num1,&num2);
int sum = sum1 + sum2;
printf("sum=%d",sum);
return 0;
}
4.4变量的作用域与生命周期
作用域:作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域
- 局部变量的作用域是变量所在的局部范围
- 全局变量的作用域是整个工程
生命周期:生命周期是指变量的创建到变量的销毁之间的一个时间段
- 局部变量的声明周期是:进入作用域生命周期开始,出作用域生命周期结束。
- 全局变量的生命周期是:整个程序的生命周期。
----欲知后事如何,且听下回分解