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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blankl中的解决方案。此解决方案的项目中包含一个源程序文件blankl.c。在此程序中,函数fun()的功能是统计形参s所指的字符串中数字字符出现的次数,并将结果存放在形参t所指的变量中,最后在主函数中输出。

例如,若形参s所指的字符串为“abcdef35adgh3kjisdf7”,则输出结果为4。

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

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

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

试题程序:

#include <stdio.h>

void fun(char *s,int *t)

{ int i,n;

n=0;

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

for(i=0;【1】!=0;i++)

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

if(s[i]>=’0’&&s[i]<=【2】)

n++;

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

【3】

}

main()

{char s[80]=’abcdef35adgh3kjsdf7”;

int t;

printf(\\

(1)s[i] (2)’9’ (3)*t=n

解析:填空1:通过for循环语句遍历字符串s,遍历至字符串结束标志,退出循环。变量i用来存放字符型数组下标,故空1处应该填s[i]。

填空2:题目要求判断数字字符在0~9。故空2处应该填’9’。

填空3:将数字字符个数n存入变量t中,此处需注意变量t是指针变量。故空3处应该填*t=n。

程序修改题

2.使用VC++2010打开考生文件夹下modil中的解决方案。此解决方案的项目中包含一个源程序文件modil.c。在此程序中,函数fun()的功能是通过某种方式实现两个变量值的交换,规定不允许增加语句和表达式。

例如,变量a中的值原为8,b中的值原为3,程序运行后a中的值为3,b中的值为8。

请改正程序中的错误,使它得出正确的结果。

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

试题程序:

#include <stdlib.h>

#include <conio.h>

#include <stdio.h>

int fun(int *x,int y)

{

int t;

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

t=x;x=y;

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

return(y);

}

void main()

{

int a=3,b=8;

system(\\

(1)t=*x;*x=y;

(2)return(t);或return t;

解析:本题考查:指针型变量的使用,通过return语句完成函数值的返回。

(1)首先,定义变量t作为中间变量,然后进行数据交换,注意参数x是指针变量,交换时应使用*x。

(2)根据代码b=fun(&a,b);,可以知道返回值将赋给变量b,而b中应存放交换前*x中的值,所以函数应返回变量t。

程序设计题

3.使用VC++2010打开考生文件夹下progl中的解决方案。此解决方案的项目中包含一个源程序文件progl.c。在此程序中,编写函数fun(),其功能是求出1~1000能被7或11整除,但不能同时被7和11整除的所有整数,并将其放在a所指的数组中,通过n返回这些数的个数。

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

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

试题程序:

#include <stdlib.h>

#include <conio.h>

#include <stdio.h>

void fun(int *a,int *n)

{

}

void main()

{

int aa[1000],n,k;

system(\\

void fun(int*a,int*n)

{

int i,j=0;

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

/*求1~1000能被7或11整除但不能同时被7和11整除的所有整数,并将其放入数组a中*/

if((i%7==0∣∣i%11==0)&&i%77!=0)

a[j++]=i;

*n=j; /*传回满足条件的数的个数*/

解析:if语句用来判断能被7整除或者能被11整除,但又不能同时被7和11整除的数。此处需充分理解“逻辑与”和“逻辑或”的区别。for循环语句的循环条件用来控制循环变量取值范围。

该题需要运用循环判断结构来实现,其中循环语句比较容易,只要确定循环变量的范围即可。题目要求找出能被7或11整除,但不能同时被7和11整除的所有整数。能同时被7和11整除的整数一定能被77整除,且不能被77整除的数不一定就是能被7或11整除的数。因而,可得出程序中if语句的条件表达式。注意(i%7==0∣∣i%11==0)两边必须要有圆括号。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号