一、猜数字游戏
程序运行之后,会利用时间戳随机生成一个100以内的数字,不断输入数字,值到猜对。
//猜数字游戏代码
//#include <time.h>//引用time函数需要引用的头文件
//
打印菜单
//void munu()
//{
// printf("***************************\n");
// printf("********1.开始游戏*********\n");
// printf("********0.退出游戏*********\n");
// printf("***************************\n");
//}
判断
//void guess()
//{
// int num = rand() % 100 + 1;//生成随机数
//
// int k=0;
// //猜数字
// while (1)
// {
// scanf("%d", &k);
// if (k == num)
// {
// printf("恭喜你,猜对了!\n");
// break;
// }
// else if (k < num)
// {
// printf("猜小了!\n");
// }
// else
// {
// printf("猜大了!\n");
// }
//
// }
//}
//
//
//int main()
//{
// int num;
// int k;
// int j;
// srand((unsigned int)time(NULL));//srand设置随机数起点,unsigned int转换为无符号整形,NULL或者0表示空指针
// do
// {
// munu();
// printf("请输入1或者0:>");
// scanf("%d", &j);
// switch (j)
// {
// case 1:
// printf("请输入数字:");
// guess();
// break;
// case 0:
// return 0;
// default:
// printf("输入错误,请重新输入!\n");
// }
//
// }while (j);
// return 0;
//}
二、一个简单的恶搞程序
该程序运行之后计算机将会在一分钟之内关机,当输入爸爸的时候,会停止关机
//用goto语句写的关机程序,当输入爸爸之后,将会取消关机。
//#include<string.h>
//#include<stdlib.h>在·
//int main()
//{
// char arr[] = { 0 };
// system("shutdown -s -t 60");
// again:
// printf("请注意,电脑将会在一分钟之内关机,如果输入爸爸将会停止关机。");
// scanf("%s", arr);
// if (strcmp(arr, "爸爸") == 0)
// {
// system("shutdown -a");
// }
// else
// {
// goto again;
// }
// return 0;
//}
goto语句在C语言中其实并不常用,因为它会使得代码跳转很乱,难以阅读。故而用循环代替。
三、函数的运用
函数一般有输入参数和返回值,可以集成为软件库 ,方便调用,函数的功能越是单一越好,增加其通用性。
函数分为库函数和自定义函数,库函数是编译器自带的函数,每个编译器都会有不同,而自定义函数则是在库函数中找不到函数的时候,自己编写的。
//int ex(int* x,int* y)//形式参数,是实际参数的暂时拷贝,在进入函数的瞬间生成,在退出函数的瞬间销毁
//{
// int tmp = 0;
// tmp = *x;
// *x = *y;
// *y = tmp;
//}
//
//int main()
//{
//int a = 0;
// int b = 0;
// int c = 0;
// scanf("%d %d %d", &a, &b, &c);
// if (a < b)
// {
// ex(&a, &b);//实际参数
// }
// if (a < c)
// {
// ex(&a, &c);
// }
// if (b < c)
// {
// ex(&b, &c);
// }
//
// printf("%d %d %d", a, b, c);
//}
传值调用:对形参的修改不会影响实参。
传址调用:当形参发生改变也能影响函数外的变量。
当一个函数不写出类型的时候,默认为int。
当将数组传递到函数内部的时候,实际上传递的是数组首元素的地址,如果要用到数组长度sizeof之类的库函数,那么要在函数外面计算。