《[其它考试]全国计算机等级考试二级C语言第二章 C程序设计的初步知识.ppt》由会员分享,可在线阅读,更多相关《[其它考试]全国计算机等级考试二级C语言第二章 C程序设计的初步知识.ppt(31页珍藏版)》请在三一办公上搜索。
1、第二章 C程序设计的初步知识,目录,2.1 简单C语言程序的构成和格式2.2 标识符、常量和变量2.3 整型数据2.4 实型数据2.5 算术表达式2.6 赋值表达式2.7 自加、自减运算符和逗号运算符,2.1 简单C语言程序构成和格式,在讲解C语言的语法规则之前,先给出一个实例,例2.1一个只输出一行信息的程序,1.#include是在程序运行过程中加载输入输出功能(printf)2.main()是程序的主函数;3./*/表示注释结构4大小写字母是有区别的5程序书写要规范,2.1 简单C语言程序构成和格式,例2.2求矩形面积,(做习题2.16),2.2标识符、常量和变量,定义:用来标识变量、常
2、量、函数等的字符序列组成:只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线长度:c语言规定了标识符的长度,举例:在例2.2中,include、main、double、a、b、printf非法标识符:456P、cade y、w.w、a&b(为什么错),例2.3判断下列标识符号合法性sum Sum M.D.John day Date 3days student_name#33 lotus_1_2_3 char ab _above$123(习题2.4,2.5),2.2.1标识符,标识符的分类,关键字:代表固定的含义,不能另作它用。在例2.2中蓝颜色字符如:include、double、i
3、nt、float、if、return 预定义标识符:C语言库函数的名字等。在例2.2中如:printf,define等 用户标识符:对变量的定义。在例2.2中的a、b、area(习题2.7,2.17),2.2.2常量,定义:程序运行时其值不能改变的量(即常数)分类整型常量如1,2,50,12,-1,0实型常量如例2.2中1.2、3.6、3.14159、-2.71828、0.0字符型常量如a、b、1、2(6章中介绍)字符串常量如Beijing等(11章中介绍),2.2.3符号常量,定义:用一个符号名代表一个常量定义格式:#define 符号常量 常量例2.4 计算圆面积,2.2.4变量,定义:值
4、可以改变的量叫变量。变量用标识符表示,称为变量名。本质:内存中的某个存储单元。定义格式:数据类型 变量1,变量2;例如例2.4:(什么是数据类型?)(习题2.20),2.3整型数据,2.3.1整型常量(即整数)十进制整数:由数字09和正负号表示.如 123,-456,0八进制整数:由数字0开头,后跟数字07表示.如0123,011十六进制整数:由0 x开头,后跟09,af,AF表示.如0 x123,0 xff,2.3.1整型常量,例2.5 合法的整数举例5121:十进制正数、-32768:十进制负数0111:八进制数、0 xFFF:十六进制数、不合法的整数举例09876、20fa、0 x10f
5、g、-0 x13a、-0342(八进制与十六进制只为正整数)(习题2.1,2.12,2.13),各种进制之间的转换,二进制、八进制、十六进制转换成十进制方法:按权相加例2.6,各种进制之间的转换,十进制转换成二进制、八进制、十六进制方法:连续除以基,从低到高记录余数,直至商为0,各种进制之间的转换,整型常量的类型:基本整型 int 长整型 long int短整型 short int 无符号型 unsigned(在下一节集中讲)2.3.2整型变量可以通俗理解为把整型常量赋值给标识符例如:int i=1,j=2;long int k=32345324534253;其中i,j,k即为变量2.3.3整
6、型数据的分类(下一节集中讲),2.3.4整数在内存中的存储形式,存储单位位:内存中最小的存储单位,每个位中存放一 个0或1.(说一下物理实现)字节:8个二进制位构成1个字节字:若干个字节可组成一个“字”。最低位:一个字节中最右边一位最高位:一个字节中最左边一位符号位:对于有符号数,最高位存放符号,若为正数,最高位置0;若为负数,最高位置1.,数值的表示方法原码、反码和补码,(对正整数和负整数而言的)原码:最高位为符号位,其余各位为数值本身的绝对值反码:正数:反码与原码相同负数:符号位为1,其余位对原码取反补码:正数:原码、反码、补码相同负数:最高位为1,其余位为原码取反,再对整个数加1,数值的
7、表示方法原码、反码和补码,例2.8 写出+5和-5的原码、反码和补码等,负数补码转换成十进制数:最高位不动,其余位取反加1,例2.9 补码:11111011 取反:10000100 加1:10000101=-5,2.3.4整数在内存中的存储形式,无符号整数对于1B而言,8位全部用来存整数,因此无符号整数不是负数。因此表示范围为02e8-1,2.4 实型数据,2.4.1 实型常量(实数/浮点数)小数形式由数字和小数点及正负号组成必须有小数点 如0.123,.123,123.0,0.0,123.指数形式由数字、小数点、字母e或E及正负号组成e或E之前必须有数字,指数必须为整数如12.3e3,123
8、E2,1.23e4,e-5(),1.2E-3.5()(习题2.2,2.3),2.4 实型数据,2.4.2 实型变量实型变量可分单精度(float型)例:float x,y;(float是什么)双精度(double型)如:double a,b,c;2.4.3字符常量(补充)定义:用单引号括起来的单个普通字符或转义字符如 a A?n 07(最后两项为转义字符)字符常量的值:该字符的ASCII码值(何为ASCII)如 A65,a97,048,n10ASCII码:基本符号在计算机内对应的整数(0127),基本数据类型总结,整型,字符型,实型,有,无,(习题2.11,2.18,2.19),2.5 算术表
9、达式,2.5.1基本算术运算符基本算术运算符:+-*/%优先级:-*/%-+-例如:-1*2+8/4=0两整数相除,结果为整数例如:5/2=2;-5/2.0=-2.5%要求两侧均为整型数据例如:5%2=1;-5%2=-1;1%10=1;5%1=0;5.5%2()(习题2.6,2.21),2.5.2 运算符的优先级、结合性和算术表达式,算术运算符的优先级指各种运算符号的运算优先顺序例如先*/后+-算术运算符和圆括号的结合性例如(5+1)/2=3;5+1/2=5;5*-2=5*(-2)=-10;结合性指结合方向,本质是优先级算术表达式用算术运算符和括号将操作数连接起来,符合语法规则例如 a+(b+
10、a*(b/c)+2.8,(习题2.22),2.5.3强制类型转换,转换方式(类型名)(表达式)例如:(int)3.14=3;(float)22/5=4;(float)(22/5)=?错误的转换:(int)b=a+5;b=int(3*a),2.6 赋值表达式,2.6.1赋值运算符和赋值表达式形式:变量名=表达式(习题2.23)作用:将表达式的值赋给左边的变量,当变量重新赋值后,原值自动消失例如:a=1;b=3;a=b;b=4。经过这4次赋值后a、b的值优先级:只高于逗号运算符例如 a=2+7/3:将算术表达式2+7/3 的值赋给a结合方向:从右向左例如:a=3 b=c+d左侧必须是变量,不能是常
11、量或表达式例如:a+b=2;()赋值表达式的值可嵌套例如:a=b=c=5;结果为a、b、c均为5,2.6.1赋值运算符和赋值表达式,例2.11 设有变量A=5,B=10,请将变量交换数值错误方法正确方法,A=B;B=A;,5,10,A B,T=A;A=B;B=T;,(加习题2.9),2.6.2复合赋值表达式,包括:+=,=,优先级、结合性:与=相同举例n+=1 等价于n=n+1N*=m+3 等价于 n=n*(m+3)X%=3 等价于 x=x%3例2.13 变量a=9,计算表达式a-=a+a的值(-9);变量a=12,求a*=2+3,2.6.3赋值运算中的类型转换,转换规则:赋值号右边表达式值自
12、动转换成其左边变量的类型举例:int i;i=2.56;/结果i=2;float f;int i;i=10;f=i;/f=10.0,2.7 自加、自减运算符和逗号运算符,2.7.1自加运算符+和自减运算符-作用:使变量值加1或减1例如 i=4;i+;则i的值变为5 i=4;i-;则i的值变为3种类前置+i,-i(先执行i+1或i-1,再使用i值)后置 i+,i-(先使用i值,再执行i+1或i-1),例 j=3;k=+j;/k=4,j=4 j=3;k=j+;/k=3,j=4 j=3;printf(“%d”,+j);/4,j=4 j=3;printf(“%d”,j+);/3,j=4 a=3;b=5
13、;c=(+a)*b;/c=20,a=4 a=3;b=5;c=(a+)*b;/c=15,a=4,(习题2.8,2.14,2.15),2.7.2逗号运算符和表达式,形式:表达式1,表达式2,表达式n作用:将两个表达式连接起来结合性:从左向右优先级:最低逗号表达式的值:等于表达式n的值,例 a=3*5,a*4/a=15,表达式值60 a=3*5,a*4,a+5/a=15,表达式值20例 x=(a=3,6*3)/赋值表达式,表达式值18,x=18 x=a=3,6*a/逗号表达式,表达式值18,x=3例 a=1;b=2;c=3;printf(“%d,%d,%d”,a,b,c);/1,2,3 printf(“%d,%d,%d”,(a,b,c),b,c);/3,2,3,