• 【C语言】 01.C语言常见概念


    一、C语言的介绍

    1.1 什么是C语言?

    C语言人与计算机交流的工具,类似的还有Java、python、go等

    1.2 C语言的发展历史

    在这里插入图片描述

    二、关于编译器的选择

    2.1编译与链接

    C语⾔是⼀⻔编译型计算机语⾔,C语⾔源代码都是⽂本⽂件,⽂本⽂件本⾝⽆法执⾏,必须通过编译
    器翻译和链接器的链接,⽣成⼆进制的可执⾏⽂件,可执⾏⽂件才能执⾏。
    C语⾔代码是放在 .c 为后缀的⽂件中的,要得到最终运⾏的可执⾏程序,中间要经过编译和链接2个过程。
    在这里插入图片描述

    1. 每个源⽂件(.c)单独经过编译器处理⽣成对应的目标⽂件(.obj为后缀的⽂件)
    2. 多个⽬标⽂件和库⽂件经过链接器处理⽣成对应的可执⾏程序(.exe⽂件)

    2.2 编译器的选取

    我们常⻅的C语⾔编译器都有哪些呢?
    ⽐如:msvc、clang、gcc就是⼀些常⻅的编译器,当然也有⼀些集成开发环境如:VS2022、XCode、CodeBlocks、DevC++、Clion等。
    在这里插入图片描述
    笔者的推荐是VS2022,因为他的环境配置简单且方便使用。

    三、文件的介绍

    在VS上写代码,我们是需要创建项⽬的,直接新建项⽬就可以了。
    在项⽬中就可以添加源⽂件和头⽂件。
    C语⾔把 .c 为后缀的⽂件称为源⽂件,把 .h 为后缀的⽂件称为头⽂件

    四、第一个C语言程序

    #include
    int main()
    {
    	printf("hello world!\n");
    	return 0;
    }
    

    五、main函数

    每个C语⾔程序不管有多少⾏代码,都是从 main 函数开始执⾏的,main 函数是程序的⼊⼝,main 函数也被叫做:主函数。 main 前⾯的 int 表⽰ main 函数执⾏结束的时候返回⼀个整型类型的值。所以在 main 函数的最后写 return 0; 正好前后呼应。

    • main函数是程序的⼊⼝
    • main函数有且仅有⼀个
    • 即使⼀个项⽬中有多个.c⽂件,但是只能有⼀个main函数(因为程序的⼊⼝只能有⼀个)

    六、C语言的关键字

    • 关键字都有特殊的意义,是保留给C语⾔使⽤的
    • 程序员⾃⼰在创建标识符的时候是不能和关键字重复的
    • 关键字也是不能⾃⼰创建的。
    在这里插入图片描述

    七、字符和ASCII码表

    在键盘上可以敲出各种字符,如:a,q,@,#等,这些符号都被称为字符,C语⾔中字符是⽤单引号括起来的,如:‘a’,‘b’,‘@’。
    我们知道在计算机中所有的数据都是以⼆进制的形式存储的,那这些字符在内存中分别以什么样的⼆进制存储的呢?如果我们每个⼈⾃⼰给这些字符中的每个字符编⼀个⼆进制序列,这个叫做编码,为了⽅便⼤家相互通信,不造成混乱,后来美国国家标准学会(ANSI)出台了⼀个标准ASCII编码,C语⾔中的字符就遵循了ASCII编码的⽅式。
    在这里插入图片描述
    我们不需要全部背下来,只需要了解几组常见的即可:

    • 字符A-Z的ASCII码值从65~90
    • 字符a-z的ASCII码值从97~122
    • 对应的大小写字符(a和A)的ASCII码值的差值是32
    • 数字字符0-9的ASCII码值从48~57
    • 换行 \n 的ASCII值是:10
    • 在这些字符中ASCII码值从0~31这32个字符是不可打印字符,⽆法打印在屏幕上观察

    八、字符串和’\0’

    使⽤双引号括起来的⼀串字符就被称为字符串
    C语⾔字符串中⼀个特殊的知识,就是在字符串的末尾隐藏放着⼀个 \0 字符,这个 \0 字符是字符串的结束标志。
    在这里插入图片描述

    九、转义字符

    在字符中有⼀组特殊的字符是转义字符,转义字符顾名思义:转变原来的意思的字符

    • ? :在书写连续多个问号时使⽤,防⽌他们被解析成三字⺟词,在新的编译器上没法验证了。
    • ’ :⽤于表⽰字符常量’
    • " :⽤于表⽰⼀个字符串内部的双引号
    • \ :⽤于表⽰⼀个反斜杠,防⽌它被解释为⼀个转义序列符。
    • \a :警报,这会使得终端发出警报声或出现闪烁,或者两者同时发⽣。
    • \b :退格键,光标回退⼀个字符,但不删除字符。
    • \f :换⻚符,光标移到下⼀⻚。在现代系统上,这已经反映不出来了,⾏为改成类似于 \v 。
    • \n :换⾏符。
    • \r :回⻋符,光标移到同⼀⾏的开头。
    • \t :制表符,光标移到下⼀个⽔平制表位,通常是下⼀个8的倍数。
    • \v :垂直分隔符,光标移到下⼀个垂直制表位,通常是下⼀⾏的同⼀列。

    下⾯2种转义字符可以理解为:字符的8进制或者16进制表⽰形式:

    • \ddd :ddd表⽰1~3个⼋进制的数字。如:\130表⽰字符X
    • \xdd :dd表⽰2个⼗六进制数字。如:\x30表⽰字符0
    • \0:null字符,代表没有内容, \0 就是 \ddd 这类转义字符的⼀种,⽤于字符串的结束标志,其ASCII码值是0.

    十、语句

    C语⾔的代码是由⼀条⼀条的语句构成的,C语⾔中的语句可为以下五类:

    • 空语句:空语句是最简单的,⼀个分号就是⼀条语句,是空语句。
    • 表达式语句:表达式语句就是在表达式的后边加上分号
    • 函数调⽤语句:函数调⽤的时候,也会加上分号,就是函数调⽤语句
    • 复合语句:复合语句其实就是前⾯讲过的代码块,成对括号中的代码就构成⼀个代码块,也被称为复合语句。
    • 控制语句:控制语句⽤于控制程序的执⾏流程,以实现程序的各种结构⽅式(C语⾔⽀持三种结构:顺序结构、选择结构、循环结构),它们由特定的语句定义符组成,C语⾔有九种控制语句。可分成以下三类:
      1.条件判断语句也叫分⽀语句:if语句、switch语句;
      2.循环执⾏语句:do~while语句、while语句、for语句;
      3.转向语句:break语句、goto语句、continue语句、return语句。
  • 相关阅读:
    人工智能热潮推动光芯片与光器件需求飙升
    深度学习与目标检测:从卷积神经网络到YOLOv8概念介绍
    【畅所欲言】AI诈骗:防范与应对策略
    Java继承的格式
    基于Matlab使用激光雷达从点云到跟踪列表跟踪车辆仿真(附源码)
    Flink理论—容错之状态后端(State Backends)
    go实现文件的读写
    VEX —— Functions|Arrays
    【附源码】Python计算机毕业设计企业员工考勤管理系统
    运筹说 第72期 | 算法介绍之动态规划(二)
  • 原文地址:https://blog.csdn.net/2301_80258336/article/details/139411819