最新文章专题视频专题问答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-26 00:00:21
文档

《C语言程序设计》期末考试试卷

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

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

             fp=fopen(”file1","r”);                  fp=fopen("file1","rb+");

得分 
 

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

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

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

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

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

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

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

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

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

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

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

10.  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 〈string。h>

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

    char *tmp; int i,j;

    for( i=0; i〈n—1; 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 〈stdio。h>

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 〈string.h>

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",”w"))==NULL)

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

最新推荐

猜你喜欢

热门推荐

专题
Top