第 4 章 顺序结构程序设计
4-1 C 语言的控制语句有哪些?
答:C 语言有九条控制语句: (1)条件语句: if -else语句。 (2)开关语句: switch 语句。 (3)当循环语句: while 语句。
(4)直到循环语句: do-while 语句。
(5)计数循环语句: for 语句。
(6)中止本次循环语句: continue语句。
(7)中止整个循环语句: break语句。
(8)函数返回语句: return语句。
(9)无条件转移语句: goto 语句。
4-2 程序中使用注释语句有何作用 ?如何给程序加注释?
答:注释语句的作用:注释程序、函数及语句块的功能以及注释变量的作用,增
强程序可读性。
给程序加注释通常遵循以下原则:
(1)一个程序至少应该有一条注释语句,对整个程序功能进行说明;
(2)对程序中主要的变量应该加必要的注释,以说明变量的作用;
(3)对程序中重要的语句块应该加必要的注释,以说明语句块的作用。
(4)给程序加注释的方法:
// 注释内容(仅对当前行起作用)
/* 注释内容 */
思考: 你在写程序时,是否养成了添加必要注释的习惯?
4-3 结构化程序设计方法的基本思想是什么?
答:结构化程序设计方法的基本思想是:自顶向下、逐步求精。
printf函数是什么意思思考:你是如何理解: “自顶向下、逐步求精”的?
4-4 简述程序设计的基本过程。
答:程序设计的基本过程是: (1)分析问题;(2)设计算法;(3)编写程序。
思考:这几步中,你认为最难的是哪一步?
4-5 运行下面的程序时,数据如何输入?
#include <stdio.h>
main()
{
int a,b;
float x,y; char c1,c2;
scanf("a=%d b=%d",&a,&b);
scanf("x=%f y=%e",&x,&y);
scanf("c1=%c c2=%c",&c1,&c2);
}
假定 a=3,b=7,x=8.5,y=71.82,c1='A',c2='a'。
解:输入为: a=3 b=7 x=8.5 y=71.82 c1=A c2=a
思考:在输入数据时,数据的输入格式与类型是如何对应的?
4-6 阅读下面的程序,给出程序的运行结果。
#include <stdio.h>
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("%1d,%1o,%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.1-789.124023
67.1,-789.124023
67.86,-789.12,67.8564,-789.1240,67.856400,-789.124023
6.1e+01, -7.9e+02
6.2A,65,101,41
1234567,4553207,d687
65535,177777,ffff ,-1
COMPUTER, COM 思考:在输出数据时,数据的输出格式与输出变量是如何对应的?“ \n”的
作用是什么?
4-7 编写程序,实现如下的输出格式和结果:
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’or97(ASCII)
c2=‘b’or98(ASCII)
假定 a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51274,n=128765,c1=‘a’,c2=
‘b’。
解:#include<stdio.h>
main( )
{int a=3,b=4,c=5;
float x=1.2, y=2.4, z=-3.6;
char c1=‘a’,c2=‘b’;
long n=128765;
unsigned u=51274;
printf(“a=%d\tb=%d\tc=%d\n”,a,b,c);
printf(“x=%f,y=%f,z=%f\n ”,x,y,z);
printf(“x+y=%6.2f\ty+z=%-6.2f\tz+x=%-6.2f\n ”,x+y,y+z,z+x);
printf(“u=%8u\tn=%10ld\n”,u,n);
printf(“c1=‘%c’or%d(ASCII)\n ”,c1,c2);
printf(“c2=‘%c’or%d(ASCII)\n ”,c2,c2)
}
思考:在输出格式中, “%”后的数据起什么作用?
4-8 编写程序,求长方形的面积。
解:#include<stdio.h>
main( ) {float a, h, s;
printf(“请输入长方形的长与宽 :”);
scanf(“%f, %f”, &a, &h);
s=a*h;
printf(“长为%f 宽为%f 的长方形面积 =%f\n”,a, h, s);
}
4-9 编写程序,求梯形的面积。
解:#include<stdio.h>
main( )
{float a, b, h, s;
printf(“请输入梯形的上底边长、下底边长与高 : ”);
scanf(“%f, %f, %f ”,&a, &b, &h );
s=(a+b)*h/2;
printf(“上底边长为 %f 高为%f 的梯形面积 =%f\n ”,a, h, s);
}
4-10 编写程序,由底和高求三角形的面积。
解:#include<stdio.h>
main( )
{float a, h, s;
printf(“请输入三角形的底和高 :”);
scanf(“%f, %f”,&a, &h); s=a*h/2;
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论