当前位置:文档之家› 第二章顺序结构程序设计

第二章顺序结构程序设计

第二章顺序结构程序设计
第二章顺序结构程序设计

第二章顺序结构程序设计

教学时间:

6学时

教学目的:

1、掌握常量与变量的书写和定义

2、掌握三种基本数据类型

3、掌握运算符和表达式的使用

4、掌握顺序结构程序设计的方法

内容、重点、难点:

内容:

2.1 常量和变量

2.2 整型数据

2.3 实型数据

2.4 字符型数据

2.5 变量的初始化

2.6 运算符和表达式

重点:

1、三种基本数据类型的定义和使用

2、各种运算符的使用

难点:

1、运算符的使用

2、使用顺序结构编程

第2章顺序结构程序设计

顺序结构是一组按书写顺序执行的语句。本章将主要介绍程序中用到的一些基本要素(常量、变量、运算符、表达式和输入输出语句等),以及基本的数据类型(整型、实型和字符型)。

2.1 常量和变量

2.1.1常量

1)常量:在程序运行的过程中,其值不能被改变的量。

如2、4、-1.6等。

2)分类:普通常量和符号常量

3)符号常量:用一个标识符代表一个常量,这样的标识符称为符号常量。如用PI代表

3.1415926

4)注意:符号常量的值在其作用域内不能改变,也不能再被赋值。如在程序中,对PI重新赋值:PI=2;这样是不允许的。

2.1.2变量

1)变量

C语言规定在程序运行的过程中,其值可以改变的量,称为变量。

2)标识符:用来标识变量名、符号常量名、函数名、数组名、类型名和文件名的有效字符序列。

3)C语言规定:标识符只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。一般变量名的长度不能超过8个字符。

如下面是合法的标识符,也是合法的变量名:

sum,average,day,month,student,_above,k_1_2_3,basic

下面是不合法的标识符和变量名:

M.D.John,$123,#33,3D64,a>,-ab

在C语言中,要求对所有用到的变量作强制定义,也就是″先定义,后使用″。

2.2 整型数据

2.2.1整型常量

C语言整型常数可用以下三种形式表示:

1. 十进制整数:数码直接开头的十进制数。

2. 八进制整数:以0开头的常量是八进制数。

3. 十六进制整数:以0x开头的数是16进制数。

2.2.2整型变量

1.整型变量的分类

整型变量可分为:基本型、短整型、长整型和无符号型四种,其定义的关键字如下:

(1)基本型,以int表示。范围为-32768~32767,即-215~(215-1)。

(2)短整型,以short int或short表示。范围与基本型相同。

(3)长整型,以long int或long表示。若一个整型常量后面加上一个字母l或L,则认为是long int型常量。范围为-2147483648~214783647即-231~(231-1)

(4)无符号型,在实际应用中变量的值常常是正的,如年龄、工资、成绩等,因此可以将变量定义为″无符号″类型。

无符号型又分为:

①无符号整型,以unsigned int或unsigned表示。范围:0~65535 即0~(216-1)。

②无符号短整型,以unsigned short表示。范围:0~65535即0~(216-1)。

③无符号长整型,以unsigned long表示。范围:0~4294967295即0~(232-1)。

2. 整型变量的定义

变量的定义格式为:数据类型变量表列;

其中若定义多个同类型的变量,则用逗号分开。

例:int a,b;(指定变量a,b为整型)

unsigned short c,d;(指定变量c,d为无符号短整型)

long e,f;(指定变量e,f为长整型)

3. 整型数据的输入

整型变量键盘输入,是通过scanf函数实现的,scanf函数是数据输入函数,格式为:

scanf (格式控制,地址表列);

例如:scanf (″%d%d″,&a,&b);

(1)格式控制是用双引号括起来的字符串,由″%″和格式字符组成,作用是将输入数据转换为指定的格式输入。

(2)格式字符,对于不同的数据用不同的格式字符。d格式符是用来输入十进制整数的。因为本节问题中变量a,b是整型变量,所以输入时,用了d格式符。

(3)&a,&b中的″&″是″地址运算符″,&a是指a在内存中的地址。上面scanf函数的作用是:将a、b的值放到a,b在内存的地址单元中去。所以,在该问题中,若输入:3 5↙

则输出结果为a+b=8

4. 整型数据的输出

整型数据的输出用printf函数来实现。如printf(″a+b=%d″,c);

printf函数的格式为:

printf(格式控制,输出表列);

(1)格式控制和输入函数scanf的格式控制基本一致。

(2)输出表列是需要输出的数据或表达式。

(3)在输出整型数据时,格式字符如下:

①%d,按整型数据的实际长度输出。

②%md,m为输出字段的宽度,如果输出数据的位数小于m则左端补以空格,若大于m,则按实际位数输出。例如

printf (″%4d,%4d″,a,b);

若a=123,d=12345,则输出结果为

V123,12345(注:V表示空格字符,下同)

③%ld,输出长整型数据。如

long a=135790;

printf (″%8ld″,a);

输出结果为:VV135790

一个int型数据可以用%d或%ld格式输出。

④%u,输出unsigned型数据,即无符号类型,如unsigned u;那么u在输出的时候,应该用u格式控制符,那么输出时应使用语句:

printf (″%u″,u);

例2.1 从键盘输入任意一个整数,输出这个数的平方的值。

main( )

{ int a;

long s;

scanf(″%d″,&a);

s=a*a;

printf(″s=%ld\n″,s);}

2.3 实型数据

2.3.1实型常量

实数在C语言中,又称浮点数。实数有两种表示形式:

1.十进制数形式。由数字和小数点组成(注意必须有小数点)。

2.指数形式。但注意字母e(或E)之前必须有数字,且e后面指数必须为整数,如e3、2.1e3.5、.e3、e都不是合法的指数形式。

2.3.2实型变量

在本节问题中,已知两个数是实数,那么两数之和与积也必定为实数,所以需要设四个实型变量,分别为a,b,sum,mul。定义语句为:

float a,b,sum,mul;

C实型变量分为:

1. 单精度型(float型)

一个float型数据在内存中占4个字节(32位),在TURBO C中,

单精度实数的范围约为-1038~1038之间并提供7位有效位;小于10-38

的数被处理成零值。

2. 双精度型(double型)

一个double型数据在内存中占8个字节,双精度实数的数值范围约为

-10308~10308。并提供15~16位有效位,具体精确多少位与机器有关;小于10-308的数被处理成零值。

2.3.3实型数据的输入和输出

1. 实型数据的输入

实型数据的输入也用scanf函数实现的,格式符使用的是f字符,以小数的形式输入数据,也可以使用e字符,以指数的形式输入数据。

如本节问题中的scanf(″%f%f″,&a,&b);

2. 实型数据的输出

实型数据的输出用printf函数实现,格式符使用f字符,以小数的形式输出数据。输出时应注意:

(1)%f:不指定字段宽度,整数部分会全部输出,并输出6位小数。

(2)%m.n:指定输出数据共占m列,其中有n位小数。如果数值长

度小于m,则左端补空格。

(3)%-m.n:指定输出数据共占m列,其中有n位小数。如果数值长度小于m,则右端补空格。

(4)若是双精度型变量输出时应用%lf格式控制,如double f;

输出时应使用语句:printf (″%lf″,f);

2.4 字符型数据

2.4.1字符常量

1.字符常量

C语言的字符常量是用一对单引号括起来的单个字符。如:′a′、′b′、′x′、′D′、′?′、′$′等都是字符常量。

2.转义字符

除了这样的字符常量外,C语言还允许用一种特殊形式的字符常量,就是以一个′\′开头的字符序列.例如,前面已经用到,在printf函数中的′\n′,它表示一个″换行″符。

例2.2 字符常量的输出。

main ( )

{

printf (″ab c\n\tde″);

}

运行结果: ab c

de

2.4.2字符变量

在本节问题中,设了两个字符型变量c1和c2。定义形式如下:

char c1,c2;

它表示c1和c2为字符型变量,各可以放一个字符。可以用下面语句对c1,c2赋值:

c1=′a′;;c2=′b′;

因此在内存中一个字符变量只占一个字节。

2.4.3字符数据的存储形式

字符在内存中存储的不是字符本身,而是它的ASCII码,例如字符′a′的ASCII码为97,′b′的ASCII码为98。那么字符的存储形式与整数的存储形式是类似的。C语言使字符型数据和整型数据是通用的。

例2.3 main ( )

{

char a1,a2;

a1=97;a2=98;

printf (″%c %c\n″,a1,a2);

printf (″%d %d\n″,a1,a2);

}

程序运行时输出如下:

a b

97 98

字符型数据和整型数据是通用的,但应该注意字符数据只占一个字节,它只能存放0~255范围内的整数。

例2.4 大小写字母的转换。

main ( )

{

char a1,a2;

a1=′a′;a2=′b′;

a1=a1-32;a2=a2-32;

printf (″%c %c\n″,a1,a2);

}

运行结果为:

A B

程序的作用是将两个小写字母a和b转换成大写字母A和B。′a′的ASCII码为97,而′A′为65,′b′为98, ′B′为66。从ASCII码表中可以看到每一个小写字母比它相应的大写字母的ASCII码大32。

2.4.4字符型数据的输入和输出

1.getchar函数和putchar函数

例2.5 #include ″stdio.h″

main ( )

{

char c;

c=getchar ( );

putchar (c);

}

在运行时,如果从键盘输入字符′a′

a↙(输入′a′后,按回车键)

a (输出变量c的值′a′)

注意:getchar ( )只能接收一个字符。putchar ( )也只能向终端输出一个字符。在使用getchar 函数和putchar函数时,程序的首部需使用预编译命令″#include ″stdio.h″。

2.scanf函数和printf函数

例2.6 main ( )

{

char c1,c2;

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

printf (″%c%c″,c1,c2);

}

若输入为ab↙

则输出为ab

在使用scanf函数和printf函数输入输出字符型数据时,使用″%c″格式控制,用来输入输出单个字符。

注意,在用″%c″格式输入字符时,空格将以有效字符输入:

scanf (″%c%c%c″,&c1,&c2,&c3);

若输入aVbVc↙

则将字符′a′送给c1,字符空格′V′送给c2,因为空格也是一个有效字符,字符′b′送给c3。%c 只需要读入一个字符,用了空格做间隔,所以会出现这样的问题。

2.5字符串常量

字符串常量是用双引号括住的字符序列。如: ″How do you do″,″CHINA″,″a″等都是字符串常量.

可以输出一个字符串,如printf (″How do you do.″);

注意: 不要将字符常量与字符串常量混淆。′a′是字符常量,″a″是字符串常量,二者不同。C规定:在每个字符串的结尾加一个“字符串结束标志”以便系统据此判断字符串是否结束。以′\0′作为字符串结束标志。′\0′是ASCII码为0的字符,从ASCII码表中可以看到ASCII码为0的字符是“空操作字符”不引起任何操作。

2.5 变量的初始化

变量的初始化,就是在定义变量的同时给变量赋予初值。可以采用说明变量的类型,然后再赋值的方法,也可以对变量类型说明的同时,给变量赋初值。

1.先定义后赋值

int a,b,c;

a=2;

b=5;

c=10;

2.定义和赋值同时进行

int a=5;

short b=10;

char c=′a′;

float d=7.8;

3.对几个变量同时赋一个初值

int a1=10,a2=10,a3=10;

不可以写成:int a1=a2=a3=10;

但是也可以写成:int a1,a2,a3;

a1=a2=a3=10;

初始化不是在编译阶段完成的,而是在程序运行时执行本函数时赋以初值的。相当于一个赋值语句。例如:

int a=10;相当于:int a;

a=10;

又如:

int a,b,c=20;相当于:int a,b,c;

c=20;

2.6 运算符和表达式

2.6.1算术运算符和表达式

例2.7 已知正方形的长和宽,求正方形的周长。

[分析] 正方形的周长公式为:l=2*(a+b),已知正方形的长和宽可以计算周长。

main ( )

{

int a,b,l;

a=3;

b=4;

l=2*(a+b);

printf (″l=%d\n″,l);

}

1. 基本的算术运算符

+(加法运算符,或正值运算符)

-(减法运算符,或负值运算符)

* (乘法运算符)

/ (除法运算符)

% (模运算符,或求余运算符)

注意:(1)两个整数相除结果为整数。但是如果相除的两个数中,至少有一个为实数,则结果为带小数的商。

(2)% 模运算符,要求操作数均为整型数据,如7%4的值为3。

2. 算术表达式

用算术运算符和括号将操作数连接起来的,符合C语法规则的式子,称C算术表达式。

在表达式求值时,按运算符的优先级别高低次序执行。

例如:10+′a′+1.5-8765.12*′b′

在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算。

3. 强制类型转换

可以用强制类型转换运算符将一个表达式转换成所需类型。例如

(double)a (将a转换成double类型)

(int)(x+y)(将x+y的值转换成整型)

(float)(5%3)(将5%3的值转换成float型)

一般形式为:

(类型名)(表达式)

注意:(1)类型名应用括号括起来。如(int)(x+y)

(2)已知float x; 对于(int)x,x仍然是float类型,而整个表达式(int)x为整型。2.6.2赋值运算符和赋值表达式

1. 赋值符号

赋值符号″=″就是赋值运算符,将一个数据赋给一个变量。如″a=3″。

2. 类型转换

如果赋值运算符两侧的类型不一致,要进行类型转换。

(1)将实型数据赋给整型变量时,舍弃实数的小数部分。如i为整型变量,执行″i=3.56″的结果是使i的值为3。

(2)将整型数据赋给实型变量时,数值不变,但以浮点数形式存储到变量中。

3. 复合的赋值运算符

常用的赋值运算符有以下几种:

+=,-=,*=,/=,%=

例如:

a+=3 等价于a=a+3

x*=y+8 等价于x=x*(y+8)

x%=3 等价于x=x%3

4. 赋值表达式

由赋值运算符将一个变量和一个表达式连接起来的式子称为″赋值表达式″。

例如:

a=b=c=5 (赋值表达式值为5,a、b、c值均为5)

a=5+(c=6) (表达式值为11,a值为11,c的值为6)

a=(b=4)+(c=6) (表达式值为10,a值为10,b等于4,c等于6)

三、逗号运算符和逗号表达式

逗号运算符将两个表达式连接起来。如

3+5,6+8

称为逗号表达式。逗号表达式的格式为

表达式1,表达式2

逗号表达式的求解过程是:先求解表达式1,再求解表达式2,整个逗号表达式的值是表达式2的值。例如

逗号表达式

a=3*5,a*4

先求解a=3*5,得a的值为15,然后求解a*4,得60。整个逗号表达式的值为60。

课堂练习综合实例例1 输入三角形的三条边长,求三角形面积。

(为了简单起见,设输入的三边长a,b,c能构成三角形)

#include ″math.h″

main ( )

{

float a,b,c,s,area;

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

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

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

printf (″a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n″,a,b,c,s);

printf (″area=%7.2f\n″,area);

}

运行情况如下:

3,4,6

a= 3.00, b= 4.00, c= 6.00, s= 6.50

area= 5.33

例2 从键盘输入一个大写字母,要求改用小写字母输出。

#include ″stdio.h″

main ( )

{

char c1,c2;

c1=getchar ( );

printf (″%c,%d\n″,c1,c1);

c2=c1+32;

printf (″%c,%d\n″,c2,c2);

}

运行情况如下:

A↙

A,65

a,97

本章小结

本章在讲解顺序结构程序设计方法的同时,介绍了三种数据类型。

1. 整型数据。主要了解整型数据的定义方法,根据使用整数的范围选用定义整数变量的类型。掌握整型数据的输入输出方法,主要使用d格式控制符。

2. 实型数据。主要掌握实型变量的不同定义方法,单精度数和双精度数的表示范围,实型数据的输入输出方法,主要使用f格式控制符。

3. 字符型数据。是由一对单引号括起来的单个字符,要注意,字符与字符串的区别。

还讲解了各种运算符和表达式,主要掌握算术运算符,在混合运算中,要按照运算符的优先级,结合方向运算。

作业:

顺序结构选择结构和循环结构的程序设计典型例题分析与解答

顺序结构、选择结构和循环结构的程序设计典型例题分析与解答 1 在三种选择结构中,能用2个条件,控制从3个操作中选择一个操作执行的选择结构是______选择结构 【分析】能用1个条件,控制某个操作做或不做的选择结构是单分支结构;能用1个条件,控制从2个操作中选择一个操作执行的选择结构是双分支结构;能用n(n>l)个条件,控制从n+ l个操作中选择一个操作执行的选择结构是多分支结构。【答案】多分支 2 在三种循环结构中,先执行循环操作内容(即循环体),后判断控制循环条件的循环结构是______循环结构。 【分析】当型循环结构是先判断控制循环的条件,条件成立,执行循环体;条件不成立,则退出循环体。次数型循环结构也是先判断是否达到循环次数,没有达到循环次数,执行循环体;达到循环次数的,退出循环。只有直到型循环结构才是先执行循环体,然后再判断控制循环的条件,如果条件成立,进行循环;条件不成立,退出循环。 【答案】直到型 3 使用“getchar( )”函数时,程序的开头必须写一条包含命令为____________。 【分析】凡是使用系统函数的程序,都要在程序的开头写一条包含命令,包含命令中的“头函数.h”是一个文件,其中有关于该系统函数的定义。系统函数“getchar( )”是在名为“stdio.h(标准输入输出函数)”的头函数文件中定义的。【答案】#include"stdio.h"或#include<stdio.h> 4 执行输入语句“scanf("x=%c,y=%d",&x,&y);”,要使字符型变量X的值为'A'、整型变量y的值为12,则从键盘上正确的输入是( ) ①'A'/②A/③x=A/ ④x=A,y=12/ 12/ 12/ y=12/ 说明:备选答案中的"/"表示回车换行键 【分析】输入语句的格式控制符串中的“x=”、“,”、“y=”都是非格式控制符, 在输入时必须原样位置输人,所以只有备选答案④才符合这个要求。【答案】④ 5 设有下列程序段,则执行该程序段后的输出是( ) int i=012; float f=1.234E-2; printf("i=%-5df=%5.3f",i,f); ... ①i=__012f=1.234 ②i=10___f=0.012 ③10___O.012 ④___100.012 注:答案中的_代表一个空格。 【分析】输出语句的格式控制符串中的“i=”、“f=”都是非格式控制符,在输出时必须原样,原位置输出,所以只有备选答案①和②才符合这个要求;格式控制符“%-5d”的格式控制是数据左对齐、宽度为5的整型数据,备选答案①中的数据是右对齐的;此外,该答案中的实数“1.234E-2”应该代表“0.01234”,而不是“1.234”。只有备选答案②符合题意。【答案】② 6 在Turbo C的主屏幕中,将当前编辑的源程序以原名存盘,可以选用___________菜单项,也可以直热键________。 【分析】如果选用“File/Save”菜单项,或者使用热键(f12),当前编辑的源程序将以原来的文件名存盘;如果选用“File /Write to”,当前编辑的源程序将以新的文件名存盘。 【答案】File/Save F2 7 下列各种选择结构的问题中,最适合用if-else语句来解决的是( ) ①控制单个操作做或不做的问题 ②控制两个操作中选取一个操作执行的问题 ③控制三个操作中选取一个操作执行的问题 ④控制10个操作中选取一个操作执行的问题 【分析】if-else语句是专门解决“双分支结构”的,而“双分支结构”的问题就是用单个条件控制从两个操作中选取一个操作来执行的问题。 【答案】② 8 下列程序是输入一个小写字母,转换成对应大写字母的后一个字母输出。例如:'a'将转换成’B’、…、‘y’将转换成’Z’,其中的’Z’将转换成’A’。请填写程序中所缺少的语句。 main() {char ch ; scanf(”%c”,&ch〕; ch=ch- 32+1; ___________________; printf("%c\n",ch); } 【分析】分析程序库中的“ch=ch- 32+ 1;”语句,可知是将字符型变量 ch中的小写字母转换成对应的大写字母(- 32)的后一个字母(+ l)。如果ch中的字母是' a'、' b'、··,'y',转换结果都不会出错,但是,如果 ch中的字母是'Z',则-32后是大写字母'Z',再+l后将不是大写字母了。为了使其转换成'A',需要用一个单分支结构来实现:如果ch的值等于'Z'+ l,则硬性将 ch的值改成'A'。完成这个任务的语句是一条单分支语句,正是所缺少的语句。 【答案】 if (ch=='Z'+l) h='A'; 9不能正确计算下列分段函数的程序段是_________ |-1 x<0 y=|0 x=0 x>0 ① switch(x< 0)② if(x> 0) {case1:y=-1;break; y=1; case 0:switch(x==0)else {casel:y=0;break;if(x==0) case 0: y= l;y=0 } else } &ny=-l ③ y= l;④ y= l; if(x==0)if(x<0) y=0; y =-l; else else y=- l; if(x== 0) y=0; 【分析】先来分析备选答案①:表达式“x<0”的值只有两种可能性,成立值为1、不成立值为on如果“x<0”的值为 1(即 x< 0),则执行“easel:”后的语句“y=-l”后,退出 switch语句,符合分段函数要求。如果“x<0”的值为0(即x>=0),则执行“case 0:”后的switch语句。该switch语句的表达式是“x==0”,结果也有两种:成立为1、不成立为0.如果“x==0”的值为1(即x=0),则执行“case l:”后的语句“y=0”后,退出 switch语句,符合分段函数要求。如果“x==0”的值为0(即x>0),则执行“case 0:”后的语句“y=1”,也符合分段函数要求。再分析备选答案②:这是标准的用嵌套双分支结构来实现三分支的分段函数,结果显然是能求解分段函数的。分析备选答案③:双分支语句的条件是“x==0”,条件成立时,y值为0,符合分段函数的要求,条件不成立时(包含x>0和x<0两种情况),结果y值为-l,显然不符合分段函数的要求,所以本题要选该答案。至于备选答案④,是能正确计算分段函数的,首先置y为1;接着用双分支结构处理“x<0”和“x>=0”的两种情况:前者使得y值为一l;后者再执行一个单分支结构,如果“x==0”则使y值为0,否则不改变y值,保持y的原值1,符合分段函数的要求。 【答案】③ 10 三种循环语句都能解决循环次数已经确定的次数型循环,其中__________循环语句最适合。 【分析】当“for(表达式 1;表达式 2;表达式 3)语句;”中的表达式1为:整型变量 k=l;表达式 2为:整型变量 k<= n;表达式 3为:整型变量 k++;则这个 for循环就是次数为n次的标准次数型循环结构。 【答案】for 11执行下列程序段后的输出是() x=l; while(x<=3) x++,y=x+++x; printf("%d,%d",x,y); ① 6,10 ②5,8 ③4,6 ④3,4 【分析】我们可以使用逐步记录运行结果的方法来获得输出结果,记录如下: x=1; 进入循环,条件满足执行循环体:计算x+十得x为2,计算y=x+++x,得y为4、x为3; 继续循环,条件满足执行循环体:计算x+十得x为4,计算y=x+++x,得y为8、x为5; 继续循环,条件不满足退出循环; 输出x和y的值为5,8。 【答案】② 12 执行下列程序段,其中的do-while循环一共执行_次。 static int x; do x+=x*x; while (x); 【分析】对静态型变量,不赋初值也有值,对整型变量,其值为 0。执行循环语句 do-while 的循环体,x+=x* x是x=x+(x*

实验-4顺序结构

实验4:顺序结构程序设计 实验名称:顺序结构程序设计成绩: 实验日期:年月日实验报告日期:年月日 一、实验目的 1、掌握:使用标准输入/输出函数进行常见数据类型的数据的输入/输出方法。 2、初步培养编制程序框图和源程序、准备测试数据以及实际调试程序的独立编程能力。 二、实验内容 在Turbo C下完成程序题: (1)根据商品原价和折扣率,计算商品的实际售价(结果精确到小数点后2位) (2)根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积(结果精确到小数点后3位) 注:变量名可以自由选择,以易于理解为原则;数据由键盘输入。 三、实验要求 1、实验前编制程序框图、编写源程序、准备测试数据。 2、实验测试数据要求从键盘输入。应尽力追求程序的完美。比如要求输入数据,应当显示提示 字符串,提示用户输入;输出时要求有文字说明。 3、在Turbo C下完成程序的编辑、编译、运行,获得程序结果。如果结果有误,应找出原因, 并设法更正之。 4、编制的程序必须保存在D:\用户目录中。注:用户目录可以用学号或姓名拼音简写。 四、实验步骤、过程 1、启动操作系统,进入DOS窗口;切换到用户磁盘,创建、进入用户目录。(方法、命令与 实验1相同) 2、启动Turbo C集成开发环境。(方法与实验1相同) 3、完成2个程序题。(编辑、保存、编译连接、运行程序,步骤与实验1相同) 4、退出Turbo C集成开发环境,关机。

五、源程序清单、测试数据、结果。 1、根据商品原价和折扣率,计算商品的实际售价 程序框图: 程序 main() { float price,discount,fee; printf("Input Price,Discount:"); fee=price*(1-discount/100); } 运行: Input Price,Discount: Fee= 注:下划线表示程序运行后用户输入的数据,表示回车,以后不再解释。 2、根据圆柱体的半径和高,计算圆周长、圆面积、圆柱体表面积、圆柱体体积程序 void main() { float r,h,pi=3.1415926; float c0,s0,s,v; printf("Input r,h(m):"); scanf("%f,%f",&r,&h);

第八讲:顺序结构程序设计举例

第八讲:顺序结构程序设计举例 所谓的顺序结构就是从头到尾一步步按部就班的执行下去,不会中途出现放弃或者跳转的情况。利用这样的思想实现的程序我们称之为顺序结构程序。在前面学习了许多知识点之后我们就可以开始最基本的顺序结构程序的设计了。 8.1 顺序结构 所谓的顺序结构可以用一个成语形容叫“按部就班”。任何事情都遵循着先做什么,再做什么的思想进行。这样的结构是我们日常生活中最常见的结构。在顺序结构中当一件事情开始后就再也不会停下,直到最后一步完成,整件事情做完为止,中途不会有放弃或者选择性放弃的过程。 8.2 经典算法—数据交换 很多语言的程序设计大多数都是从数据交换这个最经典的算法开始的,所谓的数据交换是将两个同等性质的物质进行对换,例如有两个整数a和b,a = 1,b = 2,在交换之后,使得a = 2,b = 1。 交换的算法是由于变量的性质所决定的,由于变量在同一时刻只能够存储一个数据,因此我们不能直接使用 a = b,b = a的方式对数据进行交换。此时我们就需要想出一些方法,帮助程序实现最正确的交换。 对于任何的数据我们都可以采用“第三变量法”进行交换。所谓的“第三变量法”即借助第三个变量实现对数据的交换,例如对a和b的数据交换,就有: 接下来我们将通过如下示意图对“第三变量法”进行简单的介绍: b

在程序未执行交换前,a = 1,b = 2。在执行交换算法的过程中,首先执行“t = a;”一句,将a中的值1转移到t中暂存,接下来执行“a = b;”一句,将b之中的值2存放到变量a中,a中原先的1被覆盖;最后执行“b = t;”一句,将t中所暂存的原先a的值1存放到变量b中,b中原有的2被覆盖。此时 a = 2,b = 1,t = 1。 当然,读者也可以使用先暂存b的方式对a和b之中的数据进行交换。下面给出该案例的完整代码: [例] 使用“第三变量法”交换a和b之中的数据。 当然对于一些数值型的数据(所谓的数值型数据是指单纯的数字或者ASCII 码),我们也可以直接采用“算数交换法”进行交换。所谓的算数交换法是指利用数值型数据可进行算术运算的特性进行交换。以上例a与b的值交换为例,则有: 假设a = 1,b = 2。首先执行“a = a + b;”,此时a = a + b = 1 +2 = 3,而b = 2;

第3章顺序结构程序设计练习题及答案

第3章顺序 一、单选题: 1.己知int k,m=1;执行语句k=-m++;后k的值是( A)。(提示:负号与自加运算符同级,结合方向从右向左) A)-1 B) 0 C)1 D)2 2.若变量a, b已正确定义,且a,b均已正确赋值,下列选项中合法的语句是( B) A) a=b B)++a; C) a+=b++=1; D)a=int(b); (提示:a=b 只是表达式非语句; b++是个表达式)3.若有定义int x=4;则执行语句 x + = x * = x + 1;后,x的值为( C )。 A)5 B)20 C)40 D)无答案 4.若有定义和语句: int s,p; s=p=5; p=s++,++p,p+2,p++;则执行语句后 p的值是( C) A)9 B)8 C)7 D)6 5.若有定义:int a,b;则表达式 a=4,b=3,a+b+2,a++,a+b+2的值为( C)。 A) 12 B)11 C)10 D)无答案 6.若有定义:float a=3.0,b=4.0,c=5.0;则表达式 1/2*(a+b+c)的值为( C )。 A)6.0 B)6 C)0.0 D)无答案 7.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。) int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错,无结果 8.下列程序段的输出结果是(C)。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%3.2f,%4.1f",a,b,c); A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.5 9.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。 printf("%d,%d\n",x--,++y); A)8,5 B)7,5 C) 7,6 D) 8,6 10.以下程序的输出结果是( A )。 void main() { int a=20,b=10; printf("%d,%%d\n",a+b,a-b); } A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符)11.下列程序的运行结果是(A)。 void main() { float x=2.5; int y; y=(int)x; printf("x=%f,y=%d",x,y);} A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.000000 12.己知int k=10 , m=3,n;则下列语句的输出结果是(B)。 printf("%d\n",n=(k%m,k/m));

实验一 顺序结构程序设计

实验一顺序结构程序设计 一、实验目的 1. 掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符。2 2. 学会使用有关算术运算符,以及包含这些运算符的表达式。 3. 掌握数据的输入输出方法,能正确使用各种格式转换符。 二、实验学时数 4学时 三、实验内容和步骤 1..启动TC 2.0编译系统,进入编辑界面,建立一个新文件。文件名自定。(要求每个学生建立一个自己的文件夹,每个同学的练习和作业的源程序命名形成系列,便于检查、查找和考核)。 利用一个小程序验证常量、变量的使用方法与特点,验证数据类型和表达式值的计算规则及其输出格式。 参考程序: main( ) { char c1,c2; c1=97;c2=98; printf(″%c,%c\n″,c1,c2); } (1)在此基础上加入以下printf语句,并运行。 printf(″%d,%d\n″,c1,c2); (2)将第二行改为以下语句,并运行。 int c1,c2; (3)将第三行改为以下语句,并运行。 c1=300;c2=400; 分别写出三次运行结果。 2.编程并调试运行 (1)编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。上机运行此程序,比较putchar和printf函数输出字符的特点。 (2)试编写程序,从键盘输入一个大写字母,要求改用小写字母输出。 3.写出下面程序的运行结果: 1)main() { int x=1,y=1,z=1; y=y+x; x=x+y; printf(″%d\n″,x); printf(″%d\n″,y); } 2) main()

03实验三 顺序结构程序设计_答案

湖北工业大学实验报告 课程名称:C语言程序设计实验内容实验三顺序结构程序设计 学院:工程技术学院专业班级: 姓名:学号:教师:成绩: 一、实验目的 1、掌握赋值语句、表达式语句、函数调用语句、复合语句、空语句的使用方法。 2、掌握输入、输出函数的格式及格式符的使用。掌握文件包含预处理命令的使用方法。 3、掌握数据的输入、存储、输出之间的关系。 4、掌握顺序程序设计的逻辑结构,掌握数据结构的功能。 二、预习作业 1、程序填空题:试在括号中填入正确的答案,并上机验证程序的正确性。(1) 输入大写字符A,则输出为( )。(文件名:ex3_1.c) (#include ) main( ) { ( char ch,chr; ) chr=(ch= getchar( )) main( ) { ( long int) a =80000 , b = 60000, c, d; ( c) = ( a - b ,a + b ); ( d) = (a + b,a - b); printf(“%ld ,%ld\n”, c, d); }

2、程序改错并上机调试运行 (1)更改下列程序中的位运算符和逻辑运算符,能使变量d、e输出的结果为零。 (文件名:ex3_3.c) #include main( ) { int a = 8, b = 2,c = 3,d,e; /********** found **********/ d = (a % c & ^ a % c); e = a / c - b || && c + + ; printf (“%d, %d\n”, d, e); } (2) 查找改程序中的错误,并修改正确。(文件名:ex3_4.c) #include main( ) { int a = 4, b = 6, c= 3; /********** found **********/ a = a + b = b + c ; b = a < b ?a :b < c ?b :c printf(“%d,%d\n”, a, b); } 3、读程序写结果并上机验证其正确性 (1) 变量 a,b,c,d如下,将变量a以各种格式输出并输出表达式c+a,d – 32的值。(文件名:ex3_5.c) #include main( ) 结果为:(-1,4294967295,37777777777,ffffffff ) { int a = - 1 , b = 2 ; C,B char c = …D?,d = …b?; b = b + c;//??? printf (“%d, %u,%o,%x \n ”,a,a,a,a ); printf (“%c,%c \n ”,c + a, d - 32); } (2) 运行程序后输入”a空格b空格c回车”后,输出结果是(a ,b )。(文件

顺序结构程序设计练习题3

C语言练习题总汇 一、单选题: 【顺序结构程序设计】 1.己知int k,m=1;执行语句k=-m++;后k的值是(A )。(提示:负号与自加运算符同级,结合方向从右向左) A)-1 B) 0 C)1 D)2 2.若有定义int x=4;则执行语句x + = x * = x + 1;后,x的值为(C )。 A)5 B)20 C)40 D)无答案 3.若有定义:float a=3.0,b=4.0,c=5.0;则表达式1/2*(a+b+c)的值为( C )。 A)6.0 B)6 C)0.0 D)无答案 4.以下程序段的输出结果是( C )。(提示:a当约束过严时,约束失效。按自由格式输出。)int a=1234; printf("%2d\n",a); A)12 B)34 C)1234 D)提示出错,无结果 5.下列程序段的输出结果是(C)。 int a=1234; float b=123.456; double c=12345.54321; printf("%2d,%3.2f,%4.1f",a,b,c); A)无输出 B)12, 123.46, 12345.5 C)1234,123.46,12345.5 D)1234,123.45, 1234.5 6.设x, y均为整型变量,且x=8, y=5,则以下语句的输出结果是(D)。 printf("%d,%d\n",x--,++y); A)8,5 B)7,5 C) 7,6 D) 8,6 7.以下程序的输出结果是( A )。 int main() { int a=20,b=10; printf("%d,%%d\n",a+b,a-b); } A) 30,%d B)30,10 C)30,%10 D)以上答案均不正确(%%d中第一个%后面的表示字符) 8.下列程序的运行结果是(A)。 int main() { float x=2.5; int y; y=(int)x; printf("x=%f,y=%d",x,y);} A) x=2.500000,y=2 B)x=2.5,y=2 C)x=2,y=2 D) x=2.500000,y=2.000000 9.以下程序的输出结果是(A)。 int main() { char c=‘z’; printf("%c",c-25);} A)a B)z C)z-25 D)y (字母共有26个,而z是最后一个)

c语言程序设计实验报告1--顺序结构

福建农林大学金山学院实验报告 系(教研室):专业:年级: 实验课程: C语言程序设计姓名:学号:实验室号:_ 计算机号:实验时间:指导教师签字:成绩: 实验1:顺序结构程序设计 一、实验目的和要求 1.了解Visual C++ DEV_C++的基本操作方法 2.掌握C程序设计的基本步骤:编辑、编译、连接和运行 3.掌握各种类型数据的输入输出方法 4.能够编写一个简单的程序 二、实验内容和原理 1. 输入并运行一个简单、正确的程序。 # include <> int main( ) { printf ("This is a c program!\n"); return 0; } 2. 要使下面程序的输出语句在屏幕上显示:A,B,34,则从键盘输入的数据格式应为AB34__________ 。 #include<> int main() { char a, b; int c;

scanf("%c%c%d",&a,&b,&c); printf("%c,%c,%d\n",a,b,c); return0; 问题1:要使上面程序的键盘输入数据格式为a=A,b=B,34,输出语句在屏幕上显示的结果也为A,B,34,则应修改程序中的哪条语句怎样修改 scanf( “a=%c,b=%c,%d”,&a,&b,&c ); 问题 2:要使上面程序的键盘输入数据格式为A,B,34,而输出语句在屏幕上显示的结果为“A”,“B”,34,则应修改程序中的哪两条语句怎样修改 scanf( “%c,%c,%d”,&a,&b,&c); printf(“\”%c\”,\”%c\”,%d\n”,a,b,c); 3、编程求一个圆的周长和面积。用scanf输入圆半径,输出保留两位小数。 4、输入一个华氏温度F,要求输出摄氏温度C。公式为 c=5/9(F-32),取两位小数。 5、编程序,用getchar函数读入两个字符给c1、c2,然后分别用putchar函数和printf 函数输出这两个字符。 6. 计算定期存款本利之和。 设银行定期存款的年利率rate为%,并已知存款期为n年,存款本金为capital元,试编程计算n年后的本利之和deposit。要求定期存款的年利率rate、存款期n和存款本金capital 均由键盘输入。(提示:pow为幂函数:pow(2,3)表示23)。 #include <> #include <> int main() { } 三、实验环境

C语言(顺序结构程序设计)习题与答案

1、一个C程序的执行是从( )。 A.本程序的main函数开始,到main函数结束。 B.本程序的main函数开始,到本程序文件的最后一个函数结束。 C.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 D.本程序文件的第一个函数开始,到本程序main函数结束。 正确答案:A 2、C语言规定:在一个源程序中,main函数的位置( )。 A.必须在系统调用的库函数的后面 B.必须在最开始 C.可以任意 D.必须在最后 正确答案:C 3、下面四个选项中,均是不合法的浮点数的选项是( )。 A.160. 0.12 e3 B.123 2e4.2 .e5 C.-e3 .234 1e3 D..18 123e4 0.

4、下面四个选项中,均是合法浮点数的选项是( )。 A.+le+1 5e-9.4 03e2 B.123e 1.2e-.4 +2e-1 C.-.60 12e-4 -8e5 D.-e3 .8e4 5.e-0 正确答案:C 5、下面正确的字符常量是( )。 A.'' B.'W' C."a" D.'\\'' 正确答案:B 6、下面四个选项中,均是不正确的八进制数或十六进制数的选项是( )。 A. 016 0x8f 018 B. 010 -0x11 0x16

7ff -123 D.oabc 017 0x8 正确答案:C 7、下面不正确的字符串常量是( )。 A."12\12" B."0" C."" D.'abc' 正确答案:D 8、在C语言中,要求运算数必须是整型的运算符是( )。 A./ B.= C.++ D.% 正确答案:D 9、若以下变量均是整型,且num=sum=7;则执行表达式 sum=num++,sum++,++num后sum的值为( )。 A.7 B.9 C.10 D.8 正确答案:D 10、若有定义:int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)%2/4的值是( )。

实验三 顺序结构程序设计

实验三顺序结构程序设计 一、实验目的 学习数据传送指令和算术运算指令的用法;掌握数据定义伪指令的格式,会用DEBUG 中的D命令观察DB、DW、DD存储数据的格式;熟悉汇编语言的基本框架,掌握编写汇编语言程序的基本方法。 二、示例 试问如下程序执行到exit时,字单元A、B、C、C+1、C+2中的内容各是什么? 源程序如下: data segment a d b 0 b db 0 c db 30,40,50 data ends code segment assume cs:code,ds:data start: mov ax,data mov ds,ax mov al,c+1 add al,c mov a,al mov al,c+1 add al,c+2 mov b,al add c,10 add c+1,20 add c+2,30 exit: mov ah,4ch int 21h code ends

end start 注:c db 30,40,50为c=30,c+1=40,c+2=40. 阅读以上程序,分析出结果,并上机验证。 (1)输入以上源程序,以TX4_1.ASM命名。 (2)用MASM 汇编TX3_1.ASM,生成TX4_1.OBJ文件。 (3)用LINK 连接TX3_1.OBJ,生成TX4_1.EXE文件。 (4)用DEBUG调试TX3_1.EXE文件,观测运行结果。 三、实验题 1、求表达式Y=A*X2+B*X+C的值,已知A、B、C分别存放在DATAA、DATAB、DATAC字节单元,X存放在TABL字节单元,结果Y放入RESULT字单元。 要求:①在DEBUG下多次修改X的值,观察执行结果Y; data segment DATAA db 1 DATAB db 2 DATAC db 3 TABL db 0 RESULT db ? data ends

VB程序设计 习题及答案第3章 顺序结构程序设计

第3章顺序结构程序设计 3.1 下列语句是否有错?若有,请改正。 (1) Let = 17 (2) T1$ = XYZ (3) L*2 = K + E (4) 1A = 34 , 2A = 66 【答案】 (1) Let x = 17 或 x = 17 (2) T1$ = “XYZ” (3) L = (K + E)/2 (4) A1 = 34 : A2 = 66 3.2 编一个对三种商品零售计价程序,商品数量由键盘输入。 A商品:每件1.25元 B商品:每件3.12元 C商品:每件11.27元 总计金额 SUM。 【参考答案】 (1)用户界面设计 图3-1 程序运行结果 (2)控件属性设置(略) (3)程序代码设计 Private Sub Command1_Click() Sum = 1.25 * Text1.Text + 3.12 * Text2.Text + 11.27 * Text3.Text Text4.Text = Sum End Sub 程序运行结果如图3-1所示 3.3 小王有存款A元,年利率P,存储时间T年,试编程求本利合计。 【参考答案】 (1)用户界面设计 (2)控件属性设置(略) (3)程序代码设计 (说明:存款按单利计算) Private Sub Command1_Click() a = Text1.Text p = Text2.Text t = Text3.Text a = a + a * p * t

Text4.Text = a End Sub 程序运行结果如图3-2所示: 图3-2 程序运行结果 3.4 试编写打印下面三角形图案的源程序。 * * * * * * * * * * * * * * * * * * * * * * * * * 【参考答案】 程序代码设计 Private Sub Form_Click() Form1.Print Tab(15); "*" Form1.Print Tab(14); "***" Form1.Print Tab(13); "*****" Form1.Print Tab(12); "*******" Form1.Print Tab(11); "*********" End Sub Private Sub Form_Load() Form1.AutoRedraw = True Form1.Print "显示星号三角形,单击窗体开始" End Sub 程序运行结果如图3-3所示:

c语言顺序结构程序设计练习题10道

c语言顺序结构程序设计练习题 1、编写程序:输入一矩形的长和宽,计算该矩形的面积。 2、编程:输入求的半径R,计算并输出球的体积。 3、编程:输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。 4、编程:输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积 5、编程:已知三角形的三边a=3,b=4,c=5,求其面积s。(提示:假设有一个三角形,边长分别为a、b、c,三角形的面积S可由以下公式求得:S=sqrt(p(p-a)(p-b)(p-c)),而公式里的p为半周长:p=(a+b+c)/2。 6、编写一个C程序,输出以下信息: ************************** Very Good! ************************** 7、编写一个程序,输入a、b、c三个值,输出其中最大值. 8、写出程序运行的结果: main() { int i,j,m,n;

i=8; j=10; m=++i; n=j++; printf(“%d,%d,%d,%d”,i,j,m,n); } 9、写出程序运行的结果: main() { char a ,b, c1,c2; float x ,y; a = 3; b =7; x = 8.5; y = 71.82; c1 = ' A' ; c2 = 'a '; printf("a= %d b = %d/n",a,b); printf("x = %f y = %f",x,y); printf("c1= %c,c2 =%c",c1,c2); } 10、求ax2+bx+c=0方程的根,a,b,c由键盘输入,假设b2-4ac>0。

2.2程序的顺序结构

程序的顺序结构 一、教学目标 1、知识与技能 理解程序顺序结构的执行流程,掌握赋值语句和输入输出语句,能够编写简单的顺序结构的程序,以解决生活中的一些计算问题。 2、方法与过程 本节从简单的问题入手,如求圆的面积,让学生初步掌握赋值语句和输入输出语句的使用方法及其功能。进而转入较为复杂的问题,如编写程序使从键盘上输入一个三位数,然后反方向输出,并且运用到上一章所学的运算符、表达式等,对知识进行巩固,课程安排形成循序渐进的梯度,充分挖掘学生潜力,让有余力的学生可以有更大空间。 3、情感态度和价值观 程序设计选取的题目与高一所学的数学、物理中学到的新知识有密切的联系,从而激发学生对程序设计的追求和向往。 二、重点难点 1、教学重点 (1)赋值语句和输入输出语句的使用 (2)程序顺序结构的执行流程 (3)能编写程序解决简单的应用题 2、教学难点 根据题目写出正确的程序

三、教学环境 1、教材处理 教材选自《广东省普通高中信息技术选修一:算法与程序设计》第二章第二节,原教材的第一个程序例子有关居民生活消费支出的计算,题目很简单,学生也能理解,但是涉及到的条件较多,写程序时多次使用同样的语句和函数,整个程序看起来长,而且是简单的重复。 所以上课时,把教材的内容作了的简单的处理,以求圆的面积这个程序作为导入,学生更易理解和掌握。而且这个例子也符合一般程序包括数据类型说明、数据输入、数据处理和数据输出四个部分,让刚入门的学生有规可依,进而觉得程序也不是太难学,从易到难进行过渡,提高学生的学习兴趣。 2、预备知识 学生已掌握算法的概念及描述方法,定义常量与变量的方法,程序设计的四个步骤——分析问题、建立模型、设计算法和编写程序。 3、硬件要求 建议本节课在多媒体电脑教室中完成,有广播教学系统或投影仪。 4、所需软件 学生机要安装VB6.0或以上版本。 5、所需课时 2课时(100分钟) 四、教学过程 导入:

顺序结构程序设计

第四章顺序结构程序设计 (4学时) 一、教学目的及要求 要求学生了解结构化程序设计的基本思想、算法的表示方法,熟练掌握C 语言语句、格式输入/输出函数、字符输入/输出函数。 二、教学重点及难点 重点:结构化程序设计的基本思想,输入/输出函数的使用方法。 难点:流程图的绘制。 三、教学手段 板书与多媒体课件演示相结合 四、教学方法 启发式教学、讲解、演示 五、作业 1、P88页:4.3、4.4、4.6、4.8、4.9 2、习题册本章练习。 六、参考资料 1、谭浩强、张基温、唐永炎主编《C语言程序设计教程》,第三章 2、杨非主编《C语言程序设计应试辅导—二级》,第三章 七、教学内容与教学设计

上节课我们介绍了几种常用的基本数据类型,以及不同数据类型的相互转换,变量赋初值。 这节课我们继续介绍几种常用的运算符以及表达式。形式回顾类型转换的两种类型 【讲授新课】 一、算法与结构化程序设计 1 、算法 例:求长方形的面积。 算法指解决一件事情的方法和步骤,怎样表示一个算法?用流程图表示算法。 流程图表示算法,直观形象,易于理解。 流程图中常用符号的含义如下: 例如将求长方形的面积的算法用流程图表示。讲解 [板书] [幻灯片] [重点] 算法在程序设计中的地位及表示 [板书] [幻灯片] [重点] [难点] [课堂设计]请同学回答,通过例题加强对

二、程序基本结构 1. 顺序结构: 2. 选择结构: 3. 循环结构概念的理解。[重点] [幻灯片] [重点] [课堂设计]利用生活中的例子,如跑步、走路等解释不

3.1.4 结构化程序设计方法 ● 自顶向下; ● 逐步细化; ● 模块化设计; ● 结构化编码。 C程序的结构: 源程序文件1预处理命令全局变量声明函数首部局部变量声明执行语句 函数体 函数1函数n 源程序文件2源程序文件n C程序 三、顺序结构程序设计 1.顺序执行语句概述 C程序的执行部分是由语句组成的。 程序的功能也是由执行语句实现的。 C 语句可分为以下五类: 1. 表达式语句:表达式语句由表达式加上分号“;”组成。 同结构的表示方法。 [幻灯片] [重点]

第4章顺序结构程序设计习题与答案

第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 结构化程序设计方法的基本思想是什么? 答:结构化程序设计方法的基本思想是:自顶向下、逐步求精。 思考:你是如何理解:“自顶向下、逐步求精”的? 4-4 简述程序设计的基本过程。 答:程序设计的基本过程是:(1)分析问题;(2)设计算法;(3)编写程序。思考:这几步中,你认为最难的是哪一步? 4-5 运行下面的程序时,数据如何输入? #include 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'。

实验2 顺序结构程序设计

实验2 顺序结构程序设计 2.1 实验目的 1.掌握C语言数据类型的概念,熟悉如何定义一个整型、实型和字符型的变量,以及对它们赋值的方法。 2.掌握输出函数printf()及输入函数scanf()的各种格式控制符的用法。 3.掌握顺序结构程序设计方法及执行过程。 4.进一步熟悉C程序的编辑、编译、连接、运行的过程。 2.2 示例程序 【实验2.1】输入并运行以下程序。 #include main() { printf("What's "); /*输出What's */ printf("your "); /*输出your */ printf("name?\n"); /*’\n’是换行符*/ } 说明: 1.程序的运行结果为“What’s your name?”。 2.printf()函数中只有“格式控制字符串”部分,且只包含普通字符,所以会原样输出。 3.前两行的printf()函数中无换行符’\n’,不进行换行操作,第3行的printf()函数中包含换行符’\n’,字符串输出后换行,这样3个字符串输出到一行上。 【实验2.2】编写已知半径r为15求圆面积的程序。 #include #define PI 3.14159 /*定义符号常量PI*/ main() { float radius,area; /*定义浮点型变量radius,area*/ radius=15.0; /*给半径radius赋值*/ area=PI*radius*radius; /*计算圆面积area */ printf("area=%f\n", area ); /*输出圆面积*/ } 说明: 1.程序的运行结果为“area=706.857727”。 2.程序的第2行定义了符号常量PI。这样做的好处是程序中出现的所有PI,其值均为3.14159,既简化了程序,又提高了阅读性。 3.注意printf()函数中的“格式控制字符串”部分,area=为普通字符,所以会原样输出。 【实验2.3】整型变量的输出程序。 #include

第4章顺序结构程序设计习题与答案.doc

第 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 结构化程序设计方法的基本思想是什么? 答:结构化程序设计方法的基本思想是:自顶向下、逐步求精。 思考:你是如何理解:“自顶向下、逐步求精”的? 4-4 简述程序设计的基本过程。 答:程序设计的基本过程是:( 1)分析问题;( 2)设计算法;( 3)编写程序。

思考:这几步中,你认为最难的是哪一步? 4-5 运行下面的程序时,数据如何输入? #include 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' 。

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