c语言教材答案.docx

上传人:b****8 文档编号:9274945 上传时间:2023-02-04 格式:DOCX 页数:22 大小:21.52KB
下载 相关 举报
c语言教材答案.docx_第1页
第1页 / 共22页
c语言教材答案.docx_第2页
第2页 / 共22页
c语言教材答案.docx_第3页
第3页 / 共22页
c语言教材答案.docx_第4页
第4页 / 共22页
c语言教材答案.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

c语言教材答案.docx

《c语言教材答案.docx》由会员分享,可在线阅读,更多相关《c语言教材答案.docx(22页珍藏版)》请在冰豆网上搜索。

c语言教材答案.docx

c语言教材答案

c语言教材答案

【篇一:

c语言基础练习题及答案】

t>第一章c语言基础知识

1.1选择题

1.以下不是c语言的特点的是(d)。

a、语言简洁紧凑

b、能够编制出功能复杂的程序

c、c语言可以直接对硬件操作

d、c语言移植性好

2.下列字符序列中,不可用作c语言标识符的是(b)。

a.abc123b.no.1c._123_d._ok

3.正确的c语言标识符是(a)。

a._buy_2b.2_buyc.?

_buyd.buy?

4.请选出可用作c语言用户标识符的一组标识符(c)。

a.voidb.a3_b3c.ford.2a

define_123-abcdo

wordifcasesizeof

5.下列符号中,不属于转义字符的是(b)。

a.\\b.\0xaac.\td.\0

6.不属于c语言关键字的是(d)。

a.intb.breakc.whiled.character

7.是c语言提供的合法关键字的是(b)。

a.floatb.signedc.integerd.char

8.以下不能定义为用户标示符的是()。

a.scanfb.voidc._3com_d.int

9.一个c程序是由()。

a.一个主程序和若干子程序组成

b.一个或多个函数组成

c.若干过程组成

d.若干子程序组成

10.c语言程序的基本单位是()。

a.程序行b.语句c.函数d.字符

11.下列说法中,错误的是()。

.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号

b.每个函数都有一个函数头和一个函数体,主函数也不例外

c.主函数只能调用用户函数或系统函数,用户函数可以相互调用

d.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数

12.以下说法中正确的是()。

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

b.在c语言程序中,要调用的函数必须在main()函数中定义

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

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

13.c编译程序是()。

a.c程序的机器语言版本

b.一组机器语言指令

c.将c源程序编译成目标程序

d.由制造厂家提供的一套应用软件

14.以下选项中,合法的用户标识符是()。

a.longb._2abcc.3dmaxd.a.dat

15.以下选项中,合法的实型常数是()。

a.5e2.0b.e-3c.2e0d.1.3e

16.已知大写字母a的ascii码值是65,小写字母a的ascii码是97,则用八进制表示的

字符常量’\101’是()。

a.字符ab.字符ac.字符cd.非法的常量

17.以下选项中,合法转义字符的选项是()。

a.’\\’b.’\018’c.’xab’d.’\abc’

18.以下选项中,正确的字符常量是()。

a.”f”b.’\\’’c.’w’d.’’

19.以下选项中可作为c语言合法整数的是

a.10110bb.0386c.0xffad.x2a2

20.下列变量定义中合法的是

a.short_a=1-.le-1;b.doubleb=1+5e2.5;

c.longdo=0xfdal;d.float2_and=1-e-3;

21.与数学式子对应的c语言表达式是()。

2x?

1

a.9*x^n/(2*x-1)b.9*x**n/(2*x-1)

c.9*pow(x,n)*(1/(2*x-1))d.9*pow(n,x)/(2*x-1)

3ab22.若有代数式,则不正确的c语言表达式是()。

cd

a.a/c/d*b*3b.3*a*b/c/d

c.3*a*b/c*dd.a*b/d/c*3

23.已知各变量的类型说明如下:

intm=8,n,a,b;

unsignedlongw=10;

doublex=3.14,y=0.12;

则以下符合c语言语法的表达式是()。

a.a+=a-=(b=2)*(a=8)b.n=n*3=18

c.x%3d.y=float(m)

24.以下符合c语言语法的赋值表达式是()。

a.a=9+b+c=d+9b.a=(9+b,c=d+9)

c.a=9+b,b++,c+9d.a=9+b++=c+99xn

25.已知字母a的ascii码为十进制数65,且s为字符型,则执行语句s=’a’+’6’-’3’;

后,s中的值为()。

a.’d’b.68c.不确定的值d.’c’

26.在c语言中,要求运算数必须是整型的运算符是()。

a./b.++c.*=d.%

27.若有说明语句:

chars=’\72’;则变量s()。

a.包含一个字符

b.包含两个字符

c.包含三个字符

d.说明不合法,s的值不确定

28.若有定义:

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

a.2.500000b.2.750000c.3.500000d.0.000000

29.在c语言中,char型数据在内存中的存储形式是()。

a.补码b.反码c.原码d.ascii码

30.设变量x为float类型,m为int类型,则以下能实现将x中的数值保留小数点后两位,

第三位进行四舍五入运算的表达式是()。

a.x=(x*100+0.5)/100.0

b.m=x*100+0.5,x=m/100.0

c.x=x*100+0.5/100.0

d.x=(x/100+0.5)*100.0

31.表达式13/3*sqrt(16.0)/8的数据类型是()。

a.intb.floatc.doubled.不确定

32.设以下变量均为int类型,则值不等于7的表达式是()。

a.(m=n=6,m+n,m+1)

b.(m=n=6,m+n,n+1)

c.(m=6,m+1,n=6,m+n)

d.(m=6,m+1,n=m,n+1)

33.假设所有变量均为整型,则表达式(x=2,y=5,y++,x+y)的值是()。

a.7b.8c.6d.2

34.已知s是字符型变量,下面不正确的赋值语句是()。

a.s=’\012’;b.s=’u+v’;

c.s=’1’+’2’;d.s=1+2;

35.已知s是字符型变量,下面正确的赋值语句是()。

a.s=’abc’;b.s=’\08’;

c.s=’\xde’;d.s=”\”;

36.若有以下定义,则正确的赋值语句是()。

intx,y;

floatz;

a.x=1,y=2,b.x=y=100

c.x++;d.x=int(z);

37.设x、y均为float型变量,则不正确的赋值语句是()。

a.++x;b.x*=y-2;

c.y=(x%3)/10;d.x=y=0;

38.下列语句中符合c语言的赋值语句是()。

a.a=7+b+c=a+7;b.a=7+b++=a+7;

c.a=7+b,b++,a+7d.a=7+b,c=a+7;

39.putchar函数可以向终端输出一个()。

a.整型变量表达式值。

b.字符串

c.实型变量值。

d.字符或字符型变量值。

40.以下程序段的输出结果是()。

inta=12345;printf(”%2d\n”,a);

a.12b.34c.12345d.提示出错、无结果

41.若x和y均定义为int型,z定义为double型,以下不合法的scanf()函数调用语句为

()。

a.scanf(”%d%lx,%le”,x,y,z);

b.scanf(”%2d*%d%lf”,x,y,z);

c.scanf(”%x%*d%o”,x,y);

d。

scanf(”%x%o%6.2f”,x,y,z);

42.有如下程序段:

intx1,x2;

chary1,y2;

scanf(”%d%c%d%c”,x1,y1,x2,y2);

若要求x1、x2、y1、y2的值分别为10、20、a、b,正确的数据输入是()。

(注:

└┘代表空格)

a.10a└┘20bb.10└┘a20b

c.10└┘a└┘20└┘bd.10a20└┘b

43.若变量已正确说明为float类型,要通过语句scanf(”%f%f%f”,a,b,c);给a赋予10.0,

b赋予22.0,c赋予33.0,不正确的输入形式为()。

a.10回车b.10.0,22.0,33.0回车

22回车

33

c.10.0回车d.1022回车

22.033.0回车33回车

44.有如下程序,若要求x1、x2、y1、y2的值分别为10、20、a、b,正确的数据输入是()。

(注:

└┘代表空格)

intx1,x2;

chary1,y2;

scanf(”%d%d”,x1,x2);

scanf(”%c%c”,y1,y2);

a.1020abb.10└┘20└┘abc

c.10└┘20d.10└┘20ab

ab

45.已有定义inta=-2;和输出语句:

printf(”%8lx”,a);以下正确的叙述是()。

a.整型变量的输出格式符只有%d一种

b.%x是格式符的一种,它可以适用于任何一种类型的数据

c.%x是格式符

d.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度

46.有如下程序段,对应正确的数据输入是()。

floatx,y;

scanf(”%f%f”,x,y);

printf(”a=%f,b=%f”,x,y);

a.2.04回车b.2.04,5.67回车

5.67回车

c.a=2.04,b=5.67回车d.2.055.67回车

47.有如下程序段,从键盘输入数据的正确形式应是()。

(注:

└┘代表空格)

floatx,y,z;

scanf(―x=%d,y=%d,z=%d‖,a,y,z);

a.123b.x=1,y=2,z=3

c.1,2,3d.x=1└┘y=2└┘z=3

48.以下说法正确的是()。

a.输入项可以为一个实型常量,如scanf(”%f”,3.5);

b.只有格式控制,没有输入项,也能进行正确输入,如scanf(”a=%d,b=5d”);

c.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf(”%4.2f”,f);

d.当输入数据时,必须指明变量的地址,如scanf(”%f”,f);

49.根据定义和数据的输入方式,输入语句的正确形式为:

()。

(注:

└┘代表空格)

已有定义:

floatx,y;

数据的输入方式:

1.23回车

4.5回车

a.scan(”%f,%f”,x,y);b.scanf(”%f%f”,x,y);

c.scanf(”%3.2f└┘%2.1f”,x,y);d.scanf(”%3.2f%2.1f”,x,y);

50.根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为()。

#include”stdio.h”

main()

{chars1,s2,s3;

输入语句;

printf(”%c%c%c”,s1,s2,s3);

}

输入形式:

a└┘b└┘c回车(注:

└┘代表空格)

输出形式:

a└┘b

a.scanf(”%c%c%c”,s1,s2,s3);

b.scanf(”%c└┘%└┘c%c”,s1,s2,s3);

c.scanf(”%c,%c,%c”,s1,s2,s3);

d.scanf(”%c%c”,s1,s2,s3);

51.以下程序的执行结果是:

()。

#include”stdio.h”

main()

{intx=2,y=3;

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

}

a.x=%2,y=%3b.x=%%d,y=%%d

c.x=2,y=3d.x=%d,y=%d

52.以下程序的输出结果是()。

(注:

└┘代表空格)

#include”stdio.h”

main()

{printf(”\nstring1=%15s*”,”programming”);

printf(”\nstring2=%-5s*‖,”boy”);

printf(”string3=%2s*‖,”girl”);

}

【篇二:

c语言课本习题答案】

/p>1.顺序结构、选择(分支)结构和循环结构。

2.

(1)

(2)

3.编辑、编译、连接和运行

二、填空题

1.

ctrl+f9;alt+f5;f2。

2.

main(主)

3.

main(主)

4.

任意

5.

/**/不

6.

7.原程序:

includestudio.h

main{}

/*thisprogramprintsthenumberofweeksinayear./*

ints

s:

=52;

print(therearesweeksinayear);

改正程序:

#includestudio.h

main()

/*thisprogramprintsthenumberofweeksinayear.*/

{

ints;

s=52;

printf(thereare%dweeksinayear,s);

}

习题二

一、选择题

1、c2、b,d,f,g3、c4、a5、c6、b

二、填空题

1、声明;使用。

2、整型、浮点型(实型)、字符型。

3、hat_1,cat1,all,dollar,piece_f,sin,_,true,false.

4、a(字符),005(整型八进制),3e0(实型),”a”(字符串),\\(字符),\05(字符),1.2e+5(实型),0xf12(整型十六进制)。

5、

(1)6+(4+5)*(4+5)/(2+3)

(2)sin(a+b)*sin(a+b)/(4*2)/(3*2)+2

三、读程题

1.若x为float型,其原值为5,a=2,b=4.7。

写出下列表达式运算后x的值。

(1)x=(int)(b-a)%3*a/4-a

(2)x=(x=b+1)+(int)(b)%10/2.0

(3)x+=x

(4)x-=x

(5)x*=x+x

(6)x/=x+x

(7)x+=x-=x*=x

(8)x%=x

(9)x=3*4,5*6

答案:

(1)-1.0,

(2)7.7,(3)10.,(4)0.,(5)50.,(6)0.5,(7)0.,(8)非法,(9)

12.。

2.写出下面程序的运行结果。

#includestdio.h

voidmain()

{

inta=2;

printf(abcdefghijk\n);

printf(lmnop/n);

printf(iama/nbeginnerofc!

);

printf(iama\nbeginnerofc!

);

printf(%d+%d=%d,a,a,a);

}

答案:

abcdefghijk

lmnop/niama/nbeginnerofc!

iama

beginnerofc!

2+2=2

习题三

一、选择题

1、d2、c3、a4、b5、d

二、简答题

1、p482、表达式语句后有“;“3、p504、i=10,j=20

三、读程题

1、

56

56

67.856400,-789.124023

67.856400,-789.124023

67.86,-789.12,67.8564,-789.1240,67.856400,-789.124023

6.78564e+1,-7.9e+2

a,65,101,41

1234567,4553207,d687

65535,177777,ffff,-1

computer,com

2、10,9

3、8,7,7,8

4、6,0,6

5、0

四、编程题

1、弧度换算成角度值(度、分、秒)

#includestdio.h

【篇三:

华农c语言教材习题参考答案】

期还款:

#includestdio.h

#includemath.h

intmain()

{

doubled,p,r;

scanf(%lf%lf%lf,d,p,r);

printf(%.1f,log10(p/(p-d*r))/log10(1+r));return0;

}

计算分段函数函数值:

#includestdio.h

intmain()

{

doublex;

scanf(%lf,x);

if(x1)printf(%.2f,x);

elseif(x=1x10)printf(%.2f,2*x-1);elseprintf(%.2f,3*x-11);

}

成绩等级评分:

#includestdio.h

#includemath.h

intmain()

{

intscore;

scanf(%d,score);

if(score100||score0)

printf(error);

elseif(score=90)

printf(a);

elseif(score=80)

printf(b);

elseif(score=70)

printf(c);

elseif(score=60)

printf(d);

else

printf(e);

return0;

}

20秒后时间:

#includestdio.h

#includestdlib.h

intmain()

{

inth,m,s;

scanf(%d:

%d:

%d,h,m,s);

s=s+20;

if(s59)

{

s=s%60;

m++;

if(m59)

{

m=m%60;

h++;

if(h23)

h=0;

}

}

printf(%02d:

%02d:

%02d\n,h,m,s);return0;

}

分期还款(加强版):

#includestdio.h

#includemath.h

intmain()

{

doubled,p,r;

scanf(%lf%lf%lf,d,p,r);

if(d==0)

printf(0.0\n);

elseif(d*(1+r)-pd)

printf(god\n);

else

{

printf(%.1f,log10(p/(p-d*r))/log10(1+r));}

return0;

}

字母分类统计:

#includestdio.h

#includemath.h

intmain()

{

charch;

intnl=0,nn=0,ns=0,no=0;

while((ch=getchar())!

=\n)

{

if(ch=ach=z||

ch=ach=z)

nl++;

elseif(ch=0ch=9)nn++;

elseif(ch==)

ns++;

else

no++;

}

printf(%d%d%d%d\n,nl,nn,ns,no);return0;

}

计算数列和:

#includestdio.h

main()

{inti,n;

doublea=2,b=1,s=0;

scanf(%d,n);

for(i=1;i=n;i++)

{s=s+a/b;

a=a+b;

b=a-b;

}

printf(%.4f\n,s);

}

自由落体:

#includestdio.h

#includemath.h

intmain()

{

doublesum=-100,d=100;

inti,n;

scanf(%d,n);

for(i=1;i=n;i++)

{

sum+=2*d;

d/=2;

}

printf(%.3f%.3f,sum,d);

return0;

}

迭代法求平方根:

#includestdio.h

#includemath.h

intmain()

{

doublea,x0,x1=1;

scanf(%lf,a);

do

{

x0=x1;

x1=1.0/2*(x1+a/x1);

}while(fabs(x1-x0)=1e-5);

printf(%.4lf\n,x1);

return0;

}

打印三角形:

#includestdio.h

#defineabs(x)((x)=0?

(x):

-(x))

intmain()

{

intn,i,j;

scanf(%d,n);

for(i=-(n-1);i=(n-1);i++)

{

for(j=0;jabs(i);j++)

printf();

for(j=0;jn-abs(i);j++)

printf(*);

printf(\n);

}

return0;

}

勾股数:

#includestdio.h

#includemath.h

intmain()

{

inti,j,k,n;

scanf(%d,n);

for(i=1;i=n;i++)

for(j=i;j=n;j++)

{

k=(int)sqrt(i*i+j*j);

if(k*k==i*i+j*jk=n)printf(%d%d%d\n,i,j,k);}

return0;

}

插入数据:

intn,i;

scanf(%d,n);

for(i=14;i=0;i--)

if(a[i]n)a[i+1]=a[i];

elsebreak;

a[i+1]=n;

输出不同的数:

#includestdio.h

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

当前位置:首页 > 小学教育 > 学科竞赛

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

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