C语言课后作业答案

合集下载

C语言课后习题及答案

C语言课后习题及答案

三、根据下列条件写一个 C/C++表达式。 1.a 和 b 中有一个大于 d:a>d||b>d 2.将 x、y 中较大的值送给 z:z=x>y?x : y 3.将直角坐标系中点(x,y)表示在第 3 象限内:x<0&&y<0 4.3 个数据 x、y、z 能组成三角形:x+y>z||y+z>z||x+z>y 5.将含有 3 位小数的实型变量 x 的值,四舍五入到百分位:(int)(x*100+0.5)/100. 6.d 是不大于 100 的偶数:d>0&&d<=100&&d%2==0 7.x、y 中至少有一个是 5 的倍数:x%5==0||y%5==0 8.对 n(>0)个人进行分班,每班 k(>0)个人,最后不足 k 人也编一个班,问要编几个班: n%k==0?n/k : n/k+1 四、编程题: 1 编程序求半径为 r、高为 h 的圆柱体的体积。 #include "iostream.h" void main() {float r,h,v; cin>>r>>h; v=3.1416*r*r*h; cout<<v; } 2.任意输入 3 个数据,输出它们的平均值和最小的一个数。 #include "iostream.h"
5.在 cout 命令中,使用 ( )格式控制符可以把一个数据以十六进制的形式输出。hex 6.在 C/C++中,头文件的扩展名一般为( ) 。.h 7.程序的错误一般分两种: ( )和( ) 。前者是编译器可以发现的,而后者编译器则无 法发现。语法错误和逻辑错误 8.在 Visual C++中调试程序时,可以使用快捷菜单中的 ( )命令来插入断点和清除断 点。Insert/Remove Breakpoint 9.C++源程序的扩展名为( ) 。.cpp 10. 在 Visual C++中, 浏览当前项目中的所有源程序文件应在工作区的 ( ) 选项卡。 Fileview 三、 简答题

C语言课后习题答案(最终)

C语言课后习题答案(最终)

第0章习题1. 将下列十进制数分别转化为二进制数、八进制数和十六进制数:(1)128 (2)511 (3)1024 (4)65535 (5)1048575答:(1)10000000、200、80(2)111111111、777、1FF(3)10000000000、2000、400(4)1111111111111111、177777、FFFF(5)11111111111111111111、3777777、FFFFF2. 将下列二进制数转化为十进制数和十六进制数:(1)1100110101B (2)101101.1011B答:(1)821、335(2)45.6875、2D.B3. 写出下列数的原码、反码、补码:15、-20、-27/32答:(1)00001111、00000000、00001111(2)10010100、11101011、11101100(3)1.1101100、1.0010011、1.00101004. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少?答:0~65535、-128~127、-32768~327675.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。

答:结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。

如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。

6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么?答:C语言程序属于应用程序,程序代码本身存放在应用程序区,程序运行时处理的数据存放在应用程序数据区。

计算机的内存空间主要分为3个区:系统程序区、应用程序区和数据区,其中数据区又分为系统程序数据区和应用程序数据区两类。

C语言课后习题答案

C语言课后习题答案
printf(“第十次反弹 %f 米\n”,t/2);
}
第五章 数 组
一、单项选择题
1. B 2. A 3. C 4. C 5. D 6. B 7.C 8.B 9.C 10. B
二、写出下列程序的运行结果
1.S=368
2.
*****
*****
2.顺序结构,分支结构,循环结构
3.所谓算法就是为解决一个问题而采取的方法和步骤。
算法的特性:有穷性、确定性、输入、输出、可行性。
表示算法的方式:(1)用自然语言表示;(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。
二、算法
1. 瓶子A里盛有醋
}
第二章 数据类型与表达式
一、单项选择题
1. B 2. C 3. A 4. A 5. D 6. B 7.A 8.C 9.D
二、写出下列程序的运行结果
1.
aabb cc abc
AN
2.
ab
9798
3. 9,11,9,10
b=temp
如果 c>a
temp = a
a=c
c=temp
否则
如果 c>b
temp=b
b=c
c=temp
打印a,b,c的值
4. i=1
sum=0
以下程序循环100遍:
sum=sum+i
i=i+1
跳出循环
否则
i=i-1
打印i的值
8. data=b*b—4*a*c
如果data>0
否则 如果data=0

C语言教材课后习题答案

C语言教材课后习题答案

2.简述程序设计语言发展的过程
程序设计语言经过最初的机器代码到今天接近自然语言的表达, 经过了四代的演变。 一 般认为机器语言是第一代,符号语言即汇编语言为第二代,面向过程的高级语言为第三代, 面对象的编程语言为第四代。
3.简述高级程序设计语言中面向过程与面向对象的概念。
“面向过程”是一种以过程为中心的编程思想。首先分析出解决问题所需要的步骤,然 后用函数把这些步骤一步一步地实现, 使用的时候依次调用函数即可。 一般的面向过程是从 上往下步步求精,所以面向过程最重要的是模块化的思想方法。 “面向对象”是一种以事物为中心的编程思想。面向对象的方法主要是将事物对象化, 对象包括属性与行为。 面向过程与面向对象的区别:在面向过程的程序设计中,程序员把精力放在计算机具体 执行操作的过程上,编程关注的是如何使用函数去实现既定的功能;而在面向对象的程序设 计中,技术人员将注意力集中在对象上,把对象看做程序运行时的基本成分。编程关注的是如 何把相关的功能(包括函数和数据)有组织地捆绑到一个对象身上。
不能使变量 k 得到正确数值的原因是: scanf("%d", &k);中的格式控制类型与变量 k 的定义类型不匹配,应将%d 改为%f.
习题 4 答案
选择题 1. B 2. A 3. B 4. B 阅读程序,写结果 7. 12 8.13 9. *0**2* 10. if(s>=90) m=4; else if(s>=80) m=3; else if(s>=70) m=2; else if(s>=60) m=1; else m=0; 11.输入 4 个整数 a,b,c,d,编写程序,将它们按从大到小顺序输出。 #include<stdio.h> main() { int a,b,c,d,t; scanf("%d%d%d%d",&a,&b,&c,&d); if(a<b) {t=a;a=b;b=t;} if(a<c) {t=a;a=c;c=t;} if(a<d) {t=a;a=d;d=t;} if(b<c) {t=b;b=c;c=t;} if(b<d) {t=b;b=d;d=t;} if(c<d) {t=c;c=d;d=t;} printf("%4d%4d%4d%4d",a,b,c,d); } 12.据所输入的 3 条边长值,判断它们能否构成三角形,如能构成,再判断是等腰三角形、 直角三角形还是一般三角形? 源程序: 5. C 6. B

C语言课后习题标准答案

C语言课后习题标准答案

C语言课后习题标准答案第1章C语言概述一、简答题1.(1)语言简洁、紧凑,使用方便、灵活;(2)运算符丰富;(3)具有丰富的数据类型;(4)具有结构化的控制语句;(5)语法限制不太严格,程序设计自由度大;(6)C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接访问硬件;(7)生成目标代码质量高,程序执行效率高;(8)用C语言写的程序可移植性好,基本上不作修改就能用于各种型号的计算机和各种操作系统。

2.顺序结构,分支结构,循环结构3.所谓算法就是为解决一个问题而采取的方法和步骤。

算法的特性:有穷性、确定性、输入、输出、可行性。

表示算法的方式:(1)用自然语言表示;(2)用流程图表示;(3)用N—S流程图表示;(4)用伪代码表示;(5)用计算机语言表示。

二、算法1.瓶子A里盛有醋瓶子B里盛有酱油那一个空瓶C将A中的醋倒入C将B中的酱油倒入A将C中的醋倒入B2.输入一个数放在a中max=a以下步骤重复9次:输入一个数放在a中如果a>max,max=b打印max的值3.如果ﻩﻩa<btemp=aﻩa=bﻩﻩb=temp如果c>aﻩtemp1=aﻩﻩtemp2=ba=cﻩb=temp1ﻩc=temp2否则ﻩ如果ﻩc>bﻩtemp=bﻩb=cﻩc=temp打印a,b,c的值4.i=1sum=0以下程序循环100遍:sum=sum+iﻩi=i+1打印sum的值5.如果(n除以3的余数为0并且n除以5的余数为0)n能够同时被3和5整除否则ﻩn不能够同时被3和5整除6.i=101以下语句循环50遍:ﻩj=2ﻩflag=1ﻩ当j<(i除以2的整数部分)时循环以下语句:ﻩﻩ如果i除以j的余数为零ﻩﻩﻩflag=0ﻩﻩﻩ退出该循环如果flag=1ﻩﻩﻩ打印i的值ﻩi=i+17.如果m<nﻩﻩtemp=mﻩﻩm=nn=tempi=nj=1做以下循环,直到m能够被i/j整除:如果i能够被j整除并且m能够被i/j整除i/j即是m和n的最大公约数ﻩ跳出循环否则ﻩj=j+1打印i/j的值8.data=b*b—4*a*c如果data>0否则如果data=0ﻩx1=x2=—b/2否则无实数解三、编程题1.main(){ﻩprintf(“##############################\n”);ﻩprintf(“How do youdo?\n”);ﻩprintf(“##############################\n”);}2.main(){adata b x2)(1+-=a data b x2)(2--=。

C语言课后习题答案

C语言课后习题答案

第1章绪论一、选择题1-5 CDACA 6-10 BABBA 11-15 CACDA二、程序填空题(1)函数(2)主/main(3)scanf printf(4)函数(5){ } (6)编译_ 链接(7)/*_____和_*/___(8)_.c_(9)程序设计语言(10)机器语言__、_汇编语言_和__高级语言__第2章基本数据类型及顺序结构程序设计一、选择题1-5 DCABB 6-10 DDA不要A 11-15 AABDB 16-20 BCDAB21-25 CADBA 26-30 DBACA 31-35 BDCBB二、程序阅读题(1)G (2)0 (3)3 (4)2,1 (5)0 (6)16 (7)261 (8)7 (9)b (10)3 (11)10300 (12)10200 (13)2 20.0 (14)67 G三、程序填空题1、基本数据类型、构造类型其它类型2、4 4 8 13、double4、abs(x)>55、6.66、y%2!=07、i=10,j=20 8、n1=%d\nn2=%d9、printf(“a=%d, b=%d”,a,b) ; 10、1第3章分支结构一、选择题1-5 DA不要CD 6-10 BDBBC 11-15 CACCB 16-20 BDBAC21-25CDACB 26-30AADBB二、程序阅读题(1)20,0 (2)5858 (3)58(4)BBBB(5)-4(6)9 4 5 (7)_#&_(8)1,3,3(9)1 (10)0三、程序填空题(1)x%7==0&&x%11==0 (2)y%100!=0&&y%4==0 f=0(3)g/10(4)ch>=’a’ && ch<=’z’32(5)a:b c:t1 (6)a+b>c&&a+c>b&&b+c>a第四章循环结构一、选择题1-5 ABBCD 6-10 BBBAC 11-15 BDABC 16-20 CCCCA 21-25ACDBB 26-30 ADAAC 二、程序阅读题(1)52 (2)8921 (3)5(4)210(5)14,4(6)1978(7)0918273645(8)5(9)6(10)X=4三、程序填空题(1)-f (2)1.0/i (3)t*10 (4)18 (5)x (6)1.0/(i*i)(7)N i (8)i%10 i/10 (9)a+i b+i+1 (10)i<10 j%3==0第五章函数一、选择题1-5 CBCDD 6-10 BABDC 11-15DDBAB 16-20 DBBAC 21-25BBBBC二、程序阅读题(1)1,5,1,1,0,-2 (2)14 (3)1 3 6 (4)9 (5)9.0(6)1,6,3,2,3 (7)15 (8)3,2,2,3 (9)m=4 k=4 i=5 k=5(10)10 (11)15三、程序填空题(1)double max (2)check(n-i) x%i==0 (3)return 0 return 1(4)max(int , int) (5)func() m++(6)fun(10)(7)s=1,a=1,b=1(8)x x*x+1第六章数组一、选择题1-5 CDBBD 6-10 DCDDA 11-15 CACDC 16-20 BAAAA 21-25 BDBAA26-30 DCCDB二、程序阅读题(1)99 (2)204 (3)357 (4)30 (5)6 (6)abc (7)CDABC (8) 3 4 (9)5678901234 (10)abcbcc三、程序填空题(1)i=1 x[i-1] (2)a[i-1] a[9-i] (3) j/2 str[j-1] (4) i-0;i<9-j;i++ i<10 (5)b[j][i] printf(”\n”); printf(”\n”); (6) x[i][i] x[i-1][j-1]+x[i-1][j](7)s[i]>=’0’&&s[i]<=’9’(8)s[i++] (9) s[i]>=’0’&&s[i]<=’9’(10) j=j+2 a[i]>a[j]第七章指针一、选择题1-5 BBBDA 6-10 DCDAC 11-15 BBDDC 16-20 CACDA 21-25 DDADC26-30 BABAA二、程序阅读题(1)3 (2)60 (3) 6 (4)3 (5)8 (6)Afgd (7)6(8)\0 (9)15 (10)24三、程序填空题(1)60(2)a+10 *p%2==0 (3)*pmax=x (4) *p>*s(5) str+strlen(str) t==0 huiwen(str) (6) *++p(7) ’\0’ (8) int * (9) *str++ i (10)a[row][colum] row第八章结构体一、选择题1-5 BBDBB 6-10 BCBCA 11-15 CDBDD 16-20 AACCD二、程序阅读题(1)30 (2)51 (3)4 (4)defdef (5)1001,ChangRong,1098.0 (6)2,3 (7)Qian,P,95,92(8)80 (9)13431 (10)Penghua 20045 527三、程序填空题(1)struct DATE d={2006,10,1} ;(2)ex (3) struct list * next(4) p=(double *)malloc(sizeof(double))(5) person[i].sex t==0 huiwen(str) (6) p++(7) struct STRU第9章文件一、选择题1-5 CABDD 6-10 DDCBC 11-15 BABDD 16-20 DADDA二、程序阅读题(1)12456 (2)1,2,3,0,0,1,2,3,0,0,(3)123 (4)Chinang三、程序填空题(1)“a+”(2)“d1.dat”, “r”(4) “bi.dat”,”w”(5) fp==0 !feof(fp) (6) Hell(7) fopen myf (8)“filea.dat”, “r”第10 章预处理命令一、选择题1-5 DDCCB 6-10 BBBDB 11-15 BABCB二、程序阅读题(1)125(2)8(3)12(4)12 (5)7.5(6)81(7)7 (8)c (9)25 (10)28。

C语言课后作业答案

C语言课后作业答案
else ch=ch-32;
}
else ch=ch;
printf("%c\n",ch);
}
3-5-2大写转化成小写或者小写变大写
#include <stdio.h>
void main()
{
char ch;
printf("请输入一个字符:");
scanf("%c",&ch);
ch=ch;
{
if(ch>='A'&&ch<='Z')ch=ch+32;
printf("a=%d,b=%d\n",a,b);
}
}
水仙花数1
#include <stdio.h>
void main()
{
int m,i,j,k,n=0;
for (m=100;m<=999;m++)
{
i=m/100;
j=m/10-i*10;
k=m%10;
if (m==i*i*i+j*j*j+k*k*k) n++,
switch(ch)
{
case '+':printf("%f+%f=%f\n",x,y,x+y);break;
case '-':printf("%f-%f=%f\n",x,y,x-y);break;
case '*':printf("%f*%f=%f\n",x,y,x*y);break;
case '/':printf("%f/%f=%f\n",x,y,x/y);break;

c语言课后习题参考答案

c语言课后习题参考答案

第1章习题参考答案1、选择题(1)C (2)C (3)D (4)B (5)D(6)D (7)C (8)A (9)A (10)C2、填空题(1)函数、一个主函数、函数。

(2) /*、*/ 。

(3) 连接。

(4) # 。

(5) main 。

(6) /*……*/ 。

(7) .h 。

(8) F5 。

(9) .exe (10) .exe 、 .obj 、.exe 。

3、程序设计题(1) #include <stdio.h>void main(){printf(" *\n");printf(" * S *\n");printf(" *\n");}(2) #include <stdio.h>void main(){printf("*****************\n");printf("Your are welcome!\n");printf("-----------------\n");}(3) #include <stdio.h>void main(){char c1,c2;printf("请输入c1和c2的值:");c1=getchar();scanf(" %c",&c2);printf("c1=%c\n",c1);printf("c2=");putchar(c2);printf("\n");}第2章习题参考答案1、简述算法的概念。

答:算法就是为解决一个具体的问题而使用的确定的、有限的方法和步骤。

2、算法应具备哪些特性?答:算法应具备有穷性、确定性、可行性、输入、输出等五种特性。

3、分别说明什么是自然语言描述法?什么是框图语言描述法?什么是伪语言描述法?什么是N-S框图语言描述法?它们的优缺点各是什么?答:①用人们日常使用的语言来描述算法,称为算法的自然语言描述法。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
gets(str);
i=strlen(str)-1;
for (i=0;i<5;i++)
for (j=0;j<3;j++)
scanf("%d",&score[i][j]);
for (i=0;i<3;i++)
{
s=0;
for (j=0;j<5;j++) s=s+score[j][i];
v[i]=s/5;
}
printf("各科平均成绩为:");
for (i=0;i<3;i++) printf("%4d",v[i]);
for (b=5-i*2;b>=1;b--) printf("*");
printf("\n");
}
}
鸡兔同笼
#include <stdio.h>
void main()
{
int a,b;
for (a=0;a<=35;a++)
for (b=0;b<=24;b++)
{
if (a*2+b*4==94&&a+b==35)
else ch=ch-32;
}
printf("%c\n",ch);
}
3-5-3大写转化成小写或者小写变大写
#include <stdio.h>
void main()
{
char ch;
printf("请输入一个字符:");
scanf("%c",&ch);
if(ch>='a'&&ch<='z') ch=ch-32;
{
if(c>='a'&&c<='z'||c>='A'&&c<='Z') num1++;
else if(c==' ') num2++;
else if(c>='0'&&c<='9') num3++;
else num4++;
}
printf("字母:%d,空格:%d,数字:%d,其他:%d\n",num1,num2,num3,num4);
switch(ch)
{
case '+':printf("%f+%f=%f\n",x,y,x+y);break;
case '-':printf("%f-%f=%f\n",x,y,x-y);break;
case '*':printf("%f*%f=%f\n",x,y,x*y);break;
case '/':printf("%f/%f=%f\n",x,y,x/y);break;
for(i=0;i<3;i++)
{
for(j=0;j<3;j++)
printf("%d ",c[i][j]);
printf("\n");
}
}
最高最低温度
正确
#include <stdio.h>
void main ()
{
float max,min,a[31];
int i;
printf("请输入31天的温度:");
int n;
p=a;
scanf("%s",a);
for(n=0;*(p+n)!='\0';n++);
printf("%d\n",n);
}
输入一个字符串,将其逆序输出
#include <stdio.h>
#include <string.h>
void main()
{
char str[100];
int i;
{
m=i*100+j*10+k;
n=i*i*i+j*j*j+k*k*k;
if (m==n) a++,
printf("%d\n",m);
}printf("水仙花数的个数=%d\n",a);
}
三—7—16
#include<stdio.h>
void main()
{
float s=100,h;
int n;
h=s/2;
for (n=2;n<=10;n++)
{
s=s+2*h;
h=h/2;
}
printf("第十次落地共经过的米数:%f\n",s);
printf("第十次反弹的高度:%f\n",h);
}
#include <stdio.h>
#include <math.h>
void main()
{
int a;
float b,x,sum;
else
{
if(1<x<10) y=2*x+1;
else y=3*x-8;
}
printf("x=%d,y=%d\n",x,y);
}
3-6-2正确分段函数
#include <stdio.h>
void main()
{
int x,y;
printf("请输入x:");
scanf("%d",&x);
if(x>=10) y=3*x-8;
a=1;
b=1;
x=1;
sum=0;
while ((fabs(x))>1e-7)
{
sum=sum+x;
b=b*2;
x=a/b;
}
sum=sum*100+100;
printf("%f\n",sum);
}
课本习题四第四大题第一小题数组的值逆序输出
#include <stdio.h>
void main()
default:printf("输入的运算符错误!\n");
}
}
7—6正确
#include <stdio.h>
void main()
{
int x;
printf("请输入一个整数:");
scanf("%d",&x);
if(x%2==0) x=x;
else x=x+1;
printf("%d\n",x);
if(1<x<10) y=2*x+1;
else
if(x>=10) y=3*x-8;
printf("x=%d,y=%d\n",x,y);
}
计算器正确
#include <stdio.h>
void main()
{
float x,y,z;
char ch;
printf("请输入操作数运算符操作数:");
scanf("%f%c%f",&x,&ch,&y);
}
for (i=1;i<=2;i++)
{
for(a=i+1;a>=1;a--) printf(" ");
for (b=5-i*2;b>=1;b--) printf("*");
printf("\n");
}
}
副本输出由*组成的菱形(最左边无空列)
#include <stdio.h>
void main()
{
int i,a,b;
for (i=1;i<=3;i++)
{
for (a=3-i;a>0;a--) printf(" ");
for (b=2*i-1;b>0;b--) printf("*");
printf("\n");
}
for (i=1;i<=2;i++)
{
for(a=i;a>=1;a--) printf(" ");
}
矩阵相加
正确
#include <stdio.h>
void main()
{
int i,j;
int a[3][3],b[3][3],c[3][3];
printf("请输入矩阵a[3][3]:\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
else if(x>1) y=2*x+1;
else y=x;
相关文档
最新文档