c语言中ctod语句的作用,C语言上级资料答案(解析).doc

C语言上级资料答案(解析).doc

第一套

1、本题的考核点是结构体类型变量的定义和引用以及文件函数的应用。

fopen函数的作用是打开一个文件,在fun函数中为输入打开一个二进制文件,所以第一个空填:"rb"或与此语句功能相同的语句;利用嵌套循环语句按学号从小到大排序,所以第二个空填:>s[j].sno或与此语句功能相同的语句;再用二进制方式把排序后的数据输出到指定文件中,fwrite函数的作用是往文件的当前位置写入指定字节的数据块,所以第三个空填:fwrite。

2、 首先,我们必须先读懂题中程序的大致意思,这是发现并改正程序中错误的重要前提。

程序中的重要思想如下:

1、函数fun()的功能是根据一个整型形参计算题目中的数学公式;

2、由于公式中运用了除法,所以公式的最终值必须使用double型,以保持最终值的精确性。

题中的第一个错误出现在函数fun()中的语句"for(i = 2 ; i < m ; i++)"中,请注意这个循环的条件部分,仔细看看,就可以知道,如果这么写,公式中的最后一项将被丢掉。正确语句如下:" for(i = 2 ; i <= m ; i++)";

题中的第二个错误是在for循环的循环体中,即计算公式的那条语句"y -= 1 / (i * i) ;",前面分析过,公式的最终值为一个double型,题中除数位置使用了整数,这样的话,会造成不匹配错误,所以,正确语句如下:"y -= 1.0 / (i * i) ;"。

本评析仅作参考。

3、 本题的考核点是循环语句的应用。

解题思路:在Fibonacci数列中,每一项的值都是前两项之和。设置一个中间变量m,用来置放推出的最小数,所以可以用递推法求出大于s的最小的一个数。

本评析仅供参考。

int fun( int s)

{

int x1=0,x2=1,m=0;

/*假如当前项的值小于指定值s,但是下一项的值又大于指定值s,即下一项值即为大于s的最小的一个数*/

while (s>m)

{

m=x1+x2;

x1=x2;

x2=m;

}

return m;

}

第二套

1、本题的考核点是C语言中的基本算法和简单语句的使用。

fun函数是用来对整数进行判断是否符合题目中规定的条件。首先对变量赋初值,n返回的是符合条件的整数的个数,因此第一个空填:0;while语句用于求出100至x(x≤999)之间的符合条件的整数个数,故第二个空填:x;由while循环语句可知第三个空是设置循环变量的步长,根据题义可知循环步长是1,因此第三个空填:t++或与此语句相同功能的语句。

2、本题的考核点是C语言的一些基本常识和循环语句的使用。

从本题的要求看,如果某一个元音字母没有在字符串中出现时,程序应返回0。主函数中num[5]代表一块C编译器随机分配的内存地址,在没有对这块内存地址初始化之前,这块内存中存放着随机的数据,也有可能是1,2...等数字,因此在fun函数开始应对num数组进行初始化。fun函数的第一个for循环中,k才是循环变量,而i只是一个常量,因此"num[i]=0;"应改为"num[k]=0;"或相同作用的语句。

另外,s代表的只是一个字符串的指针,把它直接当一个数据看待是没有意义的,应该把"switch( s )"语句改为"switch( *s )"语句。

本评析仅供参考。

3、 本题的考核点是数组、循环语句。

解题思路:使用循环语句将数组下标为奇数的元素与2取余,如果余数不为零则将其值存入另外一个数组中。

本评析仅供参考。

void fun(char *s, char t[])

{

int i,slenth,n=0;

slenth=strlen(s); /*统计字符串s中字符的个数*/

/*将字符串s中所有下标和ASCII值同时为奇数的字符复制到数组t中*/

for(i=1;i

if(s[i]%2!=0)

t[n++]=s[i];

t[n]='\0';/*在数组t最后添加字符串结束符*/

}

第三套

1. 本题的考核点是C语言中的基本算法和简单语句的使用。

在fun函数中,对整数进行判断是否符合题目中规定的条件。while语句设置循环结束的条件,由题面可知第一个空填:999;变量s1,s2,s3分别是整数的个位、十位以及百位上的数值,所以第二个空填:t/10;if语句进行条件判断,判断s1+s2+s3的值是否与输入的值相等,所以第三个空填:x。

2. 本题着重考察考生对C语言中指针以及一些简

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值