【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷401及答案解析.doc

上传人:eveningprove235 文档编号:1332215 上传时间:2019-10-17 格式:DOC 页数:4 大小:37KB
下载 相关 举报
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷401及答案解析.doc_第1页
第1页 / 共4页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷401及答案解析.doc_第2页
第2页 / 共4页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷401及答案解析.doc_第3页
第3页 / 共4页
【计算机类职业资格】国家二级C语言机试(操作题)模拟试卷401及答案解析.doc_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

1、国家二级 C语言机试(操作题)模拟试卷 401及答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是:有 NN矩阵,根据给定的 m(m=)值,将每行元素中的值均右移 m个位置,左边置为 0。例如,N=3,m=2,有下列矩阵 1 2 3 4 5 6 7 8 9 程序执行结果为 0 0 l 0 0 4 0 0 7 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1C 中。 不得增行或删行,也不得更改程序的结构!1 #includestdioh2 #defi

2、ne N 43 void fun(int(*t)N,int m)4 int i,j;5 *found*6 for(i=0;iN;_1_ )7 for(j=N-1-m;j=0;j-)8 *found*9 tij+_2_=tij;10 *found*11 for(j=0;j_3_;j+)12 tij=0;13 1415 main()16 int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i, j, m;17 printf(nThe original array:n);18 for(i=0; iN; i+)19 for(j=0;jN;j+)

3、20 printf(2d,tij);21 printf(n);22 23 printf(Input m(m=d) :,N);scanf(d,25 printf(nThe result is:n);26 for(2=0;iN;i+)27 for(j=0;jN;j+)28 printf(2d,tij);29 printf(n);30 31 (分数:2.00)_二、程序修改题(总题数:1,分数:2.00)2.给定程序 MODI1C 中的函数 Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋 0到m-1的值。 请改正函数 Creatlink中指定部位的错误,使它能得出正确的结果。

4、注意:不要改动 main函数,不得增行或删行,也不得更改程序的结构!1 #includestdioh2 #includestdlibh3 typedef struct aa4 int data;5 struct aa *next;6 NODE;7 NODE *Creatlink(int n,int m)8 NODE * h=NULL,*p,*s;9 int i;10 *found*11 p=(NODE)malloc(sizeof(NODE);12 h=p;13 p-next=NULL;14 for(i=1;i=n;i+)15 s=(NODE *)malloc(sizeof(NODE);16 s

5、data=rand()m; s-next=p-next;17 p-next=s;p=p-next;18 19 *found*20 return p;21 22 outlink(NODE *h)23 NODE *p;24 p=h-next;25 printf(nXnTHE LIST:nn HEAD);26 while(p)27 printf(-d,p-data);28 p=p-next;29 30 printf(n);31 main()32 NODE *head;33 head=Creatlink(8,22);34 outlink(head);(分数:2.00)_三、程序设计题(总题数:1,分

6、数:2.00)3.请编写函数 fun,函数的功能是:将 M行 N列的二维数组中的数据,按列的顺序依次放到一维数组中。 例如,二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 44 55 33 44 55 33 44 55 33 44 55。 注意:部分源程序在文件 PROGlC 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。1 #includestdioh2 void fun(int s10,int b,int*n,int mm,int nn)3 4 5 main

7、)6 int w1010=33,33,33,33,44,44,44,44,55,55,55,55,i,j;7 int a100=(0),n=0;void NONO();8 printf(The matrix:n);9 for(i=0; i3;i+)10 for(j=0;j4;j+) printf(3d,wij);11 printf(n);12 fun(w,a,n,3,4);13 printf(The A array:n);14 for(i=0;in;i+) printf(3d,ai);printf(nn);15 NONO();16 void NONO()17 *请在此函数内打开文件,输入测试

8、数据,调用 fun函数,输出数据,关闭文件。 *18 FILE *rf,*wf;int i,j,k;19 int w1010,a100,n=0,mm,nn;20 rf=fopen(indat,r);21 wf=fopen(outdat,w);22 for(k=0;k5;k+)23 fscanf(rf,dd, jnn ; j+) fscanf(rf,d,wij);26 fun(w,a,n,mm,nn);27 for(i=0;in;i+) fprintf(wf,3d,ai); fprintf(wf,n);28 29 fclose(rf);fclose(wf);(分数:2.00)_国家二级 C语言机

9、试(操作题)模拟试卷 401答案解析(总分:6.00,做题时间:90 分钟)一、程序填空题(总题数:1,分数:2.00)1.给定程序中,函数 fun的功能是:有 NN矩阵,根据给定的 m(m=)值,将每行元素中的值均右移 m个位置,左边置为 0。例如,N=3,m=2,有下列矩阵 1 2 3 4 5 6 7 8 9 程序执行结果为 0 0 l 0 0 4 0 0 7 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注意:源程序存放在考生文件夹下的 BLANK1C 中。 不得增行或删行,也不得更改程序的结构!1 #includestdioh2 #define N 43 vo

10、id fun(int(*t)N,int m)4 int i,j;5 *found*6 for(i=0;iN;_1_ )7 for(j=N-1-m;j=0;j-)8 *found*9 tij+_2_=tij;10 *found*11 for(j=0;j_3_;j+)12 tij=0;13 1415 main()16 int tN=21,12,13,24,25,16,47,38,29,11,32,54,42,21,33,10,i, j, m;17 printf(nThe original array:n);18 for(i=0; iN; i+)19 for(j=0;jN;j+)20 printf(

11、2d,tij);21 printf(n);22 23 printf(Input m(m=d) :,N);scanf(d,25 printf(nThe result is:n);26 for(2=0;iN;i+)27 for(j=0;jN;j+)28 printf(2d,tij);29 printf(n);30 31 (分数:2.00)_正确答案:(正确答案:(1)i+ (2)m (3)m)解析:解析:函数 fun的功能是将每行元素中的值均右移 m个位置。 第一空:题目要求对每行元素中的值均右移 m个位置,故第一空处循环变量每次增 1,共循环 N次,完成对 N行的移位操作,因此第一空处应为“i+

12、 第二空:循环“for(j=N-1-m;j=0;j-)”是进行行元素中的值右移 m个位置,即把tij元素放置在 tij+m上,因此第二空应为“m”。 第三空:循环“for(j=0;j_3_;j+)”是对空出来的位置补 0,每行元素的前 m位数据已经移动到后面,每行空处 m个元素,因此第三空为“m”。二、程序修改题(总题数:1,分数:2.00)2.给定程序 MODI1C 中的函数 Creatlink的功能是创建带头结点的单向链表,并为各结点数据域赋 0到m-1的值。 请改正函数 Creatlink中指定部位的错误,使它能得出正确的结果。 注意:不要改动 main函数,不得增行或删行,也不得更

13、改程序的结构!1 #includestdioh2 #includestdlibh3 typedef struct aa4 int data;5 struct aa *next;6 NODE;7 NODE *Creatlink(int n,int m)8 NODE * h=NULL,*p,*s;9 int i;10 *found*11 p=(NODE)malloc(sizeof(NODE);12 h=p;13 p-next=NULL;14 for(i=1;i=n;i+)15 s=(NODE *)malloc(sizeof(NODE);16 s-data=rand()m; s-next=p-nex

14、t;17 p-next=s;p=p-next;18 19 *found*20 return p;21 22 outlink(NODE *h)23 NODE *p;24 p=h-next;25 printf(nXnTHE LIST:nn HEAD);26 while(p)27 printf(-d,p-data);28 p=p-next;29 30 printf(n);31 main()32 NODE *head;33 head=Creatlink(8,22);34 outlink(head);(分数:2.00)_正确答案:(正确答案:(1)p=(NODE*)malloc (sizeof(NODE

15、); (2)return h;)解析:解析:(1)“p=(NODE)malloc(sizeof(NODE);”第一标识,maclloc 函数的返回类型是 void*类型,表示未确定类型的指针,因此需要指针类型转换,而“(NODE)”不是指针类型,故第一标识下应改成“p=(NODE*)malloc(sizeof(NODE);”。 (2)第二个标识下,最后将单链表返回,应该是返回头指针 h指向的链表,而不是其中的一个节点 p,所以“return p;”应该改为“return h;”。三、程序设计题(总题数:1,分数:2.00)3.请编写函数 fun,函数的功能是:将 M行 N列的二维数组中的数据,

16、按列的顺序依次放到一维数组中。 例如,二维数组中的数据为: 33 33 33 33 44 44 44 44 55 55 55 55 则一维数组中的内容应是: 33 44 55 33 44 55 33 44 55 33 44 55。 注意:部分源程序在文件 PROGlC 中。 请勿改动主函数 main和其他函数中的任何内容,仅在函数 fun的花括号中填入你编写的若干语句。1 #includestdioh2 void fun(int s10,int b,int*n,int mm,int nn)3 4 5 main()6 int w1010=33,33,33,33,44,44,44,44,55,55

17、55,55,i,j;7 int a100=(0),n=0;void NONO();8 printf(The matrix:n);9 for(i=0; i3;i+)10 for(j=0;j4;j+) printf(3d,wij);11 printf(n);12 fun(w,a,n,3,4);13 printf(The A array:n);14 for(i=0;in;i+) printf(3d,ai);printf(nn);15 NONO();16 void NONO()17 *请在此函数内打开文件,输入测试数据,调用 fun函数,输出数据,关闭文件。 *18 FILE *rf,*wf;int

18、 i,j,k;19 int w1010,a100,n=0,mm,nn;20 rf=fopen(indat,r);21 wf=fopen(outdat,w);22 for(k=0;k5;k+)23 fscanf(rf,dd, jnn ; j+) fscanf(rf,d,wij);26 fun(w,a,n,mm,nn);27 for(i=0;in;i+) fprintf(wf,3d,ai); fprintf(wf,n);28 29 fclose(rf);fclose(wf);(分数:2.00)_正确答案:(正确答案:1 int i,j; 2 for(j=0 ; jnn;j+) 3 for(i=0;imm;i+) 4 b*n=*(*(s+i)+j); 5 *n=*n+1; )解析:解析:(1)利用两重循环,依次取矩阵中的元素。 (2)其中注意指针数组与数组指针的区别,其中数组指针 s,它指向包含 4个元素的一维数组。其数据元素的表示方式为:“*(*c(s+i)+j)”。

展开阅读全文
相关资源
猜你喜欢
  • AECMA PREN 3509-1998 Aerospace Series Steel FE-PL1501 (30CrMo12) Air Melted Hardened and Tempered Bar De Less Than or Equal to 40 mm 1 050 MPa Less Than or Equal to Rm Less Than or.pdf AECMA PREN 3509-1998 Aerospace Series Steel FE-PL1501 (30CrMo12) Air Melted Hardened and Tempered Bar De Less Than or Equal to 40 mm 1 050 MPa Less Than or Equal to Rm Less Than or.pdf
  • AECMA PREN 3510-1997 Aerospace Series Heat Resisting Steel FE-PA2602 (X4NiCrTiMoV26-15) Solution Treated and Precipitation Treated Bar and Section De Less Than or Equal to 100 mm E.pdf AECMA PREN 3510-1997 Aerospace Series Heat Resisting Steel FE-PA2602 (X4NiCrTiMoV26-15) Solution Treated and Precipitation Treated Bar and Section De Less Than or Equal to 100 mm E.pdf
  • AECMA PREN 3511-1999 Aerospace Series Steel FE-PL1801 (100Cr6) Vacuum Induction Melted and Consumable Electrode Remelted Softened Bar for the Manufacture of Machined Bearings a or .pdf AECMA PREN 3511-1999 Aerospace Series Steel FE-PL1801 (100Cr6) Vacuum Induction Melted and Consumable Electrode Remelted Softened Bar for the Manufacture of Machined Bearings a or .pdf
  • AECMA PREN 3512-1999 Aerospace Series Steel FE-PL1801 (100Cr6) Vacuum Induction Melted and Consumable Electrode Remelted Hardened and Tempered Hollow Bars for the Manufacture of Beo.pdf AECMA PREN 3512-1999 Aerospace Series Steel FE-PL1801 (100Cr6) Vacuum Induction Melted and Consumable Electrode Remelted Hardened and Tempered Hollow Bars for the Manufacture of Beo.pdf
  • AECMA PREN 3513-1988 Aerospace Series Steel FE-PL711 Hardened and Tempered 900 Less Than or Equal to Rm Less Than or Equal to 1100 MPa Bar and Wire De Less Than or Equal to 45 mm I.pdf AECMA PREN 3513-1988 Aerospace Series Steel FE-PL711 Hardened and Tempered 900 Less Than or Equal to Rm Less Than or Equal to 1100 MPa Bar and Wire De Less Than or Equal to 45 mm I.pdf
  • AECMA PREN 3514-1988 Aerospace Series Steel FE-PL711 Hardened and Tempered 1100 Less Than or Equal to Rm Less Than or Equal to 1300 MPa Bar and Wire for Bolts De Less Than or Equal.pdf AECMA PREN 3514-1988 Aerospace Series Steel FE-PL711 Hardened and Tempered 1100 Less Than or Equal to Rm Less Than or Equal to 1300 MPa Bar and Wire for Bolts De Less Than or Equal.pdf
  • AECMA PREN 3515-1998 Aerospace Series Steel FE-PL8201 (41NiCrMo2) Air Melted Hardened and Tempered Forgings De Less Than or Equal to 25 mm 1 100 MPa Less Than or Equal to Rm Less T.pdf AECMA PREN 3515-1998 Aerospace Series Steel FE-PL8201 (41NiCrMo2) Air Melted Hardened and Tempered Forgings De Less Than or Equal to 25 mm 1 100 MPa Less Than or Equal to Rm Less T.pdf
  • AECMA PREN 3516-1998 Aerospace Series Steel FE-PL8201 (41NiCrMo2) Air Melted Softened Forging Stock a or D Less Than or Equal to 300 mm Edition P2《航空航天系列.钢FE-PL8201(41NiCrMo2) 空气熔炼.pdf AECMA PREN 3516-1998 Aerospace Series Steel FE-PL8201 (41NiCrMo2) Air Melted Softened Forging Stock a or D Less Than or Equal to 300 mm Edition P2《航空航天系列.钢FE-PL8201(41NiCrMo2) 空气熔炼.pdf
  • AECMA PREN 3517-1994 Aerospace Series Steel FE-PL2105 Air Melted Hardened and Tempered Bar for Machining De Less Than or Equal to 150 mm 1080 MPa Less Than or Equal to Rm Less Than.pdf AECMA PREN 3517-1994 Aerospace Series Steel FE-PL2105 Air Melted Hardened and Tempered Bar for Machining De Less Than or Equal to 150 mm 1080 MPa Less Than or Equal to Rm Less Than.pdf
  • 相关搜索

    当前位置:首页 > 考试资料 > 职业资格

    copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
    备案/许可证编号:苏ICP备17064731号-1