您好,欢迎访问三七文档
当前位置:首页 > 行业资料 > 能源与动力工程 > 第一章 C语言程序设计初步
1.程序设计语言符号系统程序设计方法掌握好语言的三个重要方面定义:(1)从用途上:人与计算机进行信息交流的工具。(2)从形式上:由计算机可以理解的符号系统。语法规则语义规则——完成某一功能的计算机指令的有序集合1.程序2.程序设计——设计、编制、调试程序的过程3.程序设计语言的发展:(1)机器语言(CPU指令系统)a.形式特点:由0,1序列组成的指令系统例如:某种CPU中10000000加10010000减b.不需要任何翻译工作,执行效率高c.难记、难认、难理解,程序开发效率底,易出错、难调试d.不同的计算机结构具有不同的指令系统(不同的机器具有不同的语言)(2)汇编语言(符号语言)a.形式特点:由一套简单的助记符来表示不同的机器指令例如:80x86CPU中ADDA,B加SUBA,B减b.需要相应的翻译机制(汇编系统)源程序(汇编语言)汇编系统目标程序(机器语言)c.抽象层次高一些,容易理解些,程序生产效率高d.不同的计算机结构具有不同的汇编系统(3)面向过程的高级语言(算法语言,3GL)a.形式特点:更接近于人们通常数学计算公式的描述b.需要更高级的翻译系统(编译系统compler)c.表达能力强,编程效率高d.不依赖于具体的机器,依赖于不同机器上的编译系统(不同机器上的编译系统是有差异的)(4)非过程化的高级语言(4GL)*过程化语言:用语言描述怎样做的过程*非过程化语言:只要告诉计算机做什么*其它方面的特点与面向过程的高级语言相同。*非过程化的高级语言的几种类型:a.4GL:VB,VC,JAVAb.逻辑性语言:PROLOGc.面向对向语言:SmallTalkC语言3.既适于开发系统软件,又是适于开发应用软件1.属高级语言实质上是介于高级语言和低级语言之间的一种语言2.兼有低级语言和高级语言的优点1972年在BellLab开发出来,用来描述UNIXOS及其底层软件。1.1C语言的发展简史解决问题的需要—需要一种既具有高级语言的易于理解、易于编写、可移植性强的语言,又具有低级语言特性(能对硬件直接操作)的一种语言。C语言就在这种情况下应运而生了。1960ALGOL60(AlgorithmicLanguage)1963CPL(CombinedProgrammingLanguage)1967BCPL(BasicCombinedProgrammingLanguage)1970B(取BCPL第一个字母)1972C(取BCPL第二个字母)1978标准C1983ANSIC198787ANSIC1990ISOC语言简洁、紧凑,使用方便、灵活;运算符丰富;数据结构丰富,具有现代化语言的各种结构;具有结构化的控制语句,用函数作为程序的模块单位,便于模块化;语法限制不太严格,程序设计自由度大;C语言允许直接访问物理地址,能进行位操作,能实现汇编语言的大部分功能;生成目标代码质量高,执行效率高,速度快;可移植性好(与汇编语言比)。1.2C语言的特点1.3变量1.3.1变量的初步概念变量说明C规定所有变量在使用前都必须中以说明。一条变量说明语句由数据类型和其后的一个或多个变量名组成。变量说明的形式如下:类型变量表;这里类型是指C的有效数据类型。变量表是一个或多个标识符名,每个标识符之间用,分隔。1.3.2变量的定义1.用声明语句定义变量例如:inti,j,k;floatf=3.1415;charc=‘a’;unsignedintu;longdoubleld=2.7321;1.3变量1.3.2变量的定义2.变量的命名规则•组成:–只能由字母、数字、下划线组成,且第一个字符必须是字母或下划线–大小写敏感–不能使用关键字•长度:最长31个字符•命名原则:–见名知意–不宜混淆如l与I,o与01.3变量1.3.2变量的定义C有以下关键字:asm_cs_ds_es_sscdeclfarnearhugeinterruptpascalautodoubleintstructbreakelselongswitchcaseenumregistertypedefcharexternreturnunionconstfloatshortunsignedcontinueforsignedvoiddefaultgotosizeofvolatiledoifwhilestatic变量名不能使用以上符号1.3变量1.3.3变量的赋值运算1.赋值与赋值运算符例如:x=3;x=5;x=x+1;x=x*x;1.3变量1.3.3变量的赋值运算1.赋值与赋值运算符例如:main(){inta,b,c;a=123;b=456;c=a+b;printf(“c=%d\n”,c);}1.3变量1.3.3变量的赋值运算2.复合赋值运算符+=;-=;*=;/=;%=;例如:x+=y;3.增1和减1运算符++;--;例如:x++;++x;x--;--x1.3变量1.3.4常量•定义:程序运行时其值不能改变的量(即常数)•分类:–符号常量:用标识符代表常量»定义格式:#define符号常量常量»一般用大写字母»是宏定义预处理命令,不是C语句–直接常量:»整型常量»实型常量»字符常量»字符串常量1.3变量1.3.4常量整型常量(整常数)•三种形式:–十进制整数:由数字0~9和正负号表示.如123,-456,0–八进制整数:由数字0开头,后跟数字0~7表示.如0123,011–十六进制整数:由0x开头,后跟0~9,a~f,A~F表示.如0x123,0Xff•整型常量的类型–根据其值所在范围确定其数据类型–在整常量后加字母l或L,认为它是longint型常量1.3变量实型常量(实数或浮点数)•表示形式:–十进制数形式:(必须有小数点)如0.123,.123,123.0,0.0,123.–指数形式:(e或E之前必须有数字;指数必须为整数)如12.3e3,123E2,1.23e4,e-5,1.2E-3.5•实型常量的类型–默认double型–在实型常量后加字母f或F,认为它是float型1.3变量1.4.1格式化输出函数printf()printf()函数是格式化输出函数,一般用于向标准输出设备按规定格式输出信息。在编写程序时经常会用到此函数。printf()函数的调用格式为:printf(格式化字符串,参量表);其中格式化字符串包括两部分内容:一部分是正常字符,这些字符将按原样输出;另一部分是格式化规定字符,以%开始,后跟一个或几个规定字符,用来确定输出内容格式。参量表是需要输出的一系列参数,其个数必须与格式化字符串所说明的输出参数个数一样多,各参数之间用,分开,且顺序一一对应,否则将会出现意想不到的错误。1.4数值数据的输入与输出格式化规定符C提供的格式化规定符如下:%d十进制有符号整数%u十进制无符号整数%f浮点数%s字符串%c单个字符%p指针的值%e指数形式的浮点数%x,%X无符号以十六进制表示的整数%0无符号以八进制表示的整数%g自动选择合适的表示法说明:(1).可以在“%”和字母之间插进数字表示最大场宽。例如:%3d表示输出3位整型数,不够3位右对齐。%9.2f表示输出场宽为9的浮点数,其中小数位为2,整数位为6,小数点占一位,不够9位右对齐。1.4数值数据的输入与输出例1#includestdio.hintmain(){inta=1234,*i;floatf=3.141592653589;printf(a=%d\n,a);/*结果输出十进制整数a=1234*/printf(a=%6d\n,a);/*结果输出6位十进制数a=1234*/printf(a=%06d\n,a);/*结果输出6位十进制数a=001234*/printf(a=%2d\n,a);/*a超过2位,按实际值输出a=1234*/printf(f=%f\n,f);/*输出浮点数f=3.141593*/printf(“f=6.4f\n”,f);/*输出6位其中小数点后4位的浮点数*/}1.4数值数据的输入与输出1.4.2格式化输入函数scanf()scanf()函数是格式化输入函数,它从标准输入设备(键盘)读取输入的信息。其调用格式为:scanf(格式化字符串,地址表);格式化字符串包括以下三类不同的字符;1.格式化说明符:格式化说明符与printf()函数中的格式说明符基本相同。2.空白字符:空白字符会使scanf()函数在读操作中略去输入中的一个或多个空白字符。3.非空白字符:一个非空白字符会使scanf()函数在读入时剔除掉与这个非空白字符相同的字符。地址表是需要读入的所有变量的地址,而不是变量本身。这与printf()函数完全不同,要特别注意。各个变量的地址之间同,分开。1.4数值数据的输入与输出例2:main(){inti,j;printf(i,j=?\n);scanf(%d,%d,&i,&j);}1.4数值数据的输入与输出1.5C语言程序的结构例1.1main(){printf(HelloWord!\n);}运行结果:HelloWord!例2.两数相加与变量。main(){inta,b,sum;/*这是变量定义*/a=123;b=456;/*以下3行为c语句*/sum=a+b;printf(sumis%d,sum);}运行结果:sumis579main()/*主函数*/{inta,b,c;/*声明部分*/scanf(%d,%d,&a,&b);/*输入a,b的值*/c=max(a,b);/*调用max函数,将得到的值赋给c*/printf(max=%d,c);/*输出c的值*/}intmax(intx,inty)/*定义max函数*/{intz;/*max函数的声明部分*/if(xy)z=x;elsez=y;return(z);/*将z的值返回,通过max带回调用处*/}例3.两数中取最大值与函数。由上面几个例子可以看到:1.C程序是由函数构成的一个C源程序至少包含一个main函数,也可以包含一个main函数和若干个其他函数。函数是程序的基本单位,被调函数既可以是系统提供的库函数,也可以是自定义函数。2.函数的组成函数首部:包括函数类型、函数名、函数参数类型、参数名函数体:{声明部分执行部分}intmax(intx,inty)函数类型函数名函数参数类型函数参数名函数参数类型函数参数名1.3.1C语言函数的结构3.一个C程序总是从main函数开始执行,而不论main在整个程序中的位置如何4.C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上5.每个语句和数据定义的最后必须有一个分号。6.C本身没有输入/输出语句,输入/输出操作是由库函数(printf,scanf等)完成7.可以用/*……*/在任何位置对C程序加以注释1.4c程序的执行步骤输入与编辑源程序编译生成目标程序与库函数及其他目标程序链接,形成可执行的目标程序执行调试1.4.1输入与编辑源程序1.编辑一个新文件(不存在的文件)a.选File菜单下的Newb.选File菜单下的Load(F3)2.编辑一个已存在的文件选File菜单下的Load(F3)1.4.2编译生成目标文件:按Alt+C打开编译菜单,选择CompiletoOBJ项就会在当前目录或由环境变量指定的输出目录中产生目标(*.obj)文件连接一个文件:按Alt+C打开编译菜单,选择LinkExeFile项就会在当前目录或由环境变量指定的输出目录中产生可执行(*.exe)文件1.4.3运行:1.在TurboC环境下,按Alt+R打开RUN菜单,选择Run项2.在TurboC环境下,按Alt+F93.在DOS环境下在FILE菜单下,选择OSShell或Quit返回DOSc:\文件名说明:按Alt_F5可以看到输出结果
本文标题:第一章 C语言程序设计初步
链接地址:https://www.777doc.com/doc-3355835 .html