C语言学习 初级——1 初识C语言(1)

写在前头

本人今年大四毕业,电气自动化,准备二战考研,以后想从事嵌入式方向。目前还不忙,跟着b站up主学习一下C语言。up说要养成记录的习惯,也能够帮我理清思路。希望我能有毅力记录下去(就像这篇文章写的内容其实是昨天看的,纠结过后决定记录一下)。本文章内容来自课件。

本章重点

  • 什么是C语言
  • 第一个C语言程序
  • 数据类型
  • 变量、常量

1 什么是C语言?

C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要运行环境支持便能运行的编程语言,具有良好的跨平台性,是一门面向过程的计算机编程语言。目前C语言的最新标准是C11,更好地支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。本次学习用的编译器是MSVC。

2 第一个C语言程序

#include <stdio.h>

int main()//main函数是程序的入口
{
    printf("hello world!\n");//\n表示换行
    printf("he he\n");
    return 0;
}

3 数据类型

char          //字符数据类型
short         //短整型
int           //整形
long          //长整型
long long     //更长的整形
float         //单精度浮点数
double        //双精度浮点数
long double   //扩展精度浮点
  • 为什么出现这么多类型?
  • 每种类型的大小是多少?
#include <stdio.h>
int main()
{
	printf("%d\n", sizeof(char));//sizeof能够读取数据类型所占的字节
	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;
}

 运行结果如下图

char字符数据类型占1个字节,以此类推。bit→比特位,是计算机中最小的单位,表示为一个二进制。byte→字节,1byte = 8bit,即1个字节由8个二进制表示。
常用的单位还有1KB=1024byte,1MB=1024KB, 1GB=1024MB, 1TB=1024GB, 1PB=1024TB

4 变量、常量

生活中的有些值是不变的(比如:圆周率,性别,身份证号码,血型)

有些值是可变的(比如:年龄,体重,薪资)

不变的值,C语言中用常量的概念来表示,变得值C语言中用变量来表示。

4.1 定义变量的方法

int age = 50;
float weight = 45.5f; 
char ch = 'w';
//float是关键词,表单精度浮点数
//weight是变量名称,表体重
//45.5是数值,表体重
//f是当float有风险时加的

4.2 变量的命名

  • 只能由字母(包括大写和小写)、数字和下划线( _)组成。不能以数字开头
  • 长度不能超过63个字符
  • 变量名中区分大小写的
  • 变量名不能使用关键字

4.3 变量的分类

  • 局部变量
  • 全局变量 
#include <stdio.h>

int global = 2019;//全局变量
int main()
{
    int local = 2018;//局部变量
    //下面定义的global会不会有问题?     
    int global = 2020;//局部变量     
    printf("global = %d\n", global);     
    return 0;
}

总结:上面的局部变量global变量的定义其实没有什么问题,当局部变量和全局变量同名的时候,局部变量优先使用。 

4.4 变量的使用

#include <stdio.h> 
int main()
{
    int num1 = 0;
    int num2 = 0;
    int sum = 0;
    printf("输入两个操作数:>");//printf输出     
    scanf("%d %d", &num1, &num2);//scanf输入     
    sum = num1 + num2;
    printf("sum = %d\n", sum);     
    return 0;
}

4.5 变量的作用域和生命周期

作用域

作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。

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

生命周期

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

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

4.6 常量 

C语言中的常量和变量的定义的形式有所差异。

C语言中的常量分为以下以下几种:

  • 字面常量
  • const 修饰的常变量
  • #define 定义的标识符常量
  • 枚举常量
#include <stdio.h> 
//举例
enum Sex
{
    MALE,
    FEMALE,
    SECRET
};
//括号中的MALE,FEMALE,SECRET是枚举常量

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", MALE);
    printf("%d\n", FEMALE)
    printf("%d\n", SECRET);
    //注:枚举常量的默认是从0开始,依次向下递增1的     
    return 0;
}

 注:上面例子上的 pai被称为 const修饰的常变量, const修饰的常变量在C语言中只是在语法层面限制了变量 pai不能直接被改变,但是 pai本质上还是一个变量的,所以叫常变量,即:是一个变量,但具有常属性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值