2014计算机二级c语言试题及答案,2014年全国计算机二级C语言上机最后冲刺试题及答案 6...

一、程序填空题

请补充main()函数,该函数的功能是:从键盘输入一组字符串,以“*”结束输入,并显示出这个字符串。

例如,输入ABCDEFG*,结果显示ABCDEFG。

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

请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填人所编写的若干表达式或语句。

试题程序:

#include

#include

#define M 80

void main()

{

int i=-1,j=0;

char str[M];

system("CLS");

printf("\n Input a string\n");

do

{

i++;

scanf(【1】);

}

while(【2】);

printf("\n**llisplay the string**\n");

while(j   {

printf(【3】);

j++;

}

}

二、程序改错题

下列给定程序中,函数proc()的功能是:将str所指字符串中的字母转换为按字母序列的后续字母(但Z转化为A,z转化为a),其他字符不变。

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

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

试题程序:

#include

#include

#include

#include

void proc(char*str)

//****found****

{

while(*str!=’@’)

{

if(*str>=’A’&&*str<=’2’||*str>=’a’

&&*str<=’z’)

{

if(*str==’2’)*str=’A’;

else if(*str==’2’)*str=’a’;

else*str+=1:

}

//****found****

(*str)++;

}

}

void main()

{

char str[80];

system("CLS");

printf("\n Enter a string with length

<80:\n\n");gets(str);

printf("\n The strin9:\n\n");puts(str);

proc(str);

printf("\n\n The Cords:\n\n");puts(str);

}

三、程序设计题

请编写函数proc(),该函数的功能是:将两个两位数的正整数num1,num2合并形成一个整数放在num中。合并的方式是:将num1数的十位和个位数依次放在hum数的十位和千位上,num2数的十位和个位数依次放在C数的百位和个位上。

例如,当num1=64,num2=18时,调用到该函数后,

num=4168。

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

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

试题程序:

#include

#include

#include

void proc(int numl,in!num2,long*num)

{

}

void main()

{

int num1,num2;

long num;

system("CLS"):

printf("Input num,num2:");

scanf("%d%d",&num1,&num2);

proc(num1,num2,&num);

printf("The result is:%1d\n",num);

}

上机考试试题答案与解析

一、程序填空题

【1】"%c",&str[i]【Z】slr[i]!=’*’【3】"%c",str [j]

【解析】由程序可知,从键盘输入的字符串存放在字符串变量str中。因此,【l】处填"%c",&str[i]”。题目中要求,字符串以“*”结束,语句while中的条件为字符串不结束的条件。因此,【2】处填“str[i]!=’*’”。printf用来格式化输出字符串str,变量j用来控制字符串的下标。因此,【3】处填“"%C",str[j]”。

二、程序改错题

(1)错误:while(*str!=’@’)

正确:while(*str)

(2)错误:(*str)++;

正确:str++;

【解析】字符串不结束的标志为*S。因此,“while(* str!=’@’)”应改为“while(*str)”。每执行完一次循环,指针变量str向后移动一个位置,而不是str指向的内容加1。因此,“(*str)++;”应改为“str++;”。

三、程序设计题

void proc(int huml,int hum2,lon9“num)

{ *num=num1%10*1000+hum2/10*100+

num1/10*10+num2%10;

}

【解析】要算出变量num的值,首先需要得到变量num1 和num2个位和十位上的数字。然后将在千位上的数字乘以1000,百位上的数字乘以100,十位上的数字乘以10,各位上的数字乘以1,就能得到要求的hum。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值