C语言知识这些知识你都不知道?难怪说你学不懂C语言

Posted 一起学编程

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C语言知识这些知识你都不知道?难怪说你学不懂C语言相关的知识,希望对你有一定的参考价值。

关于C语言的那些小知识,准备学习或者刚刚入门的你已经了解了吗?

语言种类

编译语言

静态声明语言

面向过程的编程语言

环境工具

编译环境:CC

执行环境:Linux

打印输出功能

stdio.h库中的printf函数

主函数(入口函数)

程序的执行入口,就是程序执行的第一个函数(自动执行,其他函数相当于是在这个函数体内调用的)

名字main(该函数是自动执行的 所以 你不可以改名字)

只要我们写C语言程序并且该文件需要被执行 都需要写main函数

main函数返回值的意义:该程序的错误码(0代表正常 非0代表错误),是程序与系统交互的方式

main函数的参数

第一个参数数据类型:int类型;意义:终端敲入的指令按空格切割之后形成的小字符串的个数

第二个参数数据类型:char*数组类型;意义:终端敲入的指令按空格切割之后形成的小字符串组成的字符串数组

变量以及数据类型

声明与赋值

声明:数据类型关键字 变量名;

赋值:变量名=变量值;

需要“先声明后使用”,否则会报警告错误

变量名不要与函数名同名

数据类型分类

int 整形

char*  字符串

变量名[]:数组

int 变量名[]: 整形数组

char* 变量名[]: 字符串数组

分支与循环

分支的结构以及规范

if (条件语句) 
	// 真区间
 else 
	// 假区间

循环的结构以及规范

int i;
for (i = 0; i < 次数; i++) 
	// 循环体

函数的声明与调用

函数的声明

// 函数的完整声明(有函数体 可调用)
函数返回值的类型关键字 函数名(形参1, 形参2)

	return 返回值; // 注意返回值的数据类型要与声明函数时写的类型关键字一致

// 函数的简易声明(没有函数体 不可调用 只做解释说明该函数的意义参数返回值)
函数返回值的类型关键字 函数名(形参1, 形参2);

形参的设置:因为是静态声明语言并且没有声明变量关键字,所以在声明函数中形参位置是需要有数据类型关键字的

复合类型的声明以及操作

复合类型的种类

  ·数组:同类事物的集合

复合类型的声明

  ·数组的声明:元素数据类型关键字 变量名[]

复合类型的增删改查

  ·数组的取值:变量名[索引]

多文件操作

引入模块:将该文件内容赋值粘贴在主文件中

引入内置模块#include <库名>, 存放在执行环境中的/usr/include目录中

引入非内置模块#include "文件路径"

每一个文件都是一个模块

几种相关文件类型

.c文件:C语言源码文件

.out文件:C语言编译之后的机器码可执行文件(源码中有main函数)

.o文件:C语言编译之后的机器码不可知性文件(源码中没有main函数)

.h文件:头文件,解释说明函数的意义参数返回值,内容为子函数的简易声明代码

多文件操作的演变流程

为了提升代码三性所以将部分函数按照功能模块进行划分在不同的文件当中

利用cc工具可以同时编译多个文件的特性一起编译--->会因为在主文件中没有声明导致报警告错误

在主文件当中将分文件引入--->编译缓慢

将分文件加-c参数提前编译成.o文件 并利用cc的多文件编译 将.o文件与主文件共同编译--->会因为在主文件中没有声明导致报警告错误 同时 也不利于代码的维护性(看不出子函数的意义参数返回值)

声明.h头文件并在主文件中引入头文件--->即保证了编译的效率 同时他也不会报警告错误同时也有利于维护性

常用的内置模块(在C语言中称之为“库”)

stdio.h 标准输入输出流库 可以使程序与标准输入/标准输出交互的库

printf函数

意义:打印输出

参数:打印输出的内容

返回值:如果成功,则返回写入的字符总数,否则返回一个负数。


对啦对啦!另外的话为了帮助大家,轻松,高效学习C语言/C++,我给大家分享我收集的资源,从最零基础开始的教程到C语言项目案例,帮助大家在学习C语言的道路上披荆斩棘!

 可以来我粉丝群领取哦!最重要的是你还可以在群里面交流提问编程问题哦!

以上是关于C语言知识这些知识你都不知道?难怪说你学不懂C语言的主要内容,如果未能解决你的问题,请参考以下文章

你知道这两个C语言小知识吗?

求C语言程序:如何获得一个程序运行的时间? 最好带一段简单的代码 新人学不懂 呵呵 谢谢大家啦

赶紧收藏!这些Java中的流程控制知识你都不知道,你凭什么涨薪?

赶紧收藏!这些Java中的流程控制知识你都不知道,你凭什么涨薪?

C语言笔记一

Android开发热门前沿知识,这几点经常被忽略,你敢说你都知道?