C语言程序设计课件第3章结构化程序设计
合集下载
第3章 结构化程序设计
循环体
是 P2 否
图3.7直到型循环结构示意图 直到型循环结构示意图
3.3 表述算法
• 通常用自然语言、计算机语言(代码)、伪代码[1]、传统流程图、 通常用自然语言、计算机语言(代码)、伪代码 、传统流程图、 )、伪代码 N-S流程图、PAD图等不同的方法来描述算法。 流程图、 图等不同的方法来描述算法。 流程图 图等不同的方法来描述算法 • 在例 中,采用了自然语言来表示算法。自然语言就是人们日常使 在例3.1中 采用了自然语言来表示算法。 用的语言,可以是汉语、英语,或其他语言。 用的语言,可以是汉语、英语,或其他语言。用自然语言表示算法通 俗易懂,但文字冗长,容易出现歧义性。自然语言表示的含义往往不 俗易懂,但文字冗长,容易出现歧义性。 太严格,要根据上下文才能判断其正确含义。此外, 太严格,要根据上下文才能判断其正确含义。此外,用自然语言来描 述包含分支和循环的算法,很不方便。因此, 述包含分支和循环的算法,很不方便。因此,除了那些很简单的问题 以外,一般不用自然语言描述算法。 以外,一般不用自然语言描述算法。 • [1] 伪代码是介于自然语言与计算机语言之间的文字符号。一般借助 伪代码是介于自然语言与计算机语言之间的文字符号。 一种高级语言的控制结构,而中间的操作用自然语言描述。 一种高级语言的控制结构,而中间的操作用自然语言描述。
P1 是 循环体
否
• 图3.6当型循环结构示意图 当型循环结构示意图
(2)直到型循环的执行过程为: )直到型循环的执行过程为: • 先执行循环体一次,然后判断控制循环的条件。 先执行循环体一次,然后判断控制循环的条件。 • 条件 成立,则继续上述循环体,直到条件不成立时,结束循环。 条件P2成立,则继续上述循环体,直到条件不成立时,结束循环。 成立
C语言学习第3章 结构化程序设计
⑷当cout后有多个表达式的时候,是按照从右向左的顺 序计算出个输出项的值,然后再输出各项的值。
多个表达式的输出。 #include <iostream.h> void main() {
int i=1; cout<<i<<++i<<i++; }
输出结果为: 331
3.2.2 数据的输入流
在C++中,数据的输入通常采用输入流对象cin来完 成。当程序运行时从键盘输入数据(到变量),使 用抽取操作符“>>”从cin输入流中抽取数据。
cin>>a>>b>>c; cout<<"a="<<a<<",b="<<b<<"\nc="<<c<<"\n"; }
例如:
#include “iostream.h” void main() {int a,b; char c1,c2; cout<<“Please input 2 integers\n”; cin>>a>>b; cout<<a+b<<“\n”; cout<<“Please input 2character\n” cin>>c1>>c2; cout<<c1<<c2<<endl; }
#include <iostream.h> void main() {
int a; double b; char c; cin>>a>>b>>c; cout<<"a="<<a<<",b="<<b<<"\nc="<<c<<"\n"; }
c语言第三章ppt课件
§3.3 赋值语句
“=“是一个运算符 注意赋值表达式与赋值语句的区别
§3.4 输入输出在c中的实现
输入输出是以计算机主机为主体而言 输入输出是由函数来实现的
库函数:由厂商预先编写好,并编译成目标文件 使用库函数时,用预编译命令“#include”将有
关的“头文件”包含到用户源文件中。
#include <stdio.h> printf,scanf可不加#include命令
%m.ne和%-m.ne ,n指小数部分的小数位数 printf(“%e%10e%10.2e%.2e%-10.2e”,f,f,f, f,f); 设f=123.456,输出结果为
1.23456e+02 1.23456e+02 1.2e+02 1.2e+02 1.2e+02 ❖g格式符,用来输出实数,根据数值的大小,自动选
printf(“%f %10f %10.2f %.2f %-10.2f \n”,f,f,f,f,f) ;
运} 行结果:
123.456001 123.456001 123.46 123.46 123.46
❖e格式符:以指数形式输出实数 %e ,不指定输出数据所占宽度和数字部分的小数位数。 数值按规范化指数形式输出。 如:printf(“%e”,123.456);输出结果为1.23456e+02
❖格式控制:包含两种信息 格式说明: %格式字符 ,用于指定输出格式
普通字符或转义序列:原样输出
❖输出表列:要输出的数据(可以没有,也可以是表达 式,多个时以“,”分隔
printf(参数1,参数2,参数3……参数n )
格式字符
❖d格式符:输出十进制整数 %d ,按整型数据的实际长度输出 %md,m为指定的输出字段的宽度。如果数据的位数 小于m,则左端补空格,否则按实际位数输出 例:printf(“%4d,%4d”,a,b); 若a=123,b=12345,则输出结果为▂123,12345 %ld,输出长整型数据 例:long a=135790;printf(“%ld”,a); 也可以指定字段宽度,如%8ld
C语言完整 ppt课件
1.4.1 宏定义
用一个标识符来表示一个字符串,称为“宏”,标识符称为“宏名”。在 程序中 用宏名替代字符串称为“宏调用”。在编译预处理时,将对程序中所有出现的 “宏 名”,都用宏定义中的字符串代换,这个过程称为“宏展开”。
1.4.1.1 不带参数的宏定义
格式为:#define 标识符 字符串
1.4.1.2 带参数的宏定义
1-4
1.3 C程序上机步骤
C源程序编好后,要经过编辑、编译、连接, 生成可执行文件后,才可运行。
运行集成开发软件
编辑源程序
编译
有 有错? 无 连接
不正确
运行
结果正确? 正确
结束
1-5
1.4 编译预处理
编译预处理是指,在C编译程序对C源程序进行编译之前,由编译预处理程 序对源程序中的预处理命令进行处理的过程。
1.2.1 C语言程序举例
1.2.2 C语言程序的结构
1.2.2.1 函数是C语言程序的基本单位。
1.2.2.2 函数的一般结构
任何函数(包括main()函数)都是由函数首部和函数体两部分组成。
1. 函数首部: 函数首部即函数第一行,由函数类型、函数名和函数参数表三部分组成。
2. 函数体: 函数体为函数首部下面的花括号{……}内的部分。 函数体一般由声明部分和执行部分构成:声明部分定义所用到的变量,声明所调用的函数等; 执行部分有若干语句组成。
2.6.1 运算符及表达式简介 2.6.1.1 运算符
C语言中的运算符具有2个特点: ⑴ 运算符的优先级 C语言中,运算符的优先级共分为15级,1级最高,15级最低。 ⑵ 运算符的结合性 C语言中各运算符的结合性分为左结合性(从左到右)和右结合性(从右到左)。 2.6.1.2 表达式 表达式是由常量、变量、函数和运算符组成的式子。 表达式求值是按运算符的优先级和结合性规定的顺序进行的。
用一个标识符来表示一个字符串,称为“宏”,标识符称为“宏名”。在 程序中 用宏名替代字符串称为“宏调用”。在编译预处理时,将对程序中所有出现的 “宏 名”,都用宏定义中的字符串代换,这个过程称为“宏展开”。
1.4.1.1 不带参数的宏定义
格式为:#define 标识符 字符串
1.4.1.2 带参数的宏定义
1-4
1.3 C程序上机步骤
C源程序编好后,要经过编辑、编译、连接, 生成可执行文件后,才可运行。
运行集成开发软件
编辑源程序
编译
有 有错? 无 连接
不正确
运行
结果正确? 正确
结束
1-5
1.4 编译预处理
编译预处理是指,在C编译程序对C源程序进行编译之前,由编译预处理程 序对源程序中的预处理命令进行处理的过程。
1.2.1 C语言程序举例
1.2.2 C语言程序的结构
1.2.2.1 函数是C语言程序的基本单位。
1.2.2.2 函数的一般结构
任何函数(包括main()函数)都是由函数首部和函数体两部分组成。
1. 函数首部: 函数首部即函数第一行,由函数类型、函数名和函数参数表三部分组成。
2. 函数体: 函数体为函数首部下面的花括号{……}内的部分。 函数体一般由声明部分和执行部分构成:声明部分定义所用到的变量,声明所调用的函数等; 执行部分有若干语句组成。
2.6.1 运算符及表达式简介 2.6.1.1 运算符
C语言中的运算符具有2个特点: ⑴ 运算符的优先级 C语言中,运算符的优先级共分为15级,1级最高,15级最低。 ⑵ 运算符的结合性 C语言中各运算符的结合性分为左结合性(从左到右)和右结合性(从右到左)。 2.6.1.2 表达式 表达式是由常量、变量、函数和运算符组成的式子。 表达式求值是按运算符的优先级和结合性规定的顺序进行的。
C语言程序设计ppt课件-第3章-选择结构
1.表达式 2. if语句 3. switch语句 4. 选择结构的嵌套 5. 选择结构的应用
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。
本章主要内容
1
选择结构
在解决大量的实际问题时,常常需要根据不同的 情况或条件,制定出不同的解决方案或对策。
选择结构是通过对条件 的判断来选择执行不同 的程序语句。
选择结构
一个程序若具有了判断和选择功 能,就具备了最基本的智能。
的完整的解题步骤。
void main() { int x,y,z,max;
printf("“\n Please input x,y,z: ");
➢将同影一响问到题算可法用乃不至同程算序法的解效决率,sifc(a。xm而n>afy(一一x)"=%x个个;d%算算d法法%d的的",&评质x价,量&y主优,&要z劣); 从时间复杂度和空间复杂度来els考e 虑。
max=y;
例从键盘输入三个不同的、无序if(mm的aaxx整<=zz)数; ,并分别存放 到变量x、y、z中,然后通过pr判int断f("输\n 出ma三x=%个d数\n"中,m的ax)最;
大数。要求将最大数存放在} 变量max中。
25
语法练习(单选题)
1.设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中
switch语句的应用
关例键从语键句盘:上输入一个学生的总平均成 绩能用(i大f- e于ls0e且if来小替于换10吗0)? swi,tc按h(分(i数nt段)(评sc定or出e/成10绩.的0)相) 应等级,90以上为A级,80~
{89为caBs级e ,97:0~g7r9a为dCe=级'A,'6;0~br6e9a为k;D级,59以下为E级。 问题分ca析se:s8w:itchg语ra句de中='的B表';达b式re只ak能; 是整型或字符型,所 以可c用as成e 绩7的:高位gr数ad字e=来'C确';定b其re对a应k;的分数段,而每一个 分数c段as又e对6应:swigtrcha中de的='一D'路; 选br择ea。k;可用表达式“((int)(成 绩/1c0)a)s”e 计5算:出成绩的高位数字 ,其中,“(int)”的功能 是将c表as达e式的4:值强制转换成整数。
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
其中输出函数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
cc程序设计第3章 结构化程序设计
3.2 选择结构程序设计
1. 选择结构概念 选择结构是指在程序执行到某处时,需要按照
某个条件的真假或某表达式的值决定执行哪些操作。 如,三角形面积计算以及一元二次方程求根中遇到 的思考问题。
选择结构体现了程序的判断能力。
真(非0)
条件表达式
语句段1
假(0)
语句段2
3.2.1 条件表达式
1. 关系运算符
double a , b , c , s , area ; scanf( "%lf%lf%lf", &a, &b, &c); s=(a+b+c)/2 ; area=sqrt(s*(s-a)*(s-b)*(s-c)); printf("%lf ", area); }
3.1 顺序结构程序设计
【例3-加2】 假设△>=0,求一元二次方程的实数根
。设a , b , c 为正整
数,要求dit值保留2位小数。
分析:
1)需要调用库函数中 的开平方根函数,故 需增加
“#include math.h” 头包含命令。
2)因开平方根函数 sqrt ( )的值为double类 型,故变量dit应定义 为double类型。
程序: #include <stdio.h> #include <math.h> int main ( ) { int a , b , c ;
3.1 顺序结构程序设计
1.顺序结构
顺序结构表示程序中的各操作是按照它们出现的 先后顺序执行,程序从入口处开始,按顺序执行所有 操作(下图中块A和块B可能是一段代码,也可能是一 个语句),直到出口处,所以称为顺序结构。
第3章 结构化程序设计
(3) 在最后的编码阶段应做到“清晰第一,效率第二”,并采用 良好的程序设计风格,从而提高程序的可读性,便于调试时 改正错误,也便于程序的维护。
2019年12月10日星期二第Fra bibliotek章 结构化程序设计
第4页
上海师范大学 计算机系
3.2.1 C语言语句概述
1、表达式语句 表达式能构成语句是C语言的重要特色,故有人称C语言是 “表达式语言”,其一般形式为:表达式; 执行表达式语句就是计算表达式的值。例如:x=y+z;
2019年12月10日星期二
第3章 结构化程序设计
第12页
上海师范大学 计算机系
3.2.2 常用的输入和输出函数
注意:要求格式控制字符串中的格式说明项与变量在数量和 类型上应该一一对应。例如:
int a,b,c; printf("Input a、b、c:"); scanf("%d%d%d", &a,&b,&c); 输入为:7 8 9↙ /* ↙表示回车 */ 或 7↙
(2)“*”符:表示该输入项读入后不赋予相应的变量,即跳过该 输入值。例如:
scanf("%d%*d%d", &a,&b); 当输入为:7 8 9↙时,则把7被赋予a,8被跳过,9被赋予 b。 (3)宽度:用十进制整数指定输入的宽度(即字符数)。例如:
scanf("%4d%d", &a,&b); 当输入为:1234789↙时,则把1234被赋予a,789被赋予b。 (4)长度:长度格式符为l和h,l表示输入长整型数据(如:%ld) 和双精度浮点数(如:%lf),h表示输入短整型数据。
b=5944568,26532370,5ab4f8,5AB4F8
2019年12月10日星期二第Fra bibliotek章 结构化程序设计
第4页
上海师范大学 计算机系
3.2.1 C语言语句概述
1、表达式语句 表达式能构成语句是C语言的重要特色,故有人称C语言是 “表达式语言”,其一般形式为:表达式; 执行表达式语句就是计算表达式的值。例如:x=y+z;
2019年12月10日星期二
第3章 结构化程序设计
第12页
上海师范大学 计算机系
3.2.2 常用的输入和输出函数
注意:要求格式控制字符串中的格式说明项与变量在数量和 类型上应该一一对应。例如:
int a,b,c; printf("Input a、b、c:"); scanf("%d%d%d", &a,&b,&c); 输入为:7 8 9↙ /* ↙表示回车 */ 或 7↙
(2)“*”符:表示该输入项读入后不赋予相应的变量,即跳过该 输入值。例如:
scanf("%d%*d%d", &a,&b); 当输入为:7 8 9↙时,则把7被赋予a,8被跳过,9被赋予 b。 (3)宽度:用十进制整数指定输入的宽度(即字符数)。例如:
scanf("%4d%d", &a,&b); 当输入为:1234789↙时,则把1234被赋予a,789被赋予b。 (4)长度:长度格式符为l和h,l表示输入长整型数据(如:%ld) 和双精度浮点数(如:%lf),h表示输入短整型数据。
b=5944568,26532370,5ab4f8,5AB4F8
C语言课件第三章C语言的基本控制结构
XUAN SHANLI
else stat2;
说明: ①书写采取缩进形式, 便于区分。 ②else与最近的if 相匹 配,从内到外。
if(e2#)include <stdio.h>
svtoatid3; main ( void)
else{
stiantt4x; ,y ;
合 称为isf结ca构nf的(“嵌%套d”。, 各&x种);if结构都
void main(void)
后置:先引用后运算。
{
int a=3,b;
XUAN SHANLI
b=a+++a++;
printf(“b=%d”,b);
合 b=++a+(++a);
printf(“b=%d”,b);
}
肥
工 ⒉在逻辑运算中,如果逻辑值能确定,则不需再进行运算。
int a=0,b=0 ++a || b++; /* b的值?*/
}
内层缩进。
举例:求一元二次方程ax2+bx+c=0的根。
XUAN SHANLI
#include <stdio.h>
#include <math.h>
void main(void)
{
float a,b,c,d,e,x1,x2;
scanf(“%f,%f,%f”,&a,&b,&c);
d=b*b-4.0*a*c;
XUAN SHANLI
第三章 C语言的基本控制结构合
肥 工 业 大 学
问题
b*b-4ac<0?
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
0
输出数值时指定左面不使用的空位置自动填0
#
在八进制和十六进制数前显示前导0,0x
在d,o,x,u前,指定输出精度为long型
l
在e,f,g前,指定输出精度为double型
第11页
例 m.n 例 int a=1234;
第三章 结构化程序设计
float f=123.456;
char ch=‘a’;
printf(“%8d,%2d\n”,a,a);
A ABC
e,E 指数形式浮点小数{ puprnrisnifiltnogfat(nt“feaa(d==“5%i6n7adt.=7,%8ub9d=;=p6%r,5in5dtb3f\(=n5“%%”;d,ea\”,b,na)”);; ,a,b);5.677890e+02
f 小数形式浮点输小出数结pr果inflt:ofa(t”3au==45%67d.7\8n9";,pur)in;tf(“%f”,a);
格式字符 c
d或i o
x或X
u f e或E g或G s p %
说
明
输出一个字符
输出带符号的十进制整型数
以八进制无符号形式输出整型数(不带前导0)
以十六制无符号形式输出整型数(不带前导0x或0X)。对x用abcdef输出;对X用 ABCDEF输出。
按无符号的十进制形式输出整型数
以带小数点的形式输出单精度和双精度数
ff
o 八进制无符号整数 int a=65;printf(“%o”,a);
101
u 不带符号十进制整数 int a=567;printf(“%u”,a);
567
c s
单一字符 字符串
例 init natc=h3aa,rb=a=3=46,5;b;=pr4in;tf(“%c”,a); 例 mpprairinnitp(fnr)(it“nf%tf((d““%%s%”d,“\nA%”Bd,Ca\,”nb)”;); ,a,b);
第三章 结构化程序设计
第三章 结构化程序设计 第2页
第三章 结构化程序设计 第3页
C语句可分为五类: 1.表达式语句; 2.函数调用语句; 3.控制语句; 4.复合语句; 5.空语句。
第4页
第三章 结构化程序设计
第三章 结构化程序设计
§3.3 数据输入/输出
在C语言中,没有专门的输入输出语句,所有的数据输入/输出都是由 库函数完成的。它们都是函数语句。最常用的输出函数有printf函数和 putchar函数等。printf函数称为格式输出函数,其关键字最末一个字母 f即为“格式”(format)之意。其作用是按指定的格式,把相关的数据显 示到显示器上。输入/输出标准库函数原型在头文件“stdio.h”中,如 果使用其中函数,必须在程序的开头写上#include<stdio.h>。该命令 是预处理语句,不是真正的C命令语句,所以后面不要写“;”。下面分 别介绍常用的输入输出函数,要了解其他输入输出函数,查阅C语言函数 库。
第7页
第三章 结构化程序设计
printf函数格式字符串 格式字符串的一般形式为:
[标志][输出最小宽度][.精度][长度]类型 printf函数的返回值,是本次调用中输出字符的个数。
第8页
第三章 结构化程序设计源自printf函数中常用的格式说明 每个格式说明都必须用“%”开头,以一个格式字符作结束。
printf(“%f,%8f,%8.1f,%.2f,%.2e\n”,f,f,f,f,f);
printf(“%3c\n”,ch);
运行
1234,1234
结果: 123.456000,123.456000, 123.5,123.46,1.23e+02
a
例 static char a[]=“Hello,world!” printf(“%s\n%15s\n%10.5s\n%2.5s\n%.3s\n”,a,a,a,a,a);
第5页
第三章 结构化程序设计
printf函数 1.printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列);
第6页
第三章 结构化程序设计
例3.1: void main() {
int a=65,b=66; printf("%d %d\n",a,b); printf("%d,%d\n",a,b); printf("%c,%c\n",a,b); printf("a=%d,b=%d",a,b); } 程序运行后结果如下: 65 66 65,66 A,B a=65,b=66 在这个例子中四次输出了a,b的值,但由于格式控制串不同,输出的结果也不相同。
以指数形式输出实数,隐含精度为6,对E用输出大写形式
由系统决定使用f或e格式,以使输出宽度最小
输出字符串,直到遇到“\0”,或输出由精度指定的字符数
输出变量的内存地址
输出一个%字符
第9页
格式字符:
第三章 结构化程序设计
d,i 十进制整数
int a=567;printf ( “%d”,a);
567
x,X 十六进制无符号整数 int a=255;printf(“%x”,a);
输出转换:格式字符与输出项类型不一致,自动按指定格式输 出
附加格式说明符(修饰符)
第三章 结构化程序设计
修饰符
功
能
m 输出数据域宽,数据长度<m,左补空格;否则按实际输出
.n
对实数,指定小数点后位数(四舍五入) 对字符串,指定实际输出位数
-
输出数据在域内左对齐(缺省右对齐)
+
指定在有符号数的正数前显示正号(+)
567.789000
g e和f中较短一种 } floataa==356, 7b.=7849;printf(“%g”,a);
567.789
%% 百分号本身输出结果p:rinut=f(-“%1 %”);
%
第10页
说明 格式字符要用小写
11 11 11 11 11 11 11 11 65535
格式字符与输出项个数应相同,按先后顺序一一对应
运行结果:Hello,world!
Hello,world!
Hello
Hello
第12页
Hel
第三章 结构化程序设计
例例 int a=1234; float f=123.456; static char c[]=“Hello,world!”; printf(“%8d,%-8d\n”,a,a); printf(“%10.2f,%-10.1f\n”,f,f); printf(“%10.5s,%-10.3s\n”,c,c);