C语言第二课:项目的创建、基本结构与两个常见问题的处理

目录

一、创建新项目:

 二、C语言程序基本结构:

1.头文件(#include<...>):

2.主函数(int main(){...}):

3.程序语句(语句项):

三、常见问题处理:

1.符号使用错误:

2.scanf返回值被忽略:


        在上一篇文章中,已经向小伙伴们介绍了C语言的基础常识和三种常见的C语言开发工具,从本文起,我将以Visual Studio 2022为例,尽我所能为小伙伴们介绍C语言的学习过程。

一、创建新项目:

        开发工具已经安装好了,那么我们该如何去使用它呢?

        在我们想要编写一个程序代码时,首先需要创建一个新项目,双击打开你的VS2022后,点击“创建新项目”,如下图所示(当创建好新项目并保存后,再次打开时所有项目将在左侧依次显示):

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第1张图片

         接着我们选择“空项目”选项,注意这里如果是初次使用左侧没有“最近使用的项目模板”一栏,此时应在右上方“搜索模板”栏中进行搜索,如下图:

        注:此模板需要在安装Visual Studio时安装C语言相关工作负载,如果没有安装相关工作负载可能会导致各位小伙伴找不到C++空项目,此时应当重新安装VS并在选择工作负载时选择安装

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第2张图片

       接着我们可以对将要创建的空项目的名称和路径进行修改,如下图所示。个人建议所有的项目名称应当具有一定规律,便于自己查找也便于他人进行阅读,同时建议所有的项目位置应当选取同一路径,避免后期进行拷贝等操作时发生文件失踪的情况。而解决方案名称不用理会,默认会与项目名称保持一致

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第3张图片

          至此,一个项目文件就创建好啦。当项目创建好以后,小伙伴们会产生下图所示的疑问:“为什么我的项目已经创建好了但是没办法写代码呢?”,那是因为此时你只是创建了一个项目,并没有创建源文件

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第4张图片

        那么我们该如何创建源文件呢?此时我们应当使用鼠标右键依次单击“源文件”=>“添加”=>“新建项”三个选项来创建一个新建项:

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第5张图片

        接着我们在新打开的窗口中找到“C++文件”选项,选中它,并注意在下方名称中将后缀由.cpp改为.c:

        注意:这一点很重要,cpp文件表示C++文件,c表示C语言文件,两种不同的编程语言在语法上有所不同,错误的选择可能会导致一系列问题的出现。

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第6张图片

         名称和后缀都更改完成后,点击“添加”,出现下图所示界面后,那么恭喜你,你已经成功创建了你的第一个项目源文件,接下来就可以开始书写你自己的代码啦!

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第7张图片

 二、C语言程序基本结构:

        所有的编程语言都有自己的基本结构、格式和语法逻辑等,C语言自然也不例外,主要由三个部分组成:头文件主函数程序语句

        以所有程序员的第一个C语言程序为例向各位小伙伴们进行介绍:

//头文件
#include

//主函数
int main()
{
    //程序语句
	printf("Hellow world!\n");
	return 0;
}

1.头文件(#include<...>):

        头文件通常用作函数声明变量声明常数定义宏的定义等等。

        常见的C语言头文件有:stdio.h(标准输入输出函数)、stdlib.h(定义了五种类型、一些宏和通用工具函数)、string.h(定义了各种操作字符数组的函数)、math.h(提供了一个名为 assert 的宏)、assert.h(提供了一个名为 assert 的宏)、limits.h(定义在该头文件中的宏限制了各种变量类型的值)、ctype.h(定义了一批C语言字符分类函数)、time.h(定义了各种操作日期和时间的函数)、Windows.h(包含了其他Windows头文件,定义了Windows的所有资料型态函数调用资料结构常数识别字)等。

2.主函数(int main(){...}):

        首先,一个标准的主函数一定包括两个部分:主函数和主函数返回值,格式如下:

//主函数
int main()
{

    (程序语句...)
    ...

    //主函数返回值
    return 0;
}

        主函数,顾名思义,由“main”一词也能看出,主函数是整个程序中最重要的部分,在每个程序中有且仅有一个,可以理解为整个程序的框架或外壳,所有的程序执行语句均写在主函数当中,整个程序将会按照主函数中的代码书写顺序来编译和运行。

3.程序语句(语句项):

        在上述程序中,程序语句即语句项,就是指包含在主函数中需要计算机去执行的操作以及最终的主函数返回值

        注:程序语句还包括以后会学到的自定义函数结构体等。

printf("Hellow world!\n");
return 0;

        在程序中,由语句来指定要完成什么样的动作。通俗来讲,就是通过使用C语言规定的语法,告诉计算机我们需要它去做的事和做事的顺序、方法以及最终对我们的反馈等等。C语言中的语句大致可以分为标号语句符合语句表达式语句选择语句迭代语句跳转语句。而我们学习C语言,也正是在学习C语言中程序语句的书写方式。

        以上便是一个完整的C语言程序所必须的最基础的组成,关于其它部分将会在以后的学习中慢慢为各位小伙伴逐一介绍。

三、常见问题处理:

        刚开始学习C语言的小伙伴们在第一次书写代码时,常常会遇到一些问题,明明看起来似乎程序没有什么错误,可程序却怎么也运行不了,这里为大家讲解两个萌新经常遇到的问题:

1.符号使用错误:

        在C语言的书写中,这是很常见很常见的问题,几乎所有的小伙伴在最开始书写代码时都遇到过这个问题:

printf(“Hellow world!\n”);
//错误的使用了中文输入的()、“” 和 ;

        有的时后,你的代码会无意间写成这样,乍一看之下一些小伙伴们会觉得:咦?这是怎么回事?明明没有什么错误呀?为什么会报错呢?其实这是因为,你的符号使用出现了问题,在我们使用的所有的程序语句中的一切标点符号,必须全部使用英文状态输入,无论是“ () ”、“ "" ”还是“ ”甚至包括每一个“ , ”都必须严格的在英文状态下进行输入!切记切记!

2.scanf返回值被忽略:

//错误C4996:scanf返回值被忽略
'scanf': This function or variable may be unsafe. Consider using scanf_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.

        这个问题也是所有刚接触C语言的小伙伴们都会遇到的问题,他出现的原因是,与C++不同,在ANSI C中,scanf()在读取时不检查边界,所以可能会造成内存泄漏问题的出现而导致程序不安全,故报错。同时这个问题是VS为了保证程序安全性所特有的

        关于它的解决方法,常用的方法有两种:一是通过使用scanf_s()来避免这个报错,但是这种方式很不推荐,因为该方法会导致部分语句的语法发生变化,需要输入额外的参数才能使用。

        第二种方式比较推荐也是我一直在使用的——在源文件的第一行添加代码:

#define _CRT_SECURE_NO_WARNINGS 1

        这是一个宏定义,它的作用是用来忽略“scanf返回值被忽略”等一些警告,他并不能从实质上解决内存泄漏问题,而只是忽略了该警告。但事实上,在我们的学习使用过程中,很少有机会接触一些大型项目,内存泄漏等问题基本不会遇到,而且这样做也对我们编写代码时的逻辑严密性有了更高的要求,有利于我们养成良好的逻辑思考和代码书写习惯。所以小伙伴们可以大胆放心的使用这个方法。

        接下来小伙伴们可能会觉得:每次书写代码时都要写上这么一句宏吗?太麻烦了吧?有没有一劳永逸的办法呢?

        答案是:有!

        方法是:首先我们复制好这行宏,然后打开Visual Studio的安装目录,接下来在其安装目录下寻找以下目录:

        \Common7\IDE\VC\VCProjectItems

        找到这个目录后,用记事本方式打开newc++file.cpp文件,将复制好的代码粘贴进去后保存并退出,至此操作全部完成,此时再创建新的项目和源文件,这行代码就会自动添加在C语言程序的第一行了。

C语言第二课:项目的创建、基本结构与两个常见问题的处理_第8张图片

        往后每次创建好新的源文件后,我们就会发现在文件的第一行将会自动添加这个宏,而不用每一次都由小伙伴们自己手动进行添加,免去了繁琐的步骤。

        然后接下来小伙伴们就可以按照C语言的标准格式及语法来书写自己的C语言程序啦!

        至此,本文的主要内容就到此为止啦,感谢各位看官老爷的耐心阅读。新人初来乍到,麻烦各位小伙伴们动动小手,三连走一走 ~ ~ ~  最后,本文仍有许多不足之处,欢迎各位看官老爷随时私信批评指正!

你可能感兴趣的:(C语言学习,c语言)