C数据类型、运算符、表达式及顺序程序设计.ppt_第1页
C数据类型、运算符、表达式及顺序程序设计.ppt_第2页
C数据类型、运算符、表达式及顺序程序设计.ppt_第3页
C数据类型、运算符、表达式及顺序程序设计.ppt_第4页
C数据类型、运算符、表达式及顺序程序设计.ppt_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

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

文档简介

1 数据类型、运算符、数据类型、运算符、 表达式及顺序程序设计表达式及顺序程序设计 2 第一个第一个C C语言程序语言程序 /* 第一个C语言程序 */ #include int main() printf(“Hello, World!n“); return 0; 注释 头文件 主函数 输出函数 格式说明:换行符 编译预处理命令(“文件包含”处理) 开始 结束 3 第二个第二个C C语言程序语言程序 /* 第二个程序:加法计算程序 */ #include int main( ) int nInteger1, nInteger2, nSum; printf(“请输入第一个整数:“); scanf(“%d“, printf(“请输入第二个整数:“); scanf(“%d“, nSum = nInteger1 + nInteger2; printf(“%d与%d的和为%dn“, nInteger1, nInteger2, nSum); return 0; 4 简单程序:输出一行文本简单程序:输出一行文本 /*功能:在屏幕上输出一行文本*/ #include int main() printf(“This is a C program. n“); return 0; 5 求两数之和求两数之和 #include int main() int a,b,sum; a=123; b=456; sum=a+b; printf(“sum=%dn“,sum); return 0; 6 用多函数方法求输入两个整数输出最大数用多函数方法求输入两个整数输出最大数 #include int main() int max(int x,int y); int a,b,c; printf(“请输入两个整数:“); scanf(“%d,%d“, c=max(a,b); printf(“max=%dn“,c); return 0; int max(int x,int y) int z; if(xy) z=x; else z=y; return (z); 7 函 数 int max (int x, int y) int z; if(xy) z=x; else z=y; return (z); 函数的首部 函数类型函数名函数参数类型函数参数名 函数参数类型 函数参数名 函数体 声明部分 执行部分 8 lC程序由函数构成 l一个函数由两部分组成 函数的首部 函数体 声明部分 执行部分 l一个C程序总是从main函数开始执行 lC程序书写格式自由,一行内可以写几个语句 l每个语句和数据定义的最后必须有一个分号(;) l两种注释方式 a=25; b=025; c=0x25; printf(“%d %d %dn“,a,b,c); return 0; 25 21 37 11 练习练习 #include int main() int i=9; printf(“%on“,i); return 0; 11 12 整型变量的分类整型变量的分类 l基本整型:int l短整型:short int 或 short l长整型:long int 或 long l无符号整型: unsigned int unsigned short unsigned long 13 数据类型的长度数据类型的长度 l整型类型的数据长度与特定的机器和系 统有关。 l一般来说: short16位 long32位 int16位或32位 l要求:short int long 14 整型变量的定义整型变量的定义 l变量在使用前必须定义 int x; /* 定义一个基本整型变量x */ int i, j; long l, k; unsinged long ul; int a=1, b=0; 15 应用举例应用举例 #include int main() int a, b, c, d; int x, y; a = 10; b = 15; c = 20; d = 25; x = a + b; y = c + d; printf(“x = %d y = %dn“, x, y); return 0; 16 整数常量的类型整数常量的类型 l没有后缀的整数常量是int常量 123, 376 llong常量以字母L或l结尾,在int与long不 等长的情况下,超出int范围的无后缀整 数也当作long常量处理 123L,376L l无符号常量以字母u或U结尾,ul或UL表 示unsigned long常量 123U,376UL 17 实型数据实型数据 l十进制小数形式:3.14 0.618 -14 . 3 l指数形式:1.56e5 3.14E6 注:规范化的指数形式: 小数点左边必须有且只能有一位非零数字 如:3.14E9,7.56E12 18 实型变量的分类实型变量的分类 类型 比特(位 )数 有效数字数值范围 单精度型 (float) 3267-3.4*10-383.4*1038 双精度型 (double) 641516-1.7*10-3081.7*10308 19 实型变量的定义实型变量的定义 float x, y; float z; float u = 3.14; double l; double e = 0.5; 20 字符型数据字符型数据 l字符常量是一个整数,用单撇号括起来的一个字 符。 a A X 2 l其值是该字符在机器字符集中的数值,如在 ASCII字符集中,2的值为50,a的值为97 l转义字符: n r t b lASCII码字符: ddd:三位八进制数表示一个字符,141=a xhh:两位十六进制数表示一个字符,x61=a 21 l转义字符 一组以“”开头的特殊字符序列,用这种方法可 以表示任何可输出的字母字符、专用字符、控制 字符和图形字符。 常用转义转义 字符表 转义转义 字 符 功 能 a响铃铃,发发出系统统警告声音 n换换行符,使屏幕光标标移到屏幕下一行开头头 r回车车,使屏幕光标标移到屏幕当前行开头头,不换换行 t制表符(横向跳格),使屏幕光标标移到下一制表位 反斜杠字符“ 单单撇号字符 “双撇号字符 22 #include int main() printf(“The file name is toolsbooklist.txt“); return 0; 练习: The file name is oolooklist.txt 23 字符变量字符变量 l一个字符占用8位。 char c, c1; c = a; c1 = 0; c1 = a + 1; /* c1 = b */ c = 97; 24 应用举例应用举例 l/* 大小写字符的转换 */ l#include lint main() l lchar c1, c2; lc1 = a; lc2 = b; lc1 = c1-32; lc2 = c2-32; lprintf(“%c %cn“, c1, c2); l return 0; l A B 25 应用举例应用举例 #include int main() char c; c = a; printf(“%c的ASCII码是%dn“, c, c); return 0; a的ASCII码是97 26 字符串常量字符串常量 l用双撇号括起来的字符序列是字符串常量 “TSINGHUA“ “a“ “a 3 5“ l存储时,字符串以0结束 注意:a和“a“是不一样的 T S I N G H U A 0 结束标志 27 数值型数据类型的转换数值型数据类型的转换 l当两个不同类型的数值进行数学运算时,首先 转换成相同的类型,再运算,结果的类型与该 类型一致。 l基本原则:就高不就低 5+5 = 10 5.0+5 = 10.0 9/5 = 1 9.0/5 = 1.8 6/5*3.0 = 3.0 6.0/5*3 = 3.6 注意了! 28 强制类型转换强制类型转换 int i = 8, j = 5; double x; x = i/j; /* x的结果为1.0 */ x = 1.0*i/j; /* x的结果为1.6 */ x = (double)i/j; /* x的结果为1.6 */ i = 3.14*3*3; /* 编译时有警告 */ i = (int)(3.14*3*3); /* 无警告 */ (类型名)(表达式) 29 算数运算符和算数表达式算数运算符和算数表达式 l:加法运算 l:减法运算 l*: 乘法运算 l/: 除法运算 l:求余运算 注:两个运算数必须为整数 5%3 = 2 -9%2 = -1 运算结果的符号与被除数相同 3%-2 =1 3%22 =3 30 常用数学函数 函 数 名功 能举举 例 fabs(x) abs(x) 计计算x的绝对值绝对值fabs(-3.5)等于3.5 sqrt(x)计计算x的非负负平方根sqrt(16.0)等于4.0 exp(x)计计算指数函数exexp(1.0)等于2.71828 log(x)计计算x的自然对对数ln xlog(2.718282)等于1.0 log10(x)计计算以10为为底的对对数函数 log10x Log10(10.0)等于1.0 pow(x,y)计计算xypow(2.0,3.0)等于8.0 sin(x)正弦函数sin(0.0)等于0.0 cos(x)余弦函数cos(0.0)等于1.0 31 数学算式的数学算式的C C语言表示语言表示 (1)数学式: C语言表达式: 3*pow(x,n)/(2*x-1) (2)数学式: C语言表达式:sqrt(s*(s-a)*(s-b)*(s-c) (3)根据半径计算圆的周长 数学式: s=2r C语言表达式:s=2*3.14159*r 32 优先级与结合性优先级与结合性 l按优先级的顺序进行运算 4*5+2*3 = 26 l相同优先级时,按结合性运算 l左结合性 4*5*6 = (4*5)*6 4.0/5.0*6.0 = (4.0/5.0)*6.0 l右结合性 i=j=k=0 = i=(j=(k=0) = i=0; j=0; k=0; 好的习惯:加括弧 33 练练 习习 求下面算术表达式的值 x+a%3*(int)(x+y)%2/4 设 x=2.5,a=7,y=4.7 2 . 500000 34 自增、自减运算符自增、自减运算符 li+:使用i之后,对i加1 l+i:使用i之前,对i加1 l i-: 使用i之后,对i减1 l -i: 使用i之前,对i减1 例: i = 2; k = i+ + 5; i = 2; k = +i + 5; K=7 K=8 i=i+1 i=i-1 35 自增、自减运算符(续)自增、自减运算符(续) l+、-只能作用于变量 l+、-是右结合的 l避免使用一些具有二义性的表达式 参数的计算次序因系统不同而不同 l建议:只单独使用自增、自减运算符! 36 练习练习 #include int main() int m=3,n=4,x; x= -m+; x=x+8/+n; printf(“%dn“, x); return 0; 2 37 练练 习习 #include int main() int i,j,m,n; i=8;j=10; m=+i ; n=j+; printf(“%d,%d,%d,%dn“,i,j,m,n); return 0; 9,11,9,10 38 复合赋值运算符复合赋值运算符 l = = = () a += 3; = a = a + 3; x *= y+8; = x = x*(y+8) x /= 8; = x = x/8; 39 赋值表达式赋值表达式 l a=5 a=b=c=5 a=5+(c=6) 40 练习练习: :写出下面表达式运算后写出下面表达式运算后a a的值的值, ,设原来设原来 a=12a=12。 设设a a和和n n已定义为整型变量已定义为整型变量 (1)a+=a (2) a- =2 (3) a*=2+3 (4) a/=a+a (5) a%=(n%=2) n的值等于5 (6) a+=a - =a*a (1) 24 (2) 10 (3) 60 (4) 0 (5) 0 (6)264 41 练习练习 #include int main() int k=2,i=2,m; m=(k+=i*=k); printf(“%d,%dn“,m,i); return 0; 6,4 42 逗号表达式逗号表达式 l表达式1,表达式2,表达式n 它的值为表达式n的值 例1:a=3*5,a*4,a+5 例2: 若x为int型变量,则逗号表达式 (x=4*5,x*5),x+25的结果为( ), x的值为( )。 20 45,20 43 练习练习 #include int main() int y=3,x=3,z=1; printf(“%d %dn“,(+x,y+),z+2); return 0; 3 3 44 C C程序结构图程序结构图 C程序 源程序文件2 函数1 函数首部 局部变量声明 源程序文件n源程序文件1 . 预处理命令函数n全局变量声明. 函数体 语句 45 C C语言语句分类语言语句分类 l控制语句 if (x 数学库函数: #include 50 格式输出函数格式输出函数printfprintf lprintf函数的格式 printf(格式控制,输出表列); 例子 printf(“i = %d, j = %d“, i, j); printf(“i的值是%d, x的值是%f“, i, x); 51 格式字符格式字符 l%x: 十六进制整数 l%o: 八进制整数 ld格式符。输出十进制整数 u%d: 十进制整数 u%ld: 长整数 umd: 输出m位,右对齐 u%-md: 输出m位,左对齐 lf格式符。输出小数形式的实数。 u%f: 单精度,6位小数; u%lf 双精度, u%m.nf: 共输出m位,n位小数,右对齐 u%-m.nf: 共输出m位,n位小数,左对齐 52 格式字符(续)格式字符(续) l%e 指数形式输出实数 ls格式符: 输出字符串 u%s u%ms 输出的字符串占m列,右对齐 u%m.ns: 取前n位字符,占m列,右对齐 lc: 一个字符 l%: 输出 ln: 换行 lt: Tab l“: “号 53 练练 习习 已说明int a=268;执行语句 printf(“%x“,a);的结果是 ? 10c 54 错误 格式输入函数格式输入函数scanfscanf lscanf函数的一般格式: scanf(格式控制,地址表列); l例子: int i; f

温馨提示

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

评论

0/150

提交评论