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

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

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

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

程序填空题

1.使用VC++2010打开考生文件夹下blank1中的解决方案。此解决方案的项目中包含一个源程序文件blank1.c。在此程序中,函数fun的功能是:在带头节点的单向链表中,查找数据域中值为ch的节点。找到后通过函数值返回该节点在链表中所处的顺序号;若不存在值为ch的节点,函数返回0值。

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

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

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

试题程序:

#include<stdio.h>

#include<stdlib.h>

#define N8

typedef struct list

{int data;

struct list*next;

}SLIST;

SLIST*creatlist(char*);

Vvoid outlist(SLIST*);

int fun(SLIST*h,char ch)

{SLIST*p;int n=0;

p=h﹣>next;

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

while(p!=【1】)

{n++;

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

if(p﹣>data==ch)

reLurn【2】1;

else p=p﹣>next;

}

return0;

}

main()

{SLIST*head;int k;char ch;

chara[N]={’m’,’p’,’g’,’a’,’w’,’x’,’r’,’d’};

head=creatlist(a);

outlist(head);

printf(\\

(1)NULL

(2)n

(3)head,ch

解析:填空1:while循环语句用来判断是否到达链表结尾,链表结尾节点指针域是NULL。

填空2:若找到指定字符,则通过return语句将该节点在链表的顺序号返回给main函数。

填空3:函数调用语句,其形式是:函数名(实际参数表),因此根据函数定义语句,填入head,ch。

程序修改题

2.使用VC++2010打开考生文件夹下modi1中的解决方案。此解决方案的项目中包含一个源程序文件modi1.c。在此程序中,函数fun的功能是:删除指针P所指字符串中的所有空白字符(包括制表符、回车符及换行符)。

输入字符串时用“#”结束输入。

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

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

试题程序:

#include<string.h>

#include<stdio.h>

#include<ctype.h>

fun(char*p)

{

int i,t;char c[80];

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

For(i=0,t=0;p[i];i++)

if(!isspace(*(p+i)))

c[t++]=p[i];

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

c[t]=\\

(1)for(i=0,t=0;p[i];i++)

(2)c[t]=’\0’;

解析:该题目考查C语言关键字的书写,C语言中关键字是区分大小写的。另外为字符串结尾添加结束符时应书写为‘\0’,而非“\0”,“\0”表示一个字符串。该程序的if条件中应用了isspace函数,该函数的功能是检查ch是否为空格、跳格符(制表符)或换行符。

程序设计题

3.使用VC++2010打开考生文件夹下prog1中的解决方案。此解决方案的项目中包含一个源程序文件prog1.c。在此程序中,编写函数fun,其功能是:将SS所指字符串中所有下标为奇数位上的字母转换为大写(若该位置上不是字母,则不转换)。

例如,若输入“abc4EFg”,则应输出“aBc4EFg”。

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

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

试题程序:

#include<conio.h>

#include<stdio.h>

#include<string.h>

void fun(char*ss)

{

}

void main(void)

{

char tt[51];

printf(\\

void fun(char*ss)

{

int i;

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

/*将ss所指字符串中所有下标为奇数位置的字母转换为大写*/

if(i%2==1&&ss[i]>=’a’&&ss[i]<=’z’)

ss[i]=ss[i]﹣32;

}

解析:将指定字符串中奇数位置的字母转换为大写,首先需要判断奇数位置,再判断该位置字符是不是小写字母,如果是小写字母,则将小写字母转换为大写字母。字母大小写转换操作中,只要将小写字母减去32即可转换为大写字母。

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

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

推荐资源

客服

扫码添加客服微信

热线

官方客服

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

电话客服:

客服微信:pujinet

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

公众号

扫码关注微信公众号