首页 > 全部 > 二级C语言 > 国家二级(C语言)机试模拟试卷974

国家二级(C语言)机试模拟试卷974

本单篇文档共3485字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 模拟试卷 3417人下载
价格: 免费 原价:¥8.80
收藏

国家二级(C语言)机试模拟试卷974

程序填空题

1.使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blankl.c。在此程序中,函数fun()的功能是用函数指针指向要调用的函数,并进行调用。规定在【2】处使f指向函数f1,在【3】处使f指向函数f2。当调用正确时,程序输出:

x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000

请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

注意:部分源程序在文件blankl.c中。

不得增行或删行,也不得更改程序的结构!

试题程序:

#include <stdio.h>

double f1(double x)

{return x*x;)

double f2(double x,double y)

{return x*y;)

double fun(double a,double b)

{

/*********found*********/

【1】(*f)();

double r1,r2;

/*********found*********/

f=【2】

r1=f(a);

/*********found*********/

f=【3】

r2=(*f)(a,b);

return r1+r2;

}

main()

{double x1=5,x2=3,r;

r=fun(x1,x2);

printf(\\

(1)double (2)f1 (3)f2

解析:填空1:(*f)()代表一个指向函数的指针变量。而本题被调用的f1、f2两函数的返回值均为double型,故空1处应该填double。

填空2:函数指针变量赋值时,只需给出函数名而不必给出参数,故空2处应该填n。

填空3:同填空2,故空3处应该填f2。

相关知识点如下。

(1)指向函数的指针变量的一般定义形式为数据类型(*指针变量名)();。

(2)函数可以通过函数名调用,也可以通过函数指针调用。

(3)在给函数指针变量赋值时,只需给出函数名而不必给出参数。

程序修改题

2.使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含—个源程序文件modil.c。此程序建立了一个带头节点的单向链表,并用随机函数为各节点赋值。函数fun()的功能是将单向链表节点(不包括头节点)数据域为偶数的值累加起来,并将结果作为函数值返回。

请改正函数fun()中的错误,使它能得出正确的结果。

注意:部分源程序在文件modil.c中,不要改动main()函数,不得增行或删行,也不得更改程序的结构!

试题程序:

#include <stdio.h>

#include <conio.h>

#include <stdlib.h>

typedef struct aa

{int data;

struct aa * next;

}NODE;

int fun(NODE *h)

{int sum=0;

NODE *p;

p=h->next;

/*********found*********/

while(p->next)

{if(p->data%2==0)

sum+=p->data;

/*********found*********/

p=h->next;

}

return sum;

}

NODE * creatlink(int n)

{

NODE *h,*p,*s;

int i;

h=P=(NODE*)malloc(sizeof(NODE));

for(i=1;i<n;i++)

{

s=(NODE*)malloc(sizeof(NODE));

s->data=rand()%16;

s->next=p->next;

p->next=s;

p=p->next;

}

P->next=NULL;

return h;

}

outlink(NODE *h)

(NODE *P;

p=h->next;

printf(\\

(1)while(p!=NULL)

(2)p=p->next;

解析:(1)判断当前指针p指向的节点是否存在,若存在,则对该节点数据域进行判断操作。

(2)判断结束后指针指向下一个节点。

程序设计题

3.使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,请编写函数fun(),该函数的功能是判断字符串是否为回文,若是,则函数返回1,在主函数中输出“YES”,否则返回0,在主函数中输出“NO”。回文字符串是指顺读和倒读都一样的字符串。

例如,字符串LEVEL是回文,而字符串123312就不是回文。

注意:部分源程序在文件progl.c中。

请勿改动主函数main()和其他函数中的任何内容,仅在函数fun()的花括号中填入你编写的若干语句。

试题程序:

#include <stdio.h>

#define N 80

int fun(char *str)

{

}

main()

{

char s[N];

FILE *out;

char *test[]={\\

int fun(char*str)

{

int i,n=0;

for(i=0;str[i]!=’\0’;i++)

n++;

for(i=0;i<n/2;i++)/*循环比较字符*/

if(str[i]=str[n-1-i]);/*相同,什么都不做*/

else return 0;/*不同,直接返回0*/

return 1;

}

解析:判断回文就是将字符串的第1个字符与最后一个字符比较,第2个字符与倒数第2个字符进行比较,依此类推,直到中间的字符。如果比较的结果都相同,那么这个字符串就是回文,否则不是。while循环用来统计字符串中的字符个数;for循环语句用来遍历字符串;条件语句用来判断当前字符与对应位置的字符是否相同。若不相同,则退出循环,变量fg赋值为0。

本文档预览:3600字符,共3485字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级(C语言)机试模拟试卷974

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号