前言:

本篇(c语言篇)主要是分享自己在学习过程中对c语言的理解,你也可以叫它笔记(哈哈哈)。这一章主要讲解的是c语言的一些基础知识,后续博主也会更新分支循环、函数、数组、操作符、指针、结构体等知识,如果有发现有错误和不足的地方,请各位大佬在评论区及时指出,在下先在这里谢过各位了。 在这里我就不多说什么了,我们正式开始c语言的学习之旅了。

目录

 一、第一个c语言程序

二、数据类型

 三、变量和常量

 1、变量

(1) 变量的作用域及生命周期

2、常量

(1) 字面常量

(2) const修饰的常变量

(3) #define定义的标识符常量

(4)枚举常量



 一、第一个c语言程序

刨析代码:

1.main

main被称为主函数,是程序的入口,有且仅有一个,程序是从main主函数中第一行开始执行,直到最后一行,执行完最后一行后不管怎么样整个程序结束,一个程序不能缺少main函数。

2.printf和#include <stdio.h>

printf是个库函数,库函数是把一些常用到的函数编完放到一个文件里,供不同的人进行调用。printf库函数的使用(调用)得包含(#include)一个头文件stdio.h,printf是打印的意思,打印时需要加双引号。头文件的引用就像你去和别人借东西需要先和别人打招呼。

3.int--整型

在main主函数前的int是整型的意思,程序结束后需要返回一个整型的数与之对应,0则是返回值,当然你不写它也会返回一个随机值不会报错,但我们都会是一个优秀的程序猿(嘿嘿),所以都应该加上return 0;这条语句 。

注意:每条语句结束后需要加上结束后都需要加上英文下的;(分号),分号是该条语句结束的标志 博主就经常在语句结束后没加分号。当然大多数大括号后面是不需要加分号,但也会有少许大括号外需要加分号。

像do while循环

 结构体

枚举常量

这三个是博主目前知道的特殊情况 


二、数据类型

在开始讲解数据类型之前我们先来了解一下计算机的存储单位,话不多说我们上图。

 所以一个byte可以是

所以一个byte有2的8次方种可能,所以一个byte可以表达的最大值为256(2的8次方) 

c语言的数据类型有以下几种,它们大小的单位都为字节(byte),有了这些数据类型,能让我们更准确的表达某一事物事物。

短整型的另一种写法short int

长整型的另一种写法long int 

另外,c语言是没有字符串类型的。

下面我们用sizeof这个语句来计算它们的大小,sizeof是用来计算字节(byte)大小的(后面会开专题讲解sizeof和strlen,当然也可以在其他博主找到关于sizeof和strlen的优质文章)

注意:sizeof不是函数。

数据类型的使用方法:

当然这里的float和double都可以用%f,但用scanf函数输入时,double就要严格的用%lf,建议大家double都使用%lf以免出现错误。

 三、变量和常量

 1、变量

对于一个变量来说,包括三要素:
        变量的数据类型
        变量的名字
        变量中保存的值

变量的定义:

变量的数据类型 + 变量的名字(可以自己起名字)+ 变量中保存的值如:

int  a  =  1;

变量必须先声明,再赋值才能访问,如下图,可以看出。

变量的值是可以改变的如下:

(1) 变量的作用域及生命周期

变量有局部变量及全局变量,这里我们直接上代码讲解:

#include <stdio.h>
int b = 10;
int main()
{
    int a = 100;
    printf("a = %d\n",a);
    return 0;
}

在大括号外定义的变量为全局变量;在大括号内定义的都是局部变量,如上,b为全局变量,a为局部变量。当然全局变量的名字和局部变量的名字是可以重复的,小伙伴们可以去测试一下。

那么局部变量的作用域和生命周期又是怎么样的呢,我们上代码看:

这里我们可以看出a是可以打印的,因为它在同一作用用于内,接下来我们再来看看b 

这里的b是错误的,所以可以看到b在另一个大括号中,当出大括号后b的内存就释放了,也就是说b的生命周期结束了 。

这里我们可以这样记:出了大括号就不认识了。

那么全局变量的作用域和生命周期又是怎样的呢:

这里我们可以看出全局变量a可以在大括号内打印,全局变量的作用域和生命周期是整个工程,当然想在同一工程不同文件下使用全局变量需要用到关键字extern + 数据类型 + 名字:

这里可以看到我们创建了两个源文件,当test1使用全局变量时,test2只要加上extern int num,就可以访问num了。

当全局变量和局部变量名字相同时局部变量优先打印

2、常量

常量是不能改变的量,就像身份证一样一旦确定就不能改变。它分为:1.字面常量、2.const修饰的常变量、3.#define定义的标识符常量、4.枚举常量。

(1) 字面常量

 像这样的都是字面常量

'w'为字符常量,100为整型常量,3.14为浮点型常量,"张三"为字符串常量

(2) const修饰的常变量

我们可以看到第八行错误了,说名用const后a有了常量的属性,使得a不能发生改变

注意: 使用const后a具有常量属性,a不能变,但a还是个变量,所以也可以加常变量。

(3) #define定义的标识符常量

 可以见到MAX为100,在定义MAX时可以小写,但大多数程序猿都是用大写的。那么我们该怎么证明它是常量呢如下:

 如图可知#define定义的标识符是常量

(4)枚举常量

其中Sex和大括号中的可以自己定义名字

当然我们也可以在enum中给常量赋值,当你在给MALE赋值时,后面的常量会按照前面的数字按顺序排下去。

    

上图说明了它是常量

更多推荐

(C语言篇)第一章c语言入门基础——上