C语言习题课附答案.docx

上传人:b****8 文档编号:10252159 上传时间:2023-02-09 格式:DOCX 页数:16 大小:21.86KB
下载 相关 举报
C语言习题课附答案.docx_第1页
第1页 / 共16页
C语言习题课附答案.docx_第2页
第2页 / 共16页
C语言习题课附答案.docx_第3页
第3页 / 共16页
C语言习题课附答案.docx_第4页
第4页 / 共16页
C语言习题课附答案.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

C语言习题课附答案.docx

《C语言习题课附答案.docx》由会员分享,可在线阅读,更多相关《C语言习题课附答案.docx(16页珍藏版)》请在冰豆网上搜索。

C语言习题课附答案.docx

C语言习题课附答案

C语言习题课

一、单项选择题:

1•以下_A_是C语言中有效的变虽名称。

A._abcB.2abcC.charD・a#3

变址名只能以下划线和字母开头

2•下面I川个说法中错误的是B

A.for循环不仅可以和for循环嵌套,而且可以和While循环嵌套。

B・X在循环体内执行continue语句的时候.将结束整个循环。

C.while循环最少循环0次,do-while循环最少循环1次。

D.goto语句也可以实现循环的功能。

3•在while(x)中的x与下面条件表达式等价的是D

A.x==0B・x==1C・x!

=1D・x!

=0

4•为表示关系庐乙应使用C语言表达式A

A.(x>=y)&&(y〉=z)

B.(x>=y)AND(y>=z)

C.(x>=y>=z)

D.(x>=y)&(y>=z)

5•设有如下定义:

intx=9/y=2/z;则语句printf(“%d\rf'・z=x/y);的输出结果是C

A・1B・C・4D・3

整形中的“厂是整除

/

6•若有以下语句:

staticcharx(]=”123451staticchary[J={TJ2;3;4;5F}:

则正确的说法是Bo

A.x数组和y数组的长:

度相同

B.x数组的长度大于y数组的长度

C.x数组的长度小于y数组的长度

D.x数组与y数组等价

字符串后有一个“\0”

7•已知有定义charch:

则下面正确的赋值语句为A。

A.ch='X‘B・ch=,55,C・ch-'M”D・ch=,,55M

8•以下说法中正确的是C

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

I

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

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

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

语言中,形参的缺省存储类型说明是:

」_

语言中的简爪数据类型有:

B

A.整型实型逻辑型

B.整型实型字符型

C.整型字符型逻辑空

D.整型实型逻借型字符型

11・以卜程序段的输出结果’匕_C—

intx=3;

B.30

C.1-2

D.死循环

do{printf(,,%3d,,/x-=2);

}while(!

(~x));

12•以下非法的赋值语句是:

A.n=(i=2,++i);

B.j++:

C.++(i+l):

D.x=y>0:

13•设a和b均为double变氐且a=,b“则表达式(int)a+b/b的值是:

D

A.B・6C・D・

14•已知x=3・y=2,则表达式x—y+8的值为:

C

A・3B・2C・30D・10

y+8是一个整体

15•设x“z均为int型变氐则执行以下语句后.t的值为:

C

x=y=z=l;t=++x||++y&&++Z:

A.不定值B.2C・1D.0

16•为了测试字符串的实际长度.C语言规定J'一个“字符串结柬标志S这个结束标总字符是B

A.AnrB・‘\0‘C.4\x*D・‘\9’

程序的三种基木结构是:

A

A•顺序结构、选择结构.循环结构

B.逻辑结构.层次结构、网状结构

C•顺序结构.逻输结构.选择结构

D.层次结构.顺序结构、循环结构

若inti二10;执行完下而程序判断后.变址i的正确结果是—D

A.

10

switch(i)

B.

11

{

C.

12

case7:

i+=l;

D.

13

case10:

i+=l;

case17:

i+=l;

default:

i+=l;}

case后有break.结束跳出结果.没有break.继续执行具休见书木105贞

19•下列关于C语言注释的描述中.错误的是:

D

A.C语言中用厂……表示注释部分

B.注释只是给人看的•对编译和运行不起作川

C.注释可以加在程序中的任何位宜

D.C语言中川{•……*}表示注释部分

20•下列关于C程序的描述中,错误的是^D

A.C程序是由函数构成的

B.一个C程序总是从main函数开始执行

C.C程序书写格式自由.一行内可以写几个语句,一个语句也可以分写在多行上

D.C语言中是利川输入/输出运算符构成输入/输出语句完成输入/输出操作的

源程序的后缀名默认为:

A.cppB・cC・objD・exe

C语言的默认后缀名是・c.在C++中才是卬p

22•以下不属于C语言的基木数据类型的是^_8•

A.整型B.布尔型C.字符型D.实型

23•下列标识符中・符合C语言语法规范的是^C:

下列选项中,不是C语言中的关键字的是:

一°

D.break

D.2e+2

RifC.VOID

A.autob-IT

25•下列常址中,合法的长整型常址是

A.0LB・00C・

长整空的范用是・4旷47

26•设int型变§m.a.b.c,d均为6执行表达式(m=a==b)||(n=c==d)后.m和n的值是:

C

A・0.0B・0・1C・1.0D•:

L1

、勺在“或”的前而为1.后面不再执行。

在“与“前1何为0.后面也不在执行,出现“短路”现彖。

27•若a为int类空,且其值为3.则执行完表达式a+=a-=a*a后,a的值是:

_C。

A.一3B.9|D.6

C・一12

28•假设double变址細已经正确定义•则表达式x=l护x+的的值是:

D。

A・1B・C・2D・

29•已知'A'的ASCII码为65.则下列程序的运行结果为:

A。

main()

charchl=‘A';

charch2=chl+3;

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

printf(/ch2/ch2);

}

A・65,AB・A,65C.A,DD・D,68

68ZDDz68.»Az65

65,68

30•以下关于while语句的叙述正确的是—

A.while语句构成的循环必须用break语句才能退出

B.while循环语句中,while子句中的表达式值为零时,结束循环

C.不能使用while语句來构成循环结构

D.while语句的循环体至少被执行一次

二、填空题:

I•程序段floatx=;printf("x=%-10.2fMzx):

执行时输岀的结果为:

p76

$

2•设x・y,z.k都是int型变虽•则执行表达式x=(y=4/z=16/k=32)后,x的值为:

32

3•要将两个字符串连接成一个字符串.可以使用的标准库函数名为:

strcatP147

4•多分支选择结构中.若在执行某一个case语句后,使流程跳出switch结构.应该使用语句breakpl05:

5•若有定义inta[3][4]={l,2,3,«5,6,7,&9,10,ll」2},贝ija⑴⑵=7pl37

语言中•结束木轮循环.将循环是否继续交给循环判断条件确定的语句是:

continue:

7•设x=/a=7/y=,则算术表达式x+a%3*(int)(x+y)%^的值为:

语言中,函数是程序的基木构成做元.其中main函数是必须的.且唯一。

9•在C语言程序中,用关键字什oat定义做精度实型变量。

10•设有语句"inti=l/s=l;for(;s+i<6;i++)s+=i/\其中for语句的循环次数为2°

II•已知有声明“intx丸y=2S则执行表达式“(x>y)&&(・・x>0)»后x的值为__°

12$分支选择结构中•若在执行某一个case语句后,使流程跳岀switch结构,应该使用语句br^kpl05语言中的if语句屈于三种基木结构中的选抒结构的语句。

14•若变虽ch为char类型,判断ch为数字字符的表达式是,

15•设x=ra=7/y=,则算术表达式x+a%3*(int)(x+y)%细的值为:

语句只能用在三种基木结构中的街坏结构的语句中。

17•如果在用户的程序中要使用C库函数中的数学函数时应在该源文件中使用的include命令是:

若有定义:

intx(5];则访问x数组中的元素时,下标的上限为:

_4

语言中,函数是程序的基木构成做元.其中main函数是必须的.且唯一。

语言木身没有输入输出语句•格式化的标准输出是借助库函数◊实现。

三、程序阅读题:

1・阅读下列程序•并给出程序运行的结果。

voidmain()

{

intn©k;

n=263;

d=l;

k=l;

do{

k*=n%10;

n/=10;

printf(,,%d/,/d);

d++;

}while(n);printf(M\nu);printf("%d\n,,/k);

printf(吆d\rV:

n);

}

运行结果:

2,3

36

0

2•阅读下列程序,并给出程序运行的结果。

voidmain()

{

intx=2345,t;

intsumzmuti;

sum=0;

muti=l;

printf(”数字为:

%d\叭x);

while(x!

=0)

{

>

t=x%10;

sum+=t;

mutest;

x=x/10;

}

printf("构成数字的和:

%d\n,,/sum);printf("构成数字的乘积:

%d\n,,/muti);}

运行结果:

数字为:

2345

构成数字的和:

14

构成数字的乘积:

120

3•阅读下列程序•并给出程序运行的结果。

voidmain()

{intx=20.y=30.z=60:

while(x

y=Y+4;

z=z/2;

printf(“%d\n”,x):

printf(“%d\n",y):

printff"%d\n",z):

}

运行结果^32

34

30

4•阅读下列程序•并给出程序运行的结果。

voidmain()

{

int8,7,6,5,4,3,24,5};

for(i=0;i<=8;i++)

{

I二i;

for(j=i+l;j<=9;j++)

冃;

if(l!

=i)

{

m=a[ij;

a[l]=a[IJ;

a[l]=m;

}

}

for(i=0;i<=9;i++)

{

printf(u%d

if(i%3==0&&i!

=0)

printf(“\n”);

运行结果:

1234

556

789

四、编程题:

(8分每题.共16分)

1•写一个函数•输入一个四位数字,要求输出这4个数字字符•但每两个数字间空一个空格。

例如输入1990.应该输出“1990"。

算法一:

#include<>

voidmain()

intabcg写程序,用公式£+|弓+£•春+…求H的近似值,直到最后一项小干计为

止。

>

解法一:

#include<>

ffincludeo

voidmain()

doublex=l,i=l;

}

W:

pi);

 

3•输入一行字符(不超过100),解法一:

将其中的大写字符变成小写,小写字符变成大写.其氽字符不变。

#include<>

voidmain()

{

charc;

下程序把100-200之间不能被3整除的数输出

入3个数.按从小到大的顺序输出。

while((c=getchar{))!

='\n,)

#include<>

voidmain()

{

inti;

for(i=100;i<=200;i++)

方法一:

#include<>

voidmain()

{

intxyz,t;

printf(wm输入要比较的三个数门;

scanf(M%d%d%d”,&x,&%&z);if(x>Y)

{

t=X;

x二y;

t=z;

z=y;

}

if(x

y=t;

else

{

y=x;

X=t;

}

printf(H%d%d%d\rfxy,z);

}

方法二

100tfinclude<>以下程序用while语句计算式子工n

n=l

方法一:

用whileil•算

ftinclude<>100-200间的全部素数。

方法一:

ttinclude<>

voidmain()

{

inti,n;

for(n=101;n<200;n+=2)

{

for(i=2;i<=n-l;i++)

I

if(n%i==O)

break;

if(i==n)

printf("%5d\n”』);

}

}

方法二

#include<>

#include<>

voidmain()

intm儿k,n=0;

for(m=101;m<=200;m+=2)

k=sqrt(m);

for(i=2;i<=k;i++)

if(m%i==O)

break;

if(i>=k+l)

{

printf(M%d\nM,m);

n+=l;

}

}

printfCAn11);

}

2-5

X

l+3

3-7

X

3-7

4-9

X

8•函数pi()的功能是根据以下公式求值,学=1+|x54X5直到最后一项小于10巧为止。

ffincludeo

doublejiechengl(intx)断输入的一个年份是否是闰年。

I

#includeo

voidmain()

mtx;

printf(”请输入年份:

”);

scanf(“%d”,&x);

if(x%400==0||(x%4==0&&x%100!

=0))写程序,在屏幕上打印输出下列图形。

1«include<>

222voidmain()

33333{

4444444for(inti=l;i<=9;i++)出所有“水仙花数”,所谓“水仙花

数”是指一个3位数,其各位数字立方和等于其本身。

例如:

153是“水仙花数”,因为153=13+53+33

#include<>

#include<>

voidmain()

{

intabc,i;

doublex;

for(i=100;i<1000;i++)

{

a=i/100;

b=(i-a*100)/10;

c=i・aT00・b・10;

x二pow(a,3)+pow(b,3)+pow(c,3);if(x==i)

printf("%d\n,,/i);

}

}

12.编写程序,输入三角形三条边的边长,

^include<>

include<>

voidmain()

{

求三角形的面积。

floata,b,c;

doubles,t;

printf(H请输入三角形三边J;

scanf(H%f%f%化&a,&b,&c);

if(((a+b)v=c)||{(a+c)<=b)||((b+c)<=a))子吃桃P129

main()

{

xl=(x2+l)*2;

x2=xl;

intday,xl/x2;

day=9;

day-;

}

x2=l;while(day>0)

printfC'tt子总数=%d\nM,xl);

}

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

当前位置:首页 > IT计算机 > 计算机硬件及网络

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

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