《C语言程序设计基础》教材参考答案-20140211 下载本文

《C语言程序设计基础》教材参考答案

(2)实现算法:以顺序结构为例,根据题目要求,其算法表示如下:

步骤1:输入三个边长a、b、c值;

步骤2:根据公式计算出s的值,然后根据公式计算出三角形面积area; 步骤3:输出计算结果。 (3)算法流程图:

输入a、b、c值 开始 计算s值; 计算area值; 输出面积值area 结束

二. 单元总结

本单元中,核心内容有C语言中基本的数据类型、常量和变量、运算符和表达式以及算法的概念。通过本单元的学习,我们应该知道:

1.C语言中最基本的数据类型有: 整型、字符型、浮点型 。 2.C程序中使用的常量按照表现形式可分为直接常量和符号常量。 (1)直接常量

1)整型常量,有十进制、八进制和十六进制三种描述方式,其中,八进制的前置符号标志为 0 ,十六进制的前置符号标志为 0x或0X 。

2)浮点型常量,有十进制小数和指数两种描述方式,指数形式的符号标志是 e或E 。 3)字符型常量,是用单撇引号括起来的单一字符,对一些特殊字符和控制字符用 的形式表示。

4)字符串常量,是用双撇引号括起来的一串字符序列。字符串的结束标志为 ‘\\0’ 。 (2)符号常量

符号常量是使用某个符号代表的常量,符号常量使用编译预处理中的宏定义命令 定义。

8

《C语言程序设计基础》教材参考答案

3.C程序中使用变量,必须先 定义 ,后 使用 。变量定义后,系统会根据变量的类型分配相应的存储空间。 4.C语言有丰富的运算符,其中算术运算符包括+、-、*、/、%,运算符中的 仅用于整数间的运算;赋值运算符包括“=”和相应的复合赋值运算符 +=、-=、*=、/= ,赋值运算的含义是将“=”右侧的表达式的计算结果赋值给“=”左侧的变量,这与数学中“=”的含义不同,需要注意。 5.由运算符和数据构成表达式,若表达式中各数据的类型不同,则存在类型自动转换问题,必要时也可以使用强制类型转换。 6.对于面向过程的程序设计来说,程序= 数据结构 + 算法 。 7.在C语言中,对于每一个程序设计单元可采用结构化程序设计方法,有三种基本的程序结构,分别为: 顺序 、 选择 和 循环 。 通过本单元的学习,应该掌握C语言程序设计所需要的基本知识,为后续内容的学习打下坚实的基础。

三. 单元练习

一.选择题

1.在C语言中,int、short、char三种类型数据所占用的存储空间是( )。

A.均为2个字节

B.int和short占2个字节,char占1个字节 D.由用户自己定义

C.与编译环境有关

2.下面定义字符型变量ch的语句不正确的是( )。

A.char ch=?\\X2A?; C.char ch=65;

B.char ch=\D.char ch=NULL;

3.已知大写字母A的ASCII是65,小写字母a的ASCII是97,以下不能将字符型变量c中的大写字母转换成对应的小写字母的语句是( )。

A.c= (c-'A')&+'a'; C.c= c-'A'+'a';

B.c2=tolower(c); D.c=('A'+c)&-'a';

4.设有定义:double d,h;,其中d为三角形的底边长,h为三角形的高,则以下C语言表达式与其面积公式

1dh计算结果不相符的是( )。 2B.1/2*d*h

9

A.d*h/2 C.d*h*1/2 D.d/2*h

《C语言程序设计基础》教材参考答案

5.以下选项中,与k=n++;完全等价的语句是( )。

A.k=n;n=n+1; B.n=n+1;k=n;

C.k=++n;

D.k+=n+1;

二.填空题

1.写出整型变量a、无符号长整型变量b、双精度浮点型变量c和字符型变量d的定义语句: 。 2.常量‘a’和”a”分别占用_____个字节和_____个字节的存储空间。

3.有定义 int a=1234;,获取其百位数码的表达式为________________________。 4.若有定义:char a=97,c;,则表达式c='a'+'8'-'3'的值为_________。 5.已知int x=6;,则执行x+=x-=x-3;语句后,x的值是_________。

6.将一个浮点型变量n四舍五入精确到小数点后两位,其表达式为: 。 7.C语言中基本的数据类型有 、 、 。 8.结构化程序设计中基本的程序结构有 、 、 。

*******************************************************************************

习题答案:

一.选择题

1.C

2.B

3.D

4.B

5.A

二.填空题

1.int a; unsigned long b; double c; char d;

2.1 2 3.a/100 4.f 5.6

6.((int)(n*100+0.5))/100.0; 7.整型、浮点型、字符型 8.顺序、选择、循环

*******************************************************************************

四. 实训指导

1. 完成【引例】中的题目,要求计算结果保留两位小数。

10

《C语言程序设计基础》教材参考答案

参考程序代码如下: #include #include void main( )

{ float a,b,c,s,area;

printf(\请输入三角形三边长:\ scanf(\ s=(a+b+c)/2;

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf(\三角形的面积为:%.2f\\n\ }

2.新建工程,输入【例2-4】源程序,使之能够运行,重点体会符号常量的用法及好处。(略) 3.下列程序有若干处错误,请调试改正。程序功能:求华氏温度120.3对应的摄氏温度,计算公式为c=5/9(f-32),其中c表示摄氏温度,f表示华氏温度。

给定程序 程序改正

#include void main( ) { int c;f; c=5/9*(f-32); f=120.3; printf(“c=%f\\n”,c) } #include void main( ) { float c,f; f=120.3; c=5*(f-32)/9; printf(\} 4.编写程序,将两个两位数的正整数a和b合并成一个整数放在c中。合并的方式是:将a数的十位和个位数依次放在c数的个位和百位上,将b数的十位和个位数依次放在c数的十位和千位上。

参考程序代码如下:

#include void main( ) { int a,b,c; int as,ag,bs,bg;

printf(\请输入两个两位整数:\ scanf(\ as=a/10; ag=a; bs=b/10; bg=b;

11