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 语言程序设计(第三版)习题库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语言程序设计教程》(第三版)李凤霞 主编——第九章习题答案

习题九一、单选题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 语言程序设计(第三版)习题库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语言概述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语言程序设计(第三版)习题答案习题一一、名词解释(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语言程序设计教程第三版(李凤霞)习题答案

教材习题答案第一章习题一、单项选择题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程序设计(第三版)课后习题参考解答第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。
《C语言程序设计教程》(第三版)李凤霞 主编——第十章习题答案

习题十一、单选题1~5 DDDCC6~10 AABDB11~14 CADC二、填空题1、34 122、ARRAY a,b,c;3、1 34、a c5、(*b).day=? b->day=?5、分析下列程序执行结果。
#include “stdio.h”main(){static struct s1{char c[4],*s;s1={“abc”,”def”};static struct s2{char *cp;struct s1 ss1;}s2={“ghi”,{“jkl”,”mno”}};printf(“%c%c\n”,s1.c[0],*s1.s); /*output ab */printf(“%s%s\n”,s1.c,s1.s); /*output abcdef */printf(“%s%s\n”,s2.cp,s2.ss1.s); /*output ghimno */printf(“%s%s\n”,++s2.cp,++s2.ss1.s); /* output hino */}6、以下程序的功能是:读入一行字符(如:a,...,y,z),按输入时的逆序建立一个链式的结点序列,即先输入的位于链表尾(如下图),然后再按输入的相反顺序输出,并释放全部结点。
#define getnode(type)_________malloc(sizeof(type)) ( (struct node *))main(){struct node{char info;struct node *link;}*top,*p;char c;top=NULL;while((c=getchar())______________) (!='\n'){p=getnode(struct node);p->info=c;p->link=top;top=p;}while(top){_________________; (p=top)top=top->link;putchar(p->info);free(p);}}7、下面的函数将指针p2所指向的线性链表链接到p1所指向的的链表的末端。
C语言程序设计(第三版)习题库答案

x1=__(x0+a/x0)/2__;
} while(__x1>1e-5__);
printf("%g\n",x1);
}
3x2x
15、用牛顿迭代法求方程2x4360在1.5附近的根。
#include <stdio.h>
#include __<math.h>__
#define f(x) 2*x*x*x-4*x*x+3*x-6
main(){
int x,y,z,t=0;
scanf("%d %d %d",&x,&y,&z);
if(x>y)
{t=y;y=x;x=t;}
if(x>z)
{t=z;z=x;x=t;}
if(y>z)
{t=z;z=y;y=t;}
printf("%d\n",z);
}
6、输入两个正整数m和n,求其最大公约数和最小公倍数。
落地时共经过多少米?第10次反弹多高?
#include <stdio.h>
main(){
int i,n=10;
double h=100,s=100;
for(i=2;i<=n;i++){
h*=__0.5 __;
s%f,h=%f\n",s,h);
}
13、猴子吃桃问题。猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一
}
2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9
输出要求有文字说明,取位2小数。
#include <stdio.h>
《C语言程序设计教程》(第三版)李凤霞 主编——第七章习题答案

习题七一、单项选择题1、以下程序的输出结果是()。
main(){int i,k,a[10],p[3];k=5;for(i=0;i<10;i++)a[i]=i; /*a: 0 1 2 3 4 5 6 7 8 9 */for(i=0;i<3;i++)p[i]=a[i*(i+1)]; /*p:0 2 6 */for(i=0;i<3;i++)k+=p[i]*2; /* k=5+4+12=21 */printf(“%d\n”,k);}A)20 B)21 C)22 D)232、以下正确的数组定义语句是()。
A)int y[1][4]={1,2,3,4,5}; B)float x[3][ ]={{1},{2},{3}}; C)long s[2][3]={{1},{1,2},{1,2,3}}; D)double t[ ][3]={0};3、以下程序段的输出结果是()。
main(){int m[3][3]={{1},{2},{3}}; m 1 0 0 n 1 2 3int n[3][3]={1,2,3}; 2 0 0 0 0 0printf(“%d\n”,m[1][0]+n[0][0]); 3 0 0 0 0 0printf(“%d\n”,m[0][1]+n[1][0]);}A)0 B)2 C)3 D)10 3 0 24、以下程序的输出结果是()。
main(){int i,x[3][3]={1,2,3,4,5,6,7,8,9}; 1 2 3for(i=0;i<3;i++)printf(“%d,”x[i][2-i]); 4 5 6} 7 8 9A)1,5,9 B)1,4,7 C)3,5,7 D)3,6,95、对以下程序从第一列开始输入数据:2473↙,程序的输出结果是()。
#include “stdio.h”main(){char c;while((c=getchar())!=’\n’){switch (c-‘2’){case 0:case 1:putchar(c+4);case 2:putchar(c+4);break;case 3:putchar(c+3);default:putchar(c+2);}}}A)668977 B}668966 C}66778777 D)66887666、不能正确为字符数组输入数据的是( )。
C程序设计第三版课后习题答案全解

C程序设计第三版课后习题答案全解第一章介绍本章主要介绍了C程序设计的基本概念和语法规则。
C语言作为一种通用的编程语言,被广泛应用于各个领域的软件开发中。
在本章中,我们将回答C程序设计第三版书中第一章习题,并给出详细的解答。
1.1 选择题1. A2. B3. C4. A5. D1.2 填空题1. 编译器2. 源程序3. 高级语言4. 运行时错误5. 堆栈6. 弱类型检查1.3 简答题1. 运行时错误与逻辑错误之间的区别是什么?运行时错误是程序在运行过程中出现的错误,例如除以零、数组越界等。
而逻辑错误是程序的设计或者实现上的错误,导致程序运行的结果不符合预期。
2. 为什么C语言被广泛应用于系统编程?C语言具有高效、灵活和可移植等特点,使得它成为系统编程的首选语言。
C语言可以直接访问底层硬件,具有强大的指针操作能力,同时又具备高级语言的特点,可以进行模块化设计和复用。
3. C语言的运算符有哪些类别?C语言的运算符可以分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符等。
1.4 编程题#include <stdio.h>int main() {int a = 5, b = 10;int c = a + b;printf("Sum is %d", c);return 0;}第二章数据类型本章主要讲解了C语言的数据类型及其使用方法。
数据类型是C程序中非常重要的概念,不同的数据类型可以存储不同范围和类型的数据。
在本章中,我们将回答C程序设计第三版书中第二章习题,并给出详细的解答。
2.1 选择题1. D2. A3. C4. B5. A2.2 填空题1. char2. 整型3. 浮点型4. double5. 短整型2.3 简答题1. 什么是数据类型?数据类型是一种确定数据存储和操作方式的分类。
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将以下三各整数分别赋给不同类型的变量,请画出赋值后数据在内存中的存储形式。
注:如果没有学过二进制和补码,此题可以不做。
解:各数据在内存中的存储形式如下表所示:变量的类型25 -2 32769int型00 (000011001)8 位111111111111111015100 … 001(溢出)14long型00 (000011001)24 11 (1110)3100... 0100 (001)16 14short型100 (000011001)8 111111111111111015100 … 001(溢出)14signed char(8位)100011001 11111110 00000001(溢出)unsigned int型00 (000011001)8 11 (110)15100 (001)14unsigned long型00 (000011001)24 11 (110)3100... 0100 (001)16 14unsigned short型00 (000011001)8 11 (110)15100 (001)8unsigned char型00011001 11111110 00000001其中int和short类型,其取值范围是-32768~32767。
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语言程序设计教程》(第三版)李凤霞 主编——第四章习题答案

第四章习题参考答案一、单项选择题(P83)1、putchar()函数可以向屏幕输出一个()A)整形变量值 B)实型变量值 C)字符D)字符或字符变量值2、以下选项中不是C语句的是()。
A){int i;i++;printf("%d\n",i);} B);C)a=5,c=10 D){;}3、以下合法的C语句是()。
A){a=b}; B)k=int(a+b); C)k=a+b=c; D)--i;4、执行以下程序段后,c3的值是()。
int c1=1,c2=2,c3;c3=c1/c2;A)0 B)1/2 C)0.5 D)15、若int a,b,c;则为它们输入数据的正确的语句是( )。
A)read(a,b,c); B)scanf("%d%d%d",a,b,c);C)scanf("%D%D%D",&a,&b,&c); D)scanf("%d%d%d",&a,&b,&c);6、若float a,b,c; 要通过语句:scanf("%f%f%f",&a,&b,&c); 分别为a,b,c 输入10,22,23。
以下不正确的输入形式是()。
A)10 B)10.0,22.0,33.0 C)10.0 D)10 2222 22.0 33.0 33337、若在键盘上输入:283.1900,想使单精度实型变量c的值为283.19,则正确的输入语句是()。
A)scanf("%f",&c); B)scanf("8.4f",&c);C)scanf("%6.2f",&c); D)scanf("8f",&c);8、执行语句:printf("|%10.5f|\n",12345.678);的输出是()。
《C语言程序设计教程》(第三版)李凤霞 主编——第二章习题答案

第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。
A)语言的表达能力B)语言定义严格 C)数据结构系统化 D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。
A)编辑和编译 B)编译和连接 C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。
A)标准库文件 B)目标文件C)源程序文件 D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。
A)auto,enum,include B)switch,typedef,continueC)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。
A)print B)I \am C)signed D)if_maf scanf 3mf ty_prmx_2d mx_ a.f x1#aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。
A)表达式语句 B)选择语句 C)循环语句 D)转移语句7、下面描述中,不正确的是________。
A)C语言的函数体由一系列语句和注释组成。
B)注释内容不能单独写在一行上。
C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。
D)scanf和printf是标准库函数而不是输入和输出语句。
8、下面描述中,正确的是________。
A)主函数的花括号必须有,而子函数中的花括号是可有可无的。
B)一个C程序行只能写一个语句。
C)主函数是程序启动时的唯一入口。
D)函数体包含了函数说明部分。
二、填空题1、一个完整的C程序至少要有一个________函数。
(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。
(编译系统)3、C语言是以________为基本单位、整个程序由________组成。
《C语言程序设计教程》(第三版)李凤霞 主编——第五章习题答案

(3)用if-else分支结构
main( )
{ int x, y;
scanf ("%d",&x);
if ( x<0 && x>-5 ) y=x;
else if ( x<5 && x>=0 ) y=x-1;
else if ( x>=5 && x<10 ) y=x+1;
printf ("%d,%d\n",x,y);
else printf("min=%d\n",b<c?b:c);
}
/*p116_1A.c */
main()
{int a,b,c;
scanf("%d%d%d",&a,&b,&c);
if(a>b)
if(b>c)printf("%d\n",c);
else printf("%d\n",b);
else if(a>c)printf("%d\n",c);
}
(4)用switch( )结构(4)改
main( )main()
{ int x, y, k;{int x,y;
printf ("Please input x :-5-----10\n");do
scanf ("%d",&x);scanf(“%d”,&x);
if ( x<0 ) k=-1;while(x<=-5||x>=10);
}printf(“x=%,y=%d\n”,x,y);
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位的正整数,要求:①求它是几位数;②按逆序打印出各位数字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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
值。