C第03章顺序结构

合集下载

C03_顺序

C03_顺序

§3·2 赋值语句
赋值语句是由赋值表达式加上一个分号构成。 C语言的赋值语句具有其他高级语言的赋值语句的一切 特点和功能。但也应当注意到它们的不同: (l) C语言中的赋值号“=”是一个运算符,在其他大多数语言中赋值号 不是运算符。 (2) 关于赋值表达式与赋值语句的概念,其他多数高级语言没有“ 赋值表达式”这一概念。作为赋值表达式可以包括在其他表达式之 中,例如: if ((a=b)>0) t=a ; 由此可以看到,C把赋值语句和赋值表达式区别开来,增加了表达式的 种类,能实现其他语言难以实现的功能。
C 程 序 设 计
§ 3.3 数据的输入与输出
C语言无I/O语句,I/O操作由函数实现 #include <stdio.h>
§ 3.4 数据输出
第 三 章 顺 序 结 构 设 计
字符输出函数
格式: putchar( c ) 参数: c为字符常量、变量或表达式 功能:把字符c输出到显示器上 返值:正常,为显示的代码值;出错,为EOF(-1)
C 程 序 设 计
例:字符的输出 /*ch3_1.c*/ #include <stdio.h> main( ) { int c; char a; c=65; a='B'; putchar(c); putchar('\n'); putchar(a); } 运行结果:A B
第 三 章 顺 序 结 构 设 计
格式输入函数
格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表指定的 存储单元中,并按回车键结束 返值:正常,返回输入数据个数 地址表:变量的地址,常用取地址运算符& 格式字符:d,i,o,x,u,c,s,f,e

C3 顺序结构程序设计.ppt

C3 顺序结构程序设计.ppt

设 计
输入:10 则 a=10
例 scanf(“%x”,&a); 输入:11 则 a=17
Copyright@ Henan Polytechnic University
C 附加格式说明符(修饰符)

言 修饰符


h 用于d,o,x前,指定输入为short型整数
第 l 用于d,o,x前,指定输入为long型整数
结 构
运行结果:
程 1234, 1234
序 123.46,123.5
设 Hello,Hel

Copyright@ Henan Polytechnic University
C 例 0 、+
语 言
例 int a=1234; float f=123.456;
printf(“%08d\n”,a); //00001234

3 字符输出函数



格式: putchar( ch )

参数: ch为一个字符常量、变量或一个转义字符
构 程 序
功能:把字符ch输出到显示器上 返值:正常,为显示的代码值;出错,为EOF(-1)


Copyright@ Henan Polytechnic University
C
语 言
例3.1
#include <stdio.h>
构 程
%% 百分号本身
printf(“%%”);
%
序 设 计
说明
11 11 11 11 11 11 11 11
格式字符要用小写
格式字符与输出项个数应相同,按先后顺序一一对应
65535
输出转换:格式字符与输出项类型不一致,自动按指定格式输出

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语言第03章

c语言第03章

活期存款一年后本息和为: p1=p0(1+r1) 一年期定期存款,一年后本息和为: p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
r3 r3 p3 = p0(1 + )(1 + ) 2 2
6
3.1顺序程序设计举例

算法:
输入p0,r1,r2,r3的值 计算p1=p0(1+r1) 计算p2=p43; r 3 )
2 2
输出p1,p2,p3
7
3.1 顺序程序设计举例
#include <stdio.h> 定义变量同时赋予初值 int main ( ) {float p0=1000, r1=0.0036,r2=0.0225, r3=0.0198, p1, p2, p3; p1 = p0 * (1 + r1); p2 = p0 * (1 + r2); p3 = p0 * (1 + r3/2) * (1 + r3/2); printf(”%f\n%f\n%f\n”,p1, p2, p3); return 0; }
\„ \ddd \“ 单引号 例 void main() { printf(“Y\b=\n”);\xhh 3位8进制数代表的字符 aaa }
转义字符:反斜线后面跟一个字符或一个代码值表示
<
双引号 运行结果: 2位16进制数代表的字符 屏幕显示:= 15 打印机输出:¥
C语言程序设计
第3章 最简单的C程序设计
19
C语言程序设计
第3章 最简单的C程序设计

3.2.3不同类型数据间的转换
1.隐式转换
什么情况下发生
运算转换------不同类型数据混合运算时 赋值转换------把一个值赋给与其类型不同的变量时 输出转换------输出时转换成指定的输出格式

C语言习题答案1-7章

C语言习题答案1-7章

程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。

A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整参考答案:D【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。

所以选项A)、B)、C)说法都不完整。

2.以下关于简单程序设计的步骤和顺序的说法中正确的是。

A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构参考答案:B【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。

②算法设计:给出解决问题的步骤,即算法。

③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。

④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。

⑤程序调试:对编写好的程序进行调试,修改程序中的错误。

⑥程序文档编写与程序维护。

综上所述,B)选项是符合上述描述的,其他选项不恰当。

3.以下叙述中正确的是________。

A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完参考答案:C【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。

故本题答案为C)。

4.以下叙述中正确的是。

A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中参考答案:C【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。

C语言_第3章

C语言_第3章
第3章 顺序结构程序设计
简单程序的流程一般分为顺序结构、选择结构和循环结 构。其中顺序结构是最基本的控制结构,其包含的语句 是按照书写的顺序执行,且每条语句都将被执行。
程序流程如图3.1所示, #include<stdio.h> 语句按书写顺序执行。 main( ) 先执行A,再执行B。 {int a=10,x=5,y=6;
三、复合语句
用一对花括号,把若干条语句括起来,
就形成了一条复合语句。形式如下:
{[内部数据描述语句]
其中定义的变量是
语句1; …… 语句n;}
复合语句结束的 “}”之后,不需
局部变量,仅在复 合语句中有效。
要再加分号。
花括号中的语句,可以是简单语句、空语句、复合 语句、流程控制语句,所有这些语句括在一起,在 语法上看成是一条语句,执行时顺序执行花括号中 的每条语句。复合语句多用于流程控制语句中。
printf(“\n%d,%d”,a+i,i++);}
四、格式输入函数 格式输入函数一般形式 scanf(“格式控制字符串”,地址列表); 功能:按指定的格式从键盘上把数据输入到指定的 变量之中 。 在scanf语句的格式控制字符串中,有两类字符: 普通字符:必须按原样输入,不能省略; 格式说明部分:由%引导的格式字符串组成。
scanf语句格式说明部分的一般格式为: %[*][width][F|N][h|L]type type是必须的,表示输入后转换的数据类型。
d(D) o(O) x(X) i(I) u(U)
c s f,e,g F,E,G n
%
十进制整数 八进制整数 十六进制整数 自动根据数头分辨十、八、十六进制 无符号十进制整数 单个字符 字符串 实数

C语言程序设计 第3章结构化程序设计的三种基本结构

C语言程序设计 第3章结构化程序设计的三种基本结构
printf ("请输入您的成绩"); scanf ("%d",&score);
其中输出函数printf( )只原样显示一个普通的字符串,用来 提示用户输入的数据是“成绩”。 ⑦如果是多个参数时,参数之间必须必须用逗号分隔,每 个参数要求是一个表达式(单独一个变量是表达式的特殊情 况),参数的个数和类型要与格式控制串中的格式说明符的 个数和类型相匹配。
③不可打印的特殊字符指的是该字符不能直接从输出设备输出, 也称为“转义字符”,转义字符用转义序列来表示。所谓转义 序列是用来表示字符的一种方法,即用该字符的ASCII值表示, 具体的格式为:\字母。其中: “\”表示转义字符序列的标识符,表示后面的字符是转义字符, 即是不可打印的字符; “字母”表示不可打印的转义字符,用来使输出设备输出某一 种格式,c语言中的常用转义字符如表3.4所示。
int a=4; float x=3.14; char c=’A’; 也可以对几个变量赋同一个初值,例如: int a=4,b=4,c=4; 也可以只对部分变量赋初值,例如: int a=4, b,c;
【例3.1】算术赋值运算符的使用。 #include <stdio.h> void main ( ) {
修饰符
功能说明
字母l
表示输入长整型整数,可加在格式说明符d、o、x 前面
m 表示输出数据的最小宽度 m.n 表示输出总宽度占m列,其中小数位占n位
- 表示输出的数字或字符在输出区域内向左靠
⑥如果是0个参数时,即该函数中只有格式控制串部分, 没有参数表部分,二者之间的逗号可以省略。这时格式控 制串部分是一个普通的字符串,该字符串将原样显示在屏 幕上,常常用来作为提示信息或字符串的输出。例如:
A

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

C语言程序设计第3章 顺序结构编程2018版
printf("输入红包金额:"); scanf("%d",& money); printf("输入红包个数:"); scanf("%d",& num); printf("计算红包总金额:"); total = num * money; printf("红包总金额:%d元\n", total); return 0; }
类型 变量长度(单位:字节) 数值范围
short int
2
-215 ~ 215-1
4
-23311 ~ 23311-1
long
unsigned short
unsigned int
unsigned long
4
-231 ~ 231-1
2
0 ~ 216-1
4
0 ~ 232-1
4
0 ~ 232-1
➢ 整型常量三种形式
例:total = money*num; int money=10, num=10;
注:int money=num=10;
3.2.3 赋值语句
➢ 复合赋值运算符 a += b 等价于 a = a + b a -= b 等价于 a = a – b a *= b 等价于 a = a * b a /= b 等价于 a = a / b a %= b 等价于 a = a % b
案例二:共享单车费用程序运行结果
案例三:孩子身高预测
问题描述:孩子的身高可以利用遗传因素 即利用父母的身高进行预测。女儿身高计 算公式为:女儿成人时的身高=(父高× 0.96 + 母高)÷2 (注:此方法未考虑环 境因素的影响)。
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

printf("%f\n%6.4f\n%9.2f\n%.2f\n", x,x,x,x); printf("%f\n%lf\n", y,y);
3.2.3 注意事项

注意在输出数据间添加分隔符 格式说明与输出项一一对应,类型匹配。 尽量不要在输出语句中改变输出变量的值。
例如:int k=8;printf(“%d,%d”,k,++k);
3.3.2 常用格式说明符
输入类型 格式说明符 %d(%ld) %u(%lu) 整型数据 %o(%lo)
输入长整型要用%ld
说 明
输入十进制整型数(长整型数) 输入无符号的十进制整型数(无符号长整型数) 输入八进制整型数(八进制长整型数)
%x(%lx)
%i %f(%lf)
输入十六进制整型数(十六进制长整型数)
3.5 程序举例
例3.2 处理实数
#include <stdio.h> main() { double x; printf(“Enter x:\n”); scanf(“%lf”,&x); printf(“(1)x=%f\n”,x); x=x*100; x=x+0.5; x=(int)x; x=x/100; printf(“(2)x=%f\n”,x); }
常用的格式说明符
②f 以十进制小数形式输出实数,有三种 运行结果是: 常用用法:%f %m.nf %lf
#include <stdio.h> main() { float x=123.456; double y=123.456; }
123.456000 123.4560 □□□123.46 123.46 123.456000 123.456000
(3)printf函数可以没有输出项 调用形式:printf(格式控制) 输出结果是格式控制中的固定字符串。 如 printf("How are you?\n"); printf(“hello");
例题: #include<stdio>
main()
{ int i=2518; double a=3.1415; printf(“i=%d,a=%f,a*10=%e\n”,i,a,a*10); }
#include <stdio.h> main() { float x,y; scanf ("%8f",&x); /*正确,但不推荐这样用*/ scanf ("%8.2f",&y); /*错误*/ printf("x=%f,y=%f\n",x,y); }
3.3.3 通过scanf函数从键盘输入数据
对按 %f或 %e输出的实型数据,指定输出n位小数;对 按 %s输出的字符串则表示从字符串左端截取n个字符 使输出的数值数据无论正负都带符号输出 使数据在输出域内按左对齐方式输出
常用的格式说明符 ①d 输出有符号十进制整数 有三种常用用法: %d %md %ld
#include <stdio.h> main() { int a=123,b=12345; long c=1234567; printf("%d,%4d,%4d,%ld\n",a,a,b,c); }
main() { int x,y,z; scanf ("%d%*d%d%d",&x, &y,&z); printf("%d %d %d\n",x,y,z); }
若输入:12 34 56 78
四、格式控制字符中插入其他字符
格式控制字符是为了输入数据,因此除了控制字符之外的 其他字符必须原样输入!
#include <stdio.h> #include <stdio.h> #include <stdio.h> main() main() main() { { { int x,y,z; int x,y,z; int x,y; printf(“please x,y,z:”); scanf (“please input x,input y,z: %d%d%d",&x, &y,&z); scanf (“%d,%d",&x, &y); scanf (“%d%d%d",&x, &y,&z); printf("%d %d %d\n",x,y,z); printf("%d %d\n",x,y); printf("%d %d %d\n",x,y,z); } } }
第三章 顺序结构
在程序中,若按语句出现的顺序逐 条执行,由这样的语句构成的程序结构 称为顺序结构。
补充内容

进制



十进制 二进制 八进制 十六进制

整数在内存中的存储:原码、反码、补码 字符在内存中的存储:ASCII码
进制
十进制 416.37=4*102+1*101+6*100+3*10-1+7*10-2 二进制 101.11B=1*22+0*21+1*20+1*2-1+1*2-2 八进制 1236.7Q=1*83+2*82+3*81+6*80+7*8-1
3.2.1 printf函数的一般调用形式
按指定格式向输出设备(通常是显示器)
输出数据。其一般调用形式:
printf(格式控制,输出项1,输出项2,…) 函数调用之后加上分号“;”则构成输出语句。
printf("a=%d,ch=%c\n",a,ch);
函数名 格式控制部分 若干输出项
a=100,ch=x 说明: ⑴输出数据可以是常量、变量或表达式。 ⑵格式控制字符串中包括两类字符: ①格式字符:规定对应数据项的输出格式。 如 %d 对应变量a %c 对应变量ch ②普通字符:原样输出的字符。 如 a= , ch= \n
一、输入数值数据 数值型数据间必须用空格、回车、制表符等隔开。
#include <stdio.h> 输入:3 6 main() { int x,y; scanf ("%d%d",&x, &y); printf("x=%d,y=%d\n",x,y); }
二、指定输入数据的所占宽度
除非数据是“粘连”在一起,否则不提倡指定宽度。
实型数据
%e(或%E) 以指数形式输出单精度、双精度的实型数 %g(或%G) 按数值宽度最小的形式自动选择f格式或e格式输出 实型数 输出一个字符 输出一个字符串 输出字符 % 本身
字符型数据 其他
%c %s %%
附加格式说明符
符号 说 明 输出长整型数或双精度实型数
l
m
.n + -
指定数据输出的宽度(即域宽)
3.3 数据输入
3.3.1 scanf函数的一般调用格式:
scanf(格式控制字符串,变量地址表)
如:int k;float a;double y;
scanf("%d%f%lf",&k,&a,&y);
格式控制字符串用于规定变量的输入格式; 变量地址表是若干个用于存储数据的变量的地 址。&为取地址运算符。
输入整型数,可以是十、八、十六进制 输入小数形式的单精度实型数(双精度实型数) 输入指数形式的单精度实型数(双精度实型数)
实型数据
%e(%le) 字符型数据 %c %s
输入double型要用%lf
输入单个字符 输入一个字符串
说明:
(1)格式说明与输入项一一对应,类型匹配。输入short型 数据用%hd,输入double型数据用%lf。 (2)可以指定输入数据所占宽度,但不能指定实数的小数位 数。

十六进制 5A4.8CH=5*162+10*161+4*160+8*16-1+12*16-2

整数的存储
25 -25 1001 1001 1110 0110 1110 0111 0001 1001 0001 1001 0001 1001
原码
反码
补码
字符ASCII码

在计算机中,所有的数据在存储和运算时都要使用二进制 数表示,例如,像a、b、c、d这样的52个字母(包括大 写)、以及0、1等数字还有一些常用的符号(例如*、#、
#include <stdio.h> main()
若输入:123456.789
{
int x; float y; scanf ("%3d%5f",&x, &y); printf("x=%d,y=%d\n",x,y); }
三、跳过某个输入数据
可以在%和格式字符之间加入“*”号,跳过对应的输入数据。
#include <stdio.h>
3.2.2 printf 函数中常用的格式说明
输出类型 格式说明符 说 明
%d(或%i) 以有符号十进制形式输出整型数
整型数据 %o 以无符号八进制形式输出整型数(不输出前导0)
%x(或%X) 以无符号十六进制形式输出整型数(不输出前导0x) %u %f 以无符号十进制形式输出整型数 以小数形式输出单精度、双精度的实型数
为了减少不必 要的麻烦,输 入函数中不要 加额外字符!
3.4 复合语句和空语句
3.4.1 复合语句
#include <stdio.h> main() { int a,b; { int x,y; x=0; } a=30; }
相关文档
最新文档