c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc

上传人:b****1 文档编号:211936 上传时间:2022-10-06 格式:DOC 页数:40 大小:95.50KB
下载 相关 举报
c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc_第1页
第1页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc_第2页
第2页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc_第3页
第3页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc_第4页
第4页 / 共40页
c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc_第5页
第5页 / 共40页
点击查看更多>>
下载资源
资源描述

c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc

《c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc》由会员分享,可在线阅读,更多相关《c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc(40页珍藏版)》请在冰豆网上搜索。

c语言《程序设计基础》课后习题参考答案与解析_精品文档.doc

《程序设计基础》习题参考答案与部分解析

第1章C语言概述

一、填空

a)C源程序的基本单位是函数。

b)一个C程序中至少应包括一个main函数。

c)在C语言中,输出操作是有库函数printf()函数完成。

二、单选题

1、A2、C3、B

解析:

第1题答案:

A。

因为一个C程序总是从main函数开始执行的, 而不论main函数在程序中的位置。

且到main函数结束。

第2题答案:

C。

因为main函数没有限制必须位于程序的最前面。

C程序书写自由,一行内可写几个语句。

在对一个C程序进行编译的过程中,无法检查注释当中的拼写错误。

不过C语言本身并没有输入输出语句,输入输出是由函数完成的。

第3题答案:

B。

因为一个C语言程序是由若干个函数组成的。

但至少包含一个main函数,且main函数的位置不限。

三、编程题

1、编写一个输出“WelcometoC!

”信息的小程序。

解:

程序如下

#include“stdio.h”

main()

{

printf(“WelcometoC!

”);

}

2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。

海伦公式为:

S△=,其中s=(a+b+s)/2;

 解:

程序如下

#include“math.h”

#include“stdio.h”

main()

{

inta,b,c;/*a,b,c3个整型变量表示三角形的3条边。

*/

floats,s1;/*s1作为面积变量,s作为中间变量是都应该是实形*/

a=3;b=4;c=5;

s=(a+b+c)/2.0;

 s1=sqrt(s*(s-a)*(s-b)*(s-c));/*sqrt函数完成开平方根功能。

*/

printf(“area=%f\n”,s1);

}

第2章程序设计基础知识

一、单选题

1、C2、A3、C4、A5、C6、C7、D8、C

9、D10、A11、D12、A13、C14、C15、BA

16、B17D

解析:

1.答案:

C。

这里考察的是用户标识符的定义。

用户标识符由字母、数字、下划线组成。

且必须以字母或下划线开头,区分大小写,且不能与C语言已有的32个关键字同名。

由于选择不合法的用户标识符, A项的A、P_0、Do都是合法的用户标识符;B项的_A是合法的;D项的_123、temp、INT也都是合法的。

只有C选项的标识符都是错误的用户标识符。

2.答案:

A。

这里考察的是整型常量的概念。

B项当中01a不正确,C

项当中的0668不是正确的八进制常量,D项当中的2e5是float型常量。

3.答案:

C。

这里考察的是字符常量的定义。

字符常量是用单撇号括起来的单个字符或转义字符。

所以答案是C。

4.答案:

A。

字符变量只能包含一个字符。

5.答案:

C。

这里考察的是转义字符的正确表示。

C项的’074’是错误的转义字符,正确表示方法是’\074’。

6.答案:

C。

字符变量只能包含一个字符,而C项的c=’yes’是错误的。

 7.答案:

D。

这里考察的是输入格式的控制。

输入格式要与scanf语句中字符串格式相对应。

8.答案:

C。

这里考察的是输出格式和字符对应的ASCII码值。

’A’的ASCII码值是65,’Y’字符的ASCII码值是89。

9.答案:

D。

这里考察输入格式和输出结果形式。

由于输入格式不正确,所以输出的是不确定值。

10.答案:

A。

这里考察的是标识符的特点区分大小写,变量sum和变量sUM是两个不同的变量,sum并没有参加运算,所以它的值不边仍然是7。

11.答案:

D。

%运算符要求两边的运算数必须是整型。

12.答案:

A。

这里考察的是复合赋值运算。

a%=b+1;等价与a=a%(b+1);

由于a=10,b=4;所以运算后a的值是0。

13.答案:

C。

这里考察的是在变量定义类型是进行赋值操作。

要求 a,b,c都赋值为5,且为int类型。

只有C正确。

14.答案:

C。

这里考察的是类型的自动转换,只要有单精度类型或双精度类型参加运算,结果都是double(双精度)类型。

15.答案:

B,A。

这里考察的是逻辑表达式的运算过程。

表达式1&表达式2,若表达式1的值是0的话,结果就是0,表达式2就不参加运算。

要注意:

赋值表达式的值是左边赋值变量的值。

所以答案为B,A。

16.答案:

B。

这里考察的是逗号表达式运算过程是从第1个表达式开始运算,然后依次运行到最后一个表达式。

逗号表达式的值是最后表达式的值,且注意逗号运算符优先级低于赋值运算符。

所以表达式

(a=2,b=5,b++,a+b)运算过程a=2—>b=5—>b++—>a+b=8;结果是8。

17.答案:

D。

这里考察的是条件表达式的结合性是从右向左。

所以

 k

k:

c

c:

a;等价于k

k:

(c

c:

a);先运算c

c:

a;的值

是1,然后计算k

k:

1;的值是1。

二、填空题

1、-32768-327672、字母,数字,下划线3、分号(;)

4、30,155、186、0

7、-2648、79、0

10、111、y%2==112、x

13、014、(x>2&&x<3)||x<-1015、1

三、编程题

1、编写程序,输入一个长方形的二边长,输出其面积。

 解:

程序如下

#include“stdio.h”

main()

{

inta,b,s;/*a,b作为长方形的两个边长,s为面积。

*/

printf(“请输入两个边长\n”);

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

s=a*b;

printf(“Thearea:

%d\n“,s);

}

2、设置半径为r=2.9,编程求圆周长和圆面积

解:

程序如下

#include“stdio.h”

#definePI3.14

main()

{

floatr,L,S;

L=2*PI*r;

 S=PI*r*r;

printf(“L=%f,S=%f\n“,L,S);

}

3、输入一个华氏温度,输出相应的摄氏温度。

二者的换算公式是:

c=5/9(F–32),其中F表示华氏温度,c表示摄氏温度。

解:

程序如下

#include“stdio.h”

main()

{

floatc,F;

printf(“请输入一个华氏温度:

\n”);

scanf(“%f”,&F);

c=(float)5/9*(F-32);

printf(“F=%f,c=%f\n”,F,c);

 }

第3章程序设计初步

一、单选题

1、C2、C3、B4、B5、B

解析:

1.答案:

C。

这里考察的是if-else语句和表达式中有增量和减量的执行过程。

if(m++>5)printf(“%d\n”,m);elseprintf(“%d\n”,m++);

先执行m>5的值是0,然后执行m=m+1;得到m=6;由于m>5的值是0所以执行else语句,应先输出m的值是6,然后m再自增一个单位变成7。

2.答案:

C。

这里考察的是if语句的嵌套。

根据else子句总是与之前最近的if语句配对来进行选择满足条件的答案。

3.答案:

B。

这里也考察的是if语句的嵌套。

同理:

if(x

if(y<0)z=0;elsez+=1;等价与if(x

4.答案:

B。

这里考察的是if语句的嵌套。

根据else子句总是与之前最近的if语句配对。

5.答案:

B。

由于B项:

if(x=y)&&(x!

=0)x+=y;if后的条件表达式没有用圆括号括起来。

正确的是:

if((x=y)&&(x!

=0))x+=y;

二、根据要求完成程序填空

1、z>yz>xy>x2、ch>=‘A’&&ch<=’Z’ch=ch-32

3、x<0x/10y!

=2

三、编程题

 1、编写一个程序,要求用户从终端键入两个整数数值。

检测这两个数,判定第一个数是否能被第二数整除,并在终端上显示相应的信息。

解:

程序如下

#include“stdio.h”

main()

{

inta,b;/*a为第一个数,b为第二个数*/

printf(“Pleaseinputtwonumbers:

\n”);

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

if(a%b==0)

printf(“%d能被%d整除。

\n”,a,b);

else

printf(“%d不能被%d整除。

\n”,a,b);

 }

2、有3个整数a,b,c,由键盘输入,输出其中最大的数。

解:

程序如下

#include“stdio.h”

main()

{

inta,b,c,max;

printf(“Pleaseinputthreenumbers:

\n”);

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

if(a>b)max=a;

elsemax=b;

if(max

 printf(“Themaxis%d\n”,max);

}

3、给出一百分制成绩,要求输出成绩等级A、B、C、D、E。

其中90分以上为A,80~89分为B,70~79为C,60~69为D,60分以下为E。

解:

程序如下

#include“stdio.h”

main()

{

floatscore;

intgrade;

printf(“Pleaseinputascore:

\n”);

scanf(“%f“,&score);

grade=(int)score/10;

switch(grade)

{case10:

case9:

printf(“gradeisA\n”);break;

case8:

printf(“gradeisB\n”);break;

 case7:

pr

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

当前位置:首页 > 教学研究 > 教学案例设计

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

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