C语言程序设计教程第三版(李凤霞)习题答案

合集下载

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第一章习题答案

第一章:程序设计基础知识一、单项选择题1、面向过程的程序设计语言是________。

A)机器语言 B)汇编语言 C)高级语言 D)第四代语言2、程序设计一般包含以下四个步骤,其中其中首先应该完成的是_________。

A)设计数据结构和算法B)建立数学模型C)编写程序 D)调试和运行程序3、以下常用算法中适合计算等差级数的算法是_________。

A)枚举法B)递推法 C)分治法 D)排序法4、以下不属于算法基本特征的是__________。

A)有穷性 B)有效性C)可靠性 D)有一个或多各输出5、以下描述中不正确的是___________。

A)程序就是软件,但软件不仅仅是程序。

B)程序是指令的集合,计算机语言是编写程序的工具。

C)计算机语言都是形式化的语言,它有一个语法规则和定义。

D)计算机语言只能编写程序而不能表示算法。

6、下面描述中,正确的是_____________。

A)结构化程序设计方法是面向过程程序设计的主流。

B)算法就是计算方法。

C)一个正确的程序就是指程序书写正确。

D)计算机语言就是编写程序的工具而不是表示算法的工具。

7、下面描述中,不正确的是______________。

A)递归法的关键是必须有一个递归终止的条件。

B)递归算法要求语言具有反复自我调用子程序的能力。

C)对于同一个问题,递推算法比递归算法的执行时间要长。

D)递推算法总可以转换为一个递归算法。

8、N-S图与传统流程图比较,主要优点是_________。

A)杜绝了程序的无条件转移。

B)具有顺序、选择和循环三种基本结构。

C)简单、只管。

D)有利于编写程序。

A)B)C)D)二、填空题1、在流程图符号中,判断框中应该填写的的是________。

(判断条件)2、结构化程序设计是__________应遵循的方法和原则。

(面向过程编程)3、结构化程序必须用__________程序设计语言来编写。

(具有结构化控制语句)4、可以被连续执行的一条条指令的集合称为计算机的________。

C语言程序设计(第三版)习题库答案

C语言程序设计(第三版)习题库答案

C 语言程序设计(第三版)习题库1、设圆半径r=1。

5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序. #include <stdio 。

h>main(){float r ,h,C1,Sa ,Sb ,Va,Vb;scanf(__”%f ”__,&r );scanf (”%d",__&h _);;C1=2*3.14*r;Sa=3。

14*r*r;Sb=4*Sa ;Va=4*3.14*r *r *r/3;Vb=Sa*h ;printf (___"Cl=%.2fSa=%.2fSb=%.2fVa=%。

2fVb=%。

2f ”,Cl ,Sa ,Sb ,Va,Vb ); }2、输入一个华氏温度,要求输出摄氏温度。

公式为 c=5(F-32)/9输出要求有文字说明,取位2小数。

#include <stdio.h 〉main(){float F,c ;scanf("%f",&F);____c=5*(F-32)/9______;printf ("c=%.2f”,c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。

#include <stdio.h 〉main(){int x,y;printf(”输入x :”);scanf("%d",&x);if (x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x ,y);} else if (____x 〈10_______){ /* 1≤x—10 */_____y=2*x-1_______;printf("x=%3d , y=2*x —1=%d\n",x,y );} else { /* x≥10 */y=3*x —11;printf (”x=%3d, y=3*x —11=%d\n”,x # include "stdio 。

《C语言程序设计教程》(第三版)李凤霞 主编——第九章习题答案

《C语言程序设计教程》(第三版)李凤霞 主编——第九章习题答案

习题九一、单选题1、已知:int *p,a;则语句"p=&a;"中的运算符"&"的含义是()。

A)位与运算 B)逻辑与运算 C)取指针内容D)取变量地址2、已知:int a,x;则正确的赋值语句是()。

A)a=(a[1]+a[2])/2 B)a*=*a+1; C)a=(x=1,x++,x+2); D)a="goog";3、已知:int a,*p=&a; 则下列函数调用中错误的是()。

A)scanf("%d",&a); B)scanf("%d",p); C)printf("%d",a); D)printf("%d",p);4、main(argc,argv)中形式参数argv的正确说明形式应当为()。

A)char *argv[ ] B)char argv[ ][ ] C)char argv[ ] D)char *argv5、说明语句"int (*p)(); "的含义是()。

A)p是一个指向一维数组的指针变量B)p是一个指针变量,指向一个整型数据C)p是一个指向函数的指针,该函数的返回值是一个整型D)以上都不对6、设有说明int(*ptr)[M];其中的标识符ptr是()。

A)M个指向整型变量的指针B)指向M个整型变量的函数指针C)一个指向有M个整型元素的一维数组的指针D)具有M个指针元素的一维指针数组,每个元素都只能指向整型变量7、已知:double *p[6]; 它的含义是()。

A)p是指向double型变量的指针 B)p是double型数组C)p是指针数组 D)p是数组指针8、已知函数说明语句:void *f(); 则它的含义是()。

A)函数f的返回值是一个通用型的指针 B)函数f的返回值可以是任意的数据类型C)函数f无返回值D)指针f指向一个函数,该函数无返回值9、已知:char s[10],*p=s,则在下列语句中,错误的语句是()。

C语言程序设计(第三版)习题库答案

C语言程序设计(第三版)习题库答案

C 语言程序设计(第三版)习题库1、设圆半径r=1.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。

用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。

请编程序。

#include <stdio.h>main(){float r,h,C1,Sa,Sb,Va,Vb;scanf(__”%f ”__,&r);scanf(”%d ”,__&h _);;C1=2*3.14*r;Sa=3.14*r*r;Sb=4*Sa;Va=4*3.14*r*r*r/3;Vb=Sa*h;printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb );}2、输入一个华氏温度,要求输出摄氏温度。

公式为 c=5(F-32)/9输出要求有文字说明,取位2小数。

#include <stdio.h>main(){float F,c;scanf("%f",&F);____c=5*(F-32)/9______;printf("c=%.2f",c);}3、有一函数:⎪⎩⎪⎨⎧≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。

#include <stdio.h>main(){int x,y;printf("输入x :");scanf("%d",&x);if(x<1) { /* x<1 */y=x;printf("x=%3d, y=x=%d\n",x,y);} else if (____x<10_______){ /* 1≤x -10 */_____y=2*x-1_______;printf("x=%3d, y=2*x-1=%d\n",x,y);} else{ /* x≥10 */y=3*x-11;printf("x=%3d, y=3*x-11=%d\n",x# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d\n",y);}# include "stdio.h"main(){int x,y;scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}printf("%d",y);}scanf("%d",&x);if(x<1){ y=x;}else if(x>=1 && x<10){ y=2*x-1;}else{ y=3*x-11;}# include "stdio.h" main(){int x,y;scanf("%d",&x);if(x<1)y=x;else if(x>=1 && x<10)y=2*x-1;elsey=3*x-11;printf("%d",y);},y);}}4、给定一个不多于5位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。

《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语言程序设计(第三版)习题答案习题一一、名词解释(1)程序P1 (2)程序设计P1 (3)机器语言P1 (4)高级语言P2(5)汇编程序P3 (6)编译程序P4 (7)算法P5 (8)结构化程序设计方法P10二、简答题1. 设计程序时应遵循哪些基本原则?P4答:正确性、可靠性、简明性、有效性、可维护性、可移植性。

2. 算法具有哪些特点?答:有穷性、确定性、有效性、有零个或多个输入、有一个或多个输出。

3. 算法的表示形式有哪几种?答:自然语言、伪代码、传统流程图、N-S流程图、计算机语言。

4. 结构化程序设计方法的三种基本结构是什么?答:顺序结构、选择结构和循环结构。

5. 传统流程图与N-S流程图最大的区别是什么?答:N-S流程图去掉了在传统流程图中常用的流程线,使得程序的结构显得更加清晰、简单。

三、用传统流程图或N-S流程图表示求解以下问题的算法。

1. 从键盘输入10个整数,求出其中的最小数并输出。

2. 求1+2+3+…+100的值。

3. 求10~50的所有素数之和。

4. 求下列分段函数的值。

四、请参照本章例题,编写一个简单的C 程序,输出以下三行信息。

**************************Yangtze University**************************#include <stdio.h>void main(){printf("**************************\n");printf(" Yangtze University\n");printf("**************************\n");}4X-1 (X ≤1) 5(X-1)+6 (1<X<5) 6-3X (X ≥5)习题二一、选择题1~10: B C D C D D B C A A11~20: D A C D B D B A C D二、填空题1.字母 L 或字母 l2. %c(或字符) 、 %d(或整数)3.在程序运行过程中,其值可以在一定的范围内变化的量4.'\0'5.小数形式、指数形式6.关键字、预定义标识符、用户标识符7.字母、数字、下划线、数字8. 189. 2 、 1 、 3010.双精度实数或double11.赋值、逗号、 20 、 20 、 20 、 412. 4 、 4习题三一、选择题1~10: B C C B C C C D C C注:第4题答案D为: 10 22↙33↙二、填空题1. printf 、 scanf2. h3."%5d"4.'\0'5. e 、 E6. 67. s 、 c8. *9. - 、 +10. i三、编程题1. 编写程序,从键盘输入一个以秒为单位的时间数,将其换算成几小时几分几秒,然后进行输出。

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. A5. C6. D7. D8. B9. B10.C11.A12.D13.C14.C15.C16.A17.C18.C19.C20.D21.A22.D23.D24.D,A25.D26.A27.B二、填空题1. 补码2. 30810-±~ ) 308 10 , 15 —6 2. 308 10 -±( ~ ) 308 10 , 1563.逻辑4. 单目,自右向左5. 函数调用6.a或b(题目有错,小括号后面的c<=98改成(c>=97&&c<=98)就可以得到所给的答案了)7.8.65,89第四章习题一、单项选择题1. D2. C3. D4. A5. D6. B7. A8. C9. B10.B二、填空题1.一2.5.1690003.(1)-200 2500(2)i=-200,j=2500(3)2500200=-=ji4.a=98,b=765.000000,c=4321.000000 5. 10025.811.89234,10025.81按Enter键)1.89234,100(按Tab键)25.81(按Tab键)1.892346.0,0,37.38.scanf(" %lf %lf %lf",&a,&b,&c);9.13 13.000000 13.00000010.b=a;a=c;c=b;a=a+b;c=c-b;(对于本题来说,后者的答案更好,不仅使a 与c的值进行交换而且能保持中间变量b的值不发生改变)第五章习题一、单项选择题1. D2. C3. B4. B5. D6. A7. B8. D二、填空题1.非零,零k= =02.k= =03.if(abs(x)>4) Printf(“%d”,x);elseprintf(“error!”);4.if(x%2==1&&( (x>=1)&&(x<=10)||(x>=200&&x<=210))printf("%d",x);5.k=1(原题最后一行漏了个d,如果认为原题正确,则输出k=%。

c程序设计第三版习题参考解答(全)

c程序设计第三版习题参考解答(全)

C程序设计(第三版)课后习题参考解答第1章C语言概述1.5 参照本章例题,编写一个C程序,输出以下信息:******************************Very Good!******************************解:main ( ){printf(“****************************** \n”);printf(“\n”);printf(“Very Good! \n”);printf(“\n”);printf(“****************************** \n”);}1.6 写一个程序,输入a,b,c三个值,输出其中最大者。

解: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);}第2章程序的灵魂——算法2.1 什么叫结构化的算法?为什么要提倡结构化的算法?解:由一些基本结构顺序组成的算法称为结构化的算法。

由于在基本结构之间不存在非顺序的跳转,流程的转移只存在于一个基本结构范围之内,因而提高了算法的质量。

2.7 什么叫结构化程序设计?它的主要内容是什么?解:结构化程序就是用高级语言表示的结构化算法。

它的主要内容包括“自顶向下,逐步细化”的分析方法和“模块化设计”的解决方法,以及“结构化编码”的实现方法。

第3章数据类型、运算符与表达式3.4将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。

注:如果没有学过二进制和补码,此题可以不做。

解:各数据在内存中的存储形式如下表所示:它是一个负数的补码,对其再求一次补码可得其真值,即-(65536-32769)=-32767。

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

教材习题答案
第一章
习题
一、单项选择题
1. C
2. B
3. B
4. C
5. D
6. A
7. C
8. A
二、填空题
1. 判断条件
2. 面向过程编程
3. 结构化
4. 程序
5. 面向对象的程序设计语言
6. 基本功能操作、控制结构
7. 有穷性
8. 直到型循环结构
9. 算法
10.可读性
11.模块化
12.对问题的分解和模块的划分
习题
一、单项选择题
1. B
2. D
3. C
4. B
5. A
6. A
7. B
8.C
二、填空题
1. 主
2. C编译系统
3. 函数、函数
4. 输入输出
5. 头
6. .OBJ
7. 库函数
8. 文本
第三章
习题
一、单项选择题
1. D
2. B
3. A
5. C
6. D
7. D
8. B
9. B
10.C
11.A
12.D
13.C
14.C
15.C
16.A
17.C
18.C
19.C
20.D
21.A
22.D
23.D
24.D,A
25.D
26.A
27.B
二、填空题
1. 补码
2. 308
10
-
±
~)308 10 ,15 —6
2. 308 10 -
±
(~)308 10 ,15
6
3.
逻辑
4. 单目,自右向左
5. 函数调用
6.
a

b
(
题目有错
,
小括号后面的
c<=98
改成(
c>=97&&c<=98
)就可以得到所给的答案了)
7.
8.
65

89
第四章
习题
一、单项选择题
1. D
2. C
3. D
4. A
5. D
6. B
7. A
8. C
9. B
10.B
二、填空题
1.

2.
5.169000
3.
(1)-200 2500
(2)i=-200,j=2500
(3)
2500
200
=
-
=
j
i
4
.
a=98,b=765.000000,c=4321.000000 5.
100
25.81
1.89234

100
25.81

Enter
键)
1.89234

100
(按
Tab
键)
25.81
(按
Tab
键)
1.89234
6.
0,0,3
7.
3
8.
scanf(" %lf %lf %lf",&a,&b,&c);
9.
13 13.000000 13.000000
10.
b=a;a=c;c=b;
a=a+b;c=c-b;
(对于本题来说,后者的答案更好,不仅使a

c
的值进行
交换而且能保持中间变量
b
的值不发生改变)
第五章
习题
一、单项选择题
1. D
2. C
3. B
4. B
5. D
6. A
7. B
8. D
二、填空题
1.
非零,零
k= =0
2.
k= =0
3.
if(abs(x)>4)
Printf(

%d

,x);
else
printf(

error!

);
4.
if(x%2==1&&( (x>=1)&&(x<=10)||(x>=200&&x<=210))printf("%d",x);
5.
k=1
(
原题最后一行漏了个
d,
如果认为原题正确
,
则输出
k=%。

)
6.
10!,Right!11 7.
$$$a=0
8.
a=2,b=1
9.
0<a<b
第六章
习题
一、单项选择题
1. B
2. C
3. C
4. B
5. C
6.B
8. A
二、填空题
1.
无穷次
2.
8
(原题有误。

应该把b=1
后面的逗号改为分号)
3.
20
4.
11
5.
2.400000
6.
*#*#*#$
7. 8 5 2
8.

d=1.0

k++

k<=n

x>=0

x<amin
第七章
习题

、单项选择题
1. B
2. B
3. C
4. C
5.A
3
6. A
7. B
8. A
二、填空题
1.
512
256
128
64
32
8
4
2
1
2.

a[age]++ ②
i=18;i<26 3.

break

i==8
4.

a[i]>b[j] ②

j<5
5.

b[j]=a[j][0]

b[j]<a[j][k]
6.
a[k++]=a[j]
第八章
习题
一、单项选择题
1. B
2. C
3. C
4. A
5. A
6. C
7. C
8. D
10.B
11.A
12.C
13.A
14.C
15.B
二、填空题
1.

return(0)

return(n+sum(n-1)) 2.

return(1)

n*facto(n-1)
第九章
习题
一、单项选择题
2. C
3. D
4. A
5. C
6. C
7. C
8. A
9. B
10.C
11.A
12.A
13.B
14.B
15.B
16.D
17.C
18.D
19.B
20.D
三、填空题
1.

int *

* z
2.

*p++


\0


++
4.

q=p+1

q<p+10

*q>max

*q<min
4
第十章习题
一、单项选择题
1. D
2. D
3. A
4.C
5. B
6. A
7. A
8. B
9.D
10.B
11. C
12.B
13.D
14.C
二、填空题
1. 0x
34,0x12
2.
ARRAY a[10],b[10],c[10];
3.
2,3
4.

ab

,
cd

5.
(*b).day,b->day 6.
abcdef
ghimno
hino 7.

node*

!=NULL

p=top
8
p1->next
9.

list*


return h;
第十一章
习题
一、单项选择题
1. A
2. A
3. B
5. B
6. D
(
题目有错,将D
中的
\
改成
\\)
7. B
8. B
9. B
10.B
11.B
12.B
13.C
14.C
15.D
16.A
17.D
二、填空题
1.
ASCII
,二进制
2.
pf=fopen(

A:\\zk04\\data\\txfile.dat ”
,

w

);
3.
4.
ASCII
二进制,文件尾,非0
值。

相关文档
最新文档