C语言基础——认识C语言(一)

2023-03-30 00:00:00 函数 程序 语言 代码 输出

序文

欢迎阅读  霖海岛LHaisland   原创的C语言合集的篇文章,我将在这里持续由简入繁的分享C语言的内容,预计将在今年年底完结C语言的内容,同时也将开始分享JavaSE的内容,欢迎持续关注。由于笔者能力有限,如有疏漏或错误的地方,希望读者朋友们不吝斧正,再次谢谢大家。
本文章为C语言的节内容——认识C语言,本章节的目的是希望读者朋友们能够简单理解C语言的内容有哪些,在这一章节我将不会分享深入的内容,留在未来分章节去详细分享。

一、什么是C语言

C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。

二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言初的标准。目前2011年12月8 日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准也是C语言广泛使用的标准之一,该标准更好地支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。

计算机语言的发展低级 ->

机器语言 ->汇编语言(助记符) -> B语言-> C语言

C语言的编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C、Dev-C++等。

本C语言基础合集内容采用编译器Microsoft Visual Studio 2019。该编译器提供的错误检查与格式缩进对于初学者更加友好,易于培养良好的代码风格。(Microsotf Visual Studio 2019的安装教程可自行上网翻阅)

Microsotf Visual Studio官网下载链接:点此进入

二、创建个C语言程序

让我们一起来写下段代码:

操作步骤如下:打开Microsotf Visual Studio 2019

选择创建新项目

选择空项目,并进入下一步。

创建项目名称(避免大写英文,分隔时尽可能使用下划线)

进入到主界面后,寻找解决方案资源管理器,右键源文件,选择添加,点击新建项。

若在主界面没有找到解决方案资源管理器,请在导航栏中找到视图选项,打开解决方案资源管理器。如下图所示。


这里我们选择C++文件

名称这里需要格外注意,若名称后缀为.cpp编译器则会按照C++语法对代码进行编译若名称后缀为.c编译器则会按照C的语法来编译代码,所以我们应该将后缀改为.c,如下图所示。

至此,我们终于完成了创建一个.c文件,可以开始完成我们的段代码,代码如下。
#include <stdio.h>int main(){    printf("hello world\n");    return ; }//解释://1.如果文字前面出现了两个连续的正斜杠/,则代表这里是注释内容 //对代码的运行没有影响//2.main函数是程序的入口//3.一个工程中main函数有且只有一个
将上述的代码段的1-6行输入编译器,之后我们要对已经写好的代码进行运行操作。

介绍几种运行代码的方式:
1.Ctrl+F5           2.Fn+Ctrl+F5

至此,我们对写好的段代码进行了运行操作,结果如下。
可以看见,我们已经将hello world打印在了这个黑框框(运行框)里,下面是对本代码段的解释。为了便于观看,我们将刚刚的代码段再次展示一次。
#include <stdio.h>int main(){    printf("hello world\n");    return ; }
知识点一、main函数写法(又称主函数)
//推荐写法int main(){    }//古老的写法 —— 不推荐void main(){}//不规范写法 —— 这里不写int但系统默认返回类型为int,不建议在此省略intmain(){}//不推荐但正确的写法int main(void)//详细告诉你这个函数没有返回值{}

再次注意:

main函数是程序的入口。
一个工程中main函数有且只有一个

可以联想理解,当一个程序有多个函数出现时,程序会从main函数(入口)开始执行,如果程序中没有main函数,则编译器不知道程序从哪里开始执行。有主有次,执行起来条分缕析,将程序模块化从而实现成一个闭合的整体。


知识点二、C语言标准库函数printf预处理命令stdio.h

说到这里,可能会有一些读者朋友好奇,我们的代码段中的行#include<stdio.h>到底是什么东西,在这里我们与库函数printf一并解释。

#include<stdio.h>是在程序编译之前要处理的内容,称为编译预处理命令。include也就是包含的意思也称为文件包含命令,其意义就是把尖括号或双引号内指定的文件包含到本程序中,作为本程序的一部分,被包含的文件通常是由系统提供的,其扩展名为.h。stdio.h也是尖括号中的内容,称作头部文件或头文件或首文件,其中std表示standard,i表示input,o表示output,表示标准输入输出头文件。

当我们的程序需要使用标准库函数printf时,就需要引入#include<stdio.h>,所以我们正常的逻辑应该是需要使用printf函数,才在行加入#include<stdio.h>。

当我们需要调用以下的函数时,需要引入#include<stdio.h>

这里只作为阅读使用,现在不需要掌握

以下内容来源于维基百科中文


  • 文件访问

FILE * fopen(const char * path, const char * mode)

FILE *freopen( const char *path, const char *mode, FILE *stream )

int fflush(FILE *stream)

int fclose(FILE * stream)

  • 二进制输入/输出

size_t fread(void ptr, size_t size, size_t nmemb, FILE stream)

size_t fwrite(const void buffer, size_t size, size_t count, FILE stream)

  • 非格式化输入/输出

int fgetc(FILE *stream)

int getc(FILE *stream)

int fputc(int char, FILE *stream)

int putc(int char, FILE *stream)

int ungetc(int c, FILE *stream)

char *fgets(char *str, int n, FILE *stream)

int fputs(const char *str, FILE *stream)

  • 格式化输入/输出

int scanf(const char *format, .)

int fscanf(FILE * stream, const char * format, [argument…])

int sscanf ( const char * str , const char * format , .)

extern int printf(const char *format,…);

int fprintf(FILE *stream, const char *format, .)

int sprintf(char *str, const char * format, .)

void perror(const char *str)

  • 文件定位

long int ftell(FILE *stream)

int fseek(FILE *stream, long offset, int fromwhere)

int fgetpos(FILE *stream, fpos_t *pos)

int fsetpos(FILE *stream, const fpos_t *pos)

void rewind(FILE *stream)

  • 错误处理

int feof(FILE *stream)

int ferror(FILE *stream)

  • 文件操作

int remove(const char * pathname)

int rename(char *oldname, char *newname)

FILE *tmpfile(void)


printf 是指格式化输出函数,主要功能是向标准输出设备按规定格式输出信息。printf 是C语言标准库函数,定义于头文件<stdio.h>printf 函数的一般调用格式为:printf("<格式化字符串>", <参量表>)。输出的字符串除了可以是字母、数字、空格和一些数字符号以外,还可以使用一些转义字符表示特殊的含义。
简单理解:printf函数功能是是将特定格式的数据输出到屏幕上,没有加格式就原封不动的打印。
printf("hello world\n");

这是我们刚刚代码段中使用的printf函数,简单理解就是将hello world输出到屏幕上,\n表示换行。如下图显而易见,在输出完成后,空出了一行。

在这里暂时不对printf的输出格式进行讲解,在未来的文章中会详细展示


知识点三、函数的返回值

return ;

C语言中有一个不成文的规定,返回 0 表示正常返回,返回的是非 0,表示异常返回。在此处可以将return理解成main函数的结束标志。

由于篇幅有限,下一次内容我们将了解C语言中的关键字、标识符、数据类型、常量与变量、字符串、转义字符、注释以及文中提到的printf函数的输出格式。
感谢你的阅读!

编辑:霖海岛LHaisland

图文来源:霖海岛LHaisland

相关文章