资源预览内容
第1页 / 共53页
第2页 / 共53页
第3页 / 共53页
第4页 / 共53页
第5页 / 共53页
第6页 / 共53页
第7页 / 共53页
第8页 / 共53页
第9页 / 共53页
第10页 / 共53页
亲,该文档总共53页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C程序设计 第三章 简单的c程序顺序结构,主讲教师: 鲁 萍 西安建筑科技大学 理学院,第三章 简单的C程序设计顺序,3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 常量、变量 整形、字符型、浮点型 运算符及表达式 3.3 C语句赋值语句 3.4 数据的输入和输出 scanf 和 printf getchar 和 putchar,小 结,习 题,顺序程序设计举例,#include int main() float f,c; f=68.0; c=( 5 / 9 ) * ( f 32 ); printf(“f=%fnc=%fn“,f,c); return 0; ,A0301 华氏温度(如68)转为摄氏温度(如20),输入 f 的值,输出 c 的值,F=68.000000 C=0.000000,5.0,C=20.000000,顺序程序设计举例,#define PI 3.1416 int main() float r, a,b; r=2; a=2*PI*r; b=PI*r*r; printf(“半径=%fn周长= %fn面积= %fn“, r, a, b); return 0; ,A0302例: 根据圆半径,求圆周长和圆面积。,输入半径r 的值,输出 a、b 的值,半径=2.000000 周长=18.849600 面积=28.274400,周长 a=2*pi*r,面积 b=pi*r*r,scanf(“%f“,键盘输入,一、数据的概念 在计算机科学中,数据是指能由程序处理的对象。 日常生活中的数字、字符、图形图象及声音等,在计算机中均作为数据看待。,二、数据的类型 在高级语言中,每一个数据都属于一个特定的类型。 不同类型的数据的表示、存储及操作不相同。,3.2 数据的表现形式及其运算,姓名 Alice 性别 F 年龄 20 英语 80 数学 85 平均 82.5,字符串 字符 整型 实型 实型 实型,3.2.1 常量与变量,3.3.1 常量和符号常量 1、常量: 在程序运行过程中,其值不能被改变的量。 常量说明关键字:const。 2、常量的分类: 1)整型常量。如:1234,56 2)实型常量。如:123.23 3)字符常量。如:A,a,m 4)字符串常量。如:“A“,“China“ 5)转义字符。如:n,t,123,xF9 6)符号常量。如:#define PI 3.1415926 #define N 30,转义字符,例:在屏幕上输出一个笑脸(ASCII码值为2) #include void main() printf(“%cn“, 2); /*输出“笑脸“字符*/ ,增加一个转义字符的图,符号常量,概念:用一个标识符表示常量 #define 标识符 常量表达式 例: #define PI 3.1415926 注意:1)标识符一般用大写 2)不能给符号常量赋值 例:PI=6; 错误 常用于: (1) 把有意义的常数定义为符号常量 (2)在程序中多次出现的常数,定义为符号常量 优点:含义清晰;一改全改,#include #define PI 3.1416 main() float r,area; printf(“ please enter r:“); scanf(“%f“, ,符号常量的应用,例2.3 录入50个学生的成绩,统计10090,8980,7970,6960,590个分数段学生的人数,并显示统计结果(统计结果 记为count),自顶向下: 1: 录入50个学生的成绩 2:统计个分数段学生的人数 3:显示统计结果,#define N 50,30,30,30,30,N,N,3.2.2 标示符与变量,1、变量 变量:在程序执行过程中其值可以改变的存储单元,该存储单元的名字称为变量名。 变量有不同的类型,存放不同类型的数据。 注意:变量要 先定义再使用 定义变量 : 类型 变量名表;,int a,b,c; a=3; b=8; c=a+b; a=5;,3,8,11,5,变量的命名规则,标示符 用于命名程序中的实体对象(如变量,符号常量函数,数组等) (1)标示符是以字母或下划线开头,由字母、数字及下划线等组成的字符序列,如:abc,_x1,AB67,NAME2; (2)序列长度最大值依编译系统而定; (3) 区分大小写字母,如 abc 和Abc是不同的变量 (4)不允许使用关键字作变量名。 例: 123d r +43 auto 5A *2 #88 (错误) _123d r_43 Auto (正确),C语言的数据类型图,在C语言中,数据类型用相应的关键字表示,3.2.3 整型,类型 存储大小 取值范围 int 2字节 -215215-1 -32768 32768 short 2字节 -215215-1 -32768 32768 long 4字节 -231231-1 long long 8字节 -263263-1,身份证号,学号? -没有负数!,符号位,数值位,1 15,C语言的unsigned和signed数,对整型和字符型 1、signed:有符号数 可以存放正数和负数 2、unsigned:无符号数 只能存放正数 (实数没有unsigned和signed的区分) 如:身份证号,学号等。 取消符号位,与右边的各位一起用来表示数值本身。,整型默认有符号型,3.2.3 整型,unsigned int 0216-1 0 65535 unsigned short int 0216-1 0 65535 unsigned long int 0232-1,类型 存储大小 取值范围 int 16bit -215215-1 -32768 32768 shortint 16bit -215215-1 -32768 32768 long int 32bit -231231-1,int main() char c1,c2; c1=a; c2=98; printf(“%c %cn“,c1,c2); printf(“%d %dn“,c1,c2); return 0; ,3.2.4 字符型数据,a,98,97,(1)可以是转义字符 n (2)存储: 字符的ASCII码 (3)输出: 整数 或 字符 (4)允许对字符进行算术运算(即对ASCII码值进行算术运算),A0303 例:字符数据的算术运算。,3.2.4 字符型数据,int main() char c1,c2; c1=a; c2=98; printf(“%c %cn“,c1,c2); printf(“%d %dn“,c1,c2); return 0; ,运行结果: a b 97 98,a,98,97,字符 ASCII码 a 97 b 98 c 99,c1+1;,a+1;,以字符方式输出,以整数方式输出,A0303例:字符数据的算术运算。,课堂练习:给定一个小写字母,输出大写字母。 #include int main() char c1,c2; c1=a; c2=c1-32; printf(“%c“,c2); return 0; ,运行结果: Please input a char: a (输入) A (输出),3.2.4 字符型数据,3.2.5 浮点型数据,实型变量分为三种: 1、单精度:float(有效数字7位) 2、双精度:double(有效数字16位) 3、长双精度:long double(有效数字19位) 。,3.4.2 舍入误差,int main() float a,b; a=12345678900.0; b=a+20; printf(“%fn“,b); return 0; ,实际:12345678868.000000,期望:12345678920.0000000,错误原因: float有效数字7位,后面的数字无意义。,如何得到正确计算结果?,double,A0304例:数据有效长度,数据在内存中的存储方式,1.内存单元的地址: 内存单元的编号,与变量名对应。,2.内存单元的内容:变量的值。,例: 对如下定义: int a,b; char c; float x; 变量a,b,c,x的内存分配情况:,基本数据类型练习,1.以下正确的字符常量是( ) A) A B)398 C)“A“ D)xgh 2.以下正确的整数常量是( ) A)082 B)0xhf C)654 D)9.0 3.以下是正确的实型常量是( ) A)9.0 B)0.5e C)1.2e+2.6 D)e-2 4.设有char a= a;int i=2;printf(“%c“,a+i)的结果为 : A)c B)d C)r D)g 5、以下转义字符用于换行的是( ) 。 A)r B)t C)n D),3.2.7 运算符和表达式,1 基本算数运算符 + (加), - (减法/取负), * (乘), / (除), %(模运算,即求余数),关于除法运算“/“的说明,a/b: a,b 都是整数,其商取整数,小数部分舍弃 例: 5 / 2 = 2 结果取整商值 a/2=48 97/2 的整商值 a,b其一是实型,另一个自动转换为实型 例如:5. / 2 = 2.5 ; 5 / 2. = 2.5 例如:1 / 2 = 0 ; 1 / 2. = 0.5,关于求余数运算符“的说明,a%b : 求a除以b的余数 。 a,b均为整型,或者单字符数据 运算结果为整数,结果为a除以b的余数。 例: 5 % 2 = 1 a%2=1 97%2 5. 0% 2 错,自增(+)、自减(- -)运算实例,A0305例:自增自减运算符 int main() int a,b,c,d; a=5; b=5; c=+a; d=b+; printf(“ c=%dn“, c); printf(“ d=%dn“, d); printf(“ a=%d,b =%d n“,a,b); return 0; ,先将a值自加1,再将增加后的a值赋值给c 先将b的值赋给d,然后b再自加1,输出结果: c=6 d=5 a=6, b=6,+i i=i+1,使i的值增 -i i=i-1,使i的值减,自增(+)、自减(- -)运算,2、用法与运算规则 (1)前置运算:i、i;即先增减、后运算 先使 i 增(减)1, 再以增、减后的值参与其它运算 (2)后置运算:i、i。即先运算、后增减 变量先参与其它运算, 然后再使变量的值增、减,【自增、自减运算的几点说明】,1) + 、-只能用于变量,不能用于常量和表达式。 例1:5+、-(a+b) 错误 2)其结合方向是从右到左,注意前置、后置问题。 例2:int a=5,b; b=-a+; 运算结果: a=6 b=-5 (a+: 后置运算,先引用变量的值,然后变量值加1) 3)在表达式中,避免这种用法 x+x+x+,算术表达式,例:设有定义:float a=2,b=4,h=3;,以下C语言表达式与代数式结果不同的是() A. (a+b)*h/2
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号