第三章最简单的C程序设计顺序程序设计

上传人:re****.1 文档编号:567636073 上传时间:2024-07-21 格式:PPT 页数:82 大小:3.94MB
返回 下载 相关 举报
第三章最简单的C程序设计顺序程序设计_第1页
第1页 / 共82页
第三章最简单的C程序设计顺序程序设计_第2页
第2页 / 共82页
第三章最简单的C程序设计顺序程序设计_第3页
第3页 / 共82页
第三章最简单的C程序设计顺序程序设计_第4页
第4页 / 共82页
第三章最简单的C程序设计顺序程序设计_第5页
第5页 / 共82页
点击查看更多>>
资源描述

《第三章最简单的C程序设计顺序程序设计》由会员分享,可在线阅读,更多相关《第三章最简单的C程序设计顺序程序设计(82页珍藏版)》请在金锄头文库上搜索。

1、第三章第三章 最简单的最简单的C程序设计程序设计顺序程序设计顺序程序设计教教 师师: 陈陈 淼淼电电 话话: 13890148228邮邮 箱箱: 西南科技大学信息学院 陈淼 版权所有例例3.1:有人用温度计测量出用华氏表:有人用温度计测量出用华氏表示温度(如示温度(如69oF),今要求把它转换为今要求把它转换为以摄氏法表示的温度(如以摄氏法表示的温度(如20oC)。)。3.1 顺序程序设计举例顺序程序设计举例输入输入f的值的值c=5/9(f-32)输出输出c的值的值N-S流程图流程图3.1 顺序程序设计举例顺序程序设计举例源程序源程序#include void main()float f,c;

2、f=64.0;c=(5.0/9)*(f-32);printf(f=%fnc=%fn,f,c);3.2.1 常量和变量常量和变量3.2数据的表现形式及其运算数据的表现形式及其运算 在计算机高级语言中,数据在计算机高级语言中,数据有两种表现形式:有两种表现形式:常量和变量常量和变量。u整型常量。整型常量。如:如:234,0,-987u实型常量。实型常量。如:如:0.24,-89.9,12.0,0.0,12.34e3,-79.87e-23u字符常量。字符常量。 如:如:d,A,7,#,&,n,t,”,033,x1cu字符串常量。字符串常量。如:如:”boy”,”789”,”hero007*#”u符号

3、常量。符号常量。如:如:#define PI 3.14161、常量:在程序运行过程中,其值不、常量:在程序运行过程中,其值不能被改变的量。能被改变的量。#define STUDENT 30#include void main( ) int book, total; book = 10; total = book * STUDENT; printf(total = %d, total);符号常量的用法符号常量的用法思考:为什么要定义符号常量思考:为什么要定义符号常量?如:如:int x; x=9; 所有的变量都应作强制定义,做到所有的变量都应作强制定义,做到“先定义,后使用先定义,后使用”。2、

4、变量:在程序运行过程中,其值可、变量:在程序运行过程中,其值可以被改变的量。以被改变的量。9变量变量x所分配的内存空间所分配的内存空间如:如:const int a=3;思考:常变量与符号常量的区别?思考:常变量与符号常量的区别?3、常变量。、常变量。 以以字母字母、数字数字、下划线下划线组成,且组成,且第一个字符必须为字母或下划线。第一个字符必须为字母或下划线。 注意:注意:大写字母和小写字母被认大写字母和小写字母被认为是两个不同的字符。为是两个不同的字符。4、标识符:为变量、符号常量名、函、标识符:为变量、符号常量名、函数、数组,等命名的有效字符序列统称数、数组,等命名的有效字符序列统称为

5、标识符。为标识符。课堂练习:哪个是合法变量名课堂练习:哪个是合法变量名?1、sum2、1average3、student_name4、_above5、lotus_1_2_3数据类型数据类型枚举类型枚举类型指针类型指针类型数组类型数组类型结构体类型结构体类型共用体类型共用体类型函数类型函数类型派生类型派生类型整型整型 字符型字符型单精度浮点型单精度浮点型双精度浮点型双精度浮点型基本类型基本类型空类型空类型3.2.2 数据类型数据类型数据结构是数据结构是程序语言程序语言的基础的基础整型变量的分类:整型变量的分类:u整型整型int:TC下占下占2字节,字节,VC下占下占4字节字节u短整型短整型sho

6、rt或或short int:占占2字节字节 u长整型长整型long或或long int:占占4字节字节u无符号整型无符号整型unsigned int:TC下占下占2字节,字节,VC下占下占4字节字节u无符号短整型无符号短整型unsigned short:占占2字节字节u无符号长整型无符号长整型unsigned long:占占4字节字节u双长整型双长整型long long int:8字节字节3.2.3 整型数据整型数据 C语言标准没有规定整型变量在计算机内语言标准没有规定整型变量在计算机内存中所占的字节数,它与具体的机器和操作存中所占的字节数,它与具体的机器和操作系统有关。系统有关。类型类型字节

7、数字节数取值范围取值范围int2(TC)-3276832767,即,即-215(215-1)4(VC)-21474836482147483647,即(,即(-231231-1)unsigned int2(TC)065535,即,即0(216-1)4(VC)04294967295,即,即0(232-1)short2-3276832767,即,即-215(215-1)unsigned short2065535,即,即0(216-1)long4-21474836482147483647,即(,即(-231231-1)unsigned long404294967295,即,即0(232-1)long

8、long 8-92233720368547758089223372036854775807,即,即-263(263-1)unsigned long long8018446744073709551615,即,即0(264-1)整型数据常见存储空间和值的范围整型数据常见存储空间和值的范围整型数据在内存中是以二进制存放的。整型数据在内存中是以二进制存放的。int x; x=10; 00000000 00001010占用占用2字节,字节,16位(位( Turbo C 2.0 )整型数据在内存中的存放形式整型数据在内存中的存放形式00000000 00000000 00000000 00001010占用

9、占用4字节,字节,32位(位( Visual C+ 6.0 )00000000 00001010int y;y=-10;原码:原码:取反:取反:加加 1:11111111 1111010111111111 11110110整型数据在内存中的存放形式整型数据在内存中的存放形式思考:思考:-2在内存中在内存中是怎么存放的?是怎么存放的?原码:原码:取反:取反:加加 1:思考:思考:-1在内存中在内存中是怎么存放的?是怎么存放的?原码:原码:取反:取反:加加 1:0000 0000 0000 00011111 1111 1111 11101111 1111 1111 11110000 0000 00

10、00 00101111 1111 1111 11011111 1111 1111 1110整型数据在内存中的存放形式整型数据在内存中的存放形式int变量的数值范围为变量的数值范围为-3276832767。最大值最大值32767:01111111111111111+2+4+8+16+32+64+128+256+512+1024+2048+4096+8192+16384=32767最小值最小值-32768:1000000000000000整型数据在内存中的存放形式整型数据在内存中的存放形式unsignde int变量的数值范围为变量的数值范围为065535。最大值:最大值: 11111111111

11、111111+2+4+8+16+32+64+128+256+512+1024+2048+4096+8192+16384+32768=65535注:在注:在Turbo C 2.0下下#include stdio.hvoid main() int a,b;a=32767;b=a+1;printf(%d,%dn,a,b); 在在Turbo C 2.0下的运行结果为:下的运行结果为:32767,-32768整型数据的溢出整型数据的溢出若改为若改为a=2147483647;在在Visual C+ 6.0的运行结果为:的运行结果为:2147483647,-2147483648u字符常量:用单引号括起来的一

12、个字字符常量:用单引号括起来的一个字符。如:符。如:a、x、?、$。u字符在内存中以字符在内存中以ASCII码存放。码存放。 u注意,注意,a和和A是不同的字符常量。是不同的字符常量。a :ASCII码是码是97A:ASCII码是码是653.2.4 字符型数据字符型数据#include void main() printf( ab ct derftgn); printf(htibbj k001x0fn);运行结果:运行结果:f gde h j k转义字符的使用转义字符的使用u字符变量用来存放一个字符常量。字符变量用来存放一个字符常量。u字符变量在内存中占一字节。字符变量在内存中占一字节。字符变

13、量字符变量例如:例如:char c1,c2; c1=a; c2=b;例如:例如:char c1=a;等效于:等效于:char c1;c1=a;字符数据在内存中是以二进制存放的。字符数据在内存中是以二进制存放的。 char x;x=a;注意:注意:a的的ASCII码是码是970110 0001字符数据在内存中的存放形式字符数据在内存中的存放形式#include void main() char c1,c2; c1 = 97; c2 = 98; printf(%c %c,c1,c2); 程序输出:程序输出:a b相当于:相当于:c1 = a; c2 = b;因为:字符以因为:字符以ASCII码存放

14、,码存放,a的的ASCII码为码为97,b的的ASCII码为码为98。字符数据的输出。字符数据的输出。C语言允许字符和整数之间进行运算。语言允许字符和整数之间进行运算。u单精度浮点型:单精度浮点型:float (4字节)字节)u双精度浮点型:双精度浮点型:double(8字节)字节)u长双精度浮点型:长双精度浮点型:long double(16字节)字节)3.2.5 浮点型(实型)数据浮点型(实型)数据例如:例如:float x,y; double z; 例如:例如:float a;a=123456.711浮点型数据变量的定义浮点型数据变量的定义float型变量只能接受型变量只能接受67位位

15、有效数字,最有效数字,最后两位数字不起作用。后两位数字不起作用。double型变量能接受型变量能接受1516位位 有效数字。有效数字。单精度实型数据在内存中是也以单精度实型数据在内存中是也以二进制存放的。在二进制存放的。在C编译系统下,每一编译系统下,每一个实型变量在内存中占个实型变量在内存中占4个字节(个字节(32位)位)。 与整型数的存储方式不同,实型数与整型数的存储方式不同,实型数是按照指数形式存储的。系统把一个是按照指数形式存储的。系统把一个实型数分为小数部分和指数部分,分实型数分为小数部分和指数部分,分别存放。别存放。实型数据在内存中的存放形式实型数据在内存中的存放形式+ . 3 1

16、 4 1 5 9 1 数符数符 小数部分小数部分 指数指数+ .314159 101 3.1415924位位:小数部分小数部分(包括符号包括符号)8位位:指数部分指数部分实数实数3.14159在内存中的存放形式在内存中的存放形式#include void main( ) float a,b; a = 123456.789e5; b = a + 20; printf(%f,%fn,a,b);程序输出:程序输出:b和和a的值相等。的值相等。实型数据的舍入误差实型数据的舍入误差运算符运算符含义含义举例举例+正号运算符正号运算符+a-负号运算符负号运算符-a*乘法运算符乘法运算符a*b/除法运算符除法

17、运算符a/b%求余运算符求余运算符a%b+加法运算符加法运算符a+b-减法运算符减法运算符a-b1、基本的算术运算符、基本的算术运算符3.2.7、运算符和表达式、运算符和表达式自增:使变量的值加自增:使变量的值加1。 自减:使变量的值减自减:使变量的值减1。u+i ; /* 在使用在使用i之前使之前使i加加1 */u- - i ; /* 在使用在使用i之前使之前使i减减1 */ ui+ ; /* 在使用在使用i之后使之后使i加加1 */ui - - ; /* 在使用在使用i之后使之后使i减减1 */2、自增、自减运算符、自增、自减运算符i = 3;j = +i; /* 先使先使i加加1,再赋值

18、给,再赋值给j。*/执行后:执行后:j=4,i=4。i = 3;j = i+; /* 先把先把i赋值给赋值给j,再使,再使i加加1。*/执行后:执行后:j=3,i=4。自增、自减运算符举例自增、自减运算符举例注意:注意:不要写成不要写成 j+i 的形式。的形式。该程序的运行结果?该程序的运行结果?#include void main() int a; a = 3; printf(%d, a+); printf(%d, a); 课堂练习课堂练习运行结果:运行结果:343、算术表达式和运算符的优先级、算术表达式和运算符的优先级与结合性与结合性u算术表达式:算术表达式:如:如:w=a*b/c - 1

19、.5 + au运算符的优先级:运算符的优先级:先乘除、后加减;先先乘除、后加减;先括号。括号。u运算符的结合性:运算符的结合性:l左结合性:左结合性:结合方向为从左至右,简称左结结合方向为从左至右,简称左结合)。合)。算术运算符为左结合。算术运算符为左结合。l右结合性:右结合性:结合方向为从右至左,简称右结结合方向为从右至左,简称右结合)。合)。赋值运算符赋值运算符=为右结合。为右结合。例:例: a = b+c*(x-y)%4;u整整型型、浮浮点点型型(包包括括单单、双双精精度度)、字字符型数据可以混合运算。符型数据可以混合运算。 例、例、10 + a + 1.5 - 8765.1234 *

20、bu混混合合运运算算时时,先先转转换换成成同同一一种种类类型型,然然后进行运算。转换规则如图。后进行运算。转换规则如图。高高 double float long unsigned低低 int char,short4、不同类型数据间的混合运算、不同类型数据间的混合运算例如:例如:int i;float f;double d; long e;10 + a + i*f - d/e上述转换过程是由系统自动进行的。上述转换过程是由系统自动进行的。整型整型双精度双精度单精度单精度4、不同类型数据间的混合运算、不同类型数据间的混合运算高高 double float long unsigned低低 int c

21、har,short有如下定义:有如下定义:float a=3,x=4.5,y=- 4.5; (double)(a);/* 转换为转换为double类型类型 */(int)(x+y);/* 将将x+y的值转换为的值转换为int类型类型 */(float)(5%3);/* 将将5%3的值转换为的值转换为float类型类型 */5、强制类型转换、强制类型转换注意注意: (int)(x+y); /* 将将x+y的值转换为的值转换为int类型类型 */ (int)x+y; /* 将将x转换为转换为int,再与,再与y相加相加 */ (int)(x); (int) x; int (x); 5、强制类型转换

22、、强制类型转换该程序的运行结果?该程序的运行结果?#include void main()float x;int i;x=3.6;i=(int)x;printf(%f,%d,x,i);5、强制类型转换(举例)、强制类型转换(举例)运行结果:运行结果:x=3.600000,i=3说明:说明:强制类型转换时,得到一个所需类型强制类型转换时,得到一个所需类型的中间变量,原来变量的类型不发生变化。的中间变量,原来变量的类型不发生变化。u算术运算符:算术运算符:+、-、*、/、%、+、-u关系运算符:关系运算符:、=、=、!=u逻辑运算符:逻辑运算符:!、&、|u位运算符:位运算符:、|、&u赋值运算符

23、:赋值运算符:=u条件运算符:条件运算符:?:u逗号运算符:逗号运算符:,u指针运算符:指针运算符:*、&u求字节数运算符:求字节数运算符:sizeofu强制类型转换运算符:强制类型转换运算符:( )u成员运算符:成员运算符:-、.u下标运算符:下标运算符: u其他:函数调用运算符其他:函数调用运算符( )6、C运算符运算符1、控制语句,完成程序流程控制。、控制语句,完成程序流程控制。uif( )else 条件语句条件语句 ufor( ) 循环语句循环语句 uwhile( ) 循环语句循环语句 udowhile( ) 循环语句循环语句 ucontinue 结束本次循环语句结束本次循环语句 ub

24、reak 中止中止switch或循环语句或循环语句 uswitch 多分支选择语句多分支选择语句 ugoto 转向语句转向语句 ureturn 从函数返回语句从函数返回语句3.3 C语句语句3.3.1 C语句分为以下五类:语句分为以下五类:2、函数调用语句:、函数调用语句:例如:例如:printf(“This is a C statement.”); sqrt(4);3、表达式语句:、表达式语句:在表达式后面加分号构成。在表达式后面加分号构成。例如:例如: a = 3;4、空语句:、空语句:仅包含一个分号的语句,仅包含一个分号的语句,例如:;例如:;3.3.1 C语句分为以下五类:语句分为以下

25、五类:5、复合语句:、复合语句:由大括号由大括号 括起来的语句序列。括起来的语句序列。例如:例如: float pi=3.14159,r=2.5,area;area=pi*r*r;printf(“area=%f”,area);3.3.1 C语句分为以下五类:语句分为以下五类:3.3.2 最基本的语句最基本的语句赋值语句赋值语句例例3.4:输入三角形的三边长,:输入三角形的三边长,计算其面积。计算其面积。输入:三边长输入:三边长a、b、c,输出:面积输出:面积area1、自然语言、自然语言第一步:输入第一步:输入a,b,c第二步:计算第二步:计算s=(a+b+c)/2第三步:计算面积第三步:计算

26、面积area第四步:输出面积第四步:输出面积area算法的表示算法的表示2、传统流程图、传统流程图计算面积计算面积area输出面积输出面积area输入输入a、b、c计算计算s结束结束开始开始算法的表示算法的表示3、N-S流程图流程图计算面积计算面积area输出面积输出面积area输入输入a、b、c计算计算s算法的表示算法的表示算法的表示算法的表示4、伪代码、伪代码 (用英语描述用英语描述)begin(算法开始算法开始)input a,b,cs(a+b+c)/2area s(s-a)(s-b)(s-c)output send算法的表示算法的表示5、计算机语言、计算机语言提示:求平方根函数提示:求

27、平方根函数sqrt() 是库是库函数,在函数,在math.h中定义。中定义。源程序源程序#include math.h #include void 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.2fn,a,b,c); printf(area = %7.2fn,area); 算法的表示算法的表示1、赋值运算符:、赋值运算符:=作用:将一个表达式的值赋给变量。作用:将一个表达式

28、的值赋给变量。例如:例如:a = 3; a = b + c + 1;3.3.2 最基本的语句最基本的语句赋值语句赋值语句2、复合的赋值运算符、复合的赋值运算符1、x+=3;等价语句等价语句x=x+3;2、x-=(y+2); 等价语句等价语句x=x-(y+2)3、x*=y-6;等价语句等价语句x=x*(y-6)4、x/=y+8;等价语句等价语句x=x/(y+8) 5、x%=3;等价语句等价语句x=x%3C可以使用的十种复合运算符可以使用的十种复合运算符:+= -= *= /= %= = = &= = |= 3.3.2 最基本的语句最基本的语句赋值语句赋值语句3、赋值表达式、赋值表达式例如:例如:

29、赋值表达式:赋值表达式: a = 5 区别于赋值语句:区别于赋值语句: a = 5;例如:例如:a=(b=5) a=b=5c=(b=4)+(a=6)c=(a=b)*33.3.2 最基本的语句最基本的语句赋值语句赋值语句该程序的运行结果?该程序的运行结果?#include void main()int a=12; int b,c; c = a+ (b = 6); a+= a-= a*a; printf(%d,%d,%dn,a,b,c);3.3.2 最基本的语句最基本的语句赋值语句赋值语句运行结果:运行结果:-264 , 6 , 183.3.2 最基本的语句最基本的语句赋值语句赋值语句4、赋值过程

30、中的类型转换、赋值过程中的类型转换ufloat、double int:舍弃小数:舍弃小数(截断)。(截断)。uint float、double:值不变。:值不变。uchar int:内存空间的扩充。:内存空间的扩充。 3.3.2 最基本的语句最基本的语句赋值语句赋值语句5、赋值表达式与赋值语句、赋值表达式与赋值语句uif(a=b)0)t=a; uif(a=b;)0)t=a;6、变量赋初值、变量赋初值例如:例如:int x=34;float y=0.56;char z=W;例如:例如:int a,b=98.6,c;相当于:相当于: int a,b,c; b=98.6;例如:例如:int a=78

31、,b=78,c=78; int a=b=c=78; 3.3.2 最基本的语句最基本的语句赋值语句赋值语句C语言不提供输入输出语句,语言不提供输入输出语句,输入输出由开发系统提供的函数输入输出由开发系统提供的函数实现,函数的原型在头文件实现,函数的原型在头文件stdio.h中定义,使用输入输出中定义,使用输入输出函数时,应在源程序的开头使用函数时,应在源程序的开头使用如下语句如下语句:#include stdio.h3.4 数据的输入输出数据的输入输出uprintf()函数的用法函数的用法printf(“格式控制格式控制”,输出列表输出列表);例如:例如:printf(“%d,%f n”,a,b

32、); 3.4.3、 用用printf()函数输出数据函数输出数据3.4.3、 用用printf()函数输出数据函数输出数据u%d格式符:格式符:按十进制格式输出。按十进制格式输出。%d:输出数字长度为变量数值的实输出数字长度为变量数值的实际长度际长度 。%md:输出输出m位位(不足补空格,大于不足补空格,大于m位时按实际长度输出位时按实际长度输出) 。%ld,%mld:l表示输出表示输出“长整型长整型”数据。数据。%0md,%0mld:0(数字数字0)表示位数表示位数不足不足m时左补时左补0。注:注:%后面的后面的m(位数控制位数控制)、0(位数不足补位数不足补0),对于其他格式符也适用。,对

33、于其他格式符也适用。该程序的运行结果?该程序的运行结果? (%d格式符格式符)#include void main() int i = 123; long j = 123456; printf(%d,%5d,%05d,%ldn,i,i,i,j); 123, 123, 00123, 1234563.4.3、 用用printf()函数输出数据函数输出数据u%o格式符:格式符:按八进制格式输出。按八进制格式输出。u%x格式符:格式符:按十六进制格式输出。按十六进制格式输出。u%u格式符:格式符:用于输出用于输出unsigned类型数据。类型数据。u%c格式符:格式符:以字符形式输出一个字符。以字符形

34、式输出一个字符。u%s格式符:格式符:以字符串格式输出字符串。以字符串格式输出字符串。例:例:%s、%ms、%-ms、%-m.ns、%m.nsu%f格式符:格式符:按实数格式输出。按实数格式输出。例:例:%f、 %-m.nf、%m.nfu%e格式符:格式符:以指数形式输出实数。以指数形式输出实数。例:例:%e、%-m.ne、%m.ne3.4.3、 用用printf()函数输出数据函数输出数据该程序的运行结果?该程序的运行结果?#include void main() unsigned int a = 65535; int b = -2; printf(%d,%o,%x,%un,a,a,a,a)

35、; printf(%d,%o,%x,%un,b,b,b,b); 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0a=65535b= -2Turbo C 2.0下输出:下输出:-1, 177777, ffff, 65535-2, 177776, fffe,655343.4.3、 用用printf()函数输出数据函数输出数据该程序的运行结果?该程序的运行结果?#include void main() unsigned int a = 65535; int b = -2; printf(%d,%o,%x,%un,a,a,a,

36、a); printf(%d,%o,%x,%un,b,b,b,b); 0 0 0 0 0 0 0 00 0 0 0 0 0 0 01 1 1 1 1 1 1 1 1 1 1 1 1 1 1 11 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0a=65535Visual C+ 6.0下输出:下输出:65535,177777,ffff,65535-2,37777777776,fffffffe,4294967294b=-23.4.3、 用用printf()函数输出数据函数输出数据3.4.3、 用用printf()函数输出数据函

37、数输出数据该程序的运行结果?该程序的运行结果?#include void main()printf(%3s,%7.2s,%.4s,%-5.3sn,CHINA,CHINA,CHINA,CHINA);运行结果:运行结果: CHINA, CH,CHIN,CHI该程序的运行结果?该程序的运行结果?#include void main()float f=123.456;printf(%f,%12f,%10.2f,%.2f,%-10.2fn, f,f,f,f,f);3.4.3、 用用printf()函数输出数据函数输出数据运行结果:运行结果: 123.456001,123.456001,123.46,12

38、3.46,123.46uscanf()函数的用法函数的用法scanf(“格式控制格式控制”,地址列表地址列表);例如:例如: scanf(“%d,%f”,&a,&b); 3.4.4、用、用scanf( )函数输入数据函数输入数据有以下程序:有以下程序:#include void main( ) int a,b,c; scanf(%d%d%d,&a,&b,&c); printf(%d,%d,%dn,a,b,c); 运行时按如下方式从键盘输入三个值:运行时按如下方式从键盘输入三个值:345 输出:输出:3,4,53.4.4、用、用scanf( )函数输入数据函数输入数据格式与格式与printf()

39、的格式控制类似。的格式控制类似。%d、%o、%x、%u、%c、%s、%f、%e3.4.4、用、用scanf( )函数输入数据函数输入数据格式的附加说明符:格式的附加说明符:ul:用于长整型数:用于长整型数(%ld、%lo、%lx)或或double型实数型实数(%lf、%le)。uh :用于短整型数:用于短整型数(%hd、%ho、%hx)。u域宽:指定输入所占列宽。域宽:指定输入所占列宽。1、scanf()中的变量必须使用地址。中的变量必须使用地址。scanf(%d,%d,a,b); scanf(%d,%d,&a,&b); 2、scanf()的的“格式控制格式控制”中,可以使用中,可以使用其它字

40、符,但在输入时必须输入这些相同其它字符,但在输入时必须输入这些相同的字符。的字符。scanf(%d,%d,&a,&b);输入时应:输入时应:3,4 scanf(a=%d:b=%d,&a,&b);输入时应:输入时应:a=3:b=4 使用使用scanf()函数的注意事项:函数的注意事项:3、在用、在用%c输入时,空格和输入时,空格和“转义字符转义字符”均作为有效字符。均作为有效字符。例如:例如: scanf(%c%c%c,&c1,&c2,&c3); 输入:输入:abc 结果:结果:ac1,c2,bc3 (其余被丢弃其余被丢弃) 4、遇以下情况结束一个数据的输入。、遇以下情况结束一个数据的输入。u

41、遇空格、遇空格、“回车回车”、“跳格跳格”键。键。u 遇宽度结束。遇宽度结束。u 遇非法输入。遇非法输入。例如:例如:scanf(%d%c%f,&a,&b,&c);输入:输入: 123a1230.26 输入:输入:123a123o.26使用使用scanf()函数的注意事项:函数的注意事项:ugetchar( ): 从输入设备输入从输入设备输入一个字符。一个字符。uputchar( ): 向输出设备输出向输出设备输出一个字符。一个字符。3.4.5 字符数据输入输出函数字符数据输入输出函数该程序的运行结果?该程序的运行结果?#include void main() char a,b,c; a =

42、B; b = O; c = Y; putchar(a); putchar(b); putchar(c); 运行结果运行结果:BOY3.4.5 字符数据输入输出函数字符数据输入输出函数#include void main() char c; c = getchar(); putchar(c); 也可这样写:也可这样写: uputchar(getchar(); uprintf(“%c”,gerchar();3.4.5 字符数据输入输出函数字符数据输入输出函数1、从键盘输入一个大写字母,要、从键盘输入一个大写字母,要求改用小写字母输出。求改用小写字母输出。课堂练习课堂练习课堂作业课堂作业1、指出下面

43、哪些是合法的变量名。、指出下面哪些是合法的变量名。123abca+ba_5 p5_?12_55*P2、写出下面程序的运行结果。、写出下面程序的运行结果。#include void main()char ch;ch=D;printf(%c,%dn,ch,ch); /*提示:字符提示:字符A的的ascii码为码为65*/运行结果:运行结果:D,68课堂作业课堂作业3、w在在内内存存中中占占多多少少字字节节?“w”在在内存中占多少字节?内存中占多少字节?4、下面的字符串占内存多少字节?、下面的字符串占内存多少字节?“nMY Name is”chen miao”.n”(A) 24(B) 25(C) 2

44、6(D) 27(E) 28(F) 29答案:答案:1字节,字节,2字节字节运行结果:运行结果:-24,2,6课堂作业课堂作业5、写出下面程序的运行结果。写出下面程序的运行结果。#include void main()int a=4,b,c;c=a+(b=2);a+=a-=a*a;printf(%d,%d,%dn,a,b,c); 运行结果:运行结果:2课堂作业课堂作业6、写出下面程序的运行结果。写出下面程序的运行结果。#include void main()int a,b,c=9;a=3,b=4; c%= a+b; printf(“%dn”,c); 7、写出下面程序的运行结果。、写出下面程序的运

45、行结果。#include void main()int i,j,m,n; i=8;j=10; m=+i; n=j+; printf(%d,%d,%d,%dn,i,j,m,n);运行结果:运行结果:9,11,9,10课堂作业课堂作业8、写出下面程序的运行结果。、写出下面程序的运行结果。 #include void main()float x=5.4; int i; i=(int)x; printf(”x=%f,i=%dn,x,i);运行结果:运行结果:x=5.400000,i=5课堂作业课堂作业课后作业课后作业第第83页,页,3、4、5、6题。题。任何业绩的质变都来任何业绩的质变都来自于量变的积累。自于量变的积累。 谢谢谢谢西南科技大学信息学院 陈淼 版权所有

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 资格认证/考试 > 自考

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号