2015年3月全国计算机二级C考试真题第3套.doc
(4页)
本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦!
19.90 积分
2015年3月全国二级C操作题第3套一、基本操作给定程序中,函数fun的作用是:不断从终端读入整数,由变量a统计大于0的个数,用变量c来统计小于0的个数,当输入0时结束输入,并通过形参pa和pb把统计的数据传回主函数进行输出。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构!#includevoid fun( int *px, int *py){/**********found**********/ int __(1)__ ; scanf( "%d", &k );/**********found**********/ while __(2)__ { if (k>0 ) a++; if(k<0 ) b++;/**********found**********/ __(3)__; } *px=a; *py=b;}main(){ int x, y; fun( &x, &y ); printf("x=%d y=%d\n", x,y );}二、简单应用给定程序modi1.c的主函数中,将a、b、c三个结点链成一个单向链表,并给各结点的数据域赋值,函数fun( )的作用是:累加链表结点数据域中的数据作为函数值返回。请改正函数fun中指定部位的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。#includetypedef struct list{ int data; struct list *next;} LIST;int fun(LIST *h){ LIST *p;/**********found**********/ int t; p=h;/**********found**********/ while( *p ) {/**********found**********/ t=t+p.data; p=(*p).next; } return t;}main(){ LIST a, b, c, *h; a.data=34; b.data=51; c.data=87; c.next='\0'; h=&a; a.next=&b; b.next=&c; printf("总和 = %d\n",fun( h ));}三、综合应用请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和C的个数。注意:部分源程序存在PROG1.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。#include#include#define M 14void NONO();void fun( char (*t)[M], int *a ,int *c){}void get( char (*s)[M] ){ int i, j; for( i=0; i的异同的理解,指针只能有->,数组元素可以有.或者->【解题思路】(1) int t;改为int t=0; 题目中变量t是用来存放累加和的,必须初始化。(2)*p 改为p或者p!=NULL,题目中*p是结构体,不能转化为bool型;(3)p.data改为p->data,p是指针,只能用p->,不能用p.。三、综合应用答案【参考答案】int i=0,j=0;//循环统计的下标*a=0;//初始化a字符统计的个数*c=0; //初始化c字符统计的个数for(i=0;i
天天文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
关于本文