c上机模拟详细参考答案_whc0909(4)
【解题思路】
第一空:switch(___1___)语句下面的case语句是判断switch中的表达式中的数字是否为5、6、7,因此这里的表达式应该是取长整数的一位,根据前面的分析,这里填"test%10";
第二空和第三空:因为一位数字只可能是5、6、7其中的一种情况,因此为了防止已知条件中的三个数之外的多余输出,这里应配合break语句,跳出选择,因此第二、三空应填"break"。
【主要考点】switch分支语句。
2、程序改错题
【答案及难度指数】★★
(1)if((str[i]>='a') && (str[i]<='z'))
(2)str[i]-=32;
【一起来审题】
本题中函数的功能是将字符串中的小写字母改为对应的大写字母。首先判断字母是否为小写字母,如果是小写字母则进行转换。
【解题思路】
(1)第一个错误标识下的if判断语句中的逻辑有误,应该是与(&&)的关系,不是或(||)的关系,所以if判断语句改为"if((str[i]>='a') && (str[i]<='z'))"。
(2)第二个标识下小写字母转换为大写字母的转换算法有误,小写转换为大写应该是减去32,而不是加上32,所以"str[i]+=32;"改为"str[i]-=32;"。
【主要考点】大小写字符之间的转换。
3、程序设计题
【答案及难度指数】★★★
int i;
*min=b[0]; //设置最小值初值
*d=0; //设置最小值标志位初值
for(i=0;i<n;i++)
if(b[i]<*min) //在循环中,对每一个元素与最小值标志值进行比较
{
*min=b[i]; //对最小值进行赋值
*d=i; //对最小值标志位进行赋值
}
【一起来审题】
该程序功能是求一维整型数组元素中最小的值和它所在的下标。其中,求最小元素的方法:用最小值变量min标记第一个待找数据,逐个把所有待找数据和min进行比较,并用min标记其当前最小值及其所在位置,从而找出最小值。
【解题思路】
进入fun函数,根据前面的分析:
(1)*min指针变量首先指向数组b的第一个数据,同时将标志位*d初始值赋为0。
(2)然后利用for循环对每一个当前数组数据与min标记的数据进行比较。
(3)循环中将求得的最小数据b[i]赋值给*min,并将该数据项数组标志位赋给标志位*d。
【主要考点】数组操作;指针操作。
计算机二级上机题库很有用 题目就是里面出的
1、程序填空题
【答案及难度指数】★★
(1)&n[i] (2)MAX<n[i]? (3)n[i]!=-1
【一起来审题】
(1)该程序功能是使用条件表达式找出最大的整数。从已给部分源程序的main主函数开始入手,主函数执行"int i=-1; int
MAX=-1;"初始化参数定义。
(2)进入do-while循环语句从键盘输入整数,并且通过条件表达式找出最大值。
【解题思路】
第一空:scanf("%d",___1___);是从键盘输入,取值。根据上一句"printf("n[%d]=",i);"输出语句,可知该空应填&n[i]。
第二空:MAX=___2___ n[i] : MAX;是使用条件表达式判断当前输入的n[i]和MAX值的大小,根据printf("The MAX=%d\n",MAX);循环外的输出语句,可知MAX用来存储最大值,因此根据条件表达式语法,第二空应填MAX<n[i]?。
第三空:while(___3___);是循环执行的条件,根据题意当输入-1时结束,因此,循环执行的条件是,当前输入不是-1,第三空应填n[i]!=-1。
【主要考点】while循环;选择语句。
2、程序改错题
【答案及难度指数】★
(1)n=*s-'0'; (2)n=n*8+*s-'0';
【一起来审题】
(1)该题中函数功能是实现八进制到十进制的转换。其中,八进制与十进制之间的转换关系是:八进制就是逢8进1。八进制数采用 0~7这8个数来表达一个数。八进制数第1位的权值为8的0次方,第2位权值为8的1次方,第3位权值为8的2次方,等等。
(2)从已给定源程序的main主函数开始入手,首先通过if语句判断串是否过长,是否符合题干要求;然后循环判断串中的每一位是否都在0~7之间,是否符合八进制要求,最后调用fun(str)实现八进制到十进制的转换。
【解题思路】
(1)第一个标识下面:语句"n=*s-'o';"中的'o'不是数字零,而是字母'o',根据前面的分析因此改为:"n=*s-'0';"。
(2)第二个标识下面:语句"n=n*7+*p-'o'",首先进行同(1)相同的修改,然后根据题干要求,要进行八进制到十进制的转换,它的权值为8,而不是7,因此是n*8而不是n*7,所以此句改为:"n=n*8+*s-'0';"。
【主要考点】字符;数制。
3、程序设计题【答案及难度指数】★★★
int i,j,k=0;
double r=0.0;
for(j=0;j<N;j++) //统计第一行进行统计
{
r+=b[0][j];
k++;
}
for(j=0;j<N;j++) //对第n-1行进行统计
{
r+=b[N-1][j];
k++;
}
for(i=1;i<=N-2;i++) //对第一列进行统计
{
r+=b[i][0];
k++;
}
for(i=1;i<=N-2;i++) //对第n-1列进行统计
{
r+=b[i][N-1];
k++;
}
return r/=k; //求平均数
【一起来审题】
该程序功能是求出数组周边元素的平均值。其中周边元素是指第一行的元素的行下标为0,或者第n行的元素行下标为n-1,或者第一列元素的元素列下标为0,或者第n列的元素的列下标为n-1。
计算机二级上机题库很有用 题目就是里面出的
【解题思路】
进入fun函数,根据前面的分析,采用循环分别对符合周边元素条件的元素进行统计求平均值。
【主要考点】二维数组;for循环语句。
第12套上机考试答案解析:
1、程序填空题
【答案及难度指数】★★
(1)str[j]<='z' (2)32 (3)str
【一起来审题】
(1)该程序功能是将小写字母都改为对应的大写字母。其中,将小写字母转换位对应的大写字母的方法是,小写字母对应的ASCII码值减去32就是其大写字母的ASCII码值。
(2)从已给部分源程序的main主函数开始入手,主函数printf语句中的"fun(str);"实现题干要求。
(3)进入fun函数,先判断输入的字母是否是小写字母,若是小写字母,将其转化为对应的大写字母。
【解题思路】
第一空:根据前面的分析知道,首先判断是否是小写字母,小写字母范围是a~z,if表达式中的前半部分为"(str[j]>='a')",所以第一空填"str[j]<='z'"。
第二空:根据转换方法的分析,这里是对小写字母的ASCII码减32的操作,所以第二空填"32"。
第三空:函数fun定义时,返回值为char*,这里是对操作后的字符串的返回,所以这里填"str"。
【主要考点】指针;数组;函数返回值。
2、程序改错题
【答案及难度指数】★
(1)if((n%11==0) || (n%19==0)) (2)}
【一起来审题】
该题中函数功能是求能被11或19整除的自然数之和。从已给定源程序的main主函数开始入手,"printf("%d\n",fun(300));"语句中的fun …… 此处隐藏:2595字,全部文档内容请下载后查看。喜欢就下载吧 ……
相关推荐:
- [小学教育]四年级综合实践活动课《衣物的洗涤》教
- [小学教育]2014半年工作总结怎么写
- [小学教育]20世纪外国文学专题综合试题及答案
- [小学教育]TS_1循环使用催化丙烯环氧化反应研究
- [小学教育]最实用的考勤签到表(上下班签到表)
- [小学教育]气候与生态建筑——以新疆民居为例
- [小学教育]二人以上股东有限责任公司章程参考样本
- [小学教育]2014届第一轮复习资料4.1,3美好生活的
- [小学教育]土方开挖、降水方案
- [小学教育]手绘儿童绘本《秋天的图画》(蜡笔)
- [小学教育]2002级硕士研究生卫生统计学考试试题
- [小学教育]环保装备重点发展目录
- [小学教育]金蝶K3合并报表培训教材
- [小学教育]岩浆岩试题及参考答案
- [小学教育]知之深爱之切学习心得
- [小学教育]第十二章 蛋白质的生物合成
- [小学教育]Chapter 2-3 Solid structure and basi
- [小学教育]市政道路雨季专项施工方案
- [小学教育]中国海洋大学2012-2013学年第二学期天
- [小学教育]教育心理学第3章-学习迁移
- 浅谈深化国企改革中加强党管企业
- 2006年中国病理生理学会学术活动安排
- 设计投标工作大纲
- 基于ARP的网络攻击与防御
- 2016届湖北省七市(州)教科研协作体高三
- Google_学术搜索及其检索技巧
- 2019-2020学年七年级地理下册6.3美洲教
- 城市道路可研报告
- 【名师指津】2012高考英语 写作基础技
- 6级知识点培训北京师范大学《幼儿智趣
- 注册会计师会计知识点:金融资产
- 新安装 500 kV 变压器介损分析与判断
- PS2模拟器PCSX2设置及使用教程.
- 医院药事管理与药剂科管理组织机构
- {PPT背景素材}丹巴的醉人美景,免费,一
- NAS网络存储应用解决方案
- 青海省西宁市六年级上学期数学期末考试
- 测量管理体系手册依据ISO10012:2003
- 洞子小学培养骨干教师工作计划
- 浅谈《牛津初中英语》的教材特点及教学




