32.阅读程序,写出运行结果(每空5分,共25分) (1) 下列程序的运行结果是___①____ #include
void f(char *from,char *to)
{ while ((*to++=*from++)!='\\0’); } int main( )
{ char s1 [80]=\; f(s2,s1);
printf(\printf(\return 0;}
(2)下列程序的运行结果是 ② #include
{ static int y=0; x=0; printf(\}
int main( ) { int i;
for(i=0;i<2;i++) f(i)
return 0;}
(3)下列程序的运行结果是___③___ #include
{ s=s* 10+n; n=n/10;} return s; int main( )
{ printf(\return 0;}
(3)下列程序的运行结果是___④___ #include
{ int i,x=0,t=1;
char s[10]=\
for(i=strlen(s)-1;i>=0;i--,t<<=1) if(s[i]!='0')
x+=t;
printf(\return 0;} (5) 下列程序的运行结果是 ⑤ #include
计算机应用类专业综合知识试题第6页(共16页)
{ char max, *q; int i=0; max=p[i];
while(p[i]!='\\0') { if(max
{ max=p[i];q=p+i;} i++; }
while(q>p)
{ *q=*(q-1 ); q--; } p[0]=max; }
int main( )
{ char str[80] = \f(str); puts(str); printf(\return 0; }
33.程序填空。按照题目要求,将正确内容填入答题卡相应位置,使程序完整。(每空5分,共25分)
学生的记录由学号和成绩组成,N名学生的数据己放入主函数中的结构体数组s中。 函数creat()的功能是把结构体数组中的数据写入到二进制文件record.dat中。函数f() 的功能是:把指定分数范围内的学生数据放在指针b所指的结构体中,分数范围内的学生人数由函数值返问。例如,输入的分数是60、69,则应当把分数在60?69的学生数据输出,包含60分和69分的学生数据。
#include
int creat(SREC * std) { FILE * fp; int i; if(( ② )=NULL) return 0;
printf(\for(i=0;i } /*creat()函数结束*/ int f(SREC *a,SREC *b,int l,int h); int main( ) { SREC s[N]={{\,85},{\76}, {\,69},{\,{\,96}, 计算机应用类专业综合知识试题第7页(共16页) {\,72},{\,56},{\,87}, {\,91},{\,45}}; SREC h[N]; /*h用来存放满足分数条件范围内的学生数据*/ int i,n,low,heigh,t; /* n用来存放满足分数条件范围内的学生人数*/ int result; /* low、heigh分别用來存放分数范围的下界与上界*/ result=creat(s); /* result表示文件写入操作是否成功*/ if(result) { printf(\printf(\if(heigh { t=heigh;heigh=low;low=t; } n=___④_________ if(n==0) printf(\—%d:\\n\else { printf(\—%d:\\n\for(i=0;i printf(\printf(\ } } else printf(\n”); return 0; }/*main( )函数结束*/ int f(SREC *a,SREC *b,int l,int h) /* b用来存放满足分数条件范围内的学生数据*/ { int i,j=0,n; /* l、h分别用来存放分数范围的下界与上界*/ for(i=0;i { if(a[i].score>=l && a[i].score<=h) { ⑤_____; b[j].score=a[i].score; j++; } } return j; } 34. 阅渎程序,修改程序中的错误,不得增行或删行,也不得更改程序结构。请在答题卡中指出错误代码所在的行号,并给出该行修改后的程序代码。(每处5分,共25分) (1)下面程序的功能是打印如图7所示的图形。以下程序只允许修改两行。 氺 氺氺氺 氺氺氺氺氺 氺氺氺 氺 图7 计算机应用类专业综合知识试题第8页(共16页) L1 #include L3 { int i,j,k,b; L4 for(i=l;i<=5;i++) L5 { b=3-i; L6 for(j=b;j>0;j- -) L7 printf(\; L8 for(k=5-b;k>0;k- -) L9 printf(\; L10 printf(\L11 L12 return 0; L13 } (2) 下面程序中,creatlist()函数的功能是创建一个带有头结点的链表。ftm()函数的功能是:根据输入的字符,查找链表中的字符数据,如果找到了就输出满足条件的第一个结点位置,如果没有找到,就输出“not found!'以下程序只允许修改三行。 L1 #include L2 #define N 5 L3 struct list L4 { char data; L5 struct list *next; L6 } SLIST; L7 SLIST *creatlist(char *a); L8 void fun(SLIST *h, char c) /*c用来存放要查找的字符*/ L9 { SLIST *p; int n=1; int flag=0; /* flag表示是否找到满足条件的结点*/ L10 p=h->next; L11 while(p) L12 { if(p->data==c) L13 { flag=1; L14 continue; L15 } L16 else L17 { n++;p=p->next; } L18 } L19 if(flag) L20 printf(“find.,the node is %d node \\n\,n); L21 else L22 printf(\L23 }/*fun()函数结束 */ L24 int main() L25 { SLIST *head; char c;/*c表示要查找的字符,head表示链表的头部*/ L26 chara[N]={'1','2','3','4','5’}; L27 head=creatlist(a); L28 scanf(\%c\L29 fun(head,c); L30 return 0; L31 }/*main()函数结束 */ L32 SLIST *creatlist(char *a) 计算机应用类专业综合知识试题第9页(共16页) L33 { SLIST *h,*p,*q; int i; L34 h=p=(SLIST*)malloc(sizeof(SLIST?; L35 for(i=0;i 五、程序设计题(每空5分,共25分) 35. 一个数列的通项为:an=10n,n=0, 1, 2, 3……,构成了 1, 10,100, 1000,…,把它们连起来,就成了数串:110100100010000...。现从键盘输入一个正整数n(n<10000) 用来表示这个数串的第n位,函数judge()的功能是用来输出数串第n位的值(0或1 )。 #include \int judge(int n) { int i; int k=1; for(i=0; _____①_____ ;i ++_____②_____ ) _______③__________ return (___________④_________); } int main() { int n; printf(\scanf(\&n); printf(\⑤_________); return 0; } 六、选考题(考生可根据自己的专业方向,从三组题中任选一组,多选则只计前一组的成绩。每空5分,共40分) 第一组计算机网络技术方向 36.某公司办公室根据业务需求,准备通过IIS搭建FTP服务器,网络拓扑结构及相关设置如图8所示。 图8 计算机应用类专业综合知识试题第10页(共16页)
湖南省2016年对口高考计算机试题和参考答案(word 版) - 图文
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)
![](/skin/haowen/images/icon_star.png)