美文网首页学习笔记
面向小白的C语言教程(002)-创建第一个C语言项目

面向小白的C语言教程(002)-创建第一个C语言项目

作者: 爱学习的老周 | 来源:发表于2019-04-19 23:14 被阅读46次

    1、C语言开发工具

    小编用的是visual studio 2019 enterprise

    005.png
    visual studio 2019 enterprise激活码:BF8Y8-GN2QH-T84XB-QVY3B-RC4DF,亲测可用

    2、写第一个C语言程序

    文件 - 新建 - 项目,或者直接Ctrl+Shift+N

    006.png
    语言 - C++ - 空项目 - 下一步,(C++是兼容C语言的。)
    007.png
    并不是所有的文件名称都有效,如下:
    008.png
    什么样的名称有效呢?先把问号去掉,创建成功后对项目重命名:
    009.png
    以上就是项目名和解决方案名的命名规范
    空项目没有什么可以生成,所以不会返回失败,可以编译成功,如下:
    010.png
    我们在源文件添加新建项:
    011.png
    C++全称是C plus plus, 所以文件格式是.cpp
    当源文件没写任何代码时,项目无法生成,会有以下提示:
    012.png
    这是因为没有添加入口点。

    试着添加以下代码:

    void main() {
    
    }
    

    以上就是一个函数入口,main是函数名称,void是无返回值的意思,小括号里是参数,参数可以为空,大括号里是函数体,也就是这个函数的内在结构

    main函数是主函数,任何一个c语言程序都必须有且仅有一个main函数。即必须有一个,且只能有一个入口。

    假如我要写一个“做饺子”的函数,括号里就是放原料的地方,返回值就是产出的地方,括号里输入猪肉,返回猪肉馅的饺子,输入牛肉,就返回牛肉馅的饺子。参数可以为空,原材料或者一部分原材料可以放在函数体中。比如函数体中可能有青菜,那么放入无论哪种肉,返回的饺子里都有青菜。当然,也可以不返回任何东西。

    现在不理解没关系,学到后面会理解的。

    C语言是严格区分大小写的,也就是说,mian和MAIN是两个函数,而不是同一个,包括变量,一些关键字等,都需要看清并区分大小写。

    我们输入DOS命令echo + 字符串,就会在命令行中打印出来字符串,中文英文都支持。如下:


    013.png

    如何用c语言实现这样的一个打印功能呢?写出以下代码:

    #include<stdio.h>
    void main(){
        printf("hollo world");
    }
    

    我们调用了函数printf(), #include<stdio.h>的意思是引用头文件stdio.h, 为什么引用这个头文件呢?因为printf(),函数包含在这个头文件里。
    把光标放在printf上,点击鼠标右键 - 转到声明,如下:


    14.png

    可以看到stdio.h里的printf()函数:


    15.png
    头文件的后缀是.h,头文件中一般存放一些定义,很少作实际的运算。头文件的好处是,可以通用。如一些都用得上的定义,可以让其他文件来调用它,这样就节省了代码量,并且带来了方便,h就是head(头)的简称。c语言的头文件格式是.h, c++头文件格式是cpp.h,c++兼容c

    如果不引用头文件,则:


    016.png

    点击本地windows调试器:


    017.png
    也有可能CMD窗口一闪而过,这是因为程序终止后自动关闭了,可以从visual studio的 工具 - 选项 - 调试 里设置调试终止时是否自动关闭控制台。也可以在函数体末尾加上代码getchar(),等待输入的意思,意思是执行到这一步,程序会停下来等待用户输入,输入后程序才会继续执行,这样即可人为控制程序何时结束。

    如下:

    #include<stdio.h>
    void main(){
        printf("hollo world");
        getchar();
    }
    

    什么是注释?

    出现最多的是“/”和“/”包裹起来的中文语句,这些是注释。注释是帮助程序员阅读源代码和理解源代码的。编译器在编译源代码的时候,在目标代码生成以前,会把注释剔除掉然后再进行编译,当然编译器是不会修改源文件的,这一切是在内存中完成。由于对于注释部分忽略不处理,就如同没有这些字符一样,所以注释不会增加编译后的程序的可执行代码长度,对程序运行不起任何作用。

    注释分为两种

    //,/**/

    如下:

    #include<stdio.h>
    void main(){
        //这句不编译
        printf("打印");
        /*都不编译
        都不编译
        都不编译
        都不编译
        都不编译*/
        printf("结束");
    }
    

    以上中文的部分就是注释,它们不参与编译也不参与执行,只是为了方便阅读。

    Bug的英文意思是虫子,被引入到计算机领域,需要追溯到第一代计算机时代。当时的计算机是由许多真空管构成,需要利用大量的电力使真空管发光。某天,一只虫子爬进了其中的某只真空管中,计算机于是停止工作了。研究人员耗费很长时间,找来找去,一处地方一处地方排查,最后终于发现了这个虫子,取出虫子后,计算机就恢复了正常。于是bug这个词语就在计算机领域中代表了隐藏的错误、缺陷、漏洞或者问题。把排除错误的过程称为debug。

    断点是为了方便程序员在调试过程中观察程序内部各状态而专门设置的一种调试手段。也就是在调试模式下运行程序过程中,当程序语句运行到设置的断点后,暂停程序运行,但是程序当时的内存、寄存器、上下文环境等数据都被保持,并且在源代码编辑器中指示出当前停留在代码的哪一行。然后程序员就可以不慌不忙利用调试器查看程序内部状态。

    选中一行,鼠标右键 - 断点 - 插入断点


    018.png

    进行调试时,程序会在断点位置停止,点击继续才会继续运行。程序中止时可以查看反汇编,寄存器,线程,局部变量和模块等情况。将来都会讲到。

    关注微信公众号axxd_lz回复【C语言】获取视频教程和电子书。

    相关文章

      网友评论

        本文标题:面向小白的C语言教程(002)-创建第一个C语言项目

        本文链接:https://www.haomeiwen.com/subject/ehehgqtx.html