C语言 百分网手机站

计算机二级C语言上机考试练习题

时间:2020-10-14 17:54:56 C语言 我要投稿

计算机二级C语言上机考试练习题2017

  在不断的练习中总结出考试出题规律,是练习的意义所在。以下百分网小编整理的计算机二级C语言上机考试练习题,希望对大家有所帮助,更多信息请关注应届毕业生网!
  一、程序填空题
  请补充函数proc(),该函数的功能是:把从主函数中输入的字符串str2接在字符串strl的后面。
  例如,str1="I am a",str2="student",结果输出:I ama student。
  注意:部分源程序给出如下。
  请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的横线上填入所编写的若干表达式或语句。
  试题程序:
  #include
  #include
  #include
  蚌define M 40
  void proc(char*str1,char*str2)
  {
  int i=0;
  char*p1=str1:
  char*p2=str2:
  while([11)
  i++:
  for(; 【2】 ;i++)
  *(p1+i)=【3】;
  *(p1+i)=’\0’;
  }
  void main()
  {
  char str1[M],str2[M];
  system("CLS");
  printf("****Input the string str1 &
  str2****\n");
  printf("\nstr1:");
  gets(str1);
  printf("\nstr2:");
  gets(str2);
  printf("**The string strl&str2**\n");
  puts(str1);
  puts(str2);
  proc(str1,str2);
  printf("****The new string****\n");
  puts(str1);
  )
  二、程序改错题
  下列给定程序中,函数proc()的作用是:将字符串tt中的大写字母都改为对应的小写字母,其他字符不变。
  例如,若输入“I,am,A,Student",则输出“i,am,a student"。
  请修改程序中的错误,使它能得到正确结果。
  注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
  试题程序:
  #include
  #include
  #include
  #include
  //****found****
  char proc(char str[])
  {
  int1;
  for(i=0;str[i];i+卜)
  {
  //****found****
  if((str[i]>=’a’)&&(str[i]<=’z’))
  str[i]+=32:
  }
  return(str);
  }
  void main()
  {
  char str[81];
  system("CLS"):
  printf("\nPlease enter a strin9:");
  gets(str);
  printf("\nThe result string is:\n%S",
  proc(str));
  }
  三、程序设计题
  下列程序定义了M×M的二维数组,并在主函数中自动赋值。请编写函数proc(inta[][M],int n),该函数的功能是:使数字右上半三角元素中的值乘以m。
  例如,若m的值为5,a数组中的'值为:
  a=1 2
  3 4
  则返回主程序后a数组的值应为:
  5 10
  3 20
  注意:部分源程序给出如下。
  请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
  试题程序:
  #include
  #include
  #include
  #include
  #define M 5
  void proc(int a[][M],int m)
  {
  }
  void main()
  {
  int arr[M][M],m,i,J;
  system("CLS");
  printf("****The array****\n");
  srand((unsigned)time(NULL));
  for(i=0;i   //输出一个随机的5*5矩阵
  { for(j=0;j   {arr[i][j]=rand()%20;
  printf("%4d",arrEi]Ej]);
  }
  printf("\n");
  }
  do
  m=rand()%10;
  while(m>=3);//产生一个小于3的随机数printf("m=%4d\n",m);proc(arr,m);
  printf("THE RESULT\n");
  for(i=0;i  { for(j=0;j   {
  printf("%4d",arrEi]Ej]);
  printf("\n");
  }
  }

  上机考试试题答案与解析

  一、程序填空题
  【1】*(p1+i)【2】*p2【3】*p2++
  【解析】要将字符串str2接在字符串str后面,首先要得到字符串str1的长度,因此【1】填“*(pl+i)”。然后将字符串str2中的每一个字符接在字符串str]所有字符的后面,因此【2】填“*p2”;【3】填“*p2++”。
  二、程序改错题
  (1)错误:char pro((char str[])
  正确:char*proc(char str[])
  (2)错误:if((str1[i]>=’a’)&&(str[i]<=’z ’))正确:if((str[i]>:=’A’)&&(str[i]<=’Z’))【解析】由主函数中的函数调用及函数proc()的返回值,可知函数proc()的返回值类型为字符型指针,因此“char proc(char str[])”应改勾“char*proc(char str[])”;题目中要求将所有的大写字母转化为小写字母,因此“if((st[i]> =’a’)&&(str[i]<=z ’)”应改为“if((st[i]>=’A’)&&(str[i]<=’Z’))”。
  三、程序设计题
  void proc(int a[][M],int m)
  {
  int i,j;
  for(i=0;i  for(j=i;j  示右上半三角的下标a[i][j]=a[i][j]*m; //数字右上半三角元素中的值乘以rn}
  【解析】二维数组中右上半三角元素的特点为其行下标小于等于其列下标。根据这个特点,找出二维数组中所有的右上半三角元素,并将其值乘以m放在原来的位置上。
 

【计算机二级C语言上机考试练习题2017】相关文章:

1.计算机二级C语言上机编程题讲解

2.计算机二级C语言上机模拟题

3.2016年计算机二级C语言上机考试技巧

4.计算机二级C语言巩固练习题2017

5.计算机二级考试C语言模拟练习题

6.计算机二级C语言考试冲刺练习题

7.计算机二级考试C++语言程序设计上机考试试题

8.计算机二级C语言练习题

9.计算机二级考试C++上机考试试题