1、 说明C语言的程序、文件、函数之间的关系。
答:程序是为了让计算机执行某些操作或解决某个问题而编写的一系列有序指令的集合。程序=算法(程序的灵魂)+数据结构+程序设计方法+语言环境
C语言中文件是在外部介质上的数据集合。操作系统以文件为单位对数据进行存取的。每一个与主机相连的输入或输出设备都看做是一个文件。
C语言中进行程序设计时,编写一段小程序就能解决一个小问题,小程序拼装起来就能解决复杂的问题,其中这里的小程序称为函数。
一个源文件由一个或多个函数组成,C按文件进行编译;
一个C程序由一个main函数和若干个其它函数组成;
2、 举例说明函数定义、函数原型声明与函数调用的语法规则以及使用场合。
答:语法规则:
1)函数定义中要给出函数名、函数类型、形式参数、函数的实现过程(函数的定义性说明),它是一个完整的、独立的函数单位。
2)函数的原型声明中只给出函数名、函数类型、形参类型(有时给出形参名)。没有给出函数实现的过程描述。一般放在程序开头,描述本程序将要用到哪些函数(函数的引用性说明)。
3)函数的调用由函数名和和函数调用运算符()组成,还必须给出具体函数参数,函数参数用圆括号括起来。
程序举例:
#include <stdio.h>
void main()
{ int add(int x,int y); //函数的原型声明
int a,b,sum;
a=10;
b=24;
sum=add(a,b); //add为自定义函数,调用add函数,有两个实参a,b
printf("sum= %d\n",sum);
}
int add(int x,int y) //函数的定义
{ int z;
z=x+y;
return(z);
}
3、 写出以下两个例题的程序运行结果。请说明造成运行结果不同的原因。
例1
void swap(int x, int y)
{ int t;
递归函数c语言规则 t=x; x=y; y=t;
}
main()
{ int a=3,b=5;
printf(“\n 1** a=%d,b=%d”,a,b);
swap(a,b);
printf(“\n 2** a=%d,b=%d”,a,b);
}
运行结果:
1** a=3 ,b=5
2** a=3 ,b=5
例2
void swap(int *x, int *y)
{ int t;
t=*x; *x=*y; *y=t;
}
main()
{ int a=3,b=5;
printf(“\n 1** a=%d,b=%d”,a,b);
swap(&a,&b);
printf(“\n 2** a=%d,b=%d”,a,b);
}
运行结果:
1** a=3 ,b=5
2** a=5 ,b=3
由于实参向形参的数据传递是单向的“值传递”方式。数据只能由实参传向形参;形参数据的改变不影响实参的值;而用指针变量做形参时,接收实参数据名传递来的是地址“地址传递”,可以改变实参的值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论