对外远程答案.docx

上传人:b****9 文档编号:23385457 上传时间:2023-05-16 格式:DOCX 页数:20 大小:26.39KB
下载 相关 举报
对外远程答案.docx_第1页
第1页 / 共20页
对外远程答案.docx_第2页
第2页 / 共20页
对外远程答案.docx_第3页
第3页 / 共20页
对外远程答案.docx_第4页
第4页 / 共20页
对外远程答案.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

对外远程答案.docx

《对外远程答案.docx》由会员分享,可在线阅读,更多相关《对外远程答案.docx(20页珍藏版)》请在冰豆网上搜索。

对外远程答案.docx

对外远程答案

对外经济贸易大学远程教育学院

2008—2009学年度第一学期

《程序设计基础》期末复习题

一、单项选择题

1.程序设计一般包含以下四个步骤,其中首先应该完成的是(B)

A.设计数据结构和算法B.建立数学模型

C.编写程序D.调试运行程序

2.下面描述中不正确的是(D)

A.程序就是软件,但软件不仅仅是程序

B.程序是指令的集会,计算机语言是编写程序的工具

C.计算机语言都是形式化语言,它有严格的语法规则和定义

D.计算机语言只能编写程序而不能表示算法

3.以下说法中正确的是(C)

A.C语言程序总是从第一个函数开始执行

B.在C语言程序中,main()函数可有可无

C.C语言程序总是从main()函数开始执行

D.C语言程序中的main()函数必须放在程序的开始部分

4.C语言程序的基本单位是(B)

A.语句B.函数C.程序行D.字符

5.C语言程序由什么组成(C)

A.子程序B.过程C.函数D.主程序段程序

6.以下不是C语言特点的是(B)

A、语言的表达能力强B、语法定义严格

C、数据结构系统化D、控制流程结构化

7.C语言并不是非常严格的算法语言,在以下关于C语言的不严格的叙述中,错误的说法是(A)

A、任何不同数据类型都不可以通用

B、有些不同类型的变量可以在一个表达式中运算

C、在赋值表达式中等号(=)左边的变量和右边的值可以是不同类型

D、同一个运算符号在不同的场合可以有不同的含义

8.下面描述中,不正确的是(B)

A、C程序的函数体由一系列语句和注释组成

B、注释内容不能单独写在一行上

C、C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明

D、scanf和printf是标准库函数而不是输入或输出语句

9.下面描述中,正确的是(C)

A、主函数中的花括号必须有,而子函数中的花括号是可有可无的

B、一个C程序行只能写一个语句

C、主函数main是C程序启动时唯一的入口

D、函数体包含了函数说明部分

10.C语言中字符(char)数据在内存中存储的是(D)

A、原码B、补码C、反码D、ASCⅡ码

11.下列可以正确表示字符型常数的是(B)

A、”a”B、’\’’C、”\n”D、297

12.以下错误的转义字符是(C)

A、’\\’B、’\’’C、’\81’D、’\0’

13.已知:

chara;intb;floatc;doubled;执行语句c=a+b+c+d;后,变量c的数据类型是(C)

A、intB、charC、floatD、double

14.已知;inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是(C)

A、6B、12C、30D、36

15.已知inti=5;执行语句i+=++i;i的值是(C)

A、10B、11C、12D、以上答案都不对

16.已知:

intx=1,y=2,z;则执行:

z=x>y?

++x:

++y;则z的值为(C)

A、1B、2C、3D、4

17.已知:

floata=4,b=5,c;则执行表达式“c=a=a>b”后变量a的值为(A)

A、0B、1C、4D、5

18.执行下面语句后x的值为(D)

inta=14,b=15,x;

charc=’A’;

x=((a&&b)&&(c<’a’));

A、TRUEB、FALSEC、0D、1

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

A.autoenumincludeB.switchtypedefcontinue

C.signedunionscanfD.ifstructtype

20.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符(C)

A.必须为字母B.必须为下划线

C.必须为字母或下划线D.可以是字母,数字和下划线中任一字符

21.若有定义:

inta=7;floatx=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是(A)

A.2.500000B.2.750000C.3.500000D.0.000000

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

A.intB.floatC.doubleD.不确定

23.表达式(a=3*5,a*5),a+5的值是多少(A)

A.20B.80C.不能确定D.15

24.语句:

printf("%d\n",12&&12);的输出结果是(B)

A.12B.1C.24D.0

25.C语言的语句中用作判断的表达式一般为(D)

A.关系表达式B.逻辑表达式

C.算术表达式D.逻辑表达式和关系表达式

26.若已定义x和y为double型,则表达式:

x=1,y=x+3/2的值是(C)

A.1B.2C.2.0D.2.5

27.若有以下定义:

chara;intb;

floatc;doubled;

则表达式a*b+d-c值的类型为(D)

A.floatB.intC.charD.double

28.若x和y都是int型变量,x=100,y=200,且有下面的程序片段:

printf("%d",(x,y));

上面程序片段的输出结果是(A)

A.200B.100

C.200100D.输出格式符不够,输出不确定的值

29.表达式:

10!

=9的值是(D)

A.trueB.非零值C.0D.1

30.以下关于运算符优先顺序的描述中正确的是(C)

A.关系运算符<算术运算符<赋值运算符<逻辑运算符

B.逻辑运算符<关系运算符<算术运算符<赋值运算符

C.赋值运算符<逻辑运算符<关系运算符<算术运算符

D.算术运算符<关系运算符<赋值运算符<逻辑运算符

31、putchar函数可以向屏幕输出一个(D)

A、整形变量值B、实型变量值C、字符串D、字符或字符变量值

32、执行以下程序段后,c3的值是(A)

intc1=1,c2=2,c3;

c3=c1/c2;

A、0B、1/2C、0.5D、1

33、若inta,b,c;则为它们输入数据的正确输入语句是(D)

A、read(a,b,c);B、scanf(“%d%d%d”,a,b,c);

C、scanf(“%D%D%D”,&a,&b,&c);D、scanf(“%d%d%d’,&a,&b,&c);

34、若有以下程序段,其输出结果是(B)

inta=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(“%d,%d,%d\n”,a,b,c);

A、3,0,-10B、0,0,5C、-10,3,-10D、3,0,3

35、若a为int类型,且a=125,执行下列语句后的输出是(B)

printf(“%d,%o,%x\n”,a,a+1,a+2)

A、125,175,7DB、125,176,7F

C、125,176,7DD、125,175,2F

36.表达式(int)2.1416的值是(A)

A.2B.2.1C.0D.3

37.若有条件表达式(exp)?

a++:

b--,则以下表达式中能完全等价于表达式(exp)的是(B)

A.(exp==0)B.(exp!

=0)C.(exp==1)D.(exp!

=1)

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

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

A.0B.1C.2D.-1

39.在C语言中,错误的int类型的常数是(A)

A.32768B.0C.037D.0xAF

40.下列正确表示字符型常数的是(B)

A.‘101’B.‘\101’C.“\n”D.297

41.有定义charch;判断ch的值是否为小写字母的表达式为(D)

A.‘a’<=ch=‘z’B.(ch>=‘a’)&(ch<=‘z’)

C.(ch>=‘a’)AND(ch<=‘z’)D.ch>=97&&ch<=122

42.以下程序的输出结果是(C)

main()

{inta=12,b=12;

printf("%d%d\n",--a,++b);

}

A.1010B.1212C.1113D.1110 

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

"a≥=10或a≤0"的C语言表达式是(D)

A.a>=10ora<=0B.a>=0||a<=10

C.a>=10&&a<=0D.a<=0||a>=10

44.下列程序的输出结果是(C)

main()

{doubled=3.2;

intx,y;

x=1.2;y=(x+3.8)/5.0;

printf("%d\n",d*y);

}

A.3B.3.2C.0D.3.07

45、已知:

inta,*p=&a;则下列函数调用中错误的是________。

A、scanf(“%d”,&a);B、scanf(“%d”,p);

C、printf(“%d”,a);D、printf(“%d”,p);

46、C语言中决定函数返回值类型的是_______。

A、return语句中的表达式类型

B、调用该函数的主调函数类型

C、调用函数时临时指定的类型

D、定义函数时所指定的函数类型

47、在下列结论中,只有一个是错误的,它是________。

A、C语言允许函数的递归调用

B、C语言中的continue语句,可以通过改变程序的结构而省略

C、有些递归程序是不能用非递归算法实现的

D、C语言中不允许在函数中再定义函数

48、在C语言的函数调用过程中,如果函数funA调用了函数funB,函数funB又调用了函数funA,则________。

A、称为函数的直接递归B、称为函数的间接递归

C、称为函数的递归定义D、C语言中不允许这样的递归形式

49、已知:

int*p,a;则语句“p=&a;”中的运算符“&“的含义是_______。

A、位与运算B、逻辑与运算C、取指针内容D、取变量地址

50.以下程序的输出结果是(C)

main()

{inta=-1,b=1;

if((++a<0)&&!

(b--<=0))printf("%d%d\n",a,b);

elseprintf("%d%d\n",b,a);

}

A.-11B.01C.10D.00

51.若执行下面的程序从键盘输入3和4,则输出是(B)

main()

{inta,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a

s=s*s;

printf("%d\n",s);

}

A.14B.16C.18D.20

52.下面的程序是(D)

main()

{intx=3,y=0,z=0;

if(x==y+z)printf("****");

elseprintf("####");

}

A.有语法错误不能过通过编译B.输出****

C.可能通过编译,但是不能通过连接,因而不能运行

D.输出####

53.以下程序输出结果是(B)

main()

{intm=5;

if(m++>5)printf("%d\n",m);

elseprintf("%d\n",m--);

}

A.7B.6C.5D.4

54.执行下面语句后的输出为(D)

inti=-1;

if(i<=0)printf("****\n")

elseprintf("%%%%\n")

A.****B.%%%%

C.%%%%CD.有语法错,不能执行

55.执行下列程序段后,x、y和z的值分别是(B)

intx=10,y=20,z=30;

if(x>y)z=x;x=y;y=z;

A、10,20,30B、20,30,30

C、20,30,10D、20,30,20

56.以下程序的输出结果是(D)

main()

{intw=4,x=3,y=2,z=1;

if(x>y&&(z==w))printf(“%d\n”,(w

w:

z

z:

x));

elseprintf(“%d\n”,(w>x?

w:

z>y?

z:

x));

}

A、1B、2C、3D、4

57.以下程序段中与语句k=a>b?

(b>c?

1:

0):

0;功能等价的是(A)

A.if((a>b)&&(b>c))k=1;elsek=0;

B.if((a>b)||(b>c))k=1;elsek=0;

C.if(a<=b)k=0;elseif(b<=c)k=1;

D.if(a>b)k=1;elseif(b>c)k=1;elsek=0;

58、若有:

do{i=a-b++;printf(“%d”,i);}while(!

i);则while中的!

i可用(A)代替。

A、i==0B、i!

=1C、i!

=0D、以上均不对

59.以下能对二维数组a进行正确初始化的语句是(B)

A.inta[2][]={{1,0,1}{5,2,3}};B.inta[][3]={{1,2,3},{4,5,6}};

C.inta[2][4]={{1,2,3},{4,5},{6}};D.inta[][3]={{1,0,1},{},{1,1}};

60.以下程序的输出是(B)

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++;

}

printf(“\na=%d,b=%d”,a,b);

}

A.a=1,b=0B.a=2,b=1C.a=1,b=1D.a=2,b=2

61.阅读以下程序:

main()

{intx;

scanf("%d",&x);

if(x--<5)printf("%d"'x);

elseprintf("%d"'x++);

}

程序运行后,如果从键盘上输人5,则输出结果是(B)

A.3B.4C.5D.6

62、执行语句for(i=1;i++<4;);后,i的值是______。

(C)

A、3B、4C、5D、不定

63、若intx;则执行下列程序段后输出是______。

(B)

for(x=10;x>3;x--)

{if(x%3)x--;--x;--x;

printf(“%d”,x);

}

A、63B、74C、62D、73

64、下列说法中正确的是______。

(C)

A、break用在switch语句中,而continue用在循环语句中。

B、break用在循环语句中,而continue用在switch语句中。

C、break能结束循环,而continue只能结束本次循环。

D、continue能结束循环,而break只能结束本次循环。

65、下列程序执行的结果是(B)

inta=1,b=2,c=3,t;

while(b

printf(“%d,%d,%d”,a,b,c);

A、1,2,0B、2,1,0C、1,2,1D、2,1,1

66.以下程序的输出结果是(A)

main()

{intn=4;

while(n--)printf("%d",--n);

}

A.20B.31C.321D.210

67.假定a和b为int型变量,则执行以下语句后b的值为(D)

a=1;b=10;

do

{b=b-a;a++;}

while(b-->0);

A.-3B.-2C.-1D.-4

68.下面程序的输出是(D)

main()

{intx=3,y=6,a=0;

while(x++!

=(y-=1))

{a+=1;

if(y

}

printf("x=%d,y=%d,a=%d\n",x,y,a);

}

A.x=4,y=4,a=1B.x=5,y=5,a=1C.x=5,y=4,a=3D.x=5,y=4,a=1

69.以下程序段的输出结果是(C)

intx=3;

do

{printf("%3d",x-=2);}

while(!

(--x));

A.1B.30C.1-2D.死循环

70.已知:

inta,x;则正确的赋值语句是_______。

A、a=(a[1]+a[2])/2;B、a*=*a+1;

C、a=(x=1,x++,x+2);D、a=”good”;

71、已知:

chars[10],*p=s,则在下列语句中,错误的语句是________。

A、p=s+5;B、s=p+s;C、s[2]=p[4];D、*p=s[0];

72、已知:

charb[5],*p=b;则正确的赋值语句是_______。

A、b=”abcd”;B、*b=”abcd”;C、p=”abcd”;D、*p=”abcd”;

73、下列对字符串的定义中,错误的是________。

A、charstr[7]=”FORTRAN”

B、charstr[]=”FORTRAN”

C、char*str=”FORTRAN”

D、charstr[]={‘F’,’O’,’R’,’T’,’R’,’A’,’N’,0}

74、已知:

char**s;正确的语句是_______。

A、s=”computer”;B、*s=”computer”;

C、**s=”computer”;D、*s=’A’;

75、已知:

inta,*p=&a;则为了得到变量a的值,下列错误的表达式为_______。

A、*&pB、*pC、p[0]D、*&a

76、已知:

inta[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};int(*ptr)[3]=a,*p=a[0];则以下能够正确表示数组元素a[1][2]的表达式是_______。

A、*((ptr+1)[2])B、*(*(p+5).)C、(*ptr+1)+2D、*(*(a+1)+2)

77、已知:

struct{inti;

charc;

floata;}Test;则sizeof(test)的值是__________。

A、4B、5C、6D、7

78、选择出错误的函数定义。

A、structtreefuna(s)B、int*funb(s)

structtrees[];chars[];

{…{…

}}

C、structtree*func(s)D、int*fund(s)

Char**s;char*s[10][];

{…{…

}}

79、以下对C语言中联合类型数据的正确叙述是_______。

A、一旦定义了一个联合变量之后,即可饮用该变量或该变量中的任意成员

B、一个联合变量中可以同时存放其所有成员

C、一个联合变量中不能同时存放其所有成员

D、联合类型数据可以出现在结构体类型定义中,但结构体类型数据不能出现在联合类型定义中

80、已知:

structsk

{inta;floatb;

}data,*p;

若有p=&data,则对data中的成员a的正确引用是_______。

A、(*p).data.aB、(*p).aC、p->data.aD、p.data.a

81、在以下对C语言的描述中,正确的是______。

A、在C语言中调用函数时,只能将实参的值传递给形参,形参的值不能传递给实参

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

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

D、C语言程序中有调用关系的所有函数都必须放在同一源程序文件中

82、说明语句”int(*p)();”的含义是_______。

A、p是一个指向一维数组的指针变量

B、p是指针变量,指向一个整型数据

C、p是一个指向函数的指针,该函数的返回值是一个整型

D、p是一个指针函数,该函数的返回值是一个指向整型数据的指针

83、在对typedef的叙述中错误的是__________。

A、用typedef可以定义各种类型名,但不能用来定义变量

B、用typedef可以增加新类型

C、用typedef只是将已存在的类型用一个新的标志符来代表

D、使用typedef有利于程序的通用和移植

84、在进行文件操作时,写文件的一般含义是______。

A、将计算机内存中的信息存入磁盘B、将磁盘中的信息存入计算机内存

C、将计算机CPU中的信息存入磁盘D、将磁盘中的信息存入计算机CPU

85、C语言中标准输入文件stdin是指________。

A、键盘B、显示器C、鼠标D、硬盘

86、系统的标准输出文件stdout是指________。

A、键盘B、显示器C、软盘D、硬盘

87、在高级语言中对文件操作的一般步骤是_______.

A、打开文件——操作文件——关闭文件

B、操作文件——修改文件——关闭文件

C、读写文件——打开文件——关闭文件

D、读文件——写文件——关闭文件

88、要打开一个已存在的非空文件“file”用于修改,正确的语句是________。

A、fp=fopen(“file”,”r”);B、fp=fopen(“file”,”a+”);

C、fp=fopen(“file”,”w”);D、fp=fopen(“file”,”r+”);

89、下列关于文件的结论中正确的是_________。

A、对文件操作必须先关闭文件B、对文件操作必须先打开文件

C、对文件操作顺序没有统一规定D、以上三种答案全是错误的

90.以下程序的输出结果是(B)

main()

{inti,x[3][3]={9,8,7,6,5,4,3,2,1};

for

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

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1