首页 考试吧论坛 Exam8视线 考试商城 网络课程 模拟考试 考友录 实用文档 求职招聘 论文下载
2013中考 | 2013高考 | 2013考研 | 考研培训 | 在职研 | 自学考试 | 成人高考 | 法律硕士 | MBA考试
MPA考试 | 中科院
四六级 | 职称英语 | 商务英语 | 公共英语 | 托福 | 托业 | 雅思 | 专四专八 | 口译笔译 | 博思
GRE GMAT | 新概念英语 | 成人英语三级 | 申硕英语 | 攻硕英语 | 职称日语 | 日语学习 |
零起点法语 | 零起点德语 | 零起点韩语
计算机等级考试 | 软件水平考试 | 职称计算机 | 微软认证 | 思科认证 | Oracle认证 | Linux认证
华为认证 | Java认证
公务员 | 报关员 | 银行从业资格 | 证券从业资格 | 期货从业资格 | 司法考试 | 法律顾问 | 导游资格
报检员 | 教师资格 | 社会工作者 | 外销员 | 国际商务师 | 跟单员 | 单证员 | 物流师 | 价格鉴证师
人力资源 | 管理咨询师 | 秘书资格 | 心理咨询师 | 出版专业资格 | 广告师职业水平 | 驾驶员
网络编辑 | 公共营养师 | 国际货运代理人 | 保险从业资格 | 电子商务师 | 普通话 | 企业培训师
营销师
卫生资格 | 执业医师 | 执业药师 | 执业护士
会计从业资格考试会计证) | 经济师 | 会计职称 | 注册会计师 | 审计师 | 注册税务师
注册资产评估师 | 高级会计师 | ACCA | 统计师 | 精算师 | 理财规划师 | 国际内审师
一级建造师 | 二级建造师 | 造价工程师 | 造价员 | 咨询工程师 | 监理工程师 | 安全工程师
质量工程师 | 物业管理师 | 招标师 | 结构工程师 | 建筑师 | 房地产估价师 | 土地估价师 | 岩土师
设备监理师 | 房地产经纪人 | 投资项目管理师 | 土地登记代理人 | 环境影响评价师 | 环保工程师
城市规划师 | 公路监理师 | 公路造价师 | 安全评价师 | 电气工程师 | 注册测绘师 | 注册计量师
化工工程师 | 材料员
缤纷校园 | 实用文档 | 英语学习 | 作文大全 | 求职招聘 | 论文下载 | 访谈 | 游戏
计算机等级考试
您现在的位置: 考试吧(Exam8.com) > 计算机等级考试 > 计算机二级 > C语言 > 模拟试题 > 正文

2012年全国计算机等级二级C语言模拟试题及答案(8)

来源:考试吧Exam8.com) 2012-8-27 15:54:34 考试吧:中国教育培训第一门户 模拟考场
2012年全国计算机等级二级C语言模拟试题及答案。

  给定程序通过定义并赋初值的方式,利用结构体变量存储了一名学生的学号、姓名和3门课的成绩。函数fun的功能是将该学生的各科成绩都乘以一个系数a。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。

  注意:源程序存放在考生文件夹下的BLANK1.C中。

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

  给定源程序:

  #include

  typedef struct

  { int num;

  char name[9];

  float score[3];

  }STU;

  void show(STU tt)

  { int i;

  printf("%d %s : ",tt.num,tt.name);

  for(i=0; i<3; i++)

  printf("%5.1f",tt.score[i]);

  printf("\n");

  }

  void modify(___1___ *ss,float a)

  { int i;

  for(i=0; i<3; i++)

  ss->___2___ *=a;

  }

  main( )

  { STU std={ 1,"Zhanghua",76.5,78.0,82.0 };

  float a;

  printf("\nThe original number and name and scores :\n");

  show(std);

  printf("\nInput a number : "); scanf("%f",&a);

  modify(___3___,a);

  printf("\nA result of modifying :\n");

  show(std);

  }

  解题思路:

  本题是利用结构体存储学生记录并由实参ss返回。

  第一处:实参ss是一个结构型指针变量,所以应填:STU。

  第二处:该学生的各科成绩都乘以一个系数a,所以应填:score[i]。

  第三处:函数的调用,由于函数定义时使用的指针结构型变量,所以应填:&std。

  ***************************************************

  给定程序MODI1.C中函数fun的功能是:求k!(k<13),所求阶乘的值作为函数值返回。例如:若k = 10,则应输出:3628800。

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

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

  给定源程序:

  #include

  long fun ( int k)

  {

  if k > 0

  return (k*fun(k-1));

  else if ( k=0 )

  return 1L;

  }

  main()

  { int k = 10 ;

  printf("%d!=%ld\n", k, fun ( k )) ;

  }

  解题思路:

  第一处:条件判断缺少圆括号。

  第二处:判断相等的符号是==。

  ***************************************************

  程序定义了N×N的二维数组,并在主函数中自动赋值。请编写函数 fun(int a[][N], int n),函数的功能是:使数组左下三角元素中的值乘以n 。

  例如:若n的值为3,a 数组中的值为 | 1 9 7 | | 3 9 7 |

  a = | 2 3 8 | 则返回主程序后a数组中的值应为 | 6 9 8 |

  | 4 5 6 | | 12 15 18|

  注意: 部分源程序存在文件PROG1.C中。

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

  给定源程序:

  #include

  #include

  #define N 5

  int fun ( int a[][N], int n )

  {

  }

  main ( )

  { int a[N][N], n, i, j;

  printf("***** The array *****\n");

  for ( i =0; i

  { for ( j =0; j

  { a[i][j] = rand()%10; printf( "%4d", a[i][j] ); }

  printf("\n");

  }

  do n = rand()%10 ; while ( n >=3 );

  printf("n = %4d\n",n);

  fun ( a, n );

  printf ("***** THE RESULT *****\n");

  for ( i =0; i

  { for ( j =0; j

  printf("\n");

  }

  NONO( );

  }

  解题思路:

  本题是利用两重循环给二维数组左下三角元素中的值乘以n。

  参考答案:

  int fun ( int a[][N], int n )

  {

  int i, j;

  for(i = 0 ; i < N ; i++)

  for(j = 0 ; j <= i; j++)

  a[i][j] *= n ;

  }

1 2  下一页

  相关推荐:

  2012年下半年计算机等级考试报名时间及入口汇总

  2012年计算机等考四级数据库工程师备考笔记汇总

  2012年计算机等级考试二级VB重点知识汇总

文章搜索
版权声明:如果计算机等级考试网所转载内容不慎侵犯了您的权益,请与我们联系800@exam8.com,我们将会及时处理。如转载本计算机等级考试网内容,请注明出处。