C语言程序设计教程第五版王秀鸾课后习题解答
- 格式:docx
- 大小:1.02 MB
- 文档页数:27
习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio.h>。
C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。
这些函数的说明都包括在stdio.h文件中。
②main是主函数的名称。
习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。
#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。
c语言程序设计第五版习题答案1. 基础语法练习1.1 写一个程序,要求用户输入两个整数,然后计算并输出这两个整数的和。
```c#include <stdio.h>int main() {int num1, num2;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);int sum = num1 + num2;printf("两个整数的和为:%d\n", sum);return 0;}```1.2 写一个程序,要求用户输入一个字符,然后判断该字符是否为数字字符('0'-'9')。
```c#include <stdio.h>int main() {char ch;printf("请输入一个字符:");scanf(" %c", &ch); // 注意空格if (ch >= '0' && ch <= '9') {printf("该字符是一个数字字符。
\n");} else {printf("该字符不是一个数字字符。
\n");}return 0;}```2. 控制流程练习2.1 写一个程序,找出1~100之间所有能被7整除的数,并输出它们的和。
```c#include <stdio.h>int main() {int sum = 0;for (int i = 1; i <= 100; i++) {if (i % 7 == 0) {printf("%d ", i);sum += i;}}printf("\n这些数的和为:%d\n", sum); return 0;}```2.2 写一个程序,打印如下图案:```***************``````c#include <stdio.h>int main() {for (int i = 1; i <= 5; i++) {for (int j = 1; j <= i; j++) {printf("*");}printf("\n");}return 0;}```3. 数组和字符串练习3.1 写一个程序,输出一个5x5的矩阵,矩阵元素由用户输入。
习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch 语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=200三.编程题1.参照本章例题,编写一个C程序,用于显示如下信息:*************************I love C programs!*************************【分析与提示】①要有文件包含语句#include <stdio.h>。
C语言中没有数据的输入、输出等功能,数据的输入、输出都是通过调用系统提供的库函数scanf和printf等来实现的。
这些函数的说明都包括在stdio.h文件中。
②main是主函数的名称。
C程序设计(第五版)-第1章程序设计和C语⾔课后习题答案1.什么是程序?什么是程序设计?程序:⼀组计算机能识别和执⾏的指令。
程序设计:给出解决特定问题程序的过程,是软件构造活动中的重要组成部分。
程序设计往往以某种程序设计语⾔为⼯具,给出这种语⾔下的程序。
程序设计过程应当包括分析、设计、编码、测试、排错等不同阶段2.为什么需要计算机语⾔?⾼级语⾔有哪些特点?⼈和计算机交流信息也要解决语⾔问题。
⾼级语⾔特点:1.不依赖于具体机器2.数据结构更加丰富3.更接近⾃然语⾔(算法语⾔)更容易掌握4.编写的程序要经过编译或解释计算机才能执⾏3.正确理解以下名词及其含义:源程序:源程序,是指未经编译的,按照⼀定的程序设计语⾔规范书写的,⼈类可读的⽂本⽂件。
通常由⾼级语⾔编写。
⽬标程序:为源程序经编译可直接被计算机运⾏的机器码集合可执⾏程序:所有编译后得到的⽬标模块连接装配起来,再与函数库相连接成⼀个整体,⽣成⼀个可供计算机执⾏的⽬标程序,称为可执⾏程序。
程序编辑:在计算机上编辑源程序。
程序编译:先预处理,再对源程序进⾏检查,判定它有⽆语⾔⽅⾯的错误,如有则发出错误信息提⽰程序员修复,没有错误后,将源程序转换为⼆进制形式的⽬标程序。
程序连接:把所有编译后得到的⽬标模块连接装配起来,再与函数库相连接成⼀个整体。
程序:⼀组计算机能识别和执⾏的指令。
程序模块:程序模块即可由汇编程序、编译程序、装⼊程序或翻译程序作为⼀个整体来处理的⼀级独⽴的、可识别的程序指令。
程序⽂件:描述程序的⽂件称为程序⽂件。
函数:函数中的代码执⾏后可以实现你某种⽬的,或者得到想要的数据.主函数:是程序执⾏的起点。
被调⽤函数:调⽤其它的函数。
库函数:C语⾔库函数是把⾃定义函数放到库⾥,是别⼈把⼀些常⽤到的函数编完放到⼀个⽂件⾥,供程序员使⽤。
程序员⽤的时候把它所在的⽂件名⽤#include<>加到⾥⾯就可以了(尖括号内填写⽂件名),例如#include<math.h>。
c语言程序设计第五版习题答案解析首先,值得指出的是,《C语言程序设计》是一本经典的编程教材,它通过系统性的介绍和练习,帮助读者掌握C语言编程的基本原理和技巧。
而针对这本书中的习题,我们将逐一进行解答和解析,以便读者更好地理解和掌握其中的知识。
1. 第一章:C语言概述在第一章中,主要介绍了C语言的历史背景、特点和发展。
对于习题的解答,我们可以通过提问的方式帮助读者思考和回顾所学内容,例如:“C语言为什么被广泛应用于系统软件开发?”、“C语言的起源是什么?”2. 第二章:数据类型、运算符和表达式在第二章中,主要介绍C语言中的数据类型、运算符和表达式。
习题部分则涵盖了类型转换、算术运算、逻辑运算等内容。
针对这些习题,我们可以给出详细的解答步骤和原理解析,让读者了解C语言中各种运算符的优先级和使用规则。
3. 第三章:控制结构第三章主要介绍了C语言中的分支结构和循环结构。
针对习题部分,我们可以详细解答条件语句、循环语句的使用和注意事项,同时提供一些实际例子和应用场景,让读者更好地理解和掌握这些知识点。
4. 第四章:函数与程序结构在第四章中,重点介绍了函数的定义、调用和参数传递等。
针对习题,我们可以通过编写代码的方式,给出函数的实际应用案例,并解释其中的关键代码部分,帮助读者理解函数的作用和使用方法。
5. 第五章:指针与数组第五章主要介绍了C语言中指针和数组的概念和用法。
对于习题解答,我们可以给出指针和数组的定义、操作方法,并通过实例演示指针和数组在实际编程中的应用。
6. 第六章:字符输入输出第六章主要讲解了C语言中字符输入输出的函数和特点。
在解答习题时,我们可以提供一些常见的字符输入输出问题,并给出详细的解决思路和代码示例。
7. 第七章:类型第七章主要介绍了C语言中的类型定义和使用。
对于习题解答,我们可以通过解析代码和理论知识的结合,帮助读者理解类型的定义和使用场景。
8. 第八章:运算符和表达式在第八章中,主要介绍了C语言中的运算符和表达式。
【最新整理,下载后即可编辑】习题解析与答案第1章C语言概述一.简答题1.概述C语言的主要特点。
【解答】(1)语言简洁、紧凑,使用方便、灵活。
(2)数据类型丰富,表达能力强。
(3)运算符多样。
C语言中的运算符包含的范围非常广泛。
(4)具有结构化的控制语句。
如if…else语句、while语句、do while语句、switch语句、for语句。
(5)允许直接访问物理地址。
C语言中含有的位和指针运算,能够直接对内存地址进行访问操作。
(6)所生成的目标代码质量高,可移植性好。
2.构成C语言程序的基本单位是什么?它由哪几部分组成?【解答】函数是构成C语言程序的基本单位。
一个完整的C 程序一般由文件包含、宏定义、函数说明、变量和一个或若干个函数组成。
3.C语言程序的运行一般要经过哪几个步骤?【解答】(1)编辑;(2)编译;(3)连接,生成EXE文件;(4)执行。
二.运行程序写结果1.输入下面程序并运行。
main(){int a1,a2,x;a1=100;a2=50;x=a1-a2;printf(″x=%d\n″,x);}【解答】运行结果为:x=502.输入下面程序并运行。
main(){int a1,a2,x;a1=10;a2=20;x=a1*a2;printf(″a1=%d,a2=%d\n″,a1,a2);printf(″x=%d\n″,x);}【解答】运行结果为:a1=10,a2=20x=2003.输入下面程序并运行。
#include <stdio.h>main(){printf("******\n");printf(" *****\n");printf(" ****\n");printf(" ***\n");printf(" **\n");printf(" *\n");}【解答】运行结果为:*********************思考:可以修改程序,使之输出平行四边形,等腰三角形等图形。
C语言程序设计教程第五版王秀鸾课后习题解答习题 11.1 思考题1.答:结构化程序设计是指为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。
其基本结构有:顺序结构,选择结构,循环结构。
2.输入三个值a、b、c,用它们作为三角形的3条边输出三角形的面积,画出实现该算法的N-S图。
3.标识符是一个由有限个有效字符组成的序列,在C语言中只起标识作用,可用作符号常量名、变量名、函数名、数组名、文件名等。
C语言合法的标识符必须由字母(A~Z,a~z)或下画线(_)开头,后面可以跟随任意的字母、数字或下画线。
C语言中的标识符由3种类型组成:关键字、预定义标识符和用户标识符。
4.C语言程序的基本单位是函数。
5.一个C语言函数通常由两部分组成:函数的首部和函数体。
函数的首部包括函数类型、函数名、一对圆括号、函数参数(形参)名和参数类型的说明。
函数体一般包括说明部分和执行部分。
6.可以用“/*……*/”在任何位置上对C语言程序的任何部分进行注释,一般在一个程序或函数的开始或某些程序的难点之处加上必要的注释。
在Visual C++ 6.0环境下也可使用符号“//……”引出注释。
7.C语言程序的开发基本上可以分为4步:即编辑、编译、连接和运行。
编辑就是用C语言写出源程序,C源程序的后缀为“.c”;C语言编译程序对源文件进行编译,即检查其词法、语法、语义方面是否存在错误。
编译后生成目标程序,此目标程序名与相应的源程序同名,但其后缀为.obj。
连接形成完整的可执行文件。
一般可执行文件名与源程序文件名同名,后缀为.exe。
执行程序:当程序编译连接后,生成可执行程序便可以运行了,以后用户只需输入可执行目标文件名即可。
1.2 编程题1.答:#include "stdio.h"int main(){ double a=10, b=20, h=5, s;s=(a+b)*h/2;printf("s=%f " , s );return 0;}2.答:#include "stdio.h"int main(){ printf("******************************");printf("*hello world *");printf("******************************");return 0;}习题 22.1 思考题1.C语言提供了的数据类型如下:基本数据类型的标识符和存储单元的长度,以VC6.0为例,整型数据类型标识符包括:① 基本整型(简称整型):类型标识符为int,存储单元的长度为4个字节。
② 短整型:类型标识符为short int或short,存储单元的长度为2个字节。
③ 长整型:类型标识符为1ong int或1ong,存储单元的长度为4个字节。
④ 无符号整型:类型标识符为unsigned int,存储单元的长度为4个字节。
⑤ 无符号短整型:类型标识符为unsigned short,存储单元的长度为2个字节⑥ 无符号长整型:类型标识符为unsigned 1ong,存储单元的长度为4个字节。
实型数据有单精度型和双精度型两种。
① 单精度型:类型标识符为float,存储单元的长度为4个字节。
② 双精度型:类型标识符为double,存储单元的长度为8个字节。
字符型数据的类型标识符为char,在内存中存储一个字符型数据需要1个字节2.错误的C语言常量有:1,900,078,45.2e2.3,.123e-02,e5,3.符号常量是用用户标识符表示的常量。
通常习惯用大写字母表示符号常量。
符号常量在使用之前必须使用#define编译预处理命令在程序开头定义。
符号常量的定义形式为:#define 符号常量名常量举例:#define PI 3.14159264.试确定下列数据的数据类型,并写出一个实例常量。
(1)一个月的天数int month;实例常量为:month=30。
(2)学生成绩的平均值double aver ;实例常量为:aver=90.4。
(3)胶州湾海底隧道的长度double length ;实例常量为:length=7800。
(4)用M/F描述一个人的性别char sex;实例常量为:sex=’M’。
(5)你的姓名char name[10];实例常量为:”王浩”。
5.(1)sqrt(x*x+y*y) (2) pow((a+a*b)/(a-b),1.0/3)(3)pow(a,4)-3*a*b/(3+a) (4)pow(x*x*x,1.0/3)+sqrt(x+y)6.(1)0(2)10(3)21.3(4)6(5)55或’7’7.(1)int age=18; (2) double r=2.57,area;(3) char xb=’M’8.(1)1.5(2)6.02.2 编程题1.答:#include "stdio.h"int main(){double a=56,b=32.3,c=78.2,x=22.1,y=98.5,aver;aver=(a+b+c+x+y)/5;printf("%.2f\n",aver);return 0;}2.答:#include "stdio.h"#include "math.h"int main(){double x1,x2,y1,y2,length;x1=3;y1=8;x2=7;y2=10;length=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));printf("%.2f\n",length);return 0;}3.答:#include "stdio.h"#define PI 3.1415926int main(){double r1=25,r2=15,area;area=PI*(r1*r1-r2*r2);printf("%.2f\n",area);return 0;}习题 33.1 思考题1.答:(1)功能:把10赋给变量a(2)功能:把a*(3+5)的值赋给变量a(3)功能:把变量a和b的值互换(4)功能:把变量b除以10所得的余数乘以10再加上变量b除以10取整的和赋给变量a(5)功能:把大写字母A变为小写赋给变量a(6)功能:把字符6赋给变量a2.答:(1) scanf("%d",&num);(2) scanf("%lf,%lf",&score,&sum);(3) scanf("%d,%lf,%lf",&num,&score,&sum);(4) scanf("%d",&num);3.答:(1) 10,20(2) 10 20(3) i=10,j=20(4)10,A,204.(1) scanf(“%lf%lf%lf”,&a,&b,&c);(2) printf(“%.3f\n”,(a+b+c)/3);(3) printf(“%c,%d\n”,ch,ch);(4)printf(“ %.2f\n”,a);printf(“+ %.2f\n”,b);printf(“-----------\n”,a);printf(“ %.2f\n”,a+b);3.2 读程序写结果题答:1.3,E2. 1,0.5000003. 04. 2,15.x=4,y=6,z=3,m=4633.3程序填空题1.6.62.%d/%d %d/%d=%.2f3.4编程题1.答:#include "stdio.h"int main(){i nt x,y;s canf("%d%d",&x,&y);p rintf("\t\tx\ty\n");p rintf("十进制数\t%d\t%d\n",x,y);p rintf("八进制数\t%o\t%o\n",x,y);p rintf("十六进制数\t%X\t%x\n",x,y);return 0;}2.答:#include "stdio.h"int main(){c harch;p rintf("请输入一个大写英文字母");s canf("%c",&ch);p rintf("大写英文字母是%c\n",ch);p rintf("它的前导字符是%c\n",ch-1);p rintf("它的后续字符是%c\n",ch+1);return 0;}3.答:#include "stdio.h"intmain(){i nt x,a,b,c,y;p rintf("请输入一个三位整数:");s canf("%d",&x);a=x/100;b=(x-a*100)/10;c=x%10;y=c*100+b*10+a;p rintf("反向输出该整数:%d\n",y);return 0;}4.答:#include "stdio.h"int main(){ int hour;double salary, salaryday;scanf("%d,%lf", &hour, &salaryday );salary=hour*salaryday- hour*salaryday*0.1;printf("%.2lf\n", salary);return 0;}5.答:#include "stdio.h"int main(){int a,b,c,t;printf("请输入三个整数\n");scanf("%d%d%d",&a,&b,&c);p rintf("交换前a=%d,b=%d,c=%d\n",a,b,c);t=a;a=c;c=b;b=t;p rintf("交换后a=%d,b=%d,c=%d\n",a,b,c);return 0;}习题 44.1 思考题1.答:C语言没有提供逻辑数据类型,在进行逻辑运算时,操作数为非0的数值代表“真”,数值0代表“假”。