学习函数主要学习的就是函数的声明、定义和调用,下面请看两个例子,来帮助我们学习函数:

题目一:

编写一个函数iswithin(),它接受两个参数,一个是字符,另一个是字符串指针。其功能是如果字符在字符串中。就返回1 (真);如果字符不在字符串中,就返回0(假)。在一个使用循环语句为这个函数提供舒服的完整程序中进行测试。

代码如下:

[cpp] view plaincopy
  1. #include <stdio.h>
  2. int iswithin(char p,char *q)
  3. {
  4. while(*q)
  5. {
  6. if(p == *q)
  7. return 1;
  8. else
  9. q++;
  10. }
  11. return 0;
  12. }
  13. int main(int argc, char *argv[])
  14. {
  15. int m;
  16. char p,*q;
  17. p = *argv[1];
  18. q = argv[2];
  19. m = iswithin(p,q);
  20. if(m == 1)
  21. printf("\'%c\' is in the string!\n",p);
  22. else
  23. printf("\'%c\' is not in the string!\n",p);
  24. return 0;
  25. }

执行结果如下:

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/hanshu$ ./hanshu2 h hello
  2. 'h' is in the string!
  3. fs@ubuntu:~/qiang/hanshu$ ./hanshu2 h world
  4. 'h' is not in the string!
  5. fs@ubuntu:~/qiang/hanshu$

注意函数传参的方式。

题目二、

以下函数的功能是用递归的方法计算 x  的 n 阶勒让德多相式的值。已有调用语句p(n,x):编写函数实现功能。

代码如下:

[cpp] view plaincopy
  1. #include <stdio.h>
  2. int p(int n,int x)
  3. {
  4. int m;
  5. if(n == 0)
  6. return 0;
  7. else
  8. if(n == 1)
  9. return x;
  10. else
  11. {
  12. m = ((2*n - 1)*x*p(n - 1,x) - (n - 1)*p(n - 2,x))/n;
  13. return m;
  14. }
  15. }
  16. int main(int argc, const char *argv[])
  17. {
  18. int x, n;
  19. int q;
  20. printf("Please input x and n:\n");
  21. scanf("%d%d",&x,&n);
  22. q = p(n,x);
  23. printf("p = %d\n",q);
  24. return 0;
  25. }

执行结果如下:

[cpp] view plaincopy
  1. fs@ubuntu:~/qiang/hanshu$ ./hanshu1
  2. Please input x and n:
  3. 2
  4. 1
  5. p = 2
  6. fs@ubuntu:~/qiang/hanshu$ ./hanshu1
  7. Please input x and n:
  8. 2
  9. 5
  10. p = 194
  11. fs@ubuntu:~/qiang/hanshu$

Linux C 函数练习相关推荐

  1. Linux系统函数之IO函数

    技术交流 QQ 群:1027579432,欢迎你的加入! 欢迎关注我的微信公众号:CurryCoder的程序人生 1.标准C库IO函数工作流程 IO缓冲区的作用? 大部分硬盘都是机械硬盘,读取寻道时间 ...

  2. linux计时函数的使用

    linux计时函数的使用 linux下计时函数的使用目的是测量程序运行的时间 头文件 #include <sys/time.h> 计时函数 int gettimeofday(struct ...

  3. linux C函数之strdup函数分析【转】

    本文转载自:http://blog.csdn.net/tigerjibo/article/details/12784823 linux C函数之strdup函数分析 一.函数分析 1.函数原型: [c ...

  4. Linux getopt()函数 getopt_long()函数---转

    http://hi.baidu.com/scoundrelgg/item/d4083f8412eea05d26ebd97f Linux getopt()函数 getopt_long()函数 get_o ...

  5. linux shell函数

    linux shell函数

  6. linux fork函数的精辟解说

    此文原文来源于一个blog,文章的名称为:linux fork函数的精辟解说原文地址:http://blog.chinaunix.net/space.php?uid=12461657&do=b ...

  7. Linux时间函数札记

    关于gmtime.gmtime_r.localtime.localtime_r 测试环境:vmware 7 + Redhat5.5,系统时间使用UTC,时区为上海. 1.函数功能介绍 使用man gm ...

  8. Linux select函数用法和原理

    select函数的用法和原理 Linux上的select函数 select函数用于检测一组socket中是否有事件就绪.这里的事件为以下三类: 读事件就绪 在socket内核中,接收缓冲区中的字节数大 ...

  9. linux c 文件拷贝函数,Linux C函数库参考手册

    来自一本绝版的书,虽然没有函数 描述,但是最起码可以知道分类,就可以去 man 了 Linux C函数库参考手册 第1章字符测试 函数 isalnum(测试字符是否为英文字母或数字) isalpha( ...

  10. linux应用调用内核函数,Hooking linux内核函数(一):寻找完美解决方案

    前言 我们最近参与了一个Linux系统安全相关项目,需要hooking几个重要的Linux内核函数调用,例如打开文件和启动进程,并利用它来启用系统活动监控并抢先阻止可疑进程. 最后,我们发明了一种有效 ...

最新文章

  1. jquery自动补全
  2. 普通人改变命运最关键的这几种方法
  3. Uvaoj 11624 - Fire!
  4. php如何编造简历,在简历里编造内容需要注意哪些问题?
  5. 【debug】python打包成exe,太大了该怎么解决?
  6. 工厂模式,简单工厂模式,抽象工厂模式三者有什么区别
  7. XAMPP报错:mysqli::real_connect(): (HY000/1045): Access denied for user ‘pma‘@‘localhost‘
  8. 大数据的特性优势有哪些
  9. java 删除文件夹和文件_如何创建无法删除的文件夹?
  10. ai故障风字体_一分钟就能学会!用PPT做出抖音故障风的字体特效
  11. java中使用阻塞队列实现生产这与消费这之间的关系
  12. Jetson Nano 入坑之路 ----(9)C++调用SYN6288语音播报模块
  13. 9 个 yyds 的 Java 项目,可应对各种私活
  14. 如何在python 设置输入字符的 颜色 背景色,前景色
  15. unity3d射击类demo
  16. java俄罗斯方块七中图形类_shell脚本编写的俄罗斯方块游戏代码
  17. 实战EM算法与图像分割
  18. 计算机cbr代表什么,cbr是什么文件格式
  19. Thin LUN 和 Thick LUN
  20. 2019年DigitalOcean最新优惠券赠送100美元

热门文章

  1. jboss-AS目录结构了解(资料摘取)
  2. 重装系统后,快盘不能拷贝进文件的解决办法
  3. 中小企业如何提高售前,售中,售后客服质量?
  4. 对数据仓库进行数据建模_确定是否可以对您的数据进行建模
  5. 服务器被攻击怎么修改,服务器一直被攻击怎么办?
  6. python爬抖音短视频_python爬取抖音小视频
  7. PCA(主成分分析)思想及实现
  8. leetcode860. 柠檬水找零(贪心)
  9. leetcode1162. 地图分析(bfs)
  10. leetcode120. 三角形最小路径和(动态规划)