第2章 简单C语言程序设计(第4次课)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C语言程序设计
标志
标志字符为-、+、#、空格四种,如表2-2所示。
输出最小宽度 例:%6d 用十进制整数来表示输出的最小位数。若实际 位数多于定义的宽度,则按实际位数输出,若 实际位数少于定义的宽度则补以空格或0。
精度 例:%6.4f 精度格式符以“.”开头,后跟十进制整数。意 义是:若输出数字,则表示小数的位数;若输 出字符,则表示字符的个数;若实际位数大于 所定义的精度数则截去超过的部分。 长度 例:%ld %lf 长度格式符为h、l两种,h表示按短整数型量输 出,l表示按长整数型量输出。
二、字符输入函数 getchar ( ) getchar ( )函数的功能是从键盘输入一个字 符,通常把输入的字符设为一个字符变量, 构成赋值语句,如:c=getchar ( ); 注意:getchar ( )函数只能接受单个字符。
【例2.3】输入单个字符并显示 【程序代码】 #include <stdio.h> void main() { char c; c=getchar(); putchar (c); putchar („\n‟) ; } 运行结果如图2-3所示。
基本的输入输出
8. – – –
e|E格式符——实型(单精度、双精度),指数格式 用法:%e、%me、%m.ne、%.ne 标准指数表示法:±a.bbbbbbE±cc 如有:float x=123.456,y=78.932e-6; printf(“%e, %14E, %10.2e”,x,-y,x);
C语言程序设计
2. 1顺序结构程序设计
C语言的语句用来向计算机系统发出 操作指令。C语言的语句有四类:简单语 句(包括表达式语句、输入/输出语句), 空语句,复合语句和流程控制语句(包括 选择语句、循环语句、break语句、 continue语句、return语句等)。 顺序语句是最简单的一种程序结构, 程序的执行是按照各语句出现的次序顺序 执行的,并且每条语句都会被执行到。
2.4 字符串数据的输入输出
一、字符串输出函数 puts ( )
【程序说明】 本例中,在用户输入三个数作为a,b,c的值时, 要用一个以上空格或【Enter】键或【Tab】把三 个输入数分隔。 数据中间使用一个或多个空格:10 □20 □30 ↙ 数据中间按ቤተ መጻሕፍቲ ባይዱ跳格键(Tab):10Tab20Tab30↙ 数据中间按下回车键,即分行输入: 10↙ 20↙ 30↙
回顾
C语言程序设计
练习
1、若有定义:float x=3.5,y=3.6; 则表达式( )的 值为6。 A. (int)x+(int)y B. x+y C.(int)(x+y) D int(x+y) 2、若有定义:int i=3,j=6; 则表达式(--i)*(j++)的值 为( )。 A. 18 B. 15 C.12 D.10
3、若有定义: int a=3,b=5,c=8; 则表达式 !(a-b) || (c-b) 的值( )。 A. 1 B. 0 C.2 D.3
4、若有定义:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=a<b)||(k=c<d); 运行后,k的值为 ( )。 A. 2 B. 1 C.0 D.-1 5、若有定义:float x=2,y; int a=3; 语句 y=1*(x+a)/3; 运行后,y的值为( )。 A. 2.0 B. 0 C.1.0 D.1.666667
2.2 标准输入输出
数据输入输出的概念: ⑴ 输入是指从键盘或其他外部设备向计算机输入数据, ⑵输出是指从计算机向显示器等外部设备输出数据。 ⑶ C语言本身没有输入输出语句,输入和输出操作是由C 语言函数库中的函数来实现的。 (4) 在使用C语言库函数时,要用预编译命令“#include”把 有关的“头文件”包括到用户源文件中。例如 #include <stdio.h> 表示使用标准输入输出库函数时要用到 “stdio.h”文件。但因printf 和scanf函数使用频繁,系统 允许在使用这两个函数时可不加#include命令。
学习目标
顺序结构程序设计 标准输入输出 字符数据的输入输出 字符串数据的输入输出
学习目标
掌握一个简单程序的编写 理解顺序结构程序设计 掌握标准输入输出格式和应用 掌握数据的输入输出格式和应用 掌握串数据的输入输出格式和应用
本章任务
编写并在Turbo C集成开发环境中运行一个 简单的C程序,该程序的功能是计算任意三角 形的面积。 任务可以分解为三部分: 1. 编写程序,了解C程序的顺序结构程序设 计。 2. 学会在Turbo C集成开发环境中编辑并运 行程序。 3.设三角形的三边长为a、b、c ,面积为 area;定义这四个变量。
1. 格式输出函数printf()
printf()函数的功能是按用户指定的格式把指定的数据 显示到屏幕上。 printf()函数调用的一般形式 printf(“格式控制字符串”, 输出表列); 例如:printf(“%d,%ld”,x,y)格式。格式控制字 符串是以%开头的字符串,在%后面跟有各种格式字符, 用来说明输出数据的类型、形式、长度、小数倍数等。 若没有%开头则为非格式字符串,在输出时照原样输出, 起说明提示作用。例如: “%d” 表示按十进制整型输出 “%c” 表示按字符型输出
基本的输入输出
格式输入函数scanf()
scanf( )函数称为格式输入函数,即按用户指定的 格式从键盘把数据输入到指定变量中。
scanf( )函数一般形式为: scanf (“格式控制字符串”,地址表列 );
其中,格式控制字符串的作用与printf( )函数相同,但 不能显示非格式字符串。地址是由地址运算符“&”后 跟变量名组成的。如&a是变量a的地址。变量的 地址是C编译系统分配的,用户不必关心具体是多少。 scanf()函数要求写变量的地址,要注意:在 scanf()函数中的&a是一个表达式,其功能是求变量a 的地址。
运算符的结合方向
结合方向: 所有的优先级中,只有三个优先级是从右至左 结合的,它们是单目运算符、条件运算符、赋值 运算符。其它的都是从左至右结合。
运算符的优先级
括号成员第一;括号运算符[]() 成员运算符. -> 全体单目第二;所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; 这个"余"是指取余运算即% 移位五,关系六; 移位运算符:<< >> ,关系:> < >= <= 等 等于(与)不等排第七; 即== != 位与异或和位或; 这几个都是位运算: 位与(&)异或(^)位或(|) "三分天下"八九十; 逻辑或跟与; 逻辑运算符:|| 和 && 十二和十一; 注意顺序:优先级(||) 底于 优先级(&&) 条件高于赋值, 三目运算符优先级排到 13 位只比赋值运算符和 ",“高 逗号运算级最低! 逗号运算符优先级最低
6.
–
–
s格式符——字符串 用法:%s、%ms、%m.ns、%-ms、%-m.ns 如:char *p=“CHINA”; printf(“%s, %6s, %4.3s, %-6s, %-5.3s”,p,p,p,p,p);
结果: CHINA, □CHINA,CHI□,CHINA□,CHI□□ 7. f格式符——实型(单精度、双精度),小数格式 – 用法:%f、%m.nf、%mf、%.nf – 如有:float x=123.456; printf(“%f, %7.2f, %12f, %.2f”,x,x,x,x); 结果:123.456000,□123.46,□□123.456000,123.46
注意: ①可以指定输入数据所占列数,系统自动按它截取 所需数据。此方法也可用于字符输入。如
scanf(“%3d%2d”,&a,&b) ; 输入1234567时,123赋给a,45赋给b.
②如果在% 后有一个“*”附加说明符,表示跳过指 定的列数。如 scanf (“%2d %*3d %2d”, &a, &b ); 若输入 12 345 67 则12赋给a,中间三个数跳过,67赋给b。 ③输入数据时不可规定精度。
运算符的优先级和结合方向
(最高) () [] -> . ! ~ ++ -- + - * & sizeof */% +> >= == != & ^ | && || ?: = += -= *= /= %= &= ^= |= >= (最低) ,
自左向右 自右向左 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自右向左 自右向左 自左向右
结果:1.234560e+02,□-7.893200E-05,□□1.23e+02 8. g格式符——实型(单精度、双精度),自动格式 – 用法:%g – 如有:float x=123.456,y=78.932e-6; printf(“%g, %g”,x,y);
结果:123.456,7.8932e-05
注意: ① 输出表列中给出了各输出项,要求格式字符串 和各输出项在数量和类型应一一对应。 ② 格式字符和输出类型不一致时,自动按指定格 式输出. ③ 格式控制字符串和非格式控制字符串可以合并 使用。如当x为5而y为10时, printf(“sum=%d\n,x+y);则是先按原样输 出sum=,遇到%d后把对应表达式x+y的计算结果15 输出在%d位置上,然后输出转义符“\n”,产生 一个换行操作。即输出sum=15。
例scanf(“%3.2f”,&a)为错误的
2.3 字符数据的输入输出
一、字符输出函数 putchar ( ) putchar ( ) 函数的功能是向显示器等标准输 出设备输出一个字符, 格式为: putchar (ch ); 其中ch 是一个字符变量 名或常量。 例如: putchar (c ); /* 输出字符变量c的值*/ putchar („A‟ ); /* 输出大写字母A*/ putchar („\101‟); /* 输出大写字母A*/ putchar („\n‟ ); /* 换行 */
1. d格式符——十进制整数 – 用法:%d、%md – 如有:int a=123;
printf(“%d,%4d,%2d”,a,a,a); 结果:123, □123,123
2. o格式符——八进制整数
– 用法:%o
– 如有:int a=-1;
printf(%d,%o”,a,a); 结果:-1,177777 -1的内存表示:1111,1111,1111,1111 3. X|x格式符——十六进制整数 – 用法:%x、%X – 如有:int a=-1; printf(“%d,%x,%X”,a,a,a); 结果:-1,ffff,FFFF
4. u格式符——无符号整数
– 用法:%u – 如有:int a=-1;
printf(“%d,%u”,a,a);
结果:-1,65535 5. C格式符——字符 – 用法:%c、%mc – 如有:char ch=„A‟; printf(“%c,%3c”,ch,ch);
结果:A, □ □A
基本的输入输出
C语言程序设计
【例2.2】格式化输入 【程序代码】 #include <stdio.h> void main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); } 运行结果如图2-2所示。
第2章 简单C语言程序设计
学习新的程序设计语言的最佳途径是尽早 地用它编写程序、进行程序的调试,解决实际 问题。 本章从最简单的第一个程序开始,逐步介 绍了C语言顺序结构程序设计、标准输入输出、 字符数据的输入输出和字符串数据的输入输出, 使读者了解到一个C语言程序的基本框架和它 的书写格式。
C语言程序设计
标志
标志字符为-、+、#、空格四种,如表2-2所示。
输出最小宽度 例:%6d 用十进制整数来表示输出的最小位数。若实际 位数多于定义的宽度,则按实际位数输出,若 实际位数少于定义的宽度则补以空格或0。
精度 例:%6.4f 精度格式符以“.”开头,后跟十进制整数。意 义是:若输出数字,则表示小数的位数;若输 出字符,则表示字符的个数;若实际位数大于 所定义的精度数则截去超过的部分。 长度 例:%ld %lf 长度格式符为h、l两种,h表示按短整数型量输 出,l表示按长整数型量输出。
二、字符输入函数 getchar ( ) getchar ( )函数的功能是从键盘输入一个字 符,通常把输入的字符设为一个字符变量, 构成赋值语句,如:c=getchar ( ); 注意:getchar ( )函数只能接受单个字符。
【例2.3】输入单个字符并显示 【程序代码】 #include <stdio.h> void main() { char c; c=getchar(); putchar (c); putchar („\n‟) ; } 运行结果如图2-3所示。
基本的输入输出
8. – – –
e|E格式符——实型(单精度、双精度),指数格式 用法:%e、%me、%m.ne、%.ne 标准指数表示法:±a.bbbbbbE±cc 如有:float x=123.456,y=78.932e-6; printf(“%e, %14E, %10.2e”,x,-y,x);
C语言程序设计
2. 1顺序结构程序设计
C语言的语句用来向计算机系统发出 操作指令。C语言的语句有四类:简单语 句(包括表达式语句、输入/输出语句), 空语句,复合语句和流程控制语句(包括 选择语句、循环语句、break语句、 continue语句、return语句等)。 顺序语句是最简单的一种程序结构, 程序的执行是按照各语句出现的次序顺序 执行的,并且每条语句都会被执行到。
2.4 字符串数据的输入输出
一、字符串输出函数 puts ( )
【程序说明】 本例中,在用户输入三个数作为a,b,c的值时, 要用一个以上空格或【Enter】键或【Tab】把三 个输入数分隔。 数据中间使用一个或多个空格:10 □20 □30 ↙ 数据中间按ቤተ መጻሕፍቲ ባይዱ跳格键(Tab):10Tab20Tab30↙ 数据中间按下回车键,即分行输入: 10↙ 20↙ 30↙
回顾
C语言程序设计
练习
1、若有定义:float x=3.5,y=3.6; 则表达式( )的 值为6。 A. (int)x+(int)y B. x+y C.(int)(x+y) D int(x+y) 2、若有定义:int i=3,j=6; 则表达式(--i)*(j++)的值 为( )。 A. 18 B. 15 C.12 D.10
3、若有定义: int a=3,b=5,c=8; 则表达式 !(a-b) || (c-b) 的值( )。 A. 1 B. 0 C.2 D.3
4、若有定义:int a=1,b=2,c=3,d=4,t=2,k=2; 语句(t=a<b)||(k=c<d); 运行后,k的值为 ( )。 A. 2 B. 1 C.0 D.-1 5、若有定义:float x=2,y; int a=3; 语句 y=1*(x+a)/3; 运行后,y的值为( )。 A. 2.0 B. 0 C.1.0 D.1.666667
2.2 标准输入输出
数据输入输出的概念: ⑴ 输入是指从键盘或其他外部设备向计算机输入数据, ⑵输出是指从计算机向显示器等外部设备输出数据。 ⑶ C语言本身没有输入输出语句,输入和输出操作是由C 语言函数库中的函数来实现的。 (4) 在使用C语言库函数时,要用预编译命令“#include”把 有关的“头文件”包括到用户源文件中。例如 #include <stdio.h> 表示使用标准输入输出库函数时要用到 “stdio.h”文件。但因printf 和scanf函数使用频繁,系统 允许在使用这两个函数时可不加#include命令。
学习目标
顺序结构程序设计 标准输入输出 字符数据的输入输出 字符串数据的输入输出
学习目标
掌握一个简单程序的编写 理解顺序结构程序设计 掌握标准输入输出格式和应用 掌握数据的输入输出格式和应用 掌握串数据的输入输出格式和应用
本章任务
编写并在Turbo C集成开发环境中运行一个 简单的C程序,该程序的功能是计算任意三角 形的面积。 任务可以分解为三部分: 1. 编写程序,了解C程序的顺序结构程序设 计。 2. 学会在Turbo C集成开发环境中编辑并运 行程序。 3.设三角形的三边长为a、b、c ,面积为 area;定义这四个变量。
1. 格式输出函数printf()
printf()函数的功能是按用户指定的格式把指定的数据 显示到屏幕上。 printf()函数调用的一般形式 printf(“格式控制字符串”, 输出表列); 例如:printf(“%d,%ld”,x,y)格式。格式控制字 符串是以%开头的字符串,在%后面跟有各种格式字符, 用来说明输出数据的类型、形式、长度、小数倍数等。 若没有%开头则为非格式字符串,在输出时照原样输出, 起说明提示作用。例如: “%d” 表示按十进制整型输出 “%c” 表示按字符型输出
基本的输入输出
格式输入函数scanf()
scanf( )函数称为格式输入函数,即按用户指定的 格式从键盘把数据输入到指定变量中。
scanf( )函数一般形式为: scanf (“格式控制字符串”,地址表列 );
其中,格式控制字符串的作用与printf( )函数相同,但 不能显示非格式字符串。地址是由地址运算符“&”后 跟变量名组成的。如&a是变量a的地址。变量的 地址是C编译系统分配的,用户不必关心具体是多少。 scanf()函数要求写变量的地址,要注意:在 scanf()函数中的&a是一个表达式,其功能是求变量a 的地址。
运算符的结合方向
结合方向: 所有的优先级中,只有三个优先级是从右至左 结合的,它们是单目运算符、条件运算符、赋值 运算符。其它的都是从左至右结合。
运算符的优先级
括号成员第一;括号运算符[]() 成员运算符. -> 全体单目第二;所有的单目运算符比如++ -- +(正) -(负) 指针运算*& 乘除余三,加减四; 这个"余"是指取余运算即% 移位五,关系六; 移位运算符:<< >> ,关系:> < >= <= 等 等于(与)不等排第七; 即== != 位与异或和位或; 这几个都是位运算: 位与(&)异或(^)位或(|) "三分天下"八九十; 逻辑或跟与; 逻辑运算符:|| 和 && 十二和十一; 注意顺序:优先级(||) 底于 优先级(&&) 条件高于赋值, 三目运算符优先级排到 13 位只比赋值运算符和 ",“高 逗号运算级最低! 逗号运算符优先级最低
6.
–
–
s格式符——字符串 用法:%s、%ms、%m.ns、%-ms、%-m.ns 如:char *p=“CHINA”; printf(“%s, %6s, %4.3s, %-6s, %-5.3s”,p,p,p,p,p);
结果: CHINA, □CHINA,CHI□,CHINA□,CHI□□ 7. f格式符——实型(单精度、双精度),小数格式 – 用法:%f、%m.nf、%mf、%.nf – 如有:float x=123.456; printf(“%f, %7.2f, %12f, %.2f”,x,x,x,x); 结果:123.456000,□123.46,□□123.456000,123.46
注意: ①可以指定输入数据所占列数,系统自动按它截取 所需数据。此方法也可用于字符输入。如
scanf(“%3d%2d”,&a,&b) ; 输入1234567时,123赋给a,45赋给b.
②如果在% 后有一个“*”附加说明符,表示跳过指 定的列数。如 scanf (“%2d %*3d %2d”, &a, &b ); 若输入 12 345 67 则12赋给a,中间三个数跳过,67赋给b。 ③输入数据时不可规定精度。
运算符的优先级和结合方向
(最高) () [] -> . ! ~ ++ -- + - * & sizeof */% +> >= == != & ^ | && || ?: = += -= *= /= %= &= ^= |= >= (最低) ,
自左向右 自右向左 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自左向右 自右向左 自右向左 自左向右
结果:1.234560e+02,□-7.893200E-05,□□1.23e+02 8. g格式符——实型(单精度、双精度),自动格式 – 用法:%g – 如有:float x=123.456,y=78.932e-6; printf(“%g, %g”,x,y);
结果:123.456,7.8932e-05
注意: ① 输出表列中给出了各输出项,要求格式字符串 和各输出项在数量和类型应一一对应。 ② 格式字符和输出类型不一致时,自动按指定格 式输出. ③ 格式控制字符串和非格式控制字符串可以合并 使用。如当x为5而y为10时, printf(“sum=%d\n,x+y);则是先按原样输 出sum=,遇到%d后把对应表达式x+y的计算结果15 输出在%d位置上,然后输出转义符“\n”,产生 一个换行操作。即输出sum=15。
例scanf(“%3.2f”,&a)为错误的
2.3 字符数据的输入输出
一、字符输出函数 putchar ( ) putchar ( ) 函数的功能是向显示器等标准输 出设备输出一个字符, 格式为: putchar (ch ); 其中ch 是一个字符变量 名或常量。 例如: putchar (c ); /* 输出字符变量c的值*/ putchar („A‟ ); /* 输出大写字母A*/ putchar („\101‟); /* 输出大写字母A*/ putchar („\n‟ ); /* 换行 */
1. d格式符——十进制整数 – 用法:%d、%md – 如有:int a=123;
printf(“%d,%4d,%2d”,a,a,a); 结果:123, □123,123
2. o格式符——八进制整数
– 用法:%o
– 如有:int a=-1;
printf(%d,%o”,a,a); 结果:-1,177777 -1的内存表示:1111,1111,1111,1111 3. X|x格式符——十六进制整数 – 用法:%x、%X – 如有:int a=-1; printf(“%d,%x,%X”,a,a,a); 结果:-1,ffff,FFFF
4. u格式符——无符号整数
– 用法:%u – 如有:int a=-1;
printf(“%d,%u”,a,a);
结果:-1,65535 5. C格式符——字符 – 用法:%c、%mc – 如有:char ch=„A‟; printf(“%c,%3c”,ch,ch);
结果:A, □ □A
基本的输入输出
C语言程序设计
【例2.2】格式化输入 【程序代码】 #include <stdio.h> void main() { int a,b,c; scanf("%d%d%d",&a,&b,&c); printf("a=%d,b=%d,c=%d\n",a,b,c); } 运行结果如图2-2所示。
第2章 简单C语言程序设计
学习新的程序设计语言的最佳途径是尽早 地用它编写程序、进行程序的调试,解决实际 问题。 本章从最简单的第一个程序开始,逐步介 绍了C语言顺序结构程序设计、标准输入输出、 字符数据的输入输出和字符串数据的输入输出, 使读者了解到一个C语言程序的基本框架和它 的书写格式。
C语言程序设计