文章目录
一、C语言基础
(1)c语言程序
1.内容
C语言储蓄主要包含:预处理器指令、函数、变量、语句、表达式、注释等部分
2.简单c语言程序
#include <stdio.h>//预处理器指令
int main ()//函数(主函数)
{
printf("hello,world!\n");//printf函数
return 0 ;//终止函数,返回值为0
}
(2)函数
1.内容
在知乎中,对于函数的定义是一个功能的集合,它可以根据输入完成特写的功能,并将结果输出,有时候函数只是为了实现一些特写功能而并不一定要有输入或输出。
2.种类
函数一般分为两种:库函数和自定义函数,库函数是c语言自带的函数,比如对于字符串的strcmp()等,而自定义函数是我们自己定义的函数。常见的库函数有IO函数、字符串操作函数、字符操作函数、内存操作函数、时间/日期函数、数学函数、其他库函数。
注意:使用库函数时必须包含#include对应的头文件
就上面那串简单的代码
除了printf可以分为int(函数类型)、main(函数名)、()、{}
3.函数类型
对于上面代码int对应的含义是整形,并作为函数类型在使用。常用的类型有short、int、long、char、float、double(c++中还有bool类型),它们也都可以作为函数的类型使用,含义分别如下表。
函数类型 | 含义 |
---|---|
short | 短整形 |
long | 长整型 |
char | 字符 |
float | 浮点型 |
double | 双精度浮点型 |
bool | 布尔型(判断真假) |
除了这几种之外还有一种类型是void类型;我们按照函数是否是void类型(是否有返回值)可以把函数分为两种:1.void — 无返回值类型2.不是void的情况 — 有返回值类型
4.有无返回值类型函数
我们来举个例子,并将代码运行来进行理解。
”对于无返回类型的“
#include <stdio.h>
void main()
{
printf("hello world\n");
}
运行结果如下图
“对于有返回类型的”
#include <stdio.h>
int main ()
{
printf("hello,world!\n");
return 0 ;
}
运行结果如下图
对于以上两种方式敲出来的代码所运行的结果是一致的!
总结
对于两种类型的函数的本质区别就是少了返回值,但不一定没有return,return目的是结束函数。
5.函数名
内容
可以字母,数字,下划线混合使用的名称被称为函数名
要求
- 只能以字母或下划线开始;
- 不能以数字开始;
- 一般小写;
- 关键字不允许用(比如说int float 之类的为保留字不允许用);
但我们一般推荐函数名的命名规则为:
规则
1.根据名称来知道函数的意义
2.自定义函数函数名首字母尽量大写(库函数里的函数名都是以小写字母定义,为了区分库函数和自定义函数,避免冲突)。
6.有无参数类型函数
内容
在()内,按是否有参数分为两种函数;一般可以分为有参类型和无参类型。有参类型函数指的是在该函数被调用的时候,主调函数通过参数向里面传递了数据。无参类型函数很好理解,就是不向 函数内部传递数据,因为没有参数,无法获得返回值。主要介绍有参类型。
有参类型
先用简单的代码来做为一个例子
函数数据类型 函数名字(参数1, 参数2, 参数3,... , 参数n)
{
调用语句块;
}
函数的数据类型要根据自己所赋的值来定义,如果需要定义为整数类型则需用到,short、int、long。其他同理
在此自定义函数的()内的参数被称为形式参数,即为形参。而在调用函数里面,括号后面的参数叫做实际参数,即为实参,它可以是常量,变量,表达式
int Define(int a)//括号内是形参 int a
{
a = 114514;
}
void main()
{
//调用函数时候形参必须和实参类型一致
int a = 1919810;
printf("%d\n", a);//括号内是实参 a
}
1:在调用的时候,调用函数向参数传递的是值,在调用结束后,该值不会改变。
2:函数只有被调用后,系统才会给它分配内存。
3:调用结束后,系统给他分配的内存单元会立即被释放,但调用函数中的值不会改变
4:在主调函数把值传递给被调用函数后,被调用的函数里面可以直接使用这个值,但是要记住,值的数据类型要和参数的数据类型一一对应。
在调用函数的时候,从形参到实参发生的是值传递;也就是把实参的值拷贝一份副本给形参,在形参里面改变值并不会反向影响实参的值,也就是说这里的值是单向传递的:
就上面那串代码所打印的结果会是什么呢?让我们将它运行下吧!看下图
最好打印出来的结果是实参也就是printf函数里面的1919810,因为a=114514只能在Define内才能够成功生效,而不能在printf内生效。
7函数体
内容
这个很简单,就是在{}内的内容被称为函数体,主要是用来组成函数的定义。
(3)system函数
1.内容
能够发出一点DOS命令的函数,用法为 int system(char *command); 目前system函数被收录在了标准c库中,可以直接调用。比如我们看下以下的例子。
#include<stdio.h>
#include<stdlib.h>//引用system函数的头文件
int main()
{
printf("system学习\n");
system("dir");//显示一共目录中的文件和子目录
return 0;
}
对于以上的例子打印出来的结果如下图所示
对此,成功实现了dos命令中的dir,此命令也可也在cmd内进行执行,执行方法就是输入dir回车即可。常见的dos命令放在下图了。
2.DOS操作命令
以上是一些DOS操作命令,对于DOS操作命令来说,它有很多有趣的地方,比如让电脑定时关机还有让电脑删除某些文件以及可以让电脑打开计算机还要一些应用程序等等功能。
3.color命令
内容
可以利用此命令将命令框内的颜色进行改变,用法为system(“color xx”)颜色属性由两个十六进制数字指定 – 第一个为背景,第二个则为前景。每个数字可以为以下任何值之一。常见的如下所示
颜色 | 数字 |
---|---|
黑色 | 00 |
蓝色 | 01 |
绿色 | 02 |
湖蓝色 | 03 |
红色 | 04 |
紫色 | 05 |
黄色 | 06 |
白色 | 07 |
灰色 | 08 |
淡蓝色 | 09 |
淡绿色 | A |
淡浅绿色 | B |
淡红色 | C |
淡紫色 | D |
淡黄色 | E |
注意:一个程序中永远是最后一个system(“color xx”)起作用