C语言的基本知识.ppt

上传人:sccc 文档编号:5336618 上传时间:2023-06-27 格式:PPT 页数:44 大小:281.01KB
返回 下载 相关 举报
C语言的基本知识.ppt_第1页
第1页 / 共44页
C语言的基本知识.ppt_第2页
第2页 / 共44页
C语言的基本知识.ppt_第3页
第3页 / 共44页
C语言的基本知识.ppt_第4页
第4页 / 共44页
C语言的基本知识.ppt_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《C语言的基本知识.ppt》由会员分享,可在线阅读,更多相关《C语言的基本知识.ppt(44页珍藏版)》请在三一办公上搜索。

1、C语言的基本知识,辅助训练,C语言提要,C语言的语法C语言的基本运算及流程控制语句控制系统中常用的C语言函数TC2.0 环境的使用C程序的编写要求,C语言的语法-C语言的特点,程序以函数为单元,并且有且仅有一个主函数 main();变量的声明和定义必须在函数头部;语句必须以“;”结束;注释:/*/C语言允许直接访问物理地址;可以直接对硬件进行操作;能进行位(bit)操作,C语言的语法-C语言的数据类型,整型:int、short、long(数据在内存中以2进制形式存放)字符型:char浮点型:float、double指针:char*、int*、float*一维整形数组:int a10;数组是有序

2、数据的集合,数组中的每一个元素都属于同一个数据类型结构体:struct公用体:union无符号数:unsigned(unsigned int;unsigned char),C语言的基本运算算术运算,C语言的基本运算算术赋值运算,注意:5/2=2;5/2.0=2.5,C语言的基本运算位运算,位运算的举例-位与运算,规则:两个运算量中相应位都是1,则该位的结果为1,否则为0。例:,0 1 0 1 0 1 0 1,0 1 0 1 1 0 1 0,0 1 0 1 0 0 0 0,与,x=0 x55(01010101)y=0 x5a(01011010)x&y=0 x50(01010000),位运算的举例

3、-位或运算,规则:两个运算量中相应位只要有一个是1,则该位的结果为1,否则为0。例:,0 1 0 1 0 1 0 1,0 1 0 1 1 0 1 0,0 1 0 1 1 1 1 1,或,x=0 x55(01010101)y=0 x5a(01011010)x|y=0 x5f(01011111),位运算的举例-位反运算,规则:一个运算量的每一位都取反,即将1变为0,0变为1。例:,0 1 0 1 0 1 0 1,1 0 1 0 1 0 1 0,反,x=0 x55(01010101)x=0 xaa(10101010),位运算的举例-移位运算,规则:对整型操作数中的每一位向右或向左移动,变量一端被移出

4、的位被舍弃,另一端空出的位则以0填补。例:,0 1 0 1 0 1 0 1,0 0 0 0 0 1 0 1,移位(舍弃0101),x=0 x55(01010101)x 4 0 x05,*在计算机系统中常常采用移位运算以快速实现乘法和除法的运算,每左移1位等效于乘以2,每右移1位等效于除以2。,位运算的应用举例,方法1:先右移n位,再与“0 x01”进行与运算bit=(byten),0 0 0 0 1 1 1 0,1,思考:如何从一个字节byte中取出第n位?,C语言的基本运算关系运算,C语言的基本运算逻辑运算,C语言的流程控制语句(1),if(表达式)语句1else 语句2while(表达式)

5、语句do 语句 while(表达式);for(i=0;iN;i+)语句,C语言的流程控制语句,选择语句if(表达式)语句1 else 语句2,C语言的流程控制语句,循环语句while(表达式)循环体语句do 语句 循环体语句 while(表达式);,C语言的流程控制语句(续),for(i=0;iN;i+)循环体语句,C语言的流程控制语句(2),switch(表达式)case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式n:语句n;break;default:语句n+1;,多分支选择语句:当表达式的值与某一个case后面的常量表达式的值相等时

6、就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行defaut后面的语句,辅助控制语句,Break语句 多分支选择语句 switch语句,在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行。可以用一个break语句来达到此目的。实际上break语句用来从循环体内跳出循环体,即提前结束循环接着执行循环下面的语句。break语句的一般形式为:Break;Break语句不能用于循环语句和switch语句之外的任何其它语句中。,辅助控制语句,Continue语句 一般形式为:Continue;其作用为结束本次循环,即跳过循环体

7、中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue语句和Break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而Break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。,C语言的流程控制语句,转移语句break;continue;int n;for(n=10;n100;n+)if(n%3!=0)continue;printf(“%5d”,n);return;goto,表达式,表达式,N,Y,Y,break,continue,N,N,Y,Y,N,break语句退出循环,continue结束本次循环,表达式1,表达式2,d:十进制整

8、数5:输出字段的宽度,辅助控制语句,Goto语句:goto语句为无条件转向语句,它的一般形式为:goto 语句标号;语句标号用标识符表示它的定名规则与变量名相同(即由字母、数字及下划线组成,第一个字符必须为字母或下划线)。,辅助控制语句,Return语句 return语句将被调用函数中的一个确定值带回主调函数中去。如果需要从被调用函数带回一个函数值(供主调函数使用),被调用函数中必须包含一个return语句如果不需用被调用函数带回函数值可以不要return语句。一个函数中可以有一个以上的return语句执行到哪一个return语句,哪一个语句起作用。return语句后面的括弧也可以不要。,常用

9、的C语言函数(1),标准输入输出:scanf(“格式控制字符串”,地址列表);例:scanf(“%d”,/*写端口*/,format,按10进制整形输出,地址运算符&+变量名,n换行,将当前位置移到下一行开头,bioskey(int cmd)它在Bios.h头文件中进行了说明,该函数实际上调用了BIOS的INT16H中断,参数用来确定BIOSKEY()如何操作,键盘控制,C语言中几个常用的函数(2),键盘输入:kbhit()/*检查当前按下的键*/bioskey(0)/*返回键盘输入并清空*/while(!kbhit()/*如果没有按下任意键继续*/延时:delay(millisecond)/

10、*延时若干毫秒*/Sleep(second)/*延时若干秒*/,Turbo C 2.0 环境,管理文件和目录,装入或保存程序等,进入Turbo C 的编辑程序,输入和修改源程序,管理多文件工程,设置编译程序和连接程序的各种选择项,设置各种调试选择项,设置断点,在调试阶段以便监视所需的变量,编译、连接和运行装入Turbo C 环境的当前程序,编译和连接装入Turbo C 环境的当前程序,Turbo C 2.0 环境,File:管理文件和目录,装入或保存程序等;Edit:进入Turbo C的编辑程序,输入和修改源程序;Run:编译、连接和运行装入Turbo C环境的当前程序;Compile:编译和

11、连接装入Turbo C环境的当前程序;Project:管理多文件工程;Options:设置编译程序和连接程序的各种选择项;Debug:设置各种调试选择项;Break/Watch:设置断点,在调试阶段以便监视所需要观察的变量。,Turbo C 2.0 环境,Break/Watch:Watch指屏幕的监视窗口,位于屏幕的编辑窗口的下部,可以从这个监视窗口中看到你所指定的某些变量在程序执行过程中的变化。Add Watch:允许键入变量名或表达式,在调试程序时,通过窗口监视该变量或表达式的变化情况;Delete Watch:在监视窗口中删除变量或表达式;Edit Watch:允许修改监视窗口中的变量或

12、表达式。,Turbo C 2.0 环境的使用,菜单栏:Alt+F F10几个常用的命令打开:F3保存:F2编译连接生成EXE:F9;运行:Ctrl+F9(用AltF5切换到用户窗口)调试:单步:F8 不可进入函数体,取消ctrl+F2单步:F7 可进入被调函数体断点:Ctrl+F8观察变量:Ctrl+F7,Turbo C 2.0 环境的使用,全屏窗口 模式切换:Alt+EnterALT+X退出Ctrl+break跳出编辑程序编写程序:打开记事本进行编辑,保存文件名后缀为TXT,之后在TC中打开调试,编译时出现:Unable to open input file xxxxx,不能打开输入文件xx

13、xxx(例cos.OBJ)解决办法:1、点右键 另存 2、设路径 3、或者点属性,取消只读文件,编译时出现:Unable to open input file xxxxx,不能打开输入文件xxxxx(例cos.OBJ)解决办法:激活菜单到options derectory E:turboc2.0include E:turboc2.0lib E:turboc2.0 save,Turbo C 2.0 环境,环境配置文件:,C语言程序的编写和要求,需要解决的问题是什么?抓住主要问题把自然语言描述转换为计算机语言描述:伪代码如何解决?理清思路,画出流程图记事本上先编写代码,在TC环境中调试模块化编程:

14、主函数中的语句尽量清晰明了,多用子函数来完成功能模块。,程序编写提示,使用帮助:F1 或Ctrl+F1根据函数说明快速使用提高程序可读性:程序模块化简洁、明了、易读缩进编写多写注释程序调试:单步执行,加watch,观察变量。,例1,main().for(k=0;k.)for(j=0;j.).,例2,main()for(k=1,)for(j=1;).,复合语句配对的括弧要对齐,变量申明,全局变量与局部变量(作用域)int x;/*x就是一个全局变量*/main()int y;/*y就是一个局部变量*/尽量少用全局变量,因为系统为其分配固定的永久存储空间;而系统为局部变量分配动态存储空间。,Int

15、 I/*全局变量*/main()int DI_in6,DO_out6,i;/*局部变量*/DataInput(参数)ReadPort(参数)WritePort(参数)Control(参数)DataOutput(参数),程序规范(例),/*屏幕输入模块*/,/*I/O端口输入模块*/,/*I/O端口输出模块*/,/*控制模块*/,/*屏幕输出模块*/,训练内容,完成下列位操作程序代码:字节byte位bits8把一个字节byte分离成8位,存于数组bits8:void bytetobits(unsigned int byte,unsigned int*bits)把存于数组bits8中的8位合成一个字节byte:unsigned int bitstobyte(unsigned int*bits),实现方法,void bytetobits(unsigned int byte,unsigned int*bits)int i;for(i=0;ii),把一个字节byte分离成8位,存于数组bits8,1.变量:全局变量与局部变量;2.子函数:屏幕输入/输出、I/O端口输入输出 控制模块3.调试方法:主程序开始,子函数一个一个编 写调试4.程序注释,程序规范,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号