C语言程序设计(第3版)第3章习题参考答案
《C语言程序设计》课后习题参考答案 李勃 邱晓红 主编 清华大学出版社

《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.单选题(1)C (2)D (3)C (4)B (5)C (6)A (7)B (8)D (9)A(8)D(9)A(10)B(11)C(12)C(13)D(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)A2.填空题(1)sqrt(pow(y,x)+log10(y)) (2)36(3)6(4)3 3(6)36(7)int x=8,y=8;(8)1(9)E(10)6,7,8,9(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 72 74 94 412 12116(3)100 d 68 D97 a 49 1 (4)0 1 0 1 (5)2 4 6 7-0.58 7046.587.5(6)33 12 113 13 082 32(7)618 30181814.改错题(1)①无初始赋值,不能输出②数据精度丢失③少“;”号④单字符变量不能保存字符串常量⑤不能连续初始化⑥非法标识符(2)short i=38000溢出PI=3.1416 常量不能修改值Printf(“%d”,x%y) %必须是整数a*=(b+c)/=d符合赋值左边不能是表达式第三章:算法概念与顺序结构程序设计1.选择题(1)D(2)B、D(3)D(4)B(5)C(6)A(8)C(9)B(10)D2.填空题.(1)一条语句;(2)小于左右(3)%%(4)输出项列表输出控制符(5)取地址取a的地址(6)从盘获取一个字符(7)大括号(8)f=68.00(9)n1=%d\n n2=%d(10)7,5,c=33.程序分析题.(1)i=100,c=a,f=1.234000(2)65535,65536(10)1234,123.5,12345.5第四章:选择结构程序设计(1)C (2)B (3)B (4)B (5)D (6)D (7)D (8)A (9)B (10)A (11)B (12)B (13)D (14)A (15)C (16)A (17)C (18)D (19)B (20)D (21)A(23)A(24)A2.填空题.(1)1(2)5 8 8(3)4 5 99(4)2(5)10 20 0(6)2 1(7)-4(8)3(9)No(10)25(11)45 45(12)0(13)5.5(14)13(15)3第五章:循环结构程序设计(1)C(2)A(3)D(4)B(5)D(6)B(7)A A或B(8)输出4444(9)B(10)A(11)B(12)C(13)A(14)B2.填空题.(1)r=m;m=n;n=rm%n(2)3(3)-5(4)i%3==2&&i%5==3&&i%7==2 j==5j!=k(6)int s=8,j=i+2k+i+j==8(7)8(8)k&&i<=500 k/10 continue第六章:数组1.选择题(1)B(2)C(3)D(4)D(5)B(6)C(7)B(8)A(9)A(10)D2.填空题.(1)按行序优先的原则(2)0 9(4)1 2(5)6(6)前者以回车后者以空格或回车作为间隔符(7)gets()(8)&a[i](9)char k -1(10)9 83.程序分析题.(1)1 3 7 15(2)0 0 0(3)读取输入字符串中数字字符(4)①if(str1==str2) (strcmp(str1,str2)==0)②&c1[0]③m[i][k-1]第七章:函数的调用1.选择题(1)B(2)C(3)C(4)A(6)D(7)D(8)D(9)B(10)D(11)A(12)A(13)B(14)B2.填空题.(1)有参无参(2)顺序类型(3)定义调用(4)①fmax(a,N) ②s[k]=s[p](5)①age(n-1)+2 ②age(5)(6)①prt(c,n-1) ②prt(…‟,n-i) ③prt(…*‟,2*i-1) 3.程序分析题.(1)h l o(2)3(3)2 6(4)5 25。
第3章练习题(附参考答案)

第3章练习题参考答案一、判断题(正确Y,错误N)1.软件产品的设计报告、维护手册和用户使用指南等不属于计算机软件的组成部分。
2. 完成从汇编语言到机器语言翻译过程的程序,称为编译程序。
3. 有一种计算机系统允许多个用户同时使用,每个用户都感觉好象自己在“独占”该计算机一样,这样的系统称为“分时处理系统”。
4. 从应用角度出发,通常将软件分为系统软件和应用软件两类,数据库管理系统软件属于应用软件。
5. 计算机软件技术就是指程序设计技术,包括程序的设计、编码、调试和维护等。
6. BIOS,Windows操作系统,C语言编译器等都是系统软件。
7. 汇编语言是面向机器指令系统的,因此汇编语言程序可以由计算机直接执行。
8. 程序是软件的主体,单独的数据和文档一般不认为是软件。
9. 操作系统的处理器调度程序负责计算机中所有处理器的分配和回收。
10. .虚拟存储器其实就是外存储器。
11.语言处理系统中的连接程序是将多个分别编译或汇编过的目标程序和库文件进行组合。
12. 所谓系统软件,就是购置计算机时计算机供应商提供的全部软件。
13.计算机自举完成后,操作系统的所有程序常驻内存。
操作系统可以在任何计算机上运行。
15.在裸机上不能运行任何程序。
16.在Windows系统中每张片软盘和每个逻辑硬盘经过高级格式化后都有一个根目录区存在于盘中。
参考答案:1~10:NNYNNYNYNN 11~16:YNNNNY二、单选题1. 目前流行的很多操作系统都具有网络功能,可以作为一个网络操作系统,以下操作系统中不能作为网络服务器操作系统的是_______。
A. Windows 98 B. Windows NT ServerC. Windows 2000 Server D. UNIX2. 高级语言种类繁多,但其基本成分可归纳为四种,其中对处理对象的类型说明属于高级语言中的_______ 成分。
A.数据B.运算 C.控制D.传输3. 在下列常用的PC机软件中,编辑的文档(内容)能直接保存为图片类型(例如JPEG文件类型)的是。
C语言 第三章 顺序结构程序设计期末测试习题与答案

B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!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语言程序设计第三版部分习题 (谭浩强著)清华大学出版社课后答案。
txtcopy(复制)别人的个性签名,不叫抄袭,不叫没主见,只不过是感觉对了。
遇到过的事一样罢了。
【习题1】一、简答题(在课本中寻找答案,略)1.1 C程序的基本结构包括哪些内容?1.2 如何定义标识符?1。
3 输入格式、输出格式的组成包括哪些内容?1.4 C语言函数分为哪两类?1。
5 计算表达式的值应该考虑哪些方面?1.6 上机调试程序的步骤如何?二、判断并改错1.7 C程序执行的入口是main()函数,所以main函数必须放在程序的开头.错误:main函数可以放在程序的任何位置.并不限定在程序的开头。
1。
8 定义一个函数包括数据说明部分和执行语句部分,两者可以交叉出现.错误:不可以交叉出现,数据说明部分在执行语句部分的前面。
1。
9 编辑与编译不是一回事。
错误:不是一回事。
编辑完成源程序的输入和修改;编译是对源程序进行语法检查,如果无语法错误,则生成目标程序。
1.10 scanf("%d,%d”,&x,&y);的正确输入格式:3,4<回车〉.正确1。
11 注释内容太多会影响程序的执行效率。
错误:不会影响程序的执行效率。
因为在编译时,编译系统将注释内容删除或用空格代替,所以注释内容不会编译到目标程序中.1.12 所有的数学公式可以直接出现在源程序中.错误:数学公式需要转换成C语言能够接受的公式才能出现在源程序中。
三、编程题1.13 在屏幕上输出自己名字的拼音.提示:中文名字叫“张三”,对应的拼音为“Zhang San”,输出用printf()函数。
1.14 输入圆的半径,求圆的周长,并将结果保留两位小数输出到屏幕上。
提示:定义圆的半径r,圆的周长:2*3.14*r,输出结果保留2位小数可以用%。
2f1。
15 输入两个整数,输出其中最大者。
提示:模仿例1。
31.16 输入三个整数,输出其中最小者.提示: min(min(a,b),c);【习题2】一、简答题(在课本中寻找答案,略)2.1 常量与变量的区别?2。
c语言程序设计第三版谭浩强课后习题及答案

c语言程序设计第三版谭浩强课后习题及答案C语言程序设计是一门基础而重要的编程课程,谭浩强教授的《C语言程序设计》第三版是许多高校计算机专业学生的必修教材。
课后习题是检验学生对课程内容掌握程度的重要手段,以下是部分习题及答案的示例。
# 第一章:C语言概述习题1:简述C语言的特点。
答案: C语言是一种结构化编程语言,具有以下特点:1. 简洁、紧凑、贴近硬件。
2. 丰富的运算符和数据类型。
3. 具有结构化控制语句。
4. 支持模块化程序设计。
5. 可移植性好。
习题2:为什么说C语言具有“高级语言”的特点?答案: C语言被称为高级语言,因为它:1. 抽象了机器语言的复杂性。
2. 允许使用变量名代替内存地址。
3. 提供了丰富的控制结构和数据类型。
4. 支持高级的编程概念,如函数、数组和指针。
# 第二章:数据类型、运算符和表达式习题3:写出C语言中的基本数据类型。
答案: C语言中的基本数据类型包括:- 整型:`int`- 浮点型:`float` 和 `double`- 字符型:`char`习题4:解释赋值运算符的右结合性。
答案:赋值运算符的右结合性意味着当多个赋值运算符出现在同一个表达式中时,它们将从右向左进行计算。
例如,在表达式 `a = b = c;` 中,首先计算 `b = c`,然后将结果赋值给 `a`。
# 第三章:控制语句习题5:描述if语句的基本用法。
答案: if语句用于基于条件执行代码块。
基本语法如下:```cif (条件) {// 条件为真时执行的代码} else {// 条件为假时执行的代码}```其中条件是一个表达式,如果其值为真(非零),则执行if块中的代码;如果为假(零),则执行else块中的代码。
习题6:举例说明for循环的使用。
答案: for循环用于重复执行一段代码,直到给定条件不再满足。
基本语法如下:```cfor (初始化表达式;条件表达式;更新表达式) {// 循环体}```例如,打印0到9的数字:```cfor (int i = 0; i < 10; i++) {printf("%d ", i);}```以上是部分习题及答案的示例。
《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]
![《C语言程序设计教程》(第三版)课后习题参考答案(精选5篇)[修改版]](https://img.taocdn.com/s3/m/893b22c5a32d7375a517800b.png)
第一篇:《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、A二、填空题1、主2、C编译系统3、结构化4、程序5、面向对象方法6、.OBJ7、库函数8、直到型循环结构习题三一、单项选择题1、D2、B3、A4、C9、B10、C11、A12、D13、C17、B18、C19、C20、D21、A25、D26、A二、填空题1、补码2、10^-138~10^1 38、15~166、A7、B6、D7、B14、B15、C22、D8、C8、D16、A24、D、A3、实4、单目运算符、自右向左5、函数调用6、65,89习题四一、单项选择题1、D2、C3、D4、A5、D6、B7、A8、C9、B10、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、B二、填空题1、1 、02、k!=03、if(x>4||xelse printf(“error!”); 4、if(((x>=1&&x=200&&x Printf(“%d”,x);5、16、17、10! Right!8、a=09、2,110、0习题六一、单项选择题9、D1、B2、C3、C4、B5、C6、B7、C8、A二、填空题1、无穷次2、83、205、3.66、*#*#*#$7、828、d=1.0 、k++、k9、!(x习题七一、单项选择题1、B2、D3、C4、C5、A二、填空题1、1 2 4 8 16 32 64 128 256 5122、a[age]++、i=18;i3、break、i==84、a[i]>b[i]、i3、j5、b[j]=0、b[j]=a[j][k]习题八一、单项选择题1、B3、C4、A5、A9、D10、B11、A12、C13、A二、填空题1、return1、return n+sum(n-1)2、return1、n*facto(n-1)习题九一、单项选择题1、D2、C3、D4、A5、C9、B10、C11、A13、B17、C18、A19、B20、C二、填空题1、int 、return z2、*p++3、’\0’、++4、p、max*q6、A7、D6、A7、C14、C15、B6、C7、C14、A15、D8、A8、D8、C习题十一、单项选择题1、D2、D3、A4、5、B6、A7、C8、B9、D10、11、C12、D13、D14、C二、填空题1、34 122、ARRAY a[10],b[10],c[10];3、2 34、ab、cd5、(*b).day、b->day6、adghi mnohi no7、(struct node *)、!=’\n’、p=top;8、p1=p1->next9、(struct list *)、(struct list *)、return (n)习题十一一、单项选择题1、A2、A3、B4、A5、B9、A10、B11、B12、B13、C17、D二、填空题1、ASCII(文本)、二进制2、pf=fopen(“A:\zk04\data xfile.dat”,”w”);3、fputc()、fputs()、fscanf()、fread()4、(后两个空)文件结束符、非0值7、B14、C15、D8、A16、A第二篇:C语言程序设计教程课后习题参考答案《C语言程序设计教程》课后习题参考答案习题1 1. (1)编译、链接.exe (2)函数主函数(或main函数)(3)编辑编译链接2.(1)-(5):DDBBC (6)-(10):ABBBC 3.(1)答:C语言简洁、紧凑,使用方便、灵活;C语言是高级语言,同时具备了低级语言的特征;C 语言是结构化程序设计语言,具有结构化的程序控制语句;C语言有各种各样的数据类型;C语言可移植性好;生成目标代码质量高,程序执行效率高。
谭浩强C语言程序设计教程(第三版)课后习题答案

for(i=1;i<=n;i++)
{
t=t*i; /* 实现阶乘*/
sum=sum+1/t;
}
printf("e=%lf",sum);
}
源程序二:(2)用while循环实现
#include<math.h>
}
——————————————————————————————————————
5.19 编写程序,输出从公元1000年至2000年所有闰年的年号 每输出3个年号换一行。
判断公元年是否闰年的条件是:
(1)公元年数如能被4整除,而不能被100整除,则是闰年。
(2)公元年数能被400整除也是闰年。
if(d1<d0)m1=m1-1;
if(m1<m0)y1=y1-1;
age=y1-y0;
printf("\nAge=%d",age);
}
——————————————————————————————————————
4.23 编写程序,输入一个整数,打印出它是奇数还是偶数。
3.33 编写程序,读入三个整数给a,b,c,然后交换它们中的数,把a中原来的值给b,
把b中原来的值给c,把c中的值给a。
※程序如下※
main( )
{
int a,b,c,t=0;
printf("input a b c:\n");
scanf("%d%d%d",&a,&b,&c);
else if(x==0)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
习题三参考答案
(1)从键盘输入一个年份值,判断是否闰年。
设iYear为某一年份,iYear为闰年的条件为:iYear可以被4整除且不可以被100整除,或者iYear可以被400整除。
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
int iYear;
printf("please input the year:");
scanf("%d",&iYear);
if(iYear%400==0||(iYear%4==0&&iYear%100!=0))
printf("%d is leap",iYear);
else
printf("%d is not leap",iYear);
getch();
return 0;
}
(2)从键盘输入三个整数,按由小到大的顺序输出。
#include "stdio.h"
main()
{int i,j,k,max;
scanf("%d%d%d",&i,&j,&k);
max=i>j?i:j;
max=max>k?max:k;
printf("max=%d",max);
getch();
}
(3)假设星期一至星期五每工作一小时的工资是20元,星期六和星期日每工作一小时的工资是平时的3倍,其中工资的4.5%是税金。
试编一程序从键盘输入星期序号(1,2,3,4,5,6,7,分别表示星期一至星期天)和工作小时数,计算该日的工资及应交税金。
#include "Stdio.h"
#include "Conio.h"
int main(void)
{
int iWeek,iHours ;
float fSalary,fTaxes;
printf("please input the week number(1-7):");
scanf("%d",&iWeek);
printf("please input the work hours(1-12):");
scanf("%d",&iHours);
switch(iWeek){
case 1:
case 2:
case 3:
case 4:
case 5:
fSalary=20*iHours;
fTaxes=fSalary*0.045;
break;
case 6:
case 7:
fSalary=3*20*iHours;
fTaxes=fSalary*0.045;
break;
}
printf("the salary is %f ,the taxes is %f",fSalary,fTaxes);
getch();
return 0;
}
(4)从键盘输入三角形的三条边长,判断是否构成三角形,如能则求出三角形的周长和面积并输出;如不能,输出不能构成三角形的信息。
构成三角形的条件为:三角形任意两边的和大于第三边时,构成三角形。
面积计算公式为:fArea
其中,f1,f2,f3是三角形的三条边长,fTemp=(f1+f2+f3)/2。
计算一个数的平方根可用函数float sqrt(float f),该函数是数学库函数,需要在程序的开头加上#include <math.h>。
#include "Conio.h"
#include "math.h"
int main(void)
{
float f1,f2,f3,fTemp,fC,fArea;
printf("please input triangular three sides:");
scanf("%f,%f,%f",&f1,&f2,&f3);
if(f1+f2>f3&&f2+f3>f1&&f1+f3>f2){
fTemp=(f1+f2+f3)/2;
fArea=sqrt(fTemp*(fTemp-f1)*(fTemp-f2)*(fTemp-f3));
fC=2*fTemp;
printf("The triangle area is %f\n" ,fArea);
printf("The circumference of the triangle is %f ",fC);
}else
printf("Don't make the triangle");
getch();
return 0;
}
(5)iX2+iY2=16是平面上的一个圆,编一程序判断点(2,4)是在圆内?圆外?还是圆上?#include "Conio.h"
#include "math.h"
int main(void)
{
int ix,iy;
printf("please input a point coordinates :");
scanf("%d,%d",&ix,&iy );
if(ix*ix+iy*iy<16)
printf("The point is in the circle inside\n" );
else if(ix*ix+iy*iy>16)
printf("The point is in the circle of the external\n");
else
printf("The point is in the circle round\n");
getch();
return 0;
}
(6) 输入一个5位正整数,判断它是不是回文数。
所谓回文数是指12321、23732…这样的数。
#include "stdio.h"
main()
{long i,i0,i1,i2,i3,i4 ; /*i0个位,i1十位,i2百位,i3千位,i4万位*/
printf("please input a integer:");
scanf("%ld",&i);
i0=i%10;
i1=i%100/10;
i2=i%1000/100;
i3=i/1000%10;
i4=i/10000;
if(i0==i4&&i1==i3)
printf("%ld is huiwen",i);
else
printf("%ld is not huiwen",i);
getch();
}
(7) 输入一个日期的年、月、日,计算并输出这天是该年的第几天。
比如:2011年1月
31日,是该年的第31天。
#include "stdio.h"
main()
{
int year,month,day,days; /*年,月,日,该年第几天*/
printf("please input the year month day:");
scanf("%d%d%d",&year,&month,&day);
days=0;
switch(month){
case 1:
days=day; break;
case 2:
days=day+31; break;
case 3:
days=day+31+28;break;
case 4:
days=day+31+28+31;break;
case 5:
days=day+31+28+31+30;break;
case 6:
days=day+31+28+31+30+31;break;
case 7:
days=day+31+28+31+30+31+30;break;
case 8:
days=day+31+28+31+30+31+30+31;break;
case 9:
days=day+31+28+31+30+31+30+31+31;break;
case 10:
days=day+31+28+31+30+31+30+31+31+30;break;
case 11:
days=day+31+28+31+30+31+30+31+31+30+31;break;
case 12:
days=day+31+28+31+30+31+30+31+31+30+31+30;break;
}
if((month>=3&&month<=12)&&(year%4==0&&year%100!=0)||year%400==0) days+=1;
printf("days=%d",days);
getch();
}。