A、各成员所需内存容量的总和
B、结构体中第一个成员所需内存
C、各成员所需内存容量的最大值
D、结构体中最后一个成员所需内存
当说明一个结构体变量时系统分配给它的内存是( )。
A.各成员所需要内存量的总和
B.结构中第一个成员所需的内存量
C.成员中占内存最大者所需的容量
D.结构中最后一个成员所需要的内存量
执行下列程序后,输出的结果是( )。 #include<stdio.h> #define S(X)X*X void main() { int a=9,k=3,m=2; a/=S(k+m)/S(k+m); printf("%d",a); }
A.(*p) .data.a
B.(*p) .a;
C.p->data.a
D.p.data.a
执行以下程序后,a,b的值分别为
main()
{ int a,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",A.;
printf("b=%d\n",B.;
}
A.-1,5
B.1,6
C.0,7
D.4,10
当说明一个结构体变量时系统分配给它的内存是
A.各成员所需内存量的总和
B.结构中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.结构中最后一个成员所需内存量
西安交通大学22春程序设计基础在线作业一及答案参考1. 已知一个顺序存储的线性表,设每个结点需占m个存储单元,若第一个结点的地址为add1,则第I个结点的地址为( )。A.add1+(I-1)*mB.add1+I*mC.add1-I*mD.add1+(I+1)*m参考答案:A2. 当定义一个结构体变量时系统分配给它的内存是( )。A.结构中第一个成员所需的内存量B.结构中最后一个成员所需的内存量C.结构体成员中占内存量最大者所需的容量D.结构体中各成员所需内存量的总和参考答案:D3. 以下程序执行后a的值为( )。main( ) int a,m=2,k=1,*p=&k; a=p!=&m; printf(“%dn”,a);A.-1B.0C.1D.2参考答案:C4. 已知char str20=mybook,*p=str+2;则以下各选项中输出结果为b的是( )。A.coutp;B.coutp0;C.coutstr;D.coutstr+2;参考答案:B5. 下面选项中,是类的成员函数为( )。A.构造函数B.析构函数C.友元函数D.缺省参数的构造函数参考答案:ABD6. 在JavaScript中只允许使用预定义的函数,而不能自定义函数。( )A.错误B.正确参考答案:A7. 循环结构的程序通常由( )三部分组成A.循环规则B.循环控制部分C.循环初始部分D.循环体部分参考答案:BCD8. 构造函数和析构函数都不能重载。( )A.正确B.错误参考答案:B9. 段存储器常见的有( )A.代码段B.堆栈段C.数据段D.附加段参考答案:ABCD10. 在C+中,不能被派生类继承的函数是( )。A.成员函数B.构造函数C.析构函数D.拷贝构造函数参考答案:BCD11. 使用if.else语句可以处理多选择问题,不会因为嵌套层次太多而导致程序的可读性下降,也不容易出错。( )A.正确B.错误参考答案:B12. 若有以下说明,并且0iA.*(a+i)B.ap-a+iC.p+iD.*(&ai)参考答案:C13. 在表示存储器的容量时,1MB的准确含义是( )字节。A.1000KB.1024*1024C.512*512D.2048*2048参考答案:B14. 下面关于自定义类的运算符重载的说法中,正确的是( )。A.赋值运算符和下标运算符只能重载为类的成员函数B.赋值运算符和下标运算符只能重载为类的友元函数C.赋值运算符重载时一般以引用方式返回*this,表示返回赋值运算符的左操作数D.使用重载的赋值运算符时,左操作数一定是自定义类型参考答案:ACD15. 线性表中的一个结点可以有多个前驱和多个后继。( )A.正确B.错误参考答案:B16. 已知“char *s=mybook;”,则strlen(s)的值为( )。A.4B.6C.7D.不确定参考答案:B17. 语句while (!y)中的表达式!y等价于( )。A.y=0B.y!=1C.y!=0D.y=1参考答案:A18. 在寄存器相对寻址或相对基址变址寻址方式中,位移量可以用符号表示。( )A.正确B.错误参考答案:A19. 在一个链接队列中,假设f和r分别是队头和队尾指针,则删除一个结点的运算时( )。A.r=f-next;B.r=r-next;C.f=f-next;D.f=r-next;参考答案:C20. 下面程序段的运行结果是( )。char a7=“abcdef”; char b4=“ABC”; strcpy(a,b); printf(“%c”,a5)A.空格B.0C.eD.f参考答案:D21. 下列哪一个不属于JAVA语言的数据类型:( )A.指针类型B.类C.数组D.浮点类型参考答案:A22. 下列描述正确的是( )。A.多态性是通过动态绑定实现的B.多态性是通过静态绑定实现的C.动态绑定是在程序执行时进行绑定D.静态绑定是在程序执行时进行绑定参考答案:AC23. 逻辑左移和算术左移是同一条指令的两种助记符形式。( )A.正确B.错误参考答案:A24. 已知double x=10,y=3; 则x%2的值为1。( )A.正确B.错误参考答案:B25. 若有说明:int a34; 则数组a中各元素( )。A.可在程序的运行阶段得到初值0B.可在程序的编译阶段得到初值0C.不能得到确定的初值D.可在程序的编译或运行阶段得到初值0参考答案:B26. 对以下说明语句的正确理解是( )。int a10=6,7,8,9,10A.将5个初值依次赋给a1至a5B.将5个初值依次赋给a0至a4C.将5个初值依次赋给a6至a10D.因为数组与初值的个数不相同,所以此语句不正确参考答案:B27. 下列程序中说明的公有成员是( ) class Location int X; public: void init(int initX,int initY); private: int Y; public: int GetX( ); int GetY( ); ;A.XB.init(int initX,int initY)C.GetX( ),GetY( )D.B和C都是参考答案:D28. 撤消对象时,系统自动调用( )函数。A.成员函数B.构造函数C.析构函数D.普通函数参考答案:C29. CPU由哪三部分组成( )A.运算器B.控制器C.逻辑器D.寄存器参考答案:ABD30. 为了能够识别字符串结束位置,C+系统会在字符串的末尾自动添加一个ASCII编码为00H的字符&39;0&39;(也称空字符),作为字符串的结束符,所以每个字符串的存储长度总是比其实际长度(字符个数)多1。( )A.正确B.错误参考答案:A31. 下列描述中,( )是抽象类的特性。A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象参考答案:D32. C语言程序从main( )函数开始执行,所以这个函数要写在( )。A.程序文件的开始B.程序文件的最后C.它所调用的函数的前面D.程序文件的任何位置参考答案:D33. 下面属于析构函数特征的是( )。A.析构函数可以重载B.对象销毁前会自动调用析构函数C.如果定义一个类时没有定义析构函数,则系统会提供一个默认析构函数( )D.析构函数的函数类型为void参考答案:BC34. 以下运算正确的程序段是( )。A.char str1=“ABCDE”, str2=“abcdef”; strcpy(str1, str2)B.char str10, *st=“abcde”; strcat(str, st)C.char *st1=“ABCDS”,*st2=“abcde”; strcat(st1,st2)D.char str10=“”, st=“abcde”; strcat(str, st)参考答案:D35. 任何一个串操作指令都可以在前面加一个重复前缀,重复前缀有哪三种( )A.RPEB.REPZC.REPNZD.REP参考答案:BCD36. 面向对象程序设计思想的主要特征中不包括( )。A.封装性B.多态性C.继承性D.功能分解,逐步求精参考答案:D37. 假设堆内存分配均成功,则下面程序段完全正确的是( )。A.int *p=new int(3);coutB.int *p=new int3;for(int i=0;iC.int *p=new int3;for(int i=0;iD.以上程序段均正确参考答案:A38. 在C语言中,错误的int类型的常数是( )。A.32768B.0C.37D.0xAF参考答案:A39. 段内转移是指在当前代码段32KB内转移。( )A.错误B.正确参考答案:A40. 下面中断属于内部中断的有( )A.除法错中断B.指令中断C.溢出中断D.可屏蔽中断参考答案:ABC41. 在数据结构中,从逻辑上可以把数据结构分成( )。A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构参考答案:C42. 汇编语言的开发过程一般包括下面哪几个过程( )A.源文件的编辑B.目标文件的链接C.源程序的汇编D.可执行程序的调试参考答案:ABCD43. 下列虚基类的声明中正确的是( )。A.class virtual B:public AB.virtual class B:publicC.class B:public A virtualD.class B: virtual public A参考答案:D44. 假设A为抽象类,下列语句( )是错误的。A.A fun(int);B.A *p;C.int fun(A);D.A Obj;参考答案:ACD45. 映像文件是一种文本文件。( )A.正确B.错误参考答案:A46. 以下哪项属于计算机低级语言( )A.汇编语言B.机器语言C.JAVAD.C+参考答案:AB47. 页面上显示一个超链接的字符串,当鼠标经过或者停留在这个字符串上,将触发。( )A.错误B.正确参考答案:A48. 在计算机中,各种字符只能用若干位的二进制码的组合表示,这就称为( )A.十进制编码B.十六进制编码C.八进制编码D.二进制编码参考答案:D49. 可以定义函数指针变量指向函数的首地址,并使用函数指针变量代替函数名进行函数调用。( )A.正确B.错误参考答案:A50. 以下能对二维数组a进行正确初始化的语句是( )。A.int a2=1,0,1,5,2,3B.int a3=1,2,3,4,5,6C.int a24=1,2,3,4,5,6D.int a3=1,0,1,1,1参考答案:B51
现有如下程序段
#include "stdio.h"
int fun(int k,int *m)
{if(k%3)*m=k*k;
else *m=k/3;}
main()
{ int (*p)(int,int *),m;
p=fun;
(*p)(78, &m);
printf( "%d\n",m);}
则程序段的输出结果为
A.24
B.25
C.26
D.27
A.各成员所需内存量的总和
B.结构中第一个成员所需内存量
C.成员中占内存量最大的容量
D.结构中最后一个成员所需内存量
以下程序运行后的输出结果【 】。
struct NODE
{int k;
struct NODE *link;
};
main()
{structNODEm[5],*p=m,*q=m+4;
int i=0;
while(p!=q){
p->k=++i;p++;
q->k=i++;q-;
}
q->k=i;
for(i=0;i<5;i++)printf("%d",m[i].k);
printf("\n");
}
设有以下程序:
include<iostream>
using namespace std;
int main()
{
int a,b,k:4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
cout<<a<<b<<end1;
return 0;
}
执行该程序后,a的值为【 】,b的值为【 】。
以下程序运行后,输出结果是______。 func (int a,int b) { static int m=0,i=2; i+=m+1; m=i+a+b; return m; } main() { int k=4,m=1,p; p=func(k,m); printf("%d,",p); p=func(k,m);printf("%d\n",p); }
A.8, 15
B.8, 16
C.8, 17
D.8, 8