最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 正文

安徽大学c语言试卷

来源:动视网 责编:小OO 时间:2025-09-22 23:08:20
文档

安徽大学c语言试卷

安徽大学20-20学年第学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号题号一二三四五六七八得分得分得分一.单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。1.下面程序段执行后,a的值是______。inta;printf("%d\\n",(a=3*5,a*4,a+5));A)60B)20C)15D)102.下列程序段的输出是______。intx=023;pri
推荐度:
导读安徽大学20-20学年第学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号题号一二三四五六七八得分得分得分一.单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。1.下面程序段执行后,a的值是______。inta;printf("%d\\n",(a=3*5,a*4,a+5));A)60B)20C)15D)102.下列程序段的输出是______。intx=023;pri
安徽大学20   -20   学年第   学期

《C语言程序设计》期末考试试卷(A卷120分钟)

年级        院系专业       姓名        学号         座位号       

题号得分
得分
得分
一. 单项选择题:(每题2分,共40分)

下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。

1.下面程序段执行后,a的值是______。

        int a;

        printf("%d \\n", (a=3*5, a*4, a+5) );

    A)60      B)20            C)15        D)10

2.下列程序段的输出是______。

        int x=023;

        printf("%d \\n", --x );

    A)19      B)18           C)23        D)22

3.执行下列语句后,a的值是______。

        int a=8;

        a+=a-=a*a;

    A)-240         B)           C)112         D)-112

4.执行下列语句后,输出的值是______。

        int x=6;

        printf("%d,%d,%d\\n",x,x++,--x);

    A)5,5,5        B)6,5,5        C)7,6,5       D)5,6,5

5.指出下列程序段所表示的逻辑关系是______。

if(a        {

          if(c==d)

             x=1;

         }

        else

          x=2;

    A)若a=b且c!=d,则x=2。

    B)若a=b,则x=2。

    C)若a    D)若a6.下列程序段的执行结果是______。

        int i,x;

for(i=1,x=1;i<=20;i++)

        {

if(x>=10) break;

          if(x%2==1)

          {

             x+=5;

             continue;

          }

          x-=3;

        }

        printf("%d,%d\\n",x,i);

     A)6,4         B)7,5       C)10,6     D)14,7

7.下列程序的执行结果是______。

        #include "stdio.h"

        #include "string.h"

        main()

        {

         static char s[10]={'C','h','i','n','a'};

         printf("%d\\n",strlen(s));

        }

     A)6           B)5         C)11       D)10

8.函数的数据类型是______决定的。

     A)调用该函数时临时        B)调用函数的实参

     C)return语句的表达式类型   D)函数的形参

9.执行下列程序段后,*(p+5)的值是______。

        static char s[]="Hello";

        char *p;

        p=s;

     A)'o'         B)'\\0'      C)'o'的地址  D)不确定的值

10.以下程序的输出结果是______。

        #include "stdio.h"  

        main()

        {

         static int a[]={1,2,3,4,5,6},*p;

         p=a; *(p+3)+=2;

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

         }

      A)0,5        B)1,5       C)0,6       D)1,6

11.在以下定义中,标识符P______。

        int (*p)[3];

      A)定义不合法。

      B)是一个指针数组名,每个元素是一个指向整型变量的指针。

      C)是一个指针,它指向一个具有三个元素的一维数组。

      D)是一个指向整型变量的指针。

12.sizeof(int)是______。

      A)一个整型表达式            B)一个不合法的表达式

      C)一种函数调用              D)一条语句

13.有宏定义:#define MULT1(a,b) a*b

                #define MULT2(a,b) (a)*(b)

      在后面的程序中有宏引用:y=MULT1(3+2,5+8);

                              z=MULT2(3+2,5+8);

      则y和z的值是______。

      A)y=65,z=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=21

14.设有程序段:

        union MYTYPE { long x; int y[4]; char z[6];}them;

        main(){ printf(“%d\\n”,sizeof(them)); }

      则程序的输出结果是______。

      A)18    B)6    C)8    D)4

15.以读写方式打开一个已有的文本文件file1,下面fopen函数正确的调用方式

      是______。

      A)FILE *fp;               B)FILE *fp;

          fp=fopen("file1    fp=fopen("file1

C)FILE *fp;               D)FILE *fp;

          fp=fopen("file1    fp=fopen("file1

16. 设有如下定义:

      struct sk {int a; float b;} data,*p;

      且 p=&data; 则对data中a域的正确引用是 (    ).

A) (*p).data.a B) (*p).a C) p->data.a D) p.data.a

17.若fun( int x) { printf(“%d\\n”,x);}, 则fun_______。

     A)返回值为 void 类型  B)返回值无法确定

     C)返回值为 int 类型    D)没有返回值

18.实参和和形参之间的数据传送是_______。

     A)地址传送  B)实参传给形参,再由形参传给实参

     C)值传送    D)由用户指定传送方式

19.以下程序的输出结果是______。

         char *s=”ABCD”, *p;

         for( p=s;  *p ;  p++)

            printf("%s\\n", p);

      A)ABCD        B)A       C)D       D)ABCD

    BCD    B    C    ABC

    CD    C    B    AB

    D    D    A    A

20.下列程序段的输出是______。

int fun( int x)

{

    static int a=3;

    a+=x;

    return a;

}

void main( void )

{

    int k=2, m=1, n;

    n=fun(k);

    n=fun(m);

    printf( “%d\\n”, n);

}

      A)3      B)4      C)6   D)9

得分
二. 填空题:(每空1分,共20分)

请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。

1.C语言有  ⑴  、  ⑵ 、  ⑶  、  ⑷  和  ⑸  五种常量。

2.C程序的变量不仅要事先  ⑹  ,而且还必须  ⑺  后才能使用。

3.C语言在给出逻辑运算结果时,以  ⑻  代表“真”,以  ⑼  代表“假”;在判断一个量是否为“真”时,以  ⑽  代表“假”,以  ⑾  代表“真”。

4.C语言规定只有  ⑿  数组和  ⒀  数组才能初始化;这种数组不赋初值,系统会对所有数组元素自动赋以  ⒁  值。

5.对两个指针变量进行关系运算的条件是  ⒂  ,其结果表示  ⒃  。

6.一个C文件是一个  ⒄  或  ⒅  ,它把数据看成是  ⒆  ,对文件的存取是以  ⒇  为单位。

得分
三. 程序设计题(每空2分,共40分)

阅读下列程序,在横线上填入适当的内容使程序完整。请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。

1.下列程序是求Fibonacci数列:1,1,2,3,5,8……的前40个数,要求每行输出4个数。

          main()

          {

           long int f1,f2;

           int i;

           f1=1 ; f2=1;

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

              {

               printf("%12ld %12ld ",f1,f2);

               if(  ⑵  ) printf("\\n");

               f1=  ⑶  ;

               f2=  ⑷  ;

               }

          }

2.下列程序是求一个3×4矩阵中值最小元素。

          min_value(  ⑸  )

          { int i,j,k,min;

               ⑹  =array[0][0];

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

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

                    if(  ⑺  )  min=  ⑻   ;

               ⑼   ;

          }

          main()

          { static int a[3][4]={ 1,2,3,4,5,6,7,8,9 };

            printf("min value is %d\\n",min_value(   ⑽   ));

          }

3.下列程序的功能是:将字符串a复制到字符串b中。

          void copy_string(char *from,    ⑾    )

           ;

          {

             for(;*from;   ⑿   )

                   ⒀    ;

             *to= ⒁  ;

          }

          main()

          { char *a="I am a boy!";

            char *b="This is a test!";

                ⒂    ;

            printf("a=%s\\a=%s\\n",a,b);

          }

4.有一个班,3个学生,各学四门棵。下列程序的功能是:查找有一门以上课程不及格的学生,打印出他们的全部课程的成绩。

          main()

          {    ⒃    ;

            static float score[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

            search(score,3);

          }

          void search( float (*p)[4], int n)

          ;

          { int i,j,flag;

for(j=0;j              { flag=0;

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

                   if(    ⒄    ) flag=1;

                if(    ⒅    )

                    { printf("No.%d is fail\\n",j+i);

                      for(i=0;    ⒆    ;i++)

                         printf("%5.1f ",   ⒇   );

                     printf("\\n");

                    }

              } 

          }

参:

一. 单项选择题:(每题2分,共40分)

    CBDBB CBCBD CABBB BCCAC

二. 填空题:(每题2分,共20分)

1常数    2  字符    3  字符串    4、转义序列    5符号常量

6定义     7  赋值    8  1     9  0    10  非0 

11  0    12  static     13 extern    14  0    15指向同一数组

16位置的前后    17字节流    18二进制流     19一连串的字符    20字符(字节) 

三. 程序归纳题(每题2分,共40分)

1      20            2      i%5==0            

3     f1+f2            4      f1+f2        

5    int array[3][4]      6     min        

7 min9    return min                  10      a            

11    char *to              12      from++,to++ 

13     *to=*from        14      ‘\0’        

15   copy_string(a,b)    16 void search( float (*p)[4], int n)  

17 p[j][i]<60     18     flag==1      

19     i<4              20     p[j][i]      

安徽大学20   -20   学年第   学期

《C语言程序设计》期末考试试卷(B卷120分钟)

年级        院系专业       姓名        学号         座位号       

题号得分
得分
得分
一. 单项选择题:(每题2分,共20分)

下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。

1.执行程序: int a; printf("%d \\n", (a=3*5, a*4, a+5) );后,a的值是______。

    A)60    B)20    C)15    D)10

2.程序段:int x=023;  printf("%d \\n", --x );的输出是______。

    A)19    B)18    C)23    D)22

3.程序段:static char s[10]={'C','h','i','n','a'}; printf("%d\\n",strlen(s));的输出是______。

    A)6     B)5    C)11    D)10

4.若fun( int x) { printf(“%d\\n”,x);}, 则fun_______。

    A)返回值为 void 类型    B)返回值类型无法确定

    C)返回值为 int 类型    D)没有返回值

5. 有宏定义:#define MULT1(a,b) a*b

            #define MULT2(a,b) (a)*(b)

且引用宏:y=MULT1(3+2,5+8); z=MULT2(3+2,5+8); 则y和z的值是______。

      A)y=65,z=65 B)y=21,z=65 C)y=65,z=21 D)y=21,z=21

6.程序段char s[]="Hello", *p;  p=s;执行后,*(p+5)的值是______。

    A)'o'    B)'\\0'    C)'o'的地址    D)不确定的值

7. 程序段:char *s=”ABCD”, *p; for( p=s; *p ; p++) printf("%s\\n", p);的输出是______。

    A)ABCD    B)A     C)D    D)ABCD

    BCD    B    C    ABC

    CD    C    B    AB

    D    D    A    A

8. 若定义:int (*p)[3]; 则标识符p______。

    A)定义不合法。

    B)是一个指针数组名,每个元素是一个指向整型变量的指针。

    C)是一个指针,它指向一个具有三个元素的一维数组。

    D)是一个指向整型变量的指针。

9. 定义: struct sk {int a; float b;} data,*p; 且 p=&data; 则正确引用成员a的方式是 ______。

    A) p.data.a    B) (*p).a    C) p->data.a    D) (*p).data.a

10. 以二进制只读方式打开一个已有的文本文件file1,正确调用fopen函数的方式是______。

    A)FILE *fp;        B)FILE *fp;

    fp=fopen("file1    fp=fopen("file1

    C)FILE *fp;        D)FILE *fp;

    fp=fopen("file1    fp=fopen("file1

得分
二. 填空题:(每空1分,共20分)

请将正确答案填在答题卡相应题目的横线上。答在试卷上不得分。

7.C程序一个函数的定义由__________和____________两部分组成。

8.C语言的整型变量可分为基本型、短整型、________和________。

9.C语言在判断一个量是否为“真”时,以____代表“假”,以____代表“真”。

10.C语言中的break语句只能用于______和______语句。

11.对________和________型数组不赋初值,系统会对所有元素自动赋以0值。

12.C语言中“文件包含”是通过____________命令完成的,而符号常量是通过____________命令定义的。

13.对于数组x[5][5],*(x+2)+3表示__________,*(x[3]+2)表示__________。

14.若定义:struct {int y, m, d;} today, *pdata; 则为today分配内存 ____ 字节,为pdata分配内存 ____ 字节。

15.C语言文件按数据的存放形式可分为________文件和_________文件。

16.C语言文件是一个________序列,这类文件称为_________文件。

得分
三. 程序归纳题(每题2分,共10分)

阅读下列函数,总结其主要功能填在答题卡相应的横线上。答在试卷上不得分。

1.  int fun1 (char *str){ char *ptr=str;

   while(*ptr++);     return ptr-str-1; }

2.  double fun2(double x, double y, double z){

   return x>(y>z?y:z)?x:(y>z?y:z); }

3. void funs3( int num[], int size ){  int i=0,  tmp;

while( i4. void fun4(char *f, char  *t)

{  for(;*f!='\\0';f++,t++)  *t=*f;  *t='\\0'; }

5.void fun5(char *ps) { int a1=0, a2=0;

      while (*ps!= '\\0')

{ if (*ps>='a'&&*ps<='z') a1++;

else if (*ps>='0'&&*ps<='9') a2++;

              p++;            }

      printf("%d,%d \\n",a1, a2);  }

得分
四. 程序分析题(每题2分,共10分)

阅读程序,将其运行结果填在答题卡相应题目的横线上。答在试卷上不得分。

1.    #include "stdio.h"  

     void main()    {

         static int a[]={1,2,3,4,5,6},*p;

         p=a; *(p+3)+=2;

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

2.    #include "stdio.h"  

    void main()  {   int x=1;

        {   int x=2;

        {   int x=3; printf("%2d",x);          }

            printf("%2d",x);         }

            printf("%2d",x);      }

3. #include

#include

void sort( char **str, int n){

     char *tmp;  int i,j;

for( i=0; i for( j=0; j if(strcmp(str[j],str[j+1])>0)

          tmp=str[j], str[j]=str[j+1], str[j+1]=tmp; }

void main() {

    char **ps,*str[3]={ "BOOK","COMPUTER","CHINA"};

    int i;

    ps=str;  sort(ps,3);

for(i=0; i<3; i++) printf("%d %s ",i+1, str[i]); }

4. #include

int leap_year(int year){

    return year%4==0 && year%100!=0 || year%400==0; }

void main(){

     int month_day[]={31,28,31,30,31,30,31,31,30,31,30,31 }, days,i;

     struct date {

        int year;

        int month;

        int day;

        }mdate={2008,5,1};

     if(leap_year(mdate.year))

        month_day[1]++;

for(i=1,days=mdate.day;i         days+=month_day[i-1];

     printf("%d-%d is the %dth day in %d

mdate.month,mdate.day,days,mdate.year); }

5. #include

void add( int *x, int *y, int n){

     while(n--)  *x++ += *y++; }

void main(){

   int i=5;   static int s1[]={2, 1, 0, 3, 2}, s2[5];

   add(s2, s1, 5);

   while(i--)  printf("%2d",  s2[i]);   }

得分
五. 程序设计题(每题10分,共40分)

阅读下列程序,在指定位置上填入适当的内容使程序完整。请勿改动其它内容。请将正确答案填在答题卡上。答在试卷上不得分。

1.函数insert将一个指定的单精度数按递减规律插入数组num中,注:数组num中已有12个按照递减顺序排好序的单精度数。

void insert( float num[13], float new )

{   int i=11;

/***answer begin***/

……

/***answer end***/ }

2.编写函数mycmp实现库函数strcmp的功能:两个字符串的比较。

int mycmp(char *p1,char *p2)  

{ /***answer begin***/

……

/***answer end***/ }

3.设有三个候选人,每次输入一个得票的候选人的名字,要求最后输出各人得票结果。

#include

struct person

{   char name[20];

    int count;

}leader[3]={“Li”,0,“Zhang”,0,”Wang“,0}; 

main()

{    int i,j;  char   leader_name[20];

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

    {/***answer begin***/

……

  /***answer end***/}

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

       printf("%5s:%d\\n",leader[i].name,leader[i].count);

}

4. 从键盘上输入一个字符串,将其中的小写字母转换成大写字母,然后输出到名为“test”的文本文件中保存。输入字符串以“!”结束。

#include

void main()

{

     int i; char str[80];  FILE *fp;

     if( (fp=fopen("test

     {  printf("cannot open file\\n");

        exit(0);  }

     printf("Input a string(end with !):");

     gets(str);

   /***answer begin***/

  ……

   /***answer end***/

}

参:

一. 单项选择题:(每题2分,共20分)

CBBCB BACBA

二. 填空题:(每题2分,共20分)

1函数说明    2函数体    3长整型    4无符号型    5  0 

6  非0      7 switch     8 循环     9  extern    10  static 

11 #include    12 #define     13 &x[2][3]    14  x[3][2]    15  6 

16  2    17文本    18二进制    19字符(字节)    20流式 

三. 程序归纳题(每题2分,共10分)

1求字符串长度

2 求3个double型数中的大数

3 翻转整型数组 

4 复制字符串

5 统计指定字符串中小写字母、数字的个数 

四. 程序分析题(每题2分,共10分)

1  1,6                    2   3 2 1            

3 1 BOOK 2 CHINA 3 COMPUTER    4  5-1 is the 122th day in 2008 

5  2 3 0 1 2                注:标点符号错误不另扣分

五. 程序设计题(每题10分,共40分)

  1.num[12]=new;           存储新值:2分

while( i>=0 && data[i]< data[i+1] ) 循环至插入点:2分

{        复合语句:1分

        new=num[i+1];    暂存新值:1分

       num[i+1]=num[i];     更新旧值:2分

       num[i]=new;    更新新值:1分

       i--;        循环计数:1分

   }

2. while(*p1&&*p2&&*p1==*p2)  依次比较两个字符串直至其结束:6分

p1++,p2++;    更新位置指示:2分

   return *p1-*p2;    返回差值:2分

3. scanf("%s",leader_name);    唱票:2分

    for(j=0;j<3;j++)    循环寻找得票人:2分

        if(strcmp(leader_name, leader[j].name)==0)  寻找得票人:4分

          leader[j].count++;         更新得票人票数:2分

4.  for(i=0; str[i]!='!'; i++)    依次比较各字符直至字符串结束:2分

if(str[i]>='a' && str[i]<='z') 判断是否是小写字母:2分

          str[i]-=32;              转换为大写字母:2分

     printf("Writting %s into file test",str);

     fputs(str,fp);                 将字符串存储到文件中:2分

     fclose(fp);                   关闭文件:2分

文档

安徽大学c语言试卷

安徽大学20-20学年第学期《C语言程序设计》期末考试试卷(A卷120分钟)年级院系专业姓名学号座位号题号一二三四五六七八得分得分得分一.单项选择题:(每题2分,共40分)下列各题A)、B)、C)、D)四个选项中只有一个是正确的,请将正确选项填在答题卡相应题目的横线上。答在试卷上不得分。1.下面程序段执行后,a的值是______。inta;printf("%d\\n",(a=3*5,a*4,a+5));A)60B)20C)15D)102.下列程序段的输出是______。intx=023;pri
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top