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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

本文(【计算机类职业资格】二级C语言机试303及答案解析.doc)为本站会员(outsidejudge265)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

【计算机类职业资格】二级C语言机试303及答案解析.doc

1、二级 C 语言机试 303 及答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充 main 函数,该函数的功能是:先以只写方式打开文件“out99.dat”,再把字符串 str 中的字符保存到这个磁盘文件中。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。 试题程序: #include “stdio. h“ #include “conio.h“ #define N 80 main () FILE *fp; int i=0; char ch; ch

2、ar strN=“Im a student!“; clrscr(); if ( (fp=fopen (U 【1】 /U) ) =NULL) printf(“cannot open out99. dat/n“); exit(0); while (stri) ch=stri; U【2】 /U; putchar(ch); i+; U 【3】 /U; (分数:30.00)填空项 1:_二、B改错题/B(总题数:1,分数:30.00)2.下列给定程序中,函数 fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中 x 和 y 不相等,z 和 y

3、不等。例如,当 x 的值为 9,y 的值为 11,2 的值为 15 时,函数值为-3.50。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include stdio. h #include math. h /*found*/ #define FU(m, n) (m/n) float fun(float a, float b, float c) float value; value=FU(a+ b, a-b)+FU(c+ b, c-b); /*found*/ return(Value); main() floa

4、t x, y, z, sum; printf (“Input x y z: “); scanf(“%f%f%f“, printf(“x=%f, y=%f, z=%f/n “,x, y, z); if (x=yy=z) printf (“Data error! /n “); exit (0); sum=fun (x, y, z); printf(“The result is:%5. 2f/n “,sum); (分数:30.00)填空项 1:_三、B编程题/B(总题数:1,分数:40.00)3.请编写一个函数 unsigned fun (unsigned w),w 是一个大于 10 的无符号整数,

5、若 w 是 n(n2)位的整数,则函数求出 w 的后 n-1 位的数作为函数值返回。 例如:w 值为 5923,则函数返回 923;若 w 值为923,则函数返回 23。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序: #includeconio. h #includestdio. h unsigned fun(unsigned w) main() unsigned x; clrscr (); printf(“Enter a unsigned integer number: “); scanf (“%

6、u“, printf(“The original data is:%u/n“,x); if (x10) printf (“Data error! “); else printf (“The result :%u/n“, fun(x) ); (分数:40.00)_二级 C 语言机试 303 答案解析(总分:100.00,做题时间:90 分钟)一、B填空题/B(总题数:1,分数:30.00)1.请补充 main 函数,该函数的功能是:先以只写方式打开文件“out99.dat”,再把字符串 str 中的字符保存到这个磁盘文件中。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任

7、何内容,仅在 main 函数的横线上填入所编写的若干表达式或语句。 试题程序: #include “stdio. h“ #include “conio.h“ #define N 80 main () FILE *fp; int i=0; char ch; char strN=“Im a student!“; clrscr(); if ( (fp=fopen (U 【1】 /U) ) =NULL) printf(“cannot open out99. dat/n“); exit(0); while (stri) ch=stri; U【2】 /U; putchar(ch); i+; U 【3】 /

8、U; (分数:30.00)填空项 1:_ (正确答案:1“out99.dat”,“w” 2 fpnte (ch,fp) 3 fclose (fp))解析:解析 填空 1:本题考查对文件操作的掌握。打开一个文件的调用方式是,fp=fopen (文件名,使用文件方式);,题目要求以只写的方式打开文件“out 99.dat”,所以文件使用方式为“w”。填空2;fputc ()函数用于将一个字符写到磁盘文件上去,调用形式为:fputc (要输出的字符,文件指针)。填空 3:对一个文件进行操作后,应该关闭它,以防它再被误用。调用形式为:fclose (文件指针);。二、B改错题/B(总题数:1,分数:3

9、0.00)2.下列给定程序中,函数 fun()的功能是;计算函数 F(x, y ,z)=(x+ y)/(x-y)+(z+ y)/(z-y)的值。其中 x 和 y 不相等,z 和 y 不等。例如,当 x 的值为 9,y 的值为 11,2 的值为 15 时,函数值为-3.50。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。 试题程序: #include stdio. h #include math. h /*found*/ #define FU(m, n) (m/n) float fun(float a, float b, fl

10、oat c) float value; value=FU(a+ b, a-b)+FU(c+ b, c-b); /*found*/ return(Value); main() float x, y, z, sum; printf (“Input x y z: “); scanf(“%f%f%f“, printf(“x=%f, y=%f, z=%f/n “,x, y, z); if (x=yy=z) printf (“Data error! /n “); exit (0); sum=fun (x, y, z); printf(“The result is:%5. 2f/n “,sum); (分数:

11、30.00)填空项 1:_ (正确答案:(1)错误;#define FU(m, n) (m/n) 正确:#define FU(m,n) (m)/(n))解析:(2)错误:return (Value); 正确:return (value); 解析 如果从数学思想来说,这是一道简单的小学数学题,当然,用 C 语言的别的办法实现的话,也用不了三两句的程序,但是,这道题的考查点在 C 语言的宏定义上(这样的问题比较隐蔽),它的格式为#define 标识符 字符串,中间要用空格分开,在该题中,标识符为 FU (m, n),而字符串则是(m/n),由题干信息易知,应该是# define FU(m,n) (

12、m)/(n)。三、B编程题/B(总题数:1,分数:40.00)3.请编写一个函数 unsigned fun (unsigned w),w 是一个大于 10 的无符号整数,若 w 是 n(n2)位的整数,则函数求出 w 的后 n-1 位的数作为函数值返回。 例如:w 值为 5923,则函数返回 923;若 w 值为923,则函数返回 23。 注意:部分源程序给出如下。 请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写的若干语句。 试题程序: #includeconio. h #includestdio. h unsigned fun(unsigned w)

13、 main() unsigned x; clrscr (); printf(“Enter a unsigned integer number: “); scanf (“%u“, printf(“The original data is:%u/n“,x); if (x10) printf (“Data error! “); else printf (“The result :%u/n“, fun(x) ); (分数:40.00)_正确答案:()解析:unsigned fun (unsigned w) if(w=10000) return w%10000; /*求出 n 位整数 w 的后 n-1 位的数*/ if(w=1000) return w%1000; if(w=100) return w%100; if(w=10) return w%10; 解析 我们首先应该明白无符号整数的定义形式,若它大于 10000(5 位)时,将 10000 对它求余则结果为后 4 位;当它大于 1000(4 位)时,将 1000 对它求余则结果为后 3 位,花此类推。特别注意这里所有 if()的顺序不能颠倒。

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1