首页 > 经典文章 > 经典美文 > c语言习题答案

c语言习题答案

时间:2018-07-30   来源:经典美文   点击:

【www.gbppp.com--经典美文】

c语言习题答案 第一篇_C语言课后习题答案(完整版)-第四版-_谭浩强

C语言课后习题答案-第四版- 谭浩强(1-7)

第一章

#include <stdio.h>

int main ( )

{ printf ("**************************\n\n");

printf(" Very Good!\n\n");

printf ("**************************\n");

return 0;

}

#include <stdio.h>

int main()

{int a,b,c,max;

printf("please input a,b,c:\n");

scanf("%d,%d,%d",&a,&b,&c);

max=a;

if (max<b)

max=b;

if (max<c)

max=c;

printf("The largest number is %d\n",max);

return 0;

}

第3章

#include <stdio.h>

#include <math.h>

int main()

{float p,r,n;

r=0.1;

n=10;

p=pow(1+r,n);

printf("p=%f\n",p);

return 0;

}

#include <stdio.h>

#include <math.h>

int main()

{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

r1=0.0414;

r0=0.0072;

p1=p*((1+r5)*5); // 一次存5年期

p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次

p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次 printf("p1=%f\n",p1); // 输出按第1方案得到的本息和

printf("p2=%f\n",p2); // 输出按第2方案得到的本息和

printf("p3=%f\n",p3); // 输出按第3方案得到的本息和

printf("p4=%f\n",p4); // 输出按第4方案得到的本息和

printf("p5=%f\n",p5); // 输出按第5方案得到的本息和

return 0;

}

#include <stdio.h>

#include <math.h>

int main()

{double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

r1=0.0414;

r0=0.0072;

p1=p*((1+r5)*5); // 一次存5年期

p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次

p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次 printf("p1=%f\n",p1); // 输出按第1方案得到的本息和

printf("p2=%f\n",p2); // 输出按第2方案得到的本息和

printf("p3=%f\n",p3); // 输出按第3方案得到的本息和

printf("p4=%f\n",p4); // 输出按第4方案得到的本息和

printf("p5=%f\n",p5); // 输出按第5方案得到的本息和

}

#include <stdio.h>

#include <math.h>

int main()

{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

r1=0.0414;

r0=0.0072;

p1=p*((1+r5)*5); // 一次存5年期

p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期 p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期 p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次

p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次 printf("p1=%10.2f\n",p1); // 输出按第1方案得到的本息和 printf("p2=%10.2f\n",p2); // 输出按第2方案得到的本息和 printf("p3=%10.2f\n",p3); // 输出按第3方案得到的本息和 printf("p4=%10.2f\n",p4); // 输出按第4方案得到的本息和 printf("p5=%10.2f\n",p5); // 输出按第5方案得到的本息和 return 0;

}

#include <stdio.h>

#include <math.h>

int main()

{float d=300000,p=6000,r=0.01,m;

m=log10(p/(p-d*r))/log10(1+r);

printf("m=%6.2f\n",m);

return 0;

}

#include <stdio.h>

int main()

{int c1,c2;

c1=197;

c2=198;

printf("c1=%c,c2=%c\n",c1,c2);

printf("c1=%d,c2=%d\n",c1,c2);

}

#include <stdio.h>

int main()

{int a,b;

float x,y;

char c1,c2;

scanf("a=%d b=%d",&a,&b);

scanf("%f %e",&x,&y);

scanf("%c%c",&c1,&c2);

printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); return 0;

}

#include <stdio.h>

int main()

{char c1='C',c2='h',c3='i',c4='n',c5='a';

c1=c1+4;

c2=c2+4;

c3=c3+4;

c4=c4+4;

c5=c5+4;

printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5);

return 0;

}

#include <stdio.h>

int main ()

{float h,r,l,s,sq,vq,vz;

float pi=3.141526;

printf("请输入圆半径r,圆柱高h∶");

scanf("%f,%f",&r,&h); //要求输入圆半径r和圆柱高h l=2*pi*r; //计算圆周长l

s=r*r*pi; //计算圆面积s

sq=4*pi*r*r; //计算圆球表面积sq

vq=3.0/4.0*pi*r*r*r; //计算圆球体积vq

vz=pi*r*r*h; //计算圆柱体积vz

printf("圆周长为: l=%6.2f\n",l);

printf("圆面积为: s=%6.2f\n",s);

printf("圆球表面积为: sq=%6.2f\n",sq);

printf("圆球体积为: v=%6.2f\n",vq);

printf("圆柱体积为: vz=%6.2f\n",vz);

}

#include <stdio.h>

int main()

{

char c1,c2;

printf("请输入两个字符c1,c2:");

c1=getchar();

c2=getchar();

printf("用putchar语句输出结果为:");

putchar(c1);

putchar(c2);

printf("\n");

printf("用printf语句输出结果为:");

printf("%c %c\n",c1,c2);

return 0;

}

#include <stdio.h>

int main()

{

int c1,c2; //整型定义

printf("请输入两个整数c1,c2:");

scanf("%d,%d",&c1,&c2);

printf("按字符输出结果:\n");

printf("%c,%c\n",c1,c2);

printf("按ASCII码输出结果为:\n");

printf("%d,%d\n",c1,c2);

return 0;

}#include <stdio.h>

int main()

{

char c1,c2; //定义字符型变量 int i1,i2; //定义整型变量 printf("请输入两个字符c1,c2:");

scanf("%c,%c",&c1,&c2);

i1=c1; //赋值给整型变量 i2=c2;

printf("按字符输出结果:\n");

printf("%c,%c\n",i1,i2);

printf("按整数输出结果:\n");

printf("%d,%d\n",c1,c2);

return 0;

c语言习题答案 第二篇_《C语言程序设计》课后习题答案(第四版)谭浩强

第1章程序设计和C语言1

1.1什么是计算机程序1

1.2什么是计算机语言1

1.3C语言的发展及其特点3

1.4最简单的C语言程序5

1.4.1最简单的C语言程序举例6

1.4.2C语言程序的结构10

1.5运行C程序的步骤与方法12

1.6程序设计的任务14

1-5 #include <stdio.h>

int main ( )

{ printf ("**************************\n\n");

printf(" Very Good!\n\n");

printf ("**************************\n");

return 0;

}

1-6#include <stdio.h>

int main()

{int a,b,c,max;

printf("please input a,b,c:\n");

scanf("%d,%d,%d",&a,&b,&c);

max=a;

if (max<b)

max=b;

if (max<c)

max=c;

printf("The largest number is %d\n",max);

return 0;

}

第2章算法——程序的灵魂16

2.1什么是算法16

2.2简单的算法举例17

2.3算法的特性21

2.4怎样表示一个算法22

2.4.1用自然语言表示算法22

2.4.2用流程图表示算法22

2.4.3三种基本结构和改进的流程图26

2.4.4用NS流程图表示算法28

2.4.5用伪代码表示算法31

2.4.6用计算机语言表示算法32

2.5结构化程序设计方法34

习题36

第章最简单的C程序设计——顺序程序设计37

3.1顺序程序设计举例37

3.2数据的表现形式及其运算39

3.2.1常量和变量39

3.2.2数据类型42

3.2.3整型数据44

3.2.4字符型数据47

3.2.5浮点型数据49

3.2.6怎样确定常量的类型51

3.2.7运算符和表达式52

3.3C语句57

3.3.1C语句的作用和分类57

3.3.2最基本的语句——赋值语句59

3.4数据的输入输出65

3.4.1输入输出举例65

3.4.2有关数据输入输出的概念67

3.4.3用printf函数输出数据68

3.4.4用scanf函数输入数据75

3.4.5字符数据的输入输出78

习题82

3-1 #include <stdio.h>

#include <math.h>

int main()

{float p,r,n;

r=0.1;

n=10;

p=pow(1+r,n);

printf("p=%f\n",p);

return 0;

}

3-2-1

#include <stdio.h>

#include <math.h>

int main()

{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

r1=0.0414;

r0=0.0072;

p1=p*((1+r5)*5); // 一次存5年期

p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期

p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期

p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次

printf("p1=%f\n",p1); // 输出按第1方案得到的本息和

printf("p2=%f\n",p2); // 输出按第2方案得到的本息和

printf("p3=%f\n",p3); // 输出按第3方案得到的本息和

printf("p4=%f\n",p4); // 输出按第4方案得到的本息和

printf("p5=%f\n",p5); // 输出按第5方案得到的本息和

return 0;

}

3-2-2

#include <stdio.h>

#include <math.h>

int main()

{double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

r1=0.0414;

r0=0.0072;

p1=p*((1+r5)*5); // 一次存5年期

p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期

p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期

p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次

printf("p1=%f\n",p1); // 输出按第1方案得到的本息和

printf("p2=%f\n",p2); // 输出按第2方案得到的本息和

printf("p3=%f\n",p3); // 输出按第3方案得到的本息和

printf("p4=%f\n",p4); // 输出按第4方案得到的本息和

printf("p5=%f\n",p5); // 输出按第5方案得到的本息和

return 0;

}

3-2-3

#include <stdio.h>

#include <math.h>

int main()

{float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;

p=1000;

r5=0.0585;

r3=0.054;

r2=0.0468;

r1=0.0414;

r0=0.0072;

p1=p*((1+r5)*5); // 一次存5年期

p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期

p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期

p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次 p5=p*pow(1+r0/4,4*5); // 存活期存款。活期利息每一季度结算一次

printf("p1=%10.2f\n",p1); // 输出按第1方案得到的本息和

printf("p2=%10.2f\n",p2); // 输出按第2方案得到的本息和

printf("p3=%10.2f\n",p3); // 输出按第3方案得到的本息和

printf("p4=%10.2f\n",p4); // 输出按第4方案得到的本息和

printf("p5=%10.2f\n",p5); // 输出按第5方案得到的本息和

return 0;

}

3-3.

#include <stdio.h>

#include <math.h>

int main()

{float d=300000,p=6000,r=0.01,m;

m=log10(p/(p-d*r))/log10(1+r);

printf("m=%6.2f\n",m);

return 0;

}

3-4

#include <stdio.h>

int main()

{int c1,c2;

c1=197;

c2=198;

printf("c1=%c,c2=%c\n",c1,c2);

printf("c1=%d,c2=%d\n",c1,c2);

return 0;

}

3-5

#include <stdio.h>

int main()

{int a,b;

float x,y;

char c1,c2;

scanf("a=%d b=%d",&a,&b);

scanf("%f %e",&x,&y);

scanf("%c%c",&c1,&c2);

printf("a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n",a,b,x,y,c1,c2); return 0;

}

3-6

#include <stdio.h>

int main()

{char c1='C',c2='h',c3='i',c4='n',c5='a';

c1=c1+4;

c2=c2+4;

c3=c3+4;

c4=c4+4;

c5=c5+4;

printf("passwor is %c%c%c%c%c\n",c1,c2,c3,c4,c5);

return 0;

}

3-7

#include <stdio.h>

int main ()

{float h,r,l,s,sq,vq,vz;

float pi=3.141526;

printf("请输入圆半径r,圆柱高h∶");

scanf("%f,%f",&r,&h); //要求输入圆半径r和圆柱高h l=2*pi*r; //计算圆周长l

c语言习题答案 第三篇_C语言课后习题及答案

第一章

一、 选择题

1.C/C++规定,在一个源程序中,main()函数的位置( )。C

A.必须在最开始 B.必须在最后

C.可以任意 D.必须在系统调用的库函数的后面

2.以下()是C/C++合法的标识符。A

A.char2 B.@x C.int D.7Bw

3.下面的程序,对于输入:2 9 15,输出的结果是( )。B

#include"iostream.h"

void main()

{int a;

float b;

cout<<"input a,b:"<<endl;

【c语言习题答案,】

cin>>a>>b;

cout<<"a+b="<<a+b<<endl;

}

A.2 B.11 C. 26 D.24

4. 在Visual C++中,打开一个项目只需要打开对应的项目工作区文件即可,项目工作区文件的扩展名为( )。C

A.obj B.dsp C.dsw D.cpp

5.下面关于C语言与C++关系的说法中,( )是正确的。D

A.C语言是C++的子集 B.C++对C语言进行了改进

C.C++和C语言都是面向对象的 D.C++继承了C语言的众多优点

6.设置一个断点的方法是将光标移到需要设置断点的行上,然后按( )键。A

A.F9 B.F10 C.F11 D.F12

7.下面关于编译预处理命令的说法中,正确的是( )。C

A.一条文件包含命令能包含多个文件

B.文件包含命令不可以嵌套使用

C.编译预处理命令是在编译之前被处理的命令

D.编译预处理命令中的“#”可以省略

8.使用( )可以设置数据输出的宽度。B

A.setbase(int n) B.setw(int n) C.setfill(int n) D.setprecision(int n)

二、 填空题

1.C/C++程序是由一个或多个函数组成的,但必须要有一个( )函数,程序从这个函数开始运行的。 main()

2.C/C++字符集包括大、小写英文字母、( )、( )和包括运算符在内的特殊字符,程序中出现字符集以外的字符就是一个语法错误。 数字0-9、下划线

3.在Visual C++中编写程序时,除了注释中可以出现汉字,还能在( )中使用汉字。字符串

4.文件包含命令是以( )开始的预处理命令,而宏定义命令是以 ( )开始的预处理命令。#include #define

5.在cout命令中,使用 ( )格式控制符可以把一个数据以十六进制的形式输出。hex

【c语言习题答案,】

6.在C/C++中,头文件的扩展名一般为( )。.h

7.程序的错误一般分两种:( )和( )。前者是编译器可以发现的,而后者编译器则无法发现。语法错误和逻辑错误

8.在Visual C++中调试程序时,可以使用快捷菜单中的 ( )命令来插入断点和清除断点。Insert/Remove Breakpoint

9.C++源程序的扩展名为( )。.cpp

10.在Visual C++中,浏览当前项目中的所有源程序文件应在工作区的( )选项卡。Fileview

三、 简答题

1. C++与C语言的主要区别是什么?C++是C语言的超集。C++中的类和对象部分,C语言没有,C++是面向对象的程序设计。见教材P3。

2. C/C++程序由哪些部分组成?C/C++程序是由一个或多个函数组成,其中必须要有一个main()函数。在一个函数内,语句的执行是从上到下的。

3. 判断下列符号中哪些不能作为C/C++的标识符:

a? , 3a, a-b, f(x), A D, a.txt, D $, ∏, double

能作为C/C++的标识符:abc,b,s_2,Int

4. C/C++语言的书写格式有哪些特点?C/C++程序书写形式自由。一行可以写多条语句,一条语句也可以分别写在不同行上。区别大小写字母。

5. 何时在#include中使用尖括号,何时使用双引号?用尖括号时,预处理程序在系统指定的文件夹中寻找文件;用双引号时,预处理程序首先在当前文件所在的文件目录中寻找文件,若找不到再到系统指定的文件夹中查找。

6. 如果程序顺利地通过编译、连接,但是程序运行时结果有错误,最好的调试手段是什么?最好的调试手段是设置断点,并让程序运行到该断点,然后在Debug窗口观察各变量的值,从中发现错误。

第二章

一、 选择题

1.下列选项中可以作为C/C++的合法整型常量的是( )。B

A.1011B B.047 C.x23 D.20H

2.下列不合法的常量是( )。C

A.2.7 B.1.0E+3 C.3.5E-3.0 D.3.4e-5

3.下列常量中不是字符型常量的是( )。D

A. '\x44' B.'\t' C.'\\' D."m"

4.下列选项中合法的变量名为( )。C

A.#define B.float C.a12_3 D.sqrt(x)

5.下列不正确的变量定义方法是( )。D

A.int a,&b=a; B.float a,*b=&a; C.int a(4),b(0); D.int a=b=5;

6.下列运算符优先级按由高到低的顺序排列正确的是( )。C

A.*=、&&、!=、% B.*=、%、&&、!= C. %、!= 、&&、*= D.&&、!=、%、=

7.已知x、y为整型,z为实型,ch为字符型,下列表达式中合法的是( )。C

A.z=(y+x)++ B.x+y=z C.y=ch+x D.y=z%x

8.若有定义"int x;",则经过表达式"x=(float)7/3"运算后,x的值为( )。C

A.0 B.2.3 C.2 D.1

9.若有定义"int x=13,y=5;",则表达式"x++,y+=2,x/y"的值为( )。B

10.设整型变量m、n、a、b、c、d均为数值1,表达式(m=a>b)&&(n=c>d)运算后,m、n的值分别是( )。B

A.0,0 B.0,1 C.1,0 D.1,1

二、把下列数学表达式写成C/C++表达式。

1.x+y≠a+b : (x+y)!=(a+b).

2.(ln10+xy)3 :pow(log(10)+x*y),3)

3.sin():sin(w*u)/(cos(45*180/3.14)+3*pow(x,y)) ycos453x

4.e3:exp(3)+sqrt(2*x+3*y) 2x3y)

5.x-y

6.xy:fabs(x-y)+(x+y)/(3*x) 3x1:1/(1/r1+1/r2+1/r3) 111r1r2r3

三、根据下列条件写一个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"

void main()

{

float a,b,c,ave,min;

cin>>a>>b>>c;

ave=(a+b+c)/3;

min=(a<b)?a:b;

min=(c<min)?c:min;

cout<<"ave="<<ave<<" min="<<min<<endl;

}

3.将字符串“12”转换为整数12并输出。

#include "iostream.h"

void main()

{

char c1='1',c2='2';

int x;

x=10*(c1-'0')+c2-'0';

cout<<x<<endl;

}

4.编写程序,输入一个三位整数,反向输出该三位整数。

#include "iostream.h"

void main()

{int x;

int c1,c2,c3;

cin>>x;

c1=x/100;

c2=x/10%10;

c3=x%10;

x=100*c3+10*c2+c1;

cout<<x<<endl;

}

5.输入一个年份,判断是否为闰年。

解1:

#include "iostream.h"

void main()

{int year,x;

cin>>year;

x=year%400==0||year%4==0&&year%100!=0;

x!=0?cout<<year<<"is a leap year!": cout<<year<<"is not a leap year!";

}

解2:

#include "iostream.h"

void main()

{int year;

char x;

cin>>year;

x=(year%400==0||year%4==0&&year%100!=0)?'y': 'n';

cout<<x<<endl;

本文来源:http://www.gbppp.com/jd/467112/

推荐访问:
推荐内容:

热门文章