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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 413|回复: 0

西安电子科技大学网络与继续教育学院 2019学年上《高级语言程序设计(C)》

[复制链接]

2万

主题

2万

帖子

6万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
64471
发表于 2019-6-28 13:54:38 | 显示全部楼层 |阅读模式
  西安电子科技大学网络与继续教育学院
            2019学年上学期
             《高级语言程序设计(C)》期末考试试题
             (综合大作业)
             题号        一        二        三        四        五        总分
             题分        40        10        10        20        20        
            得分                                                

            考试说明:
            1、大作业试题于2019年4月25日公布,2019年4月26日至2019年5月12日在线上传大作业答卷(最多上传10张图片);
            2、考试必须独立完成,如发现抄袭、雷同均按零分计;
            3、答案须用《西安电子科技大学网络与继续教育学院综合大作业答题纸》手写完成,要求字迹工整、卷面干净。

             一、        选择题(本题共20道小题,共40分。)
            1. 设x和y均为int型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是
            A)把x和y按从大到小排列             B)把x和y按从小到大排列
            C)无确定结果                         D)交换x和y中的值
            2. 下面程序的输出是
            void prtv(int *x)
             { printf("%d\n", ++(*x));}
             main()
             {  int a=25;
             prtv(&a);}
             A) 23           B) 24                    
             C) 25           D) 26
             3. int x=10, y=20, z=30;
             if(x>y)  z=x;   x=y;  y=z;
            以上语句执行后x, y, z的值是
            A) x=10,y=20,z=30     B) x=20,y=30,z=30
             C) x=20,y=30,z=10     D) x=20,y=30,z=20
             4. 设有以下宏定义:
            #define N 3
             #define Y(n) ((N+1)*n)
            则执行语句:z=2 *(N+Y(5+1))后,z的值为
            A)出错    B)42     C)48      D)54
             5. 逻辑运算符两侧运算对象的数据类型是()。
            A) 只能是0或1
             B) 只能是0或非0正数
            C) 只能是整型或字符型数据
            D) 可以是任何类型的数据
            6. 当执行以下程序段时
            x=-1;
             do { x=x*x;}
             while(!x);
             A)循环体将执行一次         B)循环体将执行两次
            C)循环体将执行无限次       D)系统将提示有语法错误
            7.  int x=3;
             do  
             {    printf("%3d",x-=2);}
             while(!(--x));
            以上程序段的输出结果是
            A) 1                 B) 3 0               C) 1-2         D) 死循环
            8. main()
             {int k=11;  printf("k=%d,k=%o,k=%x\n",k,k,k);  }
            以上程序段的输出结果是
            A)k=11,k=12,k=11             B)k=11,k=13,k=13           
             C)k=11,k=013,k=0xb           D)k=11,k=13,k=b
             9.以下程序的输出结果是(   )。
            main()
             {  int num=0;
             while(num<=2)
             { num++; printf(“%d\n”,num);}
             }
             A)  1     B) 1     C) 1     D) 1
                 2        2        2
                 3        3
                 4
             10. 表示关系x≤y≤z的c语言表达式为
            A)  (X<=Y)&&(Y<=Z)
             B)  (X<=Y)AND(Y<=Z)
             C)  (X<=Y<=Z)
             D)  (X<=Y)&(Y<=Z)
             11. 执行x=((5>1+2)&&2||((2*4<4)-!0))后,x的值为
            A) -1     B) 0     C) 1     D) 5
             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. 以下程序的输出结果是
            # include <stdio.h>
             # include <string.h>
             main()
             {  char str[12]={'s','t','r','i','n','g'};
                printf("%d\n",strlen(str));  
             }
             A) 6             B) 7             C) 11             D) 12
             14. 运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为
            main ( )
             {
             int m,n;
             printf("Enter m,n:");
             scanf("%d%d,&m,&n");
             while(m!=n)
             {
             while(m>n) m-=n;
             while(n>m) n-=m;
             }
             printf("m=%d\n",m);
             }
             A)m=3   B)m=2    C)m=1    D)m=0
             15. char ch=’A’;
                  ch=(ch>=‘A’&&ch<=‘Z’)?(ch+’a’-‘A’):ch;
            表达式运算后,ch的值是
            A) a     B) ‘a’     C) A     D) “a”
            16. 设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是
            A) k=*p1+*p2;     B) p2=k;     
            C) p1=p2;          D) k=*p1*(*p2);
             17. 若有以下定义和语句:
            int u=010,v=0x10,w=10;
             printf(“%d,%d,%d\n”,u,v,w);
            则输出结果是
            A) 8,16,10    B) 10,10,10    C) 8,8,10    D) 8,10,10
             18.  能正确表示a≥10或a≤0的关系表达式是
            A)a>=10 or a<=0                 B)a>=10│a<=0
             C)a>=10││a<=0                   D)a>=10 ││a<=0
             19.
             main( )
             {int x=1,a=0,b=0;
             switch(x)
               {
                case 0: b++;
                case 1: a++;
                case 2: a++;b++;
                }
             printf(“a=%d,b=%d\n”,a,b);
             }
            程序的输出结果是
            A) a=2,b=1     B) a=1,b=1     C) a=1,b=0     D) a=2,b=2
             20.  以下说法中正确的是
                A) #define和printf都是C语句      
            B) #define是C语句,而printf不是
                C) printf是C语句,但#define不是   
            D) #define和printf都不是C语句
             二、谋学网(www.mouxue.com)(每空1分,共10分。)
            1. 为表示关系:x≤y≤z ,应使用的C语言表达式是_____________。
            2. C语言本身没有输入输出语句。其输入输出是由____________来完成。
            3. 有函数调用fun1(x+y,(y,z),10,fun((x,y―1)));函数fun1有_______个参数。
            4. C程序注释是由_________ 和________所界定的文字信息组成的。
            5. 表达式x=x+1表示成增量表达式为___________。
            6. while语句和do-while语句的区别是_______________________。
            7. 结构化程序设计中的三种基本结构是_________、__________、___________。
             三、判断题(本题共10道小题,共10分。)
            1. 在不得已的情况下(例如提高程序运行效率),才使用goto语句( )
            2. C程序的注释只能是一行()
            3. 在有参函数中,形参在整个程序一开始执行时便分配内存单元( )
            4. C语言不允许混合类型数据间进行运算(  )
            5. 实参和与其对应的形参共占用一个存储单元( )
            6. 在C程序中对用到的所有数据都必须指定其数据类型( )
            7. 函数的定义和函数的调用均不可以嵌套( )
            8. 如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明( )
            9. 在不同函数中可以使用相同名字的变量( )
            10. if语句中的表达式不限于逻辑表达式,可以是任意的数值类型( )
             四、程序分析题(用列表法列出关键变量在运行过程中的值)(本题3道小题,共20分)
            1. (8分)分析程序,给出select函数的功能,解释其形参的含义,并给出main函数的输出结果。
            #define   N   3
             #define   M   3
             select(int  a[N][M],int  *n)
             {  
             int  i,j,row=1,colum=1;
             for(i=0;i<N;i++)
             for(j=0;j<M;j++)
             if(a[j]>a[row][colum]){row=i;colum=j;}
             *n= row;
             return ( a[row][colum]);
             }
             main()
             { int  a[N][M]={9,11,23,6,1,15,9,17,20},max,n;
                max=select(a,&n);
                printf("max=%d,line=%d\n",max,n);
回复

使用道具 举报

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

本版积分规则

  • 价格公开

  • 优质服务

  • 专属客服

  • 信息开放

  • 担保交易

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