“中国航信杯”C语言程序设计-答案解析版(8)

2019-01-07 16:27

A、若用值传递方式,则形式参数不予分配内存 B、实际参数和形式参数不可以同名

C、主调函数和被调用函数可以不在同一个文件中 D、函数间传送数据可以使用外部全局变量

(9)若变量已正确定义,以下能正确计算1*2*3*4*5的程序段有( )。 A、

i=1;s=1;

do { s=s*i;i++;} while(i<5); B、 i=0;s=0; do

{ i++; s=s*i;} while(i<5); C、

i=1;s=1;

do { s=s*i;i++;} while(i<6); D、 i=0;s=1; do

{ i++; s=s*i;} while(i<5);

(10)设有定义语句: int x[6]={2,4,6,8,5,7},*p=x,i;

要求依次输出x数组中6个元素中的值,下列选项中能完成此操作的语句有( )。 A、for(i=0;i<6;i++)printf(“-”,*(p++)); B、for(i=0;i<6;i++)printf(“-”,*(p+i)); C、for(i=0;i<6;i++)printf(“-”,*p++); D、for(i=0;i<6;i++)printf(“-”,(*p)++); (11)整型变量x=1,y=3,经下列( )计算后,x的值等于6。 A、x=(x=1+2,x*2) B、x=y>2?6:5

C、x=9-(y--)-(y--) D、x=y*4.8/2-1

(12)下列关于指针定义的描述正确的有( )。

A、指针变量是一种变量,该变量是用来存放某个变量的地址值的 B、指针变量的类型与它所指向的变量类型一致 C、指针变量的命名规则与标识符相同 D、在定义指针时,”*”号表示指针变量的指向

(13)以下对结构体变量stu1中成员age的引用正确的有( )。 struct student {int age;

- 36 -

int num; }stu1,*p; p=&stu1; A、stu1.age B、student.age C、p->age D、(*p).age (14)设有结构体类型:

typedef struct str{ int no; char name[20]; }STR;

另有变量定义:STR a[20], x;

如希望实现向与文件指针变量fp关联的文件输出一个结构信息,则以下语句正确的有( )。 A、fwrite(a, sizeof(STR), 1, fp); B、fwrite(&a[2], sizeof(STR), 1, fp); C、fwrite(&x, sizeof(STR), 1, fp); D、fwrite(x, sizeof(STR), 1, fp);

(15)t为int类型,进入下面循环之前,t的值为0: for(;t=1;) { ???.}

则下列叙述不正确的有( )。 A、循环控制表达式的值为0 B、循环控制表达式的值为1 C、循环控制表达式不合法 D、循环有可能是个无限循环 (16)下列叙述不正确的有( )。

A、函数可以嵌套定义,但不能嵌套调用 B、函数可以嵌套调用,也可以嵌套定义 C、函数不可以嵌套定义,但可以递归调用 D、函数可以嵌套调用,但不能嵌套定义

(17)关于数组与字符串,下列选项中属于不合法的定义有( )。 A、char s=\

B、int a[5]={0,1,2,3,4,5}; C、char s[5]=\ D、char a[]={0,1,2,3,4,5};

(18)若有定义: char *str[]={\ 则下列选项中可以表示出字符’t’的表达有( )。 A、*str[2] B、*str+2 C、*(p+1) D、**++p

(19)若有以下调用语句,则正确的fun函数的首部包括( )。 main() { ?

int a[50],n; ?

- 37 -

fun(n, &a[9]); ? }

A、void fun(int m, int x[]) B、void fun(int s, int h[41]) C、void fun(int p, int *s) D、void fun(int n, int a) (20)已知有定义:

struct{ int no;

char name[20]; }a,b,*c;

则以下语句合法的有( )。 A、a=b; B、a=&b; C、c=&b; D、*c=b

第五届全国ITAT教育工程就业技能大赛复赛试题 C语言程序设计(A卷)

编程解决如下数学问题:有12升水,怎样利用一个8升和一个5升的容器将水分为两个6升?要求以如下格式打印出分水步骤。(20分)

a12 b8 c5 12 0 0

* * * ( “*”表示当前状态下每个容器的盛水量) ...... 0 6 6

编程实现:有二维数组a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}},将数组a的每一行元素均除以该行上的主对角元素(第1行同除以a[0][0],第2行同除以a[1][1],...),按行输出新数组。(20分)

C++实现代码: #include using namespace std; int main() { //题意中的已知数组 double a[3][3]={{5.4,3.2,8},{6,4,3.3},{7,3,1.3}}; //进入循环,更新数组,输出数组 for(int i=0;i<3;i++) { for(int j=0;j<3;j++) { a[i][j]/=a[i][i]; //更新数组 cout<

- 38 -

return 0; }

编程:设x取值为区间[1,20]的整数,求函数f(x)=x-sin(x)- cos(x)的最大值,要求使用自定义函数实现f(x)功能。(20分)

编写函数fun,通过指针实现将一个字符串反向。要求主函数输入字符串,通过调用函数fun实现输入字符串反向。(20分)

已知学生三门课程基本信息如下。请使用结构体编程,计算学生三门课程平均成绩后,列表输出学生的姓名、数学、英语、计算机、平均分信息,并按平均分排序。(20分) 姓名 数学 英语 计算机 Mary 93 100 88 Jone 82 90 90 Peter 91 76 71 Rose 100 80 92 C++程序源代码:【若用C++中的类,会更清晰】 #include #include using namespace std; //定义结构体 struct stu { string name;//姓名 int m;//数学 int e;//英语 int c;//计算机 double mean;//平均分 //成员函数,实现对变量的初始化 void fun(string n,int a,int b,int co,double me) { name=n; m=a; e=b; c=co; mean=me; }

}arr[4];//声明一个结构体数组,用于存放四位同学的信息 int main()

{//初始化结构体数组 arr[0].fun(\ arr[1].fun(\ arr[2].fun(\ arr[3].fun(\//循环,求出每位同学的平均分 for(int i=0;i<4;i++) { arr[i].mean=(arr[i].m+arr[i].e+arr[i].c)/3.0; //平均分会有小数,分母须为3.0 }

//冒泡排序,按平均分的降序 for(i=0;i<3;i++)

- 39 -

for(int j=i+1;j<4;j++) { if(arr[i].mean

附加题:编程实现输入一串英文,统计其中各单词出现的个数(不区分大小写字母),以“000”作为字符串输入结束标志,例如:

Twinkle twinkle little star 000(回车) twinkle little star

2 1 1 (50分)

第五届全国ITAT教育工程就业技能大赛决赛试题 C语言程序设计

1、求解钢材切割的最佳订单。(60分)

(1)描述:编写程序,从订单中选择一组订单对钢材作切割加工,使钢材得到最佳利用,约定每一次切割会损耗固定长度的钢材(约定该值为2)。已知线型钢材总长度、订单数和各订单需要的钢材长度;

(2)输入:钢材总长度s、订单数n、各定单需要的钢材长度;

(3)输出:可以使钢材得到最佳利用的订单号、该订单需要的钢材长度。 例如:

Please input total length of the steel s: 28(回车) Please input number of order n: 8(回车) Please input the orders : 5(回车) 6(回车) 7(回车) 8(回车) 9(回车) 10(回车) 12(回车) 15(回车)

- 40 -


“中国航信杯”C语言程序设计-答案解析版(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2016-2022年中国激光雷达市场竞争态势及十三五发展策略分析报告

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: