ImageVerifierCode 换一换
格式:DOCX , 页数:51 ,大小:717.07KB ,
资源ID:4551296      下载积分:1 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-4551296.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(c语言复习冲刺资料上机填空题分析文档格式.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

c语言复习冲刺资料上机填空题分析文档格式.docx

1、 i+)/通过一次循环来实现将数组逆置。n/2,循环的位置,只需要循环到数组的中间位置,就可以完成逆置了。 t=ai; ai = an-1-i; /将前面的数组与后面的数组进行对换。当i0的时候,表示是第一个数组元素,所以要和最后一个数组元素互换,所以是an-1-i an-1-i = t; /将前面的数组元素放到后面去。直接将上面的代码抄下来就可以了 *第三题目*分析:int fun(STU *std, STU *k, int year) int i,n=0;N; i+) if( stdi.year = =year) 由于要比较的是相同的年数,所以要将每次循环的结构体中的year都要比较一次,

2、当我们指定的参数year和我们结构体中某个元素的year相同的时候,就执行下面的“把这个结构体数据保存到数组k中” kn+= stdi; 要注意,n+,之后那么下次新得到的数据就放到了后面,例如,第一个放到了k0,由于进行了n+,那么下次符合条件的新的结构体就放到了k1中了。这里注意:进行的是结构体的整体复制,所以是填写stdi这个结构体的名称。 return (n); 根据题目的要求,是要求返回符合条件的结构的数目,很多人会写成n1,这个地方应该是填写n。带入法则:假定有一个符合题目的要求,那么我们知道就执行一次kn+= stdi.由于k的初始值是0,所以这个地方是进行n+之后变成了1,返回

3、的就是n,现在为1。不是能n1得到的0。*第四题目*#define M 5#define N 20int fun(char (*ss)N, int *n) int i, k=0, len= N; for(i=0; M; i+) 题目要求:求字符串数组中长度最短的字符数串所在的行下标,所以这里循环的时候,一定是循环字符串的个数,也就是字符数组中表示存放字符个数的数组的行的个数(上课时强调的重点)。这个地方明显就是M,表示的是五行,作五次的循环判断,每次将字符串最短的给保存下来。 len=strlen(ssi); if(i=0) *n=len; /第一个字符串判断时要,初始化len, if(len

4、 num. 或 (*tt).num. int i; printf(n%d %s %c %d-%d-%d, tt.num, tt.name, tt.sex, tt.birthday.year, tt.birthday.month, tt.birthday.day);3;%5.1f,tt.scorei); 根据观察我们可以发现该结构体成员中有个浮点型的score3的成员,这个地方是通过循环依次把这三个成绩数出来,所以填写的是tt.scorei,(上课时强调如何使用过)。nmain( ) STU std= 1,Zhanghua,M,1961,10,8,76.5,78.0,82.0 ;nA stude

5、nt data: show(std); 这里填写的是调用函数,这个地方是实参,我们呢可以看到上面定义了一个结构体变量,std,所以这个地方就是填写std。(too simply)*第六题目*void fun( SLIST *p) SLIST *t, *s; t=p-next; s=p; 两个指针,t和s,我们要注意,s是在t前面的一个指针, s t while(t-next != NULL) 当t没有到末尾的时候(我要大家背了这句话)。 s=t; t=t- 这里也是我上课要大家背的,表示将指针往后挪一个位置。填写的是next。 %d ,t-data); 将这个数据输出,我们知道数据域是data

6、,所以这个地方要填写的是tdata. s-next=NULL; free(t); 由于这个地方要求把最后一个节点给释放掉,所以这个地方是把t给释放掉。画个图,题目就很简单了。*第七题目*void fun(char *s) int i, j, n; si!=0; if(si0 & si j-) sj+1= sj; 把前一位的sj往后挪一位,因为增加了一位字符*,所以要往后面挪一个位置。使得空出的位置我们写上字符*。 sj+1=* i=i+1; 跳过*这个字符的位置。*第八题目*#include #define N 4void fun(int (*)tN , int n) 从主函数可知道,传递的实

7、参是一个二维的数组名,所以我们应该在接收的时候用树上规定的三种格式即可,这个地方一定要注意N是在前面已经预定义为了4,所以要用到我们这里的方法。其它写法见树上说的。要记住二维数组名是一个行指针,不是列指针! int i,s;i i+) 这里要知道,N是表示的一共有几行,所以这个地方实际上就是要循环N行来进行处理。每一行都要处理对角的元素。 s=tii; 保存对角的元素 tii=tin-i-1; tin-1-i=s; 这个地方的填空,很简单,上课的时候我要求大家一定把两个数字进行互换给背下来,在这地方根据这个方法就可以知道填写的一定是s。(技巧解题目) *第九题目*#define N 9int

8、fun(int a, int n) 函数的行参是一个数组,可以看成一个指针 int i,j; j = 0;n; if (ai%2= 0) 判断一个数字是否为偶数,上课我们强调了是考试的重点,这里要求判断数组每个数,所以根据循环我们知道填写的应该为ai%2。请大家记住:判断一个数字是偶数,是ai%2 0。对2整除等于0的数字一定是偶数。 aj = ai; j+; 要求当这个数组是偶数的时候,我们就要保存好,所以在这个地方,我们要填上的是aj.注意到这个地方,我们的j是从0开始的,每次填写一个后,我们的j一次,这样是便于存放下一个偶数。 return j; 这里返回的是偶数的个数,所以我们填写的是

9、j,这个地方不是j+1或者是j1,我们可以通过代入法进行验算。由于上面每次存放一个偶数都要进行一次j+,所以,即使后面没有偶数了,我们也进行了j+,所以就直接就是填写j。(上机常考题目)如果是只有一个偶数,那么我们就知道也要执行一次j+,j从0变成了1,正好是返回一个。*第十题目*int fun(int a, int n) if (ai%2= 1) 这个题目非常的简单,和前面一个题目很类似。首先判断一个数字是否为奇数,那么很快我们就知道判断一个数字是否为奇数是,ai%2=1就是奇数了。 aj = ai; 如果是奇数就要把他给存放起来,这个地方j是初始化为0,每次存放一个奇数,我们就要将j进行一

10、次自加,便于存放下一个奇数。 j就是我们要返回的奇数的个数,由于,每次存放一个奇数后,我们都会进行j+,所以在返回的时候就不用返回j1了。*第十一题目*void fun(char *s, int *t) int i, n; n=0; si !=NULL; i+) 循环的时候,第二个是判断的条件,这个地方要判断字符是否已经到字符串的末尾了,所以我们可以看到这个地方我们函数的第一个行参是 char *s,这个地方指针可以当作数组使用,所以这个地方可以填写的是si活着是*(s+i)si#define N 8 char num10; int year,month,day ;STU fun(STU *s

11、td, char *num) 返回的类型应该是结构体类型,这个地方是常考的题型,类似于返回int类型等,只是把结构体类型看成一个类型! STU a=,9999,99,99; if( strcmp(stdi.num,num)=0 ) 要判断每个结构体元素的的num是否与我们指定的num相同。要注意我们传递过来的是结构体的数字,所以每个元素都要判断。 return (stdi); 由于该函数要返回的是一个结构体变量,所以要把这个符合要求的结构体元素返回,所以这个地方要返回的是结构体名称。 return a;*第十三题目*(文件的考察)void WriteText(FILE *fw) 这个地方是填写

12、的是文件指针,这个填空题目很单一话,只要求大家认真的记住这个文件指针。 char str81;nEnter string with -1 to end : gets(str); while(strcmp(str,-1)!=0) fputs(str,fw); fputs(,fw); 把输入的内容写道了文件当中。这个也是要求大家记住的。看网上课堂详细讲了这几个文件的函数处理的方法。void ReadText(FILE *fr)nRead file and output to screen : fgets(str,81,fr); while( !feof(fr) ) %s,str); 这个是文件的读

13、出处理,这个也是要求大家自己背的,在网上课堂中,文件中动的内容已经讲的很清楚了。*第十四题目*void fun(int (*t)N, int m) int i, j; i+ ) 这空很简单,我们上课的时候强调过一定要记住for循环的三个部分,这个地方,就是要记住将i进行自加,那么由于是每行都处理,所以这个地方是自加1。 for(j=N-1-m;=0; j- -) 这个循环是表示右移多少个位置。 tij+m =tij; 可以通过代入法进行解题目,实际的意义是把前面的元素放到后面来进行保存,前面的元素后面会将其覆盖为0,后面的元素则是被前面的元素覆盖了。 for(j=0;m; j+) 移动了m项,

14、要将这些全部变成零。 tij=0;*第十五题目*math.hdouble fun(double x, int n) double f, t; int i; f = 1; 初始化是我们考试的时候的重点,我们这个题目可以看到第一个地方是初始化为1的。由于要相加的第一项是1,所以填写的是1。如果要加的第一项目是2则要填写2。注意看清楚题目。 t = -1; for (i=1; t *= (1)*x/i; 每次要循环加上一个数值,这个地方要注意,题目是要求一正一负,所以在这个地方是填写1,那么累积相加的时候,一项为正,一项为负。 f += t; 每次循环的时候,要把当前项目给加进来,这个地方的t表示的

15、是当前项。用f来保存每次累加的和。 return f;*第十六题目*void fun(int a, int n) int i, t, p; p = (n%2=0)?n/2:n/2+1; 这个是条件语句。首先大家一定要弄懂这个语 是真前假后。为真是取表达式2的数值,假取表达式3的数值。这个地方按题目要求是,当为偶数的时候是为n/2,当为奇数的时候要变成n/21,这种题目,大家往往应该用代入法进行测试即可得到答案。 ai = ap+i; 要进行互换的两个元素,ai表示是从第一个元素开始处理 ap+i表示从中间的元素开始处理。将这两个数值进行交换。 ai = t; 上课的时候,强调了大家一定要记住互换的两个数的方法。这个地方请大家记住。*第十七题目*void fun(PERSON *std) 由于传递时候是结构体的数组名称,所以这个地方要接收的时候,就一定要用结构体指针,从后面的代码可以观察到结构体的指针是用stdi来进行处理的,虽然出现的形式是数组,但是可以看成是指针。这里填写的时候就要用到*std指针。 PERSON temp; 进行交换的数值,使用的结构体变量,所以这个地方要用结构体变量名。 if(std0.numstd1.num) temp=std0; std0=std1; std1=temp;std2.num) std0=std2

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2