C语言基础(第一幕)C语言常见概念

目录

IDE介绍

在VS中写代码的流程

C语言中的常见文件格式

ASCII编码表

C语言的入口 - 主函数main

C语言中的 关键字/保留字

C语言中的标准库

Visual Studio 快捷键

碎碎念


IDE介绍

IDE是程序的集成开发环境的缩写,其中包含编译器、链接器、资源管理器、调试器及代码编辑器等现代程序开发所必须的工具

我知道的的IDE(排名不分先后)

  • Visual Studio                ----        功能非常强大的IDE
  • Visual Studio Code      ----        扩展性超强的代码编辑器,有能力者能扩展搭建C语言开发                                                         环境
  • DevC++                      ----        小巧的IDE,但是已经十年没有人维护了,不推荐
  • XCode                        ----        Mac上的IDE
  • CFree                         ----        非常古老的IDE,部分学校教学或考试依然使用

在VS中写代码的流程

如果想要在Visual Studio中写C语言代码并运行的流程:

  1. 打开Visual Studio并创建解决方案与工程
    1. 可以看到这里还有一个与项目和解决方案相关的选项,简单来讲就是一个解决方案内可以包含多个项目,多个项目可以被同一个解决方案管理;我将在之后的截图中演示解决方案与项目的关系与区分
  2. 在解决方案资源管理器中右键单击源文件文件夹添加新的文件
    1. 解决方案资源管理器就长这样,写着解决方案四个字的地方就是整个解决方案,下面拥有小三角符号的项就是项目,而加粗高亮的项目被称为启动项,这是我们运行时IDE选择运行的项目
    2. 右键一个项目在弹出菜单中我们能找到设为启动项目的选项,每个解决方案有且只有一个启动项,创建项目时默认唯一的工程为启动项
    3. 如果你没有找到这个窗口的话在菜单栏中的视图菜单项内能找到并打开解决方案资源管理器
  3. 创建C文件
    1. 展开项目的小三角,右键源文件这个文件夹,添加新建项
    2. 先点击选中C++文件,由于没有C预设,就使用C++预设文件,我们在名称位置将文件名更改为 "文件名.c" 格式再点击添加我们就添加好了一个C文件了
    3. 然后就可以写代码了
    4. 写完代码之后使用Ctrl+F5运行代码就能过得到计算的结果了

C语言中的常见文件格式

C语言中源文件的常见格式有两种

  • 文件名.c     -----     源文件 - c 代表是C语言的源文件,大小写不敏感
  • 文件名.h     -----     头文件 - h 代表head,该文件内容一般为对其它文件内函数的声明与各种自定义类型的声明,不能存储数据,大小写不敏感

ASCII编码表

ASCII 码即美国标准信息交换码 (American Standard Code for Information Interchange)

是基于罗马字母表的一套电脑编码系统。 一种使用 7 个或 8 个二进制位进行编码的方案,最多可以给 256 个字符(包括字母、数字、标点符号、控制字符及其他符号)分配或指定数值。

图片素材来源自网络,不太清楚咋删水印


 注释的风格和作用

在C语言中的注释风格有两种,一种是C语言风格的,另一种是C++风格的,这两种注释风格各有优劣

  • C语言风格注释
    • /* 这里
      *  是注
      *  释的
      *  内容
      *
      *  这种C语言的注释一般出现在大段的版本信息,宣传信息等场景
      *  这种注释在VS中无法快捷取消注释,所以用在不易更改的场景比较合适
      *
      *  下面内容为如何书写这类注释
      */
      
      /**/
      
      /*光标在此时敲击回车*/
      
      /*光标移动到此处敲击回车
      */
      
      /*
      * 在此处敲击回车依然会在下一行打印出此行头部的*号与空格,在此区域内可书写内容
      */
      
    • int a = 494; /*这是一段注释,我想表明这行代码并没有任何作用*/
      
      int/*类型声明*/b/*变量名*/=100/*将这个变量初始化为100*/;
    • 可以看到C语言风格的注释也能分为两大类,但它们都没有本质上的不同,都是以第一个遇到的/*开始,第一个遇到的*/为结尾的一大段注释,所以C语言风格的注释并不能嵌套使用;在每一行的开头拥有的*并不作为注释的控制字符;这些*只作为普通注释存在,可以提升注释的美观程度,但是在使用Ctrl+K+U组合键取消注释时这些作为普通注释内容的*并不会跟随注释一起消失,请一定注意
  • C++风格注释

    • int a = 133;     //这是一条C++风格的注释,这条语句并没有什么特殊含义
    • C++风格的注释会直接将从该行 // 开始的所有代码都注释掉,但是在下一行出现的代码不受影响

      •  这样的注释常出现在头文件内,用于解释接口函数各个参数的作用
      • void Func(
        int val_1,    //第一个参数的描述
        int val_2,    //第二个参数的描述
        char ch_1     //第三个参数的描述
        );
    • C++风格的注释支持嵌套,从第一个//开始,这一行之后的所有内容都属于注释内容,所以可以嵌套多个注释
      • int sum// = 10 //+ 12;    //使用Ctrl + K + U 快捷键将注释去掉即可正常运行代码
        ;
  • 注释的运行机制

    注释在编译之前会经过预编译,而预编译的工作内容之一就是去掉注释,但去掉注释这个说法不准确,确切的说是将所有注释内容都替换为一个空格,而空格在空行无实际内容,在语句之间可作为有效的间隔符,所以C风格的注释可以在int和a之间存在而并不会让程序无法正常编译的原因
  • 写注释的原因

    • 为了让所有人都能够读懂程序的内容。我们应该多写注释。太过简单的算法可以不重点描述,但是为了能够读懂代码,我们就要写清晰明了的注释来解释程序运行的逻辑;清晰明了的注释能让我们快速的掌握代码的大体结构,方便维护,也方便后来者学习与改进

    • 注释里可以写一点牢骚内容但是最好不会被看到

    • 注释里可以留藏一些小彩蛋

    • 注释就是一个时空与另一个时空对话的手段


C语言的入口 - 主函数main

C语言需要一个确定的入口,于是C语言规定了main函数作为整个程序的入口,程序将自main函数的第一行开始执行,从main函数的最后一行结束

  • 一个什么都不做的C程序
  • int main()        //书写形式为: 返回值类型 main(返回值列表,无则空置,不接受则填void)
    {                 //main为函数名 ,上面的就是函数的书写形式
                      //圆括号后面的大括号代表了main函数内所有代码存放的范围
        //在这里书写程序内容
        return 0;    //由于我们的main函数返回值类型为int
                     //所以在程序结束时我们需要返回一个0(它的类型是int)
    }
  • 程序的返回值
    • 程序可以返回一个值,这是我们在main函数的返回类型中标明的,返回值类型是一个int
    • 我们约定程序正常退出返回0,异常退出返回非零值,可以是错误代码也可以是其它的

C语言中的 关键字/保留字

关键字/保留字 为被C语言预先定义过的一些名称,我们所定义的名称不能够与这些名称重复

该图片取自C语言中文网

在该页面可以点关键字进入了解具体作用与使用演示,都是中文,非常方便


C语言中的标准库

为了防止程序员重复发明轮子,就有了一个标准的,供所有程序员使用的一系列代码,这些代码统称为标准库,标准库极大的方便了程序员对一些基础数据的处理

标准库内的一系列函数被称为库函数,同类的库函数往往放在同一个标准库内,此外标准库内还可能包含了一系列的宏定义与常量定义

cplusplus.com中可以查看许多的C语言标准库,学习和浏览C语言标准库可以省下来很多用来重复劳动的时间


标准输入输出函数

头文件声明为 stdio.h

#include <stdio.h>    //这是一个头文件的声明
                      //#include代表需要声明一个头文件
                      //<头文件名> 这里是要声明的头文件的名字
                      //这样我们就能够使用 stdio.h 里面所包含的东西了
  • 标准输出函数
    • printf 向标准输出通道输出一个格式化字符串 
    • char szBuffer[1024] = "World";    //我们暂时只需要知道这个szBuffer保存了world这个字符串就行了
      printf("Hello %s\n",szBufer);     //"Hello %s\n"是一个格式化字符串,所以我们需要在后面填写格式化参数szBuffer
  • 标准输入函数
    • scanf 从标准输入通道获取一个格式化字符串中的数据
    • int a = 0;
      scanf("%d", &a);    //与printf相似,但是参数列表我们需要在参数前添加&符号表示改变a原来的值,内容涉及指针在这里就不细讲了
      printf("%d", a);    //可以看到a的值已经变成了我们输入的新值
  • 转义字符
    • 转义字符的意思就是转变了字符原本意思的字符。例如上面出现过的'\n',它代表的意思就不是n,而是换行
    • 图片来源于网络
    • \ddd d代表任意八进制字符,但长度限制为3个,也就是最多三个
    • \xdd d代表任意十六进制字符,长度限制为2个,十六进制的书写方式
    • '\0' 是属于 \ddd 的一个特殊转义字符,它被约定作为字符串的结束标志,大多数库函数遇到'\0'之后就会结束
    • 转义字符被转义的部分只能算作一个字符。转义字符的根本作用其实是在我们可以阅读的字符串里面用数字代表了不能直接书写的部分符号,其中大部分需要用转义字符表示的符号都在ASCII编码表的前32位;也就是说这些无法直接书写表示的特殊字符的值不超过31
  • 格式化字符 例:%d
    • 图片来自于cplusplus.com
    • 格式化字符需提供相应的数据
    • 想要正确打印 % 这个字符,我们需要使用%%来代表这个字符

语句和语句的分类

C语言是由一条又一条的语句构成的,语句主要分为五类

  • 空语句
    • 以分号隔开的就是一条语句,空语句就是上一个分号到该分号之间无有效字符的语句
  • 表达式语句
    • 表达式加上分号就是表达式语句
  • 函数调用语句
    • 调用函数在加上分号就是函数调用语句
  • 复合语句
    • 成对大括号中的代码块就是复合语句,函数体就可以说是一条复合语句
  • 控制语句

以上关键字均可在C语言中文网了解详情,点击关键字即可查看详情,我这里尝试了一下可以跳转的链接,点一下就可以跳转了


Visual Studio 常用快捷键

  • Ctrl + F5 运行
  • Ctrl + K + C 注释
  • Ctrl + K + U 取消注释
  • Ctrl + D 粘贴该行到下一行或直接粘贴选中内容
  • Ctrl + R + R 重命名/自定义的名字 - 需要确保有效
  • Ctrl + F 查找代码/文本
  • Ctrl + Enter 在下一行添加空行
  • Ctrl + 鼠标左键按住拖动 选中矩形区域内的代码
  • Alt + 方向键 将行或指定文本按方向移动
  • F5 以调试模式运行
  • F9 断点
  • F10 逐行调试
  • F11 逐过程调试

引用列表


碎碎念

        我是第一次写博客,所以文笔与结构一定有不够成熟的地方,请大家多多担待。

        我所做的仅仅是简单的经验总结,并不具有权威性,还请大家将不正确的地方验证后指出

        如果你对于文章提到的概念有所疑问,我很荣幸能够与您分享讨论该概念

        aaaaa⚡aaaaa⚡aaaaa 我辟谷都坐麻了


编辑于2023/10/11 - 

更改于

  1. 2023/10/11
  2. ......
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值