奥鹏答案网-奥鹏作业答案-奥鹏在线作业答案-奥鹏离线作业答案-奥鹏毕业论文-专业奥鹏作业答案辅导网

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 338|回复: 0

[北京师范大学]19春《高级程序设计(C)》 离线作业(答...

[复制链接]

2万

主题

2万

帖子

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
64471
发表于 2019-5-8 15:47:50 | 显示全部楼层 |阅读模式
    客观题部分:
             一、选择题(每题1分,共15题)
            1、以下程序运行后,输出结果是(    )
            main()
             {
             char *s="abcde";
             s+=2;
             printf("%ld\n",s);
             }
             A.cde        B.字符c的ASCII码值      
            C.字符c的地址         D.出错
            2、下面的程序将输出:(       )
            main()
             {
             char ch;
             ch=’1’;
            ch+=1;
             switch(ch)
             {
               case ‘1’: printf("this is one. ");
               case ‘2’: printf("this is two. ");
               default: printf("no way! ");
                }
               }
             A.this is one.         B.this is two.    C.no way!        D.this is
            two.no way!
             3、        以下所列的C语言常量中,错误的是(  )
            A. 0xFF         B. 1.2e0.5        C. 2L                 D. '\72'
             4、        设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不正确的语句是(  )
            A.k=*P1+*P2;    B.P2=k;       C.P1=P2;        D.k=*P1 * (*P2);
             5、        设有如下定义
            int arr[]={6,7,8,9,10};
             int * ptr;
            则下列程序段的输出结果为:(       )
            ptr=arr;
             * (ptr+2)+=2;
             printf ("%d,%d\n",*ptr,*(ptr+2));
             A.8,10         B.6,8            C.7,9             D.6,10
             6、在下以下程序的输出结果是:(       )
             #define f(x) x*x
             main()
             {
             int a=6,b=7,c;
                 c=f(a)/f(b);
                 printf(“%d\n”,c);
             }
             A.9                       B.35                          C.36      
                             D.18
             7、设有以下说明和定义
            typedef union
             { long   i;  int  k[15];  char  c; }DATE;
             struct date
             { int cat;  DATE cow;  double   dog; } too;
             DATE   max;
            则下列语句的执行结果是:(       )
            printf ("%d",sizeof (struct date ) +sizeof(max));
             A.30         B.35           C.70           D.75
             8、若已知int a[3][4],*p;p=(int *)a;那么对数组a的第2行第2列的正确引用是:(       )
            A.a[2][2]        B.p[9]         C.a[9]                     D.p[1][1]
             9、下列程序段所表示的逻辑关系是:(       )
            if(a<b)  { if(c==d)  x=1;}    else  x=2;
             A. x =            
             B. x =     
             C. x =            
                     D. x =     
             10、若有说明int a[2][2];那么,下面正确的C赋值语句是:(       )
            A.a=2;                B.a[1]=2;        C.a[1]={1,2};         
            D.a[0][1]=a[1][0];
             11、给出以下定义:
            char x[ ]="abcdefg";
             char y[ ]={'a','b','c','d','e','f','g'};
            则正确的叙述为
            A、数组X和数组Y等价             B、数组x和数组Y的长度相同
            C、数组X的长度大于数组Y的长度   D、数组X的长度小于数组Y的长度
            12、有以下程序
            main()
             { char   a[]="programming", b[]="language";
             char   *p1,*p2;
             int    i;
             p1=a;      p2=b;
             for(i=0;i<7;i++)
             if(*(p1+i)==*(p2+i))   printf("%c",*(p1+i));
             }
            输出结果是:
            A、gm         B、rg           C、or              D、ga
             13、下面函数调用语句含有实参的个数为:
            func((exp1,exp2),(exp3,exp4,exp5));
             A、1          B、2             C、3           D、4
             14、当执行下面的程序时,如果输入ABC,则输出结果是
            #include "stdio.h"
             #include "string.h"
             main(){
                     char ss[10]="1,2,3,4,5";
                     gets(ss);
                     strcat(ss, "6789");
                     printf("%s\n",ss);
             }
             A、ABC6789         B、ABC67                C、12345ABC6        
            D、ABC456789
             15、若二维数组a 有m列,则在a[j]之前的元素个数为(    )
            A、j*m+i        B、i*m+j         C、 i*m+j-1     D、i*m+j+1
            主观题部分:
             一、谋学网(www.mouxue.com)(每题2.5分,共2题)
            1、阅读程序写结果
            #include <stdio.h>
             int f(int n)
             {
             static int s=1;
             while(n) s*=n--;
             return s;
             }
             main()
             {
             int i,j;
                     i=f(3); j=f(5)+f(2);
                     printf("\nThe outputis:\n");
                     printf("i=%#x,j=%d \n",i,j);
             }
             2、阅读程序写结果
            #include     <stdio.h>
             typedef struct     stu
             { char     name[10];
               int      age;
             }STU;
             char *fun(STU *p,int m)
             { int k,i;
               STU *q;
               k=200;
               for(i=0;i<m;i++)
                 if((p+i)->age<k)
                   {
                     k=p->age;
                     q=p+i;
                     }
               return q->name;
             }
             main()
             { struct  stu   students[3]=
             {
             "Zhang",20,
             "Wang",19,
             "Zhao",18};
             printf("%s\n",fun(students,3));
                 }
            二、论述题(每题5分,共2题)
            1、编这样一个程序,用户输入10个整数,程序找出其中的最大值和最小值,并输出最大值与最小值的和、差、积、商。
            2、下面程序的功能是将一个字符串续接到另一个字符串上,至少包含有10处错误。请纠正错误的地方,使之成为正确运行的程序。
            #include "string.h"
             #include “stdio.h”
            void main()
             {
             char str1[4];
             char *str2="4567";
             void StringCat(char s1;char *s2)
             str1="123";
             StringCat(str1,str2);
             printf("%s",str1);
             }
             void StringCat(char s1;char *s2);
             {
             char *p1,p2;
             p1=s1;
             p1+=strlen(s1);
             p2=s2;
             while(p2)
                *p1++=*p2++;
             *p1=0;
             }


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 价格公开

  • 优质服务

  • 专属客服

  • 信息开放

  • 担保交易

 
 
客服一号
客服二号
客服三号
客服四号
点击这里给我发消息
官方微信扫一扫
快速回复 返回顶部 返回列表