20春北师《高级程序设计(C)》 离线作业.docx

上传人:wj 文档编号:344412 上传时间:2023-04-29 格式:DOCX 页数:20 大小:32.15KB
下载 相关 举报
20春北师《高级程序设计(C)》 离线作业.docx_第1页
第1页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第2页
第2页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第3页
第3页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第4页
第4页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第5页
第5页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第6页
第6页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第7页
第7页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第8页
第8页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第9页
第9页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第10页
第10页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第11页
第11页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第12页
第12页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第13页
第13页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第14页
第14页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第15页
第15页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第16页
第16页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第17页
第17页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第18页
第18页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第19页
第19页 / 共20页
20春北师《高级程序设计(C)》 离线作业.docx_第20页
第20页 / 共20页
亲,该文档总共20页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

20春北师《高级程序设计(C)》 离线作业.docx

《20春北师《高级程序设计(C)》 离线作业.docx》由会员分享,可在线阅读,更多相关《20春北师《高级程序设计(C)》 离线作业.docx(20页珍藏版)》请在冰点文库上搜索。

20春北师《高级程序设计(C)》 离线作业.docx

在线作业试卷列表

单选

1.以下叙述正确的是A

分值:

2

A.C语言中各函数之间既允许直接递归调用也允许间接递归调用

B.C语言中各函数之间既不允许直接递归调用也不允许间接递归调

C.C语言中各函数之间既允许直接递归调用不允许间接递归调用

D.C语言中各函数之间既不允许直接递归调用允许间接递归调用

2.以下程序的输出结果是Bcharstr[]="ABCD",*p=str;

printf("%d",*(p+4));B分值:

2A.68

B.0

C.字符D的地址

D.不能确定的值

3.以下程序的输出结果是Cmain()

{inta[]={1,2,3,4},i,x=0;

for(i=0;i<4;i++){sub(a,&x);printf(“%d”,x);}printf(“”);

}

sub(int*s,int*y)

{staticintt=3;

*y=s[t];t--;} 分值:

2A.1234 B.4321

C.0000 D.4444

4.以下程序的输出结果是Amain()

{intk=4,m=1,p;p=func(k,m);printf(“%d,”,p);p=func(k,m);printf(“%d”,p);

}

func(inta,intb);

{staticintm,i=2;i+=m+1;

m=i+a+b;return(m);

}分值:

2

A.8,17 B.8,16

C.8,20 D.8,8

5.以下程序的输出结果是Cvoidfun(int*s)

{staticintj=0;do

s[j]+=s[j+1];while(++j<2);

}

main()

{intk,a[10]={1,2,3,4,5};

for(k=1;k<3;k++)fun(a);

for(k=0;k<5;k++)printf(“%d”,a[k]);

}分值:

2A.34756

B.23445

C.35745

D.12345

6.以下程序的输出结果是Df(inta)

{intb=0;staticintc=3;a=c++,b++;return(a);

}

main()

{inta=2,i,k;

for(i=0;i<2;i++)k=f(a++);printf(“%d”,k);

}分值:

2A.3

B.6

C.5

D.4

7.以下程序的输出结果是Bintm=13;

intfun2(intx,inty)

{intm=3;return(x*y–m);

}

main()

{inta=7,b=5;

printf(“%d”,fun2(a,b)/m);} 分值:

2A.1 B.2

C.7 D.10

8.C语言中,形参的缺省的存储类说明是A分值:

2

A.auto(自动)

B.static(静态)

C.register(寄存器)D.extern(外部)

9.以下选项中正确的整型常量是 B 。

分值:

2

A.12.

B.-20

C.1,000

D.456

10.以下选项中正确的实型常量是 B 。

分值:

2

A.0

B.3.1415

C.0.329*102

D..871

11.以下选项中不正确的实型常量是 B 。

分值:

2

A.2.607E-1 B.0.8103e2C.-77.77 D.456e-2

12.以下选项中不合法的用户标识符是 A 。

分值:

2

A.abc.c B.file

C.Main D.PRINTF

13.以下选项中不合法的用户标识符是 C 。

分值:

2

A._123 B.printfC.A$ D.Dim

14.C语言中运算对象必需是整型的运算符是 A 。

分值:

2

A.% B./

C.!

D.**

15.可在C程序中用作用户标识符的一组标识符是 B 。

分值:

2

A.voiddefineWORD

B.as_b3_123If

C.For-abccase

D.2cDOSIG

16.若变量已正确定义并赋值,符合C语言语法的表达式是 B 。

分值:

2

A.a=a+7;

B.a=7+b+c,a++

C.int(12.3%4)

D.a=a+7=c+b

17.以下叙述中正确的是 A 。

分值:

2

A.a是实型变量,C允许进行以下赋值a=10,因此可以这样说:

实型变量允许赋值整型值。

B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。

C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,

a的值已由原值改变为b的值,b的值由原值变为0。

D.已有a=3,b=5。

当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。

18.以下叙述中正确的是 C 。

分值:

2

A.在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。

B.C程序由主函数组成。

C.C程序由函数组成。

D.C程序由函数和过程组成。

19.若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是 B 。

分值:

2

A.a=b=c=d=100; B.d++;

C.c+b; D.d=(c=22)-(b++);

20.以下合法的C语言赋值语句是 D 。

分值:

2

A.a=b=58 B.k=int(a+b);C.a=58,b=58 D.--i;

21.若变量已正确说明为int类型,要给 D分值:

2A.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);

22.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是 C 。

分值:

2

A.a=a+b,b=a-b,a=a-b;

B.t=a,a=b,b=t;

C.a=t;t=b;b=a;

D.t=b;b=a;a=t;

23.若有以下程序段,c3中的值是 A 。

intc1=1,c2=2,c3;

c3=c1/c2;分值:

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

24.若有以下程序段,其输出结果是 B 。

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

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

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

2A.0,0,-10 B.0,0,5

C.-10,3,-10 D.3,0,-10

25.当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是 C 。

main()

{inta;floatb,c;

scanf(“%2d%3f%4f”,&a,&b,&c);

printf(“a=%d,b=%f,c=%f”,a,b,c);} 分值:

2A.a=98,b=765,c=4321

B.a=10,b=432,c=8765

C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0

26.若int类型占两个字节,则以下程序段的输出是 D 。

inta=-1;

printf(“%d,%u”,a,a); 分值:

2A.-1,-1 B.-1,32767

C.-1,32768 D.-1,65535

27.以下程序段的输出是 C 。

floata=3.1415;

Printf(“|%6.0f|”,a); 分值:

2A.|3.1415| B.|3.0|

C.|3| D.|3.|

28.以下程序段的输出是 C 。

floata=57.666;

pirntf(“%010.2f”,a); 分值:

2A.*0000057.66*

B.*57.66*

C.*0000057.67*

D.*57.67*

29.C语言中的简单类型有B分值:

2

A.整型,实型,逻辑型

B.整型,实型,字符型

C.整型,字符型,逻辑型

D.整型,实型,逻辑型,字符型

30.C语言中,字符型(char)数据在微机内存中的存储形式是D分值:

2

A.反码 B.补码

C.EBCDIC码 D.ASCII码

31.C语言中不合法的字符常量是D分值:

2

A.′\0XFF′ B.‘\65′C.′&′ D.′\028′

32.C语言中不合法的字符串常量是B分值:

2

A."121" B.′Y=′

C."" D."ABCD\X6d"

33.判断char型变量C是否为大写字母的最简单且正确的表达式是D分值:

2

A.‘A’<=C=‘Z’

B.(C>=′A′)&(C<=′Z′)

C.(′A′<=C)AND(′Z′>=C)

D.(C>=′A′)&&(C<=′Z′)

34.以下程序的输出结果是Dmain()

{charc1=′a′,c2=′y′;printf("%d,%d",c1,c2);

}分值:

2

A.因输出格式不合法,无正确输出B.65,90

C.A,Y

D.65,89

35.以下程序的输出结果是Bmain()

{charx=′a′

x=(x>=′A′&&x<=′Z′)?

(x+32):

x;printf("%c",x);

}分值:

2

A.A B.a

C.Z D.z

36.以下各组选项中,均能正确定义二维实型数组a的选项是 C 。

分值:

2

A.floata[3][4];

floata[][4];

floata[3][]={{1},{0}};

B.floata(3,4);

floata[3][4];

floata[][]={{0},{0}};

C.floata[3][4];

staticfloata[][4]={{0},{0}};

autofloata[][4]={{0},{0},{0}};D.floata[3][4];

floata[3][];

floata[][4];

37.以下正确的说法是 A 。

分值:

2

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

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

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

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

38.以下说法中正确的是C

分值:

2

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

B.在C语言程序中,要调用的函数必须在main函数中定义

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

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

39.以下函数的类型是Cfff(floatx){ printf("%d",x*x);

}分值:

2

A.与参数x的类型相同 B.void类型

C.int类型 D.无法确定

40.以下程序的输出结果是Cfunc(inta,intb)

{intcc=a+b;returnc;}main()

{intx=6,y=7,z=8,r;r=func((x--,y++,x+y),z--);printf("%d",r);}分值:

2A.11 B.20

C.21 D.31

41.以下程序有错,错误原因是 D 。

main()

{int*p,i;char*q,ch;p=&i;

q=&ch;

*p=40;

*p=*q;

}

分值:

2

A.p和q类型不一致,不能执行*p=*q;语句

B.*p中存放的是地址值,因此不能执行*p=40;语句

C.q没有指向具体的存储单元,所以*q没有实际意义

D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;语句

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

{inti;doubles;s=1.0;

for(i=1;i<=n;i++)s+=1.0/i;returns;

}main()

{inti,m=3;floata=0.0;for(i=0;i

printf("%f",a)L;

}分值:

2

A.5.500000 B.3.000000C.4.000000 D.8.25

43.若有定义:

intx,*pb;则在以下正确的赋值表达式是A

分值:

2

A.pb=&x B.pb=x

C.*pb=&x D.*pb=*x

44.以下程序的输出结果是B#include"stdio.h"main()

{printf("%d",NULL);}分值:

2A.因变量无定义输出不定值

B.0

C.-1

D.1

45.有如下语句inta=10,b=20;*p1=&a,*p2=&b;如果让两个指针变量均指向b,正确的赋值方式是 B 。

分值:

2

A.*p1=*p2; B.p1=p2;C.p1=*p2; D.*p1=*p2;

46.已知指针P的指向如图所示,则表达式*P++的值是Ba[0]a[1]a[2]a[3]a[4]

10 20 30 40 50

P分值:

2

A.20 B.30

C.21 D.31

47.已知指针P的指向如图所示,则表达式*++P的值是Ba[0]a[1]a[2]a[3]a[4]

10 20 30 40 50

P分值:

2

A.20 B.30

C.21 D.31

48.已知指针P的指向如图所示,则表达式++*P的值Ca[0]a[1]a[2]a[3]a[4]

10 20 30 40 50

P分值:

2

A.20 B.30

C.21 D.31

49.以下能正确进行字符串赋值、赋初值的语句组是B

分值:

2

A.chars[5]={′a′,′e′,′i′,′o′,′u′};

B.char*s;s="good!

";

C.chars[5]="good!

";

D.chars[5];s="good";

50.若有以下说明和定义,则对fun函数的正确调用语句是B分值:

2

A.a=fun;a(w);

B.a=fun;(*a)(&c);

C.b=fun;*b(w);

D.fun(b);

main()

{

int(*a)(int*),*b(),w[10],c;

:

:

}

fun(int*c){...}

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

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

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

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