北师大《高级程序设计C语言》.docx

上传人:b****7 文档编号:15425753 上传时间:2023-07-04 格式:DOCX 页数:17 大小:18.49KB
下载 相关 举报
北师大《高级程序设计C语言》.docx_第1页
第1页 / 共17页
北师大《高级程序设计C语言》.docx_第2页
第2页 / 共17页
北师大《高级程序设计C语言》.docx_第3页
第3页 / 共17页
北师大《高级程序设计C语言》.docx_第4页
第4页 / 共17页
北师大《高级程序设计C语言》.docx_第5页
第5页 / 共17页
北师大《高级程序设计C语言》.docx_第6页
第6页 / 共17页
北师大《高级程序设计C语言》.docx_第7页
第7页 / 共17页
北师大《高级程序设计C语言》.docx_第8页
第8页 / 共17页
北师大《高级程序设计C语言》.docx_第9页
第9页 / 共17页
北师大《高级程序设计C语言》.docx_第10页
第10页 / 共17页
北师大《高级程序设计C语言》.docx_第11页
第11页 / 共17页
北师大《高级程序设计C语言》.docx_第12页
第12页 / 共17页
北师大《高级程序设计C语言》.docx_第13页
第13页 / 共17页
北师大《高级程序设计C语言》.docx_第14页
第14页 / 共17页
北师大《高级程序设计C语言》.docx_第15页
第15页 / 共17页
北师大《高级程序设计C语言》.docx_第16页
第16页 / 共17页
北师大《高级程序设计C语言》.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

北师大《高级程序设计C语言》.docx

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

北师大《高级程序设计C语言》.docx

北师大《高级程序设计C语言》

红色的是正确的

以下叙述正确的是?

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

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

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

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

单选:

第2题(2分)

若有以下说明和定义,则对fun函数的正确调用语句是?

a=fun;a(w);?

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

b=fun;*b(w);

fun(b);

main()

{?

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

:

:

?

}

fun(int*c){...}

单选:

第3题(2分)

以下程序的输出结果是?

main()

{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--;}

1234

4321

0000

4444

单选:

第4题(2分)

以下程序的输出结果是?

main()

{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);

}

8,17

8,16

8,20

8,8

单选:

第5题(2分)

以下程序的输出结果是?

voidfun(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]);

}

34756?

23445?

35745?

12345

单选:

第6题(2分)

以下程序的输出结果是?

f(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);

}

3?

6?

5?

4

单选:

第7题(2分)

以下程序的输出结果是?

intm=13;

intfun2(intx,inty)

{intm=3;

return(x*y–m);

}

main()

{inta=7,b=5;

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

1

2

7

10

单选:

第8题(2分)

C语言中,形参的缺省的存储类说明是?

auto(自动)?

static(静态)?

register(寄存器)?

extern(外部)

单选:

第9题(2分)

以下选项中正确的整型常量是__________。

?

12.?

-20?

1,000?

456

单选:

第10题(2分)

以下选项中正确的实型常量是__________。

?

0?

3.1415?

0.329*102?

.871

单选:

第11题(2分)

以下选项中不正确的实型常量是__________。

?

2.607E-1

0.8103e2

-77.77

456e-2

单选:

第12题(2分)

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

?

abc.c

file

Main

PRINTF

单选:

第13题(2分)

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

?

_123

printf

A$

Dim

单选:

第14题(2分)

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

?

%

/

**

单选:

第15题(2分)

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

?

voiddefineWORD

as_b3_123If

For-abccase

2cDOSIG?

单选:

第16题(2分)

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

?

a=a+7;?

a=7+b+c,a++

int(12.3%4)?

a=a+7=c+b

单选:

第17题(2分)

以下叙述中正确的是_________。

?

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

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

?

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

?

执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,a的值已由原值改变为b的值,b的值由原值变为0。

?

已有a=3,b=5。

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

?

单选:

第18题(2分)

以下叙述中正确的是________。

?

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

?

C程序由主函数组成。

?

C程序由函数组成。

?

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

?

单选:

第19题(2分)

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

?

a=b=c=d=100;

d++;

c+b;

d=(c=22)-(b++);

单选:

第20题(2分)

以下合法的C语言赋值语句是_________。

?

a=b=58

k=int(a+b);

a=58,b=58

--i;?

单选:

第21题(2分)

若变量已正确说明为int类型,要给

read(a,b,c); ?

scanf(“%d%d%d”,a,b,c);?

scanf(“%D%D%D”,&a,%b,%c);?

scanf(“%d%d%d”,&a,&b,&c);

单选:

第22题(2分)

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

?

a=a+b, b=a-b, a=a-b;?

t=a, a=b, b=t;?

a=t; t=b; b=a;

t=b; b=a; a=t;

单选:

第23题(2分)

若有以下程序段,c3中的值是__________。

?

intc1=1,c2=2,c3;?

c3=c1/c2;

0

1/2

0.5

1?

单选:

第24题(2分)

若有以下程序段,其输出结果是__________。

?

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

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

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

0,0,-10

0,0,5

-10,3,-10

3,0,-10?

单选:

第25题(2分)

 

main( )?

{inta;floatb,c;?

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

printf(“a=%d,b=%f,c=%f”,a,b,c);}?

a=98,b=765,c=4321?

a=10,b=432,c=8765?

a=98,b=765.000000,c=4321.000000 ?

a=98,b=765.0,c=4321.0?

单选:

第26题(2分)

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

?

inta=-1;?

printf(“%d,%u”,a,a);?

-1,-1

-1,32767

-1,32768

-1,65535?

单选:

第27题(2分)

以下程序段的输出是__________。

?

floata=3.1415;?

Printf(“|%6.0f|”,a);?

|3.1415|

|3.0|

|3|

|3.|?

单选:

第28题(2分)

以下程序段的输出是__________。

?

floata=57.666;?

pirntf(“%010.2f”,a);?

*0000057.66*?

*57.66*?

*0000057.67*?

*57.67*?

单选:

第29题(2分)

C语言中的简单类型有?

整型,实型,逻辑型

整型,实型,字符型?

整型,字符型,逻辑型?

整型,实型,逻辑型,字符型?

单选:

第30题(2分)

C语言中,字符型(char)数据在微机内存中的存储形式是?

反码

补码

EBCDIC码

ASCII码?

单选:

第31题(2分)

C语言中不合法的字符常量是?

′\0XFF′

‘\65′

′&′

′\028′

单选:

第32题(2分)

C语言中不合法的字符串常量是?

"121"

′Y=′

""

"ABCD\X6d"

单选:

第33题(2分)

判断char型变量C是否为大写字母的最简单且正确的表达式是?

‘A’<=C=‘Z’?

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

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

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

单选:

第34题(2分)

以下程序的输出结果是?

main()?

{charc1=′a′,c2=′y′;?

printf("%d,%d",c1,c2);?

}

因输出格式不合法,无正确输出?

65,90?

A,Y?

65,89?

单选:

第35题(2分)

以下程序的输出结果是?

main()?

{charx=′a′?

x=(x>=′A′&&x<=′Z′)(x+32):

x;?

printf("%c",x);?

}

A

a

Z

z?

单选:

第36题(2分)

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

?

floata[3][4];?

floata[][4];

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

floata(3,4);

floata[3][4];

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

floata[3][4];?

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

autofloata[][4]={{0},{0},{0}};?

floata[3][4];

floata[3][];

floata[][4];?

单选:

第37题(2分)

以下正确的说法是__________。

?

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

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

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

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

单选:

第38题(2分)

以下说法中正确的是?

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

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

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

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

单选:

第39题(2分)

以下函数的类型是?

fff(floatx){  ?

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

}

与参数x的类型相同

void类型

int类型

无法确定?

单选:

第40题(2分)

以下程序的输出结果是?

func(int a,intb)?

{intc?

c=a+b;?

returnc;}?

main( )?

{intx=6,y=7,z=8,r;?

r=func((x--,y++,x+y),z--);?

printf("%d",r);}

11

20

21

31?

单选:

第41题(2分)

以下程序有错,错误原因是__________。

?

main()

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

p=&i;

q=&ch;

*p=40;

*p=*q;

}

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

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

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

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

单选:

第42题(2分)

以下程序的输出结果是?

doublef(int n)?

{inti;double s;?

s=1.0;?

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

returns;?

}?

main()?

{inti,m=3;float a=0.0;?

for(i=0;i

printf("%f",a)L;?

}?

5.500000

3.000000

4.000000

8.25?

单选:

第43题(2分)

若有定义:

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

pb=&x

pb=x

*pb=&x

*pb=*x

单选:

第44题(2分)

以下程序的输出结果是?

#include"stdio.h"?

main()?

{printf("%d",NULL);}

因变量无定义输出不定值

0?

-1?

1?

单选:

第45题(2分)

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

?

*p1=*p2;

p1=p2;

p1=*p2;

*p1=*p2;?

单选:

第46题(2分)

已知指针P的指向如图所示,则表达式*P++的值是?

a[0]a[1]a[2]a[3]a[4]?

10?

?

20?

?

30?

?

40?

?

50?

?

?

?

?

?

?

P

20

30

21

31?

单选:

第47题(2分)

已知指针P的指向如图所示,则表达式*++P的值是?

a[0]a[1]a[2]a[3]a[4]?

10?

?

20?

?

30?

?

40?

?

50?

?

?

?

?

?

?

P

20

30

21

31

单选:

第48题(2分)

已知指针P的指向如图所示,则表达式++*P的值?

a[0]a[1]a[2]a[3]a[4]?

10?

?

20?

?

30?

?

40?

?

50?

?

?

?

?

?

?

P

20

30

21

31

单选:

第49题(2分)

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

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

char*s;s="good!

";?

chars[5]="good!

";?

chars[5];s="good";?

单选:

第50题(2分)

以下程序的输出结果是?

charstr[]="ABCD",*p=str;?

printf("%d",*(p+4));

68?

0?

字符D的地址?

不能确定的值?

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

当前位置:首页 > 表格模板 > 合同协议

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

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