第三章 顺序结构

合集下载

C语言课件第三章

C语言课件第三章

三、 自增、自减运算符 ++ --
++、- -运算符的作用是使变量的值加1或减1
1)该运算符为单目运算符,其运算对象只能是 变量,不能为常量或者表达式。 例如: i++ 、x- - 都是正确的 5++ 、(x+y)++ 都是错误的
2)该运算符作前缀、后缀都可以 例如 i++、++i、i- - 、- -i 都是正确的
3)对变量而言 i++ 或者++i都相当于i=i+1 i- -或者- -i都相当于i=i-1
例如: main( ) { int i=3 , j=3; +i+++i; j---j;; printf (“%d, %d\n”, i, j ); }
运行结果:4,2
4)但如果作为表达式,前缀和后缀则不同: 后缀:先取值再运算(i++,先取i值,i再自加) 前缀:先运算再取值(++i,i先自加,再取i值)
2)强制类型转换运算符优先级高于算术运算符
float x=3.6; int y; y=(int)x%3+2;
x = ?3.6 y=?2
计算下列表达式的值 设 x=2.5, a=7,y=4.7
x+a%3 * (int)(7x7+.2y ) % 2 / 4
设 a=2,b=3,x=3.5,y=2.5
(float5).(0a+b )/2+(int3)(x)%(int2)(y)
例如: main() { int i=3; printf(“%d\n”+, +i+i+ ); printf(“%d”, i ); }

第3章 顺序结构程序设计

第3章 顺序结构程序设计

第三章顺序结构程序设计一、输出函数printf的使用使用的格式:printf(“输出格式串”,表达式表); /*printf要小写*/重点掌握输出格式符① 格式符:%d 以普通整型输出(不可以写成%D)%md 以普通整型输出,数据占m位,右对齐%+md 以普通整型输出,数据占m位,右对齐(正数的前面有+号)%-md 以普通整型输出,数据占m位,左对齐%hd 以短整型输出%ld(或%Ld) 以长整型输出%u 以无符号整型输出%o 以八进制形势输出%x(或%X) 以十六进制形势输出%f 以单精度小数形势输出,点后6位小数%lf(或%Lf或%f) 以双精度小数形势输出,%±m.nf 以单精度小数形势输出,点后n位小数,且进行四舍五入%.nf 以单精度小数形势输出,点后n位小数,且进行四舍五入%c 以字符形式输出%s 以字符串形式输出说明:以上的常用格式符必须和后面的变量一一对应,并且后面的变量是什么类型前面就必须用相应的格式符例:int a=-2;unsigned int b=30;float c=3.1456;printf(“%d%u%5.2f”,a,b,c); 问:输出结果是什么?(-230 3.15)②普通字符普通字符原样输出,它不控制变量的输出。

printf(“a=%d,b=%u,c=%5.2f”,a,b,c); 问:输出结果是什么?③转义字符\n 回车且换行\r 回车但不换行\b 退一个字符\t 走一个制表位(8个字符)\\ 转译成\\’转译成’\”转译成”%% 转译成%\ddd 转译成1~3位八进制所对应的ascii码值所代表的字符\xdd 转译成1~2位十六进制所对应的ascii码值所代表的字符二、输入函数scanf的使用格式:scanf(“格式串”,变量地址列表);重点掌握输入格式(有格式符和普通字符,没有转义字符)① 格式符:%d 以普通整型输入%ld(%Ld) 以长整型输入%hd 以短整形输入%md 取整型的m位%u 以无符号型输入%o 以八进制输入%x(%X) 以十六进制输入%f 以单精度小数输入%lf(%Lf) 以双精度小数输入%mf 以单精度小数输入(但是不能规定它的精度。

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语言程序设计双色版答案

c语言程序设计双色版答案第一章基础知识一、填空1. 每个 C 程序都必须存有且仅有一个________ 函数。

2. C 语言程序开发到执行通常要经过 6 个阶段即编辑、预处理、________、链接、加载和执行。

3. 软件就是程序,以及______、采用和保护所须要的所有文档。

4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。

5. 程序设计语言按照书写形式,以及思维方式的相同通常分成低级语言和________两大类。

6. C 语言是由________组成的。

7. C 语言的函数可以分后居多函数 main、标准库函数和_________。

8. 一个函数是由两部分组成的,即:________和函数体。

9. 编程就是将 C 语言所撰写的源程序________成机器代码,也称作创建目标代码程序的过程。

10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作的要求。

不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA) 、管理信息系统(MIS) 、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。

11. 机器语言就是以__________形式则表示的机器基本指令的子集,就是计算机系统唯一不须要甩译作可以轻易辨识和继续执行的程序设计语言。

12. 与机器语言较之,采用汇编语言去编写程序可以用_______去则表示指令的操作码和操作方式对象,也可以用标号和符号去替代地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。

14. C 程序的继续执行均是由继续执行_________已经开始。

15. 函数体即为涵盖在{ }内的部分。

它分成________和为顺利完成功能任务由若干个 C 语句共同组成的继续执行部分。

06c语言程序设计教案程序的控制结构—顺序结构

06c语言程序设计教案程序的控制结构—顺序结构

06c语言程序设计教案程序的控制结构—顺序结构int a=-1;printf(“%d,%o”,a,a);输出结果为:-1,177777这是因为-1在内存中以补码形式存放(见图3-2)。

八进制数为从低位开始,以三位一组划分为一个八进制数。

3)x格式符。

以十六进制数无符号形式输出整数。

例如:int a=-1;printf(“%x,%o,%d”,a,a,a);输出结果为:ffff,177777,-1十六进制数为从低位开始,见图3-2,以四位一组划分为一个数。

4)u格式符。

以十进制数无符号形式输出整数。

一个有符号的(int)型数据能够用%d格式输出,也能够用%u格式输出。

要注意两类数据的取值范畴大小。

例如:无符号数据的输出。

main(){unsigned int x=65535;int y=-1;printf(“x=%d,%o,%x,%u\n”,x,x,x,x);printf(“y=%d,%o,%x,%u\n”,y,y,y,y);}运行结果为:x=-1,177777,ffff,65535y=-1,177777,ffff,65535即-1的二进制形式以无符号形式输出时为整数65535。

5)c格式符。

用来输出一个字符。

例如:char x=’A’;printf(“%c,%d\n”,x,x);运行结果为:A,65能够看出,一个范畴在0~255的整数,既能够用%d格式输出,也能够用%c格式输出。

输出该整数或者整数对应ASCII的字符。

6)s格式符。

用来输出一个字符串,该格式有以下用法:①%s例如:printf(“%s”,”HELLO”);运行结果为:HELLO②%±ms,假如%ms字符串的实际宽度小于m,右对齐,左端补空格,%-ms,字符串左对齐,右端补空格;否则,不受m限制,输出实际宽度。

③%±m.ns,若%m.ns取字符串左端n个字符,输出在m列的右端,左端补空格;%-m.ns,取字符串左端n个字符,输出在m列的左侧,右侧补空格;若m<n,则m自动取n 值输出n个字符。

【最新】一章顺序结构

【最新】一章顺序结构

printf("(float)(a+b)/3+(int)x%%(int)y=%f\n",(float)(a+b)/3+(int)x%(int)y );
} 2021/2/2
8
二、格式说明
3.3 格式输出——printf函数
1. 格式字符 (1)与整型数据的格式输出有关的格式说明—— %d(%i)、 %o、 %X(%x)、%u
(2作)。转如义“字\符n”,格代以表式反回斜控车线。制“\”字开头符,后面紧跟一个特定的输字符出,用项来代表某个特定的操
(3)普通字符,在显示器上原样输出,主要起解释、说明作用。除了格式说明和转义字
符之202外1/2,/2 在格式控制中的其他字符(包含空格)均按原样输出。
5
3.3 格式输出——printf函数
出形式为[-]m.ddddddE±xxx ,共占13列宽度。
%G或%e:根据数值的大小,自动选f格式或e格式,使得数据的输出宽度最小,且
不输出无意义的零。%g对应输出的指数形式为[-]m.dddddde±xxx, %G对应输出的
指数形20式21/为2/2[-]m.ddddddE±xxx。%g格式用得较少。
5. 空语句 ——只有分号“;”组成的语句称为空语句。空语
句是什么也不执行的语句。在程序中空语句可用来
作空循环体。
2021/2/2
2
第3章 顺序结构
3.1 C语句概述
二、C语句示例
a+4*b; 算术表达式语句
4*x,4+y; 逗号表达式语句
x=4*5;
赋值表达式语句(赋值语句)
printf(“Hello Everyone!”) ;

顺序结构PPT课件

顺序结构PPT课件

函数调 用语句
空语句
由函数调用加上分号“;”组成。其一般形式为: 函数名(实际参数表) ;
例如: printf(“hello”); scanf(“%d”,&a);
只有分号“;”组成的语句称为空语句。 空语句是什么 也不执行的语句。在程序中空语句可用来作空循环体或 程序流程的转向点。
复合语句
把多个语句用括号{ }括起来组成的一个语句称复合语 句。在程序中应把复合语句看成是单条语句,而不 是多条语句。
湖南工业大学计算机与通信学院
3.1 问题提出
顺序结构是最简单的一 种结构,即按书写的先 后顺序执行它所包含的 内容。
A
B 选择结构 顺序结构中的语句只执行一次
顺序结构
3种基本 结构
循环结构
湖南工业大学计算机与通信学院
3.1 问题提出
计算机完成一个任务的具体步骤
算法
•设计程序,也 就是设计解题 步骤
putchar(c); putchar('\n'); putchar(a);
}
控制字符, 表示换行
湖南工业大学计算机与通信学院
3.3.1 字符输入输出函数
键盘输入函数:getchar() 格式:getchar(); 功能:从键盘上输入一个字符。
说明:(1)无参数 (2)函数值是从输入设备接收的字符
功能:在显示器上输出单个字符。
如:putchar('A');
(输出大写字母 A)
putchar(x);
(输出字符变量 x 的值)
putchar('\101');
(也是输出字符 A)
putchar('\n');
('\n'是控制字符,表示换行)

第三章 输入输出函数与顺序结构程序设计

第三章  输入输出函数与顺序结构程序设计

3.1格式化输出函数printf( )
案例3-1 计算三个学生的平均成绩 存放三个学生的考试成绩 显示三个学生的成绩 计算平均分后显示该信息
程序代码
/*代码文件名:code3_1.c*/ #include <stdio.h> main() { int score1=12,score2=23,score3=25; /*定义并初始化三个学生成绩 */ float avg; /*输出三个学生成绩*/ printf("score1=%d, score2=%d, score3=%d\n", score1, score2, score3); avg=( score1+ score2+ score3)/3.0;/*计算平均分*/ printf("平均分avg=%f\n",avg); /*输出平均分*/ }
非格式字符
如果格式控制串中有非格式字符则输入时也要 输入该非格式字符。 例如: scanf("%d,%d,%d",&a,&b,&c); 其中用非格式符“ , ”作间隔符,故输入 时应为: 5,6,7 又如: scanf("a=%d,b=%d,c=%d",&a,&b,&c); 则输入应为: a=5,b=6,c=7
尽量不要在输出语句中改变输出变量的值,因 为可能会造成输出结果的不确定性。例如:int k=8;printf(“%d,%d\n”,k,++k);输出结果不是8, 9,而是9,9。这是因为调用函数printf时,其 参数是从右至左进行处理的,将先进行++k运 算。 输出数据时的域宽可以改变。若变量m、n、i 和f都已正确定义并赋值,则语句 printf(%*.*f,m.n,f);将按照m和n指定的域宽 输出浮点型变量f的值,并不输出m、n的值。

程序的顺序结构

程序的顺序结构

1、文本框的常用属性
(6)ScrollBars属性:数值型。该属性用于确定文本
框是否带滚动条。有以下4种选择:
0 – None
没有滚动条
1 – Horizontal 只有水平滚动条
2 – Vertical
只有垂直滚动条
3 – Both
同时具有水平和垂直滚动条
只有当MultiLine属性值为True时,文本框才显 示滚动条。
例 3.2
3.2.2 用文本框输入数据
1、文本框的常用属性
(1)Text属性:文本框的默认属性为Text,即文本框 中显示的文本,是文本框最重要的属性。
(2)MultiLine属性:逻辑型。当MultiLine属性为 True时,文本框可以输入或显示多行文本,且会在 输入的内容超出文本框时自动换行。默认值为False。
(5)PasswordChar属性:字符串类型。当MultiLine 属性值为False时,该属性可以用于口令输入。如 果把PasswordChar属性设置为一个字符,如星号 “*”,则在文本框中键入字符时,只显示星号,
不 显示键入的字符。但是Text属性接收的仍是用户输 入的文本。
3.2.2 用文本框输入数据

例3.1:交换两个变量的值
按照下图设计界面,两个变量的值分别输入到界面上 的两个标签中,并对标签做如下图所示的属性设置。单击 按钮“交换两个变量的值”,两个文本框中的内容马上交
换 并显示出来。
例 3.1
3.2 数据输入
3.2.1 用输入框(InputBox)输入数据 3.2.2 用文本框(TextBox)输入数据
文本框里输入,所输入的内容由函数值返回; 6、在格式中,如省略某个语法成分不写,则其前方的逗号

第三章 顺序结构

第三章  顺序结构

第三章顺序结构C++的程序采用了结构化程序设计.结构化程序设计要求的顺序、选择、循环的控制结构,使编写的程序结构清晰。

顺序结构就是按照语句的先后顺序来执行的方式。

第一节赋值语句赋值语句的一般形式: <变量名>= <表达式>变量名必须在变量说明部分已经定义过。

“=”与“==”(两个等号连接在一起)的区别:“=”赋值号是将其右边的表达式的值赋给左边的变量。

例如:X=X+1是将X的当前值加上1,再赋给X。

而“==”双等号是两边值比较的结果。

赋值号左边不能是表达式、常量,只能是变量名。

表达式是由常量、变量、函数、运算符和圆括号组成的式子。

应用举例:Y=0.5;X=Y;X=Y+2.5;在C++中对于赋值语句提供了缩写的形式,即当一变量既出现在赋值符号的左边又出现在右边时,可以缩写:x=x*y; 缩写为: x*=y;x=x+y; 缩写为: x+=y;其他的算术运算“-”、“/”、“%”都可依照同样的规则在赋值中缩写。

缩写格式通常更为有效,可读性也比较强。

根据每个表达式所得的值的类型,表达式可分为数值表达式(值是实型或整型)、字符表达式(值是字符型)、和布尔表达式(值是布尔型),单独一个常量、一个变量或一个函数都可看作是简单的表达式。

赋值语句的功能:首先计算表达式的值,再赋给赋值号左边的变量。

对任意一个变量必须先赋值,然后才能引用,否则未赋值的变量将以一个随机值参与运算。

另外需要强调一点的是赋值构成了一个表达式,因而它是有值的,赋值表达式的值为赋值符左边表达式的值。

例如:cout<<(i=1)<<endl;将输出1,与此同时i也将被赋值为1。

[例3.1]关于变量赋值的应用。

交换两个变量的值。

程序如下:#include<iostream>using namespace std;int main (){ int a=3,b=2;cout<<"a = "<<a<<" "<<"b = "<<b<<endl;//输出未交换的值a = a+b;b = a-b;a = a-b;cout<<"a = "<<a<<" "<<"b = "<<b<<endl;//输出交换后的值system("pause");return 0;}分析:用下表说明程序的运行情况. 在程序的第一行,将3赋给a,将2赋给b.第二行输出变量a、b的值. 第三行将a和b的当前值相加,其和赋给a;即对变量a的值更新.第四行用a的当前值减去b的当前值,再赋给b,对b的值进行更新.同理,下一行对a进行更新程序中整型变量是分别赋值 3,2 ,接着a的值加b的值为 5,仍赋给a.a的值改为5,再接下去的两条赋值语句同样使b的值改为3.a的值又改为2.最后输出的a,b的值分别为2,3.交换两个变量的值的常用方法是:假如有A、B两盘磁带,分别装有两种不同的内容。

八年级信息技术教案第三章?顺藤摸瓜----顺序结构程序设计

八年级信息技术教案第三章?顺藤摸瓜----顺序结构程序设计

八年级信息技术教案第三章顺藤摸瓜----顺序结构程序设计第三章顺藤摸瓜----顺序结构程序设计第一节有备而来---程序设计准备一、学习目标1.掌握进入basic环境的方法和输入、编辑、运行程序的方法。

2.初步掌握basic中的基本概念:常量、变量、函数、表达式。

3.初步掌握输出、赋值、输入语句的格式和功能。

4.初步掌握简单顺序结构程序的设计方法。

5.理解程序的顺序结构的概念。

二、教学重点掌握输出、赋值、输入语句的格式和功能。

三、教学难点掌握简单顺序结构程序的设计方法。

四、教学方法1.演示法。

2.实践法。

五、教学手段与教学媒体六、课时安排1课时。

七、教学过程二、学习指导1.basic中的科学记数法类似数学中的科学记数法例如:-3.14156e+3 —— -3.14156×1032.56e-2 一2.56×10-2其中e表示幂底数10,e后跟的整数为幂指数。

2.常见标准函数abs(x) 求x的绝对值,即|x|sqr(x) 求x的算术平方根,即。

sin(x) 求x的正弦值c角x的单位必须是弧度,l°≈3.14159/180)。

cos(x) 求x的余弦值(规定同上)。

int(x) 求不大于x的最大整数。

注意:x为负数时,其值不是去掉小数,例int(一5.99)≠一5。

int(x)用处很多:(1)对正数x四舍五入保留n位小数的表达式:int(x*10^n+0.5)/1o^n例如:对正数x四舍五入保留两位小数的表达式:int(x*100+0.5)/100(2)判断整数a能被整数b整除的条件关系式:int(a/b)=a/b(3)求整数a除以b的余数的表达式:a—int(a/b)*b.rnd(x) 产生一个o到1之间的随机小数生成(a,b)内的随机整数的表达式:int(rnd(1)*(b—a)+a)例如:二位随机整数的表达式:int(rnd(1)*90+10)3.数学式和basic表达式的对应表示应根据运算顺序,正确使用圆括号,且将所有符号写在同一行上。

C语言电子教案第3章 输入输出及顺序结构

C语言电子教案第3章   输入输出及顺序结构
o
o
o
o
在%与格式符之间插入一个整数表示指定输出的宽度.若 指定的输出宽度大于实际数据的宽度,那么数据向右靠齐, 左边补空格;若指定的宽度小于实际数据的宽度,那么按 实际数据的宽度输出. 可以采用"m.n"的格式修饰格式符来输出一个实数,这里m 和n是两个整数. 对于字符串,采用"m.n"的附加格式符来修饰格式符表示 指定字符串的总宽度为m,不足m则向右靠齐,左补空格.n 表示指定截取实际字符串的前n个字符输出.也可以省略m, 不指定总宽度. 可以在宽度之前加一个""来指定输出的数据向左靠齐.
输出表列 o 输出表列是需要输出的数据,可以是变量,常量或表达 式.输出表列可以是零项,一项或多项,若多于一项则 各项之间用逗号分隔. o 输出表列和格式说明符在个数与类型上应相匹配. 例如,printf("\n x = %d , y = %f ", x , y+1);
3.2 常用输出与输入函数 printf的格式说明符
3.2 常用输出与输入函数
程序的运行结果是: 57 5 7 67.856400,-789.124023 67.856400,-789.124023 67.86,-789.12,67.856400,789.124023,67.856400,-789.124023 6.785640e+01,-7.9e+02 A,65,101,41 1234567,4553207,d687 65535,177777,ffff,-1 COMPUTER,COM
3.2 常用输出与输入函数
printf函数在使用时的注意事项
printf函数可以输出常量,变量和表达式的值.但 格式控制中的格式符必须按从左到右的顺序,与 输出项表中每个数据在类型上一一匹配,否则将 导致数据输出错误. 类型转换字符x,e,g可以用小写字母,也可以用大 写字母.使用大写字母时,输出数据中包含的字 母也要大写.除x,e,g外,其他类型转换字符必须 用小写字母,例如%f不能写成%F. 在输入long整型数据时,一定要使用格式%ld.如 果只用了%d,将输出错误数据. 若需要输出百分号"%",则应在格式串中用连续 的两个百分号"%%"表示. 类型转换字符紧跟在"%"后面时作为类型转换字 符,否则将作为普通字符处理. printf函数的返回值通常是本次调用中输出字符的 个数.

第3章 顺序结构程序设计

第3章 顺序结构程序设计
2016年12月12日星期一 6
第3章 顺序结构程序设计
【例题3.1】阅读下列程序,认识格式输出函数的用法,写结果 #include<stdio.h> int main() { int i,j,m,n; 格式控制字符串 输出列表项 i=5; j=15; m=i++; n=++j; printf("i=%d, j=%d, m=%d, n=%d\n",i,j,m,n); return 0; }
※ %s:输出一个字符串。
※ %f:按实型数据输出且有6位的小数点。 ※ %e: 按实型数据输出且按指数形式
※ %g:按实型数据输出由系统自动选择f格式或e格式。
2016年12月12日星期一 8
第3章 顺序结构程序设计
3.3.2 格式输入函数scanf
阅读下列程序,认识scanf()函数的用法
#include<stdio.h> int main() 格式控制字符串(注意表示形式) { 输入地址列表 int a,b,c; float aver; printf("请输入三个数a,b,c:"); scanf("%d%d%d",&a,&b,&c); aver=(a+b+c)/3; printf("aver=%f\n",aver); return 0; }
第3章 顺序结构程序设计
3.4 字符输入/输出函数
【例题3.4.1】 通过键盘输入一个小写字母,输出该 字母的大写。 分析:输入可采用格式输入函数scanf()实现,输出可 采用格式输出函数printf()实现,使用格式符%c。小 写字母与大写字母的ASCII码值相差32。 思考:不用格式输入/输出函数能不能完成?能,用C 语言提供的另一类函数即字符输入/输出函数。

精品课件-C语言程序设计实用教程-第3章 顺序结构的程序设计

精品课件-C语言程序设计实用教程-第3章 顺序结构的程序设计

3.printf()函数应用举例 【例3.8】 用不同的格式输出同一变量。 #include "stdio.h" main( ) {
char ch='b'; int x=65; printf("ch=%c,%4c,%d\n", ch, ch, ch); printf("x=%d,%c\n", x, x); }
【例3.9】 输出不同的数据类型的应用。
#include "stdio.h"
main()
{ int a,b;
float c;
char ch ;
a=123;
b=-1;
c=1.23;
ch='a';
printf("a=%d, a=%4d\n", a, a ); /*输出整数a的值*/
printf("%d, %o, %x, %u\n", b, b, b, b); /* 输出b的 值*/
(1)格式控制 格式控制由双引号括起来的字符串,主要包括格式说明和需要原 样输出的字符。 ①格式说明 由“%”和格式字符组成,如%d,%f等,作用是将要输出的数据转 换为指定的格式后输出。 ②普通字符 需要原样输出的字符。如“printf("radius=%f", radius);” 语句中的“radius=”就是普通字符。 (2)输出表列:是需要输出的一些数据,可以是常量、变量和 表达式。
printf("%f, %6.1f\n",c,c); c的值 */
/* 输出实数
printf("%c\n", ch);
/*输出字符
3.4.2 scanf()函数

第三章 顺序结构

第三章 顺序结构

表3-1 格式说明对应的输出数据格式
• 例3.3 若有以下程序段 int m=32767,n=032767; printf(“%d,%o\n”,m,n); 执行后输出结果是______ 。 A) 32767,32767 B) 32767,032767 C) 32767,77777 D) 32767,077777 答案:A • 例3.4 如有以下程序段 int m=0xabc,n=0xabc; m-=n; printf(“%X\n”,m); 执行后输出结果为_______。 A) 0X0 B)0x0 C) 0 D)0XABC 答案 C
(3)使用scanf时,如果数据输入未能完成,则程 序一直等待键盘输入,此时用户应该完成数据输 入。 (4)使用scanf给变量赋值和直接使用赋值语句给 变量赋值,都能使变量的值发生改变,但二者具 有本质的区别。使用赋值语句给变量赋值,是将 某一个固定的值在程序源代码中写入,当该源代 码编译成可执行程序(即用户软件)后,用户无 法改变该变量的值,每次执行的结果均相同。而 使用scanf给变量赋值,是在程序运行过程中,使 用键盘动态的给变量赋值,这样当生成可执行程 序后,用户可以根据自身的需要,给变量赋不同 的值,得到不同的运行结果。
一.printf函数的一般格式
• printf函数是C语言提供的标准输出函数,它 的功能是按照指定的格式把需要输出的数 据在标准输出设备(即显示器)上输出。 一般格式如下: printf(输出控制,输出数据列表) 其中:输出数据列表为 输出项1,输出项 2,…,输出项n
说明:
(1)输出控制是由双引号括起来的格式转换控制信 息。分为两种信息:一种是用于说明信息,计算 机会按照原样输出;另外一种是带有%的格式转 换说明,用于指定输出数据的格式。例如程序: printf(“a=%d,b=%d”,2,3); 其中双引号下的a=,b=是用于说明信息,而% 的则是格式转换说明,用于指定输出数据的格式 为整型,第一个“%d”对应第一个数字,第二个 “%d”对应第二个数字,因此输出在计算机屏幕 上的结果为:a=2,b=3。

顺序结构(5)

顺序结构(5)

第三章 顺序结构
(3)x格式符。以十六进制数形式输出整数。同样不会出 x格式符 现负的十六进制数。 例: int a=-1; printf(″%x,%o,%d″,a,a,a); 输出结果为: ffff,177777,-1 可以用“%lx”输出长整型数,也可以指定输出字段的宽 度 例: “%12x”
第三章 顺序结构
② %m.ne和%-m.ne。 m、n和“-”字符的含义与前相 同。 此处n指拟输出的数据的小数部分(又称尾数)的小数位数。 若f=123.456,则: printf("%e %10e %10.2e %.2e %-10.2e",f,f,f,f,f); 输出如下: 1.234560e+002 1.234560e+002 1.23e+002 1.23e+002 13列 13列 10列 9列 1.23e+002 10列
第三章 顺序结构
(2) o格式符 格式符。以八进制整数形式输出。 输出的数值不带符号,符号位也一起作为八进制数的一部分输出。 例:int a=-1; printf("%d,%o",a,a); -1在内存单元中的存放形式(以补码形式存放)如下: 1111111111111111 输出为: -1,177777 不会输出带负号的八进制整数。对长整数(long型)可以 用“%lo”格式输出。还可以指定字段宽度, 例:printf("%8o",a); 输出为: ○○177777。 (数字前有2个空格)
第三章 顺序结构
六、程序举例 例: 输入三角形的三边 长,求三角形面积。 假设:三个边长a,b,c能构 成三角形。 已知面积公式: area= s(s − a)(s − b)(s − c) s=(a+b+c)*0.5

第三章 顺序结构程序设计

第三章 顺序结构程序设计

步骤1:0 => s; 步骤2:1 => I; 步骤3:s+i => s; 步骤4:i+1 => I; 步骤5:如果i≤1000,转到步骤3,否则结束。 在上面的算法中,符号s、i表示变量,符号“=>” 表示给变量赋值。步骤1和步骤2表示给变量s和i 赋初始值为0和1;步骤3将变量i的当前值累加到 变量s中;步骤4使变量i在原值的基础上增加1; 步骤5判断i的值如果小于等于1000,重复做步骤 3和步骤4,构成一个循环,而当i的值不小于等于 1000时,循环结束,这时,变量s的值就是要求 的计算结果。
2.函数调用语句 函数调用语句由一次函数调用加一个分号(语句结 束标志)构成。例如: printf("This is a C Program."); 3.表达式语句 表达式语句由表达式后加一个分号构成。 表达式能构成语句是C语言的一大特色。最典型的 表达式语句是在赋值表达式后加一个分号构成的赋值 语 句 。 例 如 , “ num=5” 是 一 个 赋 值 表 达 式 , 而 “num=5;”却是一个赋值语句。
3.3 格式化输出函数printf()
程序运行中,有时候需要从外部设备(例如键盘)上得 到一些原始数据,程序计算结束后,通常要把计算结果发 送到外部设备(例如显示器)上,以便人们对结果进行分析。 我们把程序从外部设备上获得数据的操作称为“输入”, 而把程序发送数据到外部设备的操作称为“输出”。 不像其他的高级语言,C语言没有专门的输入/输出语 句,输入/输出的操作是通过调用C语言的库函数来实现的。 printf()函数是最常用的输出函数,它的作用是向计算机系 统默认的输出设备(一般指显示器)输出一个或多个任意指 定类型的数据。
3.1.2 算法的特征 通常,一个算法必须具备以下五个基本特征: (1) 有穷性。一个算法必须在它所涉及的每一种情 形下,都能在执行有限次的操作之后结束。 (2) 确定性。算法的每一步,其顺序和内容都必须 严格定义,而不能有任何的歧义。 (3) 有零个或多个输入。输入是算法实施前需要从 外界取得的信息,有些算法需要有多个输入,而有些 算法不需要输入,即零个输入。 (4) 有一个或多个输出。输出就是算法实施后得到 的结果,显然,没有输出的算法是没有意义的。 (5) 可行性。算法的每一步都必须是可行的,也就 是说,是能够由计算机执行的。
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

东北大学计算机中心 16
3.格式数据输出

printf函数
格式字符串:%[<修饰符>]<格式字符>

例如

int i=123, float j=12.34567; printf(“%4d+++%5.2f”,i,j);/* 123+++12.35 */ printf(“%2d+++%2.1f”,i,j); /*123+++12.3*/ printf(“%4d%10.4f”,i,j); /* 123 12.3457*/ printf(“%-4d%10.4f”,i,a);/* 123 12.3457 */ printf(“%4d%-10.4f”,i,a); /* 12312.3457*/
东北大学计算机中心 4

提示:

1.基本语句

空语句
由一个分号‘;’组成

空语句是表达式语句的一种特例
格式:


它表示什么操作也不做。从语法上讲,它的确是一 条语句。在程序设计中,若某处从语法上需要一条 语句,而实际上不需要执行任何操作时就可以使用 它。例如,在设计循环结构时,有时用到空语句。
在C语言中,没有专门的输入输出语句,所 有的输入/输出操作都是通过对标准的I/O库 函数的调用实现
东北大学计算机中心 10
2. 输入/输出
数据输入输出的概念及在C语言中 的实现 1.所谓输入输出是以计算机为主体 而言的。 2.本章介绍的是向标准输出设备显 示器输出数据的语句。 3.在C语言中,所有的数据输入/ 输出都是由库函数完成的。 因此 都是函数语句。

东北大学计算机中心 7
1.基本语句

赋值语句
提示
赋值语句是程序设计中使用频率最高的语句 可以对变量连接赋值


例如:x=y=z+(w=10/5*2)

如果表达式中含有变量,则在使用前改变量必须有 一个确定值表达式

例如:b=2*a+5+b;a、b必须先赋值才能计算新值

赋值表达式与赋值语句的区别 形式上是否有‘;’ 表达式存在的地方,赋值表达式可以存在,但不 允许赋值语句存在
东北大学计算机中心 11
2. 输入/输出
4.在使用C语言库函数时,要用预编译命 令#include将有关“头文件”包括到源 文件中。 #include< stdio.h > #include ”stdio.h” stdio是standard input &outupt的意思。
5.考虑到printf和scanf函数使用频繁,系统 允许在使用这两个函数时可不加 #include< stdio.h >或 #include ”stdio.h”
注意:
格式控制符串:由“ ”括起
的字符串。
scanf()中各个变量要加地 址操作符,就是变量名前加“&” 地址操作符,这是容易忽视的一 个问题。如果忘记了在函数的每 个变量前面加&符号,可能会导致 程序甚至系统崩溃。
东北大学计算机中心 20
4.格式数据输入

scanf函数
格式转换说明符

格式说明规定了输入项中的变量将以何种类型的数据 格式被 输入 可以指定输入数据的域宽,系统自动按域宽截取输入 数据

提示


1.基本语句

赋值语句
功能

完成C语言的计算功能并将计算结果赋值给变量,必 要时自动进行数据类型的转换

赋值后无论原来变量值为多少都将以新值取代
格式:

<变量>=表达式;
由赋值表达式后跟分号组成 处理过程
先计算“=”右边表达式的值,将值类型转换成“=”左边变 量的数据类型后,赋给该变量 例如: int c=„X‟; y=(-b+sqrt(b*b-4*a*c))/(2*a);
使用%d指定要显示的整数,但要 例2: 转化的是一个实数,printf函数无 #include <stdio.h> 法检查参数类型,所以将实数赋予 main( ) 函数,而指定格式为整数,函数将这 { 个数当作整数看待. float answer; answer=7.0/20.0; printf(“The answer is %d\n”,answer); } 312.c
东北大学计算机中心 8
1.基本语句

表达式语句
在表达式后面加上一个分号“;”就构成了一个表达式语
句 格式: <表达式>;

例:

a=b*2; func(a,b) ; ++j; x+y;
/*赋值运算表达式语句*/ /*函数调用表达式语句*/ /*前缀运算表达式语句*/ /*x+y;是算术表达式语句*/
东北大学计算机中心 12
3.格式数据输出

printf函数
功能

【例】 printf(“%d%f%c” ,a,b,c);
是按控制字符串规定的格式,向缺省输出设备输出在输出项列表 中列出的各个输出项 格式字符串是用来说明输出项表中各输出项的输出格式

格式:printf(“格式字符串”,输出项列表);
每个函数完成的功能则是通过由一条条语句实现的
语句是构成C程序设计的基本单位
语句能完成特定操作

语句的有机组合能实现指定的计算处理功能 语句最后必须有一个分号,分号是C语句的组成部分
在C中,语句的作用主要用来定义数据、操作及控制程
序的运行

C语句分为三类


基本语句 复合语句 程序控制语句

必须由“ ”括起来 当系统遇到输出的格式说明符后,会自动用后面对应的输出项的值 代替它的位置,然后输出 可以是常量、变量或表达式 其类型和个数必须与格式字符串中格式字符的类型及个数一致 各输出项之间用逗号分开 当没有输出项列表,同时格式字符串中也不含格式信息,则输出的 是格式字符串本身 东北大学计算机中心 13

形式:%[<修饰符>]<格式字>

例如:scanf(“%3d”,&a);/*按宽度3输入一个整数给变 量a*/

字符*:*表示按规定格式输入但不赋予相应的变量,作 用是跳过相应的数据

例如: scanf(“%d%*d%d”,&a,&b);

输入long型数据必须用%ld,输入double数据必须用 %lf或%le
东北大学计算机中心 21
4.格式数据输入

scanf函数
输入方法


a=3 ,而b的值不确定。这是因为格式 串中的逗号是普通字符,要照原样输入
普通字符在输入时按原样输入
例如 scanf(“%d,%d;”,&a,&b);/*输入:3,4<回车 > */ 问题:如果3 4 <回车> ? scanf(“a=%d;b=%c;”,&a,&b);/*输入是: a=3;b=a; */ 例如: scanf(“%d%4d”,&a,&b ); /*输入序列为:123 12345 则a=123 , b=1234*/ 为什么?虽然输入的是12345但%4d宽度为4位,截取 前4位,即1234

形式2: printf(格式字符串,输出项表);


3.格式数据输出

printf函数
格式字符串:%[<修饰符>]<格式字符>

格式字符
规定了对应输出项的输出格式 常用的格式见书


修饰符
用于确定数据输出的宽度、精度、小数位数、对齐 方式等,用于产生更加规范整齐的输出,当没有输 出修饰符时,按系统缺省设定显示 其中 长度修饰符:l(长),h(短),放在格式字符前面 域宽和精度描述符:m(域宽).n(精度),放在 长度修饰符的前面 对齐方式描述符:一般所有输出数据缺省为右对齐格 式,若加一个“-”号,则变为“左对齐”方式,放在 域宽描述符的前面的前面

输出项列表列出要输出的项


3.格式数据输出

例1:4+4=? #include <stdio.h> main( ) { int total; total=4+4; printf(“The total is %d\n”); } 311.c
printf函数
该语句告诉程序显示一个十进制 数,但是没有指定变量.C不会检查 并确认 printf 函数被赋予了正确 的常量。由于没有值,所以C生成 了一个值。正确的语句应该是: printf(“The total is %d\n”,total );

%0md


%m.nf


当指定的域宽小于数据的实际宽度时

4.格式数据输入

scanf函数
功能

该函数从标准输入设备(键盘)上将数据读到地址 参数所指定的位置上
格式:scanf(format,addlist);
format规定数据的输入格式,必须由“”括起来, 其内容包括格式说明和普通字符两部分 addlist必须是指向某种数据类型的指针,并且与 format 参数中的类型说明相一致
东北大学计算机中心 17
3.格式数据输出

printf函数
格式字符串:%[<修饰符>]<格式字符> 提示 %md

以宽度m输出整型数,不足m 时,左补空格 以宽度m输出整型数,不足m 时,左补0 以宽度m输出实型小数,小数位为n位 对整数,按该数的实际域宽输出 对浮点数 若指定的域宽大于浮点数的整数部分,相应的小数位按精度 的位数四舍五入 若域宽小于等于浮点数整数部分的宽度,则该浮点数按实际 位数输出,但小数位数仍遵守精度的规定 东北大学计算机中心 18
相关文档
最新文档