- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机二级c语言等级考试历年上机真题及基础知识
第一套
1.填空题
请补充main函数,该函数的功能是:从键盘输入一个字符串并保存在字符str1中,把字符串str1中下标为偶数的字符保存在字符串str2中并输出。例如,当str1=“cdefghij”,则str2=“cegi”。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。
试题程序:
#includestdio.h
#includeconio.h
#define LEN 80
main()
{
char str1[LEN],str2[LEN];
char *p1=str1,*p2=str2;
int i=0,j=0;
clrscr();
printf(Enter the string:\n);
scanf(【1】);
printf(***the origial string***\n);
while(*(p1+j))
{
printf(【2】,*(p1+j));
j++;
}
for(i=0;ij;i+=2)
*p2++=*(str1+i);
*p2=\0;
printf(\nThe new string is:%s\n,【3】);
}
答案及评析:
【1】″%s″,str1 【2】%c 【3】str2
【解析】填空1:本题考查对标准输入函数scanf()的调用格式,当输入字符串时,格式控制字符串为″%s″,题目要求输入的字符串保存在str1中,所以地址表列应为字符串的首地址,即为str1。填空2:本题考查对标准输出函数printf()的调用格式,当输出为字符型变量时,格式控制字符串为″%c″。填空3:题目要求将str1中下标为偶数的字符保存在字符串str2中并输出,所以printf()函数的输出表列是str2
2. 改错题
在主函数中从键盘输入若干个数放入数组中,用0结束输入并放在最后一个元素中。下列给定程序中,函数fun()的功能是计算数组元素中值为负数的平均值(不包括0)。
例如:数组中元素的值依次为43,-47,-21,53,-8,12,0,则程序的运行结果为-25.333333。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include conio.h
#include stdio.h
double fun(int x[ ])
{
double sum=0.0;
int c=0, i=0;
/**********************found***********************/
while(x[i]==0)
{
if(x[i]0)
{
sum=sum+x[i];
c++;
}
i++;
}
/**********************found***********************/
sum=sum\c;
return sum;
}
main()
{
int x[1000];
int i=0;
clrscr();
printf(\nPlease enter some data(end with 0) :);
do
{
scanf(%d,x[i]);
}while(x[i++]!=0);
printf(%f\n,fun(x));
}
答案及评析:
(1)错误:while(x[i]==0)
正确:while(x[i]!=0)
(2)错误:sum=sum\c;
正确:sum=sum/c;
【解析】错误1:此处考查的是对循环条件的理解,当被判断的数组元素为0时,说明这是数组的最后一个元素,此时要跳出循环。
错误2:C语言中的除法运算符是/,而不是\。
3. 编程题
请编写一个函数int fun(int *s,int t,int *k),用来求出数组的最小元素在数组中的下标并存放在k所指的存储单元中。
例如,输入如下整数:
234 345 753 134 436 458 100 321 135 760
则输出结果为6,100。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。
试题程序:
#include conio.h
#include stdio.h
int fun(int *s,int t,int *k)
{
}
main()
{
int a[10]={234,345,753,134,436,4
您可能关注的文档
- 角的比较与运算jiami8.ppt
- 角的比较好、.ppt
- 规划建筑设计方案审批申请表.doc
- 角的比较与运算2.ppt
- 规划年会汇报.ppt
- 角的比较青岛版.ppt
- 解一元一次方程-----合并同类项.doc
- 解一元一次方程3去括号.ppt
- 解一元二次方程因式分解法__习题精选一.doc
- 解不等式与不等式组.doc
- 1 观潮 第一课时 课件(共19张PPT).pptx
- 第二单元 单元研习任务 重点文言虚词汇总课件(共43张PPT)统编版高中语文选择性必修上册.pptx
- 1.1神经调节(第2课时)教学课件(共38张PPT)-苏教版(2019)选择性必修一.pptx
- 1.2 内环境的稳态(共37张PPT).pptx
- 第11课 古代日本 课件(33张PPT).pptx
- 1.1 课时1 物质的分类 课件 (共23张PPT)高一化学苏教版(2019)必修第一册.pptx
- 1 白鹭 课件(共21张PPT).pptx
- 综合管理部岗位职责及岗位划分.docx
- 1.2 离子反应 课件 (共71张ppt) 高中化学人教版(2019)必修 第一册.pptx
- 1《白鹭》课件(共36张PPT).pptx
文档评论(0)