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

对于一个正常运行的C程序,以下叙述中正确的是( )。

A.程序的执行总是从main函数开始,在main函数结束

B.程序的执行总是从程序的第一个函数开始,在main函数结束

C.程序的执行总是从main函数开始,在程序的最后一个函数中结束

D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束


正确答案:A


对于一个正常运行的C语言程序,以下叙述中正确的是( )。

A.程序的执行总是从main函数开始,在main函数结束

B.程序的执行总是从程序的第一个函数开始,在main函数结束

C.程序的执行总是从main函数开始,在程序的最后一个函数中结束

D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束


正确答案:A
解析:在C语言中,所有函数的定义,包括主函数main在内,都是平行的。也就是说,在一个函数的函数体内,不能再定义另一个函数,即不能嵌套定义。但是函数之间允许互相调用.也允许嵌套调用,习惯上把调用者称为主函数。调用函数还可以调用自己,称为递归调用。main函数是主函数,它可以调用其他函数,而不允许被其他函数调用。因此,C程序的执行总是从main函数开始.完成对其他函数的调用后返回到main函数,最后由main函数结束整个程序。一个C源程序必须有也只能有一个main函数。


已知函数tEst定义为:voiDtEst() { ………… }则函数定义中voiD的含义是()

A、执行函数tEst后,函数没有返回值

B、执行函数tEst后,函数不再返回

C、执行函数tEst后,函数返回任意类型值

D、以上三个答案都是错误的


参考答案:A


对于一个正常运行的C程序,以下叙述中正确的是

A.程序的执行总是从main函数开始,在main函数结束

B.程序的执行总是从程序的第一个函数开始,在main函数结束

C.程序的执行总是从main函数开始,在程序的最后一个函数中结束

D.程序的执行总是从程序中的第一个函数开始,在程序的最后一个函数中结束


正确答案:A
解析:一个C程序总是从main函数开始执行,而不论其在程序中的位置。在main函数中可以调用程序中的其他函数,而其他函数却不可以调用 main函数。程序最后再从main函数中结束。


有如下程序:

void main()

{

int x=2,y=3,a,b,c,d;

a=(x++>=--y);

b=(x==++y);

c=(x--!=y);

d=(++x>y--);

}

则程序执行后变量a,b,c,d的值分别是______。


正确答案:1 1 0 0
1 1 0 0


西安交通大学22春程序设计基础在线作业一及答案参考1. 需要独立运行的程序,一个程序只有( )个起始点A.一B.二C.三D.四参考答案:A2. 已知函数定义void fun(int &a) a+=10; ,则执行int x=5; fun(x);后,变量x的值为( )。A.5B.10C.15D.不确定参考答案:C3. dowhile语句与while语句不一样,它首先执行,然后执行。( )A.正确B.错误参考答案:A4. 当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为( )。A.ios:inB.ios:outC.ios:trunkD.ios:binary参考答案:A5. 执行以下程序段后,y的值是( )。int a=1,3,5,7,9 int x=0,y=1,*ptr; ptr=&a1; while (!x) y+=*(ptr+x); x+;A.1B.2C.4D.24参考答案:C6. 在数据结构中,从逻辑上可以把数据结构分成( )。A.动态结构和静态结构B.紧凑结构和非紧凑结构C.线性结构和非线性结构D.内部结构和外部结构参考答案:C7. 下面程序段的运行结果是( )。char a7=“abcdef”; char b4=“ABC”; strcpy(a,b); printf(“%c”,a5)A.空格B.0C.eD.f参考答案:D8. C+有( )种联编方式。A.1B.2C.3D.4参考答案:B9. 已知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);参考答案:BD10. return语句只能用在函数中,用在函数主体以外任何地方都是错误的。( )A.错误B.正确参考答案:B11. 当定义一个结构体变量时系统分配给它的内存是( )。A.结构中第一个成员所需的内存量B.结构中最后一个成员所需的内存量C.结构体成员中占内存量最大者所需的容量D.结构体中各成员所需内存量的总和参考答案:D12. 标记应用于下列哪组标记之间( )。A.html/htmlB.body/bodyC.head/headD.title/title参考答案:B13. 段存储器常见的有( )A.附加段B.数据段C.堆栈段D.代码段参考答案:ABCD14. 在源程序语句4个部分中,参数是指令的操作对象,参数之间用逗号分隔。( )A.错误B.正确参考答案:B15. 在一个链接队列中,假设f和r分别是队头和队尾指针,则删除一个结点的运算时( )。A.r=f-next;B.r=r-next;C.f=f-next;D.f=r-next;参考答案:C16. 图的遍历方法主要包括:( )A.深度优先遍历B.广度优先遍历C.后序遍历D.逐层遍历参考答案:AB17. 在访问数组中的某个元素时,可以使用整型变量指定要访问元素的下标。( )A.正确B.错误参考答案:A18. 语句for(i=1;jA.16B.18C.14D.12参考答案:A19. 二叉树的顺序表示法操作方便,但缺点是容易造成存储空间的浪费。( )A.正确B.错误参考答案:A20. 在使用var x=1声明变量x之后,赋值语句x=我喜欢JavaScript将出错。( )A.错误B.正确参考答案:A21. 对链表进行插入和删除操作时不必移动链表中的结点。( )A.正确B.错误参考答案:A22. 在C语言中,错误的int类型的常数是( )。A.32768B.0C.37D.0xAF参考答案:A23. 8086的寄存器均为32位的。( )A.正确B.错误参考答案:B24. 处理器指令的操作数可以是( )A.立即数B.寄存器C.存储单元D.运算器参考答案:ABC25. 对于一个具有n个顶点的无向连通图,它包含的连通分量的个数为( )。A.0B.1C.nD.n+1参考答案:B26. 所有系统功能的调用格式都是一样的,一般按四步走( )A.在AH寄存器中设置系统功能调用号B.在指定寄存器中设置入口参数C.用INT21H指令执行功能调用D.根据出口参数分析功能调用执行情况参考答案:ABCD27. 以下不正确的if语句形式是( )。A.if(xy);B.if(x=0)x+=y;C.if(X!=y)cinxD.if(xy)else ciny; x+; y+;参考答案:B28. 假设A为抽象类,下列语句( )是错误的。A.A fun(int);B.A *p;C.int fun(A);D.A Obj;参考答案:ACD29. SP结构化程序设计方法也称面向过程的程序设计方法,反映了过程性编程的方法,根据执行的操作来设计一个程序。( )A.正确B.错误参考答案:A30. 外部设备主要通过I/O端口与处理器交换信息。( )A.错误B.正确参考答案:A31. 一个结点的后继的数目称为该结点的度;树中各结点度的最大值称为树的度。( )A.正确B.错误参考答案:A32. 在8086命令中CS是要执行的下一条指令的偏移地址。( )A.正确B.错误参考答案:B33. 堆栈的两个操作指令为( )A.SUBB.PUSHC.ADDD.POP参考答案:BD34. 在下述结论中,正确的是( ) 只有一个结点的二叉树的度为0; 二叉树的度为2; 二叉树的左右子树可任意交换; 深度为K的完全二叉树的结点个数小于或等于深度相同的满二叉树。A.B.C.D.参考答案:D35. 以下程序执行后a的值为( )。main( ) int a,m=2,k=1,*p=&k; a=p!=&m; printf(“%dn”,a);A.-1B.0C.1D.2参考答案:C36. 已知char s10=hello;,则s5的值为&39;0&39;。( )A.正确B.错误参考答案:A37. 在源程序语句4个部分中,参数是指令的操作对象,参数之间用逗号分隔。( )A.正确B.错误参考答案:A38. 8086按照逻辑段组织程序即( )A.代码段B.数据段C.附加段D.堆栈段参考答案:ABCD39. 静态局部变量只可以在定义它的函数(或复合语句)中使用。( )A.正确B.错误参考答案:A40. 循环结构的程序通常由( )三部分组成A.循环规则B.循环控制部分C.循环初始部分D.循环体部分参考答案:BCD41. CSS的GLOW滤镜能产生24种动态效果。( )A.错误B.正确参考答案:A42. 已知函数定义void fun(int &a, int b) b+; a+;,则执行int x=2,y=3; fun(x,y);后,变量x、y的值分别为( )。A.2,3B.3,4C.2,4D.3,3参考答案:D43. 已知char str20=mybook,*p=str+2;则以下各选项中输出结果为b的是( )。A.coutp;B.coutp0;C.coutstr;D.coutstr+2;参考答案:B44. 下列哪一个是合法的标识符:( )A.12classB.+viodC.-5D._black参考答案:D45. 下面关于自定义类的运算符重载的说法中,正确的是( )。A.赋值运算符和下标运算符只能重载为类的成员函数B.赋值运算符和下标运算符只能重载为类的友元函数C.赋值运算符重载时一般以引用方式返回*this,表示返回赋值运算符的左操作数D.使用重载的赋值运算符时,左操作数一定是自定义类型参考答案:ACD46. 对DIV指令,除数为0,或者在字节除时商超过8位,或者在字除时商超过16位,则发生除法溢出。( )A.正确B.错误参考答案:A47. 当输出汉字时,输出的是汉字机内码。( )A.正确B.错误参考答案:B48. 分支程序结构有( )两种基本形式A.IF-THEN-ELSEB.DO-WHILEC.UNTILD.IF-THEN参考答案:AD49. 映像文件是一种文本文件。( )A.正确B.错误参考答案:A50. int *p1, p2;则表示定义了两个指针变量p1和p2。( )A.正确B.错误参考答案:B51. 宏是具有宏名的一段汇编语句系列。( )A.错误B.正确参考答案:B52. INC是一个单操作数指令。( )A.正确B.错误参考答案:A53. 下面是串操作指令的是( )A.STOSB.MOVSC.LODSD.CMPS参考答案:ABCD54. 有符号数用1表示正数,负数用1表示。( )A.错误B.正确参考答案:A55. 默认形参值不可以是( )。A.局部变量B.全局变量C.静态全局变量D.函数调用参考答案:A56. 8086的寄存器有4个通用寄存器。( )A.正确B.错误参考答案:B57. 在以下选项中,不属于JavaScript语言特点的是( )。A.基于对象B.跨平台C.编译执行D.脚本语言参考答案:C58. 设要把一个文件输出流对象myFile与文件f:myText.txt相关联,所用的C+语句是ifstream myFile(f:myText.txt,ios:in|ios:ut);。( )A.正确B.错误参考答案:B59. 关于对象成员的构造函数的调用顺序,说法正确的是( )。A.与它们在成


以下关于变量的说法错误的是( )。

A.变量名必须是一个有效的标识符

B.变量在定义时可以没有初始值

C.变量一旦被定义,在程序中的任何位置都可以被访问

D.在程序中,可以将一个byte类型的值赋给一个int型类型的变量,不需要特殊声明


参考答案:C


一个函数为void f(int,char='a'),另一个函数为void f(int),则它们( )。

A.不能在同一程序中定义

B.可以在同一程序中定义并可重载

C.可以在同一程序中定义,但不可以重载

D.以上说法均不正确


正确答案:C
解析:只要满足参数不同的条件,就可以在同一程序中对同名的函数进行定义。但是由于其中一个函数有默认值,因此当程序中出现如下语句x=f(5)时,就会产生二义性,不能确定调用函数f(5)还是调用函数f(5,'a'),此时这两个函数不能重载。


已知函数test定义为()。

A.执行函数test后,函数没有返回值

B.执行函数test后,函数不再返回

C.执行函数test后,函数返回任意类型值

D.以上三个答案都是错误的


正确答案:A


如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了一个变量,则该变量().

A.为全局变量,在本程序文件范围内有效

B.为局部变量,只在该函数内有效

C.为局部变量,只在该复合语句中有效

D.定义无效,为非法变量


正确答案:C


对下列程序段的描述正确的是()。includeint Fun(int,int)void main(){cout<

对下列程序段的描述正确的是( )。 #include<iostream.h> int Fun(int,int) void main() { cout<<Fun(5,50)<<endl; } int Fun(int x,int y) { return X*X+y*y; }

A.该函数定义正确,但函数调用方式错误

B.该函数调用方式正确,但函数定义错误

C.该函数定义和调用方式都正确

D.该函数定义和调用方式都错误


正确答案:C


相关考题:

考题 在一个C程序中,若要定义一个只允许本源程序文件中所有函数使用的全局变量,则该变量需要定义的存储类别为()。正确答案:extern

考题 下面程序应能对两个整型变量的值进行交换。以下正确的说法是 include void swap 下面程序应能对两个整型变量的值进行交换。以下正确的说法是 #include<iostream.h> void swap(int p,int q) { int t; t=p; p=q; q=t;} void main( ) { int a=10,b=20; cout<<a<<" "<<b; swap(a,b); cout<<a<<" "<<b;}A.该程序完全正确B.该程序有错,只要将语句swap(a,b);中的参数改为a,b即可C.该程序有错,只要将swap( )函数中的形参p和q以及t均定义为指针(执行语句不变)即可D.以上说法都不对 正确答案:D解析:本题应该把swap()函数改成这样:swap(int*P,int*q){intt;t=*p;*p=*q;*q=t;}执行程序时,先将a的地址传递给指针变量p,b的地址传递给指针变量q,然后将*p(a的值)的值传递给t,将*q(b的值)传递给*p,将t的值传递给*q,从而将a值和b值互换。

考题 若定义函数int*func(),则函数func的返回值为( )。A.一个实数B.一个指向整型变量的指针C.一个指向整型函数的指针D.一个整型函数的入口地址 正确答案:B解析:本题考考查的是指针函数。指针函数定义的基本格式为:类型说明符*函数名()。其中,“类型说明符”表示返回的指针。值所指向的数据类型。

考题 已知C++中一个函数的原型为void f(int x, int y),调用这个函数时,要把实在参数传递给形式参数,应该采用的参数传递方式是(30)。A.传值调用B.引用调用C.复制恢复D.传名调用 正确答案:B解析:C通过传值方式将实参传递给形参。传值调用是指把实在参数的值传递给相应的形式参数,子程序不能通过这种方式传回任何结果。C++中增加引用调用这种参数传递方式,引用调用是指把实在参数的地址传递给相应的形式参数,此时子程序对形式参数的一次引用或赋值都是对形式参数的间接访问,实际上是对实在参数的一次引用或赋值。如果C++中一个函数的原型为voidf(intx,inty),表示调用这个函数时,应该采用引用调用这种参数传递方式。在FORTRAN类的语言中有复制恢复这种参数传递方式,在ALGOL语言中有传名调用这种参数传递方式。

考题 一个函数为void f(int,charch='a'),另一个函数为void f(int),则它们A.不能在同一程序中定义B.可以在同一程序中定义并可重载C.可以在同一程序中定义,但不可以重载D.以上说法均不正确 正确答案:C解析:本题函数的调用。只要满足参数列表不同的条件,就可以在同一程序中对同名的函数进行定义。但是由于其中一个函数有默认值,因此当程序中出现语句“x=f(10);”时,就会产生二义性,不能确定调用函数f(10)还是调用函数f(10,'a'),此时这两个函数不能重载。

考题 若有以下变量定义和函数调用语句: int a=5; fun(a); 则执行下面函数后正确的输出结果是( )。 void fun(int*x) { cout<<++*x<<end1; }A.3B.4C.5D.6 正确答案:D解析:fun函数中的x参数为整型指针变量。调用fun函数, a是取a的地址,即将实际参数a的地址传递。函数fun中的*x是变量x所指的存储单元即值5。*运算符的等级高于++,所以先取值5,然后加1输出,即为6。

考题 若有以下程序段: void x(int n); void main() { void x(int n); x(5); } void x(int n){ cout<<n: } 则以下叙述不正确的是 ______。A.若只在子函数中对函数x进行声明,则只能在主数中正确调用函数xB.若只在子函数前面对函数x进行声明,则其后的所有函数中都可以正确调用函数xC.对于以上程序,编译时系统会提示出错信息:提示对x函数重复声明D.函数x无返回值,所以可用void定义x的函数类型 正确答案:C

考题 对下列程序段的描述正确的是( )。 include int fun(int,int); void main( 对下列程序段的描述正确的是( )。 #include<iostream.h> int fun(int,int); void main() { cout<<fun(1,2)<<endl; } int fun(int x,int y) { return x+y; }A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确D.该函数定义和调用方式都错误 正确答案:C解析:函数定义的一般形式为:类型标识符函数名(形式参数列表){声明部分;语句}。函数调用的一般格式为:函数名(实参列表)。而“int fun(int,int)”为函数声明,是可以不写形参名,只写形参的类型。所以,可以看出函数fun的定义和调用都是正确的。

考题 关于下列程序段的描述中,正确的是()。 include int fun(int,int); void main() { co 关于下列程序段的描述中,正确的是( )。 #include<iostream.h> int fun(int,int); void main() { cout<<fun(1,2)<<endl; } int fun(int x,int y) { return X+y; }A.该函数定义正确,但函数调用方式错误B.该函数调用方式正确,但函数定义错误C.该函数定义和调用方式都正确D.该函数定义和调用方式都错误 正确答案:C解析: 函数定义的一般形式:类型标识符函数名(形式参数列表){声明部分;语句}。函数调用的一般格式:函数名(实参列表)。而“int fun(int,int)”为函数声明,可以不写形参名,只写形参的类型。所以,可以看出函数fun的定义和调用都是正确的。

考题 对于一个正常运行的C程序,以下叙述中正确的是( )。A.程序的执行总是从main函数开始B.程序的执行总是从程序的第一个函数开始,在main函数结束C.程序的执行总是从main函数开始,在程序的最后一个函数中结束D.程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 正确答案:A程序的执行总是从main函数开始,在main函数中结束,其他函数通过main函数调用执行,所以A)正确。
最新考题