当前位置:文档之家› C语言课后习题参考答案(前5章)

C语言课后习题参考答案(前5章)

C语言课后习题参考答案(前5章)
C语言课后习题参考答案(前5章)

《C语言程序设计基础》书后习题参考答案

(无编程题答案,红色为书上错误)

第二章习题

一、选择题。

1、在C语言中,要求参加运算的数必须是整数的运算符是()

A)% B)/ C)!D)*

2、若已定义x和y为double类型,则表达式“x=1.0,y=x+3/2”的值是()

A)1 B)2 C)2.0 D) 2.5

3、若变量已正确定义并赋值,符合C语言语法的表达式是()

A)a=a+7; B) a=7+b+c,a++ C) int (12.3/4 ) D) a=a+7=c+b

4、若有定义:int x=3,y=2;float a=2.5,b=3.5;则表达式(x+y)%2+(int)a/(int)b

的值为()

A)1.0 B)1 C) 2.0 D)2

5、若x和n均是int型变量,且x的初值为12,n的初值为5 ,则执行表达式x%=(n%=2) 后x 的值为()

A) 0 B)1 C) 2 D)3

6、假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()

A)7 B)8 C)9 D)10

7、指出下列哪一个选项的程序是错误的()

A)#include B) #include

void main( ) void main( )

{int x,y,z; {int x,y,z;

x=0;y=x+1; x=0,y=x+1;

z=x+y; z=x+y;

} }

C) #include D) #include

void main( ) void main( )

{int x,y,z; {int x,y,z;

x=0;y=x+1, x=0,y=x+1;

z=x+y; z=x+y,

} }

8、若a为整型变量,则以下语句( )

a=-2L;

printf(“%d\n”,a);

A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为2

9、若变量a,i已经正确定义,且i已正确赋值,则合法的语句是()

A)i=int(a) B) ++i; C)a=a++=5; D) a=int(i);

10、若执行以下程序段后,c3的值为()

int c1=1,c2=2,c3;

c3=1.0/c2*c1;

A)0 B)0.5 C)1 D)2

11、如下程序的运行结果是()

#include

void main( )

{ int y=3,x=3,z=1;

printf(“%d%d\n”,(++x,y++),z+2);}

A) 3 4 B) 4 2 C) 4 3 D) 3 3

12、以下程序的输入结果为()

#include

void main( )

{int i=4,a;

a=i++;

printf(“a=%d,i=%d’,a,i);}

A)a=4,i=4 B)a=5,i=4 C)a=4,i=5 D)a=5,i=5

13、以下程序的输出结果是()

#include

void main( )

{ int a=5,b=4,c=6,d;

printf(“%d\n”,d=a>b?(a>c?a:c):( b); //多了(

}

A) 5 B) 4 C) 6 D) 不确定

14、在C语言中,如果下面的变量都是int类型,则输出的结果是()sum=pad=5;

pad=sum++,pad++,++pad;

printf(“%d\n”,pad);

A)7 B)6 C)5 D)4

15、已知int i;float f;,正确的语句是()

A)(int f)%i; B)int(f)%i; C) int(f%i); D)(int)f%i;

16、已知int j,i=1;执行语句j=-i++;后,j的值是()

A)1 B)2 C)-1 D)-2

17、已知各变量的类型说明如下:

int k,a,b;

unsigned long w=5;

double x=1.42;

则以下不符合C语言语法的表达式是()

A)x%(-3) B)w+=-2 C)k=(a=2,b=3,a+b) D)a+=a-=a*(a=3)

18、C语言中运算对象必须是整型的运算符是( )

A) %= B) / C) = D)<=

19、有以下程序

main()

{ int m=12,n=34;

printf("%d%d",m++,++n);

printf("%d%d\n",n++,++m);

}

程序运行后的输出结果是( )

A)12353514 B)12353513 C)12343514 D)12343513

20、下面程序的输出结果是()

#include

main( )

{int x=5,y=3;

printf(“%d\n”,y=x/y); }

A)0 B)1 C)3 D)不确定的值

21、执行下列程序中的输出语句后,a的值是()

#include

void main( )

{int a;

printf(“%d\n”,(a=3*5,a*4,a+5)); }

A) 65 B)20 C)15 D)10

22、执行下列程序时输入1234567,程序的运行结果为()

#include

main( )

{int x,y;

scanf (“%2d%2ld”,&x,&y);

printf(“%d\n”,x+y); }

A)17 B)46 C)15 D)9

23 、已知char a;int b;float c;double d; 则表达式a*b+c-d结果类型为()

A) double B)int C)float D) char

二、填空题

1、若i为int整型变量且赋值为6,则运算i++后的表达式的值是__6__,变量i的值是___7___。

2、若a是int型变量,则执行表达式a=25/3%3后a的值为____2____。

3、若x和n均是int型变量,且x和n的初值均为5,则执行表达式x+=n++后x的值为__10___ ,n的值为____6____。

4、若a是int型变量, 则表达式(a=4*5,a*2),a+6的值为____26_____。

5、若有定义int m=5,y=2;, 则执行表达式y+=y-=m*=y后y的值是_____-16______。

6、表达式8.0*(1/2)的值为___0______。

7、x为整型变量,则执行x=6;x+=x-=x*x;后,x

第3章习题

一、选择题

1、若有说明:double a; 则正确的输入语句为()

A)scanf(“%lf”,a); B) scanf(“%f”,&a);

C) scanf(“%lf”,&a); D) scanf(“%le”,&a);

2、若有以下程序段:

int a=0,b=0,c=0;

c=(a-=a-5),(a=b,b+3);

printf(“%d,%d,%d\n”,a,b,c);

其输出结果是()

A)3,0,-10 B)0,0,5 C)-10,3,-10 D)3,0,3

3、有以下程序

#include

void main( )

{ int m=3,n=4,x;

x=-m++;

x=x+8/++n;

printf("%d\n",x); }

程序运行后的输出结果是( )

A)3 B)5 C)-1 D)-2

4、以下程序段的输出结果是()

float a=57.666;

printf(“*%010.2f*\n”,a);

A) *0000057.66* B) *57.66* C)*0000057.67* D)*57.57*

思考:若是printf(“*%10.2f*\n”,a);结果是怎样呢?* 57.67*

5、若变量C定义为float型,当从终端输入283.1900后按回车键,能给变量c赋以283.19的输入语句是()

A) scanf (“%f”,c); B) scanf (“%8.4f”,&c);

C) scanf (“%6.2f”,&c); D) scanf (“%8f”,&c);

11、已知int a,b; ,用语句scanf(“%d%d”,&a,&b);输入a,b的值时,不能作为输入数据分隔符的是()

A),B)空格C)回车D)【Tab】键

12、下列程序的输出结果是()

#include

void main( )

{ printf(“%f”,2.5+1*7%2/4); }

A) 2.500000 B)2.750000 C)3.375000 D)3.000000

二、填空题

1、C语言句尾用____;分号_______结束。

2、以下程序的输出是___________。

#include

void main( )

{int i=-200,j=25;

printf(“%d,%d”, i,j);

printf(“i=%d,j=%d\n”, i,j);

printf(“i=%d\n,j=%d\n”, i,j);

}

三、编程题。

1、输入一个华氏温度f,要求输出摄氏温度c,公式为f=9/5*c+32 ,输出结果,并要求输出的结果保留到小数点后两位。

2、从键盘输入三个整数,输出最大的那个数(用条件表达式实现)。

3、输入三个小写字母,输出其对应的大写字母。

4、输入正方形的边长,输出其周长和面积。

5、编写一个程序,输入一个整数,判断它是奇数还是偶数,并输出判断结果(用条件表达式实现)。

第4章习题

一、选择题

1.下列错误的语句是()

A)if(a>b) printf(“%d”,a); B) if(&&) ; a=m;

C) if(1) a=m; else a=n; D) if(a>0) ; {else a=n;}

2.阅读下列程序:

#include

void main( )

{float a,b,t;

scanf(“%f,%f”,&a,&b);

if(a>b)

{t=a; a=b; b=t;}

printf(“%5.2f,%5.2f”,a,b); }

运行时从键盘输入3.8和-3.4,则正确的输出结果是()

A)-3.40,-3.80 B) -3.40,3.80 C)-3.4,3.8 D)3.80,-3.40

3.对下列程序,()是正确的判断。

#include

void main( )

{int x,y;

scanf(“%f,%f:”,&x,&y);

if(x>y) x=y; y=x;

else x++;y++;

printf(“%d,%d”, x,y);}

A)有语法错误,不能通过编译B)若输入数据3和4,则输出4和5

C)若输入数据4和3,则输出3和4 D)若输入数据4和3,则输出4和4

4.以下关于运算符的优先顺序的描述中正确的是()//严格来说,没有正确答案

A)关系运算符<算术运算符<赋值运算符<逻辑运算符

B)逻辑运算符<关系运算符<算术运算符<赋值运算符

C)赋值运算符<逻辑运算符<关系运算符<算术运算符

D)算术运算符<关系运算符<赋值运算符<逻辑运算符

5.设有定义:int a=2,b=3,c=4;,则以下选项中值为0的表达式是( )

A)(!a==1)&&(!b==0) B)a C)a && b D)a||(b+b)&&(c-a)

6.设x,y,t均为int型变量,则执行语句x=y=3;t=++x||++y;后,y的值为()

A)不定值B)4 C)3 D)1

7.下列程序的输出结果是()

#include

void main( )

{

int a=0,b=0,c=0;

if(++a>0||++b>0)

++c;

printf(“\na=%d,b=%d,c=%d”,a,b,c);

}

A)a=0,b=0,c=0 B)a=1,b=1,c=1 C)a=1,b=0,c=1 D)a=0,b=1,c=1

二、填空题

1.当a=1,b=2,c=3时,以下语句执行后,a、b、c中的值分别是__a=3___、__b=2__和___c=2_____。if (a>c)

b=a;a=c;c=b;

2.若有定义:int a=10,b=9,c=8;,接着顺序执行下列语句后,变量b中的值是___3____。

c=(a-=(b-1));

c=(a%11)+(b=3);

3.以下程序运行后的输出结果是___20,0_____。

#include

void main( )

{

int x=10,y=20,t=0;

if(x==y) t=x;x=y;y=t;

printf(“%d,%d\n”,x,y);

}

4.若运行时输入12,则下列程序的运行结果是_____0___。

#include

void main( )

{int x,y;

scanf(“%d”,&x);

y=x>12?x+10:x-12;

printf(“%d\n”,y);

}

5.以下两个程序运行后的输出结果分别是__1__和_2__ 。

#include #include

void main( ) void main( )

{ int a=1,b=2,c=3; {int a=1,b=2,c=3;

if(c=a) printf("%d\n",c); if(c==a) printf("%d\n",c);

else printf("%d\n",b); else printf("%d\n",b);

} }

6.以下程序运行后的输出结果是__2,20.000000__。

#include

void main( )

{char c;

int n=100;

float f=10;

double x;

x=f*=n/=(c=50);

printf("%d ,%f\n",n,x);

}

7.以下程序运行后的输出结果是_2 3 3___。

#include

void main( )

{ int i=1,j=2,k=3;

if(i++==1&&(++j==3||k++==3))

printf("%d %d %d\n",i,j,k);

}

8.表达式3&4的值为__0___。表达式3|4的值为_0____。表达式3&&4的值是__1___。

三、编程题。

1、输入一个3位数,判断是否是一个“水仙花数”,水仙花数是指3位数的各位数字的立方和等于这个3位数本身,例如:对于3位数153,如果153=1*1*1+5*5*5+3*3*3

2、输入一个数,判断它是否为奇数,如果是奇数则进一步判断它是否能被7整除。

3、从键盘任意输入一个数,判断是否为素数。

4、输入年月日,判断该日期是该年度的第几天。

5、根据输入的性别和身高判断是否符合招生要求。要:男生身高大于等于168cm为合格,

女生身高大于等于158cm为合格。

6、输入一个不多于5位的正整数,判断并求出它是几位数。

7、从键盘输入5个学生成绩,统计并输出成绩在90分以上的人数。

8、已知银行存款不同期限的月息利率为:

2*x (x≤-10)

x+5 (-10

月利率= x-3 (2

x/10 (x>10)

要求输入本金及期税,输出到期时从银行得到多少利息?

第5章习题

一、选择题

1.以下程序的输出结果是()

#include

void main( )

{

int i ;

for(i=0;i<=5;i++)

{if (i%2)

putchar('<');

else

continue;

putchar('>');

}

putchar('#');

}

A)< > < > < > # B)> < > < > < # C)< > < > # D)> < > < #

2.以下程序的输出结果是()

#include

void main( )

{

int i,j,m=0;

for(i=1;i<=15;i+=4)

for(j=3;j<=19;j+=4)

m++;

printf(“%d\n”,m);

}

A) 12 B) 15 C)20 D)25

3.以下程序的输出结果是()

#include

void main( )

{

int i,sum;

for(i=1;i<6;i++)

sum+=sum;

printf(“%d\n”,sum);

}

A)15 B) 14 C) 不确定D) 0

4.有如下程序

#include

void main( )

{

int i,sum=0;

for(i=1;i<=3;sum++)

sum+=i;

printf(“%d\n”,sum);}

该程序的执行结果是()

A) 6 B) 3 C) 死循环D) 0

5.有如下程序

#define N 2

#define M N+1

#define NUM 2*M+1

#include

void main( )

{ int i;

for(i=1;i<=NUM;i++) printf(“%d\n”,i);

}

该程序中的for循环执行的次数是( )

A) 5 B) 6 C) 7 D) 8

6.以下程序段的输出结果是( )

#include

void main( )

{int x=3;

do

{ printf(“%d”,x-=2);

}while(!(--x));

}

A)1 B)30 C)-12 D)死循正确答案为1-2

7.以下循环体的执行次数是( 1 )

#include

void main( )

{int i,h; 错误h应改为j

for(i=0,j=1;i<=j+1;i+=2,j--)

printf(“%d\n”,i);

}

8.有如下程序:

#include

void main( )

{int n=9;

while(n>6)

{ n--;

printf(“%d”,n);

} //少一括号

}

该程序段的输出结果是()

A)987 B)876 C)8765 D)9876

9.以下的for循环()

for(x=0,y=0;(y!=123)&&(x<4);x++) ;

A)是无限循环B)循环次数不定C)循环执行4次D)循环执行3次

二.填空题

1.以下程序的输出结果是___-1_____。

#include

void main( )

{ int x=2;

while(x--);

printf(“%d\n”,x);

}

2.以下程序段的输出结果是____11____。

#include

void main( )

{int i=0,sum=1;

do

{ sum+=i++;

} while(i<5); //少一分号;

printf(“%d\n”,sum);

}

3.以下程序段的功能是;从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入,请补充程序。

#include

void main( )

{float x,amax,amin;

scanf(“%f”,&x);

amax=x; amin=x;

while(__x>=0______)

{ if(x>amax) amax=x;

if(__x

scanf{<“%f”,&x>; }

printf(“\nmax=%f\namin=%f\n”,amax,amin);}

4.以下程序段的输出结果是___死循环____

#include

void main( )

{int k,n,m;

n=10;m=1;k=1;

while(k<=n)

m*=2;

printf(“%d\n”,m);

}

5.下面程序的输出结果是___8___

#include

void main( )

{int a,b;

for(a=1,b=1;a<=100:(;)a++) //冒号改为分号

{ if(b>=20) break;

if(b%3==1)

{b+=3;

continue;}

b-=5;}

printf(“%d”,a);}

6.下面程序输出结果是_______

#include

void main( )

{int a;

for(a=0;a<6;a++)

{ if(a%2) printf(“%”);

else continue;

printf(“”);}

printf(“\n”);}

三.编程题

1.编写程序求1/100+2/99+…+1的值。

2.编写程序,打印“*”字符形成的等腰三角形倒立金字塔图形。

*******

*****

***

*

3.编写程序,输出100至200间的全部素数。

4.编写程序,求fibonacci数列的前40项。fibonacci数列的第一个数和第二个数均为1,第三个数等于前两个数之和,依此类推。算法的表达式可表示为:

f1=1(n=1)

f1=1(n=2)

fn=fn-1+fn-2(n≥3)

5.编写程序,验证数学问题哥德巴赫猜想:大于等于6的偶数可表示为两个素数之和。例如6=3+3、8=3+5、16=3+13或16=5+11等。

6.编写程序,计算1!+2!+3!+……+n!

7.编写程序,实现古典问题之信点兵。有一队不足百人的队伍,三三数之余2,五五数之余3,七七数之余5,问人有几何?

C语言程序设计第四版第六章答案-谭浩强

1、用筛选法求100之内的素数。解: #include #include int main() {int i,j,n,a[101]; for (i=1;i<=100;i++) a[i]=i; a[1]=0; for (i=2;i int main() {int i,j,min,temp,a[11]; printf("enter data:\n"); for (i=1;i<=10;i++)

{printf("a[%d]=",i); scanf("%d",&a[i]); } printf("\n"); printf("The orginal numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); for (i=1;i<=9;i++) {min=i; for (j=i+1;j<=10;j++) if (a[min]>a[j]) min=j; temp=a[i]; a[i]=a[min]; a[min]=temp; } printf("\nThe sorted numbers:\n"); for (i=1;i<=10;i++) printf("%5d",a[i]); printf("\n"); return 0; } 3、求一个3×3的整型矩阵对角线元素之和。解: #include int main() { int a[3][3],sum=0; int i,j; printf("enter data:\n"); for (i=0;i<3;i++) for (j=0;j<3;j++) scanf("%3d",&a[i][j]); for (i=0;i<3;i++) sum=sum+a[i][i]; printf("sum=%6d\n",sum);

《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 int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include 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

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

C语言第六章习题带答案

练习6-1答案 一、选择题 1.已知函数abc的定义为: void abc() {……} 则函数定义中void的含义是( A )。 A.执行函数abc后,函数没有返回值B.执行函数abc后,函数不再返回C.执行函数abc后,可以返回任意类型 D.以上三个答案全是错误的 2.已知:int p();,p是( C )。 A.int型变量 B.函数p的调用 C.一个函数声明,该函数的返回值是int型的值 D.强制类型转换表达式中的变量 3.以下正确的函数形式是( D )。 A.double fun(int x, int y) B.fun(int x, y) { z=x+y; return z; } { int z; return z; } C.fun(x, y) D.double fun(int x, int y) { int x, y; double z; z=x+y; return z; } { double z; z=x+y; return z; } 4.以下说法正确的是( C )。 A.定义函数时,形参的类型说明可以放在函数体内 B.return后边的值不能为表达式 C.如果函数值的类型与返回值表达式的类型不一致,以函数值类型为准 D.如果形参与实参的类型不一致,以实参类型为准 5.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是( B )。 A.float 型B.int型C.long型D.double型6.下面函数调用语句含有实参的个数为( B )。 func((exp1, exp2), (exp3, exp4, exp5)); A.1 B.2 C.4 D.5 7.以下程序的功能是计算函数F(x, y, z)=(x+y)/(x-y)+(z+y)/(z-y)的值,请选择填空。 #include #include float f(float, float); main() {float x, y, z, sum; scanf("%f%f%f", &x, &y, &z); sum=f( ①B )+f( ②C ); (注:或者选择sum=f( ①C )+f( ②B )) printf("sum=%f\n", sum); } float f(float a, float b) {float value; value=a/b;

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、FFFFF 2. 将下列二进制数转化为十进制数和十六进制数: (1)1100110101B (2)101101.1011B 答: (1)821、335 (2)45.6875、2D.B 3. 写出下列数的原码、反码、补码:15、-20、-27/32 答: (1)00001111、00000000、00001111 (2)10010100、11101011、11101100 (3)1.1101100、1.0010011、1.0010100 4. 16位无符号定点整数的数值表示范围为多少?8位补码的表示范围是多少?16位补码的表示范围是多少? 答: 0~65535、-128~127、-32768~32767 5.1968年Dijkstra提出结构化程序设计的思想的原因是什么?简要回答结构化程序设计的经典定义。 答: 结构化程序设计概念的提出主要是源于程序结构的层次性与模块化使得构造出来的软件具有良好的可理解性和可维护性,随着软件规模的扩大与复杂性的提高,程序的可维护性成为程序设计者们关注的重要问题之一。 如果一个程序的代码块仅仅通过顺序、选择和循环这3种基本控制结构进行连接,并且每个代码块只有一个入口和一个出口,则称这个程序是结构化的。 6.C程序在内存中存储在哪儿?计算机的内存空间是如何分区的?分区存放不同类型的数据的目的是什么? 答:

最新c语言课后习题答案汇总

c语言课后习题答案

第二章习题 2.什么叫做结构化算法?为什么要提倡结构化算法? 答:结构化算法是由一些基本结构顺序组成的。在基本结构之间不存在向前或向后的跳转,流程的转移只存在于一个基本的结构范围内。一个非结构化的算法可以用一个等价的结构化算法代替,其功能不变。 跟结构化算法比较起来,非结构化算法有以下缺点: 流程不受限制的随意转来转去,使流程图豪无规律使人在阅读的时候难以理解算法的逻辑.难以阅读,也难以修改,从而使算法的可靠性和可维护性难以保证。 4. 第三章习题 1.#include #include void main() { unsigned int n;

float p,p1,r=0.09; scanf("%u",&n); p=pow(1+r,n); p1=(p-1)*100; printf("%5.2f%%\n",p1); } 运行结果:输入,回车,见结果: 2.#include #include int main() { int bj=1000; float r1,r2,r3,r5,r0,lx1,lx2,lx3,lx4,lx5; r1=0.0414; r2=0.0468; r3=0.0540; r5=0.0585; r0=0.0072; lx1=bj*r5; lx2=bj*(1+r2)*r3; lx3=bj*(1+r3)*r2; lx4=bj*pow(1+r1,5); lx5=bj*r0*5; printf("lx1=%f lx2=%f lx3=%f lx4=%f lx=5%f\n",lx1,lx2,lx3,lx4,lx5); return 0; } 运行结果: 3.#include #include int main() { long d,p; d=300000; p=6000; double m,r=0.01; m=log(p/(p-d*r))/log(1+r); printf("%4.2f",m); return 0;

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

C语言课后习题答案-第四版- 谭浩强(1-7) 第一章 #include int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } #include 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 #include int main() {float p,r,n; r=0.1; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0; } #include #include 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 #include 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方案得到的本息和

C语言课后作业答案

3-5-1正确 大写字母转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); if(ch>='A'&&ch<='Z'||ch>='a'&&ch<='z') { if(ch>='A'&&ch<='Z')ch=ch+32; else ch=ch-32; } else ch=ch; printf("%c\n",ch); } 3-5-2大写转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); ch=ch; { if(ch>='A'&&ch<='Z')ch=ch+32; else ch=ch-32; } printf("%c\n",ch); } 3-5-3大写转化成小写或者小写变大写 #include void main() { char ch; printf("请输入一个字符:"); scanf("%c",&ch); if(ch>='a'&&ch<='z') ch=ch-32; else if(ch>='A'&&ch<='Z') ch=ch+32; else ch=ch; printf("%c\n",ch); } 3-6-1正确分段函数

#include void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x<=1) y=x; else { if(1 void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x>=10) y=3*x-8; else if(x>1) y=2*x+1; else y=x; printf("x=%d,y=%d\n",x,y); } 3 -6 -3正确 #include void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x<=1) y=x; else if(1=10) y=3*x-8; printf("x=%d,y=%d\n",x,y); } 计算器正确 #include void main() {

C语言课后答案

习题一 一、简答题 1.顺序结构、选择(分支)结构和循环结构。 2. (1)

(2)

3.编辑、编译、连接和运行 二、填空题 1. Ctrl+F9;Alt+F5;F2。 2. main(主) 3. main(主) 4. 任意 5. /* */ 不 6. ; 7.。 程序: include studio.h main{} /* this program prints the number of weeks in a year. /* ( int s s:=52; print(There are s weeks in a year"); 正确的为: #include main() /* this program prints the number of weeks in a year. */ { int s; s=52; printf("There are s weeks in a year"); }

习题二 一、选择题 1、C 2、B,D,F,G 3、C 4、A 5、C 6、B 二、填空题 1、声明;使用。 2、整型、浮点型(实型)、字符型。 3、hat_1,cat1,all, Dollar, piece_f, SIN, _ , FALSE. 4、'A'(字符),005(整型),3e0(整型),'\\'(字符),'\05'(字符), 1.2e+5(整型),0xf12(整型)。 5、(1)6+(4+5)*(4+5)/(2+3) (2)sin(a+b)*ain(a+b)/ (4*2)/(3*2)+2 三、读程题 1.若x为float型,其原值为5,a=2,b=4.7。写出下列表达式运算后x的值。 (1)x=(int)(b-a)%3*a/4-a (2)x=(x=b+1)+(int)(b)%10/2.0 (3)x+=x (4)x-=x (5)x*=x+x (6)x/=x+x (7)x+=x-=x*=x (8)x%=x (9)x=3*4,5*6 答案:(1)-1,(2)7.7,(3)10,(4)0,(5)50,(6)0.5,(7)0,(8)非法,(9)12。 2.写出下面程序的运行结果。 #include void main() { int a=2; printf("abcdefghijk\n"); printf("lmnop/n"); printf("I am a /n beginner of C !"); printf("I am a \n beginner of C !"); printf("%d + %d = %d",a,a,a); } 答案: abcdefghijk

C语言第六章数组习题

C语言第六章数组习题 第六章数组 6.1 选择题 [题]在C语言中,引用数组元素时,其数组下标的数据类型允许是_____. A)整型常量B)整型表达式 C)整型常量或整型表达式D)任何类型的表达式 [题]以下对一维整型数组a的正确说明是_____。 A)int a(10);B)int n=10,a[n]; C)int n;D)#define SIZE 10 scanf(\%d,&n);int a[SIZE]; int a[n]; [题]若有说明:int a[l0];则对a数组元素的正确引用是_____。 A) a[10] B)a[3.5] C)a(5) D)a[10-10] [题]在C 语言中,一维数组的定义方式为:类型说明符数组名_____。 A)[常量表达式] B)[整型表达式] C)[整型常量]或[整型表达式] D)[整型常量] [题]以下能对一维数组a进行正确初始化的语句是_____。 A)int a[l0]=(0,0,0,0,0); B)int a[l0]={}; C)int a={0};D)int a[10]={10*1}; [题]以下对二维数组a的正确说明是_____。

1 A)int a[3]; B)float a(3,4); C)double a[1][4]; D)float a(3)(4); [题]若有说明:int a[3][4];则对a数组元素的正确引用是_____。 A)a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1) [题]若有说明:int a[3][4];则对a数组元素的非法引用是_____。 A)a[0][2*1] B)a[1][3] C)a[4-2][0] D)a[0][4] [题]以下不能对二维数组a进行正确初始化的语句是_____。 A)int a[2][3]={0}; B)int a[3]={{1,2},{0}}; C)int a[2][3]={{l,2},{3,4},{5,6}}; D)int a[3]={1,2,3,4,5,6}; [题]若有说明:int a[3][4]={0};则下面正确的叙述是_____。 A)只有元素a[0][0]可得到初值0 B)此说明语句不正确 C)数组a中各元素都可得到初值,但其值不一定为0 D)数组a中每个元素均可得到初值0 [题]若有说明:int a[3][4];则数组a中各元素_____。 2

C语言课后练习及答案

作业A: 一、单项选择题 1、如果要把常量327存入变量a中,a不能定义的类型是哪一个?() A)int B)char C)long D)float 2、若x 为unsigned int 型变量,则执行下列语句后x值为() x = 65535; printf(“%d\n”,x); A)65535 B)1 C)无定值D)-1 3、有以下程序 main() {int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a

c语言 第6章作业

书面作业8 专业理科学号3120101717 姓名马凌浩 习题6 一、选择题 1.设float x=2.5, y=4.7; int a=7;,printf(“%.1f”, x+a%3*(int)(x+y)%2/4)的结果为 A 。 A.2.5 B.2.8 C.3.5 D.3.8 2.执行下列程序段的输出结果是 C 。 int a = 2; a += a *= a -= a *= 3; printf("%d", a); A.-6 B.12 C.0 D.2 3.设字符型变量x 的值是064,表达式“~ x ^ x << 2 & x”的值是 A 。 A.0333 B.333 C.0x333 D.020 4.设a 为整型变量,不能正确表达数学关系:1010 && a<15 D.!(a<=10) && !(a>=15) 5.设以下变量均为int 类型,表达式的值不为9 的是 C 。 A.(x=y=8,x+y,x+1) B.(x=y=8,x+y,y+1) C.(x=8,x+1,y=8,x+y) D.(y=8,y+1,x=y,x+1) 二.填空题 1 .-127 的原码为11111111 、反码为10000000 、补码为10000001 。 2.逻辑表达式x && 1 等价于关系表达式if(x==0) 表达式的值为0;else 表达式的值为1;。3.设int a=5, b=6; 则表达式(++a==b--)? ++a : --b 的值是7 。 4.设c = 'w', a = 1, b = 2, d = -5, 则表达式'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==(a=2)的值 分别为 1 、0 、 1 、 1 。 5.运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为c1=2,c2=5 。 #include int main(void) { int c1 = 0, c2 = 0; char ch; while((ch = getchar()) !=?#?) switch(ch){ case …a?: case …h?: c1++; default: c2++; } printf(“c1=%d,c2=%d\n”, c1, c2); return 0; }

C语言课后答案最新版本

第3章 三、编程题 1. 编写程序,输入一个非负数,输出以此数为半径的圆周长以及面积。 #include "stdio.h" #define PI 3.1415 void main() { float r,area,circumference; scanf("%f",&r); area=PI*r*r; circumference=2*r*PI; printf("area=%6.2f\ncircumference=%6.2f\n",area,circumference); } 2. 编写程序,输出下面结果,注意,双引号也要输出: “I'm a student!” #include void main() { printf("\"I\'m a student!\"\n"); } 3. 编写程序,输入一个小写字母,将其转换为大写字母输出。例如输入b ,则输出B 。提示:小写字母和 对应的大写字母的ASCII 码值相差32。 void main() { char ch; ch=getchar(); ch-=32; putchar(ch); //printf("%c",ch); } 4. 编写程序,输入一个华氏温度f ,输出其相应的摄氏温度c 。华氏温度和摄氏温度的转换公式为: )32f (95c -= #include void main() { float f,c; scanf(“%f ”,&f); c=5.0*(f-32)/9; printf(“华氏温度%5.2f 转换为摄氏温度为:%5.2f\n ”,f,c);

第4章 三、编程题 1.输入一个整数,判断这个整数是奇数还是偶数(提示:整数的奇偶性可以利用取余运算符%判定)。#include void main() { int a; scanf("%d",&a); if(a%2) printf("奇数\n"); else printf("偶数\n"); } 2.编写程序,输入一个24小时制的时间,转换为12小时制时间后进行输出。以13点15分为例,输入:13:15,则输出:下午1:15。 #include void main() { int hour,minute; scanf("%d:%d",&hour,&minute); if (hour>12) hour=hour-12; printf("%d:%d\n",hour,minute); } 3.输入年号,判断它是否是闰年(如果年号能被400整除,或能被4整除,而不能被100整除,则是闰年,否则不是)。 void main() { int year; scanf("%d",&year); if (year%400==0||(year%4==0&&year%100==0)) printf("%d是闰年\n",year); else printf("%d不是闰年\n",year); }

C语言课后习题答案

第1章C语言概述 一、选择题 答案: 1.A 2.B 3.C 4.C 5.D 6.B 7.D 8.B 二、填空题 答案: 1.函数2.目标3.编译程序4.分号 第2章数据类型、运算符和表达式 一、选择题 答案: 1.B 2.D 3.D 4.B 5.D 6.C 7.C 8.B 9.A 10.D 11.B 12.B 13.D 14.D 15.A 16.C 17.B 18.D 19.A 20.C 二、填空题 答案: 1.2 2.6,4,2 3.18 4.5 5.double或双精度 6.30 7.4,2 8.4 第3章顺序结构 一、选择题 答案: 1.C 2.C 3.C 4.A 5.A 6.A 7.D 8.D 9.C 10.D 二、填空题 答案: 1.scanf printf 2.顺序、选择、循环3.1 4.3 5.9,10 6.10,20 7.213 8.空格、Tab键、回车键 第4章选择结构 一、选择题 答案: 1.B 2.D 3.D 4.B 5.B 6.C 7.C 8.B 9.B 二、程序改错题 1.输入两个实数,在fun()函数中按数值由小到大输出它们。(保留2位小数)

答案: =======(答案1)======= float t; =======(答案2)======= if(a>b) =======(答案3)======= printf("%5.2f, %5.2f\n",a,b); 2.编写一个程序计算某年某月有几天。(注意要区分闰年) 答案: =======(答案1)======= switch(mm) =======(答案2)======= break; =======(答案3)======= default : 三、程序填空题 1.功能:输出a、b、c三个变量中的最小值。 答案: =======(答案1)======= &c =======(答案2)======= c:t1 四、程序设计题 1.功能:对任意输入的x,用下式计算并输出y 的值。说明:因为关于函数调用的知识在第7章讲解,所以在现阶段本程序的设计可以改用一个主函数来完成。 答案: int m; if(n<10) m=5; else if(n==10) m=0; else m=-5; return m; 或 int m; if(n>=10) if(n>10) m=-5; else m=0; else m=5; return m; 第5章循环结构 一、选择题

C语言第六章数组习题答案

第六章 数组 习题答案 2、0 4 3、0 6 4、&a[i] i%4==0 printf("\n"); 5、i+j==3_ a[i][j] 6、12 7、a[i][j]+b[i][j] printf(“\n ”) 8、按行存放 9、( a[i]>a[j]) 10、将串str2复制到串str1中后再将串str3连接到串str1之后 三、阅读题 1、如右图所示 2、AQM 3、AzyD 4、9198 5、如右图所示 6、92 7、1,2,5,7, 8、2 9、v1=5,v2=8,v3=6,v4=1 10、a*b*c*d* 四、编程题 1(1)选择法排序 #include void main( ) {int i,j,n=10,p,a[10];int temp; for(i=0;i

for(j=i+1;j void main( ) {int i,j,n=10,p,a[10];int temp; for(i=0;ia[j]) {temp=a[i];a[i]=a[j];a[j]=temp;} printf("\n排序后的一维数组:\n"); for(i=0;i void main( ) {int a[11],i,n=10,k; int point; printf("\n 请输入原始数据:\n"); for(i=0;ik) {point=i; break;} if(i!=n) {for(i=n;i>point;i--) a[i]=a[i-1]; a[point]=k;} /*从后向前方式*/ else a[n]=k; printf("插入后的数是:\n"); for(i=0;i int main() {int i,j,upp,low,dig,spa,oth; char text[3][80];

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

第1章程序设计和C语言1 什么是计算机程序1 什么是计算机语言1 语言的发展及其特点3 最简单的C语言程序5 最简单的C语言程序举例6 语言程序的结构10 运行C程序的步骤与方法12 程序设计的任务14 1-5 #include <> int main ( ) { printf ("**************************\n\n"); printf(" Very Good!\n\n"); printf ("**************************\n"); return 0; } 1-6#include <> 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

数据类型42 整型数据44 字符型数据47 浮点型数据49 怎样确定常量的类型51 运算符和表达式52 语句57 语句的作用和分类57 最基本的语句——赋值语句59 数据的输入输出65 输入输出举例65 有关数据输入输出的概念67 用printf函数输出数据68 用scanf函数输入数据75 字符数据的输入输出78 习题82 3-1 #include <> #include <> int main() {float p,r,n; r=; n=10; p=pow(1+r,n); printf("p=%f\n",p); return 0;

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中的醋倒入B 2.输入一个数放在a中max=a 以下步骤重复9次: 输入一个数放在a中 如果a>max,max=b 打印max的值 3.如果??a<b temp=a ?a=b ??b=temp 如果c>a ?temp1=a ??temp2=b a=c ?b=temp1 ?c=temp2 否则 ?如果?c>b ?temp=b ?b=c ?c=temp

打印a,b,c的值 4.i=1 sum=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+1

c语言程序设计(第3版)的习题答案

1.5请参照本章例题,编写一个C程序,输出以下信息: ************ Very Goodj! ************ 解: 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

相关主题
文本预览
相关文档 最新文档