C++程序设计教程答案

合集下载

C语言程序设计教程答案

C语言程序设计教程答案

提示:printf("%s",x>60?"pass":"fail"); 3.17 输入一个年份 y,如果是闰年,输出“y is a leap
year”,否则输出“y is not a leap year.” 提示:printf("%d is
%s",y%4==0&&y%100!=0||y%400==0?"a leap year.":"not a leap year.");
2.6 变量的具有哪三种属性? 二、单项选择题
2.7 C 语言中,int 型数据在内存中的存储形式是 (D)。
A)ASCII 码 B)原码 C)反码 D)补码 2.8 下面四个选项中,均是不合法的用户标识符的选
项是(C)。 A)BA 、x_0、do B)float、1a0、_Y C)x-y、goto、123 D)_123、tmp、CHAR 2.9 下列选项中不正确的常数的选项是(D)。 A)0x12F B)-1.23E-2 C)12.0 D)0388 2.10 下面正确的字符常量是(B)。 A)"a" B)'\\' C)"\n" D)"\376"
sum=sum+c-'0'; 4.9 编程实现,求 的值。 提示:先计算 n!,再在计算阶乘的外面套上一层循环。 注意:20!是一个很大的值,float s=1;int i;例如:计
算 6!: for(i=1;i<=6;i++) s=s*i; 4.10 编程实现,找出 1000 之内的所有完数,并按下 面格式输出其因子:
应的百分制成绩段。 A: 90-100 B: 80-89 C: 70-79 D: 60-69 E: <60

《C语言程序设计教程(第二版)》习题答案

《C语言程序设计教程(第二版)》习题答案

1 【C语言】《C语言程序设计教程(第二版)》习题答案说明1. 本文所指的《C语言程序设计教程(第二版)》是李凤霞主编、北京理工大学出版社出版的,绿皮。

2 第1章程序设计基础知识一、单项选择题(第23页)1-4.CBBC 5-8.DACA二、填空题(第24页)1.判断条件2.面向过程编程3.结构化4.程序5.面向对象的程序设计语言7.有穷性8.直到型循环9.算法10.可读性11.模块化12.对问题的分析和模块的划分三、应用题(第24页)2.源程序:main(){int i,j,k; /* i:公鸡数,j:母鸡数,k:小鸡数的1/3 */printf("cock hen chick\n");for(i=1;i<=20;i++)for(j=1;j<=33;j++)for(k=1;k<=33;k++)if (i+j+k*3==100&&i*5+j*3+k==100)printf(" %d %d %d\n",i,j,k*3);}执行结果:cock hen chick4 18 788 11 8112 4 843.现计算斐波那契数列的前20项。

递推法源程序:main(){long a,b;int i;a=b=1;for(i=1;i<=10;i++) /*要计算前30项,把10改为15。

*/{printf("%8ld%8ld",a,b);a=a+b;b=b+a;}}递归法源程序:main(){int i;for(i=0;i<=19;i++)printf("%8d",fib(i));}fib(int i){return(i<=1?1:fib(i-1)+fib(i-2));}执行结果:1 123 5 8 13 21 34 5589 144 233 377 610 987 1597 2584 4181 6765 4.源程序:#include "math.h";main(){double x,x0,deltax;x=1.5;do {x0=pow(x+1,1./3);deltax=fabs(x0-x);x=x0;}while(deltax>1e-12);printf("%.10f\n",x);}执行结果:1.32471795725.源程序略。

c程序设计教程谭浩强答案

c程序设计教程谭浩强答案

c程序设计教程谭浩强答案C程序设计教程是许多计算机科学和工程专业学生学习C语言编程的入门书籍。

谭浩强教授的这本书以其清晰的结构和丰富的实例而受到广泛欢迎。

以下是对这本书中一些常见问题和习题的答案总结,以帮助学生更好地理解和掌握C语言的基本概念和编程技巧。

第一章:C语言概述- 问题1:C语言的特点是什么?- 答案:C语言是一种结构化编程语言,具有高效性、灵活性、可移植性和丰富的库支持等特点。

第二章:数据类型、运算符和表达式- 问题2:C语言中的基本数据类型有哪些?- 答案:C语言中的基本数据类型包括整型(int)、字符型(char)、浮点型(float和double)等。

- 问题3:C语言中的算术运算符有哪些?- 答案:C语言中的算术运算符包括加(+)、减(-)、乘(*)、除(/)和模运算(%)。

第三章:控制语句- 问题4:if语句的基本形式是什么?- 答案:if语句的基本形式是:```cif (条件) {// 条件为真时执行的代码} else {// 条件为假时执行的代码}```- 问题5:for循环的基本结构是什么?- 答案:for循环的基本结构是:```cfor (初始化表达式; 条件表达式; 步进表达式) { // 循环体}```第四章:数组- 问题6:如何声明一个整型数组?- 答案:声明一个整型数组的语法是:```cint 数组名[数组大小];```例如,声明一个大小为10的整型数组:```cint numbers[10];```第五章:函数- 问题7:如何定义一个函数?- 答案:定义一个函数的基本语法是:```c返回类型函数名(参数列表) {// 函数体return 返回值;}```第六章:指针- 问题8:指针是什么?- 答案:指针是一种变量,它存储了另一个变量的内存地址。

- 问题9:如何声明一个指针变量?- 答案:声明一个指针变量的语法是:```c数据类型 *指针变量名;```例如,声明一个指向整型变量的指针:```cint *p;```第七章:结构体和联合体- 问题10:结构体和联合体的区别是什么?- 答案:结构体是将不同类型的数据组合成一个单一的复合数据类型,而联合体则是在相同的内存位置存储不同的数据类型,但一次只能访问其中一个成员。

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

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

C语言程序设计课后习题参考答案习题一一、单项选择题1、C2、B3、B4、C5、D6、A7、C8、A二、填空题1、判断条件2、面向过程编程3、结构化4、程序5、面向对象方法6、基本功能操作、控制结构7、有穷性8、直到型循环结构9、算法10、可读性11、模块化12、对问题的分解和模块的划分习题二一、单项选择题1、B2、D3、C4、B5、A6、A7、B8、C二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C5、A6、D7、B8、D9、B 10、C 11、A 12、D 13、C 14、B 15、C 16、A17、B 18、C 19、C 20、D 21、A 22、D 23、D 24、D、A25、D 26、A二、填空题1、补码2、10^-138~10^138、15~163、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B 10、B二、填空题1、两, ;2、5.1690003、-200 2500、i=-200,j=2500回车、i=-200回车j=2500回车4、a=98,b=765.000000,c=4321.0000005、100 25.81 1.89234、100,25.81,1.89234、100回车25.81回车1.89234回车6、0,0,37、38、scanf(“%lf %lf %lf”,&a,&b,&c);9、13 13.000000 13.00000010、c=b-a;a=b+c;习题五一、单项选择题1、B2、D3、C4、B5、B6、D7、A8、B9、D二、填空题1、1 、02、k!=03、if(x>4||x<-4)printf(“%d”,x);else printf(“error!”);4、if(((x>=1&&x<=10)||(x>=200&&x<=210))&&(x%2!=0))Printf(“%d”,x);5、16、17、10!Right!8、a=09、2,110、0<a<b习题六一、单项选择题1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、204、115、3.66、*#*#*#$7、8 5 28、d=1.0 、k++、k<=n9、!(x<0)、x<amin习题七一、单项选择题1、B2、D3、C4、C5、A6、A7、D8、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i<263、break、i==84、a[i]>b[i]、i<3、j<55、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B2、C3、C4、A5、A6、A7、C8、D9、D 10、B 11、A 12、C 13、A 14、C 15、B二、填空题1、return 1、return n+sum(n-1)2、return 1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C6、C7、C8、C9、B 10、C 11、A 12、C 13、B 14、A 15、D 16、B17、C 18、A 19、B 20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max<*q、min>*q习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D 10、11、C 12、D 13、D 14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adabc defghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B6、D7、B8、A9、A 10、B 11、B 12、B 13、C 14、C 15、D 16、A17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\\zk04\\data\\txfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值。

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案

《C语言程序设计教程》第三版课后习题参考答案C语言程序设计教程第三版课后习题参考答案第一章:C语言概述1.1 C语言的特点答案:C语言是一种通用的、面向过程的程序设计语言,具有高效、简洁、灵活等特点。

它提供了丰富的程序设计元素和功能,适用于各种不同的应用领域。

1.2 C语言程序的基本结构答案:C语言程序由预处理指令、函数声明、函数定义、变量声明和语句组成。

其中,预处理指令用来引入头文件或定义宏,函数声明用来声明函数的名称和参数,函数定义用来实现函数的功能,变量声明用来声明变量的类型和名称,语句用来表达具体的计算过程。

1.3 C语言的数据类型答案:C语言提供了多种数据类型,包括基本类型(整型、浮点型、字符型等)和派生类型(数组、指针、结构体等)。

每种数据类型在内存中占据一定的存储空间,并具有特定的取值范围和操作规则。

1.4 C语言的运算符和表达式答案:C语言支持各种运算符和表达式,例如算术运算符(+、-、*、/等)、关系运算符(>、<、==等)、逻辑运算符(&&、||、!等)等。

通过运算符和表达式可以进行各种数值计算和逻辑判断。

第二章:基本数据类型与运算2.1 整型数据类型答案:C语言提供了不同长度的整型数据类型,包括有符号整型(int、long等)和无符号整型(unsigned int、unsigned long等)。

整型数据类型可以表示整数值,并具有不同的取值范围。

2.2 浮点型数据类型答案:C语言提供了浮点型数据类型(float、double等),用来表示带小数部分的实数值。

浮点型数据可以表示较大或较小的数值,并具有一定的精度。

2.3 字符型数据类型答案:C语言提供了字符型数据类型(char),用来表示单个字符。

字符型数据可以用于表示各种字符(包括字母、数字、符号等)。

2.4 布尔型数据类型答案:C语言不直接支持布尔型数据类型,但可以使用整型数据类型来表示布尔值(0表示假、非零表示真)。

c语言程序设计教程第三版习题答案

c语言程序设计教程第三版习题答案

c语言程序设计教程第三版习题答案C语言程序设计教程第三版习题答案第一章:C语言概述1. 简述C语言的特点。

C语言是一种结构化编程语言,具有高级语言的特点,同时支持底层硬件操作。

其特点包括:简洁、高效、可移植、丰富的运算符、数据结构支持、广泛的库函数等。

2. 什么是编译型语言?编译型语言是指源代码在执行前需要通过编译器转换成机器语言的程序设计语言。

C语言就是一种编译型语言。

第二章:数据类型、运算符和表达式1. 列出C语言的基本数据类型。

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

2. 说明赋值运算符的用法。

赋值运算符(=)用于将右侧表达式的值赋给左侧的变量。

例如:`int a = 10;` 将整数值10赋给变量a。

第三章:控制结构1. 什么是条件语句?条件语句用于根据条件的真假来执行不同的代码块。

C语言中的条件语句主要有if语句和switch语句。

2. 循环语句有哪些?C语言中的循环语句主要有for循环、while循环和do-while循环。

第四章:数组和字符串1. 数组的声明和初始化方式。

数组声明的一般形式为:`type arrayName[arraySize];`。

初始化可以使用花括号一次性赋值,如:`int arr[5] = {1, 2, 3, 4, 5};`。

2. 字符串在C语言中的表示方法。

在C语言中,字符串以字符数组的形式存在,以空字符('\0')作为结束标志。

第五章:函数1. 函数的定义和调用。

函数定义的一般形式为:`returnTypefunctionName(parameterList) { /* function body */ }`。

调用函数时,使用其名称和必要的参数。

2. 函数的参数传递方式有哪些?C语言中函数的参数传递方式主要有值传递(pass by value)和引用传递(pass by reference)。

c程序设计教程课后习题答案

c程序设计教程课后习题答案

c程序设计教程课后习题答案在编写C语言程序时,理解并完成课后习题是掌握编程知识的重要步骤。

以下是一些典型的C语言程序设计教程课后习题答案的示例,这些答案涵盖了基础语法、数据结构、函数、指针等概念。

习题1:变量声明和初始化编写一个C程序,声明一个整型变量`x`和一个浮点型变量`y`,并将它们分别初始化为10和3.14。

```c#include <stdio.h>int main() {int x = 10;double y = 3.14;printf("x = %d\n", x);printf("y = %f\n", y);return 0;}```习题2:条件语句编写一个程序,判断一个整数变量`a`的值,如果`a`大于10则输出"Greater than 10",如果小于10则输出"Less than 10",如果等于10则输出"Equal to 10"。

```c#include <stdio.h>int main() {int a;printf("Enter an integer: ");scanf("%d", &a);if (a > 10) {printf("Greater than 10\n");} else if (a < 10) {printf("Less than 10\n");} else {printf("Equal to 10\n");}return 0;}```习题3:循环编写一个程序,使用`for`循环打印从1到10的整数。

```c#include <stdio.h>int main() {for (int i = 1; i <= 10; ++i) {printf("%d ", i);}printf("\n");return 0;}```习题4:数组编写一个程序,声明一个整数数组`arr`,包含5个元素,初始化为1, 2, 3, 4, 5,并打印数组中的所有元素。

C程序设计教程-谭浩强-答案

C程序设计教程-谭浩强-答案

C程序设计教程—谭浩强版—部分习题答案第一章C语言概述1.4请参照本章例题,编写一个C程序,输出以下信息:**************************Very Good!**************************解:#include <stdio.h>mian(){printf(“**************************”);printf(“\n”);printf(“Very Good!\n”);printf(“\n”);printf(“**************************”);}1.5 编写一个程序,输入a、b、c三个值,输出其中最大值。

解:#include <stdio.h>mian(){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);}第二章数据类型、运算符与表达式2.5写出以下程序运行的结果。

#include <stdio.h>main(){char c1=’a’,c2=’b’,c3=’c’,c4=’\101’,c5=’\116’;printf(“a%cb%c\tc%c\tabc\n”,c1,c2,c3);printf(“\t \b%c %c”,c4,c5);}解:aaㄩbbㄩㄩㄩccㄩㄩㄩㄩㄩㄩabcAㄩN2.6要将"China"译成密码,译码规律是:用原来字母后面的第4个字母代替原来的字母.例如,字母"A"后面第4个字母是"E"."E"代替"A"。

因此,"China"应译为"Glmre"。

(word完整版)C语言程序设计课后习题1-8参考答案

(word完整版)C语言程序设计课后习题1-8参考答案

C语言程序设计课后习题1—8参考答案习题1参考答案一、简答题1、冯诺依曼计算机模型有哪几个基本组成部分?各部分的主要功能是什么?答:冯诺依曼计算机模型是由运算器、控制器、存储器、输入设备、输出设备五大功能部件组成的。

运算器又称算术逻辑部件,简称ALU,是计算机用来进行数据运算的部件。

数据运算包括算术运算和逻辑运算。

控制器是计算机的指挥系统,计算机就是在控制器的控制下有条不紊地协调工作的.存储器是计算机中具有记忆能力的部件,用来存放程序和数据.输入设备是用来输入程序和数据的部件。

输出设备正好与输入设备相反,是用来输出结果的部件。

2、简述计算机的工作原理。

答:计算机的工作原理可简单地概括为:各种各样的信息,通过输入设备,进入计算机的存储器,然后送到运算器,运算完毕把结果送到存储器存储,最后通过输出设备显示出来。

整个过程由控制器进行控制。

3、计算机软件系统分为哪几类?答:软件内容丰富,种类繁多,通常根据软件用途将其分为两大类:系统软件和应用软件。

系统软件是指管理、监控、维护计算机正常工作和供用户操作使用计算机的软件。

这类软件一般与具体应用无关,是在系统一级上提供的服务。

系统软件主要包括以下两类:一类是面向计算机本身的软件,如操作系统、诊断程序等。

另一类是面向用户的软件,如各种语言处理程序(像BC、VC等)、实用程序、字处理程序等。

在操作系统的基础上运行。

4、什么叫软件?说明软件与硬件之间的相互关系。

答:软件是指计算机程序及有关程序的技术文档资料。

两者中更为重要的是程序,它是计算机进行数据处理的指令集,也是计算机正常工作最重要的因素。

在不太严格的情况下,认为程序就是软件。

硬件与软件是相互依存的,软件依赖于硬件的物质条件,而硬件则需在软件支配下才能有效地工作.在现代,软件技术变得越来越重要,有了软件,用户面对的将不再是物理计算机,而是一台抽象的逻辑计算机,人们可以不必了解计算机本身,可以采用更加方便、更加有效地手段使用计算机。

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

C语言程序设计教程 课后习题参考答案
(2)编辑、编译、链接、执行
(3)一个C程序由一或多个函数组成,一函数若干条语句构成,每条语句的末尾必须以分号结束。
(4)标识符,关键字,运算符,分隔符,常量,注释符等
4.从键盘输入一个双精度小数,打印出它的余弦值。
#include <stdio.h>
#include <math.h>
main( )
else if( score>=90 )
printf(“优秀\n”);
else if( score>=80 )
printf(“良好\n”);
else if( score >= 70 )
printf(“中等\n”);
else if( score >= 60 )
printf(“及格\n”);
else
printf(“不及格\n”);
printf(“%lf\n”, result);
}
习题3
1.
(1)D(2)AD(3)C(4)B(5)A
(6)-(10):BDACB
2.
(1)3.141593,3.1416,3.142
(2)c=K
(3)| 123.46|,|123 |
(4)x= 1.23,y= 50.00
(5)0
3.
(1)scanf(%f”, c);改为:scanf(“%f”, &c);
{
double x;
scanf(“%lf”, &x);
printf(“%lf\n”, cos(x) );
}
第2章
1.
(1)BDE、ACFG
(2)D(3)C(4)C
2.
(1)错(2)错(3)错(4)对(5)错

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

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

第1章1-3 CAB4 .c .obj .exe5 /* */6 ;7 算法8 ①中级语言:C语言具有高级语言的先进思想又能直接对存储器进行操作,能进行位运算,能实现汇编语言的大部分功能,生成目标代码质量高,程序执行效率高。

②结构化语言:C语言用函数作为程序模块,以实现程序的模块化,语言简洁、紧凑,具有结构化的特点。

③可移植性好:C语言不包含依赖硬件的输入输出机制,使C语言本身不依赖于硬件系统,可移植性好。

9 #include<>main( ) { ; }10 #include “”main(){printf(“This is my first C Program!”);}第2章1.yes2.-33.2,14.1)a!=b||a<=c 2)x>=4||x<=-45.x>20&&x<30||x<-1006.#include <>main(){int x;printf(“please input an integar:”);scanf("%d",&x);if(x%5==0&&x%7==0) printf("yes\n");else printf("no\n");}7.#include <>main(){int year,month;printf("please input the year and month:");scanf("%d%d",&year,&month);switch(month){case 1:case 3:case 5:case 7:case 8:case 10:case 12:printf("this month have 31 days.");break;case 4:case 6:case 9:case 11:printf("this month have 30 days.");break;case 2:if(year%4==0&&year%100!=0||year%400==0){printf("this month have 29 days.");break;}else{printf("this month have 28 days.");break;}}}8.#include <>main(){float money;int year;printf("\nplease input the money and the year:");scanf("%f%d",&money,&year);if(year==1) money+=money**12*year;if(year==2) money+=money**12*year;if(year==3||year==4) money+=money**12*year;if(year>=5&&year<=7) money+=money**12*year;if(year>=8) money+=money**12*year;printf("the money is:%f",money);}第3章1#include ""main(){ float x[10],sum=0;int i=0;printf("please input 10 numbers(-10e6<x<10e6)\n");while(i<10){ scanf("%f",&x[i]);sum=sum+1/x[i];i=i+1;}printf("the sum of 10 numbers is %.2f\n",sum);}2#include ""main(){ int x[100],sum=0,aver,i=0;printf("please input numbers until 0\n");scanf("%d",&x[i]);while(x[i]!=0){ sum=sum+x[i];i=i+1;scanf("%d",&x[i]);}printf("the sum is %d\n",sum);printf("the average is %.2f\n",float(sum)/i);}3#include ""#include ""main(){ int i=1,j,f;long int s=0;while(i<=10){ for(f=1,j=1;j<=i;j++)f=f*j;s=s+pow(-1,i-1)*f;i=i+1;}printf("s= %ld\n",s);}4#include ""#include ""main(){ int i=0;float s=;while(2*i+1<=101){ s=s+pow(-1,i)/float(2*i+1);i=i+1;}printf("s= %f\n",s);}5#include ""#include""main(){ int i,j,k,n=0;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)if(i*100+j*10+k==i*i*i+j*j*j+k*k*k)printf("the %d:%d\n",++n,i*100+j*10+k);printf("the all is %d.\n",n--);}6#include ""main(){ int n,i,j;printf("please input n:");scanf("%d",&n);for(i=0;i<n;i++){ for(j=0;j<n;j++)printf("*");printf("\n");}}7#include ""main(){ char a[81];int i,j=0,k=0,m=0;printf("please input a $(length<=80)\n");for(i=0;(a[i]=getchar())!='\n';i++){ if(a[i]>=65&&a[i]<=90)j++;else if(a[i]==32)k++;else m++;}printf("the upper letter is %d\n",j);printf("the blank is %d\n",k);printf("the other is %d\n",m);}8#include ""main(){ int i,j,k,m=0;for(i=0;i<=20;i++){ for(j=0;j<=50;j++)for(k=0;k<=100;k++)if(i*5+j*2+k==100)printf("the %d wag is 1:%d,2:%d,5:%d\n",++m,k,j,i);}printf("the wags is %d\n",m--);}9#include ""main(){ int i,j,k,m=0;for(i=0;i<=3;i++){ for(j=0;j<=3;j++)for(k=0;k<=6;k++)if(i+j+k==8)printf("the %d wag is white:%d,red:%d,black:%d\n",++m,i,j,k);}printf("the wags is %d\n",m--);}10#include ""main(){ long int n;int i,j,k;printf("please inpur n:");scanf("%ld",&n);if(n%2==1||n<=1){ printf("the input is error.\n");return(1);}for(i=2;i<=n/2;i++){ for(j=2;j<i;j++)if(i/j*j==i)break;if(j==i){for(k=2;k<n-i;k++)if((n-i)/k*k==(n-i))break;if(k==n-i)printf("%ld=%d+%d\n",n,i,n-i);}}}11#include ""main(){int i,j,k,m;for(i=1;i<=9;i++)for(j=0;j<=9;j++)for(k=0;k<=9;k++)for(m=0;m<=9;m++)if((i*1000+j*100+k*10+m)*9==(i+j*10+k*100+m*1000))printf("the number is:%d\n",i*1000+j*100+k*10+m);}第4章1-5 ABDCB 6-10 BCBCA 11-13 ABA14#include ""main(){float a1,b1,a2,b2,re1,im1,re2,im2,re3,im3;printf("Please input the first number:");scanf("%f %f",&a1,&b1);printf("Please input the second number:");scanf("%f %f",&a2,&b2);re1=a1+a2;im1=b1+b2;printf("(%f+j%f)+(%f+j%f)=%f+j%f\n",a1,b1,a2,b2,re1,im1);re2=a1-a2;im2=b1-b2;printf("(%f+j%f)-(%f+j%f)=%f+j%f\n",a1,b1,a2,b2,re2,im2);re3=a1*a2-b1*b2;im3=a1*b2+a2*b1;printf("(%f+j%f)*(%f+j%f)=%f+j%f\n",a1,b1,a2,b2,re3,im3);}第5章1-5 CACCD 6-7 DA8#include ""main(){char str[100];int num1=0,num2=0,i=0;scanf("%s",str);while(str[i]!='\0'){if(str[i]>='A'&&str[i]<='Z'||str[i]>='a'&&str[i]<='z')num1++;else if(str[i]>='0'&&str[i]<='9')num2++;i++;}printf("num1=%d,num2=%d",num1,num2);}9笔者在程序中直接给数组元素赋了值,读者可以修改为用scanf函数读入数值;另外,还可以用第7章宏定义的方法设定数组的长度,从而实现对元素个数不同的数组进行排序。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案C语言程序设计教程习题参考答案1. 基本概念与数据类型1.1 什么是C语言程序设计?C语言程序设计是一种计算机编程语言,它是一种结构化,通用的程序设计语言。

1.2 C语言的主要特点有哪些?C语言具有代码简洁、执行速度快、可移植性好等特点。

1.3 C语言的数据类型有哪些?请简要介绍。

C语言的数据类型包括基本数据类型和派生数据类型。

基本数据类型包括整型、浮点型、字符型和布尔型;派生数据类型包括数组、结构体、枚举和指针等。

2. 变量与运算符2.1 什么是变量?怎样定义和使用变量?变量是计算机内存中的一块存储空间,用于存储数据。

在C语言中,变量需要先定义后使用。

定义变量使用关键字"int"、"float"等,然后指定变量名,并可选地赋初值。

2.2 C语言中的运算符有哪些?请简要介绍。

C语言中的运算符包括算术运算符、关系运算符、逻辑运算符、赋值运算符、位运算符等。

算术运算符用于基本的数学运算;关系运算符用于比较两个变量的关系;逻辑运算符用于逻辑判断;赋值运算符用于将一个值赋给一个变量;位运算符用于对二进制数进行逐位操作。

3. 控制语句3.1 C语言中的条件语句有哪些?请简要介绍。

C语言中的条件语句包括if语句、switch语句等。

if语句用于根据条件执行不同的代码块;switch语句用于根据不同的表达式值选择不同的分支。

3.2 C语言中的循环语句有哪些?请简要介绍。

C语言中的循环语句包括while循环、do-while循环和for循环等。

while循环用于根据条件重复执行一段代码;do-while循环和while循环类似,但它会首先执行一次代码;for循环用于固定次数的循环。

4. 函数与数组4.1 什么是函数?怎样定义和调用函数?函数是一段完成特定任务的代码块,它可以接收输入参数,并返回一个值。

在C语言中,可以使用关键字"void"定义无返回值的函数,使用其他数据类型定义有返回值的函数。

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案

《C语言程序设计教程》习题参考答案C语言程序设计教程习题参考答案一、基本概念和语法要点1. 整型变量x的声明和初始化语句为:int x = 10;2. C语言的标识符命名规则:- 只能由字母、数字和下划线组成;- 必须以字母或下划线开头;- 大小写敏感。

3. 常量的分类:- 整型常量;- 实型常量;- 字符常量;- 字符串常量;- 枚举常量;- 特殊常量。

4. 基本输入输出函数的使用:- printf():输出格式化字符串;- scanf():从标准输入读取格式化数据。

5. C语言中的运算符:- 算术运算符:+、-、*、/、%;- 关系运算符:==、!=、>、<、>=、<=; - 逻辑运算符:&&、||、!;- 位运算符:&、|、^、~、<<、>>。

二、流程控制语句1. if语句的基本结构:```if (条件表达式){// 如果条件成立执行的代码}```2. switch语句的使用:```switch (表达式)case 值1:// 执行的代码块break;case 值2:// 执行的代码块break;default:// 执行的代码块break;}```3. while循环语句的基本结构: ```while (条件表达式){// 循环执行的代码}4. for循环语句的使用:```for (初始化表达式; 条件表达式; 更新表达式) {// 循环执行的代码}```三、数组与字符串1. 数组的声明和初始化语句:```int arr[5] = {1, 2, 3, 4, 5};```2. 字符串的声明和初始化语句:```char str[20] = "Hello, World!";```3. 字符串的输入输出函数:- gets():从标准输入读取字符串; - puts():将字符串输出到标准输出。

4. 字符串处理函数:- strlen():计算字符串长度;- strcat():拼接字符串;- strcpy():复制字符串;- strcmp():比较两个字符串。

C程序设计教程第二版习题答案

C程序设计教程第二版习题答案

C程序设计教程第二版习题答案第1章:C语言概述1. 简述C语言的特点。

- C语言是一种结构化编程语言,具有高效、灵活、功能强大等特点。

它支持多种编程范式,包括过程式、面向对象和泛型编程。

2. C语言的发展历史。

- C语言由丹尼斯·里奇在20世纪70年代初期开发,最初用于UNIX操作系统的编写。

随着UNIX的流行,C语言也逐渐普及。

第2章:C语言基础1. 变量声明的规则。

- 变量声明必须指定数据类型,变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但数字不能作为变量名的首位。

2. 常量的使用。

- 常量是在程序执行过程中不能被修改的值,可以用#define预处理指令定义,或者直接使用字面量。

第3章:控制语句1. if语句的使用。

- if语句用于根据条件执行不同的代码块。

基本语法为:`if (条件) { 执行代码 }`。

2. switch语句的使用。

- switch语句用于根据变量的值执行不同的代码块。

基本语法为:`switch (变量) { case 值1: 执行代码1; break; ... }`。

第4章:循环语句1. for循环的使用。

- for循环用于重复执行一段代码直到满足特定条件。

基本语法为:`for (初始化; 条件; 增量/减量) { 执行代码 }`。

2. while循环的使用。

- while循环在条件为真时重复执行代码块。

基本语法为:`while (条件) { 执行代码 }`。

第5章:函数1. 函数的定义和调用。

- 函数是一段具有特定功能的代码块,可以被重复调用。

定义函数的基本语法为:`返回类型函数名(参数列表) { 函数体 }`。

调用函数时使用:`函数名(参数)`。

2. 函数的参数传递。

- 参数传递可以是值传递或引用传递。

值传递时,函数内部对参数的修改不会影响到外部变量的值;引用传递则相反。

第6章:数组1. 一维数组的声明和使用。

- 一维数组的声明语法为:`类型数组名[大小]`。

c语言程序设计实验教程课后答案

c语言程序设计实验教程课后答案

c语言程序设计实验教程课后答案C语言程序设计实验教程课后答案C语言是一种广泛使用的计算机编程语言,以其高效、灵活和功能强大而著称。

学习C语言不仅能够帮助学生理解计算机程序设计的基础,而且能够为学习更高级的编程语言打下坚实的基础。

以下是一些常见的C语言程序设计实验教程课后问题及其答案。

问题1:编写一个C程序,计算并输出两个整数的和。

答案:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("两个整数的和是:%d\n", sum);return 0;}```问题2:编写一个C程序,判断一个整数是否为素数。

答案:```c#include <stdio.h>#include <math.h>int isPrime(int n) {if (n <= 1) return 0;for (int i = 2; i <= sqrt(n); i++) {if (n % i == 0) return 0;}return 1;}int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (isPrime(num)) {printf("%d 是素数。

\n", num);} else {printf("%d 不是素数。

\n", num);}return 0;}```问题3:编写一个C程序,实现简单的学生成绩管理系统。

答案:```c#include <stdio.h>struct Student {char name[50];int score;};int main() {struct Student students[3] = {{"Alice", 85},{"Bob", 90},{"Charlie", 78}};int i;printf("学生成绩列表:\n");for (i = 0; i < 3; i++) {printf("%s: %d\n", students[i].name, students[i].score);}return 0;}```问题4:编写一个C程序,实现字符串的反转。

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

C语言程序设计》课后习题详细答案
(2)在同一行上的/ * main function * /显然是注释;C语言规定:注释由/*开头,由*/结束,但在*号和/之间不得插入任何空格,而在此处“/ *”和“* /”之间存在空格,因此,/ * main function * /的写法是错误的,而应写成:/* main function */。
printf(″(1) a=%d,b=%d,c=%d\n″,a,b ,c);
t=c; c=b; b=a; a=t;
printf(″(2) a=%d,b=%d,c=%d\n″,a,b,c);
}
第四章选择结构习题分析与解答
一、选择题
4.1【参考答案】A)
4.2【参考答案】A)
4.3【参考答案】A)
4.4【参考答案】D)
(6)设计输出语句。输出a、b、c和ave。
(7)把以上内容放在主函数的一对花括号中。
(8)编写程序如下:
main()
{ double a,b,c,ave;
printf(″Enter a ,b ,c :″);
scanf(″%lf%lf%lf″, &a, &b, &c );
ave=(a+b+c)/3;
2.15【参考答案】[1]4.2[2]4.2
2.16【参考答案】[1]{[2]}[3]定义[4]执行
2.17【参考答案】[1]关键字[2]用户标识符
2.18【参考答案】[1]int[2]float[3]double
2.19【参考答案】float a1=1.0, a2=1.0;
或float a1=1, a2=1;(系统将自动把1转换为1.0)
3.27【参考答案】x=127, x=127 , x=$127 ,x=$000127, x=%06d

C语言程序设计教程(第2版)课后习题答案(完美版)

C语言程序设计教程(第2版)课后习题答案(完美版)

C语言程序设计教程(第二版)课后习题答案第一章C语言程序设计概述-习题答案1算法的描述有哪些基本方法?答1、自然语言2、专用工具2 C语言程序的基本结构是怎样的?举一个例子说明。

答1、C语言程序由函数构成;2、“/*”与“*/”之间的内容构成C语言程序的注释部分;3、用预处理命令#include、#define可以包含有关文件或预定义信息;4、大小写字母在C语言中是有区别的;5、除main()函数和标准库函数外,用户也可以自己编写函数,应用程序一般由多个函数组成,这些函数指定实际所需要做的工作。

3 C语言有什么特点?答1、具有结构语言的特点,程序之间很容易实现段的共享;2、主要结构成分为函数,函数可以在程序中被定义完成独立的任务,独立地编译代码,以实现程序的模块化;3、运算符丰富,包含的范围很广;4、数据类型丰富;5、允许直接访问物理地址,即可直接对硬件进行损伤,实现汇编语言的大部分功能;6、限制不太严格,程序设计自由度大,这样使C语言能够减少对程序员的束缚;7、生成的目标代码质量,程序执行效率高,同时C语言编写的程序的可移植性好。

4★指出合法与不合法的标识符命名。

答AB12--√leed_3-- a*b2--× 8stu--× D.K.Jon--× EF3_3--√ PAS--√ if--× XYZ43K2 --√ AVE#XY--× _762--√ #_DT5--× C.D--×5说明下列Turbo C热键的功能。

答F2:源文件存盘 F10:调用主菜单 F4:程序运行到光标所在行(用于调试程序) Ctrl+F9:编译并链接成可执行文件 Alt+F5:将窗口切换到 DOS 下,查看程序运行结果。

6说明下列Turbo C方式下输入并运行下列程序,记录下运行结果。

①main(){printf("********************\n");printf(" welcome you \n");printf(" very good \n);printf("********************\n");}②main()printf("please input three numbers;");scanf("%d,%d,%d",&a,&b,&c); /*教材S是错误的*/t=max(max(a,b),c);printf("max number is:%d\n",t);}int max(int x, int y){ int z;if(x>y)z=x;else z=y;return(z);}答运行结果:********************welcome youvery good********************运行结果:please input three numbers;3,1,4 /*左侧下划线内容为键盘输入*/max number is:47一个C程序是由若干个函数构成的,其中有且只能有一个___函数。

《C 程序设计教程》课后习题答案

《C  程序设计教程》课后习题答案

第1章C++及其开发环境概述一、问答题1.结构化程序设计主要有哪些劣势?【答案】(1)程序的开发效率低下(2)程序的可重用性差(3)程序的维护成本高(4)无法适应信息的快速膨胀和多样化2.面向对象的程序设计有哪些优点?【答案】(1)程序的开发效率高(2)程序代码的可重用性高(3)程序易于维护3.C++的发展经历了哪些阶段?【答案】C++语言起源于C语言。

1980年初期,美国贝尔实验室的Bjarne Stroustrup博士及其同事在C语言的基础上,从Simula67中引入面向对象的特征,开发出一种过程性与对象性相结合的程序设计语言,最初称为“带类的C”,1983年正式取名为C++。

后来,Stroustrup和他的同事陆续将运算符重载、继承、虚函数等特性引入C++,1989年后推出AT&T C++ 2.0版,并经过多次改进和完善,发展成为现在的C++。

4.C++主要有哪些特点?【答案】(1)C++可以被看成C语言的一个超集,是对C的增强和扩展。

因此,许多C代码可以不经修改即可为C++所用。

自然,也可以利用C++开发环境来开发C程序。

(2)C++几乎支持所有面向对象的程序设计特征,因此,利用C++不仅可以进行传统的结构化程序设计,而且可以较好地进行面向对象的程序开发。

(3)C++很好地保持了C的简洁、高效、灵活和接近汇编语言的特点,因此,C++程序的执行效率也很高。

5.一个C++程序一般由哪几部分构成?【答案】①预处理命令。

C++提供了三种预处理命令,即宏定义命令、文件包含命令和条件编译命令。

②全局声明部分。

此部分内容通常会给出用户自定义的数据类型声明,以及程序中所涉及变量的定义,例如类的声明。

数据结构③函数。

一个程序中可包含一个或多个函数,它们是执行用户指定操作的主要部分。

6.使用Visual C++ 开发C++程序时一般要经过哪几个步骤?每个步骤的作用是什么?相应地产生哪些文件?【答案】(1)编写程序C++是一种高级语言,所以用其编写的程序称为“源程序”,以.cpp做为后缀。

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

类和对象01. 分析以下程序执行的结果#include<iostream.h>#include<stdlib.h>class Sample{public:int x,y;Sample(){x=y=0;}Sample(int a,int b){x=a;y=b;}void disp(){cout<<"x="<<x<<",y="<<y<<endl;}};void main(){Sample s1(2,3);s1.disp();}解:本题说明了重载构造函数的定义方法。

首先定义了一个类Sample,在main()中定义了它的一个对象,定义s1对象时调用其重载构造函数(x=2,y=3),然后,调用其成员函数输出数据成员。

所以输出为:x=2,y=3。

注意:构造函数是唯一不能被显式调用的成员函数,它在定义类的对象时自动调用,也称为隐式调用。

02. 分析以下程序的执行结果#include<iostream.h>class Sample{int x,y;public:Sample(){x=y=0;}Sample(int a,int b){x=a;y=b;}~Sample(){if(x==y)cout<<"x=y"<<endl;elsecout<<"x!=y"<<endl;}void disp(){cout<<"x="<<x<<",y="<<y<<endl;}};void main(){Sample s1(2,3);s1.disp();}解:本题说明了析构函数的定义方法。

首先定义了一个类Sample,在main()中定义了它的一个对象,定义s1对象时调用其重载构造函数(x=2,y=3),然后,调用其成员函数输出数据成员,最后在退出程序时自动调用析构函数。

所以输出为:x=2,y=3x!=y注意:析构函数在对象的作用域结束时被自动隐式调用。

03. 分析以下程序的执行结果#include<iostream.h>class Sample{int x,y;public:Sample(){x=y=0;}Sample(int a,int b){x=a;y=b;}void disp(){cout<<"x="<<x<<",y="<<y<<endl;}};void main(){Sample s(2,3), *p=&s;p->disp();}解:本题说明了对象指针的使用方法。

这里通过指向对象的指针来调用对象的成员函数。

对象指针p指向对象s,p->disp()等价于s.disp()。

所以输出为:x=2,y=3。

04. 下面是一个类的测试程序,设计出能使用如下测试程序的类。

void main(){Test a;a.init(68,55);a.print();}其执行结果为:测试结果:68-55=13解:本题是要设计Test类,其设计方法很多,这里给出一种解法。

Test类包含两个私有数据成员x、y,以及两个公共成员函数init()和print(),前者用于给数据成员赋值,后者用于x,y的减法运算和输出相应的结果。

#include<iostream.h>class Test{int x,y;public:void init(int,int);void print();};void Test::init(int i,int j){x=i;y=j;}void Test::print(){cout<<"测试结果:"<<x<<"-"<<y<<"="<<x-y<<endl;}注意:类是一个外壳,它包含了类实例化时数据和代码的使用方法,它是一种模板,只有在定义类的对象时,才为对象分配空间,而不会为类分配空间。

05. 分析以下程序的执行结果#include<iostream.h>class Sample{public:Sample();Sample(int);~Sample();void display();protected:int x;};Sample::Sample(){x=0;cout<<"constructing normally\n";}Sample::Sample(int m){x=m;cout<<"constructing with a number:"<<x<<endl;}void Sample::display(){cout<<"display a number:"<<x<<endl;}Sample::~Sample(){cout<<"destructing\n";}void main(){Sample obj1;Sample obj2(20);obj1.display();obj2.display();}解:本题构造函数与析构函数的调用顺序。

这里定义了两个对象,先顺序调用obj1和obj2对象的构造函数,再调用各自的成员函数disp(),最后顺序调用obj2和obj1的析构函数。

所以输出为:constructing nomallyconstructing with a number:20display a number:0display a number:20destructingdestructing06. 设计一个立方体类Box,它能计算并输出立方体的体积和表面积。

解:Box类包含三个私有数据成员a(立方体边长)、volume(体积)和area(表面积),另有两个构造函数以及seta()(设置立方体边长)、getvolume()(计算体积)、getarea()(计算表面积)和disp()(输出结果)。

本题程序如下:#include<iostream.h>class Box{float a;float volume;float area;public:Box(){}Box(float r){a=r;}void seta(float r){a=r;}void getvolume(){volume=a*a*a;}void getarea(){area=6*a*a;}void disp(){cout<<"体积:"<<volume<<"\t表面积:"<<area<<endl;}};void main(){Box obj1(4.5),obj2;obj2.seta(6.4);obj1.getvolume();obj1.getarea();cout<<"obj1=>";obj1.disp();obj2.getvolume();obj2.getarea();cout<<"obj2=>";obj2.disp();}本程序的执行结果如下:obj1=>体积:91.125 表面积:121.5obj2=>体积:262.144 表面积:245.7607.编写一个程序,在已设置好若干个用户名/口令后,通过输入用户名,查找对应的口令,连续执行这一过程直到用户输入结束标记(“end“)为止。

解:设计一个User类,数据成员有User和pass两个字符数组,存储用户名和口令,另有一个构造函数和getuaer()、getpass()两个成员函数,用于获取用户名和口令。

在main()中设计一个对象数组ua,当用户输入一个用户名后,在ua中查找,找到后输出对应的口令,找不到时输出相应的提示信息。

本题程序如下:#include<iostream.h>#include<string.h>class User{char user[10];char pass[7];public:User(char [],char []);char *getuser();char *getpass();};User::User(char u[],char p[]){strcpy(user,u);strcpy(pass,p);}char *User::getuser(){return user;}char *User::getpass(){return pass;}void main(){User ua[]={User("Li","123456"),User("wang","654321"),User("Chen","213412"),User("Xu","878616"),User("Ma","876574"),User("Song","666666")};char name[10];while(1){cout<<"输入用户名:";cin>>name;if(strcmp(name,"end")==0)break;for(int i=0;i<6;i++)if(strcmp(name,ua[i].getuser())==0){cout<<" 用户口令:"<<ua[i].getpass()<<endl;break;}if(i==6)cout<<" 用户名不存在"<<endl;}}本程序的执行结果如下:输入用户名:Li用户口令:123456输入用户名:Wang用户口令:654321输入用户名:He用户名不存在输入用户名:end08.编写一个程序,输入N个学生数据,包括学号、姓名、成绩,要求只输出成绩在80~89分的学生数据。

相关文档
最新文档