没有合适的资源?快使用搜索试试~ 我知道了~
2011年计算机二级考试C语言十套上机题
需积分: 7 1 下载量 111 浏览量
2012-01-06
20:11:15
上传
评论
收藏 208KB PDF 举报
温馨提示
全国计算机等级考试(National Computer Rank Examination,简称NCRE)
资源推荐
资源详情
资源评论
1.
1.
1.
1. 填空题
请补充函数 fun() , 该函数的功能是 : 把从主函数中输入的字符串 str2 接在字符串 str1 的
后面。
例如: str1= “ How do ” , str2= “ you do? ” ,结果输出: How do you do?
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的横线上填入所编写的
若干表达式或语句。
试题程序:
#include
#include
#define N 40
void fun(char *str1,char *str2)
{
int i=0;
char *p1=str1;
char *p2=str2;
while( 【 1 】 )
i++;
for( ; 【 2 】 ;i++)
*(p1+i)= 【 3 】 ;
*(p1+i)=' ';
}
main()
{
char str1[N],str2[N];
clrscr();
printf("*****Input the string str1 &
str2*****\n");
printf(" \nstr1:");
gets(str1);
printf(" \nstr2:");
gets(str2);
printf("**The string str1 & str2**\n");
puts(str1);
puts(str2);
fun(str1,str2);
printf("*****The new string *****\n");
puts(str1);
}
答案及评析 :
:
:
:
【 1 】 *(p1+i) 【 2 】 *p2 【 3 】 *p2++
【 解析 】 填空 1 : 变量 i 用来记录字符串 str1 的长度 , 当指针指到字符串 str1 结束标志符
‘ \0' 时, while 循环结束,变量 i 停止累加。 填空 2 :指针 p2 指向字符串 str2 ,通过 for 循环
将字符串 str2 接在 str1 后面 , 循环结束的条件是指针 p2 所指的字符是字符串结束标志符 ‘ \0'
。
填空 3 :指针 p2 最初指向字符串 str2 的首字符,通过自加 1 ,使指针 p2 依次向后移动,指 向
str2 的各个字符,实现将字符串 str2 接在 str1 后面的功能。
2.
2.
2.
2. 改错题
下列给定程序中,函数 fun() 的作用是:将字符串 tt 中的小写字母都改为对应的大写字
母,其他字符不变。例如,若输入 "edS , dAd" ,则输出 "EDS , DAD" 。
请改正程序中的错误,使它能得到正确结果。
注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
/**********************found***********************/
char fun(char tt[])
{
int i;
for(i=0;tt[i];i++)
{
/**********************found***********************/
if((tt[i]>='A')&&(tt[i]<= 'Z'))
tt[i]-=32;
}
return(tt);
}
main()
{
int i;
char tt[81];
clrscr();
printf("\nPlease enter a string: ");
gets(tt);
printf("\nThe result string is: \n%s",fun(tt));
}
答案及评析 :
:
:
:
(1) 错误: char fun(char tt[])
正确: char *fun(char tt[])
(2) 错误: if((tt[i]>='A')&&(tt[i]<= 'Z'))
正确: if((tt[i]>='a')&&(tt[i]<= 'z'))
【解析】错误 1 :函数的返回值是字符串的首地址,是指针类型,所以在函数名前要加
'*' 号。
错误 2 :题目要求将小写字母改为大写字母,所以 if 语句的判断条件是小写字母。
3.
3.
3.
3. 编程题
请编写函数 fun() ,该函数的功能是:移动一维数组中的内容,若数组中有 n 个整数,
要求把下标从 p 到 n-1(p ≤ n-1) 的数组元素平移到数组的前面。
例如,一维数组中的原始内容为 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 , 10 , 11 , 12 , 13 , 14
,
15 , p 的值为 6 。移动后,一维数组中的内容应为 7 , 8 , 9 , 10 , 10 , 11 , 12 , 13 , 14 , 15
,
1 , 2 , 3 , 4 , 5 , 6 。
注意:部分源程序给出如下。
请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入所编写
的若干语句。
试题程序:
#include
#define N 80
void fun(int *w, int p, int n)
{
}
main()
{
int a[N]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15};
int i, p, n=15;
printf("The original data:\n");
for(i=0;i< p>
printf("=",a[i]);
printf("\n\nEnter
p:
");
scanf("%d",&p);
fun(a,p,n);
printf("\nThe data after moving:\n");
for(i=0;i< p>
printf("=",a[i]);
printf("\n\n");
}
答案及评析 :
:
:
:
void fun(int *w, int p, int n)
{
int i,j,t;
for(i=p;i<=n-1;i++) /* 循环右移 n-p 次 */
{t=w[n-1];
for(j=n-2;j>=0;j--) /* 实现循环右移 */
w[j+1]=w[j];
w[0]=t;
剩余51页未读,继续阅读
资源评论
chunmin2011
- 粉丝: 5
- 资源: 6
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- Android的在线云音乐播放器项目源码+文档说明(高分项目)
- 一个Java语言实现的简单版数据库 .zip
- springboot之资源库基础.pdf
- 基于java+spring+springMVC的学生考勤管理系统任务书.docx
- 一个Go语言编写的简单聊天室(终端形式).zip
- 基于java+spring+springMVCl的学生就业管理系统开题报告.doc
- 一个C++实现的简易动态语言解释器,可定义变量和函数,有if和while两种控制流语句,词法分析和语法分析分别使用flex和bison实现,参考自《flex & bison》.zip
- 深入理解编程中的回调函数:原理、实现及应用场景
- yolov8l-cls.pt
- 操作系统中银行家算法详解与Python实现防止死锁
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功