博客主页:https://blog.csdn.net/weixin_46094737?spm=1000.2115.3001.5343
欢迎评论⭐留言 如有错误敬请指正!
本文由小学生廉原创,首发于 csdn
未来很长,值得我们全力奔赴更美好的生活
破釜沉舟今犹在,又见当年渡河人。
今日吾师教之c语言《函数》,吾思之良久,叹曰师之学时渊博兮,叹曰同窗思维之活跃兮,故吾需加紧领悟,以思之其中之韵味也!!!
感慨甚多,故写下次篇。以得函数其中之奥妙,回味无穷!!!
函数的定义
C语言的函数可分为库函数和用户定义函数两种。
(1)库函数。它是由编译器提供的,无须用户定义,它的源代码一般是不可见的。C程序中可以直接使用库函数,例如 printf、scanf、getchar、putchar、main函数。
(2)用户定义函数。它是由用户按照需求定义的函数。
C语言要求,变量必须先“先定义,后使用”,函数也遵循“先定义,后调用”的规则。函数定义时必须指定函数名、参数类型、要实现的功能等,这样编译系统在调用函数时会根据函数定义时所执行的功能来执行。
相关函数练习(有参数,无参数)
无参函数比较简单,对于变量的定义也比较少,在子函数(void)中定义好要干的事情,无需设置返回值,在主函数调用中,便可在调用,无需过多考虑返回值情况;
有参函数则要考虑的比较多,既要考虑子函数的返回值(重要),也要考虑在主函数调用时对于返回值的定义和利用。
#includevoid print_star_x(void) { printf("testn"); } void print_star_n(int n) { int i; for(i=0;i 今日作业1 水仙花数的应用:
#includevoid lookup(int x) { int b,c,d; b=x%10;//个位 c=(x%100)/10;//十位 d=x/100;//百位 if(b*b*b+c*c*c+d*d*d==x) printf("该值是水仙花数"); else printf("该值不是水仙花数"); } int main() { int a; printf("请输入一个三位数整数:n"); scanf("%d",&a); lookup(a); return 0; } 注意本题中需求,在子函数的编写中本题无需设置返回值,在主函数调用中,直接调用lookup(x)函数进行判断!
今日作业2 计算器的应用:
#includeint count(int x,int y) { int a,b; char ch; int i; printf("请选择您要进行的运算:(+ - * /)n"); ch=getchar(); switch(ch) { case '+': i=x+y; break; case '-': i=x-y; break; case '*': i=x*y; break; case '/': i=x/y; break; default: break; } return i; } int main() { int a,b; int c; printf("请输入两个整数:n"); scanf("%d %d",&a,&b); getchar(); c=count(a,b); printf("%d",c); return 0; } 在本题的编写中我遇到了两个困惑的问题,1、在主函数scanf输入两个数之后我按了一次回车,这个回车存在于缓冲区当中,故在程序运行之后随没报错,但是结果总是不对,我思考了很长那个时间无法解决,在焦同学善意的提醒之下,吾如之醍醐灌顶,直接一个getchar()给它扔了,问题得以解决。2、在子函数中,我最开始直接打印出了两个变量的运算结果(printf("%d",c=a+b)),思虑过后我都在子函数打印出了结果,那我还在主函数调用个啥呀,故在子函数中增加了一个变量,返回这个变量到主函数中,然后直接调用count函数,问题得以解决。
今日作业3 统计一串字符中某个字符出现的次数:
#includeint search(char ch_01) { char ch_02; int count=0; while(ch_02!='n') { if(ch_02==ch_01) count++; else ; ch_02=getchar(); } return count; } int main() { int count_01; printf("请输入一串字符:n"); count_01=search('s'); printf("字符's'出现的次数为:%d次",count_01); return 0; } 本题在编写过程中还是注意子函数返回值的体现,以及在主函数调用中变量的统计,注意变量字符的统计次数为整数,故用int即可,不可犯用字符形式去输出统计次数的结果!
本题的原意是随便统计某个字符,这里我把字符直接写死了,我调试了半天,老是报错,因时间较晚了,故缓之,待明日仔细研磨,定能攻破之!!!
今日作业4 使用函数,将输入的16进制数转化为10进制数:
(很遗憾,本人现在脑细胞已死,未能做出,惭愧惭愧)
暑期编程PK赛 得CSDN机械键盘等精美礼品!



