《C++程序设计》(第2版)-第2章-基本程序设计课件_第1页
《C++程序设计》(第2版)-第2章-基本程序设计课件_第2页
《C++程序设计》(第2版)-第2章-基本程序设计课件_第3页
《C++程序设计》(第2版)-第2章-基本程序设计课件_第4页
《C++程序设计》(第2版)-第2章-基本程序设计课件_第5页
已阅读5页,还剩63页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第二章C语言基础第二章C语言基础1主要内容⒈数据及其表示方法;

⒉数据的基本运算;

⒊基本输入输出。程序是对数据按照算法处理,并输出结果的过程,因此,以上三个问题是程序设计的基本问题。主要内容⒈数据及其表示方法;程序是对数22.1数据类型1/2?

数据是对客观事物特征抽象的符号化表示,客观事物不同,表示的方法也不同(人数以整数表示,圆面积用小数表示,灯的状态用开关表示,信件要用文字表示),计算机的处理方法也不同,因此根据程序处理的数据对象,应规定数据的类型。计算机由于工程的限制,只能在有限精度和有限范围内在工程上近似地描述操作的对象——数据。

数据类型决定了数据的如下特征:⑴数据的外部表示方式和内部存储方式不同;⑵表示的范围和精度不同;⑶对数据的处理方式不同。2.1数据类型1/2?数据是对客观事物特征抽象的3C语言的数据类型C语言的数据类型基本类型字符型char浮点型floatdouble构造类型数组、结构、联合、枚举型enum指针类型空类型void整型intC语言的数据类型C语言的数据类型基本类型字符型char浮点42.2常量(Constant)及其类型⒈常量的概念在程序中不能改变的量称为常量。常量的类型由数据的外部表现形式确定。⒉常量的外部形式及其确定的类型⑴整型常量的表示整型常量根据表示的范围可以有一般整型和长整型,还可以表示为十进制、八进制、十六进制形式。一般整型常量的表示进制表示举例范围字节数十进制2304-32768~+327672八进制

044000~0177777

2十六进制0xaa000x0000~0xffff2长整型常量的表示进制表示举例范围字节数十进制-21234l

-231~+231-14八进制

04400l

0~037777777777

4十六进制0XAA00L

0x0000----0xffffffff42.2常量(Constant)及其类型⒈常量的5⑵浮点型常量的表示(只有十进制表示)浮点型常量有两种表示方式:小数表示方法,指数表示方法。不区分单、双精度。小数表示方式规则:一个小数点、符号和至少一位数字。-2.01.0.11113-15.指数表示方式规则:规则:ne±m表示n×10mn小数部分,整型常量或小数形式表示的实型常量。指数部分,两位整数。n决定精度,一般精度为7位;m决定范围,范围10-38到10+38,当超过范围时称为“溢出”,小于10-38称为下溢,当0处理,大于10+38,称为上溢,系统出错!表示为0.123456E+3-10000000表示为-1e7表示为⑵浮点型常量的表示(只有十进制表示)浮点型常6⑶字符常量的表示表示ASCII字符集中的一个字符。字符有一个整型值,即该字符的ASCII码值。表示方法:’a’、’!’。撇号定界的一个字符。值为:97⑷字符串常量的表示双引号“定界的字符序列。系统会在最后一个字符后加NULL(ASCII码值为0),标志字符串的结束。如:”HEFEI””Hello!”’a’和”a”的区别?内部’a’:97”a”:97NULL72101108108111330Hello!\0”Hello!”在内存中的存储结构:⑶字符常量的表示表示ASCII字符集中的一个字7⑸符号常量格式:#define符号常量名常量好处:(1)以简代繁;(2)一改全改。注意:常量符号名习惯用大写字母。例如:说明:必须先说明,后使用。⑸符号常量格式:#define符号常量名常量好82.3变量(Variable)及其类型⒈变量的概念变量是在程序中可以改变的量,变量具有三个特征:

⑴变量有名,用标识符命名;

⑵变量有类型;

⑶在程序中可以改变。

变量对应于内存中某一地址下的几个单元,变量名作为程序引用变量的标志。变量的类型确定了变量在内存中所占单元的数量及其表示的方式。变量的地址可以通过&运算获得。内存inta;a变量的引用标志&a对应a的地址。整型变量占两个内存单元。变量必须先说明后使用!说明的目的是确定变量的名字和类型。2.3变量(Variable)及其类型⒈变量9⒉变量的说明形式:type变量名表;/*以,分隔的标识符表*/inta,b,c;type是类型说明词,对于整型和字符型可加修饰说明。基本类型说明符:int、char、float、double修饰说明和基本说明的对应关系修饰说明词可用于修饰的基本类型singed/unsignedint、charshort/longintlonginta,b,c;⒉变量的说明形式:inta,b,c;type是类型说明词10⑴整型变量说明说明词及性质如下:说明词含义范围Byteint有符号一般整型-32768~327672short[int]有符号短整型-32768~327672long[int]有符号长整型-231~+231-14unsigned无符号一般整型0~655352unsignedshort无符号短整型0~655352unsignedlong无符号长整型0~232-14shorta,b,c;inte,f,g;long_qs,num;unsignedd,e,f;⑴整型变量说明说明词及性质如下:说明词含义范围Byteint11⑵字符型变量的说明说明符所占字节数 范围char 1 -128~+127unsignedchar 1 0~255⑶浮点型变量的说明说明符所占字节数 范围精度float 4 10-38~10+38 7位double 8 10-308~10+308 16位浮点型变量包含精度和范围两个概念。⑴超过精度位数后的位数值不确定。floata;1111;⑵超过范围溢出(Overflow)。超出精度部分,不准确。floata,b,c;a=1.234e+20;b=2.345e+21;c=a*b;超出1038,溢出。当运算结果大于10+38称为上溢,系统出错。当运算结果小于10-38称为下溢,当0处理。⑵字符型变量的说明说明符所占字122.4运算符与表达式程序的核心是对数据按照算法进行处理(运算)。C语言提供了强大的数据运算功能。数据通过运算符连接的式子称为表达式,表达式根据运算关系对数据运算,并得到一个值。⒈变量赋值(Assignment)运算格式:V=expression;/*将expression的值赋给变量V*/inta=2;/*说明赋值,编译时赋值。*/intb;b=3+2;/*说明后赋值,执行时赋值。*/说明:⑴=是赋值号(动词);⑵赋值运算的左值只能是变量。a=a+2;iCount=iCount+10;a+2=12;/*Error!*/⑶赋值号两边类型应该一致,如不一致,以变量类型转换。inta=2.5;/*2a*/2.4运算符与表达式程序的核心是对数据按照13⒉算术运算(Arithmeticoperators)功能:完成各种类型数据的加、减、乘、除及求余数运算。⑴双目算术运算(两个运算对象参加的运算)运算运算规则示例+加2+3-减a-b*乘2*(-a)/除12/3.0%求余数15%4只能对整型或字符型数据运算。余数符号与被除数相同。注意:乘号不能省略!-12%5-2-12%(-5)1%2⒉算术运算(Arithmeticoperators)功能14⑵自加、自减运算(单目运算)运算符前置后置运算关系++++aa++a=a+1

----aa--a=a-1说明:①运算对象只能是一个变量。②前置是先运算,后引用,而后置则是先引用,后运算。2++;/*Error!*/inti,x;i=5;x=i++;/*x=i;i=i+1;*/i=5;x=++i;/*i=i+1;x=i;*/#include<stdio.h>voidmain(void){inta=2,b=3,c;c=a+++b;printf(“%d”,c);}CHAP2EX1C语言尽可能多的从左向右结合符号形成运算符。⑵自加、自减运算(单目运算)运算符前置后置运算关系++++a15⑶算术运算赋值运算符表达式示例运算关系+=a+=3a=a+3-=b-=cb=b-c*=a*=2a=a*2/=s/=ts=s/t%=a%=5a=a%5说明:①运算对象的左值只能是一个变量。(a+2)+=5;/*Error!*/②%=运算的对象,必须是整型或字符型。例:a=12;a+=a-=a*a//等价于a=a+(a=a-(a*a))A=-264③赋值表达式的值与变量值相等,且可嵌套。

⑶算术运算赋值运算符表达式示例运算关系+=a+=3a=a+16⑷算术运算的说明①运算中的类型问题运算对象的类型相同,运算结果取运算对象相同的类型。inta;floatb;b=2/3;/*0b0.0*/a=5.0/2.0;a2*/运算对象的类型不同,先将低等类型转换为高等类型后再进行运算,运算结果取高等类型。等级原则如下:charintlongdoublefloat2*+doubledoubledouble运算时可以实行类型的强制转换,格式如下:(type)expression只对当前表达式起作用。(float)a/(int)’c’+(float)(a+10)2+int(fSum)⑷算术运算的说明①运算中的类型问题运算对象的类型相同,运算结17类型转换举例inta;floatb;intc;c=a*1.0+b*5+(float)’A’;idfic

d

d

ff

d

dcint注意:赋值运算右值表达式的类型转换以左值变量的类型为准。类型转换举例inta;idficddffddc18②运算的优先级表达式的运算是分步骤进行的。因此当一个表达式中出现多种运算时,存在优先级的问题。算术运算的优先级如下:++、--、(type)单目运算*、/、%+、-=、op=相同优先级,结合顺序从左到右!3*4+6/a-6%3;相同优先级,结合顺序从右到左!inta,b=2,c=2;a=b*=c+=2;可以用()调整优先级。c=c+2;b=b*c;a=b;②运算的优先级表达式的运算是分步骤进行的。因此19⒊条件运算运算格式:e1?e2:e3e1、e2、e3为表达式,当e1非0时,运算结果取e2的值;当e1为0时,取e3的值。inta=2,b=3,c=-1,d;d=a?b:c;/*d为3*/a=0;d=a?b:c;/*d为-1*/⒋逗号表达式格式:e1,e2,e3,…,en用,分隔的表达式,计算顺序从左到右,表达式取值为en;⒌sizeof运算形式:sizeof数据对象; sizeof(类型说明符);inta,b,c;b=sizeofa;/*b的值为2*/c=sizeof(float);/*c的值为4*/x=(a=5,a+6)*10;⒊条件运算运算格式:e1、e2、e3为表达式,20C语言常用数学函数为方便用户使用,C语言系统定义了大量函数。数学函数主要目的是求解常用数学函数,如sinX等。数学函数的原型定义在系统的头文件中。在使用此类函数时,应在程序的开始出加如下语句:#include<math.h>使用方法:作为一个运算项参加表达式运算。函数的参数(自变量)、函数的值都是double类型。y=sqrt(sin(x)*sin(x)+cos(x)*cos(x))log10xlog10(x)lnxlog(x)sqrt(x)xypow(x,y)|x|fabs(x)tanXtan(x)cosXcos(x)sinXsin(x)数学含义函数C语言常用数学函数为方便用户使用,C语212.5数据的输入输出Input&Output

C语言没有输入输出语句,输入输出是通过系统定义的标准函数来实现的。I/O函数的原型定义在头文件中,在引用I/O函数时,应应在程序开始处加预处理语句包含头文件。#include<stdio.h>⒈输入输出的概念输入输出指的是内存变量或程序和外部设备间的数据交换。内存外设输入输出输入输出函数要描述:⑴输入输出的量;⑵输入输出的格式;⑶输入输出的设备。2.5数据的输入输出Input&Output222.字符输入输出函数(1)输入:getchar()

从标准输入设备(键盘)读入一个字符。

调用格式:c=getchar();

c—为一字符型或整型变量。例:#include<stdio.h>main(){inta1,a2;charc1,c2;a1=97;a2=65;c1=‘a’;c2=‘A’;putchar(a1);putchar(a2);putchar(c1);putchar(c2);putchar(‘\n’);a1=getchar();c1=getchar();putchar(a1);putchar(‘\t’);putchar(c1);}(2)输出:putchar()

向标准输出设备(显示器)输出一个字符。

调用格式:putchar(c);

c—为一字符型或整型变量和常量。如:putchar(‘A’);putchar(65);均输出字母A。

程序运行结果:aAaA输入:97972.字符输入输出函数(1)输入:getchar()从标23⒊格式输入输出函数⑴输出函数printf()格式: printf(“输出格式字符串”,输出项列表);格式描述。用,分隔的常量、变量、表达式表。输出格式字符串可包含以下内容:①普通字符,如:a=②转义字符,如:\n对于普通字符和转义字符在相应位置原样输出,其中%用%%。printf(“\nabcd%%”);输出结果:abcd%③格式说明符组,说明输出项列表中的各项的输出格式。格式说名符组用%为开始标志。内容包含对一项输出对象的格式说明。%f⒊格式输入输出函数⑴输出函数printf()格式:格式描述24格式说明类型表格式说明符说明量的类型d、o、x、u整型c字符型s字符串f、e、g浮点型格式说明符应和输出的列表项对应,产生相应的输出。其中输出的表项应与格式说明符类型一致。printf(“a=%5d\nb=%f”,

2+3,

);输出结果:a=5

格式说明类型表格式说明符说明量的类型d、o、x、u整25格式说明串的一般形式和意义%-

l

格式类型字符(一个字母)格式说明标志对齐方式:缺省为右对齐,-为左对齐。宽度.精度(位数),宽度:输出总列数,精度:小数位数(或字符位数)。整型长度,缺省短整型,l长整型。#include<stdio.h>voidmain(void){floata;a=1.232326;printf(“a=”,a);}CHAP2EX2格式说明串的一般形式和意义%-l格式类型26各种类型数据输出举例⑴字符型输出charch=’b’;printf(“%5c,

%-5c,

%c”,ch,ch-32,’s’+1);输出结果:b,B,t⑵字符串输出#include<stdio.h>voidmain(void){charchString[]="China";printf("%s,%6s,%-6s\n",chString,chString,chString);printf(“%4s","Hefei","Hefei","Hefei");}China,

China,

China

HefeiHeHe宽度不够,原样输出。,m为总输出列数,n截取输出字符数。各种类型数据输出举例⑴字符型输出char27⑶整型输出#include<stdio.h>voidmain(void){unsignedinta=65535;intb=-2;printf("a=%d,%o,%x,%u",a,a,a,a);printf("\nb=%6d%8o%5X%6u",b,b,b,b);}a=-1,177777,ffff,65535b=-2177776FFFE65534⑶整型输出#include<stdio.h>a=-1,1728⑷浮点数输出include<stdio.h>voidmain(void){floatf=123.456;printf("%f,%10f,,\n",f,-f,f,-f);},,,

小数保留两位,四舍五入截断。符号占一位!⑷浮点数输出include<stdio.h>,,,29⑵输入函数scanf()格式:scanf(“格式说明字符串”,输入变量地址列表);说明:①m域宽可自动截取,空格作为各数据项的分隔符。voidmain(void){inti,j;scanf("%3d%3d",&i,&j);printf("%d\n%d",i,j);}123456②实型变量输入时不能规定精度;scanf(“%7.2f”,&a);ERROR!

③数据输入用SPACE分隔,当格式字符用其他字符隔离,输入时也应在对应位置上输入相同的字符;voidmain(void){inti,j;scanf("i=%d,j=%d",&i,&j);printf("\n%d\n%d",i,j);}④输入项只能是变量,且必须用地址形式。⑵输入函数scanf()格式:说明:voidmain(v30程序设计举例⒈已知:有一圆柱体,底半径为r,圆柱高为h。

求:底面积、表面积,底周长、体积。⑴定义变量fAread、fAreas,fLen,fV──输出;r、h──输入。rh建立模型fLen=2rfAread=r2,fAreas=2r2+2rh=2fAread+fLenhfV=fAreadh程序设计举例⒈已知:有一圆柱体,底半径为r,圆31程序如下:#include<>voidmain(void){floatfAread,fAreas,fLen,fV,r,h;/*说明变量*/scanf(“%f,%f”,&r,&h);/*输入原始数据*/fLen=2.*3.1415926*r;fAread=3.1415926*r*r;fAreas=2.0*fAread+fLen*h;fV=fAread*h;/*运算,并赋给变量*/printf(“%f\n%f\n%f\n%f\n”,fLen,fAread,fAreas,fV);

/*输出结果*/}CHAP2EX3程序如下:#include<>CHAP2EX3322.求一元二次方程ax2+bx+c=0的根。#include<math.h>#include<stdio.h>voidmain(void){floata,b,c,x1,x2;scanf(“%f,%f,%f”,&a,&b,&c);x1=(-b+sqrt(b*b-4.*a*c))/(2.0*a);x2=(-b-sqrt(b*b-4.*a*c))/(2.0*a);printf(“x1=%7.2f\nx2=%7.2f”,x1,x2);}CHAP2EX4b*b-4.*a*c<0问题2.求一元二次方程ax2+bx+c=0的根。#includ33思考题总结各类型常量、变量的特征和操作方法。自己找一些代数式写出对应的C语言表达式。编程求圆锥体的体积。结合数学问题用C编程求解。思考题总结各类型常量、变量的特征和操作方法。34第二章C语言基础第二章C语言基础35主要内容⒈数据及其表示方法;

⒉数据的基本运算;

⒊基本输入输出。程序是对数据按照算法处理,并输出结果的过程,因此,以上三个问题是程序设计的基本问题。主要内容⒈数据及其表示方法;程序是对数362.1数据类型1/2?

数据是对客观事物特征抽象的符号化表示,客观事物不同,表示的方法也不同(人数以整数表示,圆面积用小数表示,灯的状态用开关表示,信件要用文字表示),计算机的处理方法也不同,因此根据程序处理的数据对象,应规定数据的类型。计算机由于工程的限制,只能在有限精度和有限范围内在工程上近似地描述操作的对象——数据。

数据类型决定了数据的如下特征:⑴数据的外部表示方式和内部存储方式不同;⑵表示的范围和精度不同;⑶对数据的处理方式不同。2.1数据类型1/2?数据是对客观事物特征抽象的37C语言的数据类型C语言的数据类型基本类型字符型char浮点型floatdouble构造类型数组、结构、联合、枚举型enum指针类型空类型void整型intC语言的数据类型C语言的数据类型基本类型字符型char浮点382.2常量(Constant)及其类型⒈常量的概念在程序中不能改变的量称为常量。常量的类型由数据的外部表现形式确定。⒉常量的外部形式及其确定的类型⑴整型常量的表示整型常量根据表示的范围可以有一般整型和长整型,还可以表示为十进制、八进制、十六进制形式。一般整型常量的表示进制表示举例范围字节数十进制2304-32768~+327672八进制

044000~0177777

2十六进制0xaa000x0000~0xffff2长整型常量的表示进制表示举例范围字节数十进制-21234l

-231~+231-14八进制

04400l

0~037777777777

4十六进制0XAA00L

0x0000----0xffffffff42.2常量(Constant)及其类型⒈常量的39⑵浮点型常量的表示(只有十进制表示)浮点型常量有两种表示方式:小数表示方法,指数表示方法。不区分单、双精度。小数表示方式规则:一个小数点、符号和至少一位数字。-2.01.0.11113-15.指数表示方式规则:规则:ne±m表示n×10mn小数部分,整型常量或小数形式表示的实型常量。指数部分,两位整数。n决定精度,一般精度为7位;m决定范围,范围10-38到10+38,当超过范围时称为“溢出”,小于10-38称为下溢,当0处理,大于10+38,称为上溢,系统出错!表示为0.123456E+3-10000000表示为-1e7表示为⑵浮点型常量的表示(只有十进制表示)浮点型常40⑶字符常量的表示表示ASCII字符集中的一个字符。字符有一个整型值,即该字符的ASCII码值。表示方法:’a’、’!’。撇号定界的一个字符。值为:97⑷字符串常量的表示双引号“定界的字符序列。系统会在最后一个字符后加NULL(ASCII码值为0),标志字符串的结束。如:”HEFEI””Hello!”’a’和”a”的区别?内部’a’:97”a”:97NULL72101108108111330Hello!\0”Hello!”在内存中的存储结构:⑶字符常量的表示表示ASCII字符集中的一个字41⑸符号常量格式:#define符号常量名常量好处:(1)以简代繁;(2)一改全改。注意:常量符号名习惯用大写字母。例如:说明:必须先说明,后使用。⑸符号常量格式:#define符号常量名常量好422.3变量(Variable)及其类型⒈变量的概念变量是在程序中可以改变的量,变量具有三个特征:

⑴变量有名,用标识符命名;

⑵变量有类型;

⑶在程序中可以改变。

变量对应于内存中某一地址下的几个单元,变量名作为程序引用变量的标志。变量的类型确定了变量在内存中所占单元的数量及其表示的方式。变量的地址可以通过&运算获得。内存inta;a变量的引用标志&a对应a的地址。整型变量占两个内存单元。变量必须先说明后使用!说明的目的是确定变量的名字和类型。2.3变量(Variable)及其类型⒈变量43⒉变量的说明形式:type变量名表;/*以,分隔的标识符表*/inta,b,c;type是类型说明词,对于整型和字符型可加修饰说明。基本类型说明符:int、char、float、double修饰说明和基本说明的对应关系修饰说明词可用于修饰的基本类型singed/unsignedint、charshort/longintlonginta,b,c;⒉变量的说明形式:inta,b,c;type是类型说明词44⑴整型变量说明说明词及性质如下:说明词含义范围Byteint有符号一般整型-32768~327672short[int]有符号短整型-32768~327672long[int]有符号长整型-231~+231-14unsigned无符号一般整型0~655352unsignedshort无符号短整型0~655352unsignedlong无符号长整型0~232-14shorta,b,c;inte,f,g;long_qs,num;unsignedd,e,f;⑴整型变量说明说明词及性质如下:说明词含义范围Byteint45⑵字符型变量的说明说明符所占字节数 范围char 1 -128~+127unsignedchar 1 0~255⑶浮点型变量的说明说明符所占字节数 范围精度float 4 10-38~10+38 7位double 8 10-308~10+308 16位浮点型变量包含精度和范围两个概念。⑴超过精度位数后的位数值不确定。floata;1111;⑵超过范围溢出(Overflow)。超出精度部分,不准确。floata,b,c;a=1.234e+20;b=2.345e+21;c=a*b;超出1038,溢出。当运算结果大于10+38称为上溢,系统出错。当运算结果小于10-38称为下溢,当0处理。⑵字符型变量的说明说明符所占字462.4运算符与表达式程序的核心是对数据按照算法进行处理(运算)。C语言提供了强大的数据运算功能。数据通过运算符连接的式子称为表达式,表达式根据运算关系对数据运算,并得到一个值。⒈变量赋值(Assignment)运算格式:V=expression;/*将expression的值赋给变量V*/inta=2;/*说明赋值,编译时赋值。*/intb;b=3+2;/*说明后赋值,执行时赋值。*/说明:⑴=是赋值号(动词);⑵赋值运算的左值只能是变量。a=a+2;iCount=iCount+10;a+2=12;/*Error!*/⑶赋值号两边类型应该一致,如不一致,以变量类型转换。inta=2.5;/*2a*/2.4运算符与表达式程序的核心是对数据按照47⒉算术运算(Arithmeticoperators)功能:完成各种类型数据的加、减、乘、除及求余数运算。⑴双目算术运算(两个运算对象参加的运算)运算运算规则示例+加2+3-减a-b*乘2*(-a)/除12/3.0%求余数15%4只能对整型或字符型数据运算。余数符号与被除数相同。注意:乘号不能省略!-12%5-2-12%(-5)1%2⒉算术运算(Arithmeticoperators)功能48⑵自加、自减运算(单目运算)运算符前置后置运算关系++++aa++a=a+1

----aa--a=a-1说明:①运算对象只能是一个变量。②前置是先运算,后引用,而后置则是先引用,后运算。2++;/*Error!*/inti,x;i=5;x=i++;/*x=i;i=i+1;*/i=5;x=++i;/*i=i+1;x=i;*/#include<stdio.h>voidmain(void){inta=2,b=3,c;c=a+++b;printf(“%d”,c);}CHAP2EX1C语言尽可能多的从左向右结合符号形成运算符。⑵自加、自减运算(单目运算)运算符前置后置运算关系++++a49⑶算术运算赋值运算符表达式示例运算关系+=a+=3a=a+3-=b-=cb=b-c*=a*=2a=a*2/=s/=ts=s/t%=a%=5a=a%5说明:①运算对象的左值只能是一个变量。(a+2)+=5;/*Error!*/②%=运算的对象,必须是整型或字符型。例:a=12;a+=a-=a*a//等价于a=a+(a=a-(a*a))A=-264③赋值表达式的值与变量值相等,且可嵌套。

⑶算术运算赋值运算符表达式示例运算关系+=a+=3a=a+50⑷算术运算的说明①运算中的类型问题运算对象的类型相同,运算结果取运算对象相同的类型。inta;floatb;b=2/3;/*0b0.0*/a=5.0/2.0;a2*/运算对象的类型不同,先将低等类型转换为高等类型后再进行运算,运算结果取高等类型。等级原则如下:charintlongdoublefloat2*+doubledoubledouble运算时可以实行类型的强制转换,格式如下:(type)expression只对当前表达式起作用。(float)a/(int)’c’+(float)(a+10)2+int(fSum)⑷算术运算的说明①运算中的类型问题运算对象的类型相同,运算结51类型转换举例inta;floatb;intc;c=a*1.0+b*5+(float)’A’;idfic

d

d

ff

d

dcint注意:赋值运算右值表达式的类型转换以左值变量的类型为准。类型转换举例inta;idficddffddc52②运算的优先级表达式的运算是分步骤进行的。因此当一个表达式中出现多种运算时,存在优先级的问题。算术运算的优先级如下:++、--、(type)单目运算*、/、%+、-=、op=相同优先级,结合顺序从左到右!3*4+6/a-6%3;相同优先级,结合顺序从右到左!inta,b=2,c=2;a=b*=c+=2;可以用()调整优先级。c=c+2;b=b*c;a=b;②运算的优先级表达式的运算是分步骤进行的。因此53⒊条件运算运算格式:e1?e2:e3e1、e2、e3为表达式,当e1非0时,运算结果取e2的值;当e1为0时,取e3的值。inta=2,b=3,c=-1,d;d=a?b:c;/*d为3*/a=0;d=a?b:c;/*d为-1*/⒋逗号表达式格式:e1,e2,e3,…,en用,分隔的表达式,计算顺序从左到右,表达式取值为en;⒌sizeof运算形式:sizeof数据对象; sizeof(类型说明符);inta,b,c;b=sizeofa;/*b的值为2*/c=sizeof(float);/*c的值为4*/x=(a=5,a+6)*10;⒊条件运算运算格式:e1、e2、e3为表达式,54C语言常用数学函数为方便用户使用,C语言系统定义了大量函数。数学函数主要目的是求解常用数学函数,如sinX等。数学函数的原型定义在系统的头文件中。在使用此类函数时,应在程序的开始出加如下语句:#include<math.h>使用方法:作为一个运算项参加表达式运算。函数的参数(自变量)、函数的值都是double类型。y=sqrt(sin(x)*sin(x)+cos(x)*cos(x))log10xlog10(x)lnxlog(x)sqrt(x)xypow(x,y)|x|fabs(x)tanXtan(x)cosXcos(x)sinXsin(x)数学含义函数C语言常用数学函数为方便用户使用,C语552.5数据的输入输出Input&Output

C语言没有输入输出语句,输入输出是通过系统定义的标准函数来实现的。I/O函数的原型定义在头文件中,在引用I/O函数时,应应在程序开始处加预处理语句包含头文件。#include<stdio.h>⒈输入输出的概念输入输出指的是内存变量或程序和外部设备间的数据交换。内存外设输入输出输入输出函数要描述:⑴输入输出的量;⑵输入输出的格式;⑶输入输出的设备。2.5数据的输入输出Input&Output562.字符输入输出函数(1)输入:getchar()

从标准输入设备(键盘)读入一个字符。

调用格式:c=getchar();

c—为一字符型或整型变量。例:#include<stdio.h>main(){inta1,a2;charc1,c2;a1=97;a2=65;c1=‘a’;c2=‘A’;putchar(a1);putchar(a2);putchar(c1);putchar(c2);putchar(‘\n’);a1=getchar();c1=getchar();putchar(a1);putchar(‘\t’);putchar(c1);}(2)输出:putchar()

向标准输出设备(显示器)输出一个字符。

调用格式:putchar(c);

c—为一字符型或整型变量和常量。如:putchar(‘A’);putchar(65);均输出字母A。

程序运行结果:aAaA输入:97972.字符输入输出函数(1)输入:getchar()从标57⒊格式输入输出函数⑴输出函数printf()格式: printf(“输出格式字符串”,输出项列表);格式描述。用,分隔的常量、变量、表达式表。输出格式字符串可包含以下内容:①普通字符,如:a=②转义字符,如:\n对于普通字符和转义字符在相应位置原样输出,其中%用%%。printf(“\nabcd%%”);输出结果:abcd%③格式说明符组,说明输出项列表中的各项的输出格式。格式说名符组用%为开始标志。内容包含对一项输出对象的格式说明。%f⒊格式输入输出函数⑴输出函数printf()格式:格式描述58格式说明类型表格式说明符说明量的类型d、o、x、u整型c字符型s字符串f、e、g浮点型格式说明符应和输出的列表项对应,产生相应的输出。其中输出的表项应与格式说明符类型一致。printf(“a=%5d\nb=%f”,

2+3,

);输出结果:a=5

格式说明类型表格式说明符说明量的类型d、o、x、u整59格式说明串的一般形式和意义%-

l

格式类型字符(一个字母)格式说明标志对齐方式:缺省为右对齐,-为左对齐。宽度.精度(位数),宽度:输出总列数,精度:小数位数(或字符位数)。整型长度,缺省短整型,l长整型。#include<stdio.h>voidmain(void){floata;a=1.232326;printf(“a=”,a);}CHAP2EX2格式说明串的一般形式和意义%-l格式类型60各种类型数据输出举例⑴字符型输出charch=’b’;printf(“%5c,

%-5c,

%c”,ch,ch-32,’s’+1);输出结果:b,B,t⑵字符串输出#include<stdio.h>voidmain(void){charchString[]="China";printf("%s,%6s,%-6s\n",chString,chString,chString);printf(“%4s","Hefei",

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论