C语言专升本教案

上传人:缘*** 文档编号:333382933 上传时间:2022-09-02 格式:PDF 页数:121 大小:12.11MB
返回 下载 相关 举报
C语言专升本教案_第1页
第1页 / 共121页
C语言专升本教案_第2页
第2页 / 共121页
C语言专升本教案_第3页
第3页 / 共121页
C语言专升本教案_第4页
第4页 / 共121页
C语言专升本教案_第5页
第5页 / 共121页
点击查看更多>>
资源描述

《C语言专升本教案》由会员分享,可在线阅读,更多相关《C语言专升本教案(121页珍藏版)》请在金锄头文库上搜索。

1、第 一 章 C语言概述c 程序的组成和形式*c 程序是由函数构成的主函数其他函数一个函数由两部分组成行 函数的首部例 1.3 中 max函数的首部为:int max(int函数类型 函数名函数参数类型 函数参数名函数参数类型 函数参数名声 函 数 体 声 明 部 分 r变量声明-t函数声明执行部分 一个C 程序总是从main函数开始执行。-C程序书写格式自由,一行可以写几个语句,一个语句可以写在多行上。每个语句和数据声明的最后必须有一个分号。C 语言的输入输出功能是通过函数完成的。*可以用/*.*/对C 程序进行注释。第三章 数据类型、运算符、与表达式 3.1 C 语言的数据类型C 语言的数据

2、类型:C数据类型构造类型指针类型空类型void基本类型 3.2 常量与变量常量与符号常量 常量:在程序运行过程中,其值不能被改变的量符号常量:用一个标识符代表一个常量的符号*使用符号常量的好处:用含义清楚能做到“一改全改”变量 变量:代表内存中具有特定属性的一个存储单元,它用来存放数据,也就是变量的值,在程序运行期间,这些值是可以改变的。*标识符:在 C语言中用来对变量、符号常量、函数、数组、类型等对象命名的有效字符序列 标识符的命名规则:它 只能由字母、数字和下划线3 种字符组成,且第个字符必须为字母或下划线。年大写利小写字母是不同的字符,也就是不同的标识符。b 标识符的最大长度Tuobo

3、C 规定为3 2 个字符,-般不超过8 个字符。方标识符应做到“见名知义”行 标识符不能是关键字,如果是已经定义标识符,比如函数名,则相当于重新定义。变量必须“先定义,后使用”例:判 断 下 列 标 识 符 号 合 法 性sum Sum M.D.John dayDate3 daysstudentname#33 lotus_l_2_3char ab _above$123 3.3 整型数据整型常量十进制整数:正负整数*八进制整数:以 0 开头,08是错误的用法 十六进制整数:以 O x 开头,例:0 x2a是合法的整型常量的类型一个整型常数根据数据所在的范围可自动确定它的数据类型 一个整常量后面加

4、一个字母u 或 U,认为是unsigned int型 一个整常量后面加一个字母1或 L,认为是long int整型变量整型数据在内存中的存放形式:补码年正整数:该数的原码年负整数:该数的绝对值按位取反再加1例:1 0 的补码为 0000000000001010-10 的补码为 1111111111110110最高位是符号位,该位为0 表示正,该位为1 表示负。整型变量的分类:六种 有符号基本整型:signed int,无符号基本整型:unsigned int 有符号短整型:signed short int 无符号短整型:unsigned short int 有符号长整型:signed long

5、 int,无符号长整型:unsigned long int整型数据的溢出2-3276832767(-215-215-1)2 065535(0-216-1)2-32768327672 0655354-2147483648(-231-23|-1)4 04294967295(0232-1)例 3.3 整型数据的溢出#include void main()int a,b;a=32767;b=a+l;printf(u%d,%dn,a,b);)运行结果为:32767,-32768 3.4 浮点型数据A浮点型常量的表示方法a 和 b 在内存中的形式:0111111111111111 _ 4 32767100

6、0000000000000 _ 4 -32768 十进制小数形式:(必须有小数点)如 0.123,.123,123.0,0.0,123.指数形式:(e 或 E 之前必须有数字;指数必须为整数)如 12.3e3 23E2,1.23e4,e-5 J.2E-3.5*规范化的指数形式:在字母e(或 E)之前的小数部分中,小数点左边应有一位(且只能有一位非零的数字。浮点型变量浮点型数据在内存中的存放形式:分成小数部分和指数部分两部分存放例:3.14159在内存中的形式如下(实际存储的是它的二进制数形式):+3141591符号 小数部分 指数部分*浮点型变量的分类类 型比特数有效数字数值范围float3

7、267-3.4*10-383 4*1()38double6 41 5-1 6-1.7*10项8 ,7*1()308ling double1 2 81 8-1 9-1.2*10/932.2*1()4932浮点型变量也应先定义后使用 3.5 字符型数据字符常量:用单撇号括起来的一个字符 转义字符:以 一 个 开 头 的 字 符 序 列:main()转义字符含义转义字符含义n换行t水平制表8b退格r回车反斜线f换页,单 引双引号ddd13位8进制数代表的字符xhh12位16进制数代表的字符 printf(ab ct derftgn);printf(htibbj kn);)运行结果应为:fab c g

8、deh k实际运行结果为:f gdeh j k*输出的制表符覆盖了字符变量原有字符 字符变量的定义及使用形式:char cl,c2;cl=a;c2=b;字符变量在内存中占一字节。字符数据在内存中的存储形式 以字符的ASCII码形式存放 可以和整型数据通用,可以互相赋值,可以以d 或 c 式输出,字符型数据可以参加算术运算,但只能存放0255(unsigned ch ar)或,-128127(signed char)之间的整数。例 3.6 向字符变量赋予整数#include void main()char cl;int c2;cl=97;c2=98;printf(M%c%cnn,cl,c2);p

9、rintf(H%d%dnn,cl,c2);运行结果:a b97 98例 3.7 大小写字母的转换#include void main()char cl,c2;c l-a*;c2=E;cl=cl-32;c2=c2-32;printf(n%c%c,cl,c2);字符串常量:一对双撇号括起来的字符序列:“abc”*a 是字符常量,“a”是字符串常量 不能将一个字符串常量赋值给字符变量 系统自动在字符串常量的末尾加上 y r 结束勺志例 字 符 串“hello”在内存中:h e I 1 o 0例 空 串“”在内存中 3.6 变量赋初值变量赋初值例:int a=3;float f=3.56;char c

10、=a;int i,j,k=5;int a,b,c=5;int a=b=c=5;3.7 各类数值型数据间的混合运算各类数值型数据间的混合运算 整型、浮点型、字符型数据间可以混合运算 不同类型的数据要先转换成同一类型,再进行运算 转换规则:在定义变量的同时使变量初始化例:int i;float f;double d;long e;3.8 算术运算符和算术表达式C 运算符简介算术运算符:(+-*/%关系运算符:葭=逻辑运算符:(!&II)位 运 算 符:(“|赋值运算符:(=及其扩展)条件运算符:(?:)逗号运算符:(,)指针运算符:(*&)求字节数:(sizeof)强制类型转换:(类型)分量运算符

11、:(.-下标运算符:()其它:()-)算符+)=!=)&)算术运算符和算术表达式基本算术运算符:+,-,*,/,%(取余)A 结合方向:从左向右吠 优先级:-*/%+-(2)(3)(4)说明:b 可为单目运算符时,右结合性例:两整数相除,结果为整数,遵 守“向零取整”的原则%要求两侧均为整型数据5/2=2-5/2 =-2-5/2.0 =-2.51 例:5%2 =-5%2 =-11%10=15%1=05.5%2(x)|b 算术表达式:用算术运算符和括号将运算对象(操作数)连接起来,符合C语法规则的式子。强制类型转换运算符 一般形式:(类型名)(表达式)优先级:2级例:(i n t)(x+y)(i

12、 n t)x+y(do u b l e)(3/2)(i n t)3.6 说明:强制转换得到所需类型的中间变量,原变量类型不变例 m a i n()f l o a t x;i n t i;x=3.6;i=(i n t)x;p r i n t f(t 4x=%f,i=%d,x,i);结果:x=3.6 0 0 0 0 0,i=3自增、自减运算符+作用:使变量值加1或 减1 种类:6 前 置+i,-i (先执行i+1或i-1,再使用i值)叱 后 置i+,i-(先使用i值,再执行i+1或i-1)说明:+-只能用于变量,不能用于常量和表达式,如5+(x),(a+b)+(x)仔+结合方向:自右向左行优先级:

13、+,-*,/,%-+,-(2)(3)(4)例:p r i n t f(d,%d”,i,i+);,J=i+;运行结果:4 ,3 p r i n t f(d,%d”,j,i);例-i+a -(i+)(同一优先级右结合性)i=3;p r i n t f (%d”,-i+);-3例 j+k;j+)+k;1 3 1无符号字符时,将原值存入整型数的低八位,高八位补零。3.9赋值运算符和赋值表达式简单赋值运算符,符号:=格式:变量标识符=表达式 作用:将一个数据(常量或表达式)赋给一个变量赋值时若变量和表达式的类型不一致将 自动进行类型转换例 1:int i;i=3.56;/*实际 i 值为 3*/例 2:

14、float f;0 3;printfC%fn,f);结果为:23.000000例3:doule赋值给float时,截取其前面7位有效数字,取值范围超出时产生溢出错误。float f;double d=123.456789el00;f=d;/*出错*/例4:字符赋给整型时:main。unsigned char c,d;int a,b;c=,376,;d=-125;a=c;b=d;p rin ted,%d,a,b);运行结果为:2 5 4,main()char c;int a;c=,376,;a=c;printRd;运行结果为:一2例 5:main()int i=289;char c;c=i;pr

15、intRd,%c”,c,c);运行结果为:3 3,!例6:将int赋 值 给long int处理方法同例4将long int赋值给int时截取低1 6位main()long b=65536;int a;a=b;printfC4%d,a);运行结果为:0有符号字符时,将原值存入整型数的低八位,高八位符号扩展。原值最高位为零则补零,为1则 补1int,short,long赋值给字符型变量时,只将其低八位截取赋值例 7:将 unsigned赋给一个同字节数的signed型时,将原值保持不变,超范围会产生溢出错误。例:main()unsigned int a=65535;int b;b=a;print

16、ff4%d,b);运行结果为:一 1例 8:将 signed赋给一个同字节数的unsigned型时,将原值保持不变main()unsigned int a;int b=-l;a=b;printff%d,a);)运行结果为:6 5 5 3 5复合赋值运算符 种类:+=-=*=/=%=&=八=|=含义:变 量 op=表达式=变量=变 量 op(表达式)a+=3 y 0 a=a+3x*=y+8 v x=x*(y+8)x%=3 v :x=x%3赋值表达式 一般形式:变量=表达式 赋值表达式的值与变量值相等,且可嵌套,但赋值号左边必须为变量正确用法:a=b=c=5a=(b=5)a=5+(c=6)a=(b=4)+(c=6)a=(b=10)/(c=2)错误用法:3=x-2*y;a+b=3;a=3*5=4*3例:a=12;a+=a-=a*a/*a=-264 等价于 a=a+(a=a-(a*a)*/例:b=3;printfT%d”,a=b);3.1 0 逗号运算符和逗号表达式形式:表达式1,表达式2,表达式n结合性:从左向右优先级低于赋值表达式逗号表达式的值:等于表达式n的值a=3*5,a*4a=3*5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 营销创新

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