机器人程序设计(C语言)(第2版)章节练习题及参考答案

合集下载

c语言程序设计案例教程第二版答案

c语言程序设计案例教程第二版答案

c语言程序设计案例教程第二版答案篇一:C语言程序设计案例教程第3章参考答案C语言程序设计案例教程(第二版)廖湖声叶乃文周珺人民邮电出版社第三章习题参考答案习题3-1#include<tdio.h>#include<math.h>intmain(){inti,j,c=0;//c用来控制一行输出元素的个数for(i=2;i<100;i++)//判断从2到100之间那个数为素数{ for(j=2;j<=qrt(i);j++)//判断到i的平方根即可减少循环次数{ if(i%j==0)break;}if(j>qrt(i)){printf("%5d",i);c++;//每输出一个数计数器加1if(c%5==0)printf("\n");}}return0;}习题3-2#include<tdio.h>intmain(){inti,n;//n为从键盘上接收的数printf("请输入一个正整数:");canf("%d",&n);for(i=2;i<n;i++)//从2~n依次查找满足条件的数{if(n%i==0)//判断i是否为n的因子printf("%5d",i);}printf("\n");return0;}习题3-3#include<tdio.h>/某韩信点兵问题穷举法实例某/intmain(){intn;printf("假设韩信带兵在1000~10000人之间,则可能的人数为:\n");for(n=1000;n<10000;n++){if(n%5==1&&n%6==5&&n%7==4&&n%11==10)printf("%7d",n);}printf("\n");return0;}习题3-4#include<tdio.h>intmain(){inti,j,k,n;//i,j,k分别为水仙花数n的百位、十位、个位printf("所有的水仙花数为:");for(n=100;n<1000;n++)//对每个三位数进行分解、判断{i=n/100;j=n/10%10;k=n%10;if(n==i某i某i+j某j某j+k某k某k)//判断该三位数是否是其各位数立方和printf("%5d",n);}printf("\n");return0;}习题3-5#include<tdio.h>intmain()int=0,i=99;while(i>=1){=+i某(i+1)某(i+2);i=i-2;}printf("1某2某3+3某4某5+...+99某100某101=%d\n",);return0;}习题3-6#include<tdio.h>intmain(){inta,n,i,a,an;printf("请输入a和n的值:");canf("%d,%d",&a,&n);a=an=a;for(i=2;i<=n;i++)an=an某10+a;//计算第i项,即i个aa=a+an;//累加求和} printf("a+aa+aaa+...+aa...a=%d\n",a);return0;}习题3-7#include<tdio.h>intmain(){intn=1,i;printf("请输入猴子吃桃子的天数:");canf("%d",&i);while(i>1){n=(n+1)某2;i--;}printf("最初有%d个桃子\n",n);return0;}篇二:c语言程序设计教程(第2版)课后题及模拟题参考答案习题1.............................................................. .. (4)1-1填空题............................................................. . (4)1-2思考题............................................................. . (4)1-3编程题............................................................. . (5)习题2.............................................................. .. (6)2-1单选题............................................................. . (6)2-2思考题............................................................. (6)习题3.............................................................. .. (7)3-1选择题............................................................. . (7)题............................................................. (7)3-3编程题............................................................. (8)习题4.............................................................. .. (11)4-1单选题............................................................. . (11)4-2填空题............................................................. . (11)4-3编程题............................................................. (11)习题5.............................................................. .. (16)5-1单选题............................................................. (16)5-2填空题............................................................. (16)题............................................................. .. (16)习题6.............................................................. . (22)6-1单选题............................................................. . (22)6-2填空题............................................................. (22)6-3编程题............................................................. .. (22)习题7.............................................................. . (25)7-1单选题................... (25)7-2填空题............................................................. (25)7-3编程题............................................................. .. (25)习题8.............................................................. . (26)8-1单选题............................................................. (26)8-2填空题............................................................. (26)8-3编程题............................................................. .. (26)习题9............................................................... (30)9-1单选题.............................................................. . (30)9-2填空题.............................................................. . (30)9-3编程题.............................................................. (30)习题10............................................................. . (38)10-1单选题............................................................. .. (38)10-2填空题............................................................. . (38)10-3编程题............................................................. (38)习题11............................................................. .. (41)11-1单选题............................................................. (41)11-2填空题............................................................. (41)习题12............................................................. . (42)12-1单选题............................................................. (42)12-2填空题............................................................. . (42)实验篇............................................................. . (43)实验1熟悉ViualC++6.0可视化集成开发环境 (43)实验2顺序结构程序设计 (43)实验3选择结构程序设计 (43)实验4循环结构程序设计 (44)实验5函数............................................................. . (47)实验6数组............................................................. . (54)实验7指针............................................................. . (58)实验8结构体和共用体 (61)实验9文件............................................................. (63)实验10综合编程 (64)模拟试卷(一)参考答案 (65)模拟试卷(二)参考答案 (67)习题11-1填空题1.函数2.主函数main(),主函数main()3.主函数main()4.函数首部,函数体5.{,}6./某,某/7.顺序结构,选择结构,循环结构8..c,.obj,.e某e1-2思考题1.结构化程序设计是指:为使程序具有一个合理的结构以保证程序正确性而规定的一套如何进行程序设计的原则。

《C 程序设计教程(第2版)》课后习题

《C  程序设计教程(第2版)》课后习题

第1章 C++语言简介1. 修改例1-1的Hello World!程序,使其能够在计算机屏幕上显示:I am a student, and I like programming!2. 修改例1-3的加法计算器程序,编写一个乘法计算器程序。

3. 修改例1-4的生日卡程序,使其能够输入和显示日期。

4. 参考例1-5,使用梯形法计算下式定积分的值。

⎰-+11)(sin dx e x x其中积分区域等分数可取为200,并将计算结果和手算结果相比较。

提示:e x 用标准数学函数库cmath 中的库函数exp(x)表示。

5. 仿照例1-6,编写一个计算矩形面积的程序。

第2章 基本数据类型1. 为例2-2添加数据检验部分。

给出三边长,检验其是否能构成一个三角形的方法是检查是否任意两边和均大于第三边。

如果检验不合格,输出信息“Error Data!”2. 输入两个角度值x 、y ,计算如下式子的值。

|)cos(||)||sin(|y x y x ++3. 编写一个程序,要求完成以下要求:1)提示用户输入任意的3个小数; 2)显示这三个小数; 3)将这三个小数相加,并显示其结果; 4) 将结果按四舍五入方法转换成整数并显示。

4. 从键盘输入任意三个整数,然后输出这三个数并计算其平均值。

5. 编写一个程序,将字符串“Love ”译成密码,译码方法采用替换加密法,其加密规则是:将原来的字母用字母表中其后面的第3个字母的来替换,如字母c 就用f 来替换,字母y 用b 来替换。

提示:分别用4个字符变量来存储'L'、'o'、'v'和'e',利用ASCII 表中字母的排列关系,按照译码方法对各个变量进行运算后输出即可。

第3章 控制结构1. 编写计算阶乘 n!的程序。

2. 计算1!+2!+3!+4!+......+10!,即∑=101!i i3. 编写程序求斐波那契数列的第n 项和前n 项之和。

程序设计教程--用C语言编程(第二版)课后答案

程序设计教程--用C语言编程(第二版)课后答案

程序设计教程--用C++语言编程(第二版习题解答)目录第1章概述 (2)第2章基本数据类型和表达式 (5)第3章程序的流程控制――语句 (7)第4章过程抽象――函数 (16)第5章构造数据类型 (22)第6章数据抽象――类 (37)第7章操作符重载 (53)第8章继承――派生类 (77)第9章类属(泛型)机制――模板 (87)第10章输入/输出(I/O) (93)第11章异常处理 (101)第12章实例--面向对象的Windows应用程序框架 (102)第1章概述1、简述冯•诺依曼计算机的工作模型。

答:冯•诺依曼计算机的工作模型是:待执行的程序从外存装入到内存中,CPU从内存中逐条地取程序中的指令执行;程序执行中所需要的数据从内存或从外设中获得,程序执行中产生的中间结果保存在内存中,程序的执行结果通过外设输出。

2、简述寄存器、内存以及外存的区别。

答:寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果供下一(几)条指令使用,其作用主要是减少访问内存的次数,提高指令的执行效率。

内存用于存储计算机程序(指令和数据),内存由许多存储单元构成,每个存储单元都有一个地址,对存储单元的访问是通过其地址来进行的,与寄存器相比,内存的容量要大得多,但指令访问内存单元所花费的时间比访问寄存器要多得多。

外存是大容量的低速存储部件,用于永久性地存储程序、数据以及各种文档等信息,存储在外存中的信息通常以文件形式进行组织和访问,外存储了在容量和速度上与内存不同,另一个区别在于内存中存储的是正在运行的程序和正在使用的数据,外存中存储的则是大量的、并非正在使用的程序和数据。

3、CPU能执行哪些指令?答:CPU所能执行的指令通常有:算术指令:实现加、减、乘、除等运算。

比较指令:比较两个操作数的大小。

数据传输指令:实现CPU的寄存器、内存以及外设之间的数据传输。

执行流程控制指令:用于确定下一条指令的内存地址,包括转移、循环以及子程序调用/返回等指令。

苏小红c语言程序设计第二版课后答案

苏小红c语言程序设计第二版课后答案

苏小红c语言程序设计第二版课后答案苏小红教授所著的《C语言程序设计》第二版是计算机科学与技术专业学生学习C语言的经典教材之一。

该书不仅系统地介绍了C语言的基础知识,还通过丰富的实例和练习题帮助学生加深理解。

以下是部分课后习题的答案,以供参考:第一章:C语言概述1. 问题一:简述C语言的特点。

- 答案: C语言是一种结构化编程语言,具有高效性、灵活性和可移植性等特点。

它支持多种数据类型,拥有丰富的运算符,并且能够直接访问内存地址。

2. 问题二:为什么说C语言是高级语言?- 答案: C语言被称为高级语言是因为它抽象了底层硬件操作,使得程序员可以不必关心计算机的硬件细节,而专注于程序的逻辑结构。

第二章:数据类型、运算符和表达式1. 问题一:说明C语言中基本数据类型的种类及其特点。

- 答案: C语言中的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)。

每种类型都有其特定的取值范围和占用内存大小。

2. 问题二:解释赋值运算符的右结合性。

- 答案:赋值运算符的右结合性意味着当多个赋值运算符同时出现时,从右向左进行计算。

例如,a = b = c; 会先计算 b = c,然后将结果赋值给 a。

第三章:控制结构1. 问题一:什么是条件语句?举例说明。

- 答案:条件语句是程序中根据条件是否满足来决定执行哪一段代码的结构。

例如,if语句就是典型的条件语句。

2. 问题二:循环语句有哪些?它们各自的特点是什么?- 答案: C语言中有三种循环语句:for循环、while循环和do-while循环。

for循环常用于已知循环次数的情况;while循环适用于循环次数未知,需要在循环体内部判断是否继续循环;do-while循环至少执行一次循环体,然后在循环末尾判断是否继续。

第四章:数组1. 问题一:一维数组和多维数组的区别是什么?- 答案:一维数组是线性的,只有一个索引来访问数组元素;而多维数组可以看作是数组的数组,需要多个索引来定位元素。

C语言程序设计教程第2版 课后答案_人民邮电出版社_宗大华_陈吉人_百度

C语言程序设计教程第2版 课后答案_人民邮电出版社_宗大华_陈吉人_百度

本文由airalex1982贡献 pdf文档可能在WAP端浏览体验不佳。

建议您优先选择TXT,或下载源文件到本机查看。

《C 语言程序设计教程(第 2 版) 》习题解答 第 1 章习题解答 一、填空 1.机器语言即是指计算机本身自带的 指令系统 。

 完成这个翻译工作 2. 将汇编语言编写的程序翻译成机器语言程序的过程称为 汇编 , 的程序称为 汇编程序 。

 3.在C语言程序中,写“\110”和写“\x68” ,分别代表字母 H 和字母 h 。

 4.在用New命令创建新的C源程序时,文件名默认为是 NOMANE.C 。

 5.C语言程序都是从名为 main 的函数它开始执行的。

 二、选择 1.下面给出的命令中, (C)不能保存源程序对应的“.OBJ”文件。

 A.Make EXE File B.Run C.Save D.Compile to OBJ 分析:Compile to OBJ 是文件的编译命令;Make EXE File 是一次完成编译和连接的命 令;在没有编译、连接的前提下,直接使用 Run 命令,就会先完成编译,再进行连接,最 后运行。

所以,这三个命令都会保存由源程序产生出的“.OBJ”文件。

而 Save 命令用于编 辑完源程序后,对源程序的保存,即保存“.C”文件。

因此,本题的答案应该是选择 C。

 2.下面给出的编辑命令中, (B)是用来定义块首标记的。

 A.Ctrl-KK B.Ctrl-KB C.Ctrl-KV D.Ctrl-KH 3.下面给出的编辑命令中, (A)是用来定义块尾标记的。

 A.Ctrl-KK B.Ctrl-KB C.Ctrl-KV D.Ctrl-KH 4.以下的(C)是不正确的转义字符。

 A.’\\’ B.’\’’ C.’\81’ D.’\0’ 5.转义字符\x65 对应的字母是(C) 。

 A.A B.a C.e D.E 三、是非判断(√,×) 1.Turbo C 中,只有命令 New 才能创建新的源程序文件。

C#程序设计教程(第2版)课后习题 完全版

C#程序设计教程(第2版)课后习题 完全版

C#复习较完全版第一章.Net与C#一、选择题1.CLR是一种运行环境2.C#语言源代码文件的后缀名为CS3.构建桌面应用程序需要.NET提供的类库是Windows Form4.与C++等语言相比,C#中增加的一个类成员访问修饰符是internal5.C#中导入某一命名空间的关键字using6.C#中程序的入口方法名是Main……二、简答题1.简述C#、CLR和.NET之间的关系答:.NET是一个运行时平台,CLR是.NET框架的底层。

C#是.NET的核心开发语言2.简述C#语言的主要特性答:简单性(无指针);现代性(异常处理跨语言);面向对象(封装,继承和多态);类型安全性;版本处理技术;兼容性;灵活性3.什么是.NET框架?简述.NET框架的结构P3 图1-14.简述.NET应用程序的编译过程。

答:各种.NET应用程序,通过被编译成中间语言(IL),经过JIT(Just In Time)编译器再次将IL编译形成机器码。

5.常用的命令按钮、标签、文本框等控件在哪个工具箱中?答:“所有Windows窗体”。

6.C#可以开发哪些类型的应用程序?……7.简述控制台方式和Windows应用程序方式调试程序的优缺点,各自适合的场合答:一般来说控制台方式用于在dos状态下打印输出程序结果的,优点是程序执行效率较高,而windows应用程序一般用于开发窗体应用程序或者系统的,优点是功能比较强大,代码执行效率相对来说较慢。

第二章 C#编程基础一、选择题1.C#中的值类型包括三种,它们是简单类型、枚举类型、结构类型。

(C)2.枚举类型是一组命名的常量集合,所有整型都可以作为枚举类型的基本类型,如果类型省略,则约定为int 。

(C)3.C#的引用类型包括类、接口、数组、委托、object和string。

其中object(是所有值类型和引用类型的)根类。

(D)4.浮点常量有三种格式,0.618034,0.618034D,6.1834E-1浮点常数都属于double类型。

C语言程序设计课后习题答案

C语言程序设计课后习题答案

C语言程序设计(第2版)课后习题答案第一章1.请参照本章例题,编写一个C程序,输出以下信息:**************************V ery good!**************************解:#include<stdio.h>void main(){printf(“**************************”);printf(“\n”);printf(“V ery good!\n”);printf(“\n”);printf(“**************************”);}2.编写一个C程序,输入a、b、c三个值,输出其中最大值。

解:#include<stdio.h>void main(){int a,b,c,max;printf(“请输入三个数a,b,c:\n”);scanf(“%d,%d,%d”,&a,&b,&c);max=a;if(max<b) max=b;if(max<c) max=c;printf(“最大数为: %d”,max);}第二章1.假如我国国民生产总值的年增长率为10%,计算10年后我国国民生产总值与现在相比增长多少百分比。

计算公式为P=(1+r)^n,r为年增长率;n为年数;P为与现在相比的百分比。

解:#include<stdio.h>#include<math.h>void main(){double P, r=0.1, n=10;P=pow((1+r), n);printf(“%lf\n”, P);}3.请编程序将“China”译成密码,译码规律是用原来字母后面的第4个字母代替原来的字母。

例如,字母“A”后面第4个字母是“E”,“E”代替“A”。

因此,“China”应译为“Glmre”。

请编一程序,用赋初值的方法使cl、c2、c3、c4、c5五个变量的值分别为‟C‟、‟h‟、‟i‟、‟n‟、‟a‟,经过运算,使c1、c2、c3、c4、c5分别变为‟G‟、‟l‟、‟m‟、‟r‟、‟e‟,并输出。

C语言程序设计第2版课后习题答案(贾宗璞 许合利人民邮电-第2版)

C语言程序设计第2版课后习题答案(贾宗璞 许合利人民邮电-第2版)

C语言习题答案第1章1.选择题(1) C (2) B (3) A2.填空题(1)main (2) main (3) 有穷性、确定性、有零个或多个输入、有一个或多个输出、有效性(4) 顺序、分支和循环(5) 自顶向下,逐步细化、模块化设计、结构化编码第2章1.选择题12 345 6 7 890 1234 5ACCDA D C ABA BBDDB2、填空题(1) 数字、字母、下划线(2)0 (3) 4、8 (4) (a+b)*c/(a-b) (5) -60 (6)-16 (7)9 (8)6、4、2 (9)0 (10)10、6 (11)5.500000 (12)12、4 (13)0 (14)16 (15)6.63、编程题(1)编写一个程序求各种类型数据的存储长度。

#include <stdio.h>main(){printf("int:%d byte\n",sizeof(int));printf("short int:%d byte\n",sizeof(short int));printf("long int:%d byte\n",sizeof(long int));printf("float:%d byte\n",sizeof(float));printf("double:%d byte\n",sizeof(double));printf("long double:%d byte\n",sizeof(long double));printf("char:%d byte\n",sizeof(char));}(2)#include <stdio.h>#define RAT 1.60934main(){float k;printf("input the km:");scanf("%f",&k);printf("mile:%f\n",k/RAT);}第3章1.选择题12 345 67 890(1) ~(10):DDCDD DCDCC2.解析题(1) x=170,x=ㄩㄩㄩ170,x=ㄩㄩㄩ252,x=ㄩㄩㄩㄩaa,x=ㄩㄩㄩ170x=170,x=170ㄩㄩㄩ,x=ㄩㄩㄩ170,x=%6da=513.789185,a=ㄩㄩ513.79,a=513.78918457,a=513.78918457 (2) a=3ㄩb=7x=8.5ㄩy=71.82c1=Aㄩc2=a3.编程题(1)main(){int x,y;scanf("%d%d",&x,&y);printf("商数=%d,余数=%d",x/y,x%y);}(2)main(){double x,y,z,avg;scanf("%lf%lf%lf",&x,&y,&z);avg=(x+y+z)/3;printf("%.1f",avg);}第4章1.选择题(1)~(10)CCAAD CCABD2.填空题(1)①a>0&&b>0||a>0&&c>0||b>0&&c>0②a<b||a<c③a>5||-a>5④(a<=0)&&((int)a)!=a⑤(a%b)!=0(2)①!(x>0) ②1 ③!(x>=0&&x<=5)(3)3、2、2(4) ch>='A'&&ch<='Z' ch=ch-32(5) x<=10&&x>2 x<=2&&x>-1 y=-1 ;(6) a+b>c&&a+c>b&&b+c>a a==b&&a==c a==b||a==c||b==c(7) x<0 c=x/10 y!=-23.编程题(1)#include <stdio.h>main(){int x;printf("please input a number:");scanf("%d",&x);if(x%2==0) printf("x is a even number");else printf("x is a odd number");}(2)#include <stdio.h>main(){int x,y;printf("please input a number:");scanf("%d",&x);if(x>-5 && x<0) { y=x; printf("%d",y); }else if(x==0) { y=x-1; printf("%d",y); }else if(x>0 && x<10) { y=x+1; printf("%d",y); }else printf("the number is error");}(3)#include <stdio.h>main(){ int a,m;printf("please input a number:");scanf("%d",&a);switch(a/10){ case 0:case 1:case 2:m=1;break;case 3:m=2;break;case 4:m=3;break;case 5:m=4;break;default:m=5;break;}printf("%d",m);}(4)#include <stdio.h>main(){float price,tax;printf("please input the price of product:");scanf("%f",&price);if(price>=10000) tax=price*0.05;else if(price>=5000) tax=price*0.03;else if(price>=1000) tax=price*0.02;else tax=0;printf("%f",tax);}(5)#include <stdio.h>main(){float score;printf("please input the score of student:");scanf("%f",&score);if(score>=85) printf("VERY GOOD");else if(score>=60) printf("GOOD");else printf("BAD");}(6)#include <stdio.h>main (){int x,y,z;printf("input two number:");scanf("%d%d",&x,&y);if(x<10 || x>99 || y<10 || y>99)printf("input data error!\n");else{ z=(x/10)*1000+(y/10)*100+(x%10)*10+y%10;printf("%d\n",z);}}第5章1.选择题(1)d (2) c (3)a (4)d (5)a (6)d (7)d (8)b (9)d (10)b (11)c (12)a(13)d (14)d(15)c2.填空题(1) fahr celsius=5.0/9*(fahr-32) fahr+=step (2) 5、4、6 (3) 3*i-2 (4) y-- z*=x (5) 8ㄩ5ㄩ2 (6) j++ i%j==0 j>=i(或j==i) (7)sum<k sum==k j-2 (8) s=0 p=1 j<=i3.改错题(1) 第一处改正:For改为for第二处改正:for(k=1;k<=4;k++)或for(k=0;k<4;k++)第三处改正:ave=sum/4改为ave=sum/4.0(2) 第一处改正:j<=9第二处改正:m=100*i+10*j+k(3) 第一处改正:temp=1第二处改正:temp >=eps第三处改正:r*2(4) 第一处改正:&n第二处改正:== ==(5) 第一处改正:t=m/10改为t=m%10第二处改正:t=0改为t==0第三处改正:m=m%10改为m=/104.编程题(1) 分式累加和。

第5章-C语言程序设计(第2版)教材习题答案

第5章-C语言程序设计(第2版)教材习题答案

【教材】《C语言程序设计(第2版)》清华大学出版社,黄保和,江弋编著。

2011年10月第二版。

ISBN:978-7-302-26972-4。

售价:35元。

【答案版本】本习题答案为2012年2月修订版本。

一、选择题1. 设有程序段”int k=10; while(k=0) k=k-1;”,则下面叙述正确的是D)循环体语句一次也不执行。

A. while循环执行10次B. 循环是无限循环C. 循环体语句执行一次D. 循环体语句一次也不执行2. 设有程序段”int x=0,s=0;while(!x!=0) s+=++x; printf(“%d”,s);”则A)运行程序段后输出1。

A. 运行程序段后输出1B. 程序段执行无限次C. 运行程序段后输出0D. 程序段中的控制表达式是非法的3. 下面循环语句中,错误的是D) int a=1,b=2;do b-- while(b= =0);。

A. int a=1,b=2; while(b--);B. int a=1,b=2; do a++; while(a==b);C. int a=1,b=2; while(a=3);D. int a=1,b=2; do b-- while(b==0);4. 已知”int i=5;”,下列do…while循环语句的循环次数为C) 5。

do{ printf(“%d\n”,i--); } while(i!=0);A. 0B. 1C. 5D. 无限5. 循环语句”for(int i=0,j=10; i==j; i++,j--)”的循环次数是A) 0。

A. 0B. 5C. 10D. 无限6. 下述有关break语句的描述中,不正确的是C) break语句用于if语句的内嵌语句内,它结束该if语句。

A. break语句用于循环体内,它将结束该循环B. break语句用于开关语句,它结束该开关语句C. break语句用于if语句的内嵌语句内,它结束该if语句D. break语句在一个循环体内可使用多次7. 下面关于循环语句的描述中,错误的是B)循环体内必须同时出现break语句和continue 语句。

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语言程序设计教程(第2版)课后题及模拟题参考答案

c语⾔程序设计教程(第2版)课后题及模拟题参考答案c语⾔程序设计教程(第2版)课后题及模拟题参考答案习题1 (4)1-1 填空题 (4)1-2 思考题 (4)1-3 编程题 (5)习题2 (6)2-1 单选题 (6)2-2 思考题 (6)习题3 (7)3-1 选择题 (7)3-2 填空题 (7)3-3 编程题 (8)习题4 (11)4-1单选题 (11)4-2填空题 (11)4-3 编程题 (11)习题5 (16)5-1单选题 (16)5-2填空题 (16)5-3 编程题 (16)习题6 (22)6-1单选题 (22)6-2填空题 (22)习题7 (25)7-1单选题 (25)7-2填空题 (25)7-3 编程题 (25)习题8 (26)8-1单选题 (26)8-2填空题 (26)8-3 编程题 (26)习题9 (30)9-1单选题 (30)9-2填空题 (30)9-3 编程题 (30)习题10 (38)10-1单选题 (38)10-2填空题 (38)10-3 编程题 (38)习题11 (41)11-1单选题 (41)11-2填空题 (41)习题12 (42)12-1单选题 (42)12-2 填空题 (42)实验1 熟悉Visual C++6.0可视化集成开发环境 (43)实验2 顺序结构程序设计 (43)实验3 选择结构程序设计 (43)实验4 循环结构程序设计 (44)实验5 函数 (47)实验6 数组 (54)实验7 指针 (58)实验8 结构体和共⽤体 (61)实验9 ⽂件 (63)实验10 综合编程 (64)模拟试卷(⼀)参考答案 (65)模拟试卷(⼆)参考答案 (67)习题11-1 填空题1. 函数2. 主函数main(),主函数main()3. 主函数main()4. 函数⾸部,函数体5. {, }6. /*, */7. 顺序结构,选择结构,循环结构8. .c, .obj, .exe1-2 思考题1. 结构化程序设计是指:为使程序具有⼀个合理的结构以保证程序正确性⽽规定的⼀套如何进⾏程序设计的原则。

C语言程序设计(第2版)-- 课后题答案.

C语言程序设计(第2版)-- 课后题答案.

《C语言程序设计能力教程(第二版)》课后作业及实训题参考答案第1章进入C语言程序世界二、1. I love China!printf("we are students.\n")2. 6项目实训题参考答案1.编写一个C程序,输出以下信息:* * * * * * * * * * * * * * * * * * * *I am a student!* * * * * * * * * * * * * * * * * * * *main(){ printf("********************\n");printf(" I am a student!\n ");printf("********************\n");}2.已知立方体的长、宽、高分别是10cm、20cm、15cm,编写程序,求立方体体积。

解:main(){int a,b,c,v;a=10;b=20;c=15;v=a*b*c;printf("v=%d",v);}本程序运行结果为:v=3000第2章编制C程序的基础知识一选择题C B A B A C C二操作题,2,-8,23.000000,2.500000,-8.0000002. ABC DEFGHwhy is 21+35 equal 523.3 14 32 31 24. aa bb cc abcA N项目实训题1.定义一个符号常量M为5和一个变量n值为2,把它们的乘积输出。

#define M 5main(){ int n,c;n=2; c=M*n;printf("%d\n",c); }2.编程求下面算术表达式的值。

(1)x+a%3*(int)(x+y)%2/4,设x=2.5,a=7,y=4.7;(2)(float)(a+b)/2+(int)x%(int)y,设a=2,b=3,x=3.5,y=2.5。

C语言程序设计实例教程第2版习题答案作者李红第2章C语言基础知识.doc

C语言程序设计实例教程第2版习题答案作者李红第2章C语言基础知识.doc
(A)12(B)144(C)0(D)132
13.设整型变量i,j值均为4,则下列语句冃++,j++, ++i执行后,i, j的值分别是(B
(A)3, 3(B)6, 5(C)4, 5(D)6, 6
14.设有inti; chare; float f;以卜■结果为整型的表达式是(B)。
(A) i+f(B) i*c
表达式a=5*3, a*9的值是(15),表达式
10.0)。
表达式5%(-3)的值是(2),表达式-5% 3的值是(
设a为int型变聚,则运算表达式a=36/5%3后,a的值为(
而字符串常量使用一对
% ),
5.8一5/2
最低是(
+2.2
三种字符
*_
定义单
双引
)0
的值是
10.设x=5.6,y=4.6,b=12;则表达式x+
11.设
1x和y中有一个小于z(
2y是偶数(y%2=0
-2
1
b%4*(int)(x + y)%3/5的值为(
)o
)o
5.6
)o
x, y, z均为int型变量,请用C语言描述下列命题:
(x<z)11(y<z))
)
③ 三个数中有两个为非负数((xvO&&yvO&&z>0)11(z<0&&yv0&&x>0)||
17.为表示“a和b都不等于0”,应使用的C语言表达式是(
(A) (a!=0)11(b!=0)
)o
D)o
)o
18.执行下列程序段时输出结果是

C语言程序设计(第二版)答案

C语言程序设计(第二版)答案

参考答案习题二(P33)一.单选题1.C2.B3.D4.C5.A6.D7.D8.B9.B 10.D 11.D 12.C 13.C . 15. A 14题最后一句应为printf("%f\n",d*y);结果为2.2二.填空题1. 182. int float double3. 10 114. 八十六十5. %三.阅读程序题1.10,10,9,102.j=1,i=2k=3,i=3j=3,i=2k=1,i=1习题三(P52)一.单选题1.D2.C3.D4.B5.A6.B7.C8.A9.C 10.B 11. -1,37777777777,4294967295 二.填空题5. L6. -1三.阅读程序题1. 6 6 6.00 6.002. x=127,x= 127,x=177,x=7fY=123.4567 , y= 123.46 , y=123.456703. 2,14. 12345. 4,36. -6,-6四.程序设计题1.#include "stdio.h"#include "math.h"main(){float a,b,c,d,x1,x2;a=2;b=-3;c=-5;d=b*b-4*a*c;x1=(-b+sqrt(d))/(2*a);x2=(-b-sqrt(d))/(2*a);printf("x1=%.2f,x2=%.2f\n",x1,x2);}2.#include <stdio.h>main(){ float a,v,s;scanf("%f",&a);v=a*a*a;s=6*a*a;printf("v=%.2f,s=%.2f\n",v,s);}3.#include <stdio.h>main(){ int a,b,c,t;scanf("%d%d%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);t=c;c=b;b=a;a=t;printf("a=%d,b=%d,c=%d\n",a,b,c);}4.#include <stdio.h>main(){ char s1,s2;s1=getchar();s2=s1-32;printf("%c\n",s2);}习题四(P70)一.单选题1.C2.D3.D4.B5.A6.D7.D8.B9.C 10.A 11.B 12.D 13.passwarnerror .14.C 15. C 16.B 17. B 18. C二.填空题1. 非0 02. k==03. n%7==0 && n%8==0 else三.阅读程序题1. a=1,b=02. c=1四.程序设计题1.#include <stdio.h>main(){ int a,b;char c;printf("INPUT A+(-*/)B\n");scanf("%d%c%d",&a,&c,&b);switch(c){case'+':printf("%d+%d=%d\n",a,b,a+b);break;case'-':printf("%d-%d=%d\n",a,b,a-b);break;case'*':printf("%d*%d=%d\n",a,b,a*b);break;case'/':printf("%d/%d=%d\n",a,b,a/b);break;default:printf("INPUT ERROR!");}}2.#include <stdio.h>main(){ float x,y;scanf("%f",&x);if(x==0||x==2)y=0;else if(x>0) y=(x+1)/(x-2);else y=(x-1)/(x-2);printf("y=%f\n",y);}3.#include <stdio.h>main(){ int g;printf("请输入学生成绩:");scanf("%d",&g);printf("g=%d:",g);switch(g/10){case 10:printf("A\n");break;case 9:printf("B\n");break;case 8:printf("C\n");break;case 7:printf("D\n");break;case 6:printf("E\n");break;default:printf("F\n");}}4.#include <stdio.h>main(){ int x,n=0;scanf("%d",&x);if(x<=0||x>=10000)printf("Data Error!\n");else{if(x<10)n=1;else if(x<100)n=2;else if(x<1000)n=3;else n=4;}printf("n=%d\n",n);}习题五(P87)一.单选题1.B2.D3.C4.C5.B6.C7.D8.C9.A 10.D 11.B 12.B 13.B 14.D 15. C 二.填空题1. for语句while语句do-while语句2. a=14,y=263. k=14,n= -14. 395. s=196. 222227. 108. 79. 810. 5,5三.改错题应改为for(i=0;i<5;i++)j++;应改为int j=0;while(j<10){j++;i=j;} 注while(j<10)后不应有分号应改为while(j<10); 注while(j<10)后分号不能少s*=i;i++;应改为{s*=i;i++;}continue 应改为break四.程序设计题1.#include <stdio.h>main(){ int i,j,s=0;for(i=1,j=1;i<=100;i++,j=j*(-1))s=s+i*j;printf("s=%d\n",s);}1.(另一做法)#include<stdio.h>main(){int i,s;for(i=1,s=0;i<=100;i++)if(i%2==0)s=s-i;else s=s+i;printf ("%d\n",s);}2.#include <stdio.h>main(){ int i,j,s1=0,s2=0;for(i=0;i<10;i++){scanf("%d",&j);if(j>0)s1=s1+j;else s2=s2+j;}printf("s1=%d,s2=%d\n",s1,s2);}3.#include<stdio.h>main(){int i,s;for(i=6,s=0;i<=96;i=i+1)if(i%10==6||i/10==6)s=s+i;printf ("%d\n",s);}4.#include<stdio.h>main(){int i,a,b,c;for(i=100;i<=999;i++){a=(i%10);b=(i/10%10);c=(i/100);if(i==a*a*a+b*b*b+c*c*c)printf ("%d\n",i);}}5.#include <stdio.h>main( ){int i,j,k=0;for (i=1;i<=4;i++){for (j=1;j<=i;j++){k++;printf("%d",k%10);}printf("\n");}}6.#include <stdio.h>main( ){int i,j,k=0;for (i=-3;i<=3;i++){if(i<0)k=-i;else k=i;for(j=1;j<=k;j++)printf(" ");for(j=1;j<=7-2*k;j++)printf("*");printf("\n");}}习题六(P111)一.单选题1.D2.B3.C4.C5.C6.D7.A8.B二.填空题1. 20 0 192. 数组名3. 越界4. 65. j==k a[j][k]=1; a[j][k]=0;三.阅读程序题1. 6 5 43 2 12.aaabbbccc ddd3.2,2,1四.程序设计题1.#include<stdio.h>main(){ int a[4][4]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16}; int i,j,s=0;for(i=0;i<4;i++)for(j=0;j<4;j++)if(i==j||i+j==3)s+=a[i][j];printf("%d",s);}2.#include <stdio.h>{ char a[80];int i,j=5; /*假设删除位置为5*/gets(a);for(i=j-1;a[i]!='\0';i++)a[i]=a[i+1];a[i]='\0';puts(a);}3.#include <stdio.h>#include <string.h>main(){ char a[80];int i,j=5; /*假设插入位置为5*/char s='t'; /*假设插入字符为t*/gets(a);for(i=strlen(a);i>j;i--)a[i+1]=a[i];a[j]='t';puts(a);}4.#include<stdio.h>main(){ int a[3][5]={1,3,5,7,9,2,4,6,8,10,3,5,8,7,6}; int i,j,s1[3]={0},s2[5]={0};for(i=0;i<3;i++)for(j=0;j<5;j++)s1[i]+=a[i][ j];for(i=0;i<5;i++)for(j=0;j<3;j++)s2[i]+=a[ j][i];for(i=0;i<3;i++){for(j=0;j<5;j++)printf("%6d",a[i][j]);printf (" |%6d\n",s1[i]);}for(i=0;i<33;i++) printf("-");printf("\n");for(i=0;i<5;i++) printf("%6d",s2[i]);printf("\n");}5.#include<stdio.h>{ char s[3][80];int a=0,b=0,c=0,d=0,e=0,i,j;for(i=0;i<3;i++) gets(s[i]);for(i=0;i<3;i++)for(j=0;s[i][j]!='\0';j++)if(s[i][j]>='A'&&s[i][j]<='Z')a++;else if(s[i][j]>='a'&&s[i][j]<='z')b++;else if(s[i][j]>='0'&&s[i][j]<='9')c++;else if(s[i][j]==32)d++;else e++;printf("%3d%3d%3d%3d%3d",a,b,c,d,e);}习题七(P145)一.单选题1.A2.B3.C4.A5.C6.D7.C8.B9.B 10.C 11.D 二.填空题1. 该函数内局部2. 整型3. k<=breturn y;4. x[i]return (ave);fun(a,20)5. 1;add(n-1);add(n);6. n*f(n-1)0;f(i)三.阅读程序,写出运行结果1.10,20,302.643.84. hlo5. sum=55四.程序设计题1.#include <stdio.h>main(){float add(float, float), sub(float, float);float aver(float, float),a,b;scanf("%f,%f",&a,&b);printf("add=%f, sub=%f\n ", add(a,b), sub(a,b)); printf("aver =%f", aver(a,b));}float add(float x, float y) {return(x+y);}float sub(float x, float y) {return(x-y);}float aver(float x, float y) {return((x+y)/2);} 2.#include<stdio.h>main(){ int a,b,c,abmax(int,int);scanf("%d%d%d",&a,&b,&c);printf("max=%d\n",abmax(abmax(a,b),c)); }int abmax(int a,int b){if(a>b)return a;else return b;}3.#include <stdio.h>main(){float x,fun(float, int);int n;scanf("%f%d",&x,&n);printf("%f\n", fun(x,n));}float fun(float x, int n){float y;if(n==0)y=1;else y=x*fun(x,n-1);return y;}4.#include <stdio.h>main(){long f(int);int n,k;scanf("%d",&n);for(k=1;k<=n;k++)printf("%ld,",f(k));printf("\n");}long f(int n){long y;if(n<=2)y=1;else y=f(n-1)+f(n-2); return y;}5.#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k,s;for(k=0;k<n/2;k++) {s=a[k];a[k]=a[n-k-1];a[n-k-1]=s;}}5. (另一做法)#include <stdio.h>#include <string.h> main(){char a[50];int n;void fun(char x[ ],int n); gets(a);n=strlen(a); fun(a,n);puts(a);}void fun(char a[ ],int n) {int k;char b[50];for(k=0;k<n;k++)b[n-1-k]=a[k];b[k]=a[k];strcpy(a,b);}6.#include <stdio.h>#define KK 100main(){char a[KK];long sjz(char a[]);int i=0,f1=0;printf("input a data:");gets(a);for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9'||a[i]>='A'&&a[i]<='F'||a[i]>='a'&&a[i]<='f') continue;else {f1=1;break;}}a[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(a));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}6.(另一做法)#include <stdio.h>#define KK 100main(){char str[KK],c;long sjz(char a[]);int i=0,f1=0;printf("input a data:");while((c=getchar())!='\n'&&i<KK){if(c>='0'&&c<='9'||c>='A'&&c<='F'||c>='a'&&c<='f')str[i++]=c;else f1=1;}str[i]='\0';if(f1==1)printf("Data Error!\n");else printf("result is :%d\n",sjz(str));}long sjz(char a[]){long n=0,i;;for(i=0;a[i]!='\0';i++){if(a[i]>='0'&&a[i]<='9')n=n*16+a[i]-'0';if(a[i]>='A'&&a[i]<='F')n=n*16+a[i]-'A'+10;if(a[i]>='a'&&a[i]<='f')n=n*16+a[i]-'a'+10;}return n;}习题八(P181) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.C4.D5.C6.B7.C8.C9.C 13.D 14.B 15.A 16.C 17.A 二.填空题1. 指向取地址2. 2 +23. 286. *(p+5)7. ABCD A三.阅读程序题1.102.103.04. 3,65. 1 2 3 4四.程序填空题1.a,b,c或者&x,&y,&z max=*b或者max=y max=*c或者max=z2. ++ =*q ++ ++4. int *a,int *b b[j]=a[i] b[i++]5. *str+=3 *str>’z’&&*str<’a’||*str>’z’ a6. else 0 t[2*j+1]五.程序设计题1.#include <stdio.h>main(){int a[10],*p,*q,t;p=a;for(q=a;q<a+10;q++)scanf("%d",q);for(q=a;q<a+10;q++)printf("%5d",*q);printf("\n");q--;for(;p<q;p++,q--){t=*p;*p=*q;*q=t;}for(p=a;p<a+10;p++)printf("%5d",*p);printf("\n");}2.#include <stdio.h>#include <string.h>void main( ){ char a[50],*p1,*p2,t,n;gets(a);n=strlen(a);p1=a; p2=a+n-1;for(; p1<p2; p1++, p2--){t=*p1; *p1=*p2; *p2=t;}puts(a);}另一做法#include <stdio.h>main(){char str[20],*p=str;gets(str);while(*p)p++;p--;while(p>=str){printf("%c",*p);p--;}printf("\n");}3.#include <stdio.h>main(){int a[10],*p,*max,*min,t;for(p=a;p<a+10;p++)scanf("%d",p); for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");max=min=a;for(p=a+1;p<a+10;p++){if(*p>*max)max=p;if(*p<*min)min=p;}t=a[0];a[0]=*min;*min=t;t=a[9];a[9]=*max;*max=t;for(p=a;p<a+10;p++)printf("%5d",*p); printf("\n");}5.#include <stdio.h>int length(char *s){int n=0;while(*s){n++;s++;}return n;}main(){char str[20];int n;gets(str);n=length(str);printf("The string length is %d\n",n);}6.#include <stdio.h>main(){char str[81],*p=str,*q,t;gets(str);printf("The origenal string:\n");puts(str);for(p=str;*(p+1);p++)for(q=p+1;*q;q++)if(*q<*p){t=*p;*p=*q;*q=t;}printf("The result string:\n");puts(str);}习题九(P222) (注:无答案的题不在本课程讲授范围内)一.单选题1.D2.A3.B4.D 8.B 9.B 10.C二.填空题1. 结构体成员结构体指针指向2. 343. 224.ex三.阅读程序题1.92.10,x3.134. 46 40 415. 06. 3839。

《C语言程序设计(第2版)》课后习题参考答案prt

《C语言程序设计(第2版)》课后习题参考答案prt

《C语言程序设计》(邱晓红主编)课后习题参考答案第1章C语言及程序设计概述1.单选题(1)A (2)B (3)A (4)B (5)C2.填空题(1)//,/*…*/(2)scanf()(3)printf()3.判断题(1)对(2)错(3)错(4)对1.4简答题①概述C语言和C语言程序的主要特点。

答:1.C语言是高级语言。

它把高级语言的基本结构和语句与低级语言的实用性结合起来。

2。

C语言是结构式语言。

结构式语言的显著特点是代码及数据的分隔化,即程序的各个部分除了必要的信息交流外彼此独立。

这种结构化方式可使程序层次清晰,便于使用、维护以及调试。

①C语言功能齐全。

具有各种各样的数据类型,并引入了指针概念,可使程序效率更高。

②C语言适用范围大。

适合于多种操作系统,如Windows、DOS、UNIX、LINUX等等;也适用于多种机型。

②请编程,在计算机屏幕上显示:“您好,欢迎进入C语言世界!”解:#include<stdio.h>void main(){printf("您好,欢迎进入c预言世界!");}第二章:数据类型运算符与表达式1.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A (10)B(11)C (12)C (13)D (14)A (15)B (16)C (17)A (18)A (19)B (20)C (21)C (22)D (23)C (24)A (25)D (26)B (27)C (28)B (29)B (30)A 2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6 (4)3 3(5)6 (6)36(7)int x=8,y=8; (8)1(9)E (10)7,9,6,8)(11)6 (12)66,96(13)240 (14)1,1,-1,-1(15)5,2,6 (16)1(17)!(18)2(19)(a>0&&a<101)&&(a%3==0||a%7==0)(20)A3.程序分析题(1)2 7 (VC++环境下,其它编译环境可能有不一样的结果)2 74 94 412 12(2)3 1 4 01 -616(3)100 d 68 D97 a 49 1(4)0 1 0 1(5)2 4 6 7-0.5800000 7.00000046.5800007.500000(6)33 12 113 13 082 32(7)618 30181(8)1 1 0 04.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d复合赋值左边不能是表达式5、(1)#include <stdio.h>int main(){int H;float v,L1,L2,L,T,s1,M;printf("请输入开始里程数,单位为千米:\n");scanf("%f",&L1);printf("请输入结束里程数,单位为千米:\n");scanf("%f",&L2);printf("请输入时间,格式为时,分,秒\n");scanf("%d,%f,%f",&H,&M,&s1);T=H+M/60.0+s1/3600.0;//将时间折算成小时;L=L2-L1;//计算出这段时间走的路程,以千米计;v=L/T;printf("%f\n",v);return 0;}(2)#include <stdio.h>#define PI 3.14int main(){double r=2.5,h=5,V;V=(PI*r*r*h)/3;printf("%f\n",V);return 0;}第三章:算法概念与顺序结构程序设计1.选择题(1)D (2)D (3)D (4)B (5)C (6)A (在16位机答案为D)(7)B (8)C (9)B (10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.000000(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)i=65535,j=65536(10)1234,123.5,12345.53.4 编程题①编写一个程序,交换两个数的值。

《程序设计教程用C语言编程(第二版)》课后答案

《程序设计教程用C语言编程(第二版)》课后答案

程序设计教程--用C++语言编程(第二版习题解答)目录第1章概述 (2)第2章基本数据类型和表达式 (5)第3章程序的流程控制――语句 (7)第4章过程抽象――函数 (16)第5章构造数据类型 (22)第6章数据抽象――类 (37)第7章操作符重载 (53)第8章继承――派生类 (77)第9章类属(泛型)机制――模板 (87)第10章输入/输出(I/O) (93)第11章异常处理 (101)第12章实例--面向对象的Windows应用程序框架 (102)第1章概述1、简述冯•诺依曼计算机的工作模型。

答:冯•诺依曼计算机的工作模型是:待执行的程序从外存装入到内存中,CPU从内存中逐条地取程序中的指令执行;程序执行中所需要的数据从内存或从外设中获得,程序执行中产生的中间结果保存在内存中,程序的执行结果通过外设输出。

2、简述寄存器、内存以及外存的区别。

答:寄存器主要用于记录下一条指令的内存地址、当前指令的执行状态以及暂时保存指令的计算结果供下一(几)条指令使用,其作用主要是减少访问内存的次数,提高指令的执行效率。

内存用于存储计算机程序(指令和数据),内存由许多存储单元构成,每个存储单元都有一个地址,对存储单元的访问是通过其地址来进行的,与寄存器相比,内存的容量要大得多,但指令访问内存单元所花费的时间比访问寄存器要多得多。

外存是大容量的低速存储部件,用于永久性地存储程序、数据以及各种文档等信息,存储在外存中的信息通常以文件形式进行组织和访问,外存储了在容量和速度上与内存不同,另一个区别在于内存中存储的是正在运行的程序和正在使用的数据,外存中存储的则是大量的、并非正在使用的程序和数据。

3、CPU能执行哪些指令?答:CPU所能执行的指令通常有:算术指令:实现加、减、乘、除等运算。

比较指令:比较两个操作数的大小。

数据传输指令:实现CPU的寄存器、内存以及外设之间的数据传输。

执行流程控制指令:用于确定下一条指令的内存地址,包括转移、循环以及子程序调用/返回等指令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第一章一种新的C语言学习方式1.一台能够工作的计算机包括?CPU (Central Processing Unit,中央处理单元,进行运算和控制,包括运算器和控制器等)、存储器(如RAM、ROM等)、输入设备、输出设备(包括串行/并行接口、USB等)。

其中,RAM (RandomAccess Memory,随机存储器)主要用于存储数据,ROM (RcadOnlyMemory, 只读存储器)主要用于存储程序。

2.单片机工作时需要什么?需要稳定的电源、晶振、外部存储器和编程调试接口,就像计算机工作时需要电源、晶振、硬盘或其他大容量外部存储器和操作系统一样。

微控制器是将单片机独立工作所需的电源适配器、晶振、外部存储器和串口转换电路等封装到一个模块上,这样就能直接与计算机连接并进行编程开发,不需任何其他芯片和电路。

3. AT89S52是一种什么样的单片机?是一种高性能、低功耗的8位单片机,内含8 KBISPdn-System Programmable系统在线编程)可反复擦写IOOO次的Flash只读程存器,采用ATMEL公司的高密度非易失性存储技术制造,兼容标准MCS51指令系统及其引脚结构。

在实际工程应用中,功能强大的AT89S52 已成为许多高性价比嵌入式控制应用系统的解决方案。

4. Progisp是一款什么样的软件?是一款免费下载的ISP软件,不需要专门的安装即可使用,非常方便。

使用该软件,读者可以将C语言程序生成的可执行文件下载到机器人单片机上。

使用时需要1根USBA转B 信号线。

5.简述串口调试工具的特点。

串口调试工具就是串行通信接口调试软件,集数据发送、数据接收、数据监控、数据分析等功能于一身,具有小巧精致、操作简捷、功能强大的特点,可以在串口通信监控、设备通信测试工作中有效提高效率。

6. pr i ntf ()函数称为?称为格式输出函数,其功能是按用户指定的格式,把指定的数据输出显示。

Print ()函数是C语言提供的标准输出函数,定义在C语言的标准函数库中,要使用它,必须包括定义标准函数库的头文件stdio. h o第二章最简单的C程序设计——机器人做算数1. C语言用什么整型变量?C语言用关键字imt定义整型变量。

int是英文单integer (整数)的前三个字母。

2.在程序执行过程中,其值可改变的量称为?变量。

它们与数据类型结合起来分类,可以分为整型变量、浮点变量、字符变量等。

在程序中,变量必须先定义后使用。

一个变量应该有一个名字(标志符),在计算机(这里是单片机)内存中占据一定的存储单元,在该存储单元中存放变量的值。

3.简述在C语言中,标志符的作用。

标志符是对变量、函数名和其他各种用户定义对象的命名。

标志符的长度可以是一个或多个字符。

在绝大多数情况下,标志符的第一个字符必须是字母或下画线,随后的字符必须是字母、数字或下画线(某些C语言编译器可能不允许下画线作为标志符的起始字符)。

4.日常表示数据的一种方法是?十进制是我们日常表示数据的一种方法,所有的数据都由10个数字组成,即由0~9组成。

但是计算机为了方便存储数据,表示数据的原理同人类有些差别,主要采用二进制和十六进制存储和表示数据。

关于二进制、十六进制数据的表示方法,以及它们与十进制数据之间的相互转换。

5.有I ong修饰符就有ShOrt (短型)修饰符,因此相应的就有哪些整型变量?1.基本整型,以int表示。

2.短整型,以Shortint表示,或以ShOrt表示。

3.长整型,以IOng int表示,或以Iong表示。

第三章循环程序设计——让机器人动起来1.实际搭建电路时应注意?确认发光二极管的短针脚(阴极)插入面包板,通过电阻与PlO相连。

确认发光二极管的长针脚(阳极)插入“+5V”插口,这里+5V就是电路图上的Vcc o2.修饰符usigned放到nt前面,指定后面的变量为?为无符号数。

如果加上修饰符signed,则指定是“有符号数”。

如果既不指定signed, 也不指定为unsigned,则隐含为有符号(Signed)。

实际上,signed是可以省略的。

3.调用Printf是为了?为了在程序执行前给调试终端发送一条提示信息,说明现在程序开始执行了,以及程序随后将开始干什么。

在编程开发过程中,我们应形成这种良好的习惯,有助于提高程序剖的调试效率。

4.微控制器的最大优点之一是?它们从来不会抱怨不停地重复做同样的事情。

为了让单片机不断闪烁,LED闪烁一次的几个语句需要放在WhiIe{}循环中。

这里用到了 C语言实现循环结构的一种形式WhiIe语句。

5.单片机编程发给伺服电机的高、低电平信号必须具备?必须具备更精确的时间。

因为前面提供的单片机延时函数只能提供毫秒的整数倍延时,不能提供小数倍数的延时,所以要生成伺服电析的控制信号,要求具有比delay nmms ()延时时间更小单位的延时函数,这就需要用到另一个延时函数delay nus (Unsignedintn)。

这个函数可以实现更短的延时,延时单位是微秒(us),即千分之一毫秒,参数n为延时微秒数。

第四章函数——机器人运动控制1.从函数定义的角度来看,函数有哪两种?1.标准函数,即库函数。

由开发系统提供,用户不必自己定义而直接使用,只需在程序前包含有该函数原型的头文件即可在程序中直接调用,如前面已经用到的串口标准输出函数(printf ())和输入函数(sanf ())应该说明,不同的语言编译系统提供的库函数的数量和功能会有一些不同,但许多基本函数是相同的。

2.用户定义函数,以解决专门需要。

不仅要在程序中定义函数本身,在主调函数模块中还必须对该被调函数进行类型说明,然后才能使用。

2.从有无返回值角度来看,函数可以分为哪两种?1.有返回值函数。

函数被调用执行完后将向调用者返回一个执行结果,称为函数返回值。

由用户定义的返回函数值的函数,必须在函数定义中明确返回值的类型。

2.无返回值函数。

此类函数用于完成某项特定的处理任务,执行完成后不向调用者返回函数值。

用户在定义此类函数时可指定它的返回为“空类型”,即“void”。

3.从主调函数和被调函数之间数据传送的角度看,函数可分哪两种?1.无参函数。

函数定义、说明及调用中均不带参数,主调函数和被调函数之间不进行参数传送。

此类函数通常用来完成一组指定的功能,可以返回或不返回函数值。

2.有参函数。

在函数定义及说明时都有参数,称为形式参数(简称形参)。

在函数调用时就必须给出参数的具体值,称为实际参数(简称实参)。

进行函数调用时,主调函数把实参的值传送给形参,供被调函数使用。

4.类型标志符和函数名称为?类型标志符和函数名称为函数头。

类型标志符指明了本函数的类型,函数的类型实阿上是函数返回值的类型。

函数名是由用户定义的标志符,函数名后有一个圆括号(不可省略)。

若函数无参数,则括号内可不写内容或写“void” ;若有参数,则形式参数列表给出各种类型的变量,各参数之间用”分隔。

5. {}中的内容称为?称为函数体。

函数体的声明部分是对函数体内部用到的变量的类型说明。

很多情况下不要求函数有返回值,此时函数类型符可以写为VoiCL1.C语言有几种运算符?C语言有三种运算符:算术运算符、关系与逻辑运算符、位操作运算符。

2.位操作运算符用于?用于对字节或字中的位(bit)进行测试、置位或移位处理,这里的字节或字是针对C语言标准的Char和int数据类型而言的。

位操作符不能用于实型、空类型或其他复杂类型。

3.当机器人进入墙角时,可能会碰到什么样的情况?首先左触须触墙,于是它倒退,右转,再向前行走,这时右触须触墙,于是再倒退,左转,前进,又碰到左墙,再次碰到右墙.......... 此时,机器人就会一直困在墙角里而出不来。

4.伪代码通常用来?用来描述不依赖于计算机语言的算法。

实际上在前面的任务和小结中已经多次提及。

无论哪种计算机语言都必须能够描述人类知识的逻辑结构,而人类知识的逻辑结构是统一的,如条件判断就是人类知识最核心的逻辑之一,因此各种计算机语言都有语法和关键词来实现条件判别。

在编写条件判断算法时,经常用一种描述人类知识结构逻辑的伪代码来描述在计算机中如何实现这些逻辑算法,以使算法具有通用性。

有了伪代码,用具体的语言来实现算法就简单了。

5. “关系运算”实际上是?请举例说明。

是“比较运算” O将两个值按照给定的关系运算符进行比较,看看结果是否符合给定的关系条件。

如果满足,则关系表达式的值为“真”(即条件满足);如果不满足,则称关系表达式的值为“假”。

例如,关系表达式主要用在if语句中。

1.有关IR检测器的趣事是?是它们的输出与触须的输出非常相像。

没有检测到物体时,输出为高电平;检测到物体时,输出为低电平。

2.进行IR探测时要使用?要使用 AT89S52 的 4 个引脚:PL2、PL3、P3_5 和 P3_6。

3. do. .. whi Ie语句的基本特点是?先执行后判断。

因此,循环体至少被执行一次。

4.在C语言中,直到型循环控制语句是?它的一般形式为?在C语言中,直到型循环控制语句是“do... while”。

它的一般形式为:do语句while (表达式);其中,语句通常为复合语句,称为循环体。

5.发送脉冲给电机之前检查障碍物,可以改善?可以大大改善机器人的行走性能。

程序可以使用传感器输入为每个瞬间的导航选择最好的动作。

这样机器人永远不会走过头,它会找到绕开障碍物的完美路线,成功地走过更加复杂的路线。

第七章多分支结构程序设计——机器人循线运动1.简述算法的概念。

完成一项任务的操作步骤。

做任何事情都有一定的步骤,无论是人还是计算机。

程序设计的过程就是根据要完成的任务,确定计算机可以实现的操作步骤的过程。

完成程序设计,就是通过分析任务要求和计算机所能实现的基本操作,设计操作步骤,从而完成任务。

2.作为机器人的3种典型动作的变量。

为什么称为全局变量?因为这些变量定义在所有函数之外,可以为本文件中所有函数公用,无论是主函数还是子函数。

全局变量又称为外部变量或者全程变量,它的有效范围从定义变量的位置开始到本源文件结束。

3.定义3个全局变量并进行初始化赋值,是为了?是为了后续调试程序方便。

机器人在使用过程中,会因为电池电量的消耗而影响运动速度,即使机器人执行的是同一个控制程序,电机收到的是同样的控制指令,但执行结果可能因为电机获得的能量不同而有所差别。

4.在游历的调试过程中,机器人可能存在哪些问题?1.机器人不能正常停下。

2.如果将机器人放到起始点,那么不能正常开始启动,必须将传感器放到黑线上才行。

3.如果传感器一切工作正常,没有意外,那么机器人并不能游览完所有景点:如它不会去武汉,但是会绕着西安不停运动,进入死循环,再也出不来。

相关文档
最新文档