c/c++学习交流群:787190917
函数的定义与调用
01(1)定义:找一本讲解C语言基础的书籍查看。
无参函数的定义:
[类型标识符或void] 函数名()
{
说明语句;
执行语句;
}
有参函数定义:
[类型标识符或void] 函数名(类型 形参1,类型 形参2,…)
{
说明语句;
执行语句;
}
当主函数里面带参数的形式,main(int argc,char *argv[])中argc是表示参数的个数,argv这个数组储存的是具体的参数个数。例,
void main(int argc,char *argv[])
{
char **p ;
while(–argc)
{ *p=argv[argc];
puts(*p);
}
}
若输入为 china Beijing flie 则结果为:flie Beijing ;
加C/C++学习交.流群获取C语言、C++、Windows高级编程,MFC框架编程、QT框架编程,Linux应用程序开发,Linux内核研究等系统学习路线,更有进阶干货的直播免费学习权限 ,都是大牛带飞 让你少走很多的弯路的 群…号是 787190917
(2)声明 经常考填空题,无论是上机还是笔试
(3)调用 常考题,容易考填空和写输出结果题,注意在调用的时候,函数名(实参列表)括号里面一定是实参,要特别注意哦,参考书上的习题认真练习。
(4)返回值(包括基本类型、空类型)参考课件及相关教材
02 函数调用时的值参数传递,一定要注意,做这种题,要先弄清楚形参和实参。
(1)分清形参和实参的区别:
形参是在定义或声明中,实参是在引用当中;当函数名前有int ,float, char等类型名时是定义或者声明,但是要排除省略类型名的情况;一般引用出现在主函数中,
形参是不确定的值,因此不能为常量,实参是确定的值所以可以为常量。
(2)当实参是一个变量的时候,实参向形参传递值,只是个简单的值传递,不会改变实参的值;当是实参是地址传递的时候就要改变
例:(1) int sub(int x,int y)
{
int c=x;
x=y;
y=c;
}
void main()
{
int a=3,b=2;
sub(a,b);
printf(“%d,%d”,a,b);
}
结果是 3,2
(2) int sub(int* x,int *y)
{
int c=*x;
*x=*y;
*y=c;
}
void main()
{
int a=3,b=2;
sub(&a,&b);
printf(“%d,%d”,a,b);
}
结果是 2,3
书上这类题特别多,认真练习!
注意形参和实参必须赋值兼容,也就是说形参和实参维数必须一样;注意区别void和return;
03变量的作用域和生存期
1. 作用域(全局变量的定义和使用、局部变量的定义和使用)
要严格区分全局变量和局部变量,分清楚各自的作用范围
2. 生存期(存储类别符extern和static对全局变量的作用;存储类别符auto和static对局部变量的作用)
特别注意static和extern
编译预处理
1. 宏定义预处理命令的概念和简单应用(包括带参和不带参宏定义);
(1)宏替换的时候只是简单的字符替换,不要加任何东西,宏名中不能包含空格;
例:#define xx(m) m*m
…… int i=5;
i=i+xx(4+5);
结果为 i=5+4+5*4+5=34;
(2)宏替换是在预编译的时候进行,所以不占用程序运行时间;宏名是无类型的;
- 文件包含预处理命令的使用方法;
文件包含命令的一般形式为:
#include “文件名” 或者#incl
ude <文件名>,注意这两种表示形式是有区别的。