C语言学习笔记
修饰符
const :加在int前面,用于给一个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了。
const int NUMBER=100;
如果你试图对常量修改,把它放在赋值运算符的左边,就会被编译器发现,指出为一个错误。
C99
C语言常用格式化字符
格式化输出语句,也可以说是占位输出,是将各种类型的数据按照格式化后的类型及指定的位置从计算机上显示。这样做的好处,是有利于计算机能够准确的将我们所要类型数据给我们。
格式符 |
说明 |
举例 |
---|---|---|
%d |
带符号的十进制整数 |
int a=10;printf("%d",a);输出结果为10 |
%c |
单个字符 |
char x='a';printf("%c",a);输出结果为a |
%s |
字符串 |
printf("%s","你好");输出结果为你好 |
%f |
6位小数 |
float a=1.23;printf("%f",a);输出结果为1.23 |
格式符的个数要与变量,常亮或者表达式的个数一一对应
常量
在程序执行过程中,值不可改变的量称为常量。C语音的常量可以分为直接常量和符号常量。
直接常量也称为字面量,是可以直接拿来使用,无需说明的量,比如:
- 整型常量:1,10,-10;
- 实型常量:13.33,-24.4;
- 字符常量:'a','R';
- 字符串常量: "I Love You";
printf("%dn",100); //整型常量
printf("%fn",3.14); //实型常量
printf("%cn",'A'); //字符常量
printf("I Love you"); //字符串常量
在C语言中,可以用一个标识符来标识一个常亮,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:
#define 标识符 常亮值;
符号常亮的标识符一般使用大写字母表示,变量的标识符一般习惯使用小写字母,方便区分。
常量是不可改变的
形参与实参
函数的参数分为形参和实参两种,形参是在定义函数名和函数体的时候使用的参数,目的是用来接收调用该函数时传入的参数 实参是在调用时传递该函数的参数 函数的形参和实参具有以下特点:
- 形参只有在被调用时才分配内存单元,在调用结束时,即刻释放所分配的内存单元。因此,形参只有在函数内部有效。函数调用结束返回主调函数后则不能再使用该形参变量。
- 实参可以是常量、变量、表达式、函数等,无论实参是何种类型的量,在进行函数调用时,它们都必须具有确定的值,以便把这些值传送给形参。因此应预先用赋值等办法使实参获得确定值。
- 在参数传递时,实参和形参在数量上,类型上,顺序上应严格一致,否则会发生类型不匹配”的错误。
递归函数
例子:
#include<stdio.h>
int factorial(int n){
int result;
if(n<0)
{
printf("输入错误!n");
return 0;
}else if(n==0 || n==1)
{
result =1;
}else{
result=factorial(n-1)*n; //调用自身
}
return result;
}
int main(){
int n =5;
printf("%d的阶乘=%d",n,factorial(n));
return 0;
}
递归函数的特点:
- 每一级函数调用时都有自己的变量,但是函数代码并不会得到复制,如计算5的阶乘时每递推一次变量都不同;
- 每次调用都会有一次返回,如计算5的阶乘时每递推一次都返回进行下一次;
- 递归函数中,位于递归调用前的语句和各级被调用函数具有相同的执行顺序;
- 递归函数中,位于递归调用后的语句的执行顺序和各个被调用函数的顺序相反;
- 递归函数中必须有终止语句。
一句话总结递归:自我调用且拥有完成状态
上一篇: C 语言学习路线的详细分析