程序一定是从main函数开始,从main函数结束
#include <stdio.h>
//函数的别称是方法,函数也就是完成某一特定功能的模块
//打印的作用
void print()//自定义函数,自己写的函数 ,没有参数
{
printf("锄禾日当午");//printf系统函数
//printf函数名,“锄禾日当午”参数,函数的输入
//()包含参数的作用
getchar(); //等待你输入一个字符的作用
}
int main1() //C程序的入口点,有且仅有一个main函数
{
print();
}
函数的执行流程:
#include<stdio.h>
//函数调用 ,必须等待当前函数调用完成以后,才能执行下一步
void print1()
{
printf("上");
}
void print2()
{
printf("中");
}
void print3()
{
printf("下");
}
int main()
{
print1();
print2();
print3();
getchar();等待
}
带参数和不带参数的应用
#include<stdio.h>
#include<stdlib.h>
int print() //函数名 可以掺杂中文,局限VS
{
printf("天行健,君子以自强不息") ;
}
int printadd(int a,int b)
{
printf("a+b=%d",a+b);//将a+b的值转换为字符串,映射到字符串"a+b=%d"
}
//函数就是加工厂,给你输入,你给我一个输出
//但是函数的输入或者输出可以为空
void main()
{
printadd(4,8);带参数的函数
print();
getchar();
}
带参数函数的应用
#include<stdio.h>
#include<stdlib.h>
//带参数的函数可以指定函数根据参数执行不同的操作
void open(int num)
{
char str[100];//定义一个字符数组,最大长度为100
//str等价于一个字符串变量,可以容纳字符串
// sprintf(str,"calc");//printf是输出字符串到屏幕
//sprintf就是输出到字符串,
sprintf(str,"for /l %%i in (1,1,%d) do start notepad",num);
//sprintf首先将num映射到 %d里面,然后将整个字符串映射到str
system(str);//system可以执行字符串指令,是一个变量
printf("for /l %%i in (1,1,%d) do start notepad",num);
//%i就是一个整数,从1开始,每次加1,一直加到5
}
int main()
{
// system("mspaint");system执行一个固定的常量 字符串
// printf("%i",-200);//%i等价于%d.打印有符号十进制数据
// printf("%%i"); //打印的时候,%%映射一个%,%需要与其他字符结合映射字符串
//所以打印一个%,需要两个%
open(10);
getchar();
}
简单的返回值:
#include<stdio.h>
//函数的作用就是给一个输入,然后根据输入加工出结果,返回输出
int add(int a,int b) //函数的返回值就是函数的输出,函数的结果
{
int c=a+b;
return c; //返回的含义
}
int main()
{ //add(1,12)就是返回值
printf("%d",add(1,12));//函数的调用也就是函数的返回值
printf("\n%d",add(1,add(1,12)));//函数的调用可以嵌套
getchar();
}
函数的返回值与return的注意事项
#include<stdio.h>
#include<stdlib.h>
#include<windows.h> //Sleep函数包含在windows.h里面
void go()//warning C4716:"go":必须返回一个值
//非main函数如果不是void,会有一个警告,如果是CPP会是一个错误
{
}
int godata()
{
printf("\n1");
printf("\n2");
// return 1;//return后面的语句不会再被执行 ,main函数的return就是直接退出
printf("\n3");
printf("\n4");
return 0;
}
int main()//main函数可以没有返回值,无论类型是int还是void
{
Sleep(2000);等待,等待2000毫秒
//return 0;main函数的return就是直接退出
getchar();
//没有return,main函数或者其他函数执行完所有语句会自动退出
}