C语言课程设计教程第三章顺序结构(章节带习题)

合集下载

c语言教程答案

c语言教程答案
getch(); /*为便于调试程序,运行至此程序停顿,此时可以看到运行结果,按任意键程序真难得结束并返回到编辑环境*/
}
12 输入三角形的边长,求三角形面积(面积=sqrt(s(s-a)(s-b)(s-c)),s=(a+b+c)/2)。 ቤተ መጻሕፍቲ ባይዱ

#include"math.h" /*由于程序中使用了开平方函数sqrt(),所以需要包含数学头文件*/
int a1,a2;
char c1,c2;
若要求输入a1、a2、c1和c2的值,正确的输入函数调用语句是___。
答 scanf("%d,%d,%c,%c",a1,a2,c1,c2);
7 输入两个整型变量a、b的值,输出下列算式以及运算结果___。
a+b、a-b、a*b、a/b、(float)a/b、a%b
area=PI*r*r;
printf("l=%f\tarea=%f\n",l,area);
}
9 输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。

main()
{
int x,y;
printf("Input number:");
scanf("%d",&x);
分析:执行了case 1: 和case 3: 中的代码。同时case 1:语句中的{ }是可以取消的。
6 以下两条 if 语句可合并成一条 if 语句,即___。
if(a<=b) x=1;
else y=2;
if(a>b)printf("***y=%d\n", y);

C语言程序设计 第三版 第3章 顺序结构程序设计

C语言程序设计 第三版 第3章 顺序结构程序设计
1.顺序结构
a b
(b) N-S结构化流程图
5
返回本章首页
3.2 用流程图表示三种基本结构
2.选择结构
6
返回本章首页
3.2 用流程图表示三种基本结构
3.循环结构
1)当型循环(while型循环) (1)先判断后执行的当型循环 (2)先执行后判断的当型循环
2)直到型循环(until型循环) (1)先判断后执行的直到型循环 (2)先执行后判断的直到型循环
2.结构化程序的设计方法
1)自顶向下、逐步细化 2)模块化
2
返回本章首页
3.2 用流程图表示三种基本结构
✓ 算法的传统流程图是用特定的几何图形及 指向线表示解决问题的方法及步骤。
➢ 圆角矩形为输入输出框 ➢ 矩形为处理框 ➢ 菱形为判断框 ➢ 带箭头的流程线 ➢ 框内外必要的文字说明。
3
返回本章首页
3.循环结构
2)直到型循环(until型循环)
11
返回本章首页
3.2 用流程图表示三种基本结构
4.流程图较
(1)N-S结构化流程图省略了指向线,结构比较 清晰,特别适合于表示一个结构化的算法,能 够方便地用于结构化程序设计。
(2)对同一循环问题进行处理时,当型循环和直 到型循环条件正好相反,也就是说,完全可以 将直到型循环转换为当型循环,所以在C程序中 仅介绍当型循环。
1.赋值语句的定义及格式
1)定义 赋值语句是由赋值表达式末尾加分号构成的语 句。
2)格式 变量=表达式;
3)功能 赋值语句的功能和特点都与赋值表达式相同。
18
返回本章首页
3.4 赋值语句
2.赋值语句使用注意事项
1)在赋值符右边的表达式也可以又是一个赋值表 达式

C语言 第三章 顺序结构程序设计期末测试习题与答案

C语言 第三章 顺序结构程序设计期末测试习题与答案
A.scanf(“a=%d,b=%d,c=%d”,&a,&b,&c);
B.scanf(“%dV%dV%d”,&a,&b,&c);
C.scanf(“%d,%d,%d”,&a,&b,&c);
D.scanf(“%2d%3d%4d”,a,b,c);
参考答案:C
5、若int a,b; double x;
以下不合法的scanf函数调用语句是( )。
参考答案:C
17、以下程序段的输出结果是
int a=1234;
printf("a=%2d\n",a);
A.提示出错、无结果
B.a=34
C.a=1234
D.a=12
参考答案:C
18、下列关于printf()函数说法错误的是( )。
A.printf()函数是库函数,必须使用#include命令将其包含进来
printf(" %d %d\n",(++x ,y++),z+2);}
运行该程序的输出结果是( )。
A.4 2
B.33
C.4 3
D.3 4
参考答案:B
24、下列程序的输出结果是( )。
main()
{ double d=3.2; int x ,y ;
x=1.2 ; y=(x+3.8)/5.0;
printf("%d \n", 7.3);}
A.3
B.3.07
C.0
D.3.2
参考答案:C
25、以下程序的输出结果是( )。
main( )
{
inmp;&!b||!c;

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

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

一、单选题1、以下程序的功能是:给r输入数据后计算半径为r的圆面积s。

程序编译时出错。

main()/*Beginning */{ int r; float s;scanf("%d",&r);s=π*r*r; printf("s=%f\n",s);}出错的原因是()。

A.计算圆面积的赋值语句中使用了非法变量B.存放圆半径的变量r不应该定义为整型C.注释语句书写位置错误D.输出语句中格式描述符非法正确答案:A解析: A、π这个符合不是C语言的合法标识符,应提前进行常量定义2、有以下程序main(){ int m=12,n=34;printf("%d%d",m++,++n);printf("%d%d\n",n++,++m);}程序运行后的输出结果是()。

A.12343514B.12353514C.12343513D.12353513正确答案:B解析: B、m++ ++在m后,先使用m的值输出,后给m增1++m,++在m前,先给m的值增1后,再输出m3、有定义语句:int b;char c[10]; ,则正确的输入语句是()。

A.scanf("%d%s",b,c);B.scanf("%d%s",&b,&c);C.scanf("%d%s",b,&c);D.scanf("%d%s",&b,c);正确答案:D解析: D、输入语句整型变量 b 需要取地址 &,c是数组名,本身就代表地址,所以不需要取地址符&4、有以下程序main(){ int m,n,p;scanf("m=%dn=%dp=%d",&m,&n,&p);printf("%d%d%d\n",m,n,p);}若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是()。

C语言程序设计教程-第03课-顺序结构的程序设计

C语言程序设计教程-第03课-顺序结构的程序设计

3.2 赋 值 语 句
在赋值表达式的尾部添加一个“;” 号(语句结束标志),就构成了赋值语句。 赋值语句具有双重功能:计算和赋值。首 先对赋值号右侧的表达式进行计算,然后 将结果赋给赋值号左侧的变量进行存储。
由于自加、自减表达式具有赋值功能, 因此同样也可以构成赋值语句。
例如:a = 5;
b = a+3;
若在函数调用后加上一个分号,就成 为一条字符输出语句。
例如:char c1='a' ;
putchar (c1) ; /* 在屏幕上显示输出字母a */
putchar (65) ; /* 在屏幕上显示输出字母A */
putchar ('\n') ; /* 输出换行符,即光标换行 */
3.5 顺序结构程序设计举例
执行此语句后,可将变量i的值和变量 m的值显示在屏幕上。
3.4.2 putchar字符输出函数的应用
putchar函数的形式为:putchar (ch) 其中:参数ch可以是字符型常量或字符型 变 量 , 也 可 以 是 代 表 一 个 字 符 的 ASCII 代 码的整型常量或整型变量。
函数的功能是输出参数所代表的字符。
例如:主函数中要调用一些用户自编 的函数(模块),在未设计完成的模块中, 暂时只放一条空语句。例如:
main ( )
mysub ( )
{ int x ;
{;}
x=mysub ( ) ;
……
}
等到对程序进行细化处理时,再完成 mysub ( ) 函数中的具体功能。
3.6.1 复合语句
复合语句是由一些语句组成,它们放 在一对大括号中。其语句形式如下:
{语句1 语句2 …… 语句n}

c语言程序设计教程第3章顺序结构

c语言程序设计教程第3章顺序结构

#include “iostream.h” 编程计算两点(x1,y1)、(x2,y2)之间的距离 例1 编程计算两点(x1,y1)、(x2,y2)之间的距离。 #include “math.h” 之间的距离。 算法设计: 算法设计: void main( ) { float x1,x2,y1,y2; (1)输入x1,y1,x2,y2的值; 输入x1,y1,x2,y2的值 的值; // //定义变量是单精度 计算距离d (2)计算距离d 定义变量是单精度 cin>>x1>>y1>>x2>>y2; //输入 //输入 (3)输出d的值。 输出d的值。 float d; //定义变量d是单精度 //定义变量 定义变量d d=sqrt(pow(x1-x2,2)+pow(y1d=sqrt(pow(x1-x2,2)+pow(y1-y2,2)); //计算d的值 //计算 计算d
3.3 数据的输入输出
在C++语言中,输入输出是通过输入输出库 C++语言中 语言中, “iostream.h”提供的预定义输入输出流对象实现。 iostream.h”提供的预定义输入输出流对象实现。 提供的预定义输入输出流对象实现 要使用输入流对 象cin和输出流对象,在程序的开头 cin和输出流对象 和输出流对象, 增加一行: 增加一行: #include “iostream.h” //在当前文件夹找,若没有在系统指定的文件夹找 //在当前文件夹找 在当前文件夹找, 或 #include <iostream.h> //在系统指定的文件夹找 //在系统指定的文件夹找
函数 体
#include “iostream.h” void main( ) { double r; 函数 体 cin>>r; double s; s= 3.14 *r*r; C++程序的组成 C++程序的组成: 程序的组成: 1、预处理:以#开头 预处理: 2、主函数main的组成 主函数main的组成 (1)一对花括号 (2)函数体: 由若干语 函数体: 组成。 句( 以分号结束 ) 组成。

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

C语言(顺序结构程序设计)习题与答案
D.ch='a+b';
正确答案:D
16、已知ch是字符型变量,下面正确的赋值语句是( )。
A.ch="\";
B.ch= '\xff';ห้องสมุดไป่ตู้
C.ch= '123';
D.ch= '\08';
正确答案:B
二、判断题
1、每个语句和数据定义的最后都必须有分号。(√)
2、算述运算*、/、+和一具有相同的优先级。(×)
A.0~65535
B.0~2147483647
C.0~32767
D.0~255
正确答案:A
12、已有如下定义和输入语句,若要求a1,a2,c1,c2值分别为10,20,A和B,当从第一列开始输入数据时,正确的数据输入方式是( )。
int a1,a2; char c1,c2;
scanf("%d%c%d%c",&a1,&c1,&a2,&c2);
A.必须在系统调用的库函数的后面
B.必须在最开始
C.可以任意
D.必须在最后
正确答案:C
3、下面四个选项中,均是不合法的浮点数的选项是( )。
A.160.
0.12
e3
B.123
2e4.2
.e5
C.-e3
.234
1e3
D..18
123e4
0.
正确答案:B
4、下面四个选项中,均是合法浮点数的选项是( )。
A.+le+1
5e-9.4
03e2
B.123e
1.2e-.4
+2e-1

C程序设计实例教程第3章 顺序结构程序设计

C程序设计实例教程第3章 顺序结构程序设计

第 三 章
合语句。复合语句从“{”开始,到与之对应的“}”结束。 在C中应将复合语句看作是一条语句,所以执行时,从
顺 序 结 构 程 序 设 计
“{”开始,除非由控制语句将其转出,否则必须到与之对应
的“}”结束。 < >
程 序 设 计 基 础 C
§3.1 C程序的结构
3.1.2 C程序的3种基本结构
2) 分支结构 根据提供条件是否满足来执行 不同的程序段。
A
B
第 三 章
3) 循环结构 在某种特定的条件下,
条件 A
顺 序 结 构 程 序 设 计
重复执行某一程序段,以达
到提高编程效率的目的。 < >
程 序 设 计 基 础 C
§3.2 基本语句
3.2.1 赋值语句
赋值语句是由赋值表达式再加上分号“;”构成的。
例:
es = 88 es = 88; // 这是一个赋值表达式,表达式后没有分号“;” // 这是一条赋值语句,表达式后有分号“;”
有个分号
<
>
程 序 设 计 基 础 C
§3.1 C程序的结构
4. 空语句 C语言中允许出现空语句。所谓空语句就是直接出现一个 “;”,即什么功能也没有,主要用于以后功能的扩展。 5. 复合语句 把若干个语句用“{ }”括起来组成的一个语句称为复
if( )~ else~
第 三 章
条件语句
switch( ){case…} 多分支选择语句 属于循环类语句,通过对某 个程序段的多次重复执行实 现一定的整体功能;
while( )

循环语句
顺 序 结 构 程 序 设 计
do~ while( ) 循环语句 for( )
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
若从键盘上从第1列开始输入: 123456.789.123<CR>
k
a
y
用printf(“k=%d a=%f y=%f\n”,k,a,y);输出的结果是:
k=123 a=456.700000 y=89.120000
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
3. 跳过某个输入数据 例如:int x,y,z; scanf(“%d%*d%d%d”,&x,&y,&z); printf(“%d %d %d\n”,x,y,z);
3.2 数据输出
3.2.3 使用printf函数时的注意事项
7. 思考:如:int k=8; printf(“%d,%d\n”,k,++k); 9,9
首先先对应匹配,然后再输出,输出的过程,是按输入项从右往左
8. 输出时,也可以用参数作为域宽。如:int m=8,i=10;
int m=8,n=10; float f=123.456;
56<CR>
3.4 复合语句和空语句
3.4.1 复合语句
复合语句是用符号"{"和"}"括起来的语句组,也可称为"语句块",在语法上被视 为一条语句。复合语句的语句形式如下:
{语句1;语句2;…;语句n;}
例如: { a++ ; b*=a; printf("b= %d\",b); }
3.4 复合语句和空语句
第3章 顺序结构
3.1 赋值语句 3.2 数据输出 3.3 数据输入 3.4 复合语句和空语句 3.5 程序举例
3.1 赋值语句
在赋值表达式的尾部加上一个“;”号,就构成了赋值语句,也称表达式语句。
例如:a=a+b a=a+b;
(赋值表达式) (赋值语句)
3.2 数据输出
3.2.1 printf函数的一般调用形式
printf(“%d%d%f\n”,k,k,f);
12341234123.456000
printf(“%d,%d,%f\n”,k,k,f);
1234,1234,123.456000
printf(“k=%d,k=%d,f=%f\n”,k,k,f); k=1234,k=1234,f=123.456000
10 20 30<CR>
10 20 30 40<CR>
10,20,-858993460
10,20,30
3.3 数据输入
3.3.2 scanf函数中常用的格式说明
3. 在scanf函数中的格式字符前可以用一个整数指定输入数据所占宽度。
例如:int a;
该输入函数正确的输入形式为:
scanf(“%5d”,&a);
a=0.000000,b=1076428800
a=10,b=12.500000
编译时能通过,则输出时为 不正确的数据
输出时类型一定要一一对应
3.2 数据输出
3.2.3 使用printf函数时的注意事项 3. 若格式说明中的个数少于输出项的个数时,则多余的输出项不予输出; 若格式说明中的个数多于输出项的个数时,则将输出一些毫无意义的数字。
10 12.3 1234567.89<CR>
10<CR> 12.3<CR> 1234567.89<CR>
输入的数据之间必须用间隔符隔开 可以使用的间隔符有:空格、回车符、制表符
错误的输入格式: 1012.31234567.89<CR>
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
2. 指定输入数据所占的宽度 例如:int k;float a;double y; scanf(“%3d%5f%5lf”,&k,&a,&y);
首先,我们先来了解一些其它知识。 一个程序,一般情况下都包含数据输入、数据处理、数据输出三个部分。 输出:把数据从计算机内部送到计算机的外部设备上的操作称为“输出” 显。示器 输入:从计算机外部设备将数据送入计算机内部的操作称为“输入”。 键盘
在C语言中,数据的输入和输出是通过调用输入和输出函数来实现的。在VC6.0 环境下,在调用输入和输出的库函数之前要求在源程序中出现包含头文件命令行:
双引号括起来的字符串,按照该指定的格式进行输入
例如:int k; float a; double y; scanf(“%d%f%lf”,&k,&a,&y);
★变量地址
形式:&变量名
函数名 输入格式控制 变量地址(实参)
在scanf函数调用的后面加一个分号就构成输入语句。
3.3 据输入
3.3.1 scanf函数的一般调用形式
自然语言描述
#include <stdio.h> main() {int x,y; printf(“Enter x&y:\n"); scanf(“%d%d”,&x,&y); printf(“x=%dy=%d\n",x,y); 交换x和y中的值; printf(“x=%dy=%d\n",x,y); }
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
1. 输入数值数据 例如:int k;float a;double y; scanf(“%d%f%lf”,&k,&a,&y);
若要给k赋值10,a赋值12.3,y赋值1234567.89,正确的输入格式如下: 10 12.3 1234567.89<CR>
jjjjjj10
123.4560000000
3.3 数据输入
3.3.1 scanf函数的一般调用形式
1. scanf函数的调用形式如下 :
scanf(格式控制,输入项表)
作用:把从终端设备(如,键盘)上输入的数据传 送给对应的输入项(如变量地址)。
把从键盘上输入的数据送到该指定的输入项中,输入项中 必须为变量的地址
1. 在格式控制中,格式说明的类型与输入项的类型,应该一一对应匹配。如果类 型不匹配,系统并不给出出错信息,但不可能得到正确的数据。
2. 在输入项表中,输入项的个数要与格式符的个数相同,且排列顺序要一一对应。 若格式符个数少于输入项,scanf函数按格式符的数目结束输入,多余的输入项没 有得到新的数据;若格式符个数多于输入项,scanf函数则按输入项的数目结束输 入,多余的格式符不起作用(作废)。
例如:int a=10,b=20,c=30; printf(“%d,%d\n”,a,b,c);
int a=10,b=20,c=30; printf(“%d,%d,%d,%d\n”,a,b,c);
10,20
10,20,30,2367460
4. 在格式控制串中,除了合法的格式说明外,可以包含任意的合法字符,还可以 包括转义字符,这些字符在输出时将"原样照印"。
例:对于scanf函数的调用形式,请见下面的程序示例。
#include <stdio.h> main() {int a; float b; scanf(“%d%f”,&a,&b); printf(“%d,%f\n",a,b); }
程序执行到此,停止执行,等待用户 从键盘输入数据,等输入数据后,待
用户安回车键<CR>后,继续向后执行。 scanf(“%d%f”,&a,&b); a 23
88
输入宽度为5
4. 当输入函数的格式说明的类型与输入项的类型一一对应匹配时。程序在运行的 过程中,当我们输入的数据个数少于输入项时,运行的程序将一直等待输入,直到 满足要求时才继续向下执行;当我们输入的数据个数多于输入项时,多于的数据没有 作废,依然在缓冲区中等待等待下一个输入操作语句。
5. scanf函数在调用结束后将返回一个函数值,其值等于得到输入值的输入项的个数。
printf(“%+-6d\n”,k+)1;234j
l 输出整数时,为长整型;输出实数时,为双精度型 printf(“%ld\n”,k); 1234
h 输出整数时,为短整型
printf(“%hd\n”,k); 1234
3.2 数据输出
3.2.3 使用printf函数时的注意事项
1. 在使用输出函数时,输出的数据要清晰,视觉感要好。例如:k=1234,f=123.456
n1.n2 n1指定输出的宽度, n2指定输出的小数位数 printf(“%12.2f\n”,f);jjjjjj123.46
0 输出的数据右对齐,前面补0
printf(“%06d\n”,k); 001234
- 输出的数据左对齐
printf(“%-6d\n”,k); 1234jj
+ 输出的数据为正数时,使前面带有“+”符号
这时从键盘上输入时,一定要向下形式进行输入:
Please input x,y,z:12 34 56<CR>
又如:int x,y,z; scanf(“%d,%d,%d”,&x,&y,&z);
则正确的输入形式: 12,34,56<CR> 12, 34, 56<CR>
12, 34,
错误的输入形式: 12 34 56<CR> 12 ,34 ,56<CR>
若从键盘上输入:
12 34 56 78<CR>
则输出的结果是:
12 56 78
3.3 数据输入
3.3.3 通过scanf函数从键盘输入数据
4. 在格式控制字符串中插入其他字符 在格式控制字符中出现了其他字符的语句如下: int x,y,z; scanf(“Please input x,y,z:%d%d%d”,&x,&y,&z);
相关文档
最新文档