文档库 最新最全的文档下载
当前位置:文档库 › C语言程序设计上机实践心得报告

C语言程序设计上机实践心得报告

C语言程序设计上机实践心得报告
C语言程序设计上机实践心得报告

班级:11电信2

姓名:莫金波

学号:110703224

2012.12.28

惠州学院 HUIZHOU UNIVERSITY

我们专业的学生在专业老师的带领下进行了c语言设计基础教程的实践学习。在这之前,我们已经对c语言这门课程学习了差不多一个学期,对其有了一定的了解,但是也仅仅是停留在了解的范围,对里面的好多东西还是很陌生的,在运用起来的时候还是感到很棘手,毕竟,万事开头难嘛。由于时间的关系,我们的这次实践课程老师并没有给我们详细的介绍,只是给我们简单的介绍了几个比较重要的实际操作。对于程序设计语言的学习目的,可以概括为学习语法规定、掌握程序设计方法、提高程序开发能力,这些都必须通过充分的实际上机操作才能完成。

学习c程序设计语言除了课堂讲授以外,必须保证有一定的上机时间。因为学时所限,课程不能安排过多的统一上机实验,所以我们学生都很有效地利用课程上机实验的机会,尽快掌握用c语言开发程序的能力,为今后的继续学习打下一个良好的基础。为此,我们结合课堂讲授的内容和进度,安排了多周的上机实验。

试验一:简单的C语言程序

操作体会:运算符的种类可以分为算术运算符、关系运算符和逻辑运算符。/(整除) 对int型、float型和double型变量都适用%(取余数) 运算符只适用开int型运算,不允许对浮点数)float或double)操作,对浮点型数进行操作会引起编绎错误。还有注意i++和++i的区别。如:

#include

void main( )

{ int i=8,j=10;

printf(“%d,%d\n”,i++,j++);(8,10)}

若将printf语句改为:

printf(“%d,%d\n”,++i,++j);(9,11)

实验二:输入输出函数的使用

操作体会:正确使用各种格式转换符。如:#include

main()

{

char a,b;

int c;

scanf("%c%c%d",&a,&b,&c);

printf("%c,%c,%d\n",a,b,c);

}

若输入12 34,则结果为1,2,34

试验三:选择结构程序设计

操作体会:switch只是if的一种特殊形式,就是当判断的条件都是某个值的时候,switch一定可以用if语句替换,但反过来不一定,只有满足一定条件才可以,也就是拿来判断的这个东东必须是同一个东西,还要满足特定的类型(string ,int 等)

试验四:循环结构程序设计

操作体会:1.for循环结构:for(表达式1;表达式2;表达3)语句;2.while和do while循环结构do while语句至少执行一次3.continue 语句与break语句:Continue语句是用于循环语句中,当执行到该语句时,重新跳到循环语句的开始位置继续执行程序。而break语句则是跳出循环语句,执行循环体外的语句。4.循环的嵌套。

试验五:函数

操作体会:1.库函数的正确调用

2.函数的定义方法

函数定义的一般形式:

类型标识符函数名(形式参数列表)

{

数据声明部分

语句

}

3.局部变量和全局变量。

4.变量的存储类别(自动、静态、寄存器、外部),变量的作用域和生存期。

变量的存储类别,是指变量在内存中的存储方式。可以分为:自动(auto)、静态(static)、寄存器(register)、外部(extern)四个类型。

自动(auto):这种类型的变量是动态分配存储空间的,数据存放在动态存储区中。函数的形式参数和函数体内的形式参数都属于这种类型。在函数调用时分配存储空间,当调用结束就释放存储空间。

静态(static):这种类型的变量占用着存储空间不释放,在下次访问该变量时,该变量的值是上次修改的值。

寄存器(register):这种存储方式跟自动(auto)方式都是相同,当使用完变量以后会自动释放空间。

外部(extern):这种类型的变量就是全局变量.

变量的作用域是指变量能够发挥作用的范围.

变量的生存期是指变量在程序执行的过程中存在、拥有分配的存储空间的时期。

试验六:一维数组二维数组和字符数组

操作体会:1.一维数组的定义、初始化和引用

(1)一维数组的定义方式:

类型标识符数组名[数组长度]

数组名命名规则和标识符命名规则一致。

(2)一维数组的初始化方法:

①在定义数组时对数组初始化,如:

int array[8]={1,2,3,4,5,6,7,8}

②可以只给一部分元素赋值,如:

int array[8]={1,2,3,4} 即:int array[8]={1,2,3,4,0,0,0,0}

③若要数组里所有元素为0,可以写成:

int array[8]={0}

④在对数组中全部元素赋初值时,可以不指定数组长度,

如:

int array[ ]={1,2,3,4,5}与

int array[5]={1,2,3,4,5}意义相同。

(3)一维数组的引用:数组名[下标]

2.多维数组的定义、初始化和引用

3.字符数组的定义、初始化和引用

char 数组名[数组长度]

试验七:指针

操作体会:1.指针与指针变量的概念,指针与地址运算符。

(1)指针与指针变量的概念。

C语言中的指针是指一个变量的地址,存放这个地址的变量就是指针变量。指针变量跟普通变量占用一定的存储空间,不同的是存储在指针变量存储空间中的不是普通数据而是一个地址。

当指针得到某一地址时,称指针指向该存储区域。可以通过指针对它所指向的内存区域中的数据进行处理。指针所指向的内存区域中的数据称为指针的目标,指针目标用指针名前面加*符号表示。

(2)指针与地址运算符。C语言中与指针有关的运算符有两个:

①&:取地址运算符,例如:&a表示变量a的地址。

②*:指针运算符,例如:*p表示p所指向的变量。

2.变量、数组、字符串、函数、结构体的指针以及指向变量、数组、字符串、函数、结构体的指针变量。通过指针引用以上各类型数据。

(1)指针的声明形式:

数据类型* 指针名

(2)数组与指针。

C语言中的指针可以指向数组元素,同时可以通过指针引用数组,通过指针引用数组能提高程序的质量。

定义指向数组元素的指针变量形式与定义指向变量的指针变量相同,如:

int a[10];

int *p;

p=&a[0];或p= a;

p的初值为&a[0],则:

①p+i和a+i就是a[i]的地址。

②*(p+i)或*(a+i)是p+i或a+i所指向的数组元素a[i]。

③指向指针的变量也可以带下标,如p[i]和*(p+i)等价。

(3)字符串与指针。

(4)指向函数的指针。

数据类型(*指针名)( )

这里的数据类型是指函数的返回类型。

3.用指针作函数参数。

用指针作为函数参数可以实现“传址”方式的参数传递,使得主调用函数得到多个在被调用函数处理过程中所修改了的值。

4.返回指针值的指针函数。

函数的返回值可以是指针,这种函数的定义形式如下:数据类型*函数名(参数表)

这里数据类型是指返回指针的数据类型。

5.指针数组,指向指针的指针,main函数的命令行参数。

(1)指针数组。

指针数组是一个数组,数组里面每个元素都是一个指针变量,其定义形式如下:

数据类型*数组名[数组长度]

与二维字符数组相比指针数组用于处理多个字符串更方便。如果用二维字符数组来处理多个字符串时,数组的列数是相同的,但并不能保证每个字符串的长度都相同,这样就会造成存储空间的浪费,而用字符型的指针数组处理多个字符串就不存在这样的问题,因为并不需要规定字符串的长度。

试验八:结构体

操作体会: 结构体和共用体类型数据的定义方法和引用方法。

(1)结构体

①结构体的定义一般形式如下:

struct 结构名

{

成员列表

};

struct是结构定义的保留字,其后是结构名由用户命名,命名原则与变量名命名规则相同。在结构名下的花括号中括起来的是此结构体的成员项,每个成员项由数据类型和成员名组成。整个结构体定义以分号作为结束符,注意这分号不能省略。

②定义结构体类型变量。

a.先声明结构体类型再定义变量名如:struct student stu1,stu2;其中student是已经定义了的结构体类型,stu1和stu2是该类型的变量。

b.在声明类型同时定义变量的形式:

struct 结构体名

{

成员列表

}变量列表;

c.直接定义结构体类型变量的形式:

struct

{

成员列表

}变量列表;

③引用结构体变量的一般形式:结构变量名.成员名或指向结构的指针->成员名

在引用结构类型变量时应注意以下几点:不能对结构体变量作为一个整体进行操作;如果结构体成员本身也是一个结构体变量,在操作时要用一级一级的找到最低一级的成员对其进行操作;结构体变量的成员可以像普通变量一样进行各种运算;可以引用结构体变量的地址,也可以引用结构体变量的成员的地址。

④可以对结构体变量进行初始化,一般形式如下:Struct 结构名变量名{初始化数据};

(2)共用体

共用体变量定义的一般形式如下:

union 共用体名

{

成员列表

}变量列表;

使用共用体时要注意以下几点:共用体类型数据在同一个内存可以用来存放几种不同类型的成员,但在每一时刻只能存放其中一种;共用体变量中起作用的成员是最后一次存放的成员,再存入新成员原有的成员就失去作用;共用体地址和其各成员地址相同;不能在定义共用体是为其初始化;共用体类型可以出现在结构体定义中,结构体类型也可以出现在共用体定义中。

心得体会总结

1.学习c语言不能停留在学习它的语法规则,而是利用学到的知识编写c语言程序,解决实际问题。即把c语言作为工具,描述解决实际问题的步骤,由计算机帮助我们解题。自己编好程序上机调试运行时,可能有很多你想不到的情况发生,通过解决这些问题,可以逐步提高自己对c语言的理解和程序开发能力。

2.熟悉程序开发环境、学习计算机系统的操作方法

一个c语言程序从编辑、编译、连接到运行,都要在一定的外部操作环境下才能进行。通过上机实验,熟练地掌握c语言开发环境,为以后真正编写计算机程序解决实际问题打下基础。同时,在今后遇到其它开发环境时就会触类旁通,很快掌握新系统的使用。

3.学习上机调试程序

完成程序的编写,决不意味着万事大吉。你认为万无一失的程序,实际上机运行时可能不断出现麻烦。程序的调试是一个技巧性很强的工作,对于初学者来说,尽快掌握程序调试方法是非常重要的。有时候一个消耗你几个小时时间的小小错误,调试高手一眼就看出错误所在。

通过这次为数不多的几周计算机实践学习,我们了解了一些关于c语言的知识,理解巩固了我们c语言的理论知识,着对我们将来到社会工作将会有莫大的帮助。同时它让我知道,只要你努力,任何东西都不会太难。

c语言程序设计教程第二版课后习题答案

c 语言程序设计教程第二版课后习题 答 案 篇一: c 语言程序设计教程_李含光_ 郑关胜_ 清华大学 出版社习题答案习题答案[完美打印版]】1.单项选择题 (1)a (2)c(3)d (4)c (5)b 2.填空题(1)函数 (2)主函数(main )(3)printf(),scanf()第 2 章习题参考答案 1.单项选择题 1-5 cbccc 6-10 cdcdc 11-13 dbb 2 .填空题 (1)1(2)26 (3)6 , 4 , 2 (4)10 , 6 (5)3.000000 (6)双精度(double )(7)9 (8)字母,数字,下划线(9)13.700000 (10)11(11)((m/10 )%10 )*100+ (m/100 )*10+m%10 (12)0 (13)10 ,9 ,11(15) (x0y0)||(x0z0)||(y0||z0)(16 )double (17)x==0 (18)sqrt(fabs(a-b))/(3*(a+b))(19 )sqrt((x*x+y*y)/ (a+b)) 第 3 章习题参考答案 1.单项选择题 1-5 cccdd 6-10 bcdbc11-15 bcbbb16 a 2 .填空题 (1)用;表示结束(2){ } (3 )y=x0?1:x==0?0:-1 (4)y%4==0y%100!=0||y%400==0 (5)上面未配对(6)default 标号(7)while ,do while ,for (8)do while (9)本次(10)本层3.阅读程序,指出结果 (1)yes (2)*(3)abother (4)28 70 (5)2,0(6)8(7)36 (8)1(9)3,1,-1,3,1,-1(10)a=12 ,y=12 (11) i=6 ,k=4 (12)1,-2 4 .程序填空 (1)x:y ,u :z (2)m=n ,m !=0 ,m=m/10 (3)teps , t*n/(2*n+1) , printf( n”“,%2*lsf )(4)m%5==0 ,

中财实验报告

《中级财务会计实训》实训报告 专业: 班级: 姓名: 学号: 指导教师: 2018—2019学年第二学期 财富管理学院

《中级财务会计实训》成绩单

实验报告一资产负债表编制实践训练 【实验目的】 掌握资产、负债、所有者权益确认和计量的基本理论和方法;理解财务报表的定义和作用,明确财务报表列报的基本要求,了解附注的基本内容;掌握资产负债表的基本结构和编制原理;能按照规范流程和方法进行各项资产、负债、所有者权益等业务的账务处理;能根据记账凭证编制科目汇总表,并据以编制资产负债表。 【实验要求】 在实验大楼机房进行统一实训,要求根据模拟企业发生的经济业务进行相应的账务处理,并根据实践资料编制资产负债表。 【实验环境及材料】 网中网财会实训教学平台http://10.21.5.136:8080 【实验学时】 实训课时10课时 【实验内容】 详情见网中网财会实训教学平台【中级会计(单项)实训教学平台(版本6.1)】 【实验任务】 根据经济业务完成账务处理 【实验结果】 详情见网中网财会实训教学平台【中级会计(单项)实训教学平台(版本6.1)】

【实验小结】

实验报告二利润表编制实践训练 【实验目的】 理解收入、费用和利润的定义及分类,掌握各种收入、费用确认和计量的基本理论和方法;会办理收入、费用会计核算岗位的各项工作;能按照规范流程和方法进行销售业务的账务处理;能总结出各项收入账务处理上的异同。掌握利润表的基本结构和编制原理;会办理会计报表编制岗位的各项工作;能按照规范流程和方法进行利润表的编制。 【实验要求】 在实验大楼机房进行统一实训,要求根据模拟企业发生的销售业务进行相应的账务处理,掌握一般销售方式和特殊销售方式下销售收入的核算,并根据实践资料编制利润表。 【实验环境及材料】 网中网财会实训教学平台http://10.21.5.136:8080 【实验学时】 实训课时6课时 【实验内容】 详情见网中网财会实训教学平台【中级会计(单项)实训教学平台(版本6.1)】 【实验任务】 根据经济业务完成账务处理 【实验结果】 详情见网中网财会实训教学平台【中级会计(单项)实训教学平台(版本6.1)】

《C语言程序设计》第三章 C语言基础 课堂笔记

页眉内容 《C语言程序设计》第三章C语言基础课堂笔记 §3.1 基本字符集、关键字和标识符 一.基本字符集 字符是C的基本元素,C语言允许使用的基本字符集: 1.26个大写字母A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 2.26个小写子母a b c d e f g h I j k l m n o p q r s t u v w x y z 3.10个阿拉伯数字0 1 2 3 4 5 6 7 8 9 4.其他字符!" # % & ' ( ) * + , - . / : < = > ? [ \ ] ^ _ { | } ~ 5.空格字符以及制表符合换行符等控制字符 二.关键字(P375,附录II) C中具有固定意义的字符串。 (1) C中的关键字共32个,必须用小写字母 (2) 关键字不可用于变量名、函数名等。 auto break 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 union unsigned void volatile while 三.标识符 标识符用于命名变量、类型、函数和其他各种用户定义的对象,是由字母、下划线和数字三种字符组成。 (1) 第一个字符必须为字母或下划线 (2) C对标识符的长度规定为任意,Turbo C区分32 个字符 (3) C区分大小写 (4) 不允许关键字作为标识符 §3.2 C数据类型

C语言程序设计读书笔记题目

读书笔记注意事项: 1、 读书笔记要求至少有六个题目,在一类、二类、三类题目中各选两题,具体题目选择由 学生自行选择。 2、 每个题目必须包含所选题目,以及具体题目的程序实现过程,要求每行语句后都需要有 程序解释,如:int a,b,c; /*定义三个变量a,b,c ,变量类型为整型*/。 3、 读书笔记要求全部手写,在17周由学习委员统一交给任课教师。 一、一类题目 1. 输入任意3个整数,求它们的平均值。 2. 输入任意4个整数,求它们的平均值。 3. 输入一个非负数,计算以这个数为半径的圆周长和面积。 4. 将从键盘输入的实型十进制数分离为整数部分和小数部分后输出。如输入 123.45,输出为:123.45=123+0.45 5. 输入3个字符,反向输出这3个字符和它们的ASCII 码。 6. 输入4个字符,反向输出这4个字符和它们的ASCII 码。 7. 输入任意一个3位数,将其各位数字反序输出(例如输入123,输出321)。 8. 求前n 项的累加和。如S=1+2+3+…+n 。 9. 求n !。如fac=1*2*3*…*n 。 10.输入三角形的边长,求三角形的面积(面积=sqrt(s(s-a)(s-b)(s-c)), s=(a+b+c)/2)。 11.输入一个华氏温度,要求输出摄氏温度,公式为:)(32f 95 c -=,输出前要有提示信息,输出结果保留小数点后两位。 12.求前驱字符和后继字符。输入一个字符,找出它的前驱字符和后继字符,并 按ASCII 码值,按从大到小的顺序输出这3个字符及其对应的ASCII 码值。 13.输入一个非负数,计算以这个数为半径的圆周长和面积。 14.输入两个字符,若这两个字符的序号(ASCII 码)之差为偶数,则输出它们 的后继字符,否则输出它们的前驱字符。 15.输入整数a 和b ,如果a 能被b 整除,就输出算式和商,否则输出算式、整 数商和余数。 二、二类题目 1. 输入一个3位数,判断是否是一个“水仙花数”。水仙花数是指3位数的各位 数字的立方和等于这个3位数本身。例如:153=1*1*1+5*5*5+3*3*3。 2. 试编写一程序,将所有3位数中是“水仙花数”的输出。

8086汇编语言程序设计

实验1 简单汇编语言程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握简单汇编语言程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG 工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG 工具调试程序,验证程序的正确性。 1. 若X、Y、R、W 是存放8 位带符号数字节单元的地址,Z 是16 位字单元的 地址。试编写汇编程序,完成Z←((W-X) ÷5-Y)?(R+ 2) 。 2.试编写一个程序,测试某数是否是奇数。如该数是奇数,则把DL 的第0 位置1,否则将该位置0。 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验2 分支及循环程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握分支程序和循环程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,汇编连接汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编写汇编程序,统计某存储区若干个数据中英文字母的个数,并将结果在屏幕上显示。 2.从键盘任意输入一组字符数据,请编写汇编程序将该组数据加密后在屏幕上显示。参考加密方法是:每个数乘以2。(说明:本题的加密方法,同学们可以自己拟定) 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

实验3 子程序程序设计 一、实验目的与要求 1.熟悉汇编语言运行、调试环境及方法。 2.掌握子程序的设计方法。 3.熟悉调试工具DEBUG,并运用DEBUG工具调试程序。 二、实验内容 根据下列要求,编写汇编源程序,并利用DEBUG工具调试程序,验证程序的正确性。 1.编程以十进制形式和十六进制形式显示AX的内容,并把两个显示功能分别封装成子程序dispDEC和dispHEX。 2.设在以EXAMSCORE为首地址的数据缓冲区依次存放某班10名同学5门功课的成绩,现要统计各位同学的总分,并将总分放在该学生单科成绩后的单元,并调用第1个程序封装好的子程序,以十进制方式显示统计情况,显示格式自行设计。请编程完成此功能。数据缓冲区参考数据定义如下: EXAMSCORE DB 01 ;学号 DB 89,76,54,77,99 ;单科成绩 DW ? ;该学生的总分 DB 02 ;学号 DB 79,88,64,97,92 ;单科成绩 DW ? ;该学生的总分 三、实验报告要求 1.程序算法流程图。 2.源程序清单。 3.程序运行结果。 4.调试过程中遇到的问题和解决的方法。

笔记排列组合C语言编程

排列组合 所谓排列,就是指从给定个数的元素中取出指定个数的元素进行排序。组合则是指从给定个数的元素中仅仅取出指定个数的元素,不考虑排序。排列组合的中心问题是研究给定要求的排列和组合可能出现的情况总数 排列组合的基本公式 A(n,m)=n(n-1)(n-2)……(n-m+1)=n!/(n-m) C(n,m)=A(n,m)/m!=n!/((n-m)!*m!) C(n,m)=C(n-1,m-1)+C(n-1,m) 排列实现 1.回溯实现 1)算法设计 应用回溯法产生排列A(n,m).设置一维a数组,a(i)在1—n中取值,出现数字相同时返回。 当i

long s=0; printf(“input n (n<10):”); scanf(“%d”,&n); printf(“input m (10) a[i]++; else break; } printf(“\n s=%ld\n”,s); }

新版汇编语言程序设计钱晓捷第1章习题答案

第1章汇编语言基础知识(全) 2010-10-18 19:32:40| 分类:答案集锦| 标签:|字号大中小订阅 第1章汇编语言基础知识 〔习题1.1〕简述计算机系统的硬件组成及各部分作用。 〔解答〕 CPU:包括运算器、控制器和寄存器组。运算器执行所有的算术和逻辑运算;控制器负责把指指令逐条从存储器中取出,经译码分析后向机器发出各种控制命令,并正确完成程序所要求的功能;寄存器组为 处理单元提供所需要的数据。 存储器:是计算机的记忆部件,它用来存放程序以及程序中所涉及的数据。 外部设备:实现人机交换和机间的通信。 〔习题1.2〕明确下列概念或符号: 主存和辅存,RAM和ROM,存储器地址和I/O端口,KB、MB、GB和TB 〔解答〕 主存又称内存是主存储器的简称,主存储器存放当前正在执行的程序和使用的数据,CPU可以直接存取,它由半导体存储器芯片构成其成本高、容量小、但速度快。辅存是辅助存储器的简称,辅存可用来长期保存大量程序和数据,CPU需要通过I/O接口访问,它由磁盘或光盘构成,其成本低、容量大,但速 度慢。 RAM是随机存取存储器的英语简写,由于CPU可以从RAM读信息,也可以向RAM写入信息,所以RAM也被称为读写存储器,RAM型半导体存储器可以按地址随机读写,但这类存储器在断电后不能保存信息;而ROM中的信息只能被读出,不能被修改,ROM型半导体通常只能被读出,但这类存储器断电 后能保存信息。 存储器由大量存储单元组成。为了区别每个单元,我们将它们编号,于是,每个存储单元就有了一个存储地址,I/O接口是由一组寄存器组成,为了区别它们,各个寄存器进行了编号,形成I/O地址,通常 称做I/O端口。 KB是千字节、MB是兆字节、GB是吉字节和TB是太字节,它们都是表示存储器存储单元的单位。 〔习题1.3〕什么是汇编语言源程序、汇编程序、目标程序? 〔解答〕 用汇编语言书写的程序就称为汇编语言源程序;完成汇编工作的程序就是汇编程序;由汇编程序编 译通过的程序就是目标程序。

51汇编语言程序设计

第四章MCS-51汇编语言程序设计 重点及难点: 单片机汇编语言程序设计的基本概念、伪指令、单片机汇编语言程序的三种基本结构形式、常用汇编语言程序设计。 教学基本要求: 1、掌握汇编语言程序设计的基本概念; 2、掌握伪指令的格式、功能和使用方法; 3、掌握顺序结构、分支结构和循环结构程序设计的步骤和方法; 4、掌握常用汇编语言程序设计步骤和方法。 教学内容 §4.1汇编语言程序设计概述 一、汇编语言的特点 (1)助记符指令和机器指令一一对应,所以用汇编语言编写的程序效率高,占用存储空间小,运行速度快,因此汇编语言能编写出最优化的程序。 (2)使用汇编语言编程比使用高级语言困难,因为汇编语言是面向计算机的,汇编语言的程序设计人员必须对计算机硬件有相当深入的了解。 (3)汇编语言能直接访问存储器及接口电路,也能处理中断,因此汇编语言程序能够直接管理和控制硬件设备。 (4)汇编语言缺乏通用性,程序不易移植,各种计算机都有自己的汇编语言,不同计算机的汇编语言之间不能通用;但是掌握了一种计算机系统的汇编语言后,学习其他的汇编语言就不太困难了。 二、汇编语言的语句格式 [<标号>]:<操作码> [<操作数>];[<注释>] 三、汇编语言程序设计的步骤与特点 (1)建立数学模型 (2)确定算法 (3)制定程序流程图 (4)确定数据结构 (5)写出源程序 (6)上机调试程序 §4.2伪指令 伪指令是程序员发给汇编程序的命令,也称为汇编命令或汇编程序控制指令。 MCS- 51常见汇编语言程序中常用的伪指令:

第四章MCS-51汇编语言程序设计91 1.ORG (ORiGin)汇编起始地址命令 [<标号:>] ORG <地址> 2.END (END of assembly)汇编终止命令 [<标号:>] END [<表达式>] 3.EQU (EQUate)赋值命令 <字符名称> EQU <赋值项> 4.DB (Define Byte)定义字节命令 [<标号:>] DB <8位数表> 5.DW (Define Word)定义数据字命令 [<标号:>] DW <16位数表> 6.DS (Define Stonage )定义存储区命令 [<标号:>] DW <16位数表> 7.BIT位定义命令 <字符名称> BIT <位地址> 8.DA TA数据地址赋值命令 <字符名称> DATA <表达式> §4.3单片机汇编语言程序的基本结构形式 一、顺序程序 [例4-1]三字节无符号数相加,其中被加数在内部RAM的50H、51H和52H单元中;加数在内部RAM的53H、5414和55H单元中;要求把相加之和存放在50H、51H和52H单元中,进位存放在位寻址区的00H位中。 MOV R0 ,# 52H ;被加数的低字节地址 MOV R1 ,# 55H ;加数的低字节地址 MOV A ,@ R0 ADD A ,@ R1 ;低字节相加 MOV @ R0 , A ;存低字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;中间字节带进位相加 MOV @ R0 , A ;存中间字节相加结果 DEC R0 DEC R1 MOV A ,@ R0 ADDC A ,@ R1 ;高字节带进位相加 MOV @ R0 , A ;存高字节相加结果 CLR A

中财实验报告总结怎么写

中财实验报告总结怎么写 通过实习,能够熟悉会计核算的流程,基本掌握记账凭证的编制、各种账簿的登记、财务报表的编制等各种会计核算的方法。能够将书本所学专业知识与实际业务处理相结合,学会理论联系实际,提高分析问题和解决问题的能力。 20xx年02月10日——20xx年02月19日 本校500人阶梯教室 1.建账。根据所给资料给每个账户开设账页,并将期初余额过入各个账户。 2.填制记账凭证。根据所给的各项经济业务,编制记账凭证。 3.登记账簿。根据记账凭证逐笔登记相应的账户,并在全部经济业务登记入账的基础上,结出各个账户的本期发生额和期末余额。 4.试算平衡。按照发生额试算平衡和余额试算平衡的方法,对账簿记录是否正确进行检查。以保证账簿记录的基本无误。 5.编制财务报表。根据账簿记录,编制资产负债表、利润表和现金流量表。 此次实训,使我在会计理论直接指导下具体掌握会计操作的基本循环过程和方法,将会计理论知识与企业实践相结合;通过此次实训的学习,增强了我的感性认识,提高了我

的独立操作能力,知识的根也扎得更深。现将我在此次实训过程中学到的知识介绍如下: 1.在设置日记账、明细账和总账三种账簿过程中,对于总账是对日记账、明细账的综合和控制,日记账、明细账是对总账的进一步细分有了实质性的认知。 而在设置日记账时,现金日记账和银行存款日记账必须采用订本式账簿,但 此次实训采用活页式账簿代替。对于多栏式明细账则是针对管理上需要了解账户中具体构成项目的账户所采用的账簿,按管理分析需要设置详细分析栏。多栏式明细账账而的第一张的第一面不用,从第一张的第二面开始使用。第一张的第二面与第二张的第一面连起来使用。最后登记期余额。在全部总账与明细账建立完成后,总账期初余额与明细账期初余额之和应核对相符。 2.深刻理解了填制记账凭证是会计人员根据审核无误的原始凭证,依据记账规则对原始凭证内容所作的技术处理,将原始凭证转化为会计语言,以便于记账、算账、查账和保管。实训采用的是通用记账凭证,一笔业务填制一次记账凭证。通过实训懂得了填制的方法:要细心填制记账凭证各要素。摘要填写的是业务的内容。借方科目的一级科目、二级科目、金额和贷方科目的一级科目、二级科目、金额是根据业务内容进行思考后填写的。最后一行填写金额栏的合

C语言程序设计(第二版)习题参考答案

C语言程序设计习题参考答案 习题1 一、判断题 1.在计算机中,小数点和正负号都有专用部件来保存和表示。 2.二进制是由0和1两个数字组成的进制方式。 3.二进制数的逻辑运算是按位进行的,位与位之间没有进位和借位的关系。 4.在整数的二进制表示方法中,0的原码、反码都有两种形式。 5.有符号数有三种表示法:原码、反码和补码。 6.常用字符的ASCII码值从小到大的排列规律是:空格、阿拉伯数字、大写英文字母、小写英文字母。 解:1.F 2.T 3.T 4.T 5.T 6.T 二、单选题 1.在计算机中,最适合进行数值加减运算的数值编码是。 A. 原码 B. 反码 C. 补码 D. 移码 2.已知英文小写字母m的ASCII码为十进制数109,则英文小写字母y的ASCII码为十进制数。 A. 112 B. 120 C. 121 D. 122 3.关于ASCII码,在计算机中的表示方法准确地描述是。 A. 使用8位二进制数,最右边一位为1 B. 使用8位二进制数,最左边一位为1 C. 使用8位二进制数,最右边一位为0 D. 使用8位二进制数,最左边一位为0 4.设在机器字长4位,X=0111B,Y=1011B,则下列逻辑运算中,正确的是___________。 A. X∧Y=1000 B. X∨Y=1111 C. X⊕Y=0011 D. ˉY=1000 5.下列叙述中正确的是()。 A.高级语言就是机器语言 B.汇编语言程序、高级语言程序都是计算机程序,但只有机器语言程序才是计算机可以直接识别并执行的程序 C.C语言因为具有汇编语言的一些特性,所以是汇编语言的一种 D.C源程序经过编译、连接,若正确,执行后就能得到正确的运行结果6.用C语言编写的源程序经过编译后,若没有产生编译错误,则系统将()。 A.生成可执行文件B.生成目标文件 C.输出运行结果D.自动保存源文件 7.下列叙述中不正确的是()。 A.main函数在C程序中必须有且只有一个 B. C程序的执行从main函数开始,所以main函数必须放在程序最前面 C. 函数可以带参数,也可以不带参数。 D. 每个函数执行时,按函数体中语句的先后次序,依次执行每条语句 解:1.C 2.C 3.D 4.B 5.B 6.B 7.B 三、填空题

中财实验报告

中财实验报告名称:中财实验报告 姓名:__________ 廖一达________ 学号:______________ 年级专业:会计学(教改班)2014 年01 月08 日

实验人: 实验目的: 通过对本实验项目资料的分析,了解企业日常发生的经济业务,掌握各类经济业务的会计处理,在此基础上进行账簿设置,包括总账、明细账、日记账。注意新旧准则在会计科目设置上的不同。通过直观和仿真训练,是我们在课堂上所学到的知识得到巩固和消化,加深了对企业财务会计核算规程和方法的理解。提高了在计算机操作条件下会计业务的综合处理能力,有助于了解和掌握有关财经法规和财务管理制度。 实验步骤: 1、了解会计主体(核算主体企业)会计制度及基本情况; 2、设置账户,根据(上年结转)本年期初资料建立各类账簿(日记账、明细账、总账等); 3、整理加工原始凭证;- _____________________ 4、根据原始单据(凭证)编制编制记账凭证; 5、复核记账凭证; 6根据与现金及银行存款相关的记账凭证登记现金、银行存款日记账; 7、月末结转相关损益类科目; 8、根据记账凭证和参考原始凭证(汇总表)登记各种明细账; 9、根据记账凭证编制科目汇总表; 10、根据科目汇总表逐笔登记总账; 11、会计期间期末,将日记账、明细账与进行核对; 12、会计期间期末,根据总账、明细账及其他相关资料编制会计报表; 13、会计期间期末,整理税务相关资料,进行发票认证等,并于下月初据以填制纳税申报表。 实验体会: 此次实训,使我在会计理论直接指导下具体掌握会计操作的基本循环过程和方法,将会计理论知识与企业实践相结合;通过此次实训的学习,增强了我的感性认识,提高了我的独立操作能力,知识的根也扎得更深。现将我在此次实训过程中学到的知识介绍如下: 1?在设置日记账、明细账和总账三种账簿过程中,对于总账是对日记账、明细账的综合和控制,日记账、明细账是对总账的进一步细分有了实质性的认知。 2?深刻理解了填制记账凭证是会计人员根据审核无误的原始凭证,依据记账规则对原始凭证内容所作的技术处理,将原始凭证转化为会计语言,以便于记账、算账、查账和保管。实训采用的是通用记账凭证,一笔业务填制一次记账凭证。 通过实训,我懂得了填制的方法:要细心填制记账凭证各要素。摘要填写的是业务的内容。借方科目的一级科目、二级科目、金额和贷方科目的一级科目、二级科目、金额是根据业务内容进行思考后填写的。最后一行填写金额栏的合计数,并在合计金额的前面加上表示人民币的“Y”符号。将金额栏的空行划线注销。 记账凭证号:第一笔业务的凭证号为1号,第二笔业务的凭证号为2号,以此类推,按业务顺序连续编号(如果一笔业务现实性有两页及以上的记账凭证则编分数号,例如本实训的记124号1/2,记124号2/2 )。编制完毕后,要在凭证下方的“制单”处及“复核”处签章(签名或盖章)。 3.懂得了登记账簿要注意的问题和方法。 (1)在登记日记账时,现金日记账和银行存款日记账是根据有关现金或银行存

中财实验报告

实验项目中级会计(单项)实训实验 日期 8-15周 一、实验目的 通过上机对会计业务的练习,了解到了对企业日常活动中发生的会计业务原始凭证的填写和财务报表的编制和各种会计事务的处理方法等。把书本所学习的专业知识与实际的业务相联系。其中应该注意不同的格式和内容需要做不同的会计处理。注意记账凭证选择的正确性。实验课使课本更形象生动。更容易理解和掌握。提高分析问题和解决问题的能力。巩固理论学习的结果。

1、根据经济业务填制原始凭证和记账凭证 填写原始凭证的内容为:原始凭证的名称、填制凭证的日期、编号、经济业务的基本内容(对经济业务的基本内容应从定性和定量两个方面给予说明,如购买商品的名称、数量、单价和金额等),填制单位及有关人员的签章。 经济业务的发生一般会有原始凭证,在确定其真实和正确无误后才能填制记帐凭证,在实习中便有所简化,无需确认直接填制。另外,有些经济业务如生产成本的结转、损益类科目的结转等,有的需自己填制原始凭证再填制记账凭证,有的可直接填制记账凭证。填制记账凭证主要是:日期、摘要、借贷科目、借贷金额、编号等,还进行签章,是我们更进一步了解记帐凭证的传递。由于记帐凭证是登记账簿的直接依据,在做好一笔账中起着至关重要的作用,在实习过程中也成为最关键的一环。 2、登记账簿 登记账簿可是一件很需要耐心和细心的工作,稍有疏忽都将会使账目出错。库存现金和银行存款的明细账又称日记账,必须日清月结,按每一笔经济业务所涉及的金额逐笔登记并结出余额。其他明细账也均再相应借贷方向上登记所涉及经济业务的金额,并结出余额。此外,日期、凭证号、摘要等也要认真填写,便于查账对账。在登记总账上,我们以十天为单位,编制记帐凭证汇总表。开设“丁”字账户是一种可取的方法,将记帐凭证一一登记在相应的“丁”字账户上最后加总,并填制记帐凭证汇总表,进行总账的登记工作。

十速单片机TM57MA15---C语言编程应用笔记 [兼容模式]

十速单片机TM57MA15 ---C语言编程应用笔记 Tomson.Liu Aug.17,2016 All for dream 一切为了梦想

一、端口设置的注意事项 1. PA7端口 PA7端口既可以作为复位端口,也可以作为普通IO口使用,作为普通IO口时,可作为的输入口。具体设置如下: INT2 PA7 端口作为INT2中断源时,只能是下降沿中断; https://www.wendangku.net/doc/a415968332.html,

一、端口设置的注意事项 2. PA7以外的端口 在设置单片机的端口方向时,如果将端口设置为施密特输入端口时,必须在初始化端口初始值时,将该端口置为高,否则端口输出为低电平,无法读取状态。 ------该单片机不像普通的51单片机,只需要设置端口方向后,就可以直接读取端口状态,而需要将端口初始化赋值为高,方可。 关于端口设置的描述,详见TM57MA15的datasheet中描述,如下:

二、寄存器使用时注意的事项 该单片机的内部寄存器分为F寄存器和R寄存器,由R寄存器只能写入,因此在程序中定义R寄存器变量时,该变量只能进行赋值,不能进行逻辑和算术运算。否则会出现一些意想不到的问题。另外对RAM中使用的关键变量,初始化时需要清零。RAM上电后,为不定态。在程序空间允许的情况下,上电后对使用的连续RAM空间进行清零操作。 三、端口初始化注意的事项 TM57MA15单片机,我公司有使用10Pin的小封装,该封装只有PA端口和PD0口。该单片机的标准封装为SOP-16,具有PA,PB和PD端口。10Pin的小封装,只是将未用引脚对外引出而已,芯片内部仍存在。因此初始化时,仍需对PB等未用的端口进行初始化,否则很难较低静态功耗。

C语言程序设计笔记

C语言程序设计笔记 1. 合法的标识符由字母(大、小写均可)、数字和下划线组成,并且必须以字母或下划线开头。 2. 整型常量:用不带小数点的数字表示。 实型常量:用带小数点的数字表示。 字符型常量:用带有单引号的字符表示。 3. #define是一条预处理命令,又被称为宏定义命令,其功能是把命令格式中的标识符定义为其后的常量值。例如#define PI 3.14 一经定义,以后在程序中所有出现该标识符的地方均以该常量值代之。 习惯上符号常量的标识符用大写字母表示,变量标识符用小写字母表示,以示区别。 用#define进行定义时,必须用“#”号作为一行的开头,在#define命令行的最后不得加分号结束 4. 字符常量就是用一对单引号括起来的单个字符。 5. 注意switch语句中的default,代表所有case以外的情况,在不能找到符合的case并且存在default时就会执行default后的语句。 6. 在switch结构中,如果没有break出现,当遇到符合的case时将会自动执行其后的所有case和default中的语句。可见break在switch结构中的重要性。有了break的switch 语句才起到真正的分支作用。 7. 语句标号和goto语句的使用。Goto语句为无条件转向语句,必须与语句标号配合使用。语句标号必须是标识符。 8. 真值表。或门中,即“||”,有真就真,全假才假。与门中,即&&,有假就假,全真才真。 9. C语言中,不只是1表示逻辑真,而是所有非零都表示逻辑上的真值。 10.要时刻注意if语句与其后的表达式的关系,是包含还是无关。注意花括号。 11.要记住C语言中的运算符的优先级。 12. switch结构中,case于表达式之间一定要有空格,例如case 10,而不是case10. 13. 必要的时候case后面的语句可以省略不写,意为与后面的case合并选择。 14. switch和case后的括号中的用于匹配的表达式的类型必须相同。各个case后的值应该不同。 15 .关于牛顿迭代法解方程: 若是解隐函数方程,如x=cosx,可以让x1=0,应该令x2=cosx1。注意分析,满足方程的根无非就是要x和cosx相等,想办法构造循环让x自己运算自己就可以。 如果未达到精度要求,再将x2给x1,然后计算出一个新的x2,这样一轮一轮的来,总会找到符合要求的解,跳出循环,此时x1和x2都可以作为方程的解。 若是解一般方程,x2有公式, x2=x1-f(x1)/f`(x1)

中财实验报告总结

中财实验报告总结 一、实习的目的和意义 通过实习,能够熟悉会计核算的流程,基本掌握记账凭证的编制、各种账簿的登记、财务报表的编制等各种会计核算的方法。能够将书本所学专业知识与实际业务处理相结合,学会理论联系实际,提高分析问题和解决问题的能力。 二、实习的时间安排 20xx年02月10日——20xx年02月19日 三、实习的地点和单位 本校500人阶梯教室 四、实习的内容 1.建账。根据所给资料给每个账户开设账页,并将期初余额过入各个账户。 2.填制记账凭证。根据所给的各项经济业务,编制记账凭证。 3.登记账簿。根据记账凭证逐笔登记相应的账户,并在全部经济业务登记入账的基础上,结出各个账户的本期发生额和期末余额。 4.试算平衡。按照发生额试算平衡和余额试算平衡的方法,对账簿记录是否正确进行检查。以保证账簿记录的基本无误。 5.编制财务报表。根据账簿记录,编制资产负债表、利润表和现金流量表。 五、实习收获

此次实训,使我在会计理论直接指导下具体掌握会计操作的基本循环过程和方法,将会计理论知识与企业实践相结合;通过此次实训的学习,增强了我的感性认识,提高了我的独立操作能力,知识的根也扎得更深。现将我在此次实训过程中学到的知识介绍如下:1.在设置日记账、明细账和总账三种账簿过程中,对于总账是对日记账、明细账的综合和控制,日记账、明细账是对总账的进一步细分有了实质性的认知。 而在设置日记账时,现金日记账和银行存款日记账必须采用订本式账簿,但 此次实训采用活页式账簿代替。对于多栏式明细账则是针对管理上需要了解账户中具体构成项目的账户所采用的账簿,按管理分析需要设置详细分析栏。多栏式明细账账而的第一张的第一面不用,从第一张的第二面开始使用。第一张的第二面(即左页)与第二张的第一面(即右页)连起来使用。最后登记期余额。在全部总账与明细账建立完成后,总账期初余额与明细账期初余额之和应核对相符。 2.深刻理解了填制记账凭证是会计人员根据审核无误的原始凭证,依据记账规则对原始凭证内容所作的技术处理,将原始凭证转化为会计语言,以便于记账、算账、查账和保管。实训采用的是通用记账凭证,一笔业务填制一次记账凭证。通过实训懂得了填制的方法:要细心填制记账凭证各要素。摘要填写的是业务的内容。借方科目的一级科目、二级科目、金额和贷方科目的一级科目、二级科目、金额是根据业务内容进行思考后填写的。最后一行填写金额栏的合计数,

程序设计基础C备课笔记

《程序设计基础C》 第一课程序设计入门 一、问题->面向过程的程序设计思想+高级程序设计语言C语言的语法+集成开发环境(编辑+编译+链接+调试工具)+C语言函数库->可执行文件 例:已知一个圆的半径为3,求其面积。 #include main(){ printf("%f",3.14*3*3); } 二、冯诺依曼模型的组成和程序的执行过程 例:输入一个圆的半径,输出其面积。 半径radius、面积area、周长circumference[s?'k?mf?r?ns] 例:输入一个圆的半径,若其值大于0,则输出其面积,否则提示输入错误。 例:输入圆的半径,输出其面积。当输入值小于等于0时,程序结束。 三、VC6使用指导 1、单击Standard工具栏New Text File按钮,生成新的文本文件。 2、单击Standard工具栏Save按钮,保存文件,扩展名取.c。 3、单击Build Mini Bar工具栏Build按钮,构建程序(编辑Compile+链接Link)。会提示必须有项目,生成项目文件和工作区文件。 4、单击Build Mini Bar工具栏Execute Program按钮,执行程序。 5、执行exe文件。添加conio.h中的getch()函数。 4、双击dsw文件重新打开项目。 四、教学安排 第二课数据类型、运算符与表达式 一、数据类型 C程序中,每个数据都属于一个确定的、具体的数据类型。 数据区分类型的主要目的是便于对它们按不同方式和要求进行处理。 C语言提供的数据类型:P15。 二、整型 1、类型名 signed int=signed=int signed short int=short int=short signed long int = long int=long unsigned int=unsigned unsigned short int=unsigned short unsigned long int=unsigned long 各种类型所占位数: long int short 16位机32 16 16

实验二:简单汇编语言程序设计与调试

深圳大学实验报告 课程名称微型计算机技术 项目名称实验二:简单汇编语言程序设计与调试 学院 专业 指导教师 报告人学号 实验时间 2015-11-01 提交时间 2015-11-15 教务处制

一、实验目的与要求 1.1掌握使用运算类指令编程及调试方法。 1.2掌握运算类指令对各个状态标志位的影响及其测试方法。 二、实验内容与方法 8086/8088指令系统提供了实现加、减、乘、除运算的基本指令,可对表2-1所示的数据类型进行算术运算。 表2-1 数据类型算术运算表 2.1二进制双精度加法运算 2.1.1 实验要求: 计算X+Y=Z,将结果Z存入某存储单元。 2.1.2 实验原理: 本实验程序是双精度(2个16位,既32位)运算,利用累加器AX,先求低16位和,并存入低址存储单元,后求高16位和,再存入高址存储单元。由于低位和可能向高位有进位,因而高位字相加语句需要用ADC指令,则低位相加有进位时,CF=1,高位字相加时,同时加上CF中的1。 2.1.3 参考程序清单: STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT XL DW ?;请在此处给X低位赋值 XH DW ?;请在此处给X高位赋值 YL DW ?;请在此处给Y低位赋值 YH DW ?;请在此处给Y高位赋值 ZL DW ? ZH DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX

MOV AX,XL ;X的值送AX ADD AX,YL ;X低位加Y低位 MOV ZL,AX ;存低位和 MOV AX,XH ;X高位送AX ADC AX,YH ;X高位加Y高位 MOV ZH,AX ;存高位和 CODE ENDS END START 2.2十进制数的BCD码减法运算 2.2.1 实验要求: 计算X-Y=Z,其中X,Y,Z为BCD码。 2.2.2 参考实验程序及流程图如下: STACK SEGMENT STACK DW 64 DUP(?) STACK ENDS DATA SEGMENT X DW ? ;请在此处给X赋值 Y DW ? ;请在此处给Y赋值 Z DW ? DATA ENDS CODE SEGMENT ASSUME CS:CODE,DS:DATA START: MOV AX,DATA MOV DS,AX MOV AH,00H SAHF MOV CX,0002H MOV SI,OFFSET X MOV DI,OFFSET Z A1: MOV AL,[SI] SBB AL,[SI+02H] DAS

汇编语言程序设计

《汇编语言程序设计》课程教学大纲 学时:32 学分:2 理论学时:24 实验学时:8 面向专业:电科、电信、通信课程代码:B2700009 先开课程:C语言程序设计课程性质:必修 执笔人:王艳春审定人:陈龙猛、张金政 第一部分:理论教学部分 一、说明 1、课程的性质、地位和任务 本课程属于专业基础课,是电科、电信和通信专业学生必修的核心课程之一,是进一步学习微机原理、操作系统等课程的基础。掌握它有助于提高学生对计算机系统的设计、研究、开发和应用能力。汇编语言是一种面向机器、实践性很强的程序设计语言,必须结合一种实际的计算机来组织教学。因此,本课程选择最广泛使用的IBM PC作为具体的机型来介绍。通过课堂教学和上机实践,培养学生用汇编语言进行编程的思路、方法,养成良好的程序设计习惯,并了解底层I/O 驱动软件的编程方法,熟悉源程序汇编、链接和调试运行的步骤和方法,掌握dos、BIOS功能的调用方法及使用debug工具的调试手段,为后续课的学习打下扎实的基础。 2、课程教学和教改基本要求 课程的目的与教学基本要求:本课程主要介绍汇编语言和宏汇编的基本概念,80X86CPU的指令系统和寻址方式;介绍汇编语言程序格式、伪操作和上机全过程。通过实际例子,详细叙述顺序、分支、循环、子程序等基本程序结构以及程序设计的基本方法和技巧。学习这门课程,应达到以下几个要求: ①掌握汇编语言的基本理论知识和有关概念;掌握用汇编语言编写源程序的基本原则、方法和技巧; ②具有阅读,分析汇编语言程序的能力; ③通过上机实践,能够熟练地掌握汇编语言程序的编辑、汇编、连接、运行 过程及debug工具的调试手段。

C程序设计 读书笔记

『C程序设计』读书笔记 关键字:c语言 原作者姓名:loose_went 文章原出处:https://www.wendangku.net/doc/a415968332.html, 写在前面: 《C程序设计》可以说是一本再基础不过的编程书了,但每读一遍的感觉却都是不同的,可以说,每读一遍,都会有很多新的收获。真所谓老书再读,回味无穷啊!此笔记是《C程序设计》谭浩强编著,清华大学出版社出版。除了将书中的重点知识点记下来外,也加入了我对知识点的理解,我想这一点是读书笔记的重要性所在。 第一章概述第二章数据类型、运算符与表达式 第三章最简单的c程序设计第四章逻辑运算和判断选取控制 第五章循环控制第六章数组 第七章函数第八章预编译处理 第九章指针第十章结构体与共用体 第十一章位运算第十二章文件 第一章概述 1. C语言的特点 ①语言简洁、紧凑,使用方便、灵活。共有32个关键字,9种控制语句。 ②运算符丰富,公有34种运算符。 ③数据结构丰富,数据类型有:整型、实型、字符型、数组、指针、结构体、共用体等。 ④具有结构化的控制语句(如if…else、while、do…while、switch、for) ⑤语法限制不太严格,程序设计自由度大。 ⑥允许直接访问物理地址,能进行位(bit)操作,可以直接对硬件操作。 ⑦生成目标代码质量高,程序执行效率高。 ⑧可移植性好。 2. C语言的用途 C虽不擅长科学计算和管理领域,但对操作系统和系统实用程序以及对硬件进行操作方面,C有明显的优势。现在很多大型应用软件也用C编写。 Top of Page 第二章数据类型、运算符与表达式

1. C的数据类型 C的数据类型包括:整型、字符型、实型或浮点型(单精度和双精度)、枚举类型、数组类型、结构体类型、共用体类型、指针类型和空类型。 2.常量与变量 常量其值不可改变,符号常量名通常用大写。变量其值可以改变,变量名只能由字母、数字和下划线组成,且第一个字符必须为字母或下划线。否则为不合法的变量名。变量在编译时为其分配相应存储单元。 3.整型数据 整型常量的表示方法:十进制不用说了,八进制以0开头,如0123,十六进制以0x开头,如0x1e。整型变量分为:基本型(int)、短整型(short int)、长整型(long int)和无符号型。不同机器上各类数据所占内存字节数不同,一般int型为2个字节,long型为4个字节。 4.实型数据 实型常量表示形式:十进制形式由数字和小数点组成(必须有小数点),如:0.12、.123、123.、0.0等。指数形式如123e3代表123×10的三次方。 实型变量分为单精度(float)和双精度(double)两类。在一般系统中float型占4字节,7位有效数字,double型占8字节,15~16位有效数字。 5.字符型数据 字符变量用单引号括起来,如'a','b'等。还有一些是特殊的字符常量,如'\n','\t'等。分别代表换行和横向跳格。 字符变量以char 来定义,一个变量只能存放一个字符常量。 字符串常量是由双引号括起来的字符序列。这里一定要注意'a'和"a"的不同,前者为字符常量,后者为字符串常量,c规定:每个字符串的结尾加一个结束标志'\0',实际上"a"包含两个字符:'a'和'\0'。 6.数值型数据间的混合运算 整型、字符型、实型数据间可以混合运算,运算时不同类型数据要转换成同一类型再运算,转换规则: char,short -> int -> unsigned -> long -> double <- float 7.运算符和表达式 c运算符包括: 算数运算符(+ - * / % ) 关系运算符( > < == >= <= != )

相关文档