C语言的基本知识

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

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*一维整形数组:inta[10];数组是有序数据的集合,数组中的每一个元素都属于同一个数据类型结构体:struct公用体:union无符号数:unsigned(unsignedint;unsignedchar)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+=ba=a+b-=减赋值a-=ba=a-b*=乘赋值a*=ba=a*b/=除赋值a/=ba=a/b%=取余赋值a%=ba=a%b注意:5/2==2;5/2.0==2.5C语言的基本运算-位运算运算符名称例子运算功能&位与a&ba和b按位与|位或a|ba和b位或~位反~aa按位取反右移位a2a右移2位左移位a1a左移1位位运算的举例-位与运算规则:两个运算量中相应位都是1,则该位的结果为1,否则为0。例:010101010101101001010000与x=0x55(01010101)y=0x5a(01011010)x&y=0x50(01010000)位运算的举例-位或运算规则:两个运算量中相应位只要有一个是1,则该位的结果为1,否则为0。例:010101010101101001011111或x=0x55(01010101)y=0x5a(01011010)x|y=0x5f(01011111)位运算的举例-位反运算规则:一个运算量的每一位都取反,即将1变为0,0变为1。例:0101010110101010反x=0x55(01010101)~x=0xaa(10101010)位运算的举例-移位运算规则:对整型操作数中的每一位向右或向左移动,变量一端被移出的位被舍弃,另一端空出的位则以0填补。例:0101010100000101移位(舍弃0101)x=0x55(01010101)x4=0x05*在计算机系统中常常采用移位运算以快速实现乘法和除法的运算,每左移1位等效于乘以2,每右移1位等效于除以2。位运算的应用举例方法1:先右移n位,再与“0x01”进行与运算bit=(byten)&0x01;方法2:使用屏蔽字unsignedcharMASK[8]={0x01,0x02,0x04,0x08,0x10,0x20,0x40,0x80};bit=byte&MASK[n];000011101思考:如何从一个字节byte中取出第n位?C语言的基本运算-关系运算运算符名称例子运算功能大于aba大于b小于aba小于b==等于a==ba等于b=大于等于a=ba大于等于b=小于等于a=ba小于等于b!=不等于a!=ba不等于bC语言的基本运算-逻辑运算运算符名称例子运算功能&&逻辑与a&&ba与b‖逻辑或a‖ba或b!逻辑反!aa反C语言的流程控制语句(1)if(表达式)语句1else语句2while(表达式)语句do语句while(表达式);for(i=0;iN;i++)语句C语言的流程控制语句选择语句if(表达式)语句1else语句2条件成立?语句1语句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后面的常量表达式的值相等时就执行此case后面的语句,若所有的case中的常量表达式的值都没有与表达式的值匹配的,就执行defaut后面的语句辅助控制语句Break语句多分支选择语句switch语句,在执行一个case分支后,使流程跳出switch结构,即终止switch语句的执行。可以用一个break语句来达到此目的。实际上break语句用来从循环体内跳出循环体,即提前结束循环接着执行循环下面的语句。break语句的一般形式为:Break;Break语句不能用于循环语句和switch语句之外的任何其它语句中。辅助控制语句Continue语句一般形式为:Continue;其作用为结束本次循环,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。continue语句和Break语句的区别是:continue语句只结束本次循环,而不是终止整个循环的执行。而Break语句则是结束整个循环过程,不再判断执行循环的条件是否成立。C语言的流程控制语句转移语句break;continue;intn;for(n=10;n100;n++){if(n%3!=0)continue;printf(“%5d”,n);}return;goto表达式表达式NYYbreakcontinueNNYYNbreak语句退出循环continue结束本次循环表达式1表达式2d:十进制整数5:输出字段的宽度辅助控制语句Goto语句:goto语句为无条件转向语句,它的一般形式为:goto语句标号;语句标号用标识符表示它的定名规则与变量名相同(即由字母、数字及下划线组成,第一个字符必须为字母或下划线)。辅助控制语句Return语句return语句将被调用函数中的一个确定值带回主调函数中去。如果需要从被调用函数带回一个函数值(供主调函数使用),被调用函数中必须包含一个return语句如果不需用被调用函数带回函数值可以不要return语句。一个函数中可以有一个以上的return语句执行到哪一个return语句,哪一个语句起作用。return语句后面的括弧也可以不要。常用的C语言函数(1)标准输入输出:scanf(“格式控制字符串”,地址列表);例:scanf(“%d”,&a);printf(“格式控制字符串”,输出列表);例:printf(“%d\n”,a);I/O端口读写:Inportb(BASEADDR+6);/*读I/O端口*/Outportb(BASEADDR+13,0x05);/*写端口*/format按10进制整形输出地址运算符&+变量名\n换行,将当前位置移到下一行开头cmd操作0返回按键的键值,该值是2个字节的整型数,若没有键按下,则该函数一直等待,直到有键按下。当按下时,若返回值的低8位为非零,则表示为普通键,其值代表该键的ASCII码。若返回值的低8位表示为扩展的ASCII码,表示按下的是特殊功能键。1此时,该函数则用来查询是否有键按下。若返回非0值,则表示有键按下,若为0,表示没键按下。2此时,该函数将返回一些控制键是否被按过,按过的状态由该函数返回的低8位的各位值来表示。bioskey(intcmd)它在Bios.h头文件中进行了说明,该函数实际上调用了BIOS的INT16H中断,参数用来确定BIOSKEY()如何操作键盘控制C语言中几个常用的函数(2)键盘输入:kbhit()/*检查当前按下的键*/bioskey(0)/*返回键盘输入并清空*/while(!kbhit()){…}/*如果没有按下任意键继续*/延时:delay(millisecond)/*延时若干毫秒*/Sleep(second)/*延时若干秒*/TurboC2.0环境管理文件和目录,装入或保存程序等进入TurboC的编辑程序,输入和修改源程序管理多文件工程设置编译程序和连接程序的各种选择项设置各种调试选择项设置断点,在调试阶段以便监视所需的变量编译、连接和运行装入TurboC环境的当前程序编译和连接装入TurboC环境的当前程序TurboC2.0环境File:管理文件和目录,装入或保存程序等;Edit:进入TurboC的编辑程序,输入和修改源程序;Run:编译、连接和运行装入TurboC环境的当前程序;Compile:编译和连接装入TurboC环境的当前程序;Project:管理多文件工程;Options:设置编译程序和连接程序的各种选择项;Debug:设置各种调试选择项;Break/Watch:设置断点,在调试阶段以便监视所需要观察的变量。TurboC2.0环境Break/Watch:Watch指屏幕的监视窗口,位于屏幕的编辑窗口的下部,可以从这个监视窗口中看到你所指定的某些变量在程序执行过程中的变化。AddWatch:允许键入变量名或表达式,在调试程序时,通过窗口监视该变量或表达式的变化情况;DeleteWatch:在监视窗口中删除变量或表达式;EditWatch:允许修改监视窗口中的变量或表达式。TurboC2.0环境的使用菜单栏:Alt+FF10几个常用的命令打开:F3保存:F2编译连接生成EXE:F9;运行:Ctrl+F9(用Alt+F5切换到用户窗口)调试:单步:F8不可进入函数体,取消ctrl+F2单步:F7可进入被调函数体断点:Ctrl+F8观察变量:Ctrl+F7TurboC2.0环境的使用全屏窗口模式切换:Alt+EnterALT+X退出Ctrl+break跳出编辑程序编写程序:打开记事本进行编辑,保存文件名后缀为TXT,之后在TC中打开调试编译时出现:Unabletoopeninputfile‘xxxxx’,不能打开输入文件‘xxxxx’(例cos.OBJ)解决办法:1、点右键另存2、设路径3、或者点属性,取消只读文件编译时出现:Unabletoopeninputfile‘xxxxx’,不能打开输入文件‘xxxxx’(例cos.OBJ)解决办法:激活菜单到optionsderectoryE:\turboc2.0\includeE:\turboc2.0\libE:\turboc2.0saveTurboC2.0环境环境配置文件:C语言程序的编写和要求需要解决的问题是什么?——抓住主要问题把自然语言描述转换为计算机语言描述:——伪代码如何解决?——理清思路,画出流程图记事本上先编写代码,在TC环境中调试模块化编程:主函数中的语句尽量清晰明了,多用子函数来完成功能模块。程序编写提示使用帮助:F1或Ctrl+F1根据函数说明快速使用提高程序可读性:程序模块化简洁、明了、易读缩进编写多写注释程序调试:单步执行,加watch,观察变量。例1main(){…..for(k=0;k…..){for(j=0;j….){……..}}}例2main(){………………for(k=1,……){for(j=1;……){…….}}…………………}复合语句配对的括弧要对齐变量申明全局变量与局部变量(作用域)intx;/*x就是一个全局变量*/main(){inty;/*y就是一个局部变量*/}尽量少用全局变量,因为系统为其分配固定的永久存储空间;而系统为局部变量分配动态存储空间。IntI/*全局变量*/main(){intDI_in[6],DO

1 / 44
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功