《主要内容复习》PPT课件.ppt
整型数据包括整型常量和整型变量,整型数据以二进制补码形式存储,整型常量的不同数值表示方法10进制:09 8进制:07,以0开头16进制:09,AF/af,以0 x或0X开头,2.整型常量,100、-8、0;010、024;0 x18、0X1F,整型常量的类型根据值大小默认类型在常量后面加l或L,表示long int型 例如:123L,0L,432l 都是long int型常量,实型数据包括实型常量和实型变量,2.实型常量,两种表示形式,小数指数,0.1233e-3,实型常量只能用十进制形式表示,不能用八进制和十六进制。,1e3、1.8e-3、-123e-6、-.1e-3e5、1e-3.2、e、.e-03,转义字符表:,转义字符 功 能 n 换行 t 水平跳格 b 退格 r 回车 f 走纸换页 反斜线字符 单引号字符“双引号字符 ddd 至位八进制数表示的字符 xdd 至位十六进制数表示的字符,转义符“”表示将其后的字符原来的含义进行转换,变成某种另外特殊约定的含义。,说明:,转义字符“n”中的n已不代表字符常量“n”,n转义成换行。转义字符“015”是“ddd”形式的转义字符,其中“015”是八进制字符串,它表示了ASCII码表中编码为十进制13的字符,也就是回车。转义字符“x1f”是“xdd”形式的转义字符,其中“1f”是十六进制字符串,它表示了ASCII码表中编码为十进制31的字符,也就是。,*字符串“w11”占几个字节?,转义字符,字符串结束标记,w 11,*字符串“w 110good”占几个字节?,思考,3字节,例:,将下列数学表达式:,写成符合C语言规则的表达式如下:(a+b+c)/(sqrt(a)+b*(sin(x)+sin(y)+sin(z),其中(sqrt(a)和sin(x)、sin(y)、sin(z)都是数学函数的引用,表达式中用了三层括号,以保证表达式的运算顺序。,在定义变量时为其指定值,方法:,int a=5;int a,b,c=5;int a5,b=5,c=5;int a=b=c=5;,1.定义变量的同时为其初始化2.初始化不是在编译时进行,而是在程序运行时完成的,六、变量的初始化,初始化,表达式的运算结果称为表达式的值求余运算的对象必须是整型。10%3 9%3,C中运算符,算术运算符赋值运算符关系运算符逻辑运算符 位运算逗号运算符条件运算符.,运算符和运算分量构成表达式,共34种,float x=3.16,z;int y;z=y=x+3/2;printf(“%f,%d”,z,y);,以下程序段:int a;a=3;/*表示将值3赋给整型变量a*/a=3/*表示a的值是否与3相等*/,5278,从左向右运算(52)逻辑值为1(17)逻辑值为0(08)逻辑值为0,整个表达式的值为 0,在逻辑表达式中,并不是所有的逻辑运算都必须执行。如果&的一边已经为0,结果一定为 0如果|的一边已经为 1,结果一定为 1,(1)a&b&c a非0时再判断 b,a、b均非0再判断c(2)a|b|c 若a为非0,不必判断 b和 c,结果一定为 1,例:,已知:a=1,b=2,c=3,d=4,m=1,n=1执行(m=ab)&(n=cd)之后 m=?n=?,由于 ab的值为 0,&的结果一定为0,即 m=0(n=cd)不再运算,n维持原有的值,即 n=1,m=0n=1,例:,double,float,long,unsigned,int,char,2.0+1/2;表达式的值?,2.0,例:,二、强制类型转换,(类型标识符)表达式,(int)(10+a+i*f-d/e),将该结果强制转换为整型,还可以赋值转换,输出转换等,转换形式,二、格式输出函数,1、格式:printf(格式控制串,变量表)2、功能:从标准输出设备上,按指定的格式输出对应的变量,printf(.),%d:按十进制整数形式输出变量的值%o:按八进制整数形式输出变量的值%x:按十六进制整数形式输出变量的值,格式控制串,%u 输出无符号整数变量的值%f:输出单精度浮点变量的值%e:按指数形式输出浮点变量的值%c:输出字符变量的值%s:输出一个字符串%ld:按十进制整数形式输出长整型变量的值,格式控制串,如果:a=5,b=81.printf(“%d,%d n”,a,b);输出:5,82.printf(“a=%d,b=%dn”,a,b);输出为:a=5,b=8 3.printf(“%5d%5dn”,a,b);输出为:5 8(5之前空4个字符位)4.printf(“Turbo C”);输出:Turbo C,输出串,4-4 数据输入(续),说明:,*输入时不允许规定精度,可以指定域宽,int a;scanf(“%3d”,float x;scanf(“%8.2f”,*输入时,遇下列情况结束,*回车,空格*宽度结束*非法输入,int k;scanf(“%3d”,输入:123456789k为:123,#include”stdio.h”main()int a=16;char e=A;unsigned b;long c;float d;b=65535;c=123456;d=123.45;printf(”a=%d,%4d,%-6d,c=%dn”,a,a,a,c);printf(”%o,%x,%u,%dn”,b,b,b,b);printf(”%f,%e,%13.3e,%gn”,d,d,d,d);printf(”%c,%s,%7.3sn”,e,”China”,”Beijing”);,a=16,16,16,c=-7616 177777,ffff,65535,-1123.450000,1.234500e+002,1.235e+002,123.45A,China,Bei,%ld格式,认为是某负数的补码,13是域,13域:尾数+4,选择结构,1、if语句 注意条件判断和与else的匹配关系,2、switch语句 注意break语句的使用,循环结构,1、三种循环的熟练使用,2、循环的嵌套,3、break和continue语句的使用,while(条件)循环体 do 循环体语句while(条件);for(赋初值;条件;变量变化)循环体语句,数组,1、数组名是数组首地址,是常量,不能进行自增自减运算。,2、一维数组 当数组完全赋初值时,长度可以省略 注意数组的下标范围,3、二维数组 仅第一维的下标在赋初值时可以省略 用双重循环进行访问和赋值,4、字符数组 可以用字符串和单个字符两种形式赋初值 数组长度与字符串长度的区分 字符串的输入输出 常用的字符串处理函数,strlen 求字符串的长度strcmp 字符串比较strcpy 字符串拷贝,5、排序算法 选择法排序 冒泡法排序,函数,1、函数定义的一般形式及缺省函数类型,2、参数传递 单向值传递和地址传递,3、局部变量和全局变量,4、静态变量,指针,1、区分指针(即地址)、指针变量和指向,2、指针变量和变量,3、指针变量和一维数组,4、指针变量和二维数组,5、指针变量和字符串,结构体和共用体,1、若有说明:struct stuint age;int num;s,*p=则引用方式不正确的是_.A s.age B p-age C(*p).age D*p.age,2、已知定义:union wwint i;char c;temp;若再执行temp.i=23;则temp.c的值是_.A 3 B 2 C 23 D 0,文件,1、下列正确调用fopen函数的形式为_.A fopen(“c:file.c”,”r”);B fopen(“c:file.c”,”r”);C fopen(“c:file.c”,”+r”);D fopen(“c:file.c”,”+r”);,2、fwrite将ptr指向的内容写入fp所指向的流,数组大小由size指定,写入num个元素_.A fwrite(ptr,size,num,fp);B fwrite(fp,ptr,size,num);C fwrite(ptr,fp,size,num);D fwrite(ptr,num,size,fp);,若x=2,y=3;则x&y的结果是_。A 0 B 2 C 3 D 5,位运算,