⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 czda015.txt

📁 经典C教程,带所有ANSI C的库函数说明及例子
💻 TXT
字号:
 
         二级C语言部分上机模拟试卷及答案

    说明:1.二级C语言部分上机模拟试卷共4个题,满分为
 100分,60分及格。前两题为DOS操作题,每题15分,共计30
 分;后两题为C语言编程题或调试题,分别为40分和30分,
 共计70分。
    2.测试时间为60分钟。


    一、DOS操作题
  1  将当前目录下的目录GHY\ARS中的文件GAS.TXT
 设置为系统文件属性。
*** 答案:ATTRIB +S \GHY\ARS\GAS.TXT 

  2  将当前目录下的目录TRY删除。
*** 答案: CD TRY
***        DEL *.*
***        CD..
***        RD TRY
   

    二、调试修改程序题
    下面程序中fun函数的功能是:求出1,1+2,1+2+3,…
 各项的值并入在一维数组a中传回主函数。
    例如:若k=6,则应输出:
             1 3 6 10 15 21 
    请改正函数fun中的错误,使它能得出正确的结果。注意:
 不要改动main函数,不得增行或删行,也不得更改程序的结
 构!
   #include <conio.h>
   #include <stdio.h>
   #define N 20
     / * 错误在fun函数中 * /
   void fun (int *a, int m)
   {int i, j, s;
    for(j=0, i=1; i<=m; i++, j++);
       {s=s+i;
           a[j]=s;
       j=0;
     while(a[j]) 
    printf("%d ", a[j]);
      printf("\n");
    main()
    { int a[N]={0}, k;
       clrscr();
     printf("Enter a number: ");
     scanf("%d", &k);
     fun(a, k);
*** 答案:对fun子程序进行修改,修改以后的程序如下:
***   void fun (int *a, int m)
***   {int i, j, s=0; /* s应赋初值0 */
***    for(j=0, i=1; i<=m; i++, j++)
***       /* for语句后不能有;号 */
***       {s=s+i;
***         a[j]=s;
***         }
***     j=0;
***     while(a[j]) 
***    printf("%d ", a[j++]);
***  /* printf语句中的a[j]应改为a[j++] */
***    printf("\n");
***    }


    三、编程题
    请编写函数void fun(int *a, int *n, int y),它的功能
 是:把y值插入到a数组中,a数组中的数由主函数按由小到大
 的次序从键盘读入,y的值也从键盘读入。插入后,数组中的
 数仍然有序。
    请勿改动主函数main和其它函数中的任何内容,仅在函数
 fun的花括号中填入你编写的若干语句。
   #include <conio.h>
   #include <stdio.h>
   #define  M 50
     void fun (int a[], int x, int *n)
       /*答案开始 */ 
       /*答案结束 */
   main()
    { int a[M], x, n, k;
        clrscr();
    printf("\nPlease enter n:");
      scanf("%d", &n);
    printf("\nEnter %d number 
                (from small to large): \n", n);
     for(k=0; k<n; k++)scanf("%d", a+k);
     printf("\nExter x:\n"); scanf("%d", &x);
     for(k=0; k<n; k++) printf("%d,", a[k]); 
         printf("\n");
      fun(a, x, &n);
  printf("\nThe result is:(from small to large):\n");
   for (k=0; k<n; k++) printf("%d,", a[k]);
     printf("\n");
*** 答案:在函数fun中添加程序段如下:
***  void fun (int a[], int x, int *n)
***   {
***      /*参考答案开始 */ 
***       int  i,k;    
***     a[*n]=x;    i=*n-1;
***     while (a[i]>x&&i>=0)
***   {  a[i+1]=a[i];  i--; }
***    a[i+1]=x;   *n+=1;             
***      /*参考答案结束 */
***     }

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -