首页 > 全部 > 二级C语言 > 二级C语言程序填空题专项强化真题试卷1

二级C语言程序填空题专项强化真题试卷1

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

二级C语言程序填空题专项强化真题试卷1

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blankl.c。在此程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的次序。

例如,s所指的字符串为“def35adh3kjsdf7”,执行后结果为“defadhajsdf3537”。

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

注意:部分源程序在文件BLANK1.C中。

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

#include<stdio.h>

void fun(char*s)

{int i,j=0,k=0;char t1[80],t2[80];

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

if(s[i]>=’0’&&s[i]<=’9’)

{

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

t2[j]=s[i];【1】

}

else t1[k++]=s[i];

t2[j]=0;t1[k]=0;

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

for(i=0;i<k;i++)【2】

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

for(i=0;i<【3】;i++)s[k+i]=t2[i];

}

main( )

{char s[80]=\\

(1)j++或j+=l或++j或j=j+1

(2)s[i]=t1[i]

(3)j

解析:填空1:根据函数fun中的内容可知,数组t1存储了s中的非数字字符,数组t2存储了s中的数字字符,为了存储下一个数字字符,下标j要进行加1操作。

填空2:将s串中的数字与非数字字符分开后,要先将非数字字符放入字符串s中,因此填入s[i]=t1[i]。

填空3:最后将数字字符加到s串之后,并且i要小于数字的个数j。

2.给定程序中,函数fun的功能是:将形参指针所指结构体数组中的三个元素按num成员进行升序排列。

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

注意:部分源程序给出如下。

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

试题程序:

#include

typedef struct

{ int Rum;

char/name[10];

}PERSON;

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

void fun(PERSON【1】

{

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

【2】temp;

if(std[0].Rum>std[1].num)

{temp=std[0];std[0]=std[1];

std[1]=temp;}

if(std[0].num>std[2].hum)

{temp=std[0];std[0]=std[2];

std[2]=temp;}

if(std[1].num>std[2].1lum)

{temp=std[1];std[1]=std[2];

std[2]=temp;}

}

main()

{PERSON std[]={5,“Zhanghu”,2,“WangLi”,6,“LinMin”};

int i;

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

fun【3】;

printtf(“The result is”:);

for(i=0;i<3;i++)

pfinff(“%d,%s”,std[i].hum,std[i].name);

}

【1】std[]

【2】PERSON

【3】std

解析:本题考查:数据类型的定义;数组元素的操作;函数参数的传递。

要使用函数对整个数组进行操作时,应使用数组名作为函数的实参。当使用数组名作实参时,函数传递的实际上是数组的首地址,而并非数组本身,此时形参除了可以定义为指针变量外,还可以定义为数组,并且数组可以不指定大小,但无论用哪种形式,程序在编译时都将其作为一个指针变量处理。

填空1:定义形参变量引用数组std,此时形参可以定义为指针变量,也可以定义为数组。由下文可知,程序是通过数组下标对数组元素进行操作的,因此形参应使用数组形式,而非指针形式。

填空2:程序使用变量temp交换结构体数组元素的值,因而temp应定义为PERSON型。

填空3:程序通过函数fun对数组std进行操作,因此函数的实参应为std。

3.给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。

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

注意:部分源程序给出如下。

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

试题程序:

#include

typedef struct

{ int num;

char name[9];

float score[3];

}STU;

void show(STU tt)

{ int i;

printf(\\

(1)STU

(2)score[i]

(3)&std

解析:本题是利用结构体存储学生记录,对记录进行修改并由实参ss返回。

填空1:实参ss是一个结构型指针变量,所以应填STIJ。

填空2:该学生的各科成绩都乘以一个系数a,所以应填score[i]。

填空3:函数的调用,由于函数定义时使用的指针结构型变量,所以应填&std。

4.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。函数fun根据所给n名学生的成绩,计算出所有学生的平均成绩,把高于平均成绩的学生成绩求平均值并返回。

例如,若有成绩为:50,60,70,80,90,100,55,65,75,85,95,99,则运行结果应为:91.5

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

注意:源程序存放在文件BLANK1.C中,不得增行或删行,也不得更改程序的结构!

#include<stdio.h>

#pragma warning(disable:4996)

double fun(double x[],int n)

{ int i,k=0;

double

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

剩余未完,查看全文
收藏
二级C语言程序填空题专项强化真题试卷1

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号