第三章-简单程序设计word版本
第3章 简单程序设计PPT教学课件
2020/12/10
14
(3) 类型修饰 长整数:%ld、 %lo 、 %lx 无符号长整数:%lu
2020/12/10
15
(4) 对%u格式的说明
%u格式: 用于输出十进制无符号整数.但是如果被输出
的数据是有符号数,则把符号位看做数据的一部 分.
例 printf("%u", -3);
若字符串的实际长度大于m,则按 实际宽度输出。 若字符串的实际长度小于m,则右对齐输出。
n :规定了实际输出的字符个数。
字符串实际长度小于n 时,n不起作用。 字符串实际长度大于n 时,输出字符串前n个字符。
例 printf("%3s,%5s\n", "abc","abc"); printf("%5.2s,%.4s\n","abc","abc");
➢ 由“\”后跟一个特定的字母组成,常用来输出某 些特殊字符和不可显示字符。
2020/12/10
\n —— 输出回车换行 \t ——光标右移到下一个制表位(每8列为一个
制表位)
\" ——输出双引号(") \\ ——输出反斜杠(\) \ddd —— \后跟1~3位八进制数。该八进制数为要
表示字符的ASCII码值。 \xhh ——\x后跟1~2位十六进制数。该十六进制数
整数部分按实际位数输出,小数部分保留6位
%c
输出一个char型数据
%s
输出字符串
%u
输出十进制无符号整数
%o
输出八进制无符号整数
%x 或 %X 输出十六进制无符号整数
%e 或 %E 按指数格式输出浮点数
《C语言程序设计》第3章 简单的C程序设计
说明: 说明:
1. 赋值符“=” 右边的表达式可以又是一个赋 赋值符“ 值表达式 例如: 例如:a=b=c=5; 相当于 c=5; b=c; a=b; 2. 注意变量说明中给变量赋初值和赋值语句的 区别。 区别。 int a=3,b=4,c=5; a=3;b=4;c=5; 相当于 int a,b,c; 3. 在变量说明中,不允许连续给多个变量赋初 在变量说明中, 值。 如下述说明是错误的: ; 如下述说明是错误的:int a=b=c=5;
3.2 赋值语句
赋值语句一般形式为: 变量=表达式 表达式; 赋值语句一般形式为: 变量 表达式 功能:将赋值运算符右侧“表达式” 功能:将赋值运算符右侧“表达式”的值赋给 左侧的变量。例如,以下均为赋值表达式: 左侧的变量。例如,以下均为赋值表达式: x=3 (x的值为 的值为3) 的值为 y=z=-1(等价于 等价于y=(z=-1),y和z的值都为 的值都为-1) 等价于 , 和 的值都为 a=(b=10)/(a=2) (b的值为 ,a的值为 的值为10, 的值为 的值为5) 的值为 y=(7+6)%5/3 (y的值为 的值为1) 的值为 若在赋值表达式后面加上“ 若在赋值表达式后面加上“;”,则构成赋值 语句. 语句
本章重点: 本章重点:
格式输入/输出函数( 格式输入 输出函数( scanf() /printf())的使用 输出函数 )
本章难点: 本章难点:
数据输出格式控制符的使用
3.1 C语句概述 语句概述
一个大型 程序的结构 一个大型C程序的结构
C语句分为以下五类: 语句分为以下五类: 语句分为以下五类
4. 注意赋值表达式和赋值语句的区别。赋值表 注意赋值表达式和赋值语句的区别。 达式是一种表达式, 达式是一种表达式,可以出现在任何允许表 达式出现的地方,而赋值语句则不能。 达式出现的地方,而赋值语句则不能。 合法的: 合法的: a=(x=y+5)+6; 非法的: 非法的: a=(x=y+5;)+6; 5. 语句中的“=”称为赋值号,它不同于数学中 语句中的“ 称为赋值号 称为赋值号, 的等号 例如: A=A+1在数学中是不成立 例如: 在数学中是不成立 语言中: 的,在C语言中: 语言中 x 6 5 5+1
第3章简单的C程序设计ppt课件
2020/12/29
C语言大学实用教程课件 制作人苏小红
6
空语句
空语句有什么作用? – 什么也不做,只表示语句的存在 – 自顶向下程序设计时用在那些未完成的模块中
main()
DataInitialze()
{
{
DataInitialze();
;
DataProcess();
}
DataOutput();
2020/12/29
C语言大学实用教程课件 制作人苏小红
ቤተ መጻሕፍቲ ባይዱ
9
格式输出函数
格式输出函数 – printf(格式控制字符串, 输出项表列); – 输出若干个任意类型的数据
printf("a=%d b=%f", a, b);
函数名
普通 字符
输 格式说明 出
表
列
2020/12/29
C语言大学实用教程课件 制作人苏小红
格式输入函数
输入数据时,遇以下情况时该数据认为结束 – 遇空格、回车、TAB 键 – 遇宽度 :%3d – 遇非法输入
2020/12/29
C语言大学实用教程课件 制作人苏小红
18
例3.9
#include <stdio.h> main() {
int a, b;
printf("Please input a and b:"); scanf("%2d%*2d%2d", &a, &b); printf("a=%d, b=%d, a+b=%d\n",a,b,a+b); }
问题1:当要求程序输出结果为 a = 12, b = 34
第三章 汇编语言程序设计
第3章 汇编语言程序设计 章
3.2 汇编语言源程序的格式
பைடு நூலகம்
名字: 名字:变量和标号
变量名 段名 过程名:指示性语句中的名字.内存单元的名 变量名/段名 过程名:指示性语句中的名字. 段名/过程名
定义. BUF DB ? 字,由DB/DW/DD定义. 由 定义 变量的三种属性: 变量的三种属性: 段值 SEG 偏移量 OFFSET 类型 BYTE/WORD/DWORD 标号:指令性语句中的名字.指令存放单元的符号地址. 标号:指令性语句中的名字.指令存放单元的符号地址. LOOPER: MOV AL,DATA[SI] 标号的三种属性: 标号的三种属性: 段值 SEG 偏移量 OFFSET 类型 NEAR/FAR 对于汇编程序来说,变量和标号都是存储单元的符号地址. 注:对于汇编程序来说,变量和标号都是存储单元的符号地址. 只是标号对应的存储单元中存放的是指令, 只是标号对应的存储单元中存放的是指令,而变量所对应的 存储单元存放的是数据. 存储单元存放的是数据.
令和数据. 令和数据. 汇编语言(Assenbly Lauguage):用助记符来编写 汇编语言( Lauguage): 指令,地址和数据也可用符号表示. 指令,地址和数据也可用符号表示.用汇编语言 编写的程序必须翻译成机器语言目标程序( 编写的程序必须翻译成机器语言目标程序(或目 标代码)才能执行,这种翻译过程称为汇编 汇编. 标代码)才能执行,这种翻译过程称为汇编. 高级语言:不针对某个具体的计算机,通用性强. :不针对某个具体的计算机,通用性强. 但高级语言编写的源程序同样必须"翻译" 但高级语言编写的源程序同样必须"翻译"成机 器语言,计算机才能执行, 器语言,计算机才能执行,所用的系统软件称为 编译程序或解释程序. 编译程序或解释程序.
C++语言程序设计第3章
优先级和结合性:
先乘除,后加减,同级自左至右。
Page 20
3.3.1 算术运算符和表达式
例: float f = 3.5; int n = 6; long k = 21; double ss = f*n + k/2;
Page 21
3.3.2 自加自减运算符和表达式
运算符 ++ ++ ---
名字 增量(前缀) 增量(后缀) 减量(前缀) 减量(后缀)
▪ 字符数据在内存中的存储形式 - 以ASCII码存储,占1字节,用7个二进制位
Page 14
3.2.2 变量和常量—字符型数据
▪ 字符串常量
例:"CHINA" "a" 'a'
C H I N A \0 a \0 a
所以:char c;
c="a";
Page 15
3.2.2 变量和常量—布尔型数据
▪ 布尔型变量的说明: 例:bool flag;
Union
Unsigned
Class
Const_cast Delete
Friend Public Try Asm Except
Inline
Mutable
Reinterpret_c ast
Typeid
Typename
Namespac e
Static_cast
New Template
Using
Virtual
▪ 布尔型数据的取值: 只有 false 和 true 两个值
▪ 整型数与布尔变量的转换: - 非0整数隐式转换成true,整数0隐式转
换成false; - true转换成1, false转换成0;
《C语言程序设计》第3章简单的C程序设计
输出函数
使用printf()函数将结果输出到屏幕上。
3
格式化字符串
通过占位符指定输出的格式,如%d表示整数。
C语言提供了丰富的语法和库函数,使得程序设计更加灵活和可控。
C程序设计环境搭建
选择代码编辑器
选择一款适合您的操作系统的代 码编辑器,如Visual Studio Code或Sublime Text。
安装编译器
安装适合您操作系统的C编译器, 如GCC或Visual C++。
配置终端
配置终端以运行C程序,如 Windows上的CMD或Linux上的 终端。
变量定义
使用数据类型声明变量,并为其分配内存空间。
命名规则
变量名由字母、数字和下划线组成,不能以数字开 头。
常量的定义和使用
使用常量
常量是固定的值,可以直接在程 序中使用。
常见常量
如整数常量、浮点数常量或字符 常量。
常量表达式
常量也可以作为表达式的一部分。
输入和输出
1
输入函数
使用scanf()函数从用户获取输入。
《C语言程序设计》第3 章简单的C程序设计
介绍C语言程序设计,包括特点和优势,搭建C程序设计环境,并演示第一个 C程序:"Hello World!"
什么是C语言程序设计
基础语言
C语言是一种通用、强大的编程语言,具有广泛的应用领域。
高效性能
使用C语言进行程序设计可以获得高效的执行速度和卓越的性能。
灵活性
第一个C程序: Hello World!
写一个简单的C程序,打印出“Hello World!”,作为开始学习C语言程序设计的 第一步。
C程序中的注释
计算机二级C语言课件第3章最简单的C程序设计1-改
例3.2
解题思路:确定计算本息和的公式。
从数学知识可知:若存款额为p0,则: 活期存款一年后本息和为:
p1=p0(1+r1) 一年期定期存款,一年后本息和为:
p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
p3 = p0(1+ r3)(1+ r3 ) 22
例3.2
#include <stdio.h> int main ( )
一个字符变量在内存中占一个字节。
字符数据在内存中的存储形式及其使用方法
将一个字符常量放到一个字符变量中,, 而是将该字符的相应的ASCII代码放到存 储单元中。例如字符‘a’的ASCII代码为 97,‘b’为98,在内存中变量c1、c2的值如图
(a)所示。实际上是以二进制形式存放的,如 图(b)所示。P48
[signed ] int unsigned int
注意: 取值范围 举例P47
例:
#include<stdio.h>
void main( )
运行结果:
{int a,b,c,d;
a十u=22,b+u=-14
unsigned u;
a=12;b=-24;u=10;
c=a+u;d=b+u;
printf(“a+u=%d ,b+u=%d”,c,d);
字符常量
• 定义:用单引号括起来的单个普通字符或转义字符.
• 字符常量如的值‘:a’该字‘A符’ 的‘?’ASC‘I\nI’码值‘\101’
• 转转义义字字如符符:反及‘‘斜其A0’’线含——后义——面:6458跟P,4,一0表‘‘个\n3a字’.’——1符——或190一7,个代码值表示
《简单程序设计》课件
特点
程序从上到下,依次执行。
示例
计算一个数的加法。
选择结构
选择结构
根据条件判断,选择执行不同的代码块。
示例
判断一个数是否为偶数。
特点
根据条件判断结果,选择执行不同的代码路径 。
循环结构
循环结构
01
重复执行一段代码,直到满足某个条件为止。
特点
02
重复执行一段代码,直到满足某个条件。
程序设计语言
程序设计语言是用于编写程序的计算机语言,它提供了编程 的语法、语义和指令,使程序员能够与计算机进行交互。
常见的程序设计语言包括C、C、Java、Python等,每种语 言都有其特点和适用场景。
程序设计的步骤
设计算法
根据问题分析的结果,设计解 决问题的算法,确定数据结构 和计算过程。
测试运行
对程序进行测试,检查程序是 否能够正确运行并实现预期结 果。
分析问题
对问题进行深入分析,明确问 题的需求和目标,确定输入和 输出。
编写程序代码
使用编程语言将算法实现为程 序代码,并进行语法和逻辑的 调试。
维护优化
对程序进行必要的维护和优化 ,以提高程序的性能和可读性 。
02
程序控制结构
顺序结构
顺序结构
数组与集合
一维数组
具有相同数据类型的元素的有序集合,可以通过索引访问元素。
多维数组
由多个一维数组组成,可以表示二维、三维等更高维度的数据结构 。
集合
无序的元素集合,可以包含重复元素。
04
函数与过程
函数的定义与调用
函数的定义
函数是执行特定任务的代码块,具有 输入和输出功能。它具有明确的输入 参数和返回值。
C语言程序设计-第三章-简单程序设计PPT课件
常量可以直接书写在程序中,称为字面常量。
程序
#include <stdio.h> void main() {
printf(“%f\n”, 2.7183); }
打印出2.7183
C程序设计 第三章 简单程序设计主讲:高利军
3
第三章 简单程序设计
本章介绍最简单的C程序,包括
• 变量 • 表达式 • 赋值 • 输入输出
第1
第一部分
整体概述
THE FIRST PART OF THE OVERALL OVERVIEW, PLEASE SUMMARIZE THE CONTENT
3.1 常量及常量定义
在程序执行期间不变的数据称为常量 。
按上述语法规则,一个变量声明的形式如下: T id , id =初值, ... , id ;
C程序设计 第三章 简单程序设计主讲:高利军
7
其中: 1. 每个 id 是一个标识符,是由该变量声明引进的变量。
也是相应变量的名字;也可以直接给变量赋初值。
2. T 是类型,可以是任何一种类型符,包括已经学过的: 各种浮点类型、 各种整数类型、 字符类型、 布尔类型、 枚举类型,
c:
PS
C程序设计 第三章 简单程序设计主讲:高利军
10
3.2.4 变量地址
在C程序中,经常使用一个变量的存储区及其地址。因此 C 给出一个运算符
& 该运算符是一个单目运算符,把它缀在一个变量前,求相应 变量的内存地址。例如对于本节开始的变量 v 而言,运算
&v 将得到 v 的地址 0F000 。
声明:
i、j、k、t 为 int 型变量; c 为 char 型变量; amount、total为float型变量; flag 为 bool 型变量; color 为一个枚举型变量。
第3章 简单程序设计
(1)printf("I am a student.\n"); (2)printf("%d",3+2); (3)printf("a=%f b=%5d\n", a, a+3); 必须强调:“格式字符串”中的格式指示符,必须与“输出项表”中、输出 项的数据类型一致,否则会引起输出错误。
main( )
{float f=123.456;
double d1,d2;
d1=1111111111111.111111111;
d2=2222222222222.222222222;
printf("%f,%12f,%12.2f,%-12.2f,%.2f\n",f,f,f,f,f);
printf("d1+d2=%f\n",d1+d2);
所谓无符号形式是指,不论正数还是负数,系统一律当作 无符号整数来输出。例如,printf("%d,%o,%x\n",-1,-1,-1);
第15页,共40页。
2.类型转换字符f──以小数形式、按系统默认的宽度,输出单精度和双精度实数。
[案例3.3] 类型转换字符f的使用。 /*案例代码文件名:AL3_3.C。*/
}
[程序演示]
程序运行结果如下:
Internet,Internet,Internet□□,□□□□□Inter,Inter□□□□□,Inter
注意:系统输出字符和字符串时,不输出单引号和双引号。
第19页,共40页。
3.1.3 使用说明 (1)printf()可以输出常量、变量和表达式的值。但格式控制中的格式说 明符,必须按从左到右的顺序,与输出项表中的每个数据一一对应,否则出错。 例如,printf("str=%s, f=%d, i=%f\n", "Internet", 1.0 / 2.0, 3 + 5, "CHINA");是错误的。
(完整word版)c语言电子教案
《程序设计基础》教案
第一章程序设计和C语言
第三章最简单的C程序设计-——顺序程序设计
第三章最简单的C程序设计---顺序程序设计
第三章最简单的C程序设计——-顺序程序设计
第三章最简单的C程序设计---顺序程序设计
第三章最简单的C程序设计--—顺序程序设计
第三章最简单的C程序设计—-—顺序程序设计
第四章选择结构程序设计
第五章循环结构程序设计
第五章循环结构程序设计
第六章利用数组处理批量数据
第六章利用数组处理批量数据
第六章利用数组处理批量数据
第六章利用数组处理批量数据
第六章利用数组处理批量数据
第六章利用数组处理批量数据
第七章用函数实现模块化程序设计
第七章用函数实现模块化程序设计
第七章用函数实现模块化程序设计
第七章用函数实现模块化程序设计
第七章用函数实现模块化程序设计
第七章用函数实现模块化程序设计
第七章用函数实现模块化程序设计
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第八章善于利用指针
第九章用户自己建立数据类型
第九章用户自己建立数据类型
第九章用户自己建立数据类型
第九章用户自己建立数据类型。
《C语言程序设计》第3章最简单的C程序设计
3.2.1 常量和变量
3.常变量: 在定义变量时,如果加上关键字const,则变量 的值在程序运行期间不能改变。 定义形式: const 类型 常量标识符 = 常量值
例:
const int a=3; const double PI = 3.14159;
21
3.2.1 常量和变量
4.标识符:一个对象的名字 大小写字母是不同的字符 C语言规定标识符只能由字母、数字和下划线3 种字符组成,且第一个字符必须为字母或下划线
4
3.1顺序程序设计举例
#include <stdio.h> int main ( ) 输出 { float f,c; scanf("%f",&f); c=(5.0/9)*(f-32); printf("f=%f\nc=%f\n",f,c); return 0; }
5
输入
3.2 数据的表现形式及其运算
3.2.1 常量和变量-练习
下面正确的字符常量是( C)
A) "c" B) "\\"
合法
C) 'W'
D) '\'
'\t'
下面不正确的字符串常量是( A )
A) 'abc ' B) "12'12"
C) "0"
D) " "
14
3.2.1 常量和变量-练习
写出下面C程序的运行结果 #include <stdio.h> int main ( ) {
3.2.1 常量和变量
3.2.2 数据类型
mKw第3章简单程序设计
输入格式符
格式符 %d %c %s
输入内容 十进制整数 单个字符 以非空白开始,以空白结束的字串,并将其送到字符数组中
%f
以小数或指数形式输入浮点数
%e
%x
十六进制数
附加的格式字符(放在%和字符之间)
l
用于长型数(%ld,%lo,%lx,%lu)或双精度数(%lf,%le)
float x=234.5,y=18.75,c; a=105; b=-3; c=x+y; d='k'; printf(“ a=%8d b=%-8d \n c=%8.3f
x=%-8.2f y=%-8.2f \n d=%3c\n",a,b,c,x,y,d); } 运行该程序,输出结果如下:
a=•□□□□□105□b=- 3• c=•□253.250□x=234.50•□□□y=18.75•
▪ 在使用C语言库中的函数时,要用预编译命令
“ #include” 说 明 该 函 数 所 在 的 位 置 ( 即 指 出 “ 头 文 件”).
例如:使用标准输入输出库函数时,要用到“stdio.h” 文件,在源文件开头应有:
7 #include <stdio.h> 或 #include “stdio.h”
area s(s a)(s b)(s c 其中: s=(a+b+c)/2 a,b,c为三角形的三边长
20
程序如下(c308.c):
#include <math.h>
#include <stdio,h>
void main()
{
float a,b,c,s,area; /*说明变量*/
printf(“请输入 a,b,c:”); /*显示提示信息*/
第3章_基本程序设计-1(周)
18
25 27
if (t < 18) printf("t=%f\tLower weight!\n", t); else if (t < 25) printf("t=%f\tStandard weight!\n", t); else if (t < 27) printf("t=%f\tHigher weight!\n", t); else printf("t=%f\tToo fat!\n", t); }
23
(4)for 语句的循环体还可为另一个循环语句
例如: for(i=1;i<=2;i++) for(j=1;j<=2;j++) { printf(“%3d”,i+j); printf(“\n”); } output: 2 3 3 4
24
do-while语句
do{
语句; } while(表达式); 功能:先执行循环体,然后计算表达式值, 其值若为真(非0)则继续执行循环体,直 到表达式为假时为止。
循环嵌套结构规划
外循环 入口
内循环
内循环出口
交叉循环
外循环出口
内循环出口
外循环
循环嵌套
1 2 3 4 5 6 7 8 9 -------------------------------------1 2 4 3 6 9 4 8 12 16 5 10 15 20 25 6 12 18 24 30 36 7 14 21 28 35 42 49 8 16 24 32 40 48 56 64 9 18 27 36 45 54 63 72 81
scanf("%d",&i);
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章简单程序设计3.1 流程结构和语句1 . 三种流程结构顺序结构,选择结构,循环结构——程序在逻辑上执行的流程。
●顺序结构:按语句在源程序中出现的次序依次执行;●选择结构:根据一定的条件有选择地执行或不执行某些语句。
●循环结构:在一定条件下重复执行相同的语句。
所有的流程控制都是由语句实现的,且任何一个表达式都可作为一个语句使用,成之为表达式语句2. 表达式语句任何表达式通过在其末尾加一个“;”,可使表达式成为一个语句,形式为:表达式;其中“;”是C语句的组成部分,表示一个语句结束。
表达式语句能够独立出现在程序中,而表达式则不能独立出现。
例如:x=y+1 是表达式x=y+1;是语句习惯上把赋值表达式语句如:x=y+1;新为赋值语句。
函数调用也是表达式,因此:printf(“hellow”)是表达式;printf(“hellow”);是语句,习惯上称为输出语句。
scanf(“%d%d”,&x,&y);函数调用表达式语句(输入语句)3. C的语句概述C的一个“说明”也必须以分号结束,也称为语句,因此C的语句分说明语句和执行语句两类。
说明语句可以出现在程序中任何块(函数或复合语句)的外面——称为外部说明或块内——称为局部说明(在执行语句的前面)。
外部说明必须放在一个源程序文件中所有函数定义的外面;局部说明包括类型定义、变量和函数说明,其作用是描述程序中被处理数据(变量或函数)的名称和类型供解释程序使用。
执行语句只能出现在函数体内且处于局部说明的后面,执行语句完成对数据的处理和对程序流程的控制。
常用的程序结构为:常量说明类型说明变量说明/*外部说明*/返回类型函数名(参数表){ 变量说明/*局部说明*/执行语句}C的执行语句共有六种:●表达式语句●复合语句●标号语句●选择语句(if和switch)●循环语句(while,for,do-while)●转移语句(break,continue,goto,return)3.2标准的文件输入与输出函数一个C的源程序要能够从外部设备(文件)输入数据并将执行(或处理)的结果输出到外部设备上。
C语言的输入和输出操作是通过调用C标准函数库中的函数来实现的,标准函数库是由C编译程序提供的。
以编译后的目标代码形式存储的函数的集合。
用户程序可根据需要按规定的格式调用其中的函数来完成相应的功能。
C语言中从标准输入和输出文件(设备)中进行读(写)的四个标准函数是:格式输出函数printf、格式输入函数scanf、字符输入函数getchar和字符输出函数putchar。
其他函数以后讲。
3.2.1字符输入和输出函数1.字符输入函数getchar函数原型为:int getchar(void)其中int说明函数的返回值的类型,void说明函数没有参数,该函数的调用格式为:getchar()系统将输出设备和输入设备都看成文件,标准输入设备(键盘)和标准输出设备(显示器)是由字符的序列(字符流)组成的文本文件,称为输入流和输出流。
getchar每调用一次则从终端(键盘)读取一个字符。
这个字符的字符码就是getchar 的返回值(即函数值),其类型为由unsigned char 转换的int。
例如:c=getchar();执行时键入字符a赋值后变量c的值为97即字符‘a’的值。
输入文件的结束标志称为文件尾。
DOS系统中键入ctrl+z时产生文件结束标志。
getchar遇到文件结束标志时返回值EOF,EOF是在头文件〈stdio.h〉中定义的符号常量,其值通常为-1。
程序中如果要测试getchar()的值是否文件尾应使用EOF而不用-1,这样做可使程序不依赖于某个特定环境。
2.字符输出函数putchar函数原型为:int putchar(char ch )putchar函数将所要输出的字符码转换为unsigned char送到标准输出设备中去,返回值是被输出的字符,如果出错则返回EOF,调用形式为:putchar(ch)其中ch为实际参数,可以是char、short或int类型的表达式,其值是要被输出字符的字符码。
每调用一次则将字符c输出到标准输出设备上。
例如:int i=7;char ch;说明:(1)下面四个语句是等价的,同为输出一个响铃字符:putchar(i);putchar(7);putchar(‘\07’);putchar(‘\a’);(2)下面三个语句分别输出字符a,3和换行putchar(‘a”);putchar(‘3’);putchar(‘\n’);注:putchar(3) 输出是♥而不是整数3。
(3)putchar(((c=getchar())>=’a’&&c<=’z’)?c-‘a’+’A’:c);该语句先输入一个字符存入变量c,如果c是小写字母则将其转换成大写字母后输出,否则直接输出原字符。
注意:凡是程序中调用了输入、输出库函数,必须在函数第一次调用之前写上#include<stdio.h>或#include“stdio.h”,预处理控制(对于DOS上的scanf和printf 可省略)。
3.2.2格式输出函数(printf)getchar和putchar函数用于输入和输出单个字符,输入和输出过程中不进行格式上的任何转换。
printf和scanf函数在数据的输入和输出过程中能够将计算机内部形式的数据和输入输出任务上的数据相互转换,称为格式输出和格式输入。
1.printf函数的原型int printf(char format,args)参数的数目可变,中间用“,”分隔,是要被转换并写到输出设备的数据。
函数的返回值是实际输出字符的数目。
2.调用形式printf(格式字符串,输出参数1,输出参数2,……,);调用printf函数时至少要给出第一个参数,即格式字符串。
格式字符串式是用“”括起来的字符串;输出参数1,…输出参数n是n个表达式,可以为任何基本类型,也可以是指针或枚举类型(较少使用)。
输出数据项的数目任意,末尾加“;”表示printf函数通常作为语句使用。
printf函数将参数的值按格式字符串规定的格式从内部形式转换成外部字符形式并输出设备,返回值是实际输出字符的数目。
例如:printf("%d%8.3f",i,x);参数中的格式为"%d %8.3f"。
i和x是要输出的数据%d表示i要用十进制整数形式输出,宽度为数据实际宽度。
%8.3f表示x要用小数形式浮点数格式输出,输出总宽度为8个字符,其中小数部分保留3位,若i=15,X=-8.2 该语句输出为15 -8.2003. 格式字符串格式字符串包含两种字符:普通字符和用于转换说明的字符,普通字符照原样输出,转换说明用于说明数据输出格式。
其形式为:%[域宽]转换字符一个转换说明以%开头。
域宽部分是可选的,用于指定输出数据的宽度。
每个转换说明对应于一个输出参数,该参数被转换成由转换说明规定的数据格式后输出。
普通字符通常用作输出提示信息,它可以与转换说明交替出现,例如printf("i=%d,x=%8.3f\n",i,x);输出为:i=15,x= -8.200ANSI C的转换字符及其规定的输出格式见教材p44。
注:如果%后面是一个%字符,则标准C无此定义,将它作为普通字符输出。
在%和转换字符之间可以加域宽说明,用于指定输出时的对齐方向、输出数据的域宽度、小数部分的位数等要求。
用于域宽说明的字符列于下表中,域宽说明可以是其中之一或多个字符的组合。
在域宽说明中还可以使用字符*,*代表一个整型值,这个整型值是由包含*的转换说明对应的参数决定的。
例如:printf("%.*s",max,s);该语句执行时从串s中打印至多max个字符。
域宽说明示例见教材p45注意(1):printf函数根据格式串中的转换说明来决定输出数据的数目和类型,如果转换说明项数多于参数个数,或参数类型不正确,则会输出错误的数据(不报语法错);如果输出参数的数目多于转换说明项数则多余的参数不被输出。
例. Printf(“%d%d,%d”,3,4);结果为:%d,3例:int i=-6;double x=5.7,y=123.4567;printf("%-4d,%g",i,y,x);输出形式为:-6 ,123.457(2)printf中参数右结合,如设int i=1;则 printf("%d,%d,%d",++i,++i,++i);输出结果为4,3,2printf("%d,%d,%d",i++,i++,i++);输出结果为3,2,13.2.2 格式输入函数(scanf)1. scanf函数的原型int scanf(char *format,args)scanf函数是具有int类型返回值(返回读入参数的个数)的函数。
第一个参数format是格式字符串,它指出输入数据的数目、类型和格式,args为指向存放输入数据的变量的指针,输入参数的数目可变。
2. scanf函数的调用格式scanf(格式字符串,输入参数1,…输入参数n);scanf函数是printf函数的逆过程,它从标准输入设备(键盘)读入字符流,并按照格式字符串中转换字符规定的格式转换成相应类型的值后赋予由输入参数所指的变量。
format串可以包含如下字符:(1)空格或制表符,它们被忽略(2)非%普通字符,它需要输入流中有同样的非空白字符与之匹配(3)以%为开头以转换字符为结尾的转换说明符,常见的转换字符与printf类似(4)在%与转换字符之间可以有下列选项·赋值抑制符*·说明最大域宽的整数·指出参数所指变量类型的字母 h,l或L具体形式为:用d、o、x 指定)、字符型(char *,用c指定)、实型(float *,用f,e指定)。
在整型和实型中可再加长度修正说明符:加h(短整型)、加l(长整型)、加L(高精度型)、m(注意没有n)用以指定输入数据的宽度。
输入参数1至输入参数n可以为简单变量的地址或字符串变量的地址,简单变量的地址用变量前面加取地址运算符&表示,字符串变量的地址用字符数组名(或指向字符串变量的指针)表示。
scanf函数被正确执行时返回被转换并赋值的数据项的数目,遇到文件尾或出错时返回EOF。
例如:int i;float x;char name[10];scanf("%d %f %s",&i,&x,name);输入:25 61.37e-1program注意:⏹输入字符串时不加双引号,因双引号也会作为字符号的内容。