admin 发表于 2019-8-21 14:35:21

【奥鹏】[西安交通大学]西交《程序设计基础》在线作业(答案)

西交《程序设计基础》在线作业
             试卷总分:100    得分:0
            一、 单选题 (共 20 道试题,共 40 分)
            1.C语言中,定义结构体的保留字是()
            A.union
             B.struct
             C.enum
             D.typedef



             2.C语言中,要求运算数必须是整型的运算符是()
            A.^
             B.%
             C.!
             D.>



             3.int a=1,b=2,c=3; if(a>b)a=b; if(a>c)a=c; 则a的值为()
            A.1
             B.2
             C.3
             D.不一定



            4.结构体类型的定义允许嵌套是指()
            A.成员是已经或正在定义的结构体型
            B.成员可以重名
            C.结构体型可以派生
            D.定义多个结构体型



            5.逻辑运算符两侧运算对象的数据类型()
            A.只能是0或1
             B.只能是0或非0正数
            C.只能是整型或字符型数据
            D.可以是任何类型的数据



            6.若二维数组a有m列,则在a前的元素个数为()
            A.j*m+i
             B.i*m+j
             C.i*m+j-1
             D.i*m+j+1



             7.若有int a={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()
            A.printf("%d",*(a+5));
             B.printf("%d",p);
             C.printf("%d",*(p+5));
             D.printf("%d",*p);



             8.设 int x=1, y=1; 表达式(!x||y--)的值是()
            A.0
             B.1
             C.2
             D.-1



             9.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()
            A.int
             B.float
             C.double
             D.不确定



            10.下列程序的输出结果是()。 main() { int x=1,y=0,a=0,b=0; switch(x) { case
            1:switch(y) { case 0:a++;break; case 1:b++;break; } case
            2:a++;b++;break; case 3:a++;b++;break; } printf("a=%d,b=%d\n",a,b);
}
             A.a=1,b=0
             B.a=2,b=1
             C.a=1,b=1
             D.a=2,b=2



             11.下列选项中正确的语句组是()
            A.char s; s={"Beijing"};
             B.char *s; s={"Beijing"};
             C.char s; s="Beijing";
             D.char *s; s="Beijing";



             12.以下不能正确定义二维数组的选项是()
            A.int a={{1},{2}};
             B.int a[]={1,2,3,4};
             C.int a={{1},2,3};
             D.int a[]={{1,2},{3,4}};



             13.以下数值中,不正确的八进制数或十六进制数是()
            A.0x16
             B.16
             C.-16
             D.0xaaaa



             14.以下叙述正确的是()
            A.在C程序中,main函数必须位于程序的最前面
            B.C程序的每行中只能写一条语句
            C.C语言本身没有输入输出语句
            D.在对一个C程序进行编译的过程中,可发现注释中的拼写错误



            15.以下叙述中正确的是()
            A.C语言的源程序不必通过编译就可以直接运行
            B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令
            C.C源程序经编译形成的二进制代码可以直接运行
            D.C语言中的函数不可以单独进行编译



            16.以下选项中,与k=n++完全等价的表达式是()
            A.k=n,n=n+1
             B.n=n+1,k=n
             C.k=++n
             D.k+=n+1



             17.以下运算符中,优先级最高的运算符是()
            A.*=
             B.>=
             C.(类型)
            D.+



             18.用户定义的函数不可以调用的函数是()
            A.非整型返回值的
            B.本文件外的
            C.main函数
            D.本函数下面定义的



            19.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。 long a=0xffffff; int b;
            char c;
             A.0ffffff 和0x61
             B.-1和98
             C.-1和97
             D.指向同一地址



            20.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()
            A.地址传递
            B.单向值传递
            C.由实参传给形参,再由形参传回实参
            D.传递方式由用户指定



             二、 多选题 (共 20 道试题,共 40 分)
            1.定义语句:int x,y;若要通过scanf("%d,%d",&x,&y);
            语句使变量x得到数值11,变量y得到数值12,下面四组输入形式中,正确的有()
            A.11 12
             B.11,12
             C.11,12
             D.11, 12
             CD


             2.对do-while语句描述正确的是()
            A.do-while语句构成的循环可以使用break语句退出循环
            B.do-while语句构成的循环必须使用break语句退出循环
            C.do-while语句构成的循环,当while中的表达式值为非零时结束循环
            D.do-while语句构成的循环,当while中的表达式值为零时结束循环
            D


             3.若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是()
            A.a=b=c=d=100;
             B.d++;
             C.c+b;
             D.d=(c=22)-(b++);
             BD


             4.若以下选项中的变量已正确定义,则不正确的赋值语句是()
            A.x1=26.8%3
             B.x=3*x+x
页: [1]
查看完整版本: 【奥鹏】[西安交通大学]西交《程序设计基础》在线作业(答案)