C语言程序设计课件第2章
合集下载
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
① 字符是单字节类型,缩减版的 int ② 输入输出使用 %c 或者 getchar\putchar
scanf(“%c”, &c) ; c=getchar();
③ F1:使用 C-Free 的帮助查看 ASCII 码表
C语言程序设计
运算和输入输出
强大、经典的 scanf 和 printf
主讲:沈涵飞
#include <stdio.h> int main() {
printf("Bacon said: \"Knowledge is power.\"\n"); printf("The only true wisdom is"
" in knowing you know nothing.\n"); return 0; }
printf("My name is %s\n", "Eric"); return 0; }
printf:更有用的例子
/* 输出计算结果,保留3位小数 按照一定格式输出年月日 2015-03-12 */
#include <stdio.h> int main() {
printf("The result is %.3f\n", 3.14159); printf("today is %d-%02d-%02d\n", 2015, 3, 12); return 0; }
② 符号常量或者只读变量替代幻数
PI , const double PI
③ 有意义的变量名和注释改善了程序的可 读性
C语言程序设计
运算和输入输出
字符和ASCII字符集
主讲:沈涵飞
字符是程序处理的重要内容
Many later languages have borrowed directly or indirectly from C, including C++, D, Go, Rust, Java, JavaScript, Limbo, LPC, C#, Objective-C, Perl, PHP, Python, Verilog (hardware description language), and Unix’s C shell.
根据圆的半径求圆的周长和面积,
π值保留3位小数,为3.142。
输入是半径,浮点数。 输出为周长和面积,结果保 留2位小数,分两行输出周 长和面积。
1.0 6.28 3.14
#include <stdio.h> int main() {
double r, c, a; scanf("%lf", &r); c = 2 * 3.142 * r; a = 3.142 * r * r; printf("%.2f\n%.2f\n", c, a); return 0; }
符号常量:提高代码质量
#include <stdio.h>
int main() {
double r, c, a; scanf("%lf", &r); c = 2 * 3.142 * r; a = 3.142 * r * r; printf("%.2f\n%.2f\n", c, a); return 0; }
/* 输入: today is 2015-3-12 */
#include <stdio.h> int main() {
int y, m, d; scanf("today is %d-%d-%d", &y, &m, &d); printf("%d %d %d\n", y, m, d); return 0; }
只读变量:提高代码质量
#include <stdio.h>
int main() {
double r, c, a; scanf("%lf", &r); c = 2 * 3.142 * r; a = 3.142 * r * r; printf("%.2f\n%.2f\n", c, a); return 0; }
字符的本质:缩减版的 int
char c = 'A';
printf("%c\n", c);
printf("%d\n", c);
A
printf("%o\n", c);
65
printf("%x\n", c);
101
printf("%c\n", c + 1);
41
putchar(c);
B
putchar('\n');
area = PI * radius * radius;
printf("%.2f\n", circumference);
printf("%.2f\n", area);
return 0;
}
小结 浮点数:计算圆的周长和面积
#include <stdio.h> #define PI 3.142
int main() {
double r, c, a; scanf("%lf", &r); c = 2 * PI * r; a = PI * r * r; printf("%.2f\n%.2lf\n", c, a); return 0; }
① 两种浮点数:float 和 double
使用不同的输入占位符 %f %lf 通常:float 4个字节,double 8个字节 C语言库函数默认使用 double 浮点数是无法精确表示的
① 结构化程序的基本结构
顺序结构、分支结构、循环结构
② 余数运算: %10 保留个位数 ③ 除法运算: /10 去除个位数 ④ 变量只用一次可以省略
(函数只用一次可以省略,匿名函数) (对象只用一次可以省略,匿名对象)
C语言程序设计
运算和输入输出
浮点数:计算圆的周长和面积
主讲:沈涵飞
计算圆的周长和面积
A
printf("%d %d\n", sizeof(char), sizeof(int));
14
小结 字符和ASCII字符集
char c = 'A'; printf("%c\n", c); printf("%d\n", c); printf("%o\n", c); printf("%x\n", c); printf("%c\n", c + 1); putchar(c); putchar('\n');
printf("%d %d %d\n", y, m, d);
printf("today is %4d-%02d-%02d\n", y, m, d);
return 0;
}
小结 强大、经典的 scanf 和 printf
① 转义符 \n \” 占位符:%d %c %f %s ② scanf 和 printf 还有兄弟姐妹
ASCII 二进制编码和字符之间的一一映射,可以使用文本编辑器直接打开
ASCII是 American Standard Code for Information Interchange 缩写,也就是美国标准信息交换
代码,是由美国国家标准学会(American National Standard Institute , ANSI )制定的,标准的单字节 字符编码方案,用于基于文本的数据。
小结 商和余数:三位数反转
#include<stdio.h> int main() {
int n, a, b, c; scanf("%d", &n); a = n / 100; b = n / 10 % 10; c = n % 10; printf("%d%d%d\n", c, b, a); return 0; }
printf:占位符
#include <stdio.h> int main() {
printf("C Language: %s, %s, %s\n", "Simple","Useful","Graceful"); return 0; }
#include <stdio.h> int main() {
C Language Simple Useful Graceful
printf:转义符
#include <stdio.h> int main(int argc, char *argv[]) {
printf("C Language\n"); printf("Simple\n"); printf("Useful\n"); printf("Graceful\n"); return 0; }
#include <stdio.h> #define PI 3.142
int main() {
double r, c, a; scanf("%lf", &r); c = 2 * PI * r; a = PI * r * r; printf("%.2f\n%.2f\n", c, a); return 0; }
scanf: sscanf, fscanf printf: sprintf, fprintf
③ 经典:在其他编程语言中,往往有 scanf 和 printf 的身影 ④ 占位符体现了重要的编程思想:计算和输出相分离
C语言程序设计
运算和输入输出
在命令行编译和运行程序
主讲:沈涵飞
命令行界面 CLI
命令行界面(英语:command-line interface,缩写:CLI)是在图形用户界面得到普及 之前使用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收 到指令后,予以执行。
printf:转义符
编程语言拥有转义字符的原因基本上是两点:
1)使用转义字符来ASCll里面的控制字符及回车换行等字符,这些 字符都没有现成的文字代号,在键盘上找不到相应的输入。
2)某一些特定的字符在编程语言中被定义为特殊用途的字符。
printf:其他用法
Bacon said: "Knowledge is power." The only true wisdom is in knowing you know nothing.
#include <stdio.h>
#define PI 3.142
int main()
{
double radius;
/* 圆的半径 */
double circumference; /* 圆的周长 */
double area;
/* 圆的面积 */
scanf("%lf", &radius);
circumference = 2 * PI * radius;
scanf:从标准输入读取数据
/* 三位数反转 */
#include <stdio.h> int main() {
int a, b, c; scanf("%1d%1d%1d", &a, &b, &c); printf("%d%d%d\n", c, b, a); return 0; }
scanf:从输入中提取数据
变量名和注释:增强可读性
#include <stdio.h> #define PI 3.142
int main() {
double r, c, a; scanf("%lf", &r); c = 2 * PI * r; a = PI * r * r; printf("%.2f\n%.2f\n", c, a); return 0; }
#include <stdio.h>
int main() {
double r, c, a; const double PI = 3.142; scanf("%lf", &r); c = 2 * PI * r; a = PI * r * r; printf("%.2f\n%.2f\n", c,a ); return 0; }
scanf 的兄弟姐妹:sscanf 和 fscanf
#include <stdio.h> int main() {
常用的三种来源:标准输入(键盘),字符串和文件 对应的输入函数: scanf,sscanf, fscanf
int yLeabharlann m, d;sscanf("today is 2015-3-12", "today is %d-%d-%d", &y, &m, &d);
命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。命令行界面的软件需 要用户记忆操作的命令,但命令行界面要较图形用户界面节约计算机系统的资源。
C语言程序设计
运算和输入输出
商和余数:三位数反转
三位数反转
题目:三位数反转 输入一个三位数,分离出它的百位、 十位、个位。反转后输出。
样例输入:127 样例输出:721
#include<stdio.h> int main() {
int n, a, b, c; scanf("%d", &n); a = n / 100; b = n / 10 % 10; c = n % 10; printf("%d%d%d\n", c, b, a); return 0; }