版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言的基本知识语言的基本知识辅助训练辅助训练C语言提要语言提要oC语言的语法语言的语法oC语言的基本运算及语言的基本运算及流程控制语句流程控制语句o控制系统中常用的控制系统中常用的C语言函数语言函数oTC2.0 环境的使用环境的使用oC程序的编写要求程序的编写要求C语言的语法语言的语法-C语言的特点语言的特点o程序以函数为单元,并且有且仅有一个主函程序以函数为单元,并且有且仅有一个主函数数 main();o变量的声明和定义必须在函数头部;变量的声明和定义必须在函数头部;o语句必须以语句必须以“;”结束;结束;o注释:注释:/*/oC语言允许直接访问物理地址;可以直接对语言允许直接访问物理地址
2、;可以直接对硬件进行操作;能进行位(硬件进行操作;能进行位(bit)操作)操作C语言的语法语言的语法-C语言的数据类型语言的数据类型o整型:整型:int、short、long(数据在内存中以(数据在内存中以2 2进制形式存放)进制形式存放)o字符型:字符型:charo浮点型:浮点型:float、doubleo指针:指针:char*、int*、float*o一维整形数组一维整形数组:int a10; 数组是有序数据的集合,数组中的每数组是有序数据的集合,数组中的每一个元素都属于同一个数据类型一个元素都属于同一个数据类型o结构体结构体:structo公用体:公用体:uniono无符号数无符号数:u
3、nsigned(unsigned int;unsigned char)C语言的基本运算语言的基本运算算术运算算术运算运算符名称例子运算功能加a+b求a与b的和减a-b求a与b的差*乘a*b求a与b的积/除a/b求a除以b的商%取余a%b求a除以b的余数+自增a +a的值加1-自减a - a的值减1- -取负- a求a的负数C语言的基本运算语言的基本运算算术赋值运算算术赋值运算运算符名称例子等效于加赋值a+b a a+ b减赋值a-b a a b*乘赋值a*b a a* b/除赋值a/b a a/b%取余赋值a%b a a%b注意:5/2 = 2;5/2.0 = 2.5C语言的基本运算语言的基本
4、运算位运算位运算运算符名称例子运算功能&位与a&ba和b按位与|位或a|ba和b位或位反 aa按位取反右移位a 2a右移2位左移位a4 0 x05位运算的应用举例位运算的应用举例o方法方法1:先右移:先右移n位,再与位,再与“0 x01”进行与运算bit = (byten)&0 x01;o方法方法2:使用屏蔽字:使用屏蔽字unsigned char MASK8 = 0 x01, 0 x02, 0 x04, 0 x08, 0 x10, 0 x20, 0 x40, 0 x80;bit = byte & MASKn;0 0 0 0 1 1 1 01思考:如何从一个字节思考:如何从一个字节byteby
5、te中取出第中取出第n n位?位?C语言的基本运算语言的基本运算关系运算关系运算运算符名称例子运算功能大于aba大于b小于a=大于等于a = ba大于等于b=小于等于a = ba小于等于b!=不等于a != ba不等于bC语言的基本运算语言的基本运算逻辑运算逻辑运算运算符名称例子运算功能&逻辑与a & ba与b逻辑或a ba或b!逻辑反!aa反C语言的流程控制语句(语言的流程控制语句(1)oif (表达式表达式) 语句语句1else 语句语句2owhile (表达式表达式) 语句语句odo 语句语句 while (表达式表达式);ofor (i=0;iN;i+)语句语句C语言的流程控制语句语言
6、的流程控制语句o选择语句选择语句nif (表达式表达式) 语句语句1 else 语句语句2C语言的流程控制语句语言的流程控制语句o循环语句循环语句nwhile (表达式表达式) 循环体语句循环体语句ndo 语句语句 循环体语句循环体语句 while (表达式表达式);C语言的流程控制语句语言的流程控制语句(续续)for (i=0;iN;i+)循环体语句循环体语句C语言的流程控制语句(语言的流程控制语句(2)switch(表达式)表达式)case 常量表达式常量表达式1:语句语句1;break; case 常量表达式常量表达式2:语句语句2;break;case 常量表达式常量表达式n:语句语句
7、n;break;default:语句语句n+1; 多分支选择语句:当表达式的值与某一个case后面的常量表达式的值相等时就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行defaut后面的语句辅助控制语句oBreak语句 多分支选择语句 switch语句,在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行。可以用一个break语句来达到此目的。实际上break语句用来从循环体内跳出循环体,即提前结束循环接着执行循环下面的语句。obreak语句的一般形式为: Break;oBreak语句不能用于循环语句和switch语句
8、之外的任何其它语句中。辅助控制语句oContinue语句 一般形式为:Continue;o其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。ocontinue语句和Break语句的区别是: continue语句只结束本次循环,而不是终止整个循环的执行。而Break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。C语言的流程控制语句语言的流程控制语句o转移语句转移语句nbreak;ncontinue;int n;for(n=10;n100;n+) if(n%3!=0) continue; printf(“%5d”,n);nreturn;ngoto
9、表达式表达式NYYbreakcontinueNNYYNbreak语句退出循环continue结束本次循环表达式1表达式2d:十进制整数5:输出字段的宽度辅助控制语句Goto语句: goto语句为无条件转向语句,它的一般形式为:goto 语句标号;语句标号用标识符表示它的定名规则与变量名相同(即由字母、数字及下划线组成,第一个字符必须为字母或下划线)。辅助控制语句oReturn语句 return语句将被调用函数中的一个确定值带回主调函数中去。o如果需要从被调用函数带回一个函数值(供主调函数使用),被调用函数中必须包含一个return语句o如果不需用被调用函数带回函数值可以不要return语句。o
10、一个函数中可以有一个以上的return语句执行到哪一个return语句,哪一个语句起作用。oreturn语句后面的括弧也可以不要。o标准输入输出:标准输入输出: scanf (“格式控制字符串格式控制字符串”,地址列表,地址列表); 例:例: scanf(“%d ”,&a); printf(“格式控制字符串格式控制字符串”,输出列表,输出列表); 例:例:printf(“%d n”,a);I/O端口读写:端口读写:Inportb(BASEADDR+6);/*读读I/O端口端口*/Outportb(BASEADDR+13, 0 x05); /*写端口写端口*/format按按10进制进制整形输出
11、整形输出地址运算符地址运算符&+变量名变量名n换行,将当前位换行,将当前位置移到下一行开头置移到下一行开头cmd 操作操作0 返回按键的键值,该值是2个字节的整型数,若没有键按下,则该函数一直等待,直到有键按下。当按下时,若返回值的低8位为非零,则表示为普通键,其值代表该键的ASCII码。若返回值的低8位表示为扩展的ASCII码,表示按下的是特殊功能键。1 此时,该函数则用来查询是否有键按下。若返回非0值,则表示有键按下,若为0,表示没键按下。2此时,该函数将返回一些控制键是否被按过,按过的状态由该函数返回的低8位的各位值来表示。bioskey(int cmd) 它在Bios.h头文件中进行了
12、说明,该函数实际上调用了BIOS的INT16H中断,参数用来确定BIOSKEY()如何操作 键盘控制C语言中几个常用的函数语言中几个常用的函数(2)o键盘输入:键盘输入:kbhit() /* 检查当前按下的键*/bioskey(0) /*返回键盘输入并清空*/while(!kbhit() /* 如果没有按下任意键继续 */o延时:延时:delay(millisecond) /*延时若干毫秒*/Sleep(second) /*延时若干秒*/oFile:管理文件和目录,装入或保存程序等;oEdit:进入Turbo C的编辑程序,输入和修改源程序;oRun:编译、连接和运行装入Turbo C环境的当
13、前程序;oCompile:编译和连接装入Turbo C环境的当前程序;oProject:管理多文件工程;oOptions:设置编译程序和连接程序的各种选择项;oDebug:设置各种调试选择项;oBreak/Watch:设置断点,在调试阶段以便监视所需要观察的变量。oBreak/Watch:Watch指屏幕的监视窗口,位于屏幕的编辑窗口的下部,可以从这个监视窗口中看到你所指定的某些变量在程序执行过程中的变化。nAdd Watch :允许键入变量名或表达式,在调试程序时,通过窗口监视该变量或表达式的变化情况;nDelete Watch :在监视窗口中删除变量或表达式;nEdit Watch :允许
14、修改监视窗口中的变量或表达式。Turbo C 2.0 环境的使用环境的使用o菜单栏菜单栏: Alt+F F10o几个常用的命令几个常用的命令n打开:打开:F3n保存:保存:F2n编译连接生成编译连接生成EXE:F9;n运行运行:Ctrl+F9(用AltF5切换到用户窗口切换到用户窗口)n调试:调试:l单步:单步:F8 不可进入函数体,取消不可进入函数体,取消ctrl+F2l单步单步: F7 可进入被调函数体可进入被调函数体l断点断点:Ctrl+F8l观察变量:观察变量:Ctrl+F7Turbo C 2.0 环境的使用环境的使用n全屏全屏窗口窗口 模式切换模式切换:Alt+EnternALT+X
15、退出nCtrl+break跳出o编辑程序编辑程序n编写程序:打开记事本进行编辑,保存文件名编写程序:打开记事本进行编辑,保存文件名后缀为后缀为TXT,之后在,之后在TC中打开调试中打开调试o编译时出现:Unable to open input file xxxxx,不能打开输入文件xxxxx(例cos.OBJ) 解决办法:1、点右键 另存 2、设路径 3、或者点属性,取消只读文件 o编译时出现:Unable to open input file xxxxx,不能打开输入文件xxxxx(例cos.OBJ) 解决办法:激活菜单到options derectory E:turboc2.0includ
16、e E:turboc2.0lib E:turboc2.0 saveo环境配置文件:环境配置文件:C语言程序的编写和要求语言程序的编写和要求o需要解决的问题是什么?抓住主要问题o把自然语言描述转换为计算机语言描述:伪代码o如何解决?理清思路,画出流程图o记事本上先编写代码,在TC环境中调试o模块化编程:主函数中的语句尽量清晰明了,多用子函数来完成功能模块。程序编写提示程序编写提示o使用帮助:F1 或Ctrl+F1n根据函数说明快速使用o提高程序可读性:n程序模块化n简洁、明了、易读n缩进编写n多写注释o程序调试:单步执行,加watch,观察变量。例例1omain()oo .ofor(k=0;k.
17、)oofor(j=0;j.)oo.ooo例例2omain()oo o for(k=1,)o o for(j=1;)o o .o o o o复合语句配对的括弧要对齐o全局变量与局部变量(作用域)int x; /* x就是一个全局变量 */main() int y; /*y就是一个局部变量 */o尽量少用全局变量,因为系统为其分配固定的永久存储空间;而系统为局部变量分配动态存储空间。oInt I /* 全局变量全局变量*/omain()oo int DI_in6,DO_out6,i; /* 局部变量局部变量*/o DataInput(参数)o ReadPort(参数)o WritePort(参数)o Control(参数)o DataOutput(参数)o程序规范程序规范( (例例) )/ /* *屏幕输入模块屏幕输入模块* */ /*I/O端口输入模块端口输入模块*/*I/O端口输出模块端口输出模块*/ /* *控制模块控制模块* */ / /* *屏幕输出模块屏幕输出模块* */ /训练内容训练内容o完成下列位操作程序代码:完成下列位操作程序代码:字节字节byte位位bits8n把一个字节把一个字节byte分离成分离成8位,存于数组位,存于数组bits8:void bytetobits(unsigned int byte, unsi
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 七年级下《认识事件的可能性》浙教版-课件
- 制砂设备安装清包合同(2篇)
- 2025技术秘密转让合同书模板
- 2025芜湖市行政事业单位公务用车定点维修合同
- 2024年度四川省公共营养师之二级营养师押题练习试卷B卷附答案
- 2025计算机硬件采购合同
- 中国造纸市场供需现状及投资战略研究报告
- 2025消防工程安装合同
- 2024-2025年中国5G小基站行业发展潜力分析及投资方向研究报告
- 沼气灶具项目可行性研究报告申请建议书
- 2024-2030年中国电子级四氟化硅行业风险评估及未来全景深度解析研究报告
- JGJ106-2014建筑基桩检测技术规范
- 中考字音字形练习题(含答案)-字音字形专项训练
- 四柱万能液压机液压系统 (1)讲解
- JTT 1501-2024 潜水作业现场安全监管要求(正式版)
- 家乡土特产电商营销策划方案(2篇)
- CTD申报资料撰写模板:模块三之3.2.S.4原料药的质量控制
- 汽车标准-商用车辆前轴总成
- 个人贷款月供款计算表模板
- 先玉335玉米品种介绍课件讲解
- (正式版)JTT 1482-2023 道路运输安全监督检查规范
评论
0/150
提交评论