奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx

上传人:b****2 文档编号:11809891 上传时间:2023-06-02 格式:DOCX 页数:39 大小:31.65KB
下载 相关 举报
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第1页
第1页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第2页
第2页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第3页
第3页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第4页
第4页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第5页
第5页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第6页
第6页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第7页
第7页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第8页
第8页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第9页
第9页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第10页
第10页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第11页
第11页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第12页
第12页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第13页
第13页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第14页
第14页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第15页
第15页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第16页
第16页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第17页
第17页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第18页
第18页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第19页
第19页 / 共39页
奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx_第20页
第20页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx

《奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx》由会员分享,可在线阅读,更多相关《奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx(39页珍藏版)》请在冰点文库上搜索。

奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案.docx

奥鹏西安交通大学课程考试《程序设计基础高起专》参考资料答案

西安交通大学课程考试复习资料

单选题

1.以下不能正确定义二维数组的选项是()

A.inta[2][2]={{1},{2}};

B.inta[][2]={1,2,3,4};

C.inta[2][2]={{1},2,3};

D.inta[2][]={{1,2},{3,4}};

答案:

D

2.下列选项中正确的语句组是()

A.chars[8];s={"Beijing"};

B.char*s;s={"Beijing"};

C.chars[8];s="Beijing";

D.char*s;s="Beijing";

答案:

D

3.若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()

A.printf("%d",*(a+5));

B.printf("%d",p[5]);

C.printf("%d",*(p+5));

D.printf("%d",*p[5]);

答案:

D

4.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()

A.地址传递

B.单向值传递

C.由实参传给形参,再由形参传回实参

D.传递方式由用户指定

答案:

B

5.用下列语句定义a,b,c,然后执行b=a、c='b'+b,则b,c的值是()。

longa=0xffffff;

intb;charc;

A.0ffffff和0x61

B.-1和98

C.-1和97

D.指向同一地址

答案:

C

6.用户定义的函数不可以调用的函数是()

A.非整型返回值的

B.本文件外的

C.main函数

D.本函数下面定义的

答案:

C

7.以下运算符中,优先级最高的运算符是()

A.*=

B.>=

C.(类型)

D.+

答案:

C

8.以下叙述中正确的是()

A.C语言的源程序不必通过编译就可以直接运行

B.C语言中的每条可执行语句最终都将被转换成二进制的机器指令

C.C源程序经编译形成的二进制代码可以直接运行

D.C语言中的函数不可以单独进行编译

答案:

B

9.以下不能正确定义二维数组的选项是()

A.inta[2][2]={{1},{2}};

B.inta[][2]={1,2,3,4};

C.inta[2][2]={{1},2,3};

D.inta[2][]={{1,2},{3,4}};

答案:

D

10.下列程序的输出结果是()。

main()

{intx=1,y=0,a=0,b=0;

switch(x)

{

case1:

switch(y)

{

case0:

a++;break;

case1:

b++;break;

}

case2:

a++;b++;break;

case3:

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

答案:

B

11.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()

A.int

B.float

C.double

D.不确定

答案:

C

12.逻辑运算符两侧运算对象的数据类型()

A.只能是0或1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

答案:

D

13.结构体类型的定义允许嵌套是指()

A.成员是已经或正在定义的结构体型

B.成员可以重名

C.结构体型可以派生

D.定义多个结构体型

答案:

A

14.C语言中,定义结构体的保留字是()

A.union

B.struct

C.enum

D.typedef

答案:

B

15.以下叙述不正确的是()。

A.一个C源程序可由一个或多个函数组成

B.一个C源程序必须包含一个main函数

C.C程序的基本组成单位是函数

D.在C程序中,注释说明只能位于一条语句的后面

答案:

D

16.若二维数组a有m列,则在a[i][j]前的元素个数为()。

A.j*m+I

B.i*m+j

C.i*m+j-1

D.i*m+j+1

答案:

B

17.逻辑运算符两侧运算对象的数据类型()。

A.只能是0或1

B.只能是0或非0正数

C.只能是整型或字符型数据

D.可以是任何类型的数据

答案:

D

18.结构体类型的定义允许嵌套是指()。

A.成员是已经或正在定义的结构体型

B.成员可以重名

C.结构体型可以派生

D.定义多个结构体型

答案:

A

19.C语言中,要求运算数必须是整型的运算符是()。

A.^

B.%

C.!

D.>

答案:

B

20.设有说明.charw;intx;floaty;doublez;则表达式w*x+z-y值的数据类型为()。

A.float

B.char

C.int

D.double

答案:

D

21.设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的数据类型为()。

A.int

B.float

C.double

D.不确定

答案:

C

22.设:

inta=4,b=5;则表达式8>4-!

0||2&&5>4的结果为()

A.0

B.1

C.-1

D.无法计算

答案:

B

23.下列哪个不是算法的特征()

A.有穷性

B.可行性

C.不确定性

D.输入

答案:

C

24.

以下程序中,while循环的循环次数是()

main()

{inti=0;

while(i<10)

{if(i<1)continue;

if(I==5)break;

i++;

}

......

}

A.1

B.10

C.6

D.死循环,不能确定次数

答案:

D

25.C语言中要求对变量作强制定义的主要理由是()。

A.便于移植

B.便于写文件

C.便于编辑预处理程序的处理

D.便于确定类型和分配空间

答案:

D

26.以下运算符中优先级最低的是()。

A.&&

B.&

C.||

D.|

答案:

C

27.以下程序的输出结果是()intf(){staticinti=0;ints=1;s+=i;i++;returns;}main(){inti,a=0;for(i=0;i<5;i++)a+=f();printf("%d\n",a);}

A.20

B.24

C.25

D.15

答案:

D

28.已知函数的调用形式fread(buffer,size,count,fp);其中buffer代表的是()。

A.一个整数,代表要读入的数据项总数

B.一个文件指针,指向要读的文件

C.一个指针,指向要读入数据的存放地址

D.一个存储区,存放要读的数据项

答案:

C

29.有如下程序,该程序的输出的结果是()intaddc(inta,intb,intc){c=a+b;return(c);}main(){intx=4,y=2,z,r;z=x+y;r=addc(addc(x,y,z),addc(y,z,x),z);printf("%d\n",r);}

A.36

B.12

C.14

D.6

答案:

C

30.以下叙述中错误的是()。

A.二进制文件打开后可以先读文件的末尾,而顺序文件不可以

B.在程序结束时,应当用fclose函数关闭已打开的文件

C.在利用fread函数从二进制文件中读数据时,可以用数组名给数组中所有元素读入数据

D.不可以用FILE定义指向二进制文件的文件指针

答案:

D

31.下列类型中错误的是()

A.unsigned

B.unsignedfloat

C.unsignedlongint

D.unsignedint

答案:

B

32.fgets(str,n,fp)函数从文件中读入一个字符串,以下正确的叙述是()。

A.字符串读入后不会自动加入'\0'

B.fp是file类型的指针

C.fgets函数将从文件中最多读入n-1个字符

D.fgets函数将从文件中最多读入n个字符

答案:

C

33.以下函数,哪个不属于动态申请空间的标准库函数()

A.malloc()

B.calloc()

C.free()

D.strcmp()

答案:

D

34.若有说明inta[3][4];则a数组元素的非法引用是()。

A.a[0][2*1]

B.a[1][3]

C.a[4-2][0]

D.a[0][4]

答案:

D

35.每条C语句后面都要有一个()

A.逗号

B.冒号

C.分号

D.括号

答案:

C

36.以下的选择中,正确的赋值语句是()。

A.a=1,b=2

B.j++

C.a=b=5;

D.y=int(x)

答案:

C

37.若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是()。

A.EOF

B.0

C.非零值

D.NULL

答案:

C

38.以下选项中不属于C语言的类型的是()

A.signedshortint

B.unsignedlongint

C.unsignedint

D.longshort

答案:

D

39.以下不能定义为用户标识符的是()

A.scanf

B.Void

C._3com_

D.int

答案:

D

40.若有inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;则输出结果不为5的语句为()。

A.printf("%d",*(a+5));

B.printf("%d",p[5]);

C.printf("%d",*(p+5));

D.printf("%d",*p[5]);

答案:

D

41.以下数值中,不正确的八进制数或十六进制数是()。

A.0x16

B.016

C.-1

D.0xaaaa

答案:

C

42.doublex;scanf("%lf",&x);不可以赋值给x变量的常量是()。

A.123

B.100000

C.A'

D."abc"

答案:

D

43.下列程序的输出结果为()。

main(){intm=7,n=4;floata=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%f\n",x);}

A.27.000000

B.27.500000

C.28.000000

D.28.500000

答案:

A

44.若k为int型变量,则以下程序段的执行结果是()。

k=-8567;printf("|%06D|\n",k);

A.格式描述符不合法,输出无定值

B.输出为|%06D|

C.输出为|0-8567|

D.输出为|-8567|

答案:

B

45.以下标识符中,不能作为合法的C用户定义标识符的是()。

A.putchar

B._double

C._123

D.INT

答案:

A

46.inta[10]={1,2,3,4,5,6,7,8};int*p;p=&a[5];p[-3]的值是()。

A.2

B.3

C.4

D.不一定

答案:

B

47.以下正确的说法是:

在C语言中()。

A.实参和与其对应的形参各占用独立的存储单元

B.实参和与其对应的形参共占用一个存储单元

C.只有当实参和与其对应的形参同名时才共占用存储单元

D.形参是虚拟的,不占用存储单元

答案:

A

48.以下程序的输出结果是()。

main(){chars[]="123",*p;p=s;printf("%c%c%c\n",*p++,*p++,*p++);}

A.123

B.321

C.213

D.312

答案:

B

49.若有以下程序#includevoidf(intn);main(){voidf(intn);f(5);}voidf(intn){printf("%d\n",n);}则以下叙述中不正确的是()

A.若只在主函数中对函数f进行说明,则只能在主函数中正确调用函数f

B.若在主函数前对函数f进行说明,则在主函数和其后的其它函数中都可以正确调用函数f

C.对于以上程序,编译时系统会提示出错信息:

提示对对f函数重复说明

D.函数f无返回值,所以可用void将其类型定义为无值型

答案:

C

50.执行下列两个语句后,输出的结果为()charc1=66,c2=98;printf(“%c,%d”,c1,c2);

A.66,98

B.66,b

C.B,97

D.B,98

答案:

D

51.若用数组名作为函数的实参,传递给形参的是()。

A.数组的首地址

B.数组第一个元素的值

C.数组中全部元素的值

D.数组元素的个数

答案:

A

52.inta=1,b=2,c=3;if(a>b)a=b;if(a>c)a=c;则a的值为()。

A.1

B.2

C.3

D.不一定

答案:

A

53.若有以下的定:

intt[3][2];能正确表示t数组元素地址的表达式是()。

A.&t[3][2]

B.t[3]

C.&t[1]

D.t[2]

答案:

D

54.下列标识符中,不合法的C语言用户自定义标识符是()。

A.printf

B.enum

C._

D.sin

答案:

B

55.以下程序段的输出结果是()inta=1234;printf("%2d\n",a);

A.12

B.34

C.1234

D.提示出错、无结果

答案:

C

56.以下程序的输出结果是()main(){inta=5,b=4,c=6,d;printf("%d\n",d=a>b?

(a>c?

a:

c):

(b));}

A.5

B.4

C.6

D.不确定

答案:

C

57.下列程序段的输出结果为()。

Intx=3,y=2;printf("%d",(x-=y,x*=y+8/5));

A.1

B.7

C.3

D.5

答案:

C

58.在C语言中,char型数据在内存中的存储形式是()。

A.补码

B.反码

C.原码

D.ASCII码

答案:

D

59.在C语言中,形参的缺省存储类是()。

A.auto

B.register

C.static

D.extern

答案:

A

60.以下选项中合法的实型常数是()。

A.5E2.0

B.E-3

C..2E0

D.1.3E

答案:

C

61.关于switch语句说法不正确的是()

A.case的次序不影响执行结果

B.每个case语句后面的常量可以不同

C.在执行完一个case语句后转到下一个case语句执行

D.每个case语句后面表达式只能是常量

答案:

B

62.函数rewind的作用是()。

A.使位置指针重新返回文件的开头

B.将位置指针指向文件中所要求的特定位置

C.使位置指针指向文件的末尾

D.使位置指针自动移至下一个字符位置

答案:

A

63.chara[]="Thisisaprogram.";输出前5个字符的语句是()。

A.printf("%.5s",a);

B.puts(a);

C.printf("%s",a);

D.a[5*2]=0;puts(a);

答案:

A

64.有如下的数组staticinta[10];则()

A.该数组没有被初始化

B.数组的所有元素都被赋值为0

C.数组的第一个元素是a[1]

D.数组共有11个元素

答案:

B

65.若inti=10;执行下列程序后,变量i的正确结果是()switch(i){case0:

i+=1;case10:

i+=1;case11:

i+=1;default:

i+=1;}

A.10

B.11

C.12

D.13

答案:

C

66.若有inta[][]={{1,2},{3,4}};则*(a+1),*(*a+1)的含义分别为()。

A.非法,2

B.&a[1][0],2

C.&a[0][1],3

D.a[0][0],4

答案:

B

67.若x=2,y=3则x&y的结果是()。

A.0

B.2

C.3

D.5

答案:

B

68.已知x=43,ch='A',y=0;则表达式(x>=y&&ch<'B'&&!

y)的值是()。

A.0

B.语法错

C.1

D."假"

答案:

C

69.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。

A.自动(auto)

B.静态(static)

C.外部(extern)

D.寄存器(register)

答案:

A

70.若使用一维数组名作函数实参,则以下正确的说法是()。

A.必须在主调函数中说明此数组的大小

B.实参数组类型与形参数组类型可以不匹配

C.在被调用函数中,不需要考虑形参数组的大小

D.实参数组名与形参数组名必须一致

答案:

A

71.关于数组,下列说法错误的是()

A.在任何一个数组中,数组元素的类型都是一致的

B.<常量表达式>不允许是变量

C.一维数组中的各个元素在内存中是按顺序存放的

D.C语言运行时要检查数组的边界,即下标值超界时,系统会报错

答案:

D

72.关于结构体,下列说法错误的是()

A.不能将一个结构体变量作为一个整体进行输入和输出。

B.对成员变量可以像普通变量一样进行各种运算。

C.结构体变量的地址主要用作函数参数传递结构体的地址。

D.结构体变量赋初值与数组不同,可以不一一对应。

答案:

D

73.以下语句中,不能实现回车换行的是()。

A.printf("\n");

B.putchar("\n");

C.fprintf(stdout,"\n");

D.fwrite("\n",1,1,stdout);

答案:

B

74.以下叙述正确的是()

A.可以把define和if定义为用户标识符

B.可以把define定义为用户标识符,但不能把if定义为用户标识符

C.可以把if定义为用户标识符,但不能把define定义为用户标识符

D.define和if都不能定义为用户标识符

答案:

B

75.()是用来描述对象的属性和行为的

A.实体

B.类

C.对象

D.现象

答案:

B

76.经过下列的语句intj,a[10],*p;定义后,下列语句中合法的是()。

A.p=p+2;

B.p=a[5];

C.p=a[2]+2;

D.p=&(j+2);

答案:

A

77.以下运算符中,优先级最高的运算符是()。

A.=

B.!

=

C.*(乘号)

D.()

答案:

D

78.下列四个选项中,均是C语言关键字的选项是()。

A.auto、enum、include

B.switch、typedef、continue

C.signed、union、scanf

D.if、struct、type

答案:

B

79.以下叙述中正确的是()。

A.在程序的一行上可以出现多个有效的预处理命令行

B.使用带参的宏时,参数的类型应与宏定义时的一致

C.宏替换不占用运行时间,只占编译时间

D.在以下定义中CR是称为"宏名"的标识符#defineCR045

答案:

C

80.以下对C语言函数的描述中,正确的是()。

A.C程序必须由一个或一个以上的函数组成

B.C函数既可以嵌套定义又可以递归调用

C.函数必须有返回值,否则不能使用函数

D.C程序中有调用关系的所有函数必须放在同一个程序文件中

答案:

A

81.inta[10];合法的数组元素的最小下标值为()。

A.10

B.9

C.1

D.0

答案:

D

82.设:

x=9;y=++x;,则产生的结果是()

A.x=9;y=9;

B.x=10;y=10;

C.x=9;y=10;

D.x=10;y=9;

答案:

B

83.对于如下的表达式:

inta[3][4],*p;p=*a;执行p++操作之后,*p表示取()的内容。

A.a[0][0]

B.a[1][0]

C.a[1][1]

D.a[0][1]

答案:

D

84.设intx=1,y=1;表达式(!

x||y--)的值是()。

A.0

B.1

C.2

D.-1

答案:

B

85.若指针p已正确定义,要使p指向两个连续的整型动态存储单元,不正确的语句是()

A.p=2*(int*)malloc(sizeof(int));

B.p=(int*)malloc(2*sizeof(int));

C.p=(int*)malloc(2*2);

D.p=(int*)calloc(2,sizeof(int));

答案:

A

86.关于指针,下列说法错误的是()

A.指针变量是用来存放内存地址的

B.&表示取变量地址运算

C.*表示取指针变量所指向的变量内容的运算

D.可以将整数赋给指针变量

答案:

D

87.若有int*p=(int*)malloc(sizeof(int));则向内存申请到内存空间存入整数123的语句为()。

A.scanf("%d",p);

B.scanf("%d",&p);

C.scanf("%d",*p);

D.scanf("%d",**p);

答案:

A

88.函数的形式参数隐含的存储类型说明是()。

A.extern

B.static

C.register

D.auto

答案:

D

89.以下选项中,与k=n++完全等价的表达式是()。

A.k=n,n=n+1

B.n=n+1,k=n

C.k=++n

D.k+=n+1

答案:

A

90.若有下列定义和语句,则对a数组元素的非法引用是()。

Inta[2][3],(*pt)[3];pt=a;

A.pt[0][0]

B.*(pt+1)[2]

C.*(pt[1]+2)

D.*(a[0]+2

答案:

B

91.执行以下程序段后,输出结果和a的值是()。

Inta=10;printf("%d",a++);

A.10和10

B.10和11

C.11和10

D.11和11

答案:

B

92.下列说法错误的是()

A.else总是和它上面的,离它最近的if配对

B.条件表达式可以不用括号括起来。

C.整个if语句在程序中被看作是一条语句

D.if语句中的各语句可以是一条语句,也可以是复合语句

答案:

B

多选题

1.能正确表示逻辑关系:

"a≥10"的C语言表达式是()。

A.a≥10

B.!

(a<10)

C.a>=10

D.x4=1+2=3;

答案:

B,C

2.若以下选项中的变量已正确定义,则不正确的赋值语句是()。

A.int

B.x=3*x+x

C.x3=0x12

D.x4=1+2=3;

答案:

A,D

3.以下叙述正确的是()

A.预处理命令行都必须以"#"开始

B.在程序中凡是以"#"开始的语句行都是预处理命令行

C.C程序在执行过程中对预处理命令行进行处理

D.#defineABCD是正确的宏定义

答案:

A,B,D

4.C语言中三种基本的类型为()

A.int

B.char

C.float

D.struct

答案:

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2