第三讲 数据输入与输出 数据输出 数据输入.

Slides:



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

C语言实验 第一课 标题:学号+姓名.
C++中的声音处理 在传统Turbo C环境中,如果想用C语言控制电脑发声,可以用Sound函数。在VC6.6环境中如果想控制电脑发声则采用Beep函数。原型为: Beep(频率,持续时间) , 单位毫秒 暂停程序执行使用Sleep函数 Sleep(持续时间), 单位毫秒 引用这两个函数时,必须包含头文件
第4章 选择结构程序设计 在现实生活中,需要进行判断和选择的情况是很多的 如果你在家,我去拜访你 如果考试不及格,要补考
第四章 顺序结构程序设计.
第三章 结构化程序设计.
第3章 顺序结构程序设计 本章要点: 格式化输出函数──printf() 格式输入函数——scanf() 字符输出函数——putchar()
第4章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.3关系运算符和关系表达式
第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语言是结构化程序设计语言,提供了功能丰富的控制语句,本章开始陆续介绍C语言的控制语句:顺序结构、选择结构和循环结构。本章主要介绍三种结构化设计的基本概念,格式输入输出函数printf()和scanf(),字符输入输出函数putchar()和getchar()等内容,要求重点掌握顺序结构设计的基本思想及程序编写方法,熟练掌握常见输入、输出库函数的调用。
第一单元 初识C程序与C程序开发平台搭建 ---观其大略
第二章 顺序结构 1 数据类型和标识符、常量与变量 2 运算符和表达式 3 简单的输入输出 4 程序举例.
第四章 C 语言中的输入和输出.
第二章 基本数据类型与输入输出.
第三单元 数据的输入、赋值处理与输出 从现在开始,将详细讲述C语言的方方面面。第一章中的所有疑惑,都将一一消灭。
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
C语言程序设计基础 刘新国.
C程序设计 第三章 简单的c程序——顺序结构
第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 数据类型、运算符 和表达式.
2.1 C语言的数据类型 2.2 常量与变量 2.3 变量赋初值 2.4 各类数值型数据间的混合运算 2.5 C语言的运算符和表达式
第4章 顺序程序设计.
第三章 顺序结构程序设计 计算机科学学院.
C语言概述 第一章.
C语言程序设计.
第3章 變數、算術運算、 數學函數及輸入輸出.
C程序设计.
C语言程序设计 教案 崔武子制作
<编程达人入门课程> 本节内容 内存的使用 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ: QQ交流群: ,
C语言程序设计 第一章 数据类型, 运算符与表达式 第二章 顺序程序设计 第三章 选择结构程序设计 第四章 循环控制 第五章 数组.
浙江长征职业技术学院—计算机与信息技术系—相方莉制作
輸出與輸入(I/O).
第六章 Excel的应用 一、Excel的单元格与区域 1、单元格:H8, D7, IV26等 2、区域:H2..D8, HS98:IT77
第4章 Excel电子表格制作软件 4.4 函数(一).
C语言程序设计 李祥 QQ:
C++程式設計入門 變數與運算子 作者:黃建庭.
第九节 赋值运算符和赋值表达式.
第2章 数据类型、运算符与表达式 本章要点: 基本数据类型 常量和变量 算术运算符和算术表达式 关系运算符和关系表达式
第2章 基本数据及其运算 本章学习的目标: 1、掌握基本数据的各种表示,基本数据常数的书写方法;
第二章 类型、对象、运算符和表达式.
第2章 数据类型与表达式 学习目的与要求: 掌握C 语言的基本数据类型及使用方法 掌握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)控件 按钮:点击事件
基本知识 数据类型、变量、常量、运算符.
数据表示 第 2 讲.
第二章 数据类型、运算符和表达式 §2.1 数据与数据类型 §2.2 常量、变量和标准函数 §2.3 基本运算符及其表达式 目 录 上一章
C/C++基礎程式設計班 C語言入門、變數、基本處理與輸入輸出 講師:林業峻 CSIE, NTU 3/7, 2015.
<编程达人入门课程> 本节内容 有符号数与无符号数 视频提供:昆山爱达人信息技术有限公司 官网地址: 联系QQ:
C语言基础学习 从外行到入门.
第二章 简单数据类型 §2.1 数据类型概述 §2.2 变量和常量 §2.3 简单数据类型 §2.4 简单数据类型的相互转换
学习目标 1、什么是列类型 2、列类型之数值类型.
C++语言程序设计 C++语言程序设计 第二章 基本数据类型与表达式 第十一组 C++语言程序设计.
Presentation transcript:

第三讲 数据输入与输出 数据输出 数据输入

3.1 数据输出 C语言无I/O语句,I/O操作由函数实现 #include <stdio.h> 字符输出函数 格式: putchar( c ) 参数: c为字符常量、变量或表达式 功能:C提供的标准字符输出函数,在屏幕上输出一 个字符,无自动换行功能 返值:正常,为显示的代码值;出错,为EOF(-1)

格式输出函数 输出表:要输出的数据(可以没有,多个时以“,”分隔) 格式控制串:格式编辑符 + 原样输出字符串(转义字符) 格式:printf(“格式控制串”,输出表) 功能:按指定格式向显示器输出数据 返值:正常,返回输出字节数;出错,返回EOF(-1) 输出表:要输出的数据(可以没有,多个时以“,”分隔) 格式控制串:格式编辑符 + 原样输出字符串(转义字符) 格式编辑符:%[格式修饰]格式字符 格式修饰:输出值宽度,小数位数,何类型输出 包括:标志,类型修饰,输出最小宽度,精度等

若x=1.2973 实型数据输出的例子printf(“f=%4.2f”,x); 原样输出字符:x= 格式编辑:%4.2f 格式修饰:4.2(带小数点一共输出4位) 格式字符:f 数据输出结果:1.30

格式字符与输出项个数应相同,按先后顺序一一对应 输出转换:格式字符与输出项类型不一致,自动按指定格式输出 d,i x,X o u c s e,E f g %% 十六进制无符号整数 不带符号十进制整数 十进制整数 指数形式浮点小数 单一字符 字符串 八进制无符号整数 小数形式浮点小数 e和f中较短一种 百分号本身 格式字符 int a=567;printf ( “%d”,a); 567 ff int a=255;printf(“%x”,a); 101 int a=65;printf(“%o”,a); 567 int a=567;printf(“%u”,a); A char a=65;printf(“%c”,a); ABC printf(“%s”,“ABC”); 5.677890e+02 float a=567.789;printf(“%e”,a); 567.789000 float a=567.789;printf(“%f”,a); 567.789 float a=567.789;printf(“%g”,a); % printf(“%%”); 说明 格式字符要用小写 格式字符与输出项个数应相同,按先后顺序一一对应 输出转换:格式字符与输出项类型不一致,自动按指定格式输出

附加格式说明符(修饰符):修饰符必须和格式字符一起使用才有意义 功 能 m 输出数据域宽,数据长度<m,左补空格;否则按实际输出 对实数,指定小数点后位数(四舍五入) .n 对字符串,指定实际输出位数 - 输出数据在域内左对齐(缺省右对齐) 指定在有符号数的正数前显示正号(+) + *输出数值时指定左面不使用的空位置自动填0 # *在八进制和十六进制数前显示前导0,0x 在d,o,x,u前,指定输出精度为long型 在e,f,g前,指定输出精度为double型 l

不同格式的输出实例 1/%d 按整型数据实际长度输出 例: int a=6 printf("%d",a); %md m为指定输出字段宽度,如果数据位数小于M左补空格,如果 数据位数量大于M,则按照实际位数输出 例: int a=123,b=12345; printf("%4d,%4d",b,a) - 12345, 123 %ld 输出长整型数据 例: long a=1234567 printf("%ld",a); 2/%o 以8进制数形式输出整数 3/%x 以16进制形式输出整数 例: int a=-1; printf("%d,%o,%x",a,a,a) -1,177777,ffff; 4/%u 用来输出unsigned类型数据,以十进制输出 例: int b=-2; printf("%u",b); 65534 5/c格式符,用来输出一个字符. 例: char c='a' printf("%3c",c);

6/s格式符 用来输出一个字符串 %s 输出字符串 如字符串本身长度大于m,则突破M的限制,将字符串 全部输出 %ms输出字符串占M列,若串长小于m,则左补空格 (右对齐) %-ms若字符串小于m,则在m列范围内,字符串向左靠,右补空格 (右对齐) %m.ns 输出占m列,只取得字符串左面n个字符,这n个字符输出在m列右侧,左 补空格. %-m.s m.s 输出占m列,只取得字符串左面n个字符,这n个字符输出在m列左侧, 右补空格. 例: printf("%s,%7.2s,%.4s,%-5.3s\n","china","china","china","china") china,-----ch,chin,chi--

7/f格式符 %f: 将整数部分输出,然后再输出6个小数,float有效位数为7位,double 为14位 %m.nf :指定输出数据占 m列,其中有n位小数,如果数值长度小于m,则左端补空格 小数点占一位,在输出小数的时候进行四舍五入,如果位数不够按实际长度输出 %-m.nf与m.nf基本相同,只是使输出的数值向左端靠,右端补空格 小数点占一位,在输出小数的时候进行四舍五入,如果位数不够按实际长度输出 f=123.456 输出时有存储误差 printf("%f %10f %10.2f %.2f %-10.2f\n",f,f,f,f,f) 123.456001--123.456001------123.46--123.46--123.46---- 8/e格式符用指数形式输出实数 系统自动给出6位小数,指数部分占5位,e占一位,指数符号1位(+),指数3位 printf("%e",123.456) 1.234560+002

3.2 数据输入 字符输入函数 运行结果: Enter a character:A A--->hex41 格式:getchar( ) 3.2 数据输入 字符输入函数 格式:getchar( ) 功能:从键盘读一字符 返值:正常,返回读取的代码值;出错,返回EOF(-1) 例 /*ch3_4.c*/ #include <stdio.h> main() { int c; printf("Enter a character:"); c=getchar(); printf("%c--->hex%x\n",c,c); } 运行结果: Enter a character:A A--->hex41

格式输入函数 格式: scanf(“格式控制串”,地址表) 功能:按指定格式从键盘读入数据,存入地址表 指定的存储单元中,并按回车键结束 返值:正常,返回输入数据个数 地址表:变量的地址,前加取地址运算符& 格式字符串:[格式修饰]格式字符+原样输入 格式字符:d,i,o,x,u,c,s,f,e 例 scanf(“%d”,&a); 输入:10  则 a=10 例 scanf(“%x”,&a); 输入:11  则 a=17

输入分隔符的指定(原样输入字符) 例 scanf(“%d%o%x”,&a,&b,&c); 一般以空格、TAB或回车键作为分隔符 其它字符做分隔符:格式串中两个格式符间字符 例 scanf(“%d%o%x”,&a,&b,&c); printf(“a=%d,b=%d,c=%d\n”,a,b,c); 输入 123 123 123 输出 a=123,b=83,c=291 例 scanf(“%d:%d:%d”,&h,&m,&s); 输入 12:30:45 则12 h, 30 m, 45 s 例 scanf(“%d,%d”,&a,&b) 输入 3,4  则3a, 4 b 例 scanf(“a=%d,b=%d,c=%d”,&a,&b,&c); 输入 a=12,b=24,c=36 

如 scanf(“%c%c%c”,&c1,&c2,&c3); 若输入abc 则ac1,  c2, b c3 说明: 输入数据时,遇以下情况认为该项数据结束: 遇空格、TAB、或回车 遇宽度结束 遇非法输入 如 scanf(“%c%c%c”,&c1,&c2,&c3); 若输入abc 则ac1,  c2, b c3 阅读程序test6.cpp进一步理解键盘缓冲区 驱除键盘缓冲区对数据输入干扰的解决方法: (1)用getchar()清除 (2)用函数flushall(stdin)清除全部剩余内容 (3) 用格式串中空格或“%*c”来“吃掉” 例 int x; char ch; scanf(“%d”,&x); scanf(“ %c”,&ch); 或 scanf(“%*c%c”,&ch); 关于键盘缓冲区: 如 scanf(“%d%c%f”,&a,&b,&c); 若输入1234a123o.26  则 1234 a, ‘a’ b, 123 c 例 int x; char ch; scanf(“%d”,&x); ch=getchar(); printf(“x=%d,ch=%d\n”,x,ch); 执行:123 输出:x=123,ch=10 说明:ch=10为换行 例 int x; char ch; scanf(“%d”,&x); scanf(“%c”,&ch); printf(“x=%d,ch=%d\n”,x,ch); 执行:123 输出:x=123,ch=10 说明:ch=10为换行

flushall清空键盘缓冲区,必须使用stdio.h头文件调用 #include<stdio.h> main() {char a; a=getchar();/*hello*/ putchar(a); a=getchar(); printf("%3c",a); flushall(); scanf("%c",&a);/*hello*/ putchar(a); scanf("%c",&a); }

注意点: 1.% 对应变量的地址 (字符串输入) char s[5] scanf("%s",s) 1.% 对应变量的地址 (字符串输入) char s[5] scanf("%s",s) 原样输入字符:格式控制中给出的字符需要原样输入 输入的数据格式,类型必须与格式控制中一致 2. 不可出现 scanf("%5.2f",f) 5.2是输入精度代表总为5位,小数点后2位, 输入时就要保证该精度,并非原样输入字符 scan("%\nf",f) 解释键盘输入原理,回车是输入结束标识

2.5 语句 程序流程的控制指令就是‘语句’,在C语言中由main函数开始顺序分步执行。 C语句以“;”作分隔符,编译后产生机器指令 2.5 语句 程序流程的控制指令就是‘语句’,在C语言中由main函数开始顺序分步执行。 C语句以“;”作分隔符,编译后产生机器指令 程序的基本结构 预定义(#include,#define等) main() { 定义变量; 算法; 结果输出或保存; }

输入:A  输出:A,65 a,97 例 从键盘输入大写字母,用小写字母输出 /*ch3_13.c*/ 例 从键盘输入大写字母,用小写字母输出 /*ch3_13.c*/ #include "stdio.h" 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

例 输入三角形边长,求面积 文件包含预处理命令 变量定义 输入数据 输出数据 输入:3,4,6  例 输入三角形边长,求面积 /*ch3_12.c*/ #include <math.h> #include <stdio.h> main() { float a,b,c,s,area; 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, s=%7.2f\n",a,b,c,s); printf("area=%7.2f\n",area); } 文件包含预处理命令 变量定义 输入数据 输出数据 输入:3,4,6  输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33

作业 练习 p54-p58