首页 > 全部 > 二级C语言 > 国家二级C语言机试(操作题)模拟试卷911

国家二级C语言机试(操作题)模拟试卷911

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

国家二级C语言机试(操作题)模拟试卷911

程序填空题

1.给定程序中,函数fun的功能是:根据形参c中指定的英文字母,按顺序打印出若干后继相邻字母,输出字母的大小写与形参c一致,数量由形参d指定。若输出字母中有字母Z或z,则应从A或a开始接续,直到输出指定数量的字母。例如:c为’Y’,d为4,则程序输出ZABC;c为’z’,d为2,则程序输出ab。

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

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

#include<stdio.h>

#pragma warning(disable:4996)

void fun(char c,int d) {

int i;

char A[26],a[26],*ptr;

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

for(i=0;i<(【1】; i++) {

A[i] =’A’+i;

a[i] = ’a’ +i;

}

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

if((c>=’a’)&&(c(【2】’z’))

ptr=a:

else ptr=A;

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

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

printf(\\

(1)26

(2)<=

(3)26

解析:函数fun()中首先将大写字母按照字母表的顺序存放到数组A中,将小写字母按照字母表的顺序存放到数组a中;然后判断输入的字符c,若字符c是小写字母,则将指针ptr指向数组a,若是大写字母,将指针ptr指向数组A;然后使用变量i遍历1到d,输出ptr所指数组中,偏移量为c-ptr[0]+i的元素,若偏移量c-ptr[0]+i>=26,则对26求余,循环输出数组开始部分的元素。注意:题意要求输出当前字符的后继字符,所以c-ptr[0]+i是将当前字符c减去ptr所指元素,然后与i相加,得到后继第i个字符的下标。

程序修改题

2.给定程序MODI1.C中,函数fun的功能是:分别统计出形参str所指的字符串中的大写字母和小写字母的个数,并传递回主函数输出。例如,若str所指的内容为”BAY23Kill”,其中大写字母数为4,小写字母数为3,则应输出:c0=4,c1=3。

请改正函数fun中指定部位的错误,使它能得出正确的结果。

注意:不要改动main函数,不得增行或删行,也不得更改程序的结构!

#include<stdio.h>

#include<string.h>

#pragma warning(disable:4996)

void fun(char*str,int*c0,

int*c1) {

int k;

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

c0=c1=0;

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

for(k=1;k<strlen(str);k++)

{

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

if((str[k]>=’A’)&&

(str[k]<=’z’))*c0++;

if((str[k]>=’a’)&&

(str[k]<=’z’))(*c1)++;

}

}

main()

{char str[1 00];int c0,c1;

printf(\\

(1)*c0=*c1=0;

(2)for(k=0;k<strlen(str);k++)

(3)(*c0)++;

解析:函数fun()的参数分别是str,c0,c1,其中str指向待处理的字符串,c0所指变量用来统计字符串中大写字母的个数,c1所指变量用来统计字符串中小写字母的个数。首先对c0和c1所指变量赋初值为0,然后遍历字符串str,若当前字符str[i]的ASCII码在’A’到’z’之间,则对c0所指变量的值自增1,若当前字符str[i]的ASCII码在’a’到’z’之间,则对c1所指变量的值自增1,由于c0和c1都是指针变量,所以在使用地址中存储的数据时,需要对它们进行解引用。

程序设计题

3.请编写函数fun,其功能是:统计出x所指数组中能被e整除的元素个数,通过函数值返回主函数;同时,计算不能被e整除的元素之和,放到形参sum所指的存储单元中。

例如,当数组x内容为1,7,8,6,10,15,11,13,29,31,整数e内容为3时,输出结果应该是:n=2,sum=110

注意:部分源程序在文件PROG1.C中。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。

#include<stdio.h>

#pragma warning(disable:4996)

#define N 10

int fun(int x[],int e,int*sum)

{

}

main()

{

void NONO();

int x[N]={1,7,8,6,10,

15,11,13,29,31),e=3,

n,sum;

n=fun(x,e,&sum);

printf(\\

int fun(int x[],int e,int*sum)

{

int i,count=0;

*sum=0;

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

{

if(x[i]% e==0)

{

count++;

}

else

{

*sum+=x[i];

}

}

return count;

}

解析:程序首先定义循环变量i,整型变量count,count赋初值为0,count用来统计可以被e整除的元素个数;由于sum是main函数传入的指针变量,用来存放不能被e整除的元素之和,所以程序需要对sum所指变量赋初值为0;接着通过for循环变量数组x,将x[i]对e求余,若余数为0,则当前x[i]可以被e整除,将count自增1,若余数不为0,则x[i]不能被e整除,将x[i]累加到sum所指变量中,最后将count作为函数返回值返回。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号