C语言程序设计 第四章 顺序程序设计.

Slides:



Advertisements
Similar presentations
第6章 基本的程序语句 6.1 基本数据类型及取值范围 6.2 标识符、变量和常量 6.3 基本运算符、表达式及运算的优先级
Advertisements

C语言程序设计 主讲教师 :张群燕 电话:
课前回顾 数据类型 基本类型 构造类型 指针类型 空类型 常量与变量 常量及常量的类型 变量 标识符及有关规定 变量声明格式 赋值运算符.
C语言实验 第一课 标题:学号+姓名.
第三讲 数据输入与输出 数据输出 数据输入.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第四章 顺序结构程序设计.
第三章 结构化程序设计.
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
EBNF 请用扩展的 BNF 描述 C语言里语句的结构; 请用扩展的 BNF 描述 C++语言里类声明的结构;
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
C语言高级编程(第四部分) 字符串 北京大学 信息科学技术学院.
数据类型 第3章 3.1 C数据类型概述 3.2 常量 3.3 变量 3.4 基本输入与输出.
基础篇 基础知识 —C语言程序设计 学习目标 掌握C语言中三种常见的基本类型及其使用方法 掌握常见的算术运算符和表达式的使用
走进编程 程序的顺序结构(二).
QQ: 李祥 QQ: 欢迎多种方式的学习交流,祝大家学有所成.
C语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第三单元 数据的输入、赋值处理与输出 从现在开始,将详细讲述C语言的方方面面。第一章中的所有疑惑,都将一一消灭。
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C语言程序设计基础 刘新国.
C程序设计 第三章 简单的c程序——顺序结构
第二章 Java语言基础.
第2章 数据类型、运算符和表达式.
程序设计基础 谭浩强 著 清华大学出版社.
C卓越工程师班 授课老师:龚涛 信息科学与技术学院 2016年9月 教材:《C程序员成长攻略》 网络课程网址:
C语言大学实用教程 第三章 简单的C程序设计 西南财经大学经济信息工程学院 刘家芬
第三章 顺序结构程序设计 主讲教师 贾月乐 电话:
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
目录 3.1结构化程序设计 3.2传统流程图及N-S结构化流程图 3.3C语句概述 3.4赋值语句 3.5数据输入输出函数调用语句
3 数据类型、运算符 和表达式.
第二章 数据类型、运算符与表达式.
第4章 顺序程序设计.
第三章 C程序设计初步 3.1 结构化程序设计思想 3.2 C语句概述 3.3 赋值语句 3.4 文件包含 3.5 流和文件初步
第一章 函数与极限.
第三章 顺序结构程序设计 计算机科学学院.
第4章 PHP流程控制语句.
1.3 C语言的语句和关键字 一、C语言的语句 与其它高级语言一样,C语言也是利用函数体中的可执行 语句,向计算机系统发出操作命令。按照语句功能或构成的不 同,可将C语言的语句分为五类。 goto, return.
C语言概述 第一章.
第1讲 C语言基础 要求: (1) C程序的组成 (2) C语言的标识符是如何定义的。 (3) C语言有哪些基本数据类型?各种基本数
C语言程序设计.
C程序设计.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
第4章 Excel电子表格制作软件 4.4 函数(一).
C语言程序设计 李祥 QQ:
<编程达人入门课程> 本节内容 为什么要使用变量? 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第九节 赋值运算符和赋值表达式.
第二章 类型、对象、运算符和表达式.
第二章 基本数据类型 ——数据的表示.
C++语言程序设计 C++语言程序设计 第六章 指针和引用 第十一组 C++语言程序设计.
2.6 字符型数据 一、 字符常量 1、字符常量的定义 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。
第4章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 4.1 格式化输出——printf()函数 4.2 格式化输入——scanf()函数.
C程序设计 实验二 数据类型、运算符和表达式 第6讲
第3章 最简单的C程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.3 C语句 3.4 数据的输入输出.
第3章 顺序结构程序设计 为了让计算机处理各种数据,首先就应该把源数据输入到计算机中;计算机处理结束后,再将目标数据信息以人能够识别的方式输出。C语言中的输入输出操作,是由C语言编译系统提供的库函数来实现。 3.1 格式化输出——printf()函数 3.2 格式化输入——scanf()函数.
程序设计基础A(C语言) 第一章 C语言概述 主讲教师: 许 康
Chap 6 数据类型和表达式 6.1 数据的存储和基本数据类型 6.2 常量和变量 6.3 数据的输入和输出 6.4 类型转换
复习 标签(label)、文本框(text)控件 按钮:点击事件
C++语言程序设计 C++语言程序设计 第一章 C++语言概述 第十一组 C++语言程序设计.
C++语言程序设计 C++语言程序设计 第九章 类的特殊成员 第十一组 C++语言程序设计.
基本知识 数据类型、变量、常量、运算符.
数据表示 第 2 讲.
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
第三章 流程控制 程序的运行流程 选择结构语句 循环结构语句 主讲:李祥 时间:2015年10月.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
Presentation transcript:

C语言程序设计 第四章 顺序程序设计

主要内容 4.1 C语句概述 4.2 赋值语句 4.3 字符数据的输入输出 4.4 格式输入与输出 4.5 顺序结构程序设计举例

4.1 C语句概述 一个c程序由若干个源程序文件组成 一个源文件由若干个函数和预处理命令以及全局变量声明部分组成 一个函数由函数首部和函数体组成 函数体由数据声明和执行语句组成 C语句分为: 控制语句 函数调用语句 表达式语句 空语句 复合语句

4.1 C语句概述 控制语句 用于完成某种控制功能。分为: If-else: 条件语句 for: 循环语句 while: 循环语句 do-while:循环语句 continue:继续语句 break: 间断语句 switch: 开关语句 goto: 转向语句 return: 返回语句

4.1 C语句概述 函数调用语句:由一个函数调用加一个分号构成一个语句 printf (“This is a C statement.”); 表达式语句:由一个表达式加一个分号构成一个语句 a = 3.14159 * r * r ; 空语句:只有一个分号的语句 ; 用来做流程的转向点 用来作为循环语句中的循环体 复合语句 用一对{}括起来的语句 { z=x+y; t=z/100; printf(“%f”,t); }

4.2 赋值语句 赋值语句由赋值表达式加分号构成。例: a=100 赋值表达式 a=100; 赋值语句 条件中不能含有赋值符号,但是赋值表达式可以包含于条件表达式中: if (a=b) t=a; // 错误 if ((a=b)>0) t=a; // 正确 该语句的含义是:先将b的值赋予a,若a的值大于0,则将a的值赋予t。 请注意赋值表达式和赋值语句的差别 红色部分是一个条件

4.3 字符数据的输入输出 字符输出函数 一般形式:putchar(c) 其中:c是一个字符型变量 函数作用:向终端输出一个字符 例4.1 输出单个字符。 #include<stdio.h> void main() { char a,b,c; a=‘B’;b=‘O’;c=‘Y’; putchar(a);putchar(b);putchar(c);putchar(‘\n’); } 运行结果:B O Y

4.3 字符数据的输入输出 字符输入函数 一般形式:getchar() 函数作用:从系统隐含指定的输入设备输入一个字符。 函数值:从输入设备得到的字符。 例4.2 输入单个字符。 #include<stdio.h> void main() { char c; c=getchar(); putchar(c); putchar(‘\n’); } 运行程序: 从键盘输入字符‘a’ 按Enter键 屏幕上将显示输出的字符‘a’ a a

4.4 格式输入与输出 格式输出函数 函数作用:向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 使用格式:printf(格式控制,输出表列) 格式控制 %d: 以带符号的十进制形式输出整数 %o: 以八进制无符号形式输出整数 %x: 以十六进制无符号形式输出整数 %u: 以无符号十进制形式输出整数 %c: 以字符形式输出一个字符 %s: 输出字符串 %f: 以小数形式输出单,双精度数,隐含输出六位小数 %e: 以指数形式输出实数 %g: 选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0

4.4 格式输入与输出 几种常见的格式符的修饰符: L:用于长整型整数,可加在格式符d,o,x,u前面 M(代表一个正整数):数据最小宽度 N(代表一个正整数):对实数,表示输出n位小数;对字符串,表示截取的字符个数 —:输出的数字或字符在域内向左靠

4.4 格式输入与输出 d格式符 用来输出十进制整数。有几种用法: %d:按十进制整型数据的实际长度输出。 %md:m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 例:若a=123,d=12345。则 printf(″%4d,%4d″,a,b); 输出结果为: 123,12345 %ld:输出长整型数据。 例: long a=135790;/* 定义a为长整型变量*/ printf(″%ld″,a);

4.4 格式输入与输出 o格式符 以八进制整数形式输出。 输出的数值不带符号,符号位也一起作为八进制数的一部分输出。 例: int a=-1; printf("%d,%o",a,a); -1在内存单元中的存放形式(以补码形式存放)如下: 1111111111111111 输出为: -1,177777 不会输出带负号的八进制整数。对长整数(long型)可以 用“%lo”格式输出。还可以指定字段宽度, 例:printf("%8o",a); 输出为: 177777。 (数字前有2个空格)

4.4 格式输入与输出 x格式符 以十六进制数形式输出整数。同样不会出现负的十六进制数。 例:int a= -1; printf(″%x,%o,%d″,a,a,a); 输出结果为: ffff,177777,-1 可以用“%lx”输出长整型数,也可以指定输出字段的宽度 例: “%12x”

4.4 格式输入与输出 u格式符:用于输出unsigned型数据. 有符号整数(int型)也可以用%u格式输出; unsigned型数据也可以用%d格式输出。 unsigned型数据也可用%o或%x格式输出。 c格式符:用于输出一个字符。如: char d=′a′; printf(″%c″,d); 输出字符′a′. 在0~255范围内的整数,可以用“%c”使之按字符形式输出,在输出前,系统会将该整数作为ASCII码转换成相应的字符;一个字符数据也可以用整数形式输出。

4.4 格式输入与输出 例4.3 无符号数据的输出。 #include<stdio.h> void main() { unsigned int a=65535;int b=-2; printf(“a=%d,%o,%x,%u\n”,a,a,a,a); printf(“b=%d,%o,%x,%u\n”,b,b,b,b); } 运行结果: a=-1,177777,ffff,65535 b=-2,177776,fffe,65534

指定输出字数的宽度, printf(“%3c”,c); 则输出: ■■a 4.4 格式输入与输出 例4.4 字符数据的输出。 #include<stdio.h> void main() { char c=‘a’; int i=97; printf(“%c,%d\n”,c,c); printf(“%c,%d\n”,i,i); } 指定输出字数的宽度, printf(“%3c”,c); 则输出: ■■a 运行结果: a,97 a,97

4.4 格式输入与输出 s格式符 输出字符串。 %s。例如: printf(″%s″,″CHINA″) 输出字符串“CHINA”(不包括双引号)。 %ms,输出的字符串占m列,若串长大于m,则全部输出,若串长小于m,则左补空格。 %-ms,若串长小于m,字符串向左靠,右补空格。 %m.ns,输出占m列,只取字符串中左端n个字符,输出在m列的右侧,左补空格。 %-m.ns,n个字符输出在m列的左侧,右补空格,若n〉m,m自动取n值。

4.4 格式输入与输出 例4.5字符串的输出。 #include<stdio.h> void main() { printf(“%3s,%7.2s,%.4s,%-5.3s\n”, “CHINA”, “CHINA”, “CHINA”, “CHINA”); } 运行结果: CHINA,■■■■■CH ,CHIN,CHI■■

4.4 格式输入与输出 f格式符 用来以小数形式输出实数(包括单双精度)。有以下几种用法: %f。不指定字段宽度,由系统自动指定字段宽度,使整数部分全部输出,并输出6位小数。应当注意,在输出的数字中并非全部数字都是有效数字。单精度实数的有效位数一般为7位。 %m.nf。指定输出的数据共占m列,其中有n位小数。如果数值长度小于m,则左端补空格。 %-m.nf与%m.nf基本相同,只是使输出的数值向左端靠,右端补空格。

4.4 格式输入与输出 例4.6 输出实数时的有效位数。 #include <stdio.h> void main( ) { float x,y;    x = 111111.111;y = 222222.222;    printf (“%f”,x + y); } 运行结果: 333333.328125

4.4 格式输入与输出 例4.7输出双精度数时的有效位数。 #include <stdio.h> void main( ) { double x,y; x=1111111111111.111111111; y=2222222222222.222222222; printf(“%f”,x+y); } 运行结果: 3333333333333.333010

4.4 格式输入与输出 例4.8 输出实数时指定小数位数。 #include <stdio.h> void main ( )   { float f=123.456; printf(“%f%10f%10.2f%.2f%-10.2f\n”,f,f,f,f,f); } 运行结果: 123.455994 123.455994 123.46 123.46 123.46

4.4 格式输入与输出 e格式符 以指数形式输出实数。可用以下形式: %e。不指定输出数据所占的宽度和数字部分的小数位数. 例:printf(″%e″,123.456) 输出: 1.234560 e+002 6列 5列 所输出的实数共占13列宽度。(注:不同系统的规定略有不同)

4.4 格式输入与输出 %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 ■1.23e+002 13列 13列 10列 9列 10列

4.4 格式输入与输出 说明 未指定n,自动使n=6. 超过给定的10列,乃突破10列的限制,按实际长度输出。 第3个数据共占10列,小数部分占2列。 只指定n=2,未指定m,自动使m等于数据应占的长度。 第5个数据应占10列,数值只有9列,由于是“%-10.2e”, 数值向左靠,右补一个空格。 (注:有的C系统的输出格式与此略有不同)

4.4 格式输入与输出 g格式符 用来输出实数。它根据数值的大小,自动选f格式或e格式(选择输出时占宽度较小的一种),且不输出无意义的零。 例:若f=123.468,则 printf (″%f %e %g″,f,f,f); 输出如下: 123.468000 1.234680e+002 ■■■123.468 10列 13列 10列 说明 用%f格式输出占10列,用%e格式输出占13列,用%g格式时,自动从上面两种格式中选择短者(今以%f格式为短)故占10列,并按%f格式用小数形式输出,最后3个小数位为无意义的0,不输出,因此输出123.468,然后右补3个空格。%g格式用得较少。

4.4 格式输入与输出 说明: 除了X,E,G外,其他各式字符必须用小写。 可以在printf函数中的“格式控制”字符串中包含转义字符。 一个格式说明必须以“%”开头,以9个格式字符之一为结束,中间可以插入附加格式字符。 想输出%,则应该在格式控制字符串中用连续两个%表示

4.4 格式输入与输出 格式输入函数 函数作用:按照变量在内存的地址将变量值存进去。 一般格式:scanf(格式控制,地址表列) 格式控制 同printf函数 格式控制 是变量的地址,或字符串的首地址 地址表列

4.4 格式输入与输出 a在内存中的地址 &是地址运算符 例4.9 用scanf函数输入数据。 #include<stdio.h> void main() { int a,b,c; scanf(“%d %d %d”, &a, &b, &c); printf(“%d,%d,%d\n”, a, b, c); } a在内存中的地址 &是地址运算符 运行情况: 3 4 5 (输入a,b,c的值) 3,4,5 (输出a,b,c的值)

4.4 格式输入与输出 说明: 对unsigned型变量所需要的数据,可以用%u,%d或%o,%x格式输入。 可以指定输入数据所占的列数,系统自动按它截取所需数据。 如果在%后有一个“*”附加说明符,表示本输入项在读入后不赋给相应的变量。 输入数据时不能规定精度。

4.4 格式输入与输出 使用scanf函数时应注意的问题 : scanf函数中的“格式控制”后面应当是变量地址,而不应是变量名。 如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时在对应位置应输入与这些字符相同的字符。 在用“%c”格式输入字符时,空格字符和“转义字符”都作为有效字符输入。 在输入数据时,遇以下情况时认为该数据结束。 ① 遇空格,或按“回车”或“跳格”(Tab)键; ② 按指定的宽度结束,如“%3d”,只取3列; ③ 遇非法输入。

4.5 顺序结构程序设计举例 例4.10 输入三角形的三边长,求三角形面积。假设:三个边长a,b,c能构成三角形。已知面积公式: area = sqrt ( s * ( s-a ) * ( s-b ) * ( s-c )); 其中:s = ( a + b + c ) / 2 开始 输入边长 计算s、面积 输出面积 结束

4.5 顺序结构程序设计举例 数学函数库 因为要用到其中的sqrt函数 #include<stdio.h> #include<math.h> void main() { float a, b, c, s, area; scanf(“%f, %f, %f, &a, &b, &c); s = 1.0 / 2.0 * ( a + b + c ); area = sqrt ( s * ( s-a ) * ( s-b ) * ( s-c )); printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2f\n”,a,b,c,s); printf(“area=%7.2f\n”, area);} 数学函数库 因为要用到其中的sqrt函数 运行情况: 3,4,6 a = 3.00, b = 4.00, c = 6.00, s = 6.50 area= 5.33

4.5 顺序结构程序设计举例 例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); } 运行情况: A↙ A,65 a,97

本章作业 P88 4.4, 4.5, 4.6, 4.7, 4.8, 4.9