新编C语言程序设计教程(机械工业出版社-钱雪忠-吕莹楠).docx

上传人:11****ws 文档编号:2205430 上传时间:2019-05-01 格式:DOCX 页数:33 大小:112.35KB
下载 相关 举报
新编C语言程序设计教程(机械工业出版社-钱雪忠-吕莹楠).docx_第1页
第1页 / 共33页
新编C语言程序设计教程(机械工业出版社-钱雪忠-吕莹楠).docx_第2页
第2页 / 共33页
新编C语言程序设计教程(机械工业出版社-钱雪忠-吕莹楠).docx_第3页
第3页 / 共33页
新编C语言程序设计教程(机械工业出版社-钱雪忠-吕莹楠).docx_第4页
第4页 / 共33页
新编C语言程序设计教程(机械工业出版社-钱雪忠-吕莹楠).docx_第5页
第5页 / 共33页
点击查看更多>>
资源描述

1、1新编 C 语言程序设计教程习题及实验题部分答案第 1 章 C 语言概述1 习题一、选择题ADCDB CCBBA二、简答题1、什么是语言?语言分几类?各有什么特点?语言:语言是思维的载体。人和计算机打交道,必须要解决一个“语言”沟通的问题。如今人与计算机之间有许多种类的“语言”的。语言分类:机器二进制语言、汇编语言(低级) 和高级语言(第三代、第四代、 )各自特点:1)机器二进制语言:用 0、1 两个数字编写的计算机能直接运行的程序的语言,机器语言执行效率高,但难编写、难懂、难移植。2)汇编语言( 低级) :汇编语言的特点是使用一些“助记符号”来替代那些难懂难记的二进制代码,所以汇编语言相对于

2、机器指令便于理解和记忆,但它和机器语言的指令基本上是一一对应,两者都是针对特定的计算机硬件系统的,可移植性差,因此称它们都是“面向机器的低级语言” 。3)高级语言:高级语言类似自然语言(主要是英语),由专门的符号根据词汇规则构成单词,由单词根据句法规则构成语句,每种语句有确切的语义并能由计算机解释。高级语言包含许多英语单词,有“自然化”的特点;高级语言书写计算式子接近于熟知的数学公式的规则。高级语言与机器指令完全分离,具有通用性,一条高级语言语句常常相当于几条或几十条机器指令。2、汇编语言与高级语言有何区别?高级语言程序要比汇编语言要易懂、明了、简短得多;高级语言与机器指令完全分离,具有通用性

3、,一条高级语言语句常常相当于几条或几十条机汇编语言指令;高级语言要经过解释或编译来执行的,而汇编语言程序通过汇编程序来生成机器程序来执行的。3、什么是程序?完成某一特定任务的一组指令序列,或者说,为实现某一算法的指令序列称为“程序” 。不同计算机语言有不同的计算机程序。24、 C 语言中为何要加注释语句?注释部分,起到说明语句或程序的作用。程序中应添加必要的注释,来增强程序的阅读与理解。注释用来向用户提示或解释程序的意义。在调试程序中对暂不使用的语句也可用注释符标注起来,使翻译跳过这些不作处理,待调试结束后再按需去掉注释符。为此,注释也有调试的辅助作用。5、说说 C 语言程序的组成?C 语言程

4、序包括由哪些部分?一个 C 语言函数一般又由哪几部分组成的?C 语言程序的组成:一个语言源程序可以由一个或多个源程序文件组成。C 语言程序的组成部分:1.一个 C 语言源程序可以由一个或多个源文件组成;2.每个源文件可由一个或多个函数组成;3.一个源程序不论由多少个文件组成,都有一个且只能有一个 main 函数,即主函数;4.源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面;5.每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“”之后不能加分号;6.标识符,关键字之间必须至少加一个空格以示间隔。C 语言函数:一个 C

5、 语言函数通常由函数首部(如 int max(int a,int b)) 、函数体组成。函数体一般又由局部变量定义与函数声明等组成的定义与声明部分、程序执行语句等组成的执行部分这两部分组成的(如 min 函数所示) 。第 2 章 结构化程序设计与算法2 习题一、选择题BCDCD CBCAD二、简答题1、什么是算法?算法的特点是什么?什么是算法:算法就是解决某个问题或处理某件事的方法和步骤,在这里所讲的算法是专指用计算机解决某一问题的方法和步骤。算法的特点:1)有穷性人们编制算法的目的就是要解决问题,若该算法无法在一个有限合理的时间内完成问题的求解,那么算法也就失去了其原有的目的,人们就会摒弃它

6、。而且人们研究算法,其目的还在于它的高效率,即解决同一个问题的两个算法,人们往往选择其中那个运行效率高的。2)确定性所谓算法的确定性是指算法的每一个步骤都应该确切无误,没有歧义性。33)有零个或多个输入执行算法时,有时需要外界提供某些数据,帮助算法的执行。一个算法可以没有输入,也可以有多个输入。例如,求解 N!,该算法就需要输入一个数据 N;而求解两数之和,该算法就需要输入两个数据4)有一个或多个输出算法的目的是求解,解就是结果,就是输出,否则就毫无意义。5)有效性算法中的每一步都应该能有效地执行、可以实现,执行算法最后应该能得到确定的结果。2、结构化程序设计的三种基本结构是什么?其共同特点是

7、什么?结构化程序设计的三种基本结构:顺序、选择、循环三种基本控制结构其共同特点:1)只有单一的入口和单一的出口; 2)结构中的每个部分都有执行到的可能;3 )结构内不存在永不终止的死循环。3、尝试用自然语言、流程图、N-S 流程图或伪代码写出下面问题的求解算法。1)根据三边,求三角形的周长和面积2)判断用户输入的一个整数是奇数还是偶数3)求解一元二次方程 ax2+bx+c=0 根4)找出 10 个数据的最大数5)将 20 个考生成绩中不及格者的分数打印出来6)求 S=1+2+3+4+100解:略实验 2 熟悉 VC+ 6.0 环境及算法二、实验内容1、改错题#include main()int

8、 x=2,y=3,a;a=x-y;printf(“a=%d“,a);printf(“n“); /* 换行 */2、程序填空题#include main()int a,b,m;printf(“Input a,b please!n“);scanf(“%d%d“,m=a*b; /*赋值语句,将 a 和 b 之积值赋给 m*/printf(“a*b=%dn“,m); /*输出 a 和 b 积的结果值并换行 */3、设计与表示算法4判断一个数 n 能否同时被 3 和 5 整除。1)用伪代码表示begin (算法开始)input nif (n/3*3)=nif (n/5*5)=nprint “数 n 能同

9、时被 3 和 5 整除”end (算法结束)2)用 N-S 图表示3)用流程图表示输入 nn 除以 3 的余数为 0n 除以 5 的余数为 0是 否是 否n 能同时被 3 和 5整除n 不能同时被 3 和 5整除n 不能同时被 3 和 5整除n 被 3 整除开始n 不能同时被 3 和 5 整除结束N Yn 被 5 整除n 能同时被 3 和 5 整除N Y输入 n54、编程题1)#include void main()printf(“How are you!n“);2)#include main()int a,b,c,sum;printf(“Input a,b,c please!n“);scan

10、f(“%d%d%d“,sum=a*a*a+b*b*b+c*c*c; /*赋值语句,将 a 和 b之积值赋给 m*/printf(“a*a*a+b*b*b+c*c*c=%dn“,sum); /*输出 a 和 b 积的结果值并换行 */第 3 章 数据类型及其运算3 习题一、选择题BADCD DCBCA二、阅读程序,给出运行结果1、7,8,102、1,33、4、 461579112三、编程题1. (sin(sqrt(x*x)/(a*b)2. 5.53. 3 34. 35. #include void main()6char c;c = getchar();printf(“%cn“,c);print

11、f(“%dn“,c);6. #include int main()float C,F;printf(“请输入一个华氏温度:“);scanf(“%f“, C = (5.0/9)*(F-32);printf(“摄氏温度 C=%5.2fn“,C);return 0; 7. #include #include int main()float a;a = exp(3.1415926);printf(“%fn“,a);return 0;实验 3 数据类型及其运算二、实验内容1改错题#include main()int x,y;printf(“请输入两个整数n“);scanf(“%d%d“,printf(“

12、互换前的 x:%d y:%dn“,x,y);x=x+y;y=x-y;x=x-y;printf(“互换前的 x:%d y:%dn“,x,y);2. 程序填空题#include main()7int i1,i2,i3,i;printf(“Please input i1,i2,i3: “);scanf(“%d%d%d“,i=i3; /i=i1; /i=i2;i3=i2; /i1=i3; /i2=i1;i2=i1; /i3=i2; /i1=i3;i1=i; /i2=i; /i3=i2;printf(“i1=%dni2=%dni3=%dn“,i1,i2,i3);3编程题(1)从键盘输入 3 个大写英文字

13、母,把它们转换成小写字母后输出。#include main()char c1,c2,c3;scanf(“%c%c%c“,c1=c1+32;c2=c2+32;c3=c3+32;printf(“%c%c%cn“,c1,c2,c3);(2)从键盘输入 3 个整数,输出它们的平均值与积。#include main()int a,b,c,ji;float ave;printf(“请输入 3 个整数n“);scanf(“%d%d%d“,ave=(a+b+c)/3.0;ji=a*b*c;printf(“ave=%f,ji=%dn“,ave,ji);该程序的运行结果:ABCabc该程序的运行结果:请输入 3

14、个整数2 4 6ave=4.000000,ji=488第 4 章 顺序结构程序设计4 习题一、选择题BBCBC DCBDD二、阅读程序,给出运行结果1、 x=345 2、 a=1,b=3y=3.460000 a=3,b=13、 a=123,f=457三、编程题1.2. 法一:#includeInt main() float x,xf;Int xi;Printf (“请输入一个实数:”);Scanf(“%f”,Xi=(int)x;Xi=x-xi;Printf(“该数的整数部分为:%dn”,xi);Printf(“该数的小数部分为:5fn”,xf);Return 0;法二:#includedoub

15、le a,b;scanf(“%lf“,b = a;long int p;p = (long int)a;printf(“整数部分 :%dn“,p);printf(“小数部分 :%lf“,(b - p);3.4.95. #include void main( ) float a, b ,h;float area;scanf(“%f,%f,%f“,area=(a+b)*h/2;printf(“梯形的面积为:%5.2fn“,area);实验 4 顺序结构程序设计二、实验内容1改错题下列程序的功能为:按下列公式计算并输出 x 的值。其中 a 和 b 的值由键盘输入。纠正程序中存在的错误,以实现其功能。

16、 2)(bax#include main() int a,b;float x;scanf(“%d,%d“,a,b); scanf(“%d,%d“,x=2ab/(ab)(ab); x=2.0*a*b/(ab)*(ab);printf(“x=%dn“,x); printf(“x=%fn“,x);2.程序填空题下列程序的功能为:设圆半径 r=1.5,圆柱高 h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用 scanf 输入数据 r、 h,输出计算结果,输出时要求有文字说明,取小数点后位数字。(周长 l=2 ,圆面积 s= ,圆球表2r面积 sq= ,圆球体积 vq= ;圆柱体积 vz=

17、),请补充完善程序,以24r34r2hr实现其功能。该程序的运行结果:4,6x=0.48000010#include main()float pi,h,r,ly,sy,sq,vq,vz;pi=3.1415926;printf(“请输入圆半径 r,圆柱高 h:n“);scanf(“%f%f“,c1=getchar();c2=getchar();c3=getchar();putchar(c1);putchar(n);putchar(c2);putchar(n);putchar(c3);putchar(n);(2)编写一个程序实现如下功能:输入一元二次方程 ax2+bx+c=0 的系数a、 b、 c,求方程的根。要求:运行该程序时,输入 a、b、c 的值,分别使 b2-4ac 的值大于、等于和小于零,观察并分析运行结果。求根公式如下: 法一:#include #include void main() float a,b,c,disc,x1,x2,p,q;scanf(“a=%f,b=%f,c=%f“,该程序的运行结果:请输入圆半径 r,圆柱高 h:1.5 3圆周长为:9.42圆面积为:7.07圆球表面积为:28.27圆球体积为:14.14圆柱体积为:21.21该程序的运行结果:ABCABC该程序的运行结果:a=1,b=3,c=2x1=-1.00x2=-2.00.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。