问题 问答题

下列程序的功能是;把s字符串中所有的字符左移一个位置,串中的第一个字符移到最后。请编制函数chg(char*s)实现程序要求,最后调用函数readwriteDat()把结果输出到out63.dat文件中。
例如;s字符串中原有内容为Mn,123xyZ,则调用该函数后,结果为n,123xyZM。
注意:部分源程序已给出。
请勿改动主函数main()和输入输出函数readwriteDAT()的内容。
试题程序:
#include<conio.h>
#include<stdio.h>
#define N 81
void readwriteDAT(); void chg(char *s)
main ( )

char a [N];
clrscr ( );
printf("Enter a string :");
gets (a);
printf("The original string is :");
puts (a);
chg (a);
printf("The string after modified :");
puts (a);
readwriteDAT ( )
void readwriteDAT ()

int i;
char a [N];
unsigned char *p;
FILE *rf,*wf;
rf=fopen("in63.dat","r");
wf=fopen("out63.dat","w");
for(i=0;i<10;i++)

fgets(a,80,rf);
p=strchr(a,’\n’);
if(p) *p=0;
chg(a);
fprintf(wf,"%s\n",a);

fclose(rf);
fclose(wf);

答案

参考答案:void chg(char*s)
{
int i,strl;
char ch;
strl=strlen(s); /*求字符串的长度*/
ch=*s; /*将第一个字符暂赋给ch*/
for(i=0;i<strt-1/i++) /*将字符依次左移*/
*(s+i)=*(S+i+1);
*(s+strl-1)=ch; /*将第一个字符移到最后*/
}

解析:本题考查的知识点如下:
(1)数组中元素的移动。
(2)指针的使用。
我们可以使用一个循环实现数组中所有字符元素的左移。这里要注意的是第1个字符要移至最后1个字符处,所以首先要将第1个字符保存。在移动时,要从左到右依次移动,否则,左侧的字符会在移动前被其右侧的字符覆盖。在这里使用了指针,初始时,指针指向数组的第1个元素,随着地址的增加指针指向数组后面的元素。例如,若地址加2,则指向数组的第3个元素。

问答题


打开考生文件夹下的Word文档WORD1.doc,其内容如下:
[WORD1.doc文档开始]
Information技术发展的主旋律
由此,还可以实现远程教育和远程医疗服务。
(1) 高速度。主要是指建立高速度的Information交换网络。目前,全球性的Information基础设施建设,均采用卫星通信技术来提高其速度;从计算机网络人手,逐步将计算机、电信和有线电视“三网合一”,实现由数字化图书馆获得所需文献、资料、专利、期刊等,实现图书情报资源共享。
(2) 大容量。主要是指建设大型数据库系统和Information管理系统。目前,数据库系统的访问速度、存储容量都有了很大的提高。同时,Information形式与通信接口的多样化,为多媒体Information系统的建立提供了可能,而Internet和Intranet技术的使用,使Information系统面向全球范围的访问能够成为现实,“地球村”也就不再是一个神话。
(3) 高效率。随着近年来计算机技术取得长足的发展,一大批具有高速度、可靠性、强处理能力的计算机系统应运而生,这标志着计算机Information处理技术进入了一个崭新的高效率时代。此外,随着计算机字长的不断扩大,CPU功能的不断多样化,使得现代的计算机系统具有了更加强大的处理能力。而广泛采用的RSIC技术0.8μm的微电子技术,使得现代的计算机系统具有了更高的可靠性。
[WORD1.doc文档结束]
按要求对文档进行编辑、排版和保存。

将正文各段的行间距设置为1.5倍。

单项选择题