版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,程序设计基础复习课1,复习内容: 1. C语言数据类型与基本操作 2. 顺序结构程序设计 3. 选择结构程序设计 4. 循环结构程序设计,2,常量和变量 标识符与关键字 运算符及表达式 不同类型数据间的转换,第二章 C语言数据类型与基本操作,3,C语言提供了以下一些数据类型:,数据 类型,构造类型,指针类型,空类型(无值类型) void,字符类型 char,整型,实型,单精度,双精度,短整型,长整型,整型,数组类型,结构类型 struct,联合类型 union,基本 类型,数值类型,枚举类型 enum,4,基本类型,类型,关键字,取值范围,位数,说明:数据类型所占位数随机器硬件不同而不同,
2、上表以微机为例:,long double 80 1e-49311e4932,字符型,浮点型,整 型,5,整型常量 十进制:例 15,19,123,-345,0 八进制:以 0(零) 开头的整数 ,例 0123,011 十六进制:以 0 x 或 0X 开头的整数,例 0 x123,0Xff,2.1 常量与变量,实型常量 格式:(必须有小数点) 例 0.123, .123, 123.0, 0.0, 123. 指数格式:(必须有 数字 在 e 或 E的前面; 指数必须是 整型) 例: 12.3e3 ,123E2, 1.23e4 , e-5 , 1.2E-3.5,6,字符常量和转义字符 用单撇号括起来
3、的一个字符;,一个字符的值可用ASC数值表示;,特殊形式的字符常量就是以一个“” 开头的字符序列,称为转转义字符。例: n(换行);,7,注: 字符与字符串的区别.,字符串常量 用 双撇号 括起来的0个或多个字符序列; 在内存中用0 作结束标记. While( 0),8,如 #define PRICE 30,符号常量 定义:用一个标识符代表一个常量 #define 标识符 代表的常量,例 符号常量举例 #define PRICE 30 main() int num,total; num=10; total=num*PRICE; printf(total=%d,total); ,运行结果:tot
4、al=300,9,变量 定义变量 格式:数据类型 变量名列表 ;,注:所有变量必须先定义后使用,整型变量 占 2 字节bytes; shortintlong 实型变量 单精度: 占 4 bytes,6-7位有效数值 双精度: 占 8 bytes,1516位有效数值,字符变量 以 ASC 字符集中的数值保存在内存中; 字符可以当作一般整型数来处理. C程序 中没有 字符串变量,10,变量举例 #define PRICE 12.5 main() int num=3; float total; char ch1,ch2=D; total=num*PRICE; ch1=ch2- A+a; printf
5、(total=%f,ch1=%cn,total,ch1); ,运行结果: total=37.500000, ch1=d,11,2.2 标识符和关键字,-标识符 一个标识符可由字母、数字和下划线组成 ; 必须用字母或下划线开头; 大小写要区分 ; 不能用保留关键字作变量名 ; 避免混淆的字母 ; 例如 : l 与 I, o 与 0.,例:判断下列标识符号合法性 sum Sum M.D.John day Date 3days student_name #33 lotus_1_2_3 char ab _above $123,12,32 个关键字:(由系统定义,不能重作其它定义) auto break
6、 case char const continue default do double else enum extern float for goto if int long register return short signed sizeof static struct switch typedef unsigned union void volatile while,-关键字,13,2.3 运算符及表达式,算术运算符:+ - * / % + - 关系运算符: = != 逻辑运算符:! c=d+2;,15,算术运算符及表达式 运算符 :+ - * / %(取余)+(自增)-(自减) 运算规
7、律 :从左至右 优先级 : % * / - + - (1) (2) 注: 两个整数 / 是 整型; 两个整数5 %2.5是 整型.,例 5/2 = 2 -5/2 = -2 (向零取整),例 5%2 = 1 -5%2 = -1,16,自增、自减运算符 + - 自增、自减 i=3 在变量前面: printf (i+), -i (在表达式中,先自加(自减)后用其值) 在变量后面: i+, i- (在表达式中,先用其值再自加(自减)),举例:; i的值先变成4, 再赋给,j的值均为 ; 先将i的值3赋给,的值为,然后i变为4,注意 : (1)自增运算符(),自减运算符(),只能用 于变量,而不能用于常
8、量或表达式; (2)和的结合方向是“自右至左”。,17,长度测试运算符sizeof,长度测试运算符sizeof可用来测试某个类型的变量所占用计算机内存空间的字节长度。 格式为:sizeof(类型名),例: main( ) printf(char:%d bytesn,sizeof(char); printf(int:%d bytesn,sizeof(int); printf(float:%d bytesn,sizeof(float); ,18,关系运算及关系表达式 = != 运算顺序: 左-to-右 优先级:,关系表达式的值为一个逻辑值,用 1 代表“真”,用 0 代表“假”。非零数也表示“真”
9、。,例 int a=3,b=2,c=1; ab (ab)= =c,/表达式值1,/表达式值1,19,逻辑运算符和逻辑表达式 ! b=5; !a a int i; float f; double d;,ch/i + f*d - (f+i),23,强制转换 (类型)(表达式) 例 (int)(x+y) (int)x+y (double)(3/2) (int)3.6 注意 值的类型转换了,但变量的类型没变.,24,第三章 顺序结构程序设计,格式输入与输出 字符数据的输入输出,25,(一).格式输出函数 函数作用:向终端(或系统隐含指定的输出设备)输出若干个任意类型的数据。 一般格式:printf(格
10、式控制,输出列表),3.1 格式输入与输出,%d:以带符号的十进制形式输出整数 %o:以八进制无符号形式输出整数 %x:以十六进制无符号形式输出整数 %u:以无符号十进制形式输出整数 %c:以字符形式输出,只输出一个字符 %s:输出字符串 %f:以小数形式输出单,双精度数,隐含输出六位小数%e:以指数形式输出实数 %g:选用%f或%e格式中输出宽度较短的一种格式,不输出无意义的0,26,(二).格式输入函数 函数作用:按照变量在内存的地址将变量值存进去。 一般格式:scanf(格式控制,地址表列) Scanf(“%4d”,int i=97;printf(“%c,%dn”,c,c);printf
11、(“%c,%dn”,i,i);,28,(一).字符输出函数 一般形式:putchar(c) 函数作用:向终端输出一个字符,3.2 格式输入与输出,字符型变量整型变量,(二).字符输入函数 一般形式:getchar() 函数作用:从终端(或系统隐含指定的输入设备)输入一 个字符。 函数值:从输入设备得到的字符。,29,字符输入输出举例:输入单个字符。#includevoid main() char c; c=getchar(); putchar(c); putchar(n);,30,第4章 选择结构程序设计 4. if语句 4. switch语句,4. 程序举例,31,1.if语句的三种基本形式
12、 (1)if(表达式) 语句 例: if(xy) printf(“%d”,x);,(2)if(表达式) 语句1 else 语句2 例: if (xy) printf(“%d”,x); else printf(“%d”,y);,4. if语句,32,(3) if(表达式1)语句1 else if(表达式2)语句2 else if(表达式3)语句3 else if(表达式m)语句m else 语句n,例: if (number500) cost=0.15; else if(number300) cost=0.10; else if(number100) cost=0.075; else if(nu
13、mber50) cost=0.05; else cost=0;,33,2.if语句的嵌套 在if语句中又包含一个或多个if语句称为if语句的嵌套。 形式: if() if() 语句1 else 语句2 else 内嵌if if() 语句3 else 语句4,34,#include stdio.h void main( ) int score; printf(score= ); scanf( %d , ,【例4.1】 根据成绩打印出等级。(0-59: 60-69: 70-79:C 80-89:B 90-100:A),35,4.2 switch语句,switch语句的格式: switch (表达式
14、) case常量表达式:语句;break case常量表达式:语句 case常量表达式:语句 default :语句 ,36,#include stdio.h void main() int a; printf(please input a week number:); scanf(%d, ,【例4.2】输入一个星期数字,输出其对应的英文单词 。,37,注:if-else if-else语句与switch语句的区别,if-else if-else 语句: 用于多条件并列测试,从中取一的情形; switch语句: 用于单条件测试,从其多种结果中取一的情形。,38,5.1 while语句 5.2
15、do-while语句 5.3 for语句 5.4 三种循环语句的比较 5.5 循环的嵌套 5.5 break语句和continue语句 5.7 综合实例,第5章 循环结构,39,While语句的一般格式: while(表达式) 循环体 ,5.1 while语句,功能:先判断表达式的值的真假,若为真(非零)时,就执行循环体的语句系列,否则退出循环结构。,40,5.1 while语句,【例5.1】编程实现1+2+3+100。,图5.3,# include stdio.h main() int i,sum=0; i=1; while(i=100) sum+=i; i+; printf(%dn,sum
16、); ,41,5.2 do-while语句,do-while语句的一般格式是: do 循环体 while ();,功能: 先执行一次循环体,再判断表达式的真假。若表达式为真(非0)则继续执行循环体,一直到表达式为假(0)时退出循环结构。,42,【例5.2】用do-while语句实现【例5.1】。 # include stdio.h void main() int i,sum=0; i=1; do sum=sum+i; i+; while(i=100); printf(%dn,sum); ,5.2 do-while语句,43,【例5.3】while和do-while循环的比较。 main() (
17、2) main() int sum=0,i; int sum=0,i; scanf(%d, ,运行结果如下: 运行结果如下: 1 1 sum=55 sum=55,再运行一次: 再运行一次: 11 11 sum=0 sum=11,44,一、for语句的一般形式: for(;) ,5.3 for语句,注意:三个表达式之间必须用分号;隔开。,45,【例5.4】 求自然数列前n 项的和。,5.3 for语句,main() int sum=0,i,n; printf(please input n: ); scanf(%d, ,please input n:0 sum=0,please input n:1
18、 sum=1,please input n:10 sum =55,please input n:100 sum=5050,46,5.4 三种循环语句的比较,1. C语句提供的三种循环控制结构,可以用来处理同一问题。一般情况下可以相互代替。 2. while循环结构,只设置了结束循环的条件。循环体内需要设置打破循环条件而使循环趋向结束的语句。 3. do-while 循环和while 循环相似,但do-while 循环先运行循环体,然后再进行循环结束条件的测试,循环体最少运行一次。 4. 对于已知重复次数的循环,使用for结构更方便、更清晰。而仅知道循环结束的条件,不知道循环次数的用while 循环和do-while 循环更简洁。 5. C语言支持goto语句,但不提倡使用它构造循环结构,以免影响程序的可读性。,47,5.5 循环的嵌套,1.循环嵌套的概念 在一个循环结构中又包含另一个循环结构,称为循环的嵌套。 1 2 3 4 * * * * * * 5 6 7 8 9 10 11 12 2.循环嵌套的形式 前面介绍了三种类型的循环,它们自己本身
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广西数据集团春季校园招聘备考题库含答案详解(完整版)
- 2026河北省人民医院招聘专业技术人员(中青年骨干)备考题库附答案详解(黄金题型)
- 2026上半年江西南昌航空大学科技学院招聘13人备考题库含答案详解(黄金题型)
- 2026广东广州市越秀区白云街道招聘综合事务中心辅助人员1人备考题库附答案详解(达标题)
- 2026上半年铁投集团招聘42人备考题库附答案详解(巩固)
- 2026山东临沂市蒙阴县部分医疗卫生事业单位招聘卫生类岗位人员24人备考题库及答案详解(典优)
- 2026江西赣州上犹县粮油收储公司财务人员招聘1人备考题库及1套参考答案详解
- 2026年牡丹江医科大学博士招聘100人备考题库及答案详解一套
- 2026上海闵行区纪王学校教师招聘备考题库及答案详解(必刷)
- 2026山东司法警官职业学院招聘42人备考题库及1套参考答案详解
- 2025年及未来5年中国RTP管行业市场供需格局及行业前景展望报告
- 2025年环保技术研发与转化效率研究报告
- 智慧树知道网课《企业法务概论》课后章节测试满分答案
- 心脑血管病事件报告培训试题及答案
- 2025年事业单位工勤技能-河北-河北工程测量工二级(技师)历年参考题库含答案解析(5套)
- 疑难病例讨论制度
- 矿山生态修复效果评估报告
- 2025年四川省广安市中考物理试题(原卷版)
- 2025年高考真题-语文(北京卷) 含答案
- 店面3人入股合同协议书
- 地基桩基公司管理制度
评论
0/150
提交评论