第4章 顺序结构程序设计
第四章 最简单程序设计--顺序程序设计
开始
输入三边长 计算s 计算面积 结束
13
C语言程序设计
北京工业大学实验学院 陈洪丽
顺序结构程序设计举例
#include<stdio.h> #include<math.h> 数学函数库 void main( ) 因为要用到 {float a,b,c,s,area; 其中的sqrt 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, 3 ,4,6 n″,a,b,c,s); s=%7.2f\ a= 3.00, b= 4.00, c= 6.00, s= 6.50 printf(″area=%7.2f\n″,area);}
C语言程序设计
第四章 最简单程序设计 --顺序程序设计
北京工业大学实验学院 陈洪丽
C语言程序设计
北京工业大学实验学院 陈洪丽
本章主要内容
C语句概述
赋值语句
算法的基本控制结构
顺序结构程序设计举例
2
C语言程序设计
北京工业大学实验学院 陈洪丽
C语句概述
C程序
源程序文件1
源程序文件2
源程序文件n
5
分支 循环
辅助控制
C语言程序设计
北京工业大学实验学院 陈洪丽
计算机二级 C语言第四章-第五章
逻辑或
逻辑非
“&&”和“ ||”是双目运算符 “!”是单目运算符
C语言程序设计
第五章 选择结构程序设计
逻辑运算真值表
a 真 b 真 !a 假 !b 假 a&&b 真 a||b 真
真 假 假
假 真 假
假 真 真
真 假 真
假 假 假
真 真 假
逻辑运算符的优先次序 !(非) , &&(与),
优先次序:高(2) 结合方向:从右向左 (11) 从左向右
4.00, c=
6.00 s=
6.50
C语言程序设计
第四章 顺序程序设计
例4.11 从键盘输入大写字母,用小写字母输出
#include "stdio.h" void main() { char c1,c2; c1=getchar(); printf("%c,%d\n",c1,c1); c2=c1+32; printf("%c,%d\n",c2,c2); }
值为0 值为1 值为1 值为1 值为1 //(5>3)&&2||(8<(4-(!0))) 值为1 值为1
C语言程序设计
第五章 选择结构程序设计
复杂逻辑条件的表述
判断某一年year是否为闰年
判别闰年的条件(int year): 能被4整除: year%4==0 能被4整除但不能被100整除: (year%4==0)&&(year%100!=0) 能被400整除: year%400==0 综合起来: ((year%4==0)&&(year%100!=0))||year%400==0 优化语句: 此表达式为真时是闰年 (year%4==0&&year%100!=0)||year%400==0
实验4 顺序结构程序设计
河北工业大学城市学院《汇编语言程序设计》实验报告实验4 顺序结构程序设计一、实验目的1.掌握汇编语言集成开发环境下编写完整汇编程序的书写方法。
2.掌握汇编语言集成开发环境下汇编程序的汇编、连接、执行和调试。
3.常用伪指令的使用。
4. 掌握顺序结构程序的编写方法。
二、实验内容1.从键盘输入一个大写字母,将其转换为小写字母并显示在屏幕上解:程序代码为:DATAS SEGMENTDATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATASMOV DS,AXMOV AH,1;功能号为1,键盘输入单字符并回显INT 21HADD AL,32MOV DL,ALMOV AH,2;功能号为2,显示输出单字符INT 21HMOV AH,4CHINT 21HCODES ENDSEND START运行结果如图所示:2.在内存X和Y单元各存放了一个非压缩BCD码,将它们组合为压缩BCD码并存于Z单元(高地址做高位)。
解:程序代码为:DATAS SEGMENTX DB 00000101BY DB 00000110BZ DB?DATAS ENDSCODES SEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATASMOV DS,AXMOV CL,4SHL X,CLMOV CL,YOR CL,XMOV Z,ALMOV AH,4CHINT 21H CODES ENDSEND START运行结果如图所示:3.在内存TAB开始的16个单元连续存放了0-15的平方值(0-225),任给一个数X(0 ≤X ≤15),求X的平方值,并把结果存放在Y单元中。
解:程序代码为:DATAS SEGMENTTAB DB 0,1,4,9,16,25,36DB 49,64,81,100,121DB 144,169,196,225X DB 6Y DB? DATAS ENDS CODESSEGMENTASSUME CS:CODES,DS:DATAS START:MOV AX,DATASMOV DS,AXLEA BX,TABMOV AL,XMOV AH,0ADD BX,AXMOV AL,[BX]MOV Y,ALMOV AH,4CHINT 21H CODES ENDSEND START。
004第4章结构化程序设计
4.3.1 条件语句
if (InputScore >= 70) { if (InputScore >= 80) { if (InputScore >= 90) { OutputScore = "优秀"; //优秀 } else { OutputScore = "良好"; //良好 } } else { OutputScore = "中等"; //中等 } }
if (Score >= 60) { Console.WriteLine("该成 绩合格。"); } else { Console.WriteLine("该成 绩不合格。"); } }
}
4.3.1 条件语句
如果程序的逻辑判定关系比较复杂,可以用if…else嵌套语句 形式如下: if(表达式1) if(表达式2) if(表达式3) ... 语句1; else 语句2; else 语句3; else 语句4;
}
4.3.1 条件语句
2. if…else语句 if…else语句是一种更为常用的选择语句。if…else语 句的语法如下: if(表达式) { 语句块A; }
else
{ 语句块B; }
【例4-3】根据输入的学生
成绩Score的值,显示 其是否及格。
using System; class Score { static void Main() { Console.WriteLine("请您 输入学生成绩:"); int Score = int.Parse(Console.ReadLi ne());//转换为整数
【例4-4】假设考查课的成绩按优秀、良好、中等、及格和不及
第四章 结构化程序设计的三种结构
第四章结构化程序设计的三种结构4.1 顺序结构程序设计一、结构化程序设计的程序结构顺序结构、分支结构/选择结构、循环结构二、C语言语句1、9种控制语句2、表达式语句3、特殊语句三、格式化输出--printf()函数printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。
printf()函数的一般格式printf("格式字符串" [,输出项表]);1、"格式字符串"也称"转换控制字符串",可以包含三种字符(1)格式指示符。
格式指示符的一般形式如下:%[标志][宽度][.精度][F|N|h|L][类型]常用的标志字符如表3-1所示,常用的宽度指示符如表3-2所示,常用的精度指示符如表3-3所示,长度修饰符如表3-4所示,类型转换字符如表3-5所示。
(2)转义字符'\n'就是转义字符,输出时产生一个"换行"操作。
转义字符通常起控制作用(3)普通字符──除格式指示符和转义字符之外的其它字符。
格式字符串中的普通字符,原样输出。
例如printf("radius=%f\n", radius);语句中的"radius="是普通字符。
2.输出项表输出项表是可选的。
如果要输出的数据不止1个,相邻2个之间用逗号分开。
下面的printf()函数都是合法的:(1)printf("I am a student.\n");(2)printf("%d",3+2);(3)printf("a=%f b=%5d\n", a, a+3);必须强调:"格式字符串"中的格式指示符,必须与"输出项表"中、输出项的数据类型一致,否则会引起输出错误3、格式指示符输出不同类型的数据,要使用不同的类型转换字符。
顺序结构程序设计方案
C=5(f-32)/9;
见程序P4_1~P4_5
输出结果
123
7B
173 123 E china 1.234560e +002 123.45600
0 123.456
%
a
7
(一)printf函数的使用:
1、输出转换
在输出语句中,也会发生隐式转换。如:
float f=5.8; printf(“%d”, f ); 则输出 5。
如果是int a=5.8; printf(“%f”, a); 在 编译时不用出错,但不会输出结果。
如:%ld、%lx、%lo、%lu、%lf等
h:只用于将整型的格式修正为short型。如:%hd、%hx、 %ho、%hu等。
a
10
(一)printf函数的使用:
4、域宽及精度描述符(m•n):
m:指域宽。即对应的输出项共占多少位的位置; n:指精度。即小数占多少位。不指定n时,默认的精度是n=6。
a
9
(一)printf函数的使用:
另外,在%和格式字符之间可有一些可选的附加说明项, 其完整格式为: % — 0 m•n l/h 格式字符
指定输出类型 输出长度修正 指定输出域宽及精度 指定空位是否填0 是否左对齐 格式说明的起始符
可选项
3、长度修正符(l/h)
l:对整型指long型,对实型指double型。
6、多余的小数是被截断还是舍入?
第四章-汇编语言程序的设计
第四章汇编语言程序设计本章的汇编语言程序设计的主要容有:汇编语言程序设计概述、汇编语言程序的结构形式、汇编语言的伪指令。
(一个单片机应用系统和其它计算机系统一样,在完成一项具体工作的时候,它要按照一定的次序,去执行操作,这些操作实际上就是由设计人员,以单片机能够接受的指令编制的程序,那么无论计算机也好,单片机也好,实际上编制程序的过程,就是用计算机来反映设计者的编程思想,那么这一章中,我们将向大家介绍怎样使用单片机指令系统来编制一些应用程序。
在介绍之前,我们还是来学习汇编语言的一些基础知识)4.1 汇编语言程序设计概述1、计算机的汇编语言以助记符表示的指令,每一条指令就是汇编语言的一条语句。
(汇编语言程序设计实际上就是使用汇编指令来编写计算机程序。
汇编语言的语句有严格的格式要求)2、汇编语言的语句格式MCS-51汇编语言的语句格式表示如下:[<标号>]: <操作码> [<操作数>]; [<注释>]标号:指令的符号地址,有了标号,程序中的其它语句才能访问该语句。
①标号是由1~8个ASCII字符组成,但头一个字符必须是字母,其余字符可以是字母、数字或其它特定字符。
②不能使用汇编语言已经定义了的符号作为标号,如指令助记符、伪指令记忆符以及寄存器的符号名称等。
(同一个标号在程序中只能定义一次,不能重复定义;一条语句可以有标号,也可以没有标号,所以是否有标号,取决于程序中是否需要访问该语句。
)操作码:规定语句执行的操作容,操作码是以指令助记符表示的,是汇编指令格式中唯一不能空缺的部分。
操作数:给指令的操作提供数据或地址。
注释:是对语句或程序段的解释说明。
(在单片机中,这四个部分怎么加以区分呢?使用分界符)分界符(分隔符):用于把语句格式中的各部分隔开,以便于编译程序区分不同的指令段。
冒号(:)用于标号之后空格()用于操作码和操作数之间逗号(,)用于操作数之间,分割两个以上的操作数分号(;)用于注释之前。
第四章 顺序结构
例 m.n
例 int a=1234; float f=123.456; char ch=‘a’; printf(“%8d,%2d\n”,a,a); 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); 运行结果:Hello,world! Hello,world! Hello Hello Hel
看下面程序的运行结果
main() {int a=1,b=2; b=a; printf("%d%d",a,b); }
? 如果把b=a; 换成a=b a=b; 程序的结果如何? 如果把b=a; 换成a=b;,程序的结果如何? b=a
4.2字符的输入输出 字符的输入输出
C语言无I/O语句,I/O操作由函数实现 #include <stdio.h> 或者: #include “stdio.h”
4.3格式输入输出 格式输入输出
格式输出函数
格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据
输出表:要输出的数据(以“,”分隔) 格式控制串:包含两种信息 格式说明: %[修饰符]格式字符 , 用于指定输出格式 普通字符或转义序列:原样输出 格式字符
格式字符:
d,i x,X o u c s e,E f g %%
输入分隔符的指定 一般以空格、TAB或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字符
第4章 顺序选择结构程序设计
布尔表达式? false
true
语句2
语句1
否则执行语句2
例 子: if(x>y) Console.WriteLine("x比较大"); else Console.WriteLine("y比较大");
说 明:
① 若布尔表达式的值为真时,程序执行内嵌语句序 列1,否则执行内嵌语句序列2。 ② if else语句中,内嵌语句序列1和内嵌语句序列2可 以是简单语句,也可以是复合语句。如果内嵌语句 序列中为多个执行语句要使用花括号({…})组合为一 个语句块。
当判断的条件相当多时,难以阅读
使用switch 语句
问题: 根据考试等级输出百分制 分数段: A级:90-100分 B级:80-89分 C级:70-79分 D级:60-69分 E级:0-59分
switch( grade) { case 'A': Console.WriteLine("90-100"); break; case 'B':Console.WriteLine("80-89"); break; case 'C': Console.WriteLine("70-79"); break; .................... default: Console.WriteLine("出错啦");
必须是离散类 型 必须是相匹配 switch( 表达式 ) 的常量表达式 { case 常量表达式1 : 语句组1; break; ........ 可以有多行语句, default: 语句组0 ; break; 不需要加 {}号 } default 分支是可选的
Python程序设计 第4章 循环结构程序设计(第6次课)
Copyright © SWFU-CISD, 2012. All rights reserved. 1-8
计算机编程导论
4.2 循环结构概述
(3)给定2个整数,求它们的最大公约数和最小 公倍数。例如:给定6和9,求最大公约数时, 循环过程从6依次பைடு நூலகம்减至1,当循环到3时,判 断得6和9都能被3整除,于是终止循环,求得 最大公约数是3.;求最小公倍数时,循环过程 从9依次递增至54,当循环到18时,判断得18 同时能被6和9整除,于是终止循环,求得最小 公倍数是18。
练习: 1. 求1+3+5+…+99 2. 求2*4*6*…*12
Copyright © SWFU-CISD, 2012. All rights reserved.
1-21
计算机编程导论
第6次上机作业: 1.计算,参考值: S=1.718282 1 1 1 S 1 1*2 1*2*3 1*2*3*50 2.编程求斐波拉契数列的前20项,已知该数列 的第一、二项分别是0、1,从第三项开始,每 一项都是前两项之和。例如:0, 1, 1, 2, 3, 5, 8, 13……
Copyright © SWFU-CISD, 2012. All rights reserved. 1-12
输出 s 结束 图 4-3 累加若干整数值的框图
计算机编程导论
程序:
#Exp4_1.py print '请输入若干正整数进行求和操作,当输入负数时结束: ' s=0 x = input("请输入一个整数: ") while x >= 0: s=s+x x = input("请输入一个整数: ") print '整数之和=', s
C语言简明教程第04章最简单C程序设计
getchar函数 功能:从标准输入设备上(键盘)输入一个且只
能是一个字符,并将该字符返回为函数的值。
格式:getchar();
没有参数 例:
#include <stdio.h>
注意:
main()
(1)只有在按“回车”键之后输入的字
{
符才有效.
int i;
(2)此函数只接受一个字符,而非一
i=getchar(); printf(“%c:%d\n”,i,i);
格式字符
说
明
l
用于长整型,可加在格式符d、o、x、u前面
%lf将修正为double型
h
将整型格式d、o、x、u修正为short型
m(正整数) 数据最小宽度
n(正整数) 对实数表示输出n位小数;对字串表示截取的字符个数
-
输出的数字或字符在域内向左靠
0
用“0”来填充数字前面的空位
长度修饰符:l(长),h(短),放在(1)格式字符前面。 域宽和精度描述符:m(域宽).n(精度),放在长度修饰符的前面。
格式控制符:规定 数据的输入格式, 必须由“ ”括起来 ,其内容包括格式 说明(修饰符)和 格式符两部分。
地址列表:由一个或多个 变量的地址组成,变量地 址之间以“,”分隔。也 可以是字符串的首地址。
在C语言中一个变量的地址 可以通过&地址运算符得到。 例如:int a,b;
则a,b的地址为&a,&b。
❖ 4.空语句。下面是一个空语句: ;
即只有一个分号的语句,它什么也不做。有时用来作被转向点,或 循环语句中的循环体(循环体是空语句,表示循环体什么也不做)。
❖ 5.可以用{ }把一些语句括起来成为复合语句,如下面是一个复合 语句。 {z=x+y; t=Z/100; printf(”%f”,t); }
C语言程序设计 第3版 第4章 顺序结构程序设计
printf(“%d“,a); printf(“%d“,a+b);
C语言程序设计
2.printf函数
格式功能 格式控制 注意说明
注意说明:
(1)格式转换说明符个数和类型必须与输出列表一一 对应 。
(2)格式控制字符串中可以有转义字符和普通字符。 转义字符根据具体作用实现操作,普通字符原样输出。
例题:
scanf(“%d”,&a);
//一个变量
scanf(“%d%d”,&a,&b);
//两个变量
scanf(“%d%d%d”,&a,&b,&c); //三个变量
C语言程序设计
1.scanf函数
格式功能 格式控制 注意说明
注意说明:
(1)格式控制字符串中多个格式转换说明符之间没有 逗号,输入数据时,通常使用空格键或者回车键来分隔 数据;格式转换说明符之间有逗号,输入数据时,一定 要用逗号来分隔数据。
功能描述 输出一个十进制整数 输出一个单精度实数 输出一个双精度实数 按指数格式输出一个实数
输出一个字符 输出一个字符串 输出一个八进制整数 输出一个十六进制整数
C语言程序设计
2.printf函数
格式功能 格式控制 注意说明
输出列表:
输出列表由输出项组成,两个输出项之间用逗号分隔,输出项可以 是一般的表达式,也可以是简单变量,即:变量名或者表达式。
a
b
2
3
t
C语言程序设计
简单语句分析
实例介绍 算法设计 语句编写
将具体的算法转化为C语言的标准语句,采用 逐条语句编写方法,称为顺序结构程序设计。 算法设计如下:
1、定义三个变量a、b和t; 2、2存储到a中,3存储到b中; 3、将a的值存储到t中; 4、将b的值存储到a中; 5、将t的值存储到b中; 6、输出a和b的值;
C语言程序设计:第4章 顺序结构与选择结构
printf("max: %d\n",b); return 0; }
#include <stdio.h> int main(void) {
int a ,b,max; printf("请输入a和b的值\n"); scanf("%d%d",&a,&b); max = a; if(max < b)
7
顺序结构:复合语句
复合语句:由大括号{}中的0个或多个声明和语句列表共同构成。
#include <stdio.h> int main(void) {
int a = 10; int b = 11;
注意: 1>复合语句不以分号;作为结束符, 即最后的}后面不加分号。 2>在复合语句中可以定义变量,但
if(score >= 60)
printf("及格\n");
else
printf("不及格\n");
return 0;
}
19
选择结构: if...else if语句
成绩等级划分: 输入自己的成绩,根据成绩的范围输出成绩等级。
成绩范围
等级
90--100
A
80--89
B
70--79
C
60--69
D
0--59
3.输入一个字符,如果是大写字母改变为小写字母;如果是小写字 母,则把它变为大写字母;若是其他字符则不变
4.输入数字1-7,并输出显示对应的星期 (输入的数字 1 ,输出星期一,以此类推)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
e
w
4.2.3 printf函数的调用
printf函数是格式输出函数,其功能是按照指定的格式来控制输出参数在标准输出设备上输出。格式控制用于指定输出参数的输出格式,格式控制由两部分组成:格式说明和普通字符。普通字符(包括转义字符)将被简单地复制显示(或执行)。一个格式说明项将引起输出参数项的转换与显示。
表4-5 示例程序
输出语句 输出结果 printf(“%d\n”,888); 888(按实际需要宽度输出) printf(“%6d\n”,888); □□□888(输出右对齐,左边填空格) printf(“%f\n”,888.88); 888.880000(按实际需要宽度输出) printf(“%12f\n”,888.88); □□888.880000(输出右对齐,左边填空格) printf(“%g\n”,888.88); 888.88(%f格式比采用%e格式输出宽度小) printf(“%8g\n”,888.88); □□888.88(输出右对齐,左边填空格) ⑷精度指示符:以“.”开头,用十进制整数指精度。对于float或double类型的浮点数可以用“m.n”的形式在指定宽度的同时来指定其精度。其中,“m”用以指定输出数据所占总的宽度,“n”称为精度。示例如表4-6所示。
% m . n h/l 格式字符 ↓ ↓ ↓ ↓ ↓ ↓ [开始符] [标志字符] [宽度指示符] [精度指示符] [长度修正符] [格式转换字符] 说明:
⑴格式字符:格式字符用来表示输出数据的类型,在格式控制字符串不能略,其常用符号和含义参见表4-3。
表4-3 printf格式字符
【例4-3】 输出形式举例
main( )
{int num=123;
long num2=1234567;
float real=123.4567;
printf(“%d,%6d,%-6d,%2d\n”,num1,num1,num1,num1);
格式字符 说明 d,i 以带符号的十进制形式输出整数(正数不输出符号) o 以八进制无符号形式输出整数(不输出前导符0) x,X 以十六进制无符号形式输出整数(不输出前导符0x),用x则输出十六进制数的a~f时以小写形式输出;用X时,则以大写字母输出 u 以无符号十进制形式输出整数 c 以字符形式输出,只输出一个字符 s 输出字符串 f 以小数形式输出单、双精度数,隐含输出6位小数。 e,E 以指数“e”或“E”形式输出实数。(如1.2e+02或1.2E+02) g,G 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0。用G时,若以指数形式输出,则指数以大写表示 ⑵标志字符:标志字符包括-、+、#三种,具体含义参见表4-4。
如:printf(“hello”);
printf(“The area is :%f”,area);
4.2.2转义字符的使用
C语言中允许使用一种特殊形式的字符常量,就以一个“\”开头的字符序列,称为转义字符。常用的转义字符参见表4-2。
表4-2 转义字符
printf(“%c\t%c\t%c\n”,a,b,c); /* 每输出一个字符跳到下一输出区 */
printf(“%c\n%c\n%c\n”,a,b,c); /* 每输出一个字符后换行 */
}
运行结果如下:
new
n□□□□□□□e□□□□□□□w “□”代表空格,下同
main( )
{char a,b,c;
a=’n’;
b=’e’;
c=’\167’; /* 8进制数167代表的字符w */
printf(“%c%c%c\n”,a,b,c); /* 以字符格式输出 */
4.1.2 表达式语句
由一个表达式构成一个语句,称为表达式语句。表达式语句由表达式加上分号“;”组成。一般形式为:
ห้องสมุดไป่ตู้ 表达式;
表达式语句可分为赋值语句、函数调用语句、空语句三种基本类型。
1.赋值语句
赋值语句由赋值表达式后跟一个分号组成。
例如:a=3; 是一个赋值语句。
printf(“%ld,%8ld,%4ld\n”,num2,num2,num2);
printf(“%f,%10f,%10.2f,%-10.2f\n”,real,real,real,real);
printf(“%s,%10.5s,%-10.5s\n”,”student”,”student”,”student”)
4.1 C语言语句
4.1.1 控制语句
完成一定功能的语句称为控制语句。C语言有9种控制语句,参见表4-1。
表4-1 C语言的控制语句
语句 名称 if( )~else~ 条件语句 for( )~ 循环语句 while( )~ 循环语句 do ~while( ) 循环语句 continue 结束本次循环语句 break 中止执行switc或循环语句 switch 多分支选择语句 goto 转向语句 return 从函数返回语句 上面9种语句的括号()表示其中是一个条件,~表示内嵌的语句。
表4-6 示例程序
输出语句 输出结果 printf(“%.5d\n”,888); 00888(数字前补0) printf(“%.0d\n”,888); 888 printf(“%8.3f\n”,888.88); □888.880 printf(“%8.1f\n”,888.88); □□□888.9 printf(“%8.0f\n”,888.88); □□□□□889 printf(“%.5s\n”,”abcdefg”); abcde(截去超过的部分) printf(“%5s\n”,”abcdefg”); abcdef(宽度不够,按实际宽度输出) ⑸ 长度修正符:常用的长度修改符为h和l两种,h表示输出项按短整型输出,l表示输出项按长整型输出。
2.函数调用语句
函数调用语句由函数调用表达式后跟一个分号组成。
例如:printf(“This is a C statement.”);是由标准输出函数printf构成的函数调用语句。
3.空语句
空语句是只有一个分号而没有表达式的语句。其形式为:
;
它不产生任何操作运算,只用为形式上的语句,被填充到控制结构中。
printf(“%-6d\n”,111);
输出结果为:
□□□111 (输出右对齐,左边填空格)
111□□□ (输出左对齐,右边填空格)
例如,语句printf(“%+d,%+d\n”,111,-111);
输出结果为:
+111,-111
字符形式 含 义 ASCII代码 \n 换行,将当前位置移到下一行开头 10 \t 横向跳格(即跳到下一个输出区,一个输出区占8列) 9 \b 退格,将当前位置移到前一列 8 \r Enter,将当前位置移到本行开头 13 \f 换页,将当前位置多到下页开头 12 \\ 反斜杠字符“、” 92 \’ 单引号字符 39 \” 双引号字符 34 \ddd 1到3位8进制数所代表的字符 \xhh 1到2位16进制数所代表的字符 【例4-1】 转义字符的使用
第4章 顺序结构程序设计
进行计算机程序设计时,通常采用三种不同的程序结构,即顺序结构、选择结构和循环结构。其中顺序结构是一种最基本、最简单的程序结构。本章介绍C语言的各类语句,包括控制语句、表达式语句等;格式输入函数printf和格式输入函数scanf等函数的一般形式和格式说明;算法及常用的算法表示方法。
}
程序运行结果为:
ch1=a,ch2=b
ch1=97,ch2=98
在Turbo C中,printf函数输出表列中的求值顺序是从右到左进行的。
4.2.4 格式字符串
在Turbo C中printf函数格式字符串一般形式为:
}
输出结果如下:
123,□□□123,123□□□,123
1234567,□1234567,1234567
123.456700,123.456700,□□□□123.46,123.46□□□□
student,□□□□□stude,stude□□□□□
printf函数称为格式输出函数,其功能是按用户指定的格式,把指定的数据输出到标准输出设备上。
4.2.1 printf函数的一般形式
printf函数是一个标准库函数,它的函数原型包含在标准输入输出头文件“stdio.h”中,printf函数的一般形式为:
printf(”格式控制”,输出表列)
a=3□b=4
【例4-2】 示例程序
main( )
{char ch1=’a’,ch2=’b’;
printf(“ch1=%c,ch2=%c\n”,ch1,ch2);
printf(“ch1=%d,ch2=%d\n”,ch1,ch2);
4.3 scanf函数
4.3.1 scanf函数的一般形式
scanf函数是一个标准输入函数,与printf函数一样,它的函数原型也包含在标准输入输出头文件“stdio.h”中。scanf函数的一般形式为:
4.1.3特殊语句
C语言中还包括一些其他语句,如复合语句等。
把多个语句用花括号{}括起来组成的语句称复合语句。在程序中可以把复合语句看成是一条语句,而不是多条语句。
例如:
{x=y+z;
a=b+c;
printf(“%d %d”,x,a);
}
例如,以下程序
main( )
{int a=3,b=4;
printf(“a=%d□b=%d\n”,a,b);
}
在上面printf语句中,“%d”是格式说明(格式说明总是以“%”开头),“a=”、“□”、“b=”为普通字符,按原样输出,“\n”为转义字符,即Enter换行,使下次输出在下一行的开始处。上例的输出结果为: