6.5 综合实例——求大整数的阶乘-高二《新概念C语言能力教程》同步教学课件 (电工版2020)

2023-06-12
| 17页
| 176人阅读
| 0人下载
精品

内容正文:

第6章 数组 第6章 数组 一维数组的定义 一维数组的应用 二维数组 多维数组和字符数组 字符串 综合实例++ 2 专用的字符串输入输出函数 标准输入输出函数库(stdio.h)中也有专用的字符串输入输出函数:puts函数和gets函数。 puts函数的使用形式为:puts(字符型数组或字符串常量); 与使用printf函数输出字符串稍有不同,puts函数输出完字符串后会自动换行, 即将标识输入输出位置的光标移动到下一行。 puts(str);可改写为printf("%s ", str);。 标准输入输出函数库(stdio.h)中也有专用的字符串输入输出函数:puts函数和gets函数。 puts函数的使用形式为:puts(字符型数组或字符串常量); 与使用printf函数输出字符串稍有不同,puts函数输出完字符串后会自动换行, 即将标识输入输出位置的光标移动到下一行。 puts(str);可改写为printf("%s ", str);。 3 gets函数 gets函数的使用形式为:gets(字符型数组); gets函数可以将用户输入的字符串存储到字符型数组中,但与scanf函数不同,gets函数会把空格作为输入字符串的组成部分,只有回车才是字符串输入完毕的标志。 当用户输入Are you ready?↙时,使用语句gets(str);时,字符型数组str中的字符串为"Are you ready?";使用语句scanf("%s", str);,字符型数组str中的字符串为"Are"。 gets函数的使用形式为:gets(字符型数组); gets函数可以将用户输入的字符串存储到字符型数组中,但与scanf函数不同,gets函数会把空格作为输入字符串的组成部分,只有回车才是字符串输入完毕的标志。 当用户输入Are you ready?↙时,使用语句gets(str);时,字符型数组str中的字符串为"Are you ready?";使用语句scanf("%s", str);,字符型数组str中的字符串为"Are"。 4 字符串处理 例6-16 scanf函数获得用户输入的过程可简单地理解为:用户的输入保存在一个字符型数组中,输入完成后该字符型数组将由scanf函数处理。scanf函数根据格式字符,把字符串转换成相对应类型的数据,并赋给变量。有语句scanf("%d%d", &m, &n);,当用户输入23 52↙时,变量m和n会分别被赋值为23和52。scanf函数由用户输入的字符串得到整数的过程简单模拟如下。 例6-16 scanf函数获得用户输入的过程可简单地理解为:用户的输入保存在一个字符型数组中,输入完成后该字符型数组将由scanf函数处理。scanf函数根据格式字符,把字符串转换成相对应类型的数据,并赋给变量。有语句scanf("%d%d", &m, &n);,当用户输入23 52↙时,变量m和n会分别被赋值为23和52。scanf函数由用户输入的字符串得到整数的过程简单模拟如下。 处理时遇到空格时会结束识别并跳过空格,因此,空格是两个输入数据间的分隔符。 5 例 6-17 比较用户输入的两个字符串的大小。 从左向右依次比较两个字符串对应位置上的字符。如果字符相同,则继续比较。否则,就停止比较。遇到第一个字符串中的结束标志0号字符'\0'时,也停止比较。 计算停止比较时两个字符串中对应字符的差,若大于0,则第一个字符串大;等于0,则两个字符串同样大;小于0,则第一个字符串小。 比较用户输入的两个字符串的大小。 从左向右依次比较两个字符串对应位置上的字符。如果字符相同,则继续比较。否则,就停止比较。遇到第一个字符串中的结束标志0号字符'\0'时,也停止比较。 计算停止比较时两个字符串中对应字符的差,若大于0,则第一个字符串大;等于0,则两个字符串同样大;小于0,则第一个字符串小。 程序中定义了一个2行100列的二维字符型数组str,每个数组元素作为一个普通的一维字符型数组使用,用于存储用户输入的字符串。 6 思考题 分别输入①Hi↙Hello↙②Hi↙Hi↙③Hi↙Hi2↙时,分析循环的执行过程 综合实例——求大整数的阶乘 计算机存储组织数据的方式又称为数据结构,数组是最常用的数据结构。数据结构和算法就是程序。算法通常与数据结构密切相关,这节课以求大整数的阶乘为例来讨论它们之间的关系。 8 例6-18 求大整数的阶乘 求阶乘的算法简单,但由于基本数据类型取值范围的限制,无法求出稍大数的阶乘。无符号长整型的最大取值约为43亿即10位整数;双精度浮点数的最大取值虽然可以达到300位,但它的精度只有16位左右。 一个稍大点整数的阶乘往往成百上千位,显然不能用C语言中的基本数据类型表示。因此,求阶乘时需解决大整数的存储

资源预览图

6.5 综合实例——求大整数的阶乘-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
1
6.5 综合实例——求大整数的阶乘-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
2
6.5 综合实例——求大整数的阶乘-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
3
6.5 综合实例——求大整数的阶乘-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
4
6.5 综合实例——求大整数的阶乘-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
5
6.5 综合实例——求大整数的阶乘-高二《新概念C语言能力教程》同步教学课件 (电工版2020)
6
所属专辑
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。