C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章

上传人:E**** 文档编号:89346110 上传时间:2019-05-23 格式:PPT 页数:79 大小:830.50KB
返回 下载 相关 举报
C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章_第1页
第1页 / 共79页
C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章_第2页
第2页 / 共79页
C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章_第3页
第3页 / 共79页
C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章_第4页
第4页 / 共79页
C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章_第5页
第5页 / 共79页
点击查看更多>>
资源描述

《C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章》由会员分享,可在线阅读,更多相关《C语言程序设计课程与考试辅导 教学课件 ppt 作者 王晓丹 9-16 第16章(79页珍藏版)》请在金锄头文库上搜索。

1、第十六章 等级考试上机考试指导,16.1 上机考试试题第1套及解答 16.2 上机考试试题第2套及解答 16.3 上机考试试题第3套及解答 16.4 上机考试试题第4套及解答 16.5 上机考试试题第5套及解答 16.6 上机考试试题第6套及解答,16.1 上机考试试题第1套及解答 一、试题 1填空题 下列给定程序中,函数fun( )的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入“Ab,cD”,则输出“ab,cd”。 试题程序: #include #include #include ,2改错题 下列给定程序中,函数fun( )的功能是逐个比较a、b两个字符串

2、对应位置中的字符,把ASCII值小或相等的字符依次存放到c数组中,形成一个新的字符串。 例如:a中的字符串为fshADfg,b中的字符串为sdAEdi,则c中的字符串应为fdAADf。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:,3编程题 请编写函数fun,其功能是将两个两位数的正整数a、b合并形成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。 例如,当a=16,b=35,调用该函数后,c=5361。 注意:部分源程序给出如下。请勿改动主

3、函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:,二、解答 1填空题 【参考答案】 (1) * (2) Z (3) tt 【说明】 (1) 由下面的return语句可以看出,该函数的返回值类型是指向字符串的指针,所以应该使用符号“*”。 (2) 从ASCII码表中可以看出,小写字母的ASCII码值比对应大写字母的ASCII码值大32,根据ASCII码值判断该字母是不是大写字母,判断的标准是ASCII码值是否介于A和Z之间。,(3) 根据题目的意思这里应该调用函数fun对字符串tt进行转换,所以应该使用tt作为函数的参数。 2改错题 【参考答案】 (

4、1) 错误: if (*p=*q) (2) 错误:k+ 正确:k+; 【说明】 错误1:依题意,把ASCII值小或相等的字符存放到c数组中,故if语句的关系运算符应为“=”。 错误2:C语言规定,每个语句要用分号结束。,3编程题 【参考答案】 void fun(int a ,int b,long *c) *c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10; 【说明】 语句*c=(b%10)*1000+(b/10)*100+(a%10)*10+a/10;是将a数的十位和个位数依次放在c数个位和十位上,b数的十位和个位数依次放在c数的百位和千位上。注意“/”和“%”的

5、用法。,16.2 上机考试试题第2套及解答 一、试题 1填空题 下列给定程序中,函数fun( )的功能是:按顺序给s所指数组中的元素赋予从2开始的偶数,然后再按顺序对每5个元素求一个平均值,并将这些值依次存放在w所指的数组中。若s所指数组中元素的个数不是5的倍数,多余部分忽略不计。例如,s所指数组有14个元素,则只对前10个元素进行处理,不对最后的4个元素求平均值。,2改错题 下列给定程序中,函数fun( )的功能是根据整型形参m,计算如下公式的值。 y=1-1/(22)+1/(33) -1/(44)+(-1)(m+1)/(mm) 例如:m中的值为5,则应输出0.838611。 请改正程序中的

6、错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:,3编程题 请编一个函数void fun(int ttMN, int ppN),tt指向一个M行N列的二维数组,求出二维数组每列中的最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。 注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:,二、解答 1填空题 【参考答案】 (1) % (2) return (3) bi 【说明】 (1) 根据题目的意思,这里是按顺序执行对每5个元素求一个平均

7、值的操作,所以应该使用取余符号“%”,如果是5的倍数,则该式的值为零。,(2) 根据C语言的规定,除了使用关键字void的任何一个子函数都应该有返回值,所以应该使用关键字return把变量k的值返回主函数。 (3) 由题目的意思可知,这里是把存在数组b中的内容依次循环输出,所以变量名应该使用bi。 2改错题 【参考答案】 (1) 错误:int j=1; 正确:double j=1.0; (2) 错误:y+=1/(i * i); 正确:y+=j/(i * i);,【说明】 错误1:为了做除法运算,j要定义为实型数,否则除得的结果将为整数。 错误2:题中公式是加减相间的运算,通过j来实现。 3编程

8、题 【参考答案】,【说明】 本题中函数的功能是求出二维数组中每列的最大元素。首先,假设各列中的第一个元素最大,然后利用行标值的移动来依次取得各列中其他元素的值,并与假设的最大值进行比较。如果遇到更大的,则把这个更大的元素看做当前该列中最大的元素,继续与该列中其他元素比较。,16.3 上机考试试题第3套及解答 一、试题 1填空题 下列给定程序中,函数fun( )的功能是:计算s所指字符串中含有t所指字符串的数目,并作为函数值返回。 试题程序: #include #include #include #define N 80,2改错题 下列给定程序中,函数fun( )的功能是将字符串s中位于偶数位置

9、的字符或ASCII码为奇数的字符放入字符串t中(规定第一个字符放在第0位中)。 例如:字符串中的数据为ADFESHDI,则输出应当是AFESDI。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:,3编程题 请编写一个函数fun( ),它的功能是计算并输出给定整数n的所有因子(不包括1与自身)的平方和(规定n的值不大于100)。 例如:主函数从键盘输入n的值为56,则输出为sum=1113。 注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序:,

10、二、解答 1填空题 【参考答案】 (1) p+ (2) 0 (3) s+ 【说明】 (1) 根据题目的意思,这里应该是把要比较的字符串和原字符串的一部分进行逐个字符的比较,所以指向原字符串的指针p也应该进行每步加1的操作。,(2) 根据题目的意思,此处是判断上一步的比较是否与r指向的完整的字符串相等,如果完全相同,则r应该指向字符串的末尾,即0。 (3) 由算法可以看出,这里应该是进行整个while循环,即应该控制s指针不停地向后移动,直到字符串结尾。 2改错题 【参考答案】 (1) 错误:void fun(char s, char t ) 正确:void fun(char *s, char

11、t ) (2) 错误:if(i%2=0|si%2!=0) 正确:if(i%2=0|si%2!=0),【说明】 错误1:由于本题中函数的功能是对字符串进行处理,而不是对单个字符进行处理,因此函数的参数应为字符串指针。 错误2:if语句中要用关系运算符,而不是赋值运算符。 3编程题 【参考答案】,【说明】 本题的解题思路是用n逐个去除以2到n-1之间的所有数,如果n能被除尽,则把所得到的一个因子的平方累加到s中去。,16.4 上机考试试题第4套及解答 一、试题 1填空题 下列给定程序中,函数fun( )的功能是:通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。例如变量a中的值原为8,

12、b中的值原为3,程序运行后a中的值为3,b中的值为8。 试题程序:,2改错题 下列给定程序中,函数fun( )的功能是找出100n(不大于1000)之间百位数字加十位数字等于个位数字的所有整数,把这些整数放在s所指的数组中,满足条件的数的个数作为函数值返回。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:,3编程题 程序定义了NN的二维数组,并在主函数中自动赋值。请编写函数fun(int a N ,int n),该函数的功能是使数组左下半三角元素中的值加上n。 例如:若n的值为3,a数组中的值为: a= 2 5 4 1

13、6 9 5 3 7 则返回主程序后a数组中的值应为: 5 5 4 4 9 9 8 6 10,注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 试题程序: #include #include #include #define N 5 fun(int a N, int n) ,二、解答 1填空题 【参考答案】 (1) int (2) ; (3) &a 【说明】 (1) 根据题目的意思,这里应该是声明一个新的变量t,由赋值语句以及返回语句可以判断这个变量应该是整型的(因为函数的返回值类型是int)。,(2) 根据题目的意思,此处是

14、子函数的返回语句,由C语言的知识,每个语句的结尾都应该使用“;” 。 (3) fun( )函数的调用方式说明fun( )函数的参数应当为指针类型,即应该把变量的地址作为参数传递(符号“,【说明】 错误1:k就是当前要被判断的数,是随着i值的变化而变化的。 错误2:在循环中,j是数组的下标,要递增。 3编程题 【参考答案】 fun(int a N, int n) int i, j; for(i=0; iN; i+) for(j=0; j=i; j+) aij=aij+n; /*使数组左下半三角元素中的值加上n*/ ,【说明】 首先从数组中找出要被加上n的那部分元素,找的过程其实就是找出将被挑出的

15、那部分元素在原数组中的分布规律的过程。通过观察得出,要被处理的那部分元素的下标值的范围是从每行中第一个元素开始,直到列数等于该行行数时为止。找到这个规律后,依次从数组中取得合乎要求的元素,然后再加上n。,16.5 上机考试试题第5套及解答 一、试题 1填空题 下列给定函数中,函数fun( )的功能是:统计字符串中各元音字母(即A,E,I,O,U)的个数。注意:字母不分大小写。例如,输入THIs is a boot,则应输出1 0 2 2 0。 试题程序:,2改错题 下列给定程序中,函数fun( )的作用是:将字符串tt中的小写字母都改为对应的大写字母,其他字符不变。例如,若输入“edS,dAd”,则输出“EDS,DAD”。 请改正程序中的错误,使它能得到正确结果。 注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。 试题程序:,3编程题 请编写函数fun( ),该函数的功能是:移动一维数组中的内容,若数组中有n个整数,要求把下标从p到n -1(pn -1)的数组元素平移到

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号