第3章_简单的C程序设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2016/2/29 HIT-C Programming
12/44
printf Function - Float

Format for float: %f General format:
%[<最小域宽> . <小数位数>]f
Example:
printf(“Value is:%10.4f”, 32.6784728);
19/44
n l L -
2016/2/29 HIT-C Programming
格式输入函数

格式
scanf(格式控制字符串, 地址表列);
scanf("%d,%f”, &a, &b);
2016/2/29 HIT-C Programming
20/44
scanf格式字符
c s d f e o x 以字符形式输入单个字符 输入字符串,以非空字符开始,遇第一个 空白字符结束 以带符号十进制形式输入整型数据 以小数形式输入浮点数 以标准指数形式输入 以八进制无符号形式输入(无前导0) 以十六进制无符号形式输入(无前导0x)
output
2016/2/29 HIT-C Programming
2/44
顺序结构程序的基本操作

输入数据 – 从标准输入设备上输入数据到计算机内存

输出数据 – 将计算机内存中的数据送到标准输出设备
通过调用标准库函数来实现
#include <stdio.h>
在由TC指定的文件目录中找该文件

2016/2/29 HIT-C Programming
scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b);
} 问题3:语句scanf("%d %d", &a, &b);修改为 scanf("a = %d, b = %d", &a, &b); 时,用户应该如何输入数据?
2016/2/29 HIT-C Programming 28/44
输入数据的格式控制——例3.10
#include <stdio.h> main() { int a, b; %2d%2d scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b); } 问题4:限定用户输入数据为以下格式为 1234↙ 同时要求程序输出结果为a = 12, b = 34
第3章 简单的C程序设计
哈尔滨工业大学 计算机科学与技术学院 苏小红 sxh@hit.edu.cn
本章学习内容



字符输入函数getchar() 字符输出函数putchar() 格式输出函数printf() 格式输入函数scanf() Skill: – Develop a program to read/capture input and display
Key-in a character and a number: m103
Character: m _ Number: 103
char
? m
num 103 ?
_
2016/2/29 HIT-C Programming 22/44
scanf Function
#include <stdio.h>
day
main( ) month { int day, month, year; scanf(“%d %d %d”, &day, &month, &year); year printf(“Day: %d, Month: %d, Year: %d”, day, month, year); }
3/44
字符输入输出函数

字符输出函数 – putchar(ch) – 输出一个字符ch 字符输入函数 – getchar() – 无参数 – 函数值为从输入设备接收的字符

2016/2/29 HIT-C Programming
4/44
例3.2
#include main() { char <stdio.h>
10 characters
2016/2/29 HIT-C Programming
15/44
printf Function - Float
Example:
printf(“Value is:%5f”, 32.6784728);
6 digits (default)
Value is:32.678473
9 characters
4 digits Value is: 32.6785 10 characters
2016/2/29 HIT-C Programming 13/44
printf Function - Float
Example:
printf(“Value is:%10f”, 32.6784728);
6 digits (default)
2016/2/29 HIT-C Programming 25/44
输入数据的格式控制——例3.10
#include <stdio.h> main() { int a, b;
12 34↙
scanf("%d %d", &a, &b); printf("a = %d, b = %d\n", a, b);
Min 5 characters
2016/2/29 HIT-C Programming
16/44
printf Function - Float
Example:
printf(“Value is:%.3f”, 32.6784728);
3 digits
Value is:32.678
2016/2/29 HIT-C Programming
} 问题1:当要求程序输出结果为 a = 12, b = 34 时,用户应该如何输入数据?
2016/2/29 HIT-C Programming 26/44
输入数据的格式控制——例3.10
#include <stdio.h> main() { int a, b;
scanf("%d ,%d", &a, &b); printf("a = %d, b = %d\n", a, b);
Value is: 32.678473
10 characters
2016/2/29 HIT-C Programming
14/44
printf Function - Float
Example:
printf(“Value is:%10.5f”, 32.6784);
5 digits
Value is: 32.67840
16 12 2005 Day: 16, Month: 12, Year: 2005_
2016/2/29 HIT-C Programming
16 ?
12 ห้องสมุดไป่ตู้ 2005 ?
23/44
scanf附加格式说明符
m l L h * 表示数据占用的宽度 加在d、o、x、u前:输入长整型 加在f、e 前:输入双精度型 加在f、e 前:输入long double型 加在d、o、x 前:输入短整型 本输入项在读入后不赋给相应的变量
2016/2/29 HIT-C Programming
11/44
printf Function - String
Example:
printf( “Name: %s\nStudent No: %s”, “Ali Bakar”,
“A92333”);
Name: Ali Bakar Student No: A92333_
21/44
2016/2/29 HIT-C Programming
scanf Function
Example:
printf(“Key-in a character and a number: “); scanf(“%c%d”, &char, &num); printf(“Character: %c\n”, char); printf(“Number: %d\n”, num);
Ali is 21 years old and his height is 1.73000 meters _
2016/2/29 HIT-C Programming 18/44
printf附加格式说明符
m 表示数据占用的最小宽度 数据宽度大于m,按实际宽度输出 数据宽度小于m时,补空格 对实数表示输出n位小数 对字符串表示最多输出的字符个数 长整型整数,加在d、o、x、u前 long double型数,加在f、e、g前 改变输出内容的对齐方式 缺省为右对齐
2016/2/29 HIT-C Programming
10/44
printf Function - String
Example:
printf( “Name: %s\nStudent No: %s”, “Ali Bakar”,
“A92333”);
Output format
Name: Ali Bakar Student No: A92333_
7/44
2016/2/29 HIT-C Programming
printf Function - Character
Format for character: %c
Example:
printf(“%c %c %c”, „U‟, „K‟, „M‟);
U K M_
2016/2/29 HIT-C Programming
运行程序
Press a key and then press Enter: A↙ You pressed A
ch;
printf("Press a key and then press Enter:");
ch = getchar(); printf("You pressed "); putchar(ch); putchar('\n');
2016/2/29 HIT-C Programming
24/44
例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); } Please input a and b: 123456↙ a=12, b=56, a+b = 68
格式 说明
可选输 出表列
可以输出若干任意类型的数据
6/44
printf格式字符
%c %s %d %f %e %g %o %x %u character以字符形式输出单个字符 string 输出一个字符串 decimal 以带符号十进制整数输出 float 以小数形式输出浮点数(6位小数) exponent 以标准指数形式输出(6位小数) 选用%f,%e中输出宽度较小的一种格式 octal 以八进制无符号整数输出(无前导0) hex 以十六进制无符号整数输出(无前导0x) unsigned 以十进制无符号整数输出
} 问题2:当限定用户输入数据以逗号为分隔符,即输入数据 格式为: 12,34↙ 时,应修改程序中的哪条语句?怎样修改?
2016/2/29 HIT-C Programming 27/44
输入数据的格式控制——例3.10
#include <stdio.h> main() { int a, b;
a = 12, b = 34↙
8/44
printf Function - Character
Example:
printf(“%c%c%c”, „U‟, „K‟, „M‟);
UKM_
2016/2/29 HIT-C Programming
9/44
printf Function - Character
Example:
char1 U char1 = „U‟; char2 = „K‟; char2 K ? char3 = „M‟; char3 M ? printf(“%c %c %c”, char1, char2, char3); U K M_
}
What does this statment mean?
2016/2/29 HIT-C Programming 5/44
格式输出函数

格式
printf(格式控制字符串, 输出项表列); printf("a=%d b=%f", a, b); 函数名
普通 字符

2016/2/29 HIT-C Programming
17/44
printf Function - Float
Example:
#include <stdio.h> age 21 ? main( ) { height 1.73 int age; ? float height; age = 21; height = 1.73; printf(“Ali is %d years old and his height is %.5f meters\n”, age, height); }
相关文档
最新文档