栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

期末考试题(3)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

期末考试题(3)

一、填空   共5题 (共计20分)

第1题 (4.0分)        题号:1880        难度:易        第22章

以下程序运行后,输出的a值是【1】,b值是【2】,x的值是【3】,y的值是【4】。

# include

void ex(int, int);

int main( )

{

        int a = 11, b = 17;

        ex(a, b);

        printf("a = %d, b = %dn", a, b);

        return 0;

}

void ex(int x, int y)

{

        x++;

        ++y;

        printf("x = %d, y = %dn", x, y);

}

=======(答案1)=======

11

=========或=========

a=11

=======(答案2)=======

17

=========或=========

b=17

=======(答案3)=======

12

=========或=========

x=12

=======(答案4)=======

18

=========或=========

y=18

第2题 (4.0分)        题号:1884        难度:较易        第22章

以下程序输出结果是【1】。

#include "stdio.h"

union pw

{

        int i;

        char ch[2];

}a;

main()

{

        a.ch[0]=97;

        a.ch[1]=0;

        printf("%dn",a.i);

}

=======(答案1)=======

97

第3题 (4.0分)        题号:1888        难度:中        第22章

以下程序输出结果是【1】。

# include

int  age(int n)

{

        int c;

        if (n==1)

                c = 8;

        else

                c = age(n-1)+2;

        return c;

}

int main()

{

        printf("%dn", age(5));

        return 0;

}

=======(答案1)=======

16

第4题 (4.0分)        题号:1895        难度:较难        第22章

以下程序输出结果是【1】。

#include

int a=30,b=50;

int main()

{        int f(int);           

        int a=2,i;

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

                printf("%d ",f(a));

        return 0;

}

int f(int a)

{         auto  int b=0;

           static int c=3;

        b=b+1;

           c=c+1;

        return(a+b+c);

}

=======(答案1)=======

7 8 9

第5题 (4.0分)        题号:1462        难度:难        第22章

程序运行时若依次输入25,3,40,则输出结果是【1】.

main()

{int *p1,*p2,*p3;

int i,j,k,t;

scanf("%d%d%d",&i,&j,&k);

p1=&i;

p2=&j;

p3=&k;

if(*p1<*p2){t=*p1;*p1=*p2;*p2=t;}

if(*p1<*p3){t=*p1;*p1=*p3;*p3=t;}

if(*p2<*p3){t=*p2;*p2=*p3;*p3=t;}

printf("%dn",*p2);

}

=======(答案1)=======

25

二、程序填空   共3题 (共计20分)

第1题 (5.0分)        题号:529        难度:中        第9章

# include

struct student

{

  char number[6];

  char name[6];

  int  score[3];

} stu[2];

void output(struct student stu[2]);

void main()

{

  int i, j;

  

  for(i=0; i<2; 【?】)

  {

    printf("请输入学生%d的成绩:n", i+1);

    printf("学号:");

    

    scanf("%s", 【?】.number);

    printf("姓名:");

    scanf("%s", stu[i].name);

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

    {

      printf("成绩 %d.  ", j+1);

      

      scanf("%d", 【?】.score[j]);

    }

    printf("n");

  }

  output(stu);

}

void output(struct student stu[2])

{

  int i, j;

  printf("学号  姓名  成绩1  成绩2  成绩3n");

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

  {

  

  【?】("%-6s%-6s", stu[i].number, stu[i].name);

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

    printf("%-8d", stu[i].score[j]);

    printf("n");

  }

}

答案:

=======(答案1)=======

i++

=========或=========

++i

=========或=========

i=i+1

=========或=========

i+=1;

=======(答案2)=======

stu[i]

=======(答案3)=======

&stu[i]

=======(答案4)=======

printf

第2题 (10.0分)        题号:368        难度:中        第10章

#include  

void fun(char  *s, int  *t)

{  

        int i, n;

        n=0;

        for(i=0; 【?】 !=0; i++)

                if(s[i]>='0'&&s[i]<= 【?】 ) n++;

                【?】 ;

}

main()

{  

        char  s[80]="abcdef35adgh3kjsdf7";

        int t;

        printf("nThe original string is :  %sn",s);

        fun(s,&t);

        printf("nThe result is :  %dn",t);

}

答案:

=======(答案1)=======

s[i]

=======(答案2)=======

'9'

=======(答案3)=======

*t=n

第3题 (5.0分)        题号:530        难度:中        第11章

# include

# include

void main()

{

  

  

  【?】 *fp;

  char filename[10];

  printf("Please input the name of file: ");

  scanf("%s", filename);  

  

  

  if((fp=fopen(filename, "【?】")) == NULL)

  {

    printf("Cannot open the file.n");

    exit(0);  

  }

  

  

 【?】;

}

答案:

=======(答案1)=======

FILE

=======(答案2)=======

r

=======(答案3)=======

fclose(fp)

三、程序改错   共3题 (共计20分)

第1题 (5.0分)        题号:229        难度:中        第8章

#include

int fun(double x[],int n)

{

  int j,c=0;

  

  float j=0;

  

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

    xa+=x[j];

  xa=xa/n;

  printf("ave=%fn",xa);

  

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

    if(x[j]<=xa)   c++;

      

  return xa;

}

main()

{

  double x[]={23.5,45.67,12.1,6.4,58.9,98.4};

  printf("%dn",fun(x,6));

}

答案:

=======(答案1)=======

float xa=0;

=========或=========

float xa=0.0;

=========或=========

double xa=0;

=========或=========

double xa=0.0;

=======(答案2)=======

for(j=0;j

=========或=========

for(j=0;n>j;j++)

=========或=========

for(j=0;n-1>=j;j++)

=========或=========

for(j=0;j<=n-1;j++)

=======(答案3)=======

for(j=0;j

=========或=========

for(j=0;n>j;j++)

=========或=========

for(j=0;j<=n-1;j++)

=========或=========

for(j=0;n-1>=j;j++)

=======(答案4)=======

return c;

=========或=========

return (c);

第2题 (10.0分)        题号:247        难度:中        第10章

#include

void  fun(float *a,float *b,float *c)

{

        float   *k;

        if( *a<*b )

        {   

                k=*a;

                *a=*b;

                *b=k;

        }

        if( *a>*c )

        {  

                k=*c;

                *c=*a;

                *a=k;

        }

        if( *b<*c )

        {   

                k=*b;

                *b=*c;

                *c=k;

        }

}

main()

{  

        float   a,b,c;

        printf("Input  a  b  c:  ");

        scanf("%f%f%f",&a,&b,&c);

        printf("a = %4.1f, b = %4.1f, c = %4.1fnn",a,b,c);

        fun(&a,&b,&c);

        printf("a = %4.1f, b = %4.1f, c = %4.1fnn",a,b,c);

}

答案:

=======(答案1)=======

float k;

=======(答案2)=======

if(*a< *c)

=========或=========

if(*c> *a)

第3题 (5.0分)        题号:207        难度:难        第10章

#include

main()

{

  int a[10];

  void input();

  void output();

  void max_min();

  input(a,10);

  max_min(a,10);

  output(a,10);

}

void input(int *arr,int n)

{

  int *p,i;

  p=arr;

  printf("please enter 10 integers:n");

  for(i=0;i

  

  scanf("%d",p);

}

void max_min(int *arr,int n)

{

  int *min,*max,*p,t;

  min=max=arr;

  for(p=arr+1;p

    

    if(*p<*max)

       max=p;

    else if(*p<*min) min=p;

      t=*arr;*arr=*min;*min=t;

  if(max=arr) max=min;

  t=*(arr+n-1);

  *(arr+n-1)=*max;

  *max=t;

}

void output(int *arr,int n)

{

  int *p,i;

  p=arr;

  printf("The changed array is:n");

  

  while(i=0;i

    printf("%3d",*p++);

  printf("n");

}

答案:

=======(答案1)=======

scanf("%d",p ++);

=========或=========

scanf("%d",arr[i]);

=========或=========

scanf("%d",p+i);

=========或=========

scanf("%d",arr+i);

=======(答案2)=======

if(*p>*max)

=========或=========

if(*max<*p)

=======(答案3)=======

if( max == arr )

=======(答案4)=======

for(i=0;i

=========或=========

for(i=0;n>i;i++)

=========或=========

for(p=arr;p

=========或=========

for(i=0;i<=n-1;i++)

=========或=========

for(i=0;n-1>=i;i++)

=========或=========

for(p=arr;p<=arr+n-1;)

=========或=========

for(p=arr;arr+n-1>=p;)

四、程序设计   共4题 (共计40分)

第1题 (10.0分)        题号:313        难度:易        第3章

#include

void wwjt();

     

int fun(int n)

{

  

  

  

  

  

  

  

  

  

  

}

main()

{

  int k;

  k=fun(1234);

  printf("k=%dn",k);

  wwjt();

}

void wwjt()

{

  FILE *IN,*OUT;

  int iIN,iOUT,i;

  IN=fopen("22.IN","r");

  if(IN==NULL)

  {

    printf("Please Verify The Currernt Dir..it May Be Changed");

  }

  OUT=fopen("22.out","w");

  if(OUT==NULL)

  {

    printf("Please Verify The Current Dir.. it May Be Changed");

  }

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

  {

    fscanf(IN,"%d",&iIN);

    iOUT=fun(iIN);

    fprintf(OUT,"%dn",iOUT);

  }

  fclose(IN);

  fclose(OUT);

}

答案:----------------------

int d,k,s=0;

   while (n>0)

    {d=n%10;

    s+=d*d*d;

     n/=10;

     }

     return s;

----------------------

第2题 (10.0分)        题号:440        难度:中        第3章

#include

void  wwjt();

  

double fun(int m)   

{

  

  

  

  

  

  

  

}

main()   

{

  int n;   

  printf("Enter n: ");   

  scanf("%d", &n);   

  printf("nThe result is %1fn", fun(n));

  wwjt();  

}   

void wwjt()

{

  FILE *IN,*OUT;

  int i ;

  int t;

  double o;

  IN=fopen("in.dat","r");

  if(IN==NULL)

  {

    printf("Read FILE Error");

  }

  OUT=fopen("out.dat","w");

  if(OUT==NULL)

  {

    printf("Write FILE Error");

  }

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

  {   

    fscanf(IN,"%d",&t);

    o=fun(t);

    fprintf(OUT,"%fn",o);

    

  }

  fclose(IN);

  fclose(OUT);

}

答案:----------------------

     double y=0;

     int i;

     for(i=1; i<=m; i++)

     {y+=1.0/(2*i);  }

     return(y);

----------------------

第3题 (10.0分)        题号:362        难度:较难        第3章

#include

#define   N   16

void wwjt();

typedef  struct

{  

        char  num[10];

        int   s;

} STREC;

int  fun( STREC  *a,STREC *b,int l, int h )

{

        

        

}

main()

{  

        STREC  s[N]={{"GA005",85},{"GA003",76},{"GA002",69},{"GA004",85},

                {"GA001",96},{"GA007",72},{"GA008",64},{"GA006",87},

                {"GA015",85},{"GA013",94},{"GA012",64},{"GA014",91},

                {"GA011",90},{"GA017",64},{"GA018",64},{"GA016",72}};

        STREC  h[N];

        int  i,n,low,heigh,t;

        printf("Enter 2 integer number low & heigh :  ");

        scanf("%d%d", &low,&heigh);

        if ( heigh< low )

        {

                t=heigh;

                heigh=low;

                low=t;

        }

        n=fun( s,h,low,heigh );

        printf("The student's data between %d--%d :n",low,heigh);

        for(i=0;i

                printf("%s  %4dn",h[i].num,h[i].s);

        printf("n");

        wwjt();

}

void wwjt()

{

        FILE *in, *out ;

        STREC  s[N],h[N];

        int i,j,n;

        in=fopen("in.dat","r");

        if(in==NULL)

        {

                printf("Please Verify The Currernt Dir..It May Be Changed");

        }

        out=fopen("out.dat","w");

        if(out==NULL)

        {

                printf("Please Verify The Current Dir.. It May Be Changed");

        }

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

        {

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

                {

                        fscanf(in,"%s %d",&s[i].num,&s[i].s);

                }

                n=fun( s,h,80,98 );

                fprintf(out,"%dn",n);

        }

        fclose(in);

        fclose(out);

}

答案: int i,j=0;

for(i=0;i

if(a[i].s>=l&&a[i].s<=h)

b[j++]=a[i];

return j;

第4题 (10.0分)        题号:302        难度:难        第3章

#include

void wwjt();

float StuAgv[2];

float CouAgv[3];

float Max=0;

void fun(float score[2][3])

{

  

  

  

  

}

void main()

{

        int i,j;

        float score[2][3];

    

        printf("输入学生的成绩:");

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

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

         scanf("%f",&score[i][j]);

    printf("n输出学生的成绩:");

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

        {  

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

             printf("%.2f  ",score[i][j]);

       printf("n");

        }

   

    fun (score);

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

       printf("第%d个学生的平均成绩是:%0.2fn",i+1,StuAgv[i]);

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

       printf("第%d门课的平均成绩是:%0.2fn",j+1,CouAgv[j]);

        

        printf("所有分数中的最高分为:%.2fn",Max);

        wwjt();

}

void wwjt()

{

  FILE *IN,*OUT;

  float iIN[2][3];

  int i,j;

  IN=fopen("in.dat","r");

  if(IN==NULL)

  {

    printf("Please Verify The Currernt Dir..it May Be Changed");

  }

  OUT=fopen("out.dat","w");

  if(OUT==NULL)

  {

    printf("Please Verify The Current Dir.. it May Be Changed");

  }

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

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

      fscanf(IN,"%f",&iIN[i][j]);

  fun(iIN);

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

    fprintf(OUT,"%.2fn",StuAgv[i]);

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

    fprintf(OUT,"%.2fn",CouAgv[j]);

  fprintf(OUT,"%.2fn",Max);

        fclose(IN);

  fclose(OUT);

  return ;

}

答案: int i,j;

float sum;

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

{

  sum=0;

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

        sum=sum+score[i][j];

      StuAgv[i]=sum/3;

 }

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

 {

   sum=0;

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

         sum=sum+ score [i][j];

       CouAgv[j]=sum/2;

 }

      Max=score[0][0];

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

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

          if(Max<=score[i][j])

  {

Max=score[i][j];

   }

  return ;

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/665483.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号