C语言2课堂PPT

上传人:夏** 文档编号:586586708 上传时间:2024-09-05 格式:PPT 页数:60 大小:554.50KB
返回 下载 相关 举报
C语言2课堂PPT_第1页
第1页 / 共60页
C语言2课堂PPT_第2页
第2页 / 共60页
C语言2课堂PPT_第3页
第3页 / 共60页
C语言2课堂PPT_第4页
第4页 / 共60页
C语言2课堂PPT_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《C语言2课堂PPT》由会员分享,可在线阅读,更多相关《C语言2课堂PPT(60页珍藏版)》请在金锄头文库上搜索。

1、计算机程序设计计算机程序设计(C(C语言语言) )计算机科学与工程学院第第2 2章章 C C程序设计初步程序设计初步1. C语言的数据类型语言的数据类型2. 常量和变量常量和变量3. 运算符及表达式运算符及表达式4. 数据的输入输出数据的输入输出2计算机科学与工程学院2.1 2.1 例:求一元二次方程的根例:求一元二次方程的根【例例2-1】对于形式为:对于形式为:ax2+bx+c=0的方程,计算它的两的方程,计算它的两个实根。假定方程不存在虚根。个实根。假定方程不存在虚根。一元二次方程的求根公式一元二次方程的求根公式 确定系统a、b、c计算b2-4ac的平方根dlt计算x1=(-b+dlt)/

2、2a计算x2=(-b-dlt)/2a输出x1和x2结束3计算机科学与工程学院2.1 2.1 例:求一元二次方程的根例:求一元二次方程的根#include#include/*math.h是数学函数库是数学函数库*/intmain()inta,b,c;floatx1,x2,dlt;a=1;b=0;c=-1;dlt=sqrt(b*b-4*a*c);x1=(-b+dlt)/(2*a);x2=(-b-dlt)/(2*a);printf(“realroots:x1=%f,x2=%fn”,x1,x2);return0;变量定义变量定义确定确定a,b,ca,b,c的值的值计算计算dlt,x,x2dlt,x,x

3、2的值的值输出结果输出结果x1,x2x1,x2real roots:x1=1.000000,x2=-1.000000运行结果:运行结果:4计算机科学与工程学院2.2 2.2 信息存储信息存储v数据是程序处理的对象数据是程序处理的对象1、0、a、b、c.vC程序所处理的数据有类型之分,程序所处理的数据有类型之分,C程序提供了丰富的数据程序提供了丰富的数据类型,以满足表示各种数据的需要类型,以满足表示各种数据的需要整型、实型、字符型整型、实型、字符型v数据在计算机内部的表示形式不同数据在计算机内部的表示形式不同常量、变量常量、变量v不同类型的数据,其存储形式是不同的,所占字节数也可能不同类型的数据

4、,其存储形式是不同的,所占字节数也可能不同不同5计算机科学与工程学院2.2 2.2 信息存储信息存储1、计算机内存、计算机内存内存相当于人的大脑,是计算机的记忆部件内存相当于人的大脑,是计算机的记忆部件计算机内部数据以二进制形式存放计算机内部数据以二进制形式存放字节字节(Byte)计算机的基本存储单元,由计算机的基本存储单元,由8个二进制个二进制位构成位构成单元地址每个内存单元都有一个惟一的编号单元地址每个内存单元都有一个惟一的编号1KB=210B=1024字节字节1MB=210KB=1024KB1GB=210MB=1024MB6计算机科学与工程学院2.2 2.2 信息存储信息存储2、标识符、

5、标识符标识符是标识符是C程序中各种对象的名称,例如:变量、符号程序中各种对象的名称,例如:变量、符号常量、函数、数组、结构体、文件等对象的名称。常量、函数、数组、结构体、文件等对象的名称。标识符的命名规则标识符的命名规则u只能由字母、数字和下划线组成只能由字母、数字和下划线组成abx1x2dltstudent_1a$s*s#3-非法标识符非法标识符u第一个符号必须是字母或下划线第一个符号必须是字母或下划线countmax1_rw3c234-非法标识符非法标识符u一般标识符的长度不超过一般标识符的长度不超过7个字符个字符u大小写分别代表不同含义,不能使用系统关键字大小写分别代表不同含义,不能使用

6、系统关键字7计算机科学与工程学院关键字关键字:特殊标识符集(:特殊标识符集(ANSIC共共32个),有特定意义,不个),有特定意义,不能用作一般名字。(能用作一般名字。(C99有扩充)有扩充)autobreakcasecharconstcontinuedefaultdodoubleelseenumexternfloatforgotoifintlongregisterreturnshortsignedsizeofstaticstructswitchtypedefunion unsignedvoidvolatilewhile2.2 2.2 信息存储信息存储8计算机科学与工程学院指出下面的哪些字符序

7、列不是合法的标识符:指出下面的哪些字符序列不是合法的标识符:_abcx+-3x1Xf_1_4Eoof_a$#24x_x_2bg1_IamM.D.Johna-32.2 2.2 信息存储信息存储9计算机科学与工程学院2.2 2.2 信息存储信息存储3、变量、变量变量是程序运行中保存变化数据的内存单元变量是程序运行中保存变化数据的内存单元变量必须先定义,后使用变量必须先定义,后使用变量的命名规则符合标识符的命名规则变量的命名规则符合标识符的命名规则变量命名的一般原则:变量命名的一般原则:u尽量尽量“见名知义见名知义”,增加程序的可读性,增加程序的可读性u通常变量名、函数名用小写字母标识;符号常量通常

8、变量名、函数名用小写字母标识;符号常量名用大写字母标识名用大写字母标识10计算机科学与工程学院2.2 2.2 信息存储信息存储4、常量、常量常量是程序运行期间值不发生变化的数据常量是程序运行期间值不发生变化的数据常量的表现形式:常量的表现形式:u常数常数3.1456a“John”u符号常量符号常量#define符号常量名符号常量名常数常数如:如:#definePI3.14系统编译程序时,将程序中所有的符号常量用其系统编译程序时,将程序中所有的符号常量用其值替代。符号常量的值一经定义不能改变。值替代。符号常量的值一经定义不能改变。11计算机科学与工程学院【例例2-2】已知圆半径,编写计算圆周长和

9、圆面积的已知圆半径,编写计算圆周长和圆面积的C程序。程序。2.2 2.2 信息存储信息存储#includeintmain()floatc,s,r;/*用用c表示周长表示周长,s表示面积表示面积,r表示半径表示半径*/r=2.5;c=2*3.14*r;s=3.14*r*r;printf(“圆周长圆周长=%f,圆面积圆面积=%fn”,c,s);return0;12计算机科学与工程学院2.2 2.2 信息存储信息存储#include#definePI3.14159/*符号常量定义,大写字母符号常量定义,大写字母*/voidmain()floatc,s,r;r=2.5;c=2*PI*r;s=PI*r*

10、r;printf(“圆周长圆周长=%f,圆面积圆面积=%fn”,c,s);使用符号常量的优点:使用符号常量的优点: 程序易修改、可移植性好程序易修改、可移植性好 提高了程序的可读性提高了程序的可读性13计算机科学与工程学院2.3 2.3 数据表示数据表示1、数据类型、数据类型数据类型数据类型基本数据类型基本数据类型构造数据类型构造数据类型整型整型实型实型字符型字符型数组数组结构体结构体联合联合枚举枚举指针类型指针类型空类型空类型14计算机科学与工程学院2.3 2.3 数据表示数据表示2、整数类型、整数类型按照整型数据在内存中所占空间的长度不同,可分为:按照整型数据在内存中所占空间的长度不同,可

11、分为:整型整型int16位位-215215-1短整型短整型 shortint 8位位-2727-1长整型长整型 longint32位位-231231-1按照数据是否带符号,有可分为:按照数据是否带符号,有可分为:带符号整型带符号整型无符号整型无符号整型unsignedunsignedint0216-1unsignedshort028-1unsignedlong0232-115计算机科学与工程学院2.3 2.3 数据表示数据表示整数在计算机内部按其补码形式存放。整数在计算机内部按其补码形式存放。正整数的原码、反码和补码相同正整数的原码、反码和补码相同负整数的反码为其原码按位取反,而补码为其反码加

12、负整数的反码为其原码按位取反,而补码为其反码加1例:例:short型有符号整数型有符号整数19的计算机表示的计算机表示0 0 0 0 0 0 0 0 0 0 0 1 0 0 1 1 符号位符号位1 1 1 1 1 1 1 1 1 1 1 0 1 1 0 1 符号位符号位19的计算机表示的计算机表示16计算机科学与工程学院2.3 2.3 数据表示数据表示(1)整型常量的表示)整型常量的表示三种表示形式(十进制、八进制、十六进制)三种表示形式(十进制、八进制、十六进制)十进制整数:十进制整数:23-891000八进制整数:八进制整数:010-0730123十六进制整数:十六进制整数:0x100xe

13、a30xffff整数的类型整数的类型u根据整数后的字母判别,根据整数后的字母判别,l或或L表示长整型,表示长整型,u或或U表示无符号整型表示无符号整型u根据常量的值来确定类型根据常量的值来确定类型17计算机科学与工程学院2.3 2.3 数据表示数据表示x1x1例如:例如:32700017u-0x2afL345678910LU18计算机科学与工程学院2.3 2.3 数据表示数据表示(2)整型变量)整型变量类型名类型名变量名变量名1,变量名,变量名2,.inti,j;shortcount;unsignedk;longa1,a2,a3;i=32700;count=5;k=0;19计算机科学与工程学院

14、2.3 2.3 数据表示数据表示3、实数类型、实数类型存在小数部分的数据类型。存在小数部分的数据类型。三种类型:三种类型:单精度实型单精度实型float32位位约约-3.410-383.410-386位有效数字位有效数字双精度实型双精度实型double64位位约约-1.710-3081.710-30816位有效数字位有效数字长双精度实型长双精度实型longdouble128位位20计算机科学与工程学院2.3 2.3 数据表示数据表示(1)实型常量)实型常量默认实型常量均为默认实型常量均为double类型,有两种表示形式:类型,有两种表示形式:十进制小数形式十进制小数形式123.45-62.55

15、5465.6 102.指数形式指数形式1.6e+105E-2 E41e0.5-非法表示非法表示21计算机科学与工程学院2.3 2.3 数据表示数据表示(2)实型变量)实型变量类型名类型名变量名变量名1,变量名,变量名2,.floati,j;doublefx;i=1.5;j=34.5678;fx=12345.654;22计算机科学与工程学院2.3 2.3 数据表示数据表示3、字符类型、字符类型字符类型主要用于字符类型主要用于I/O或文字处理。或文字处理。字符数据包括计算机所用的字符集,通常指字符数据包括计算机所用的字符集,通常指ASCII字符集字符集(128个字符)个字符)每个字符都有一个惟一的

16、次序值,即每个字符都有一个惟一的次序值,即ASCII码码数字字符、字母的数字字符、字母的ASCII码按升序连续排列码按升序连续排列编排顺序:数字字符,大写字母,小写字母,编排顺序:数字字符,大写字母,小写字母,3组之间组之间有其它字符间隔有其它字符间隔每个字符在内存中占有一个字节,按照每个字符在内存中占有一个字节,按照ASCII值(见附录)值(见附录)进行存储。进行存储。23计算机科学与工程学院2.3 2.3 数据表示数据表示(1)字符常量)字符常量字符常量用一对单引号作为分隔符。字符常量用一对单引号作为分隔符。aA3*$还有一些特殊的控制字符,用转义字符表示还有一些特殊的控制字符,用转义字符

17、表示nt 141八进制数八进制数141所代表的字符所代表的字符x61十六进制数十六进制数61所代表的字符所代表的字符24计算机科学与工程学院2.3 2.3 数据表示数据表示(2)字符变量)字符变量/hsmchar变量名变量名1,变量名变量名2.charch;charc1,c2;ch=A;c1=3;c2=c1+3;c2c2的值是什么?的值是什么?c2c2的值是的值是6 625计算机科学与工程学院2.3 2.3 数据表示数据表示-2-2班班(3)字符类型与整型之间的关系)字符类型与整型之间的关系由于字符的由于字符的ASCII值具有整数的特征,因此,字符类型值具有整数的特征,因此,字符类型数据可以象

18、整数一样参加算术运算,实际相当于字符的数据可以象整数一样参加算术运算,实际相当于字符的ASCII值参加运算。值参加运算。#includeintmain()charch;ch=A;printf(“%c的的ASCII值为值为%dn”,ch,ch);输出字符及其输出字符及其ASCII值值26计算机科学与工程学院【例例2-4】大小写字母转换。大小写字母转换。2.3 2.3 数据表示数据表示#includeintmain()charlowc,upc;lowc=d;upc=F;printf(“转换前:转换前:lowc=%c,upc=%cn”,lowc,upc);lowc=lowc-32;/*小写转大写小写

19、转大写*/upc=upc+32;/*大写转小写大写转小写*/printf(“转换后:转换后:lowc=%c,upc=%cn”,lowc,upc);27计算机科学与工程学院2.4 2.4 运算符及表达式运算符及表达式C语言提供了丰富的运算符,见附录语言提供了丰富的运算符,见附录3。1、表达式、表达式数据加运算符构成表达式,其运算结果即为表达式的值。数据加运算符构成表达式,其运算结果即为表达式的值。例如:例如:3+5表达式的值为表达式的值为8-56表达式的值为表达式的值为-56a-A表达式的值为表达式的值为3228计算机科学与工程学院2、算术运算、算术运算单目运算符:单目运算符:+自加、自加、-自

20、减、自减、+正、正、-负负双目运算符:双目运算符:+、-、*、/、%模运算模运算(取余取余)(1)/除运算除运算两个整数相除,商仍为整数。两个整数相除,商仍为整数。5/3的值为的值为1(2)%模运算模运算只适用整数运算,运算结果为余数只适用整数运算,运算结果为余数5%3的值为的值为2 9%10的值为的值为92.4 2.4 运算符及表达式运算符及表达式29计算机科学与工程学院2.4 2.4 运算符及表达式运算符及表达式(3)+自加、自加、-自减运算自减运算只适用整型变量,常量和实型数据不能使用只适用整型变量,常量和实型数据不能使用表示对整型变量加表示对整型变量加1或减或减1表达式的值为变量的值表

21、达式的值为变量的值例如:例如:假设变量假设变量n的值为的值为3+n表示表示n的值加的值加1,同时表达式的值为,同时表达式的值为n变化后的值变化后的值4-n表示表示n的值减的值减1,同时表达式的值为,同时表达式的值为n变化后的值变化后的值2n+先将先将n的初值的初值3作为表达式的值,在对作为表达式的值,在对n加加1n-先将先将n的初值的初值3作为表达式的值,在对作为表达式的值,在对n减减130计算机科学与工程学院2.4 2.4 运算符及表达式运算符及表达式inta=10,b=8,c=6;a=-(b-c);a=b/c;a=b%c;a+;b-;c=b-;请说出下面的运算结果请说出下面的运算结果a=-

22、2a=1a=2a=3b=7c=7,b=631计算机科学与工程学院3、赋值运算、赋值运算(1)简单赋值运算简单赋值运算变量变量=表达式表达式赋值运算的作用是把一个表达式的值赋予一个变量赋值运算的作用是把一个表达式的值赋予一个变量赋值表达式的运算过程是:赋值表达式的运算过程是:计算赋值运算符右侧表达式的值计算赋值运算符右侧表达式的值将赋值运算符右侧表达式的值赋给赋值运算符左侧的变量将赋值运算符右侧表达式的值赋给赋值运算符左侧的变量将赋值运算符左侧的变量的值作为赋值表达式的值将赋值运算符左侧的变量的值作为赋值表达式的值例:例:x=5 表示把表示把5赋值给变量赋值给变量x,表达式的值为表达式的值为5x

23、=(y=4)x的值为?的值为?2.4 2.4 运算符及表达式运算符及表达式32计算机科学与工程学院(2)复合算术赋值运算符复合算术赋值运算符+=-=*=/=%=例:假设例:假设a、b、c的值分别为的值分别为3,4,5a+=5b*=12c/=8a%=b+c2.4 2.4 运算符及表达式运算符及表达式33计算机科学与工程学院#includeintmain()intwood,stone,water;wood=-3+4*(5-2);stone=3/2*2;water=123/100;printf(“wood=%d,stone=%d,water=%dn”,wood,stone,water);return

24、0;注意:是整除,注意:是整除,3/2=13/2=12.4 2.4 运算符及表达式运算符及表达式4、数据类型转换、数据类型转换(1)同类型的数据计算结果类型不变同类型的数据计算结果类型不变【例例2-7】计算整型数据表达式。计算整型数据表达式。34计算机科学与工程学院高高doublefloatlongunsigned低低intchar,short数据类型自动转换规则数据类型自动转换规则2.4 2.4 运算符及表达式运算符及表达式(2)自动类型转换自动类型转换表达式计算时遵循自动转换原则表达式计算时遵循自动转换原则赋值运算时,赋值号右侧表达式赋值运算时,赋值号右侧表达式自动转换为赋值号左侧变量的类

25、型自动转换为赋值号左侧变量的类型35计算机科学与工程学院【例例2-8】不同类型数据表达式计算。不同类型数据表达式计算。#includeintmain()shortinti;charc;floatx;i=11;c=a;x=-1.1;x*=c/i*2;printf(“result=%fn”,x);return0;2.4 2.4 运算符及表达式运算符及表达式36计算机科学与工程学院(3)强制类型转换强制类型转换一般形式是:一般形式是:(类型名类型名)表达式表达式例:例:1/2的值为的值为0(float)1/2的值?的值?注意:强制类型转换仅仅是在表达式计算时,改变计算注意:强制类型转换仅仅是在表达式

26、计算时,改变计算时值的类型,不能改变原来数据的类型。时值的类型,不能改变原来数据的类型。例如:例如:(int)x+y计算后,变量计算后,变量x的类型不发生改变的类型不发生改变2.4 2.4 运算符及表达式运算符及表达式37计算机科学与工程学院5、运算符优先级和结合性、运算符优先级和结合性见附录三见附录三2.4 2.4 运算符及表达式运算符及表达式38计算机科学与工程学院练习:练习:1、以下字符常量中,不合法的是:、以下字符常量中,不合法的是:0xff65$x1a2、若有以下类型说明语句:、若有以下类型说明语句:chara;intb;floatc;doubled;则表达式则表达式a*b+d-c的

27、结果类型为的结果类型为3、若有定义:、若有定义:intk=7;floata=2.5,b=4.7;则表达式则表达式a+k%3*(int)(a+b)%2/4的值是的值是39计算机科学与工程学院【例例2-9】对键盘输入的任意十进制整数,给出它的八进制对键盘输入的任意十进制整数,给出它的八进制数和十六进制数。数和十六进制数。2.5 2.5 数据的输入和输出数据的输入和输出#includeintmain()intnum;printf(“请输入数据:请输入数据:”);scanf(“%d”,&num);/*输入十进制整数输入十进制整数*/printf(“八进制数八进制数=%o,十六进制,十六进制=%xn”,

28、num,num);/*对输入的数据,显示其八进制和十六进制书形式对输入的数据,显示其八进制和十六进制书形式*/return0;40计算机科学与工程学院1、scanf()-标准输入函数标准输入函数(1)输入格式输入格式scanf(“格式描述串格式描述串”,地址参数表地址参数表)l一个一个scanf函数可以输入多个数据;函数可以输入多个数据;l格格式式串串由由双双引引号号里里若若干干%格格式式说说明明组组成成,一一个个%对对应应后后面面一一个个输输入入量量,%之之间间建建议议不不要要有有任任何何分分隔隔符符(包包括括空空格);格);l地地址址参参数数表表是是需需要要输输入入的的变变量量的的地地址址

29、,变变量量的的地地址址通通常由常由&和变量名构成。和变量名构成。2.5 2.5 数据的输入和输出数据的输入和输出41计算机科学与工程学院2.5 2.5 数据的输入和输出数据的输入和输出常用格式说明符常用格式说明符42计算机科学与工程学院【例例2-10】各种类型数据输入。各种类型数据输入。#includeintmain()inti,j;charc;floatx;doubley;scanf(“%d%d”,&i,&j);scanf(“%f%lf%c”,&x,&y,&c);printf(“int:%d,%dn”,i,j);printf(“real:%f,%fn”,x,y);printf(“char:%

30、cn”,c);return0;2.5 2.5 数据的输入和输出数据的输入和输出43计算机科学与工程学院(2)运行时的数据输入运行时的数据输入l程序运行时的数据输入,各数据之间可以用空格、程序运行时的数据输入,各数据之间可以用空格、Tab或回车进行分隔或回车进行分隔l对字符来说,采用对字符来说,采用“%c”格式输入时,空格,回车,格式输入时,空格,回车,转义字符都算有效字符,因此不能用它们来作为分隔转义字符都算有效字符,因此不能用它们来作为分隔符。符。l在输入格式控制中,除了在输入格式控制中,除了%外,还可以有逗号、空格等外,还可以有逗号、空格等作为输入分隔符。当有其他的字符时,输入时也必须作为

31、输入分隔符。当有其他的字符时,输入时也必须输入相应的分隔符。输入相应的分隔符。/hsm2.5 2.5 数据的输入和输出数据的输入和输出44计算机科学与工程学院scanf(“%d%d%d”,&a,&b,&c);scanf(“%d,%d,%d”,&a,&b,&c)scanf(“a=%d,b=%d,c=%d”,&a,&b,&c)2.5 2.5 数据的输入和输出数据的输入和输出3 4 534 53 45空格作为分隔符空格作为分隔符TabTab作为分隔符作为分隔符回车作为分隔符回车作为分隔符3 ,4, 5a=3 ,b=4, c=545计算机科学与工程学院2、printf()-标准输出函数标准输出函数(1

32、)格式:格式:printf(“输出格式控制串输出格式控制串”,输出表,输出表)在在控控制制字字符符串串中中,可可包包括括一一些些普普通通字字符符,这这些些普普通通字字符符在在输输出出时时按按原原样样输输出出。控控制制字字符符串串中中格格式式说说明明的的个个数数必必须须与与参参数数表表中中的的表表达达式式个个数数一一致致,顺顺序序也也必必须须一一一对应。一对应。格格式式说说明明是是以以“%”为为起起始始符符、格格式式字字符符为为终终结结符符的的字字符序列,作用是将输出的数据转换为指定的输出格式。符序列,作用是将输出的数据转换为指定的输出格式。2.5 2.5 数据的输入和输出数据的输入和输出46计

33、算机科学与工程学院数据类型数据类型输出控制格式输出控制格式整型整型int%d以十进制形式输出一个整数以十进制形式输出一个整数%o以八进制形式输出一个整数以八进制形式输出一个整数%x以十六进制形式输出一个整数以十六进制形式输出一个整数long%ld以十进制形式输出一个长整数以十进制形式输出一个长整数unsigned%u以十进制形式输出一个无符号整数以十进制形式输出一个无符号整数实型实型floatdouble%f以小数形式输出一个实数以小数形式输出一个实数%e以指数形式输出一个实数以指数形式输出一个实数字符字符型型char%c输出一个字符输出一个字符2.5 2.5 数据的输入和输出数据的输入和输出

34、47计算机科学与工程学院(2)整型输出整型输出在输出格式控制中,可以加宽度限定词,指定整型在输出格式控制中,可以加宽度限定词,指定整型数据的输出宽度数据的输出宽度整型输出格式控制说明整型输出格式控制说明%md,指定了数据的输出宽,指定了数据的输出宽度为度为m位(包括符号位)位(包括符号位)若数据的实际位数(含符号位)小于若数据的实际位数(含符号位)小于m,则左端补空,则左端补空格,格,若大于若大于m,则按实际位数输出,则按实际位数输出。2.5 2.5 数据的输入和输出数据的输入和输出48计算机科学与工程学院【例例2-11】使用使用%d、%o和和%x输入输出整型数据。输入输出整型数据。2.5 2

35、.5 数据的输入和输出数据的输入和输出#includeintmain()printf(%d,%o,%xn,10,10,10);printf(%d,%d,%dn,10,010,0x10);printf(%5d,%xn,012,012);return0;10,12,a10,8,16 10,a49计算机科学与工程学院(3)实型输出实型输出l实型数据不管是实型数据不管是float还是还是double,均用,均用%f或或%e,l缺省方式:输出数据的整数部分位数按照实际位数,小数缺省方式:输出数据的整数部分位数按照实际位数,小数位数规定为位数规定为6位位l可以通过指定实型数据的输出宽度来增加位数。可以通过

36、指定实型数据的输出宽度来增加位数。l%m.nf,m表示总输出宽度(包括符号位和小数点),表示总输出宽度(包括符号位和小数点),并且其中小数有并且其中小数有n位。若数据的实际位数小于位。若数据的实际位数小于m,左端补空,左端补空格,格,若大于若大于m,按实际位数输出,按实际位数输出;小数小于;小数小于n位则后面补位则后面补02.5 2.5 数据的输入和输出数据的输入和输出-1-150计算机科学与工程学院【例例2-12】输出实型数据,观察输出宽度。输出实型数据,观察输出宽度。2.5 2.5 数据的输入和输出数据的输入和输出#includeintmain()doubled=3.1415926;pri

37、ntf(%f,%en,d,d);printf(%5.3f,%5.2f,%.2fn,d,d,d);return0;3.141593,3.141593e+0003.142,3.14,3.1451计算机科学与工程学院(4)字符型数据的输入和输出字符型数据的输入和输出l可以用可以用scanf函数和函数和printf函数,采用函数,采用%c格式说明格式说明lputchar()-标准字符输出函数标准字符输出函数向标准输出设备输出一个字符向标准输出设备输出一个字符putchar(a);ch1=B;putchar(ch1);lgetchar()-标准字符输入函数标准字符输入函数从标准输入设备接收一个字符从标准

38、输入设备接收一个字符charc;c=getchar();2.5 2.5 数据的输入和输出数据的输入和输出-2-252计算机科学与工程学院【例例2-14】调用各种函数输入输出字符。调用各种函数输入输出字符。2.5 2.5 数据的输入和输出数据的输入和输出#includeintmain()charch1,ch2,ch3,ch4;ch1=getchar();ch2=getchar();putchar(ch1);/*输出存放在变量输出存放在变量ch1中的字符中的字符*/putchar(#);/*输出字符常量输出字符常量#*/putchar(ch2);printf(n+otherformatn);sca

39、nf(%c%c%c%c,&ch1,&ch2,&ch3,&ch4);printf(%c%c%c%cn,ch1,ch2,ch3,ch4);return0;53计算机科学与工程学院2.5 2.5 数据的输入和输出数据的输入和输出#includeintmain()inta=2,b=2,x,y;x=-a+2;y=b-+2;printf(“x=%dy=%da=%db=%dn”,x,y,a,b);return0;程序运行的结果:程序运行的结果:54计算机科学与工程学院输入输出的常见错误:输入输出的常见错误:1、scanf()中变量名前忘了中变量名前忘了&编译能通过,也能运行,就是结果不对,而且是乱七编译能通

40、过,也能运行,就是结果不对,而且是乱七八糟的。以后若也遇到了这样的问题,不妨先看看八糟的。以后若也遇到了这样的问题,不妨先看看scanf。2、printf()中变量数比格式控制中变量数比格式控制%少了一个少了一个printf(“%d%f”,i)输出变量比格式少了一个,编译不会指出错误,不管输出变量比格式少了一个,编译不会指出错误,不管如何输入第如何输入第2个数据,输出结果就是不对,而且值是固个数据,输出结果就是不对,而且值是固定的。定的。2.5 2.5 数据的输入和输出数据的输入和输出55计算机科学与工程学院3、printf()中变量类型与格式控制不一致中变量类型与格式控制不一致printf(

41、“%f%f”,i,y)i本是本是int类型,错写成类型,错写成%f输出,计算机也不会指出输出,计算机也不会指出错误,随意输出一个结果。错误,随意输出一个结果。4、定义变量打错字了、定义变量打错字了比如本来应定义一个整型变量比如本来应定义一个整型变量count,后面用到该变,后面用到该变量很多次,结果定义时错写成量很多次,结果定义时错写成coumt。编译时出现了。编译时出现了十几个错误十几个错误2.5 2.5 数据的输入和输出数据的输入和输出56计算机科学与工程学院2.6 2.6 顺序结构顺序结构语句的执行顺序与书写顺序一致,程序按照语句次序,依语句的执行顺序与书写顺序一致,程序按照语句次序,依

42、次执行。次执行。1、顺序结构示例、顺序结构示例【例例2-16】对两个变量先输入两个不同的值,然后交换对两个变量先输入两个不同的值,然后交换这两个变量的值,输出。这两个变量的值,输出。512xy交换变量的值交换变量的值125xytemp=x;x=y;y=temp;57计算机科学与工程学院2、变量获取数据的几种方法、变量获取数据的几种方法C语言中规定,变量必须先定义,然后才能使用语言中规定,变量必须先定义,然后才能使用变量获取数据通常的方法变量获取数据通常的方法变量初始化(变量定义时直接赋值)变量初始化(变量定义时直接赋值)inti,j=4;inta=0,b=0,c=0;错误用法:错误用法:intx=y=0; 出现出现y未定义的错误!未定义的错误!使用赋值表达式使用赋值表达式使用输入函数使用输入函数scanf2.6 2.6 顺序结构顺序结构58计算机科学与工程学院小结小结1、常量和变量的基本概念、常量和变量的基本概念2、C语言的基本数据类型及表示语言的基本数据类型及表示3、简单的算术运算符和赋值运算符、简单的算术运算符和赋值运算符4、标准输入、标准输入scanf()、输出、输出printf()函数函数5、字符输入、字符输入getchar()、输出、输出putchar()函数函数6、两个变量交换的基本方法、两个变量交换的基本方法59

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

最新文档


当前位置:首页 > 建筑/环境 > 施工组织

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