c语言题目及答案Word格式文档下载.docx

上传人:b****1 文档编号:13426236 上传时间:2022-10-10 格式:DOCX 页数:27 大小:25.85KB
下载 相关 举报
c语言题目及答案Word格式文档下载.docx_第1页
第1页 / 共27页
c语言题目及答案Word格式文档下载.docx_第2页
第2页 / 共27页
c语言题目及答案Word格式文档下载.docx_第3页
第3页 / 共27页
c语言题目及答案Word格式文档下载.docx_第4页
第4页 / 共27页
c语言题目及答案Word格式文档下载.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

c语言题目及答案Word格式文档下载.docx

《c语言题目及答案Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c语言题目及答案Word格式文档下载.docx(27页珍藏版)》请在冰豆网上搜索。

c语言题目及答案Word格式文档下载.docx

设a、b为字符型变量,入是。

4.

执行

scanf("

a=%c,b=%c"

&

a,&

b);

后使a为'

A'

b为'

B'

,从键盘上的正确输

5.

B.'

'

已知intx=12,y=3;

'

'

.A=A,B=BD

执行下述程序后,变量

a=A,b=B

x的值是

6.

7.

do{x/=y--;

}while(x>

y);

1B.2C.3D.

C语言中while和do-while循环的主要区别是do-while的循环体至少无条件执行一次while的循环控制条件比do-while的循环控制条件严格do-while允许从外部转到循环体内do-while的循环体不能是复合语句

设x和y均为int型变量,则执行下面的循环后,y的值为

for(y=1,x=1;

y<

=50;

y++){

程序运行有错误

8.

if(x>

=10)break

if(x%2==1){x+=5

x-=3:

continue;

}

以下正确的说法是

用户若需调用标准函数,调用前必须重新定义

用户可以重新定义标准库函数,若如此,该函数将失去原有含义

系统根本不允许用户重新定义标准函数

用户若需要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,

系统

自动去调

9.

若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是

没有返回值

能返回若干个系统默认值

能返回一个用户所希望的函数值

返回一个不确定的值

10•已知函数定义如下:

 

floatfun1(intx,inty){floatz

z=(float)x/y

return(z);

}

主调函数中有inta=1,b=0;

可以正确调用此函数的语句是

A.printf("

%f"

fun1(a,b))

.printf("

fun1(&

b))

C.printf("

fun1(*a,*b))

11.宏定义:

#definePI31.14159中,宏名

A.单精度B.双精度C.常量

.printf("

fun1(b,a))

PI代替。

D.字符串

12.若有以下数组说明,则数值最小和最大的元素下标分别是

inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};

A.1,12B.0,11C.1,11

D.0,12

13•以下合法的数组定义是

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

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

14

.函数调用

strcat(strcpy(str1,str2),str3);

的功能是

O

将字符串

str1

复制到字符串

str2

中后再连接到字符串

str3

之后。

B.

连接到字符串

之后再复制到字符串

中后再将字符串

之后

之后再将字符串

中。

Cinta[2][3]={0,1,2,3,4,5,6};

D

•inta[2][3]={0,1,2,3,4,5,};

15.设有二维数组定义如下,则不正确的数组元素引用是

inta[3][4]={1,2,3,4,5,6,7,8,9,10,11,12};

A.a[2][3]B.a[a[0][0]][1]C

16.若用数组名作为函数调用时的实参,

A.数组首地址

.a[7]D.a[2][‘c'

则实际上传递给形参的是

a'

]

C.数组中全部元素的值

.数组的第一个元素值

.数组元素的个数

17.以下对指针变量进行操作的语句,正确的选项是

A.int*p,*q;

q=p;

.inta,*p,*q;

q=&

a;

p=*q;

C.inta=b=0,*p;

p=&

b=*p;

D

18.若有以下定义和语句:

.inta=20,*p,*q=&

p=q;

ints[4][5],(*ps)[5];

ps=s;

则对s数组元素的正确引用形式是

A.ps+1

.*(ps+3)

C.Ps[0][2]D.*(ps+1)+3

19.当说明一个共用体变量时系统分配给它的存储容量是

共用体中最后一个成员所需的存储容量

共用体中第一个成员所需的存储容量

成员中占存储量最大者所需的存储容量

各成员所需存储容量的总和

20.有定义如下:

structstudent

{intage;

charnum[8];

}stu[3]={{20,"

200401"

},{21,"

200402"

},{10,"

200403"

}};

structstudent*p=stu;

.p->

num

.stu[3].age

以下选项中引用结构体变量成员的表达式错误的是

A.(p++)->

C.(*p).num

二、填空题

1.设a=3,b=2,c=1,_则a>

b的值为

a>

b>

c的值为。

2.若w,x,y,乙m均为int型变量,则执行下面程序段后的m值是

w=1;

x=2;

y=3;

z=4;

m=(wvy)?

w:

x;

m=(m<

y)?

m:

y;

m=(m<

z)?

m:

Z;

3•下面程序的输出结果是

#include<

stdio.h>

main()

{inta=1,b=0

do{

switch(a)

{case1:

b=1;

break;

case2:

b=2;

default:

b=0

b=a+b;

}while(!

b)

a=%d,b=%d"

a,b)

4•下面程序的输出结果是

{intx,i

for(i=1;

i<

=100;

i++){

x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

%d"

x)

5•下面程序的输出结果是

intfunc(inta,intb)

{intc

c=a+b;

retum(c)

voidmain()

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

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

%d\n"

r);

6•下面程序的输出结果是

voidmain(){intx=1

f1();

f2(x);

voidf1(void){intx=3

voidf2(x)intx{printf("

++x)}

7.程序中有定义:

#defineS(r)r/r

inta=4,b=3,area;

则表达式area=S(a+b)的值为

三、程序完善题

1.以下程序的功能是计算分段函数

的值。

请完善程序。

scanf(

if(

(1)

10

20

0.5x

2020

40

{intx,c,m;

floaty;

“%d'

,&

X);

)c=-1;

elsec=

(2);

switch(c)

{case-1:

y=0;

break;

case0:

y=x;

case1:

y=10;

case3:

y=-0.5*x+20;

y=-2;

if((3))printf(

elseprintf(

“y=%f”,y);

error'

n”);

2.有以下程序段:

s=1.0;

for(k=1;

k<

=n;

k++)

s=s+1.0/(k*(k+1))

Printf("

%f\n"

s);

填空完成下述程序,使之与上述程序的功能完全相同。

s=0.0;

(1)

k=0;

do{

s=s+d;

(2)

d=1.0/(k*(k+1))

}while((3));

3.根据以下嵌套的if语句说给条件,填写switch语句,使它完成相同的功能。

(假设score的取值在1〜100之间。

if语句:

if(score<

60)k=1;

elseif(score<

70)k=2;

80)k=3;

90)k=4;

=100)k=5;

switch语句:

switch(

(1))

{

(2):

k=1;

case6:

k=2;

case7:

k=3;

case8:

k=4;

⑶:

k=5;

4.输入2个整数,输出它们的最小公倍数和最大公约数。

{intm,n,gbs,gys;

scanf(for(gbs=m;

gys=

printf(

(1));

(2);

gbs=gbs+m);

(3);

“gbs=%d\tgys=%d\n”,gbs,gys);

5.下面函数的功能是判断一个数是否为素数。

voidf(intm)

k=_⑴一for(i=2;

iv=_

(2)_;

i++)if(_(3)_)break;

if(__(4))printf("

是素数”);

elseprintf("

非素数”);

6.—个5位数,判断它是不是回文数。

即12321是回文数,个位与万位相同,十位与千位相同。

请完善程

序。

voidfun(longx)

{longge,shi,qian,wan;

wan=

(1);

qian=—(2

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

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

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

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