3.C语言入门:解锁基础概念,动手实现首个C程序

C语言入门:解锁基础概念,动手实现首个C程序


前言

上期我们成功解决了VS2022社区版C语言的安装问题,为大家的C语言学习之路铺平了道路。本期,我们将进一步深入,带领大家了解在VS2022社区版上如何新建项目、添加源文件和头文件,编写和运行第一个C语言程序,并且了解什么是库函数。

一、源文件和头文件

在VS2022 社区版上写代码,我们是需要创建项目的,直接新建项目就可以了。我们等会就会带大家尝试新建项目,并在项目中添加源文件和头文件。但是在新建项目之前,先了解一下什么是头文件,什么是源文件?
在C语言中,C语言把 .c 为后缀的⽂件称为源文件,把 .h 为后缀的⽂件称为头文件。
在《高质量C/C++编程指南》中,是这么描述的:

每个 C++/C 程序通常分为两个文件。一个文件用于保存程序的声明( declaration), 称为头文件另一个文件用于保存程序的实现(
implementation),称为定义( definition) 文件。
C++/C 程序的头文件以“ .h”为后缀,
C 程序的定义文件以“ .c”为后缀, C++程序 的定义文件通常以“ .cpp”为后缀(也有一些系统以“ .cc”或“ .cxx”为后缀)。

其实这里的定义文件就是我们说的源文件。

1.1 如何新建项目

这是新建项目的流程图

在这里插入图片描述
新建完项目后,我们就可以直接添加头文件和源文件了

1.2 添加头文件和源文件

  1. 添加头文件和源文件的操作是一样的,这里我就不展开讲述了,参考图片。
    图示:

在这里插入图片描述

  1. 选择显示所有模板

在这里插入图片描述

  1. 选择对应文件项

在这里插入图片描述

二、第一个C语言程序

1.创建一个源文件

参考上述操作,当我们创建好一个 test.c 源文件后,在解决资源方案管理器的显示就如图所示

在这里插入图片描述
这里我并不推荐大家创建cpp的后缀文件,因为在学习过程中,有些是C++的特性,C++和C有区别,最好还是使用对应的.c后缀。

2.写代码

我们可以写一个C语言程序,它的内容在是屏幕上输出 hello world 内容

代码如下:

#include<stdio.h>

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

3.运行代码

我们知道,头文件和源文件会经过编译链接这个过程,生成可执行程序,在我们的编译器上,可以按F5或者Ctrl + F5 来进行调试。
运行成功后,我们就可以在我们的命令框上看到对应的信息啦。

在这里插入图片描述

三、main函数

3.1 什么是main函数?

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

3.2 main函数的特点

• main函数是程序的入口
• main函数有且仅有⼀个
• 即使一个项目中有多个.c文件,但是只能有⼀个main函数(因为程序的入口只能有⼀个)

3.3 如何写main函数?

main函数的主要模板如下:

代码如下:

int main()
{
	return 0;
}

我们可以在这个 { …… } 写我们的代码。

3.4 main函数常见错误

第⼀次写代码,我们也总结了⼀些常见的错误:
• main被写成了mian
• main后边的()漏掉了
• 代码中不能使用中⽂符号,比如括号和分号,有些常规的报错就是因为这个分号。
• ⼀条语句结束后,一定有英文分号

四、printf和库函数

在C语言中,printf 是一个标准的库函数,用于向标准输出(通常是屏幕)打印格式化的字符串。这个函数是C标准库(stdio.h头文件)的一部分,提供了强大的格式化输出功能。
这个printf是由两个单词构成的

print format
打印 格式

在第一个C语言程序的代码中使⽤了 printf 函数,实现了在屏幕上的信息的打印。

#include<stdio.h>

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

上面的代码是使用 printf 函数打印字符串。只要把想要打印的⼀串字符放在双引号中并传递给printf函数就可以打印。

4.1 printf函数的使用

printf函数也可以⽤来打印其他类型的数据,⽐如:

int n = 100;
printf("%d\n", n); //printf打印整型
printf("%c\n", 'q'); //printf打印字符
printf("%lf\n", 3.14); //printf打印双精度浮点型

4.2 占位符和 \n

上述代码的 %d , %c 等是占位符,会被后边的值替换。所谓占位符,也就是这是一个占位置的符号。
在printf函数中,占位符用于指示输出数据的格式和类型。例如,%d用于整型数据,%c用于字符数据,%lf用于双精度浮点数据。当printf函数执行时,它会查找这些占位符,并用相应的参数值替换它们。

例如

int n = 100;  
printf("%d\n", n); // %d是整型占位符,n的值(100)将替换它, 
printf("%c\n", 'q'); // %c是字符占位符,'q'将替换它

double pi = 3.14;  
printf("%lf\n", pi); // %lf是双精度浮点型占位符,pi的值(3.14)将替换它

我们发现上述代码的每个结尾都有一个\n,那它是什么?
其实\n是一个特殊的转义字符,表示换行。在printf函数中使用\n可以在输出文本后添加一个新行,从而使后续的输出出现在新的一行上。这对于组织输出文本和使其更易读非常有用。
在上面的代码中,每次调用printf函数后,输出都会自动换行,因为每个printf语句的末尾都包含了一个\n字符。这使得输出更加清晰和易读。

4.3 库函数

库函数的时候,是需要包含头文件的,比如: printf 函数需要包含的就是 stdio.h 这个头文件,
具体的方法就是在源文件的开头就使用以下代码:

#include<stdio.h>

这个头文件可以解释为
standard input output
h -> head
标准输入输出

4.3.1 为什么有库函数?

实际上C语言并不提供这些函数,但是他提供标准,比如你需要什么样的函数,这样的函数功能是什么?就像上述写的printf一样,它的功能就是打印信息(字符串).于是在C语言中,由编译器厂商或第三方根据C语言标准实现的一组预定义函数,它们提供了常见的、通用的功能,如输入输出、字符串处理、数学计算等的预定义函数,就被称为库函数。通过调用库函数,程序员可以避免重复编写相同的代码逻辑,从而节省时间和精力。同时,库函数通常经过了优化和测试,可以保证性能和稳定性,减少程序出错的可能性。

4.3.2 什么是库函数?

为了不再重复实现常见的代码,让程序员提升开发效率,C语⾔标准规定了⼀组函数,这些函数再由不同的编译器⼚商根据标准进行实现,提供给程序员使用。这些函数组成了⼀个函数库,被称为标准库,这些函数也被称为库函数。在这个基础上⼀些编译器厂商可能会额外扩展提供部分函数(这些函数其他编译器不⼀定⽀持)。就比如VS的标准库可能由微软来实现,Xcode则是由苹果来实现的,⼀个系列的库函数⼀般会声明在同⼀个头文件中,所以库函数的使用,要包含对应的头文件。

总结

通过本期的介绍,我们详细了解了在VS2022社区版上编写C语言程序的基本步骤。首先,我们明确了源文件和头文件的概念,并学会了如何新建项目和添加相应的文件。接着,我们编写了第一个C语言程序——输出“hello world”,并成功运行。此外,我们还深入探讨了main函数的特点、printf函数的使用以及库函数的重要性。

在学习过程中,我们强调了main函数作为程序入口的重要性,以及编写main函数时需要注意的常见错误。同时,通过printf函数的实例,我们展示了如何打印不同类型的数据,并解释了占位符和转义字符(如\n)的作用。最后,我们阐述了库函数的存在意义和使用方法,让大家明白了库函数在提高开发效率和保证程序性能方面的巨大作用。

总之,本期内容不仅让大家学会了在VS2022社区版上编写和运行C语言程序的基本技能,还深入理解了C语言的一些核心概念。希望大家能够继续努力学习,不断探索C语言的奥秘,为将来的编程之路奠定坚实的基础。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值