四章节最简单C程序设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
2020/4/30
13
d 格式符
• 功能 以带符号的十进制形式输出整数。
• 具体用法
– %d:按照整型数据的实际长度输出。 – %md:以m指定的字段宽度输出,右对齐。 – %ld:输出长整型数据。 – %mld:输出指定宽度的长整型数据。
• 程序范例
2020/4/30
14
2020/4/30
15
– 格式输入函数scanf() – 字符输入函数getchar()
2020/4/30
7
字符输出函数putchar
• 一般形式: putchar(c);
• 功能:输出变量c所代表的一个字符。 • 说明:
– c为字符型变量或整型变量。 – 使用时必须在程序开始处注明:
#include <stdio.h>
多数据。 • 说明:
– “格式控制” 部分同sprintf函数。 – “地址表”由地址组成,表明每个输入项应
在存储单元的首地址,如&a。 –执行输入操作时,用户应使用空格或回车
等相应分隔符间隔不同数据。
2020/4/30
30
『例4.9』scanf函数使用。
main() { int a,b; scanf("%d%d",&a,&b); printf("%d\n",a*b); } 运行情况:
2020/4/30
8
『例4.1』putchar使用。
#include <stdio.h>
main()
{
OK
char a,b,c;
a='O';b='K';c='\n';
putchar(a);putchar(b);putchar(c);
}
2020/4/30
9
格式输出函数printf
• 一般形式:printf(格式控制,输出表); • 功能:按照指定格式输出指定数据。 • 举例:
1111 1111 1111 1110(反码)
1111 1111 1111 1111(补码)
2020/4/30
17
2020/4/30
18Baidu Nhomakorabea
u 格式符
• 功能:以无符号的十进制形式输出整数。
• 说明:
– 有符号数可用“%u”格式输出;
– 无符号数可用“%d”、“%o”、“%x”格式输 出。
• 举例: int i=-1; printf(“%d,%u”,i,i);
23 45 1035
2020/4/30
如果引号部分变 为“%d ,%d”, 在输入数据时也必
须写成“23, 45”
31
scanf函数说明:
• scanf函数中不使用“%u”。
• 格式说明中指定输入数据的宽度时,系统自动 按需要截取所需数据。
• scanf函数不能规定输入数据的精度。
• 在程序执行过程中输入数据时,以下情况认为 数据结束:
b=5;
c=a*b;
printf(“a*b=%d\n”,c);
}
2020/4/30
12
格式说明符简介
%d--以带符号的十进制形式输出整数 %o--以无符号的八进制形式输出整数 %x--以无符号的十六进制形式输出整数 %u--以无符号的十进制形式输出整数 %c--以字符形式输出单个字符 %s--输出字符串 %f--以小数点形式输出单、双精度实数 %e--以标准指数形式输出单、双精度实数 %g--选用输出宽度较小的格式输出实数
– 复合语句在功能上相当于一条语句。 – 最后一个分号的位置不在花括号外。 – 复合语句多出现在函数及流程控制语句中。
2020/4/30
6
数据的输入、输出
• C程序中的输入输出通过函数调用完成。 • 数据输出库函数
– 字符输出函数putchar() – 格式输出函数printf()
• 数据输入库函数
2020/4/30
1
2020/4/30
2
C语句的种类
共四类: • 控制语句:
流程控制:条件、循环 辅助控制:break、continue、goto、return、switch • 空语句:仅一个“;”构成。 • 表达式语句:一个表达式后跟一个“;”构成。 • 复合语句:用“ { } ”括起来的一些语句。
printf(“Answer: %d\n”,112%3);
“格式控制” 是双引号括起 来的格式控制 转换字符串
“输出表”中的数 据,要与“格式控 制”中的格式字符
一一对应
2020/4/30
10
2020/4/30
11
『例4.2』
main()
{
int a,b,c;
程序执行结果: a*b=20
a=4;
2020/4/30
3
2020/4/30
空语句
• 一般形式: ;
• 含义:什么也不做。 • 说明:凡是在C程序中出现语句的
地方都可以用一个分号来代替一 条语句。 • 作用: – 转折点。 – 循环语句中的空循环体。
4
2020/4/30
5
复合语句
• 一般形式: {语句1;语句2;…;语句n;}
• 说明:
2020/4/30
26
printf函数说明:
• 格式字符要用小写字母。 • 如若输出字符“%”,在“格式控制”中用连
续两个“%”即可。 • 当“格式控制”中格式符个数少于输出表中的
输出项时,多余的输出项不予输出。 • 当“格式符”多于输出项时,结果为意外值。
2020/4/30
27
字符输入函数getchar
2020/4/30
整数 小数点 小数
1
1
6
e 指数符号
1
1
指数 3
25
g 格式符
• 功能:根据数值自动选择f格式或e格式中宽度 较小的一种输出实数。
• 举例: float x=12.345; printf(“%f,%e,%g”,x,x,x);
结果: 12.345000,1.23450e+01,12.345
• 分类:
– %f:数据的整数部分全部输出,小数部分输出6位 。
– %m.nf:输出数据共占m列,小数占n位,右对齐 。
– %-m.nf:输出数据共占m列,小数占n位,左对齐 。
• 注意:单精度实数的有效位数一般为7位;双
2020/4/30精度实数的有效位数为16位。
23
2020/4/30
『例4.7』f 格式符使用。
• 程序范例
2020/4/30
21
『例4.6』s格式符使用。
main() {
printf("%3s,%7.2s,%.4s,%-5.3s\n", "China","China","China","China"); }
运行结果
China,
Ch,Chin,Chi
2020/4/30
22
f 格式符
• 功能:以小数点形式输出单、双精度实数。
2020/4/30
16
机器数(带符号)的表示
• 正数:
原码、反码及补码一样,即:符号位+绝对值
• 负数:
原码:符号位+绝对值
反码:符号位+对原码取反
补码:符号位:对原码取反+1
• 举例:设有 int a=1,b=-1;
a的表示: 0000 0000 0000 0001(原、反、补)
b的表示: 1000 0000 0000 0001(原码)
一般形式:getchar() 功能:要求用户从终端(键盘)输入单个字符。 返回值:从输入设备上得到的字符。 说明:
该函数为无参函数。 使用该函数,必须在程序开头用预编译命令:
#include <stdio.h>
2020/4/30
28
『例4.8』getchar函数使用。
#include <stdio.h>
– 遇“Space”,或遇“Enter”,或遇“Tab” – 达到指定的字段宽度 – 有非法输入
2020/4/30
32
2020/4/30
33
2020/4/30
34
Homework
• 本章习题5~14 。
• 上述作业先思考 ,后上机验证通 过。
2020/4/30
35
main() {
float x,y; x=111111.111; y=222222.222; printf("%f\n",x+y); }
运行结果:333333.328125
24
e 格式符
• 功能:以指数形式输出单、双精度实数。 • “%e”输出数据共占13位:
例: printf(“%e”,12.3); 12.3 1.23×101 1.230000 e+001
main()
{
char c;
printf("Input an uppercase letter:\n");
c=getchar();
putchar(c+32); }
运行程序时,系统等待用户 输入,注意回车也是一个合 法字符。
2020/4/30
29
格式输入函数scanf
• 一般形式:scanf(格式控制,地址表); • 功能:要求用户从键盘上输入指定类型的任意
输出结果: -1,65535
2020/4/30
19
2020/4/30
20
s 格式符
• 分类: %s:直接输出指定字符串。 %ms:输出字符串占m列,右对齐。 %-ms:输出字符串占m列,左对齐。 %m.ns:输出字符串前n个字符,占m列,右 对齐。 %-m.ns:输出字符串前n个字符,占m列, 左对齐。