23-1
/*
1.函数定义
返回类型 函数名(参数列表){
函数体;
}
形参:作用用来接收外部传来的数据
注意:自定义函数和main函数是平行关系,不嵌套定义
1.返回类型 int double char
无返回值void
2.参数列表 都需要给出数据类型x , y int x , int y
函数定义这里的参数--形参
3.{}函数体
2.函数声明
作用:通知编译系统,在调用函数 函数返回类型 函数名字 函数的参数列表
格式:函数首部; 函数原型
位置:#include 下面
省略: 被调用函数出现在主调用函数前面,可以不用声明
3.调用函数
实参的数量、类型与 形参的数量、类型操持一致
递归函数
1.局部变量
也称内部,指在函数内定义的变量,在哪个函数定义就在哪个函数使用
2.全局变量
也称为外部变量,在函数之内定义的变量,从哪里定义从哪里使用一直到程序的结束
*/
#include <stdio.>
int main()
{
}
23-2
#include <stdio.h>
/*
n! = 1*2*3* n!
n之内所有数的和
5 = 1 + 2+ +5
100 = 1 + 2 + 3 + + 100
?n
*/
//函数声明
int fun01(int n);
void fun02(int n);
int main()
{
int n;
puts("请输入一个整数:") ;
scanf("%d" , &n);
//调用fun01
int s;
s = fun01(n) ;
printf("s = %d \n" , s);
puts("==========");
fun02(n);
}
//函数定义
int fun01(int n){//形参
//for()1+2+3+ + n?
int i , sum = 0;
for(i=1; i<=n; i++){
sum += i;
}
return sum;
}
void fun02(int n){//接收外部传来数据
int i , sum = 0;
for(i=1; i<=n; i++){
sum += i;
}
printf("sum = %d \n" , sum);
}
23-3
#include <stdio.h>
#include <string.h>
int main()
{
char ch01[20] = "hello world";
//strcpy strlen strcmp strcat
char ch02[20];
strcpy(ch02 , ch01);
puts(ch01);
puts(ch02);
}
23-4
#include <stdio.h>
int main()
{
char a[10];
a = "string";
puts(a);
}
23-5
#include <stdio.h>
int jiecheng(int a);
int main()
{
int n;
puts("请输入一个整数");
scanf("%d" , &n);
printf("结果为%d \n" , jiecheng(n));
}
//递归求阶乘
int jiecheng(int a){
if(a == 1){
return 1;
}else{
return jiecheng(a-1)*a;
}
}
23-6
#include <stdio.h>
void fun();
double p = 3.14;
int main()
{
int n = 10;
printf("n = %d \n" , n);
printf("p = %g \n" , p);
puts("==========");
fun();
}
void fun(){
int m = 100;
printf("m = %d \n" , m);
printf("p = %g \n" , p);
}