C语言基础——认识C语言(一)
序文
一、什么是C语言
C语言是一门面向过程的、抽象化的通用程序设计语言,广泛应用于底层开发。C语言能以简易的方式编译、处理低级存储器。C语言是仅产生少量的机器语言以及不需要任何运行环境支持便能运行的高效率程序设计语言。尽管C语言提供了许多低级处理的功能,但仍然保持着跨平台的特性,以一个标准规格写出的C语言程序可在包括类似嵌入式处理器以及超级计算机等作业平台的许多计算机平台上进行编译。
计算机语言的发展:低级 ->
机器语言 ->汇编语言(助记符) -> B语言-> C语言
本C语言基础合集内容采用编译器Microsoft Visual Studio 2019。该编译器提供的错误检查与格式缩进对于初学者更加友好,易于培养良好的代码风格。(Microsotf Visual Studio 2019的安装教程可自行上网翻阅)
让我们一起来写下段代码:
操作步骤如下:打开Microsotf Visual Studio 2019
选择创建新项目
选择空项目,并进入下一步。
创建项目名称(避免大写英文,分隔时尽可能使用下划线)
这里我们选择C++文件
int main()
{
printf("hello world\n");
return ;
}
//解释:
//1.如果文字前面出现了两个连续的正斜杠/,则代表这里是注释内容
//对代码的运行没有影响
//2.main函数是程序的入口
//3.一个工程中main函数有且只有一个
#include <stdio.h>
int main()
{
printf("hello world\n");
return ;
}
//推荐写法
int main()
{
}
//古老的写法 —— 不推荐
void main()
{
}
//不规范写法 —— 这里不写int但系统默认返回类型为int,不建议在此省略int
main()
{
}
//不推荐但正确的写法
int main(void)//详细告诉你这个函数没有返回值
{
}
再次注意:
可以联想理解,当一个程序有多个函数出现时,程序会从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函数,简单理解就是将hello world输出到屏幕上,\n表示换行。如下图显而易见,在输出完成后,空出了一行。
在这里暂时不对printf的输出格式进行讲解,在未来的文章中会详细展示
知识点三、函数的返回值
return ;
编辑:霖海岛LHaisland
图文来源:霖海岛LHaisland
相关文章