-->
当前位置:首页 > 题库 > 正文内容

湖州师范学院2019—2020学年第二学期 《C程序设计》期末考试试卷(B卷)

Luz3年前 (2021-03-04)题库3075

湖州师范学院2019—2020学年第二学期

《C程序设计》期末考试试卷(B卷)

考试时间   120  分钟

说明:(1)将所有试题的答案写在答卷上;

     2)交卷时将答卷纸和试题一同上交。

 

学院          班级        学号    姓名           成绩        

 

题号

总分

分数






 

得分


 

一、单选题(每题1分,共15分)

 

 

1、以下叙述中正确的是(    )。

A.C语言程序将从源程序中第一个函数开始执行

B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C.C语言规定必须用main()作为主函数名,程序将从此开始执行,在此结束

D.main可作为用户标识符,用以命名任意一个函数作为主函数

2、以下合法的用户标识符是(    )。

A._2020zhang                                B.95_ C

C.y-7                                             D.if

3、设整型变量a的值为2,执行下列语句后,实型变量b的值不为0.5的是(    )。

A.b=1.0/a                                      B.b=(float)(1/a)    

C.b=1/(float)a                                D.b=1/(a*1.0)

4有变量定义:char c=’A’;则以下不能将变量c转换成小写字母的C语言表达式是    )。

A.c=’a’                                                 B.c=c+32                 

C. c=tolowerr(c);                                  D. c=c-32

5、以下程序执行后输出结果是(    )。

#include <stdio.h>

main( )

{

 int x=102,y=012;

 printf("%2d,%2d\n",x,y);

}

A.10,01               B.02,12                 C.102,10                      D.02,10

6、以下程序段的输出结果是(   )。

int a = 10,b = 0 ;

if ( a > 15 )

  b = 1;

else if ( a < 2 )

  b = 2;

else

  b = 3;

printf("%d",b);

A.3                          B.2                       C.1                              D.0

7执行语句for (i=1; ++i<4;) ; 后变量i的值是   )。

   A.3                       B.4                 C.5                D.不定

8有定义:int a=[]={1,2,3,4};,则a[3]的值是   )。

A.1                                                    B.2

C.3                                              D.4

9、以下叙述中正确的是(   )。

 A.语句int a[][3]={1,2,4,5};是错误的初始化形式

 B.在逻辑上可以把二维数组看成是一个具有行和列的矩阵或表格

 C.语句int a[4][3]={{1,2},{4,5}};是错误的初始化形式

   D.语句int a[4][3]={1,2,4,5};是错误的初始化形式

10、下列语句定义p为指向float类型变量d的指针,其中正确的是(   )。

A.float d,*p=d;                                    B.float d,*p=&d;   

C.float*p=&d,d;                                  D.float d,p=d;

11、以下程序运行后的输出结果是(   )。

#include <stdio.h>

main()

{   int a[]={1,2,3,4,5,6,7,8,9,10,11,12,},*p=a+5,*q=NULL;

q=p+5;

printf("%d %d\n",*p,*q);

}

A.运行后报错          B.6 6                    C.6 11                         D.5 10

12C语言规定,函数返回值的类型是由   决定的。

A.return语句中的表达式类型             B.调用该函数时的主调函数类型

C.调用该函数时由系统临时                      

D.在定义函数时所指定的函数类型

13、以下程序运行后的输出结果是(   )。

#include <stdio.h>

void point(char  *p)

{

   p+=3;

}

main()

{   char  b[4]={'a','b','c','d'},*p=b;

    point(p);    printf("%c\n",*p);

}

A.a                           B.b                       C.c                              D.d

14、设有以下宏定义,则执行语句z=2*(N+Y(5+1));后,z的值为(   )。

#define N 3

#define Y(n) ((N+1)*n)

A.出错                     B.42                      C.48                            D.54

15、若有以下程序

#include<stdio.h>

main()

{   int c;

    c=13|5;

    printf("%d\n",c);

    }   

则程序的输出结果是(   )

  A.13                  B.5                              C.18                    D.15


 

 

得分


 

二、程序填空题(每空2分,共30分)

 

1、从键盘输入梯形的上下底边长度ab和高h(均为实数),计算梯形的面积。梯形的面积 image.png。请将程序补充完整。

#include<stdio.h>

main()

{    1   ;

  printf("请输入梯形上底边a、下底边b和高h:");

  scanf("%f%f%f",   2   );      

     3   ;                //计算梯形面积

  printf("梯形面积S=%.2f \n",s);

}

2、以下程序的功能是从键盘上输入一个日期计算这个日期是当年的第几天例如输入2020/2/2输出33。请将程序补充完整。(能被4整除但不能被100整除;或者能被400整除的年份是闰年。另:本程序不考虑输入不正确的月份和日期)

#include <stdio.h>

main()

{

    int y,m,d,days,i;

    scanf("%d/%d/%d",&y,&m,&d);

    days=0;

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

     if(i==1||i==3||i==5||i==7||i==8||i==10)

        days=days+31;

      else if(   4   )

             days=days+28;

      else

             days=days+30;

     5   ;

  if(   6   &&m>2)

    days++;

    printf("%d\n",days);

}

3、以下程序功能是:实现插入排序。插入排序是指在待排序的元素中,假设前面n-1(其中n>=2)个数已经是排好顺序的,现将第n个数插到前面已经排好的序列中,然后找到合适自己的位置,使得插入第n个数的这个序列也是排好顺序的。按照此法对所有元素进行插入,直到整个序列排为有序的过程,称为插入排序。例如原数组中的元素为:18,7,2002, 30, 123,输入整数200,则数组中的元素为:2,7,18,30,123,200请将程序补充完整。

#include <stdio.h>

main()

{

    int a[10]={18,7,200,2,30,123},n,i,x;

    for(n=1;n<6;n++)

    {

       7   ;

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

      if(a[i]>x)

          8   ;

      else

          9   ;

      a[i+1]=x;

    }

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

       printf("%d ",a[i]);

}

4、以下程序的功能是:给定矩阵的下三角部分,补齐上三角部分,使其成为对称矩阵(如下所示)。请将程序补充完整。


7   3        2   5  11

 3        8   6   4       13

 2        6   9   1       15

 5        4   1  10       16

11  13       15  16  14

 


 

 

 

 

 

 


#include <stdio.h>

main()

{

    int a[5][5]={{7}, {3,8}, {2,6,9}, {5,4,1,10},{11,13,15,16,14}},j,i;

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

      for(  10   ;j<5;j++)

          11   ;

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

      {

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

           printf("%4d",a[i][j]);

          printf("\n");

      }

   }

5、以下程序的功能是:函数len的功能是计算参数对应字符串的长度。例如:字符串:string,则函数的返回值为6。请将程序补充完整。

#include <stdio.h>

#include <string.h>

int len(   12    )

{

    int i=0;

    while(   13    )

      i++;

    return i;

}

main()

{

    char str[100];

    int L;

    gets(str);

    L=   14    ;

    printf("%d\n",L);

}

6、以下程序的功能是:生成一个数列,该数的规则是第1231,从第4项开始为前3项之和,将数列的各项存放在数组a中,其中函数fun的功能是生成数列的各项,main函数中将数列各项输出)。请将程序补充完整。

#include <stdio.h>

void fun(int *a,int n)

{

    int i;

       15   ;

    for(i=3;i<n;i++,a++)

       *a=*(a-1)+*(a-2)+ *(a-3);

}

main()

{

    int i,n,a[50]={1,1,1};

    scanf("%d",&n);

    fun(a,n);

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

      printf("%d ",a[i]);

}

得分


 

三、程序阅读题(每题3分,共15分)

 

 

1、程序1

#include <stdio.h>

main()

{

    int a,b;

    char c=’a’;

    a=15;

    b=6;                           

    printf("%d %d  ",a%b,a/b);

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

    printf("%c %d\n",c,c-32);

}

程序的输出结果是                                      

2、程序2

#include <stdio.h>

main()

{

    int n,y;

    scanf("%d",&n);                        

    if(n%3==0&&n%5==0)

      y=1;

     else

      y=0;

    printf("%d\n",y);

}

程序运行时,输入15则输出的结果是                             

3、程序3

#include <stdio.h>

main()

{

    int n,i;

    scanf("%d",&n);

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

      if(n%i==0)

        break;

    if(i>=n)

      printf("YES\n");

    else

      printf("NO\n");

}

程序运行时,输入13程序的输出结果是                            

 4、程序4

#include <stdio.h>

main()

{

    int a[10]={1,4,2,4,3,4,5,4,6,4},i,j=0,x;

    scanf("%d",&x);

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

      if(a[i]!=x)

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

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

       printf("%d ",a[i]);

}

程序运行时,输入4程序的输出结果是                             

5、程序5

#include <stdio.h>

float fun(int n)

{

    if(n<=1)

      return 1;

    else

      return fun(n-1)+1.0/n;

}

main()

{

    float f;

    f=fun(4);

    printf("%f\n",f);

}

则输出的结果是                                             

 

得分


 

四、程序设计题(每小题10分,共40分)

 

1、求下列分段函数的值。(x是由键盘输入的实数)

image.png

 


运行示例2

输入:0

输出:0.000000

 

 


 

 

 

 

 


2、输入一个正整数n1n≤10),求以下表达式的值并输出计算结果。

image.png

 

运行示例:

输入:10

输出:0.632120

3、输入一个正整数n0<n≤100),然后输入n 个整数并存入数组,再输入一个整数x,在数组查找x,若x在数组中输出在数组中的位置(下标),若有多个输出最小的下标值;若不在数组中则输出-1

运行示例:

输入n5

      1 2 5 4 5

输入x5

输出:2

 

4、输出100300之间的所有回文数(所谓回文数是指将整数的各位数字反向排列所得自然数与原数相等,则称为回文数,例如121。)。要求:(1)定义函数hw(n),功能判断n是否为回文数,若是返回1,否则返回0;(2)在main函数中输出结果,要求每一行输出5个回文数。

运行示例:

输出:    101  111  121  131  141

151  161  171  181  191

202  212  222  232  242

252  262  272  282  292


湖州师范学院2019—2020学年第二学期

《C程序设计》期末考试试卷(B卷)

适用班级  20190218,20190713,20190714,20190721,20191023,20191024

20191025,20191026,20191611,20191622,20191624,20191626        

考试时间   120  分钟

说明:(1)将所有试题的答案写在答卷上;

2)交卷时将答卷纸和试题一同上交。

 

学院          班级        学号    姓名           成绩        

 

题号

总分

分数






 

得分


 

一、单选题(每题1分,共15分)

 

 

1

2

3

4

5

6

7

8

9

10











11

12

13

14

15



















 

 

得分


 

二、程序填空题(每空2分,共30分)

1(1)                   (2)                    

 

(3)                                           

 

2(4)                   (5)                   

 

(6)                                           

 

3(7)                     (8)                  

 

(9)                                           

 

4(10)                 (11)                   

 

5(12)                   (13)                  

 

(14)                                           

 

6 (15)                                        

 

得分


 

三、程序阅读题(每题3分,共15分)

 

 

1、程序的输出结果是                                             

 

2、程序运行时,输入15,则输出的结果是                              

 

3、程序运行时,输入13,程序的输出结果是                          

 

4、程序运行时,输入4,程序的输出结果是                             

 

5、程序的输出结果是                                             

 

得分


 

四、程序设计题(每小题10分,共40分)

 

1                                        

 

 

 

 

 

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 



 

评论列表

Ljh
Ljh
3年前 (2021-08-02)

你好,有无湖州师范的c语言其他年份的试卷!博主

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。