1.函数的基本语法
函数的格式为:
返回值类型 函数名(参数列表){
函数体(包括返回值语句)
}
利用上述的格式 我们可以自己整一个实现加法功能的函数
int add(int a, int b){return a + b;
}
int main(){int c = add(10, 20);printf("%d", c);// 30return 0;
}
从中我们可以看出 我们通过主函数调用了加法函数 从而执行了两数的加法运算 也就是说 主函数是整个C语言程序的入口 而且有且只能有一个主函数
而且我们从传递的参数可以看出 参数的个数必须一致 而且类型也要尽量一致 否则的话 编译器就会报错(当形参和实参的类型不一致的话 那么编译器会尝试进行自动类型转换 如果转换失败的话 那么就会直接编译失败)
那么既然加法函数被主函数调用了 那么有一个疑问就是主函数被谁调用了呢?其实主函数在程序运行后就被自动调用了 不需要我们手动调用主函数 而且主函数的返回值会返回给调用该C语言程序的程序(C标准中规定主函数的返回值必须是int类型 我们一般返回值设置为0即可)
要调用函数 首先要知道函数 编译器是从上往下进行阅读的 当编译器阅读到函数调用语句时 如果他不知道该函数的定义(也就是之前没有阅读过该函数的定义 不理解这是什么) 那么就会编译失败 也就是说 函数的定义要放在函数调用语句之前
2.变量的基本语法
所谓变量 就是一个装有变量类型数据的容器
int a = 10;
上述语句 其实就是将10这个int类型的数据通过赋值运算符装进a这个变量容器中
所谓赋值运算符 就是将右边数据装进左边容器的一种运算符 需要和比较运算符(==)区分开来
a = 10;// error
上述写法是错误的 变量需要先声明后使用
3.标识符
标识符就是一个自定义的名称 包括变量名、函数名或者其他实体的名称
标识符必须遵循这些规则:
由数字、字母、下划线组成;不能由数字开头;区分大小写
4.关键词
那么我们可以思考一下int是不是标识符呢 显然不是
int main(){int double = 10;// errorreturn 0;
}
通过上述案例我们就可以作为验证
C标准对于这种东西有自己的归类 他将其归结为关键词
C语言的关键词有以下这些:
5.常量的基本语法
我们先来介绍一种常量 即字面常量
诸如2、3这种东西就叫做字面常量
但是不像变量那样 先声明在使用 他不需要声明 可以直接使用
而且变量可以通过赋值进行更改 但是常量不能进行赋值操作
6.printf函数
对于第一个固定的字符串参数 其他是可变数量和类型的参数 这是一个变参函数 而且属于格式化输出
int main(){printf("my name is %s, my age is %d", "jack", 11);return 0;
}
该函数的格式为:
printf(“占位1 占位2 占位3……”, 替换1, 替换2, 替换3……);
但是我们前面所说的函数调用 我们在调用之前 需要让编译器知道他的定义 否则就会编译失败
但是我们在调用printf函数之前 并没有自定义这个函数 至于这个函数的定义在哪里 其实是位于我们所导入的包stdio.h中 但是这个函数库中储存的是函数声明 而不是函数定义 但是又编译成功了 这是什么原因呢 后面会讲到