详解C语言初阶基础

 更新时间:2021年11月12日 10:37:12   作者:鲸落之·海  
这篇文章主要介绍了C语言中的初阶基础,介绍了其相关概念,具有一定参考价值。需要的朋友可以了解下,希望能够给你带来帮助

1.什么是c语言

c语言是一门通用计算机编程语言,是一种面向对象的编译型语言,广泛用于底层开发。其设计目的是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何环境便能运行的编程语言.

c语言的实质就是生成一个可执行的exe文件

          

2.初始化:

开辟一个空间时同时放进去某个内容,叫做初始化(伴随空间开辟时就有的值,如同一出生就有的性别),初始化赋值的变量是可以更改的,叫做赋值(实质是对原值的覆盖,比如后期做手术转换性别)。

3.变量和常量

在我们的生活中,有变量和常量。

身高、变化的量体重、头发个数、钱包内钱数量、年龄这些就叫作变量,是可以更改的量。

身份证号、手机号、性别、种族、(啊,一般情况下都是不会变的) 我们把它们叫做常量,是不可更改的量

临时变量与全局变量

变量又分为临时变量(也叫局部变量或自动变量)和全局变量

放在函数块内部的叫做临时变量,而函数块之外的叫做全局变量

局部变量只能在本函数内部使用,而不能在其他函数块中使用

变量的使用采用就近原则(即局部变量优先于全局变量),既然局部变量优先,那么就没必要在同名时仍然定义局部变量(这样的定义我们并不推荐)

4.作用域与生命周期

简单阐述:

作用域:

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

全局变量的作用域就是整个工程

生命周期(存在与消失):

局部变量:进入作用于生命周期开始,出作用与生命周期结束

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

作用域与生命周期的区别

作用域:

实质是影响范围,例如有一个叫小吴的人(一个城市人们都知道的明星),只有城市中的人知道小吴,农村的人不知道,所以小吴的作用域就是城市。

当超出作用域后,变量就不可以被访问

实质上作用域是代码块范围的定义和使用(如函数代码块,注意函数内部也可能有代码块,比如for、while、switch、do-while、if等语句块中)

生命周期:

实质是变量的存在与销毁,小吴从出生,到死亡90岁,这90年就是他的生命周期。

5.     为什么c中存在了各种数据类型:

这里补充一下sizeof,sizeof是用来求所占内存大小的一个操作符(初学者不必深究),单位是字节

计算机的发明本质是为了解决人的问题的

人:有临时数据和全局数据,而数据本身是需要被存储的,数据本身有大小,要占据空间。

c语言为了能够记录数据,保存数据,所以就有了数据类型

而且要有不同大小的类型。

不是数据类型用来存储数据,而是用数据类型来进行对变量的定义,而数据是存储在变量中的,用来定义变量大小的模板叫作数据类型。

所谓的数据类型就是变量不同的模板,用来生成不同大小的变量

如同月饼模具并不等于月饼,只是月饼的模板,决定了月饼的大小(不同的模板可以做出不同大小的月饼,而吃的是月饼,不是月饼模板)

Sizeof(1)=sizeof(int),因此模具和用这个模具做出的月饼大小实质是相同的。

6.常量:

·字面常量(一般不使用)

如10,‘b',”hello world”   不用定义变量类型和变量名(不报错),但不能直接使用(意思就是每次都要写原值,不方便,没必要)

  

不能对字面常量进行修改   

宏定义(define)

#define M 100(不写类型、不写分号)

const常量

const int a=10;(只加一个后缀 const),只能初始化而不能赋值

枚举常量(enum),枚举在函数之外(不做深究)

7.c语言的字符串:

字符(单引号,大小一个字节)与字符串(双引号,大小4个字节);

字符串默认以'\0'结尾,即使我们自己没有添加(大部分情况)

双引号内部是字符串字面值,结束标志是一个默认的\0转义字符,字符串内容不包括结束标志

c语言中有字符串,但是没有字符串类型,没办法直接定义字符串类型,但有保存字符串的方法:字符数组或者字符指针(初学者此处不必细究)

这里补充一下strlen,strlen是用来求字符串的函数,头文件是stdlib.h,strlen遇到'\0'后停止,且不包括'\0'

8.转义字符(\)

字面转特殊,特殊转字面

转义: 特殊转字面(‘ ->\ '),字面转特殊(n ->\n)

注意:

i:   每个转义字符都是一个字节,如'\t' , ‘\xhh'

II:  c语言中不能直接输出一个单引号,单引号是字符的界定符(本身有特殊含义),但用' \' '可以转义后进行输出,即特殊转普通,输出单引号,类似的还有 斜杠'\' , 双引号 ‘ ” ' 等

III:  转义的是普通字符,且没有特殊含义时,原样输出如'\c'='c'

IV:   \125  转义为八进制数对应十进制的askll码值

\128 只转义八进制数12对应十进制的askll值,8照常输出

V:当光标回退时,会将路径上的原有数据进行删除,如'\b', '\r',

这里补充一个知识点:回车和换行

 

换行:更换到下一行,而不管位置

回车:回到该行的开始

因此我们通常所说的回车实际上是先换行再回车

因此键盘上enter标志通常是 往下走再往左走的箭头

而在c语言中直接使用'\n'就是回车+换行的意思

但'\r'就是单纯的回车,回到开头,光标倒退,施行删除功能,将原值删除,光标回退,可以用来做计时(如下图中输出结果会从9渐变到0,此处初学者不必深究)

9.注释:

快捷键

注释:ctrl+c后ctrl+k ; 取消注释:ctrl+c后ctrl+

c语言注释分为两种,c(/**/)和c++(//)风格

注释时选到头部 默认为c++风格

注释时未全选 风格为c   

我们推荐使用c++风格注释,因为c风格注释不支持嵌套,如:

 

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注脚本之家的更多内容!

相关文章

  • c++实现合并文件以及拆分实例代码

    c++实现合并文件以及拆分实例代码

    这篇文章主要介绍了c++实现合并文件以及拆分实例代码,小编觉得还是挺不错的,具有一定借鉴价值,需要的朋友可以参考下
    2018-01-01
  • C++中引用、内联函数、auto关键字和范围for循环详解

    C++中引用、内联函数、auto关键字和范围for循环详解

    本文主要梳理了C++当中一些琐碎的知识点,包括有命名空间,缺省参数,引用,auto关键字和内联函数,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2023-02-02
  • C语言函数栈帧的创建与销毁详解

    C语言函数栈帧的创建与销毁详解

    函数栈帧(stack frame)就是函数调用过程中在程序的调用栈(call stack)所开辟的空间,下面这篇文章主要给大家介绍了关于C语言函数栈帧的创建与销毁的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-09-09
  • C++实现简单射击小游戏

    C++实现简单射击小游戏

    这篇文章主要为大家详细介绍了C++实现简单射击小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-09-09
  • C++实现万年历功能

    C++实现万年历功能

    这篇文章主要为大家详细介绍了C++实现万年历功能,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • C++项目基于HuffmanTree实现文件的压缩与解压缩功能

    C++项目基于HuffmanTree实现文件的压缩与解压缩功能

    这篇文章主要介绍了C++项目基于HuffmanTree实现文件的压缩与解压缩功能,本文给大家提到文件压缩的概念介绍及压缩方法,通过示例代码给大家介绍的非常详细,需要的朋友可以参考下
    2021-08-08
  • C++中IO多路复用(select、poll、epoll)的实现

    C++中IO多路复用(select、poll、epoll)的实现

    I/O多路复用是一种并发处理多个I/O操作的机制,本文主要介绍了C++中IO多路复用(select、poll、epoll)的实现,具有一定的参考价值,感兴趣的可以了解一下
    2024-03-03
  • 在C++程序中开启和禁用Windows设备的无线网卡的方法

    在C++程序中开启和禁用Windows设备的无线网卡的方法

    这篇文章主要介绍了在C++程序中开启和禁用Windows设备的无线网卡的方法,包括一些常见错误的分析与解决,需要的朋友可以参考下
    2016-03-03
  • vscode配置远程开发环境并远程调试运行C++代码的教程

    vscode配置远程开发环境并远程调试运行C++代码的教程

    这篇文章主要介绍了vscode配置远程开发环境并远程调试运行C++代码的教程,本文通过截图实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-04-04
  • C语言宏函数container of()简介

    C语言宏函数container of()简介

    这篇文章介绍了C语言宏函数container of(),对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-12-12

最新评论