当前课程知识点:C语言程序设计(下) >  第一周:函数(一) >  1.1 函数定义 >  例题演示

返回《C语言程序设计(下)》慕课在线视频课程列表

例题演示在线视频

例题演示

下一节:知识点总结

返回《C语言程序设计(下)》慕课在线视频列表

例题演示课程教案、知识点、字幕

下面我们就来编程实现

将一个偶数分解为两个素数之和

首先我们建立一个源文件

输连入预处理文件包含

我们给这个函数名叫做

判断一个数是否为素数

那么此时的n就是形参

形参的类型为基本的整型

在这个函数中我们要用到一个变量i

让变量i循环

大家知道

如何判断一个数是素数呢

也就是说

从2开始

到这个数的一半的范围之内

如果能有一个数把它整除

就说明这个n不是素数

那于是在循环中我们判断

假如某一时刻

也就是说

i从2到n/2的过程中

只要有一个i的值

能够把n整除

那就说明这个n

不是素数

判断了不是素数

就返回一个0

否则

如果始终找不到这么一个值

那就说明这个n是素数

函数写完了

接下来

主调函数要使用它的功能

那么在主函数内部

在主函数内部

我们定义变量i

定义一个变量叫num

那这个num的值到底是什么呢

我们从键盘

以十进制整数的形式

输入一个偶数

我们要解决的问题是

从键盘输入一个偶数判断

将其分解成两个素数之和

输入了这个偶数之后

让循环变量i

从2开始

在小于等于num/2的范围之内循环

在循环体内

我们来判断一下

以当前的变量i

来调用求素数的函数

如果此时返回值为1

说明它是素数

但是同时

我们再以num-i为参数调用

如果返回值也是1

那就说明

此时的num的值

我们输入的这个偶数值

它能够分解成两个素数之和

那么这时候我们就输出这一结果

为了能让大家看得清

我们现在用一个值等于

两个值之和的形式来看

当前的num值可以分解为

i再加上num-i这样的两个数

这个程序就编完了

我们下面编译一下

保存

编译

现在来运行

大家看

我们现在运行这个程序

从键盘输入24

大家可以看到

24这样一个十进制的整数偶数

可以分解成5+19

7+17

11+13

刚才我们还说了另一个问题

就是求100以内的素数

那么现在我们再来编另一段程序

刚才说了求素数这个函数

从代码重复使用的角度

我们现在来看如何编另一个程序

我们把这段代码复制

新建一个源程序

把它粘贴

那么求素数这段程序是可以重复使用的

接下来我们要求100以内的素数

那现在主调函数中

我们定义一个变量i

现在我们就让变量i循环

从2开始

i小于等于100

在这个循环体当中

那只要我们用

变量i作为参数

来调用这个求素数的函数

其返回值为1

就说明此时的i是素数

那么就是我们要的这个结果

为了区分

彼此分开距离我们用%5d这种格式

这个程序就写完了

我们再来把它保存

起一个名

下面编译

编译正确

来运行这个结果

现在大家就可以看到

就可以看到

100以内的所有的素数

共享视界楚门字幕组 联系方式244081468

C语言程序设计(下)课程列表:

第一周:函数(一)

-1.1 函数定义

--内容简介

--函数是什么

--例题演示

--知识点总结

-1.1 函数定义--作业

-1.2 模块化程序设计

--由生活中的例子介绍模块化概念

--模块化程序设计总结

-1.3 函数调用、声明和返回

--函数调用的过程

--函数嵌套调用

-1.4 函数间参数传递

--形参与实参值传递

--地址传递-数组名做函数参数

--函数返回语句和返回值

--小结

--html

-1.4 函数间参数传递--作业

第二周:函数(二)

-函数递归调用

--6.5.1 递归问题开场白

--6.5.2 递归定义和调用过程

--6.5.3 运行程序

--6.5.4 汉诺塔介绍

--6.5.5 汉诺塔讲解

--6.5.6 汉诺塔程序运行

--6.5.7 递归调用例题

--6.5.8 递归总结

--html

--html

--html

--html

--html

--html

-函数递归调用--作业

第三周:函数(三)

-3.1 变量存储属性

--开场

--局部变量全局变量

--静态存储与动态存储

--存储类别小结

--html

--html

--html

--html

--html

-3.1 变量存储属性--作业

-3.2 编译预处理

--编译预处理开头

--编译预处理内容

--库函数

--函数总结

--综合例子

--html

-3.2 编译预处理--作业

第四周:指针(一)

-4.1 指针的定义、初始化和引用

--本周内容简介

--从变量的地址理解指针(1)

--从变量的地址理解指针(2)

--从数据交换看指针的应用(1)

--从数据交换看指针的应用(2)

--从数据交换看指针的应用(3)

-4.1 指针的定义、初始化和引用--作业

-4.2 指针与数组

--指针与数组

--用指针变量操作数组元素

--用指针变量操作数组元素实例

--Video

-4.2 指针与数组--作业

-虚拟实验:指针的基本概念实验

第五周:指针(二)

-5.1 指针与字符串

--本周开篇介绍

--指针与字符串

--指针与字符串小结

-5.1 指针与字符串--作业

-5.2 多维数组指针

--指针与多维数组

--指针变量访问二维数组

--一维数组的指针变量

--指向数组的指针函数参数

--html

--html

--html

--html

--html

--html

--html

--html

-5.2 多维数组指针--作业

第六周:指针(三)

-6.1指针与函数

--本周开篇介绍

--指针指向函数

--返回指针值的函数

--html

--html

--html

-6.1指针与函数--作业

-6.2指针与指针

--引入指针数组

--指针数组

--二级指针

--指针内容小结

--html

--html

--html

--html

-6.2指针与指针--作业

第七周:链表(一)

-7.1 结构的概念

--Video

--Video

--Video

--Video

--html

--html

-7.1 结构的概念--作业

-7.2 结构数组

--7.2.1 结构体数组

--Video

--Video

--html

-7.2 结构数组--作业

-7.3 结构指针

--Video

--Video

--Video

--html

-7.3 结构指针--作业

-7.4 结构与函数

--Video

--html

-7.4 结构与函数--作业

-7.5 联合

--Video

--Video

--html

-7.5 联合--作业

第八周:链表(二)

-8.1 typedef自定义类型

--自定义类型

-8.1 typedef自定义类型--作业

-8.2 枚举类型

--枚举类型

-8.2 枚举类型--作业

-8.3 链表的概念

--为什么使用链表

--链表的定义和功能

-8.3 链表的概念--作业

-8.4 链表的基本操作

--创建链表的步骤

--创建链表的过程

--访问链表中的节点

--约瑟夫问题

--html

--html

-8.4 链表的基本操作--作业

第九周 文件

-9.1 文件概述

--文件概念

--文件分类

-9.1 文件概述--作业

-9.2 文件型指针

--文件结构与指针

--设备文件

--html

-9.2 文件型指针--作业

-9.3 文件的打开与关闭

--文件读写方式

--文件读写操作

-9.3 文件的打开与关闭--作业

-9.4 文件的顺序读写

--文件顺序读写及字符输入输出

--字符串输入输出

--格式化及数据块输入输出

--html

-9.4 文件的顺序读写--作业

-9.5 文件的随机读写

--文件随机读写

-9.5 文件的随机读写--作业

-9.6 文件检测

--文件检测

-9.6 文件检测--作业

-9.7 文件应用实例

--文件应用实例

--html

--html

第十周 总结与练习

-10.1 C语言知识总结

--程序调试概念

--软件测试方法

--程序跟踪调试

--C语言语法要点

--标识符及运算符

--程序设计流程

--数组、函数及指针

--结构和文件

-10.1 C语言知识总结--作业

-10.2 C语言练习

--程序设计方法

--图像合成例子

--html

期末考试复习题

-期末考试复习题

--html

期末考试复习题答案

-期末考试复习题答案

--html

例题演示笔记与讨论

也许你还感兴趣的课程:

© 柠檬大学-慕课导航 课程版权归原始院校所有,
本网站仅通过互联网进行慕课课程索引,不提供在线课程学习和视频,请同学们点击报名到课程提供网站进行学习。