计算机二级C语言预测上机训练题_第1页
计算机二级C语言预测上机训练题_第2页
计算机二级C语言预测上机训练题_第3页
计算机二级C语言预测上机训练题_第4页
计算机二级C语言预测上机训练题_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

本文格式为Word版,下载可任意编辑——计算机二级C语言预测上机训练题计算机二级C语言预料上机精选训练题

以下是我为大家整理的2021年计算机二级考试C语言预料上机精选训练题,梦想对各位考生有所扶助!

一、程序填空题

请补充函数proc,其功能是:计算并输出给定10个数的方差。

例如,给定的10个数为12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为s=8.877500。

留神:片面源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数proc的横线上填人所编写的若干表达式或语句。

试题程序:

#include

#include

doubleprocdoublex[10]

inti;

doubleavg=0.0;

doublesum=0.0;

doubleabs=0.0:

doublesd;

fori=0;i10;i++

;

avg=sum/10;

fori=0;i10;i++

;

sd=;

returnsd;

voidmain

doubleS,str[10]=12.0,9.0,26.0,5.0,6.0,31.0,

9.0,3.0,8.0,18.0;

inti;

printf\nTheoriginaldatais:\n;

fori=0;i10;i++

printf%6.1f,str[i];

printf\n\n;

s=procstr:

printfs=%f\n\n,s;

二、程序改错题

以下给定程序中,函数proc的功能是:从字符串str中,删除全体大写字母F。

请修改程序中的错误,使它能得到正确结果。

留神:不要改动main函数,不得增行或删行,也不得更改程序的布局。

试题程序:

#include

voidprocchar*str

inti,j;

//****found****

fori=j=0;str[i]!=0;i++

ifstr[i]!=F

//****found****

str[j]=str[i];

str[j]=\0;

voidmain

charstr[80];

printf\nEnterastring:;

getsstr;

printfTheoriginalstrin9:;

putsstr;

procstr;

printfThestringafterdeleted:;

putsstr;

printf\n\n;

三、程序设计题

假定输入的字符串中只包含字母和*号。请编写函数proc,它的`功能是:将字符串中的前导*号全部删除,中间和后面的*号不删除。

例如,若字符串中的内容为****a*bc*def*g****,删除后,字符串中的内容那么应当是a*bc*def*g****。

留神:片面源程序给出如下。

请勿改动main函数和其他函数中的任何内容,仅在函数proc的花括号中填入所编写的若干语句。

试题程序:

#include

#include

woidprocchar*str

voidmain

charstr[81];

printfEnterastring:\n;

getsstr;

procstr:

printfThestringafterdeleted:\n;

putsstr;

上机考试试题答案与解析

一、程序填空题

sum+=x[i]abs+=x[i]-avg*x[i]

avgsqrtabs/10

由函数proc可知,变量SHill中存放n个数的和,因此,处填"sum+=x[i]';然后求其平方差,因此,处填"abs+=x[i]-avg*x[i]-avg';结果求10个数的方差,因此,处填"sqrtabs/10'。

二、程序改错题

1错误:fori=j=0;str[i]!=0;i++

正确:fori=j=0;str[i]!=\0;i++

2错误:str[j]=str[i];

正确:str[j++]=str[i];

根据题目中的要求,从字符串str中删除全体大写字母F,需要检查字符串str中的每一个字符,直到字符串终止,因此,"fori=j=0;str[i]!=0;i++'应改为"fori=j=0;str[i]!=\0;i++';将每一个不是F的字符放入原来的字符串中.形成新的字符串,因此,"str[j]=str[1];'应改为"str[j++]=str[i];'。

三、程序设计题

voidprocchar*str

char*p=str:

while*p==*p++;//通过P的移动来达

到使P指向第一个不是*号的字符

for;*p!=\0;p++,str++//把从第一个

不是*号的字符放到a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论