C语言学习(一)

初始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;
}

对上述代码的解释:

  1. 代码从main( )函数开始运行,main函数可以看作是程序的入口。一个程序,有且仅有一个main( )函数。
  2. printf( )是C语言的一个库函数,其功能是在屏幕上打印信息。使用前要包含头文件 。
  3. 还有一些其他的main()函数的写法,但是前期并不推荐。

3.数据类型

char					//字符数据类型
short					//短整型
int						//整形
long					//长整型
long long 				//更长的整形
float					//单精度浮点型
double					//双精度浮点型
//C语言没有专门的字符串类型

question:

  1. 为什么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)。

代码解释:

  1. %d代表以十进制打印整数,前面指定打印格式,后面指定打印内容,单位是字节。
  2. sizeof()是一个运算符,可看变量占据空间的大小。
  3. 可能出现 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变量的命名
  1. 只能由字母(大、小写均可)、数字、下划线(_)组成。
  2. 不能由数字开头。
  3. 长度不能超过63个字符。
  4. 变量名区分大小写。
  5. 变量名不能使用关键字。
  6. 变量名尽量有意义。
4.3变量的分类

变量一般可分为两类:局部变量和全局变量。我们通过以下代码了解变量的分类:

#include <stdio.h>

int global = 100;//全局变量
int main()
{
    int local = 200;//局部变量
    
    int global = 300;//局部变量
    printf("%d\n",global);
    return 0;
}

代码解释:

  1. 可以通俗理解为,{ }外的为全局变量,{ }内的为局部变量。
  2. 上面的 global 变量没有什么问题。
  3. 当全局变量和局部变量同名时,局部变量优先。
变量的使用
#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)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的,而限定这个名字的可用性的代码范围就是这个名字的作用域

  1. 局部变量的作用域是变量所在的局部范围
  2. 全局变量的作用域是整个工程

生命周期:生命周期是指变量的创建到变量的销毁之间的一个时间段

  1. 局部变量的声明周期是:进入作用域生命周期开始,出作用域生命周期结束。
  2. 全局变量的生命周期是:整个程序的生命周期。

----欲知后事如何,且听下回分解

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值