西安交通大学22春《程序设计基础》在线作业三及答案参考93

设有如下程序段

char s[20]= "Be i jing",*p;

p=s;

则执行 p=s; 语句后,以下叙述正确的是

A) 可以用 *p 表示 s[0]

B)s 数组中元素的个数和 p 所指字符串长度相等

C)s 和 p 都是指针变量

D) 数组 s 中的内容和指针变量 p 中的内容相等


正确答案:A


设有如下的程序段:char s[]="girl", *t t=s则下列叙述正确的是()。

A.s和t完全相同

B.数组s中的内容和指针变量t中的内容相等

C.s数组长度和t所指向的字符串长度相等

D.*t与s[0]相等


答案:D


设有如下定义char*S[2]={“abcd”,”ABCD”};则以下说法正确的是()

A、S数组中数组元素的值分别是“abcd”,”ABCD”

B、S是指针变量,它指向含有两个数组元素的字符型一维数组

C、S数组的两个元素分别存放的字符’a’和’A’

D、S数组的两个元素分别存放的字符串“abcd”和”ABCD”的首地址


参考答案:D


设有下列程序段: char s[20]="Beijing",*p; p=s; 则执行p=s;语句后,下列叙述正确的是( )。

A.可以用*p表示s[0]

B.s数组中元素的个数和p所指字符串长度相等

C.s和p都是指针变量

D.数组s中的内容和指针变量p中的内容相同


正确答案:A
解析:程序定义了字符数组s和字符型指针变量p,并且使得p指向数组,执行p=s;语句后,*p即表示s[0];s数组中元素的个数和 p所指字符串长度不相等,因为s数组中元素的个数包括字符串结束标志“\0”,而p所指字符串长度不包括“\0”;s是字符型数组,p是指针变量;数组s中的内容和指针变量p中的内容不相同,数组中存放的是字符串,而指针变量p存放的是数组的首地址。


设有下面的程序段:

char s[]="china"; char*p; p=s;

则下列叙述正确的是

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相同

C.s数组长度和p所指向的字符串长度相等

D.*p与s[0]相等


正确答案:D
解析:考查的是字符指针和字符数组的区别。选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。


西安交通大学22春程序设计基础在线作业三及答案参考1. 已知char s=hello;,则下面叙述中正确的是( )。A.数组s的长度为5B.元素s2的值为eC.使用“cins;”可以将从键盘上键入的字符串保存在数组s中D.使用“int t=s;”可以定义数组t、并用s中各元素的值初始化t中的各元素参考答案:C2. 下列描述正确的是( )。A.多态性是通过动态绑定实现的B.多态性是通过静态绑定实现的C.动态绑定是在程序执行时进行绑定D.静态绑定是在程序执行时进行绑定参考答案:AC3. 设要把一个文件输出流对象myFile与文件f:myText.txt相关联,所用的C+语句是ifstream myFile(f:myText.txt,ios:in|ios:ut);。( )A.正确B.错误参考答案:B4. 非压缩BCD码用( )个二进制位表示一个十进制位A.4B.6C.8D.10参考答案:C5. 计算机的硬件分成5大组成部分:运算器、控制器、存储器、( )A.输入设备B.输出设备C.软件D.以上都不正确参考答案:AB6. 在C+中,与cin一起使用的提取运算符是( )。A.B.C.D.参考答案:D7. 一个( )允许用户为类定义一种模式,使得类中的某些数据成员、某些成员函数的参数和返回值可以取任意数据类型。A.函数模板B.模板函数C.类模板D.模板类参考答案:C8. 下面属于处理机控制类指令的是( )A.空操作指令B.暂停C.等待D.封锁前缀指令参考答案:ABCD9. 当定义一个结构体变量时系统分配给它的内存是( )。A.结构中第一个成员所需的内存量B.结构中最后一个成员所需的内存量C.结构体成员中占内存量最大者所需的容量D.结构体中各成员所需内存量的总和参考答案:D10. 下面关于自定义类的运算符重载的说法中,正确的是( )。A.赋值运算符和下标运算符只能重载为类的成员函数B.赋值运算符和下标运算符只能重载为类的友元函数C.赋值运算符重载时一般以引用方式返回*this,表示返回赋值运算符的左操作数D.使用重载的赋值运算符时,左操作数一定是自定义类型参考答案:ACD11. 类的成员函数中可以直接访问对象成员中的私有成员。( )A.正确B.错误参考答案:B12. 下面属于高级语言的有( )A.JAVA语言B.C语言C.汇编语言D.特殊语言参考答案:AB13. 语句while (!y)中的表达式!y等价于( )。A.y=0B.y!=1C.y!=0D.y=1参考答案:A14. INC是一个单操作数指令。( )A.正确B.错误参考答案:A15. 已知char s10=Microsoft,Visual,C+;,则语句coutA.sB.iC.cD.icrosoft参考答案:A16. 对象的核心概念就是通常所说的( )。A.继承B.封装C.传递D.多态参考答案:ABD17. JavaScript是一种解释型脚本语言。( )A.错误B.正确参考答案:B18. 指令由哪两部分组成( )A.操作说明B.操作符C.操作码D.操作数参考答案:CD19. 8086按照逻辑段组织程序即( )A.代码段B.数据段C.附加段D.堆栈段参考答案:ABCD20. 8086不允许立即数传送至段寄存器。( )A.正确B.错误参考答案:A21. 下面关于数组的描述中,错误的是( )。A.数组的长度必须在定义数组时指定,且数组中所有元素的数据类型必须相同B.如果定义一维数组时提供了初始化列表,则数组的长度可以省略C.如果定义二维数组时提供了初始化列表,则数组的列下标可以省略D.如果定义二维数组时提供了初始化列表,则数组的行下标可以省略参考答案:C22. 类中的静态数据成员为该类的所有对象所共享,并且,在该类对象被销毁时,静态数据成员不会被同时销毁。( )A.正确B.错误参考答案:A23. return语句只能用在函数中,用在函数主体以外任何地方都是错误的。( )A.错误B.正确参考答案:B24. 下列关于变量作用域的描述中,不正确的一项是:( )A.变量属性是用来描述变量作用域的B.局部变量作用域只能是它做在的的方法的代码段C.类变量能在类的方法中声明D.类变量的作用域是整个类参考答案:C25. 在使用var x=1声明变量x之后,赋值语句x=我喜欢JavaScript将出错。( )A.错误B.正确参考答案:A26. 下面描述中,正确的是( )。A.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序相反B.多重继承中,派生类对象被销毁时析构函数的调用顺序与派生类对象创建时构造函数的调用顺序一致C.多重继承中创建派生类对象时各基类构造函数的调用顺序与基类构造函数在初始化列表中的出现顺序一致D.多重继承中,如果派生类的初始化列表中没有某个基类构造函数的调用语句,则表示调用该基类的无参构造函数参考答案:AD27. 在C+中,对结构体变量中成员的访问既可以逐个进行、也可以整体进行。( )A.正确B.错误参考答案:B28. 对于二维数据的存储问题,只能使用C+提供的二维数组。( )A.正确B.错误参考答案:B29. 8086CPU的中断系统具有( )个中断A.255B.32C.256D.64参考答案:C30. 顺序表能够存放的最大元素数量n称为线性表的长度。( )A.正确B.错误参考答案:B31. 设ch是char类型变量,其值是A,则表达式ch=(ch=A&ch=Z)?(ch+32):ch的值是( )。A.ZB.AC.aD.z参考答案:C32. 多数运算符可以重载,个别运算符不能,运算符重载是通过函数定义实现的。( )A.正确B.错误参考答案:A33. 8086的寄存器有4个通用寄存器。( )A.错误B.正确参考答案:A34. 已知f是以二进制读写方式打开的文件流对象,且有int型变量a,则下列选项中能正确进行文件读写操作的语句包括( )。A.f.write(char*)a,sizeof(a);B.f.write(char*)&a,sizeof(a);C.f.read(char*)a,sizeof(a);D.f.read(char*)&a,sizeof(a);参考答案:BD35. 在定义JavaScript变量时,一定要指出变量名和值。( )A.错误B.正确参考答案:A36. ( )是将源程序翻译成由机器代码组成的目标模块文件的过程A.源程序的编写B.目标文件的链接C.源程序的汇编D.源程序的执行参考答案:C37. 已知int a3;,则可以使用a2=10;将数组a中的第3个元素赋值为10。( )A.正确B.错误参考答案:A38. 对于一个具有n个顶点的无向连通图,它包含的连通分量的个数为( )。A.0B.1C.nD.n+1参考答案:B39. 循环指令不影响标志。( )A.正确B.错误参考答案:A40. 下列哪一个是合法的标识符:( )A.12classB.+viodC.-5D._black参考答案:D41. 下列描述中,( )是抽象类的特性。A.可以说明虚函数B.可以定义友元函数C.可以进行构造函数重载D.不能说明其对象参考答案:D42. 以下哪项属于计算机低级语言( )A.机器语言B.汇编语言C.JAVA语言D.C语言参考答案:AB43. 已知double x=10,y=3; 则x%2的值为1。( )A.正确B.错误参考答案:B44. 处理器指令的操作数可以是( )A.运算器B.立即数C.寄存器D.存储单元参考答案:BCD45. 已知程序段:int a34,*p3=a0, a1, a2,*pp=p,i;for (i=0; iA.3B.4C.5D.6参考答案:D46. 段存储器常见的有( )A.代码段B.堆栈段C.数据段D.附加段参考答案:ABCD47. 标记应用于下列哪组标记之间( )。A.html/htmlB.body/bodyC.head/headD.title/title参考答案:B48. 以下能正确读入字符串的程序段是( )。A.char *p; scanf(“%s”,p)B.char str10; scanf(“%s”,&str)C.char str10,*p; p=str; scanf(“%s”,p)D.char str10,*p=str; scanf(“%s”,p1)参考答案:C49. 当说明一个共用体变量时系统分配给它的内存是( )。A.共用体中第一个成员所需内存量B.共用体中最后一个成员所需内存量C.共用体成员中占内存量最大者所需的容量D.共用体中各成员所需内存量的总和参考答案:C50. C+中的任何一个程序必须有且只能有一个主函数main。( )A.正确B.错误参考答案:A51. 已知char str20=mybook,*p=str+2;则以下各选项中输出结果为b的是( )。A.coutp;B.coutp0;C.coutstr;D.coutstr+2;参考答案:B52. C语言允许函数值类型的缺省定义,此时该函数值隐含的类型是( )。A.floatB.intC.longD.double参考答案:B53. 下列语句中,不正确的是:( )A.float e =1.1fB.char f =-1.1fC.double g =1.1fD.byte h =1参考答案:B54. 具有n个顶点的有向图最多有( )条边。A.nB.n(n+1)C.n(n-1)D.n的平方参考答案:C55. 语言中字符型(char)数据在内存中的存储形式是( )。A.


设有下面的程序段:

char s[]="china"; char*p; p=s;

则下列叙述正确的是

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相同

C.s数组长度和p所指向的字符串长度相等

D.*p与s[0]相等


正确答案:D
解析:考查的是字符指针和字符数组的区别。选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。


设有程序段:char s[]=china; char *p ; p=s ; 则下面叙述正确的是( ) 。

A. s 和 p 完全相同

B. 数组 s 中的内容和指针变量 p 中的内容相等

C. s 数组长度和 p 所指向的字符串长度相等

D. *p 与 s[0]相等


正确答案:D


若有说明“int s[3][4]={0}:”,则下面正确的叙述是______。

A.只有元素s[0][0]可得到初值0

B.此说明语句不正确

C.数组s中各元素都可得到初值,但其值不一定为0

D.数组s中每个元素均可得到初值0


正确答案:D


若有下面的程序段:char s[]="china";char*p;p=s;则下列叙述正确的是

A.s和p完全相同

B.数组s中的内容和指针变量p中的内容相等

C.s数组长度和p所指向的字符串长度相等

D.*p与s[0]相等


正确答案:D
解析:字符型指针变量p中存放的是"china"的首地址,所以选项A)和B)错误。e数组长度为6,而p所指向的字符串长度为5,二者不相等,排除选项C)。


若有说明:int s[3] [4]={0);,则下面叙述正确的是( )。

A.只有元素s[0][0]可得到初值0

B.此说明语句不正确

C.数组s中各个元素都可得到初值,但其值不一定为0

D.数组s中每个元素均可得到初值0


正确答案:D


相关考题:

考题 设有定义语句: int a[]={11,22, 33}; 则下面对此语句的叙述错误的是A.定义了一个名为a的一维数组B.数组中的每一个元素都是整型C.a数组的元素下标为1—3D.a数组有3个元素 正确答案:C解析:a数组的元素的下标应为0~2,这是直接定义数组的方法,通过在大括号中给出数组的数据项的值。

考题 若有说明:int s[2][3]={0};,则下面正确的叙述是______。A.只有元素s[0][0]可得到初值0B.此说明语句不正确C.数组s中各元素都可得到初值,但其值不一定为0D.数组s中每个元素均可得到初值0 正确答案:D解析:给二维数组赋初值时,若所赋初值不足,则给后面的元素自动补初值0。

考题 字符串是以()为结束标志的一维字符数组。有定义:char a[]=””;则a数组的长度是()。正确答案:/0;1

考题 设有下列程序段:chars[20]=Beijing,*P;P=S;则执行“p=s;”语句后,下列叙述正确的是( )。A.可以用*P表示s[0]B.S数组中元素的个数和P所指字符串长度相等C.S和P都是指针变量D.数组s中的内容和指针变量P中的内容相同 正确答案:AA。【解析】程序定义了字符数组S和字符型指针变量P,并且使P指向数组S的首地址,执行P=S语句后,*P表示s[o];S数组中元素的个数和P所指字符串长度不相等,s数组中包括字符串结束标志“\0”,而P所指字符串不包括“\0”,数组s中的内容和指针变量P中的内容不相同,数组中存放的是字符串,而指针变量P存放的是数组的首地址。

考题 设有如下程序段:则执行P=s;语句后,以下叙述中正确的是( )。A.可以用* P表示s[O]B.S数组中元素的个数和P所指字符串长度相等C.s和P都是指针变量D.数组s中的内容和指针变量P中的内容相等 正确答案:AP=8;后,指针P指向s的首地址,*P=s[0],因此选项A)是正确的;p是字符串指针,所指向的字符串为”beijing”,其长度为7,而数组s中元素的个数为20,因此选项B)和D)是错误的;s是数组,不是指针变量,所以选项C)也是错误的。

考题 设有下面的程序段: char s[]="china"; char*p;p=s; 则下列叙述正确的是A.s和p完全相同B.数组s中的内容和指针变量p中的内容相同C.s数组长度和p所指向的字符串长度相等D.*p与s[0]相等 正确答案:D解析:选项A)中,s为数组名,是一个常量地址,而指针p为一个字符变量,不能说两者完全相同,所以选项A)错误。选项B)和C)的说法都不严谨,只有选项D)的说法正确。注意:用于字符串处理的函数。

考题 若有如下定义: int s[3][4]; 则下面表达式中能代表数组元素s[1][0]的值的是( )A.*(s+1)B.s[1]C.s+1D.*(s[1]) 正确答案:D

考题 标准库函数fgets(s,n,file)的功能是( )。A.从文件file中读取长度为n的字符串存入字符数组S由S 标准库函数fgets(s,n,file)的功能是( )。A.从文件file中读取长度为n的字符串存入字符数组S由B.从文件file中读取长度不超过n-1个字符的字符串放到字符数组S中C.从文件file中读到n个字符串存入字符数组s中D.从文件file中读取长度为n-1个字符的字符串存人字符数组s中 正确答案:B本题考查fgets()函数的使用调用形式:fgets(S,n,fp)。fgets函数参数说明:“s”可以是一个字符数组名,也可以是指向字符串的指针;“n”为要读取的最多的字符个数;“fp”是指向该文件型指针。fgets函数的功能是:从fp所指向的文件中读取长度不超过n-1个字符的字符串,并将该字符串放到字符数组s中,读入字符串后会自动在字符串末尾加入″\0″结束符。表示字符串结束。

考题 如果定义了char a[10],则数组a可以能够容纳的最长字符串长度为10。正确答案:错误

考题 若有下面的程序段char s[]="china";char *p; p=s;则下列叙述正确的是A.s和p完全相同 B.数组s中的内容和指针变量p中的内容相等C.s数组长度和p所指向的字符串长度相等 D.*p与s[0]相等 正确答案:D本题考查数组与指针的关系。C语言规定数组名代表数组中第一个元素的地址,题目中给出了p=s,即p=s[0],所以有*p=s[0]。A选项说s和p完全相同是错误的,因为s是数组名,是一个常量,而p是一个指针变量;B选项说数组s中的内容和指针变量p中的内容相等也是错误的,因为数组s中的内容是字符串“china”,而指针变量p中的内容是数组的首地址;C选项说s数组长度和p所指向的字符串长度相等也是错误的,因为字符串存放在数组中时,至少需要多出一个存放字符串结束标识的单元。
最新考题