0基础学习C语言(一)

@TOC(目录)

目录

1.第一个C语言程序

    1.1通过简单程序初窥C语言

2.数据类型

     2.1数据大小

3.变量和常量

      3.1变量的命名和分类

      3.2两种变量的作用域和生命周期

      3.3常量

1.初窥C语言

 上图是一个非常简单的C语言程序,当我们在开发环境运行此段代码时,电脑就会在终端(黑框)上输出hello world这样的内容。下面我们拆分讲解一下这个简单的程序,让我们了解C语言的一些特性。

在初识C语言中我们并不需要深刻理解掌握每个知识,在后续会有更深层的讲解。#include <stdio.h> 是为我们的C语言程序引用一个头文件,只有有这个头文件程序中才能运行输入输出(printf函数就是进行打印的输出操作)的操作。

头文件:在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件和定义文件组成。头文件作为一种包含功能函数、数据接口声明的载体文件,主要用于保存程序的声明,而定义文件用于保存程序的实现。

下面的int main是一个main函数 是每一个C语言程序必不可少的函数,是C语言程序的入口,在一个工程(包含多个源文件)里只会允许存在一个main函数。

源文件是指由创建者所定义的、具有文件名的一组相关元素的集合。源文件一般指用汇编语言高级语言写出来的代码保存为文件后的结果,源文件是相对目标文件可执行文件而言的。

return 0;可以为花括号{}内返回一个值,在这里不加程序运行也没有问题,但是为程序返回一个值 是写程序的好习惯。如蓝桥杯的C/C++算法比赛中 默认C程序必须要返回0值得!

通常我们将花括号包含的区域叫做代码块。每一个main函数都会以一个大花括号包含很多内容 还可以套嵌花括号。

2.数据类型

c语言中数据类型大概分为一下几种 :

在程序中对数据进行分类有利于我们程序的灵活性,满足更多不同需求的程序。

2.1数据大小

不同数据类型使得数据以不同的形式储存在电脑中,那么不同的数据类型大小有什么区别吗?

下面我们介绍一种计算数据大小的方法,使用sizeof(一个单目操作符)。

 在讨论数据大小之前 我们先来了解一下printf函数  他是一个可以进行打印输出的库函数一般形式是这样:printf(“数据类型”,数据名称);上图%d就是以整形的形式输出数据(因为我们要打印的是数据类型的大小,大小不就是一个数字吗)。  结果如下

我们可以看到一组组的数据竖在屏幕上,在这里有小伙伴可能会想 为什么这些数据不是横着的,而是一行一个数据呢。这里其实是\n的作用 \n的作用就是换行 它是一个转义字符,更多的转义字符我们后续在讲解。

我们光是看到了一个个的数据 那他们的单位是什么呢?其实是字节,下面提供计算机常用单位换算 贡以参考。

3.1变量的命名和分类

变量命名要求

变量分为两种———局部变量和全局变量

我用下面这一段代码直观的解释一下他们的区别

 

在主函数main之外的变量叫做全局变量如a,而在主函数之内的局部范围里的变量b就是局部变量。

3.2两种变量的作用域和生命周期(不多说了,下面纯干货)

作用域就是变量起作用的范围(空间),生命周期就是变量起作用的范围(时间)。

温馨提示:这里作用域和生命周期的区别不要过多纠结

全局变量的作用域是整个工程里(即多个源文件),在一个源文件下可以直接使用,在不同的源文件下可以引用(以后会讲)。

全局变量的生命周期是整个程序的生命周期。

_______________________________________

局部变量的作用域是变量所在的局部范围

 

 在这里可以正常输出0,接下来我们看另一种情况。

在这里VS就会报错,原因就是变量a仅仅作用在小花括号里,在外面的printf函数无法被作用到。

局部变量的生命周期就是它所在的局部范围里,就如同上图的小花括号里。

3.3常量

常量顾名思义就是不变的量,定义没有什么好说的,着重介绍常量定义的几种方法。

字面常量

如上图

const修饰的常变量

常变量本质还是变量只不过是具有的常量属性,例如上图所示我们用const定义了一个原本是变量的a,但是在下一行我对a进行赋值时,vs会报错。原因就是a具有了常量属性,无法修改了.

#define 定义的标识符常量
在初识中我们只要了解有这种定义常量的方法即可。
枚举常量

枚举常量是定义常量方法的一种,我们先看上图了解书写的方法,再要知道它的一个特性枚举常量的默认是从0开始,依次向下递增1




 以上就是初识C语言的内容,希望大家有学习到一些东西。接下来我会持续更新关于C语言的0基础教程。共同进步,感谢相遇!

猜你喜欢

转载自blog.csdn.net/qq_43289447/article/details/127405676