前言 分享一个我初学C语言的时候的用于测试C语言知识点的一个小模板。 好记性不如烂笔头,我们平时学习也应该多做一些记录,多整理自己所学的知识,以便之后有必要的时候可以回顾。 以前我刚开始学习C语言的时候经常需要验证一些比较模糊的知识点,或则想要验证一些函数时,所以我每次都会建一个test。c文件,然后在这个文件里写我的测试代码,测试完毕后常常会删掉该文件。 下次再遇到同样的问题的时候,可能又是记不清楚了,常常又需要测试一遍,这是件很浪费时间的事情。 所以,我们可以编写一个专门用于测试的程序:(1)有菜单,可以通过菜单选择想要测试的函数;(2)有功能函数,把一些需要测试的功能封装成一个函数;(3)有测试函数,用于测试功能函数及一些知识点。 该测试程序大致如下: 我们只要输入菜单前面的数字就可以进行对应的测试啦。挺方便的,日积月累,渐渐的,就可以积累很多知识点。如: 该测试程序代码模板1、菜单函数如下: 2、主函数如下: 3、该测试程序函数声明部分如下 完整程序微信公众号:嵌入式大杂烩includestdio。hincludestdlib。hincludestring。hincludelimits。h功能函数声明voidexchange(inta,intb);交换a,b的值最好的方法测试函数声明voidtest1(void);测试函数1:交换a,b的值voidtest2(void);测试函数2:C语言预定义宏voidtest3(void);测试函数3:C89与C99标准的区别voidtest4(void);测试函数4:输出当前编译器数据类型范围菜单intmenu(void);主函数intmain(void){intcmd0;for(;;)死循环,等价于while(1){cmdmenu();读取用户输入的指令switch(cmd){case1:test1();测试函数1:交换a,b的值case2:test2();测试函数2:C语言预定义宏case3:test3();测试函数3:C89与C99标准的区别case4:test4();测试函数4:输出当前编译器数据类型范围case1:exit(0);退出程序case2:system(cls);清空屏幕default:}}return0;}以下是功能函数实体交换a,b的值voidexchange(inta,intb){}以下是测试函数实体交换a,b的值voidtest1(void){system(cls);inta13,b14;printf(交换之前ad,bd,a,b);exchange(a,b);printf(交换之后ad,bd,a,b);}C语言预定义宏voidtest2(void){system(cls);printf(当前代码行号:d,LINE);printf(当前编译日期:s,DATE);printf(当前编译时间:s,TIME);printf(当前文件名称:s,FILE);printf(当前函数名称:s,FUNCTION);}C89与C99标准的区别voidtest3(void){system(cls);C99允许在for循环内定义循环变量,而C89不允许gccstdc99test。cotest。exefor(inti0;i5;i)for(i0;i5;i){printf(helloworld!);}}输出当前编译器数据类型范围voidtest4(void){system(cls);printf(char的范围为:dd,CHARMIN,CHARMAX);printf(unsignedchar的范围为:uu,0,UCHARMAX);printf(short的范围为:hdhd,SHRTMIN,SHRTMAX);printf(unsignedshort的范围为:huhu,0,USHRTMAX);printf(int的范围为:dd,INTMIN,INTMAX);printf(unsignedint的范围为:uu,0,UINTMAX);printf(long的范围为:ldld,LONGMIN,LONGMAX);printf(unsignedlong的范围为:lulu,0,ULONGMAX);printf(longlong的范围为:lldlld,LLONGMIN,LLONGMAX);printf(unsignedlonglong的范围为:llullu,0,ULLONGMAX);}以下是菜单函数intmenu(void){intcmd0;charbuf〔10〕{0};菜单信息输出printf(菜单);printf(〔01〕测试:交换a,b的值);printf(〔02〕测试:C语言预定义宏);printf(〔03〕测试:C89与C99标准的区别);printf(〔04〕测试:输出当前编译器数据类型范围);printf(〔1〕退出);printf(〔2〕清屏);printf();do{printf(请输入您的选择:);gets(buf);cmdatoi(buf);}while(cmd1cmd4);} 每当需要测试一些知识点时,就可以按照这样子的格式在后边添加,可以很好地进行积累。 往期好文: C语言、嵌入式中一些非常实用的宏技巧 C语言、嵌入式重点知识:回调函数 分享一个有趣的库,让你学习C语言不会觉得那么枯燥 我整理了一个嵌入式资料库,大家有什么好资料分享?可以给我留言,我把它加进去,资源共享,一起来完善这个资料库!