文档库

最新最全的文档下载
当前位置:文档库 > C语言作业答案

C语言作业答案

一、思考题

1、顺序结构的语句有哪些?

表达式语句,空语句,复合语句

2、从程序控制的角度看,复合语句是单一的语句吗?

3、C语言中的语句有哪几类?C语句与其他语言中的语句有哪些异同?

表达式语句,空语句,复合语句,控制语句。C语言与其他语言的语句类型基本相同,只是语法有所区别。

4、怎样区分表达式和表达式语句?C语言为什么要设表达式语句?什么时候用表达式,什么时候用表达式语句?

在C语言中,只要在任何表达式的结尾加上分号“;”就构成了表达式语句。表达式语句使C语言更加灵活。当我们使用表达式语句时一般只关心它的作用而不关心该表达式的值。如puts("hello");这个表达式语句,我们关心的是输出hello这个结果而不是puts函数的返回值。

5、C语言的输入输出功能是表达式语句吗,为什么?

是,因为输入输出功能是函数调用语句。

二、选择题

1、以下符合C语言语法的赋值表达式是B)d=9+e,f=d+9

2、下面程序运行时的输出结果是D)a=8

main(){

int a=5;

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

}

3、putchar函数可以向终端输出一个D)字符或字符变量值

4、运行以下程序时,从键盘输入25,13,10(回车),则输出结果是A)a1+a2+a3=48

main() {

int a1,a2,a3;

scanf(“%d,%d,%d”,&a1,&a2,&a3);

}

5、若有以下定义和语句

char c1=?b?,c2=?e?;

printf(“%d,%c\n”,c2-c1,c2-…a?+?A?);

则输出结果是B)3,E

6、下面程序的执行结果是A)10

main(){

int a,b;

a=20;b=10;

a+=a+b;

a-=a-b;

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

}

7、使下列程序输出”123,456,78”,由键盘输出数据,正确的输入是C)123,45678

int i,j,k;

scanf(“%d,%3d%d”,&i,&j,&k);

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

三、编程题

1、若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=’a’,c2=’b’,想得到以下的输出格式和结果,请写出程序(包括定义变量类型和设计输出)。要求输出结果如下:

a=3 b=4 c=5

x=1.200000,y=2.400000,z=-3.600000

x+y=3.60 y+z=-1.20 z+x=-2.40

u=51274 n=128765

c1=’a’or 97(ascii)

c2=’b’or 98(ascii)

#include

void main()

{

int a=3,b=4,c=5;

double x=1.2,y=2.4,z=-3.6;

long u=51274,n=128765;

char c1='a',c2='b';

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

printf("x=%lf,y=%lf,z=%lf\n",x,y,z);

printf("x+y=%.2f y+z=%.2f z+x=%.2f\n",x+y,y+z,z+x);

printf("u=%ld n=%ld\n",u,n);

printf("c1=\'%c\'or%d\(ascii\)\n",c1,c1);

printf("c2=\'%c\'or%d\(ascii\)\n",c2,c2);

}

2、请写出下面程序的输出结果

main(){

int a=5,b=7;

float x=67.8564,y=-789.124;

char c=’a’;

long n=1234567;

unsigned u=65535;

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

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

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

printf(“%-10f,%10f\n”,x,y);

printf(“8.2f,%8.2f,%.4f,%.4f,%3f,%3f\n”,x,y,x,y,x,y);

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

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

printf(“%ld,%lo,%x\n”,n,n,n);

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

printf(“%s,%5.3s\n”,”computer”,”computer”);

}

57

5 7

67.856400,-789.124023

67.856400 ,-789.124023

8.2f, 67.86,-789.1240,67.8564,-789.124023,67.856400

6.785640e+001,-

7.89e+002

a,97,141,61

1234567,4553207,12d687

65535,177777,ffff,65535

computer, com

3、用下面的scanf函数输入数据,使a=10,b=20,c1=’a’,c2='a',x=1.5.,y=-3.75,z=67.8,请问在键盘上如何输入数据?

scanf(“%5d%5d%c%c%f%f%*f,%f”,&a,&b,&c1,&c2,&x,&y,&z);

0001000020aa1.5 -3.75 1,67.8

4. 设圆球半径为r=2.5,求圆球表面积、圆球体积。用scanf输入数据,输出计算结果,输出时要求有文字说明,取小数点后两位数字。请编程序。

#include

#define PI 3.14

main()

{

float r,s,v;

printf("输入半径:");

scanf("%f",&r);

s=4*PI*r*r;

v=4.0/3*PI*r*r*r;

printf("圆球面积是:%.2f\n",s);

printf("圆球体积是:%.2f\n",v);

}

5.输入一个华氏温度,根据公式为c=5/9(f-32)计算并输出摄氏温度,输出时要求有文字说明,取2位小数。请编程序。

#include

main()

{

float f,c;

printf("输入华氏温度:");

scanf("%f",&f);

c=5.0/9*(f-32);

printf("摄氏温度是:%f",c);

}

6.输入三角形的三边长,求三角形面积。请编程序。

#include

#include

main()

{

float a,b,c,s,area;

printf("输入三角形的三条边长:");

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

if(a+b>c&&a+c>b&&b+c>a)

{

//海伦公式

s=1.0/2*(a+b+c);

area=sqrt(s*(s-a)*(s-b)*(s-c));

printf("面积是:%f",area);

}

else

printf("该三角形不存在!");

}

7.编写一个能引起short型变量溢出的程序。

#include

main()

{

short a;

a=21344211;

printf("a=21344211,溢出后a=%d\n",a);

}

8.编写一个程序,显示下列10个转义字符:\a,\b,\n,\r,\t,\v,\',\",\\,\? #include

main()

{

printf("\\a,\\b,\\n,\\r,\\t,\\v,\\\',\\\",\\\\,\\\?");

}

9.编写一个程序,输入一个小写字母,输出其对应的大写字母。#include

main()

{

char a,A;

printf("输入一个小写字母,将输出一个相应大写字母:");

a=getchar();

A=a+'A'-'a';

putchar(A);

putchar('\n');

}