您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > C语言程序设计教程(修订本) 第2章 C程序的基本组成
第2章C程序的基本组成2.1简单的C语言程序2.2基本数据类型变量的定义与宏定义2.3数据的输入与输出2.4数据的处理2.5宏定义2.1简单的C语言程序例2.1编写一个C程序,其功能是显示字符串“Howdoyoudo!”。其C程序如下:#includestdio.hmain(){printf(Howdoyoudo!\n);}下面针对一般的C程序作几点说明:(1)一个完整的C语言程序可以由多个函数组成,但必须包含一个且只能包含一个名为main的函数(主函数)。程序总是从main函数开始执行。(2)在一个C函数模块中,由左右花括号{}括起来的部分是函数体,其中的语句系列实现函数的预定功能。(3)C程序中的每一个语句必须以“;”结束,但书写格式是自由的。(4)#include是编译预处理命令,其作用是将双引号或尖括号括起来的文件内容读到该命令的位置处。(5)在C程序的任何位置处都可以用/*......*/作注释,以提高程序的可读性。2.2基本数据类型变量的定义与宏定义2.2.1整型常量及其变量的定义1.整型常量在C语言中,有3种类型的整型常量:基本整型常量、长整型常量、无符号整型常量。在C语言中,不管是哪种类型的整型常量,都可以用3种数制表示。(1)十进制整型常量。(2)十六进制整型常量。(3)八进制整型常量。2.整型变量的定义在C程序中,用于存放整型数据的变量称为整型变量。在C语言中,可以定义基本整型、长整型、短整型和无符号整型等4种类型的整型变量。它们的定义方式如下。(1)基本整型变量定义基本整型变量的形式如下:int变量表列;(2)长整型定义长整型变量的形式如下:long[int]变量表列;(3)短整型定义短整型变量的形式如下:short[int]变量表列;(4)无符号整型定义无符号基本整型变量的形式如下:unsigned[int]变量表列;①一个类型说明语句可以同时定义多个同类型的变量,各变量之间用逗号“,”分隔。②用类型说明语句定义的变量只是说明了为这些变量分配了存储空间,以便用于存放与之相同类型的数据,在未对这些变量赋值前,这些变量中(即存储空间中)的值是随机的。③C语言允许在定义变量的同时为变量赋初值。④在为整型变量初始化或赋值时,C编译系统自动将被赋数据转换成与相应变量的类型一致。⑤由于各种整型变量所占的字节数有限,因此,它们所能存放的整数有一定的范围。2.2.2实型常量及其变量的定义1.实型(浮点型)常量(1)十进制数形式(2)指数形式(科学记数法)2.实型变量的定义在C程序中,用于存放实型数据的变量称为实型变量。在C语言中,实型变量有单精度与双精度两种。2.2.3字符型常量及其变量的定义1.字符型常量'\n'换行'\r'回车'\b'退格'\t'制表(横向跳格)'\''单引号(单撇号)'\'双引号(双撇号)'\ddd'1~3位八进制数所代表的ASCII码字符'\xhh'1~2位十六进制数所代表的ASCII码字符'\f'走纸换页‘\\’反斜杠字符2.字符型变量的定义字符型变量的定义方式如下:char变量表列;2.3数据的输入与输出数据的输入与输出应包括以下几项:①输入(出)的设备②输入(出)的格式③输入(出)的内容2.3.1格式输出函数格式输出函数的一般形式如下:printf(*“格式控制”,输出表);其中格式控制部分要用一对双撇号括起来,它用于说明输出项目所采用的格式。1.整型格式说明符(1)十进制形式(2)八进制形式(3)十六进制形式2.实型格式说明符如果以十进制数形式输出实型数据,其格式说明符为%f或%m.nf如果以指数形式输出实型数据,其格式说明符为%e或%m.ne3.字符型格式说明符字符型数据的格式说明符为%c或%mc(1)输出表中各输出项目之间要用“,”分隔。(2)格式控制中的各格式说明符与输出表中的各输出项目在个数、次序、类型等方面必须一一对应。(3)格式控制中除格式说明符外的其他字符将按原样输出。(4)在输出格式说明符中,如果带有宽度说明,则在左边没有数字的位置上用空格填满(即输出的数字是右对齐)。但如果在宽度说明前加一个负号(-),则输出为左对齐,即在右边补空格。2.3.2格式输入函数格式输入函数的一般形式如下:scanf(“格式控制”,内存地址表);1.整型格式说明符(1)十进制形式用于输入十进制形式的整型数据。(2)八进制形式用于输入八进制形式的整型数据。(3)十六进制形式用于输入十六进制形式的整型数据。2.实型格式说明符用于输入的单精度实型格式说明符为%f或%e用于输入的双精度实型格式说明符为%lf3.字符型格式说明符用于输入的字符型格式说明符为%c或%mc(1)在格式输入中,内存地址表中必须是变量地址,不能是变量名。(2)与格式输出一样,格式输入格式控制中的各格式说明符与内存地址表中的变量地址在个数、次序、类型方面必须一一对应。(3)当用于输入整型数据的格式说明符中没有宽度说明时,则在具体输入数据时分以下两种情况:①如果各格式说明符之间没有其他字符,则在输入数据时,两个数据之间用“空格”、或“Tab”、或“回车”来分隔。②如果各格式说明符之间包含其他字符,则在输入数据时,应输入与这些字符相同的字符作为间隔。(4)当整型或字符型格式说明符中有宽度说明时,按宽度说明截取数据。2.4数据的处理2.4.1赋值运算赋值运算符为“=”。赋值表达式为变量名=表达式(1)在C语言中,“=”为赋值运算符,而不是等号;(2)赋值运算符“=”左边必须是变量名,不能是表达式;(3)赋值运算符“=”两端的类型不一致时,系统将自动进行类型转换。2.4.2算术运算在C语言中,基本的算术运算符有以下几个:+加法运算符(双目运算符),或正值运算符(单目运算符)。如x+y,+x。-减法运算符(双目运算符),或负值运算符(单目运算符)。如a-3,-x。*乘法运算符(双目运算符)。如3*x。/除法运算符(双目运算符)。如x/y。%模余运算符(双目运算符)。只适用于整型数据,如9%4的值为1,11%3的值为2等。2.4.3关系运算在C语言中,基本的关系运算符有以下6个:<小于<=小于或等于>大于>=大于或等于==等于!=不等于2.4.4逻辑运算在C语言中,逻辑常量只有两种:值非零表示“真”,值为零表示“假”。其基本的逻辑运算符有以下3个:&&(逻辑与)两个量都为真时为真(1),否则为假(0)||(逻辑或)两个量中只要有一个为真时为真(1),只有都为假时为假(0)!(逻辑非)一个量为真时为假(0),假时为真(1)逻辑表达式中各种运算符的优先级顺序如下:!(逻辑非)算术运算符关系运算符&&与||赋值运算符2.4.5增1与减1运算符增1运算符“++”和减1运算符“--”是两个单目(只有一个运算对象)运算符,它们的运算对象只能是整型或字符型变量。增1运算符是将运算对象的值增1;减1运算符是将运算对象的值减1。2.4.6sizeof运算符sizeof运算符有以下两种用法:(1)用于求得表达式计算结果所占内存的字节数。其一般形式为sizeof表达式(2)用于求得某种数据类型的量所占内存的字节数。其一般形式为sizeof(类型名)2.4.7逗号运算符逗号“,”是C程序中常见的符号。在C语言中,逗号除作为分隔符使用外,还可以作为运算符来使用,称为逗号运算符。逗号表达式的一般形式为子表达式1,子表达式2,…,子表达式n在使用逗号运算符(逗号表达式)时,要注意以下几点:(1)逗号运算符是所有运算符中级别最低的一种运算符。(2)一个逗号表达式又可以与另一个表达式(可以是逗号表达式,也可以不是逗号表达式)连接成新的逗号表达式。(3)在许多情况下,使用逗号表达式的目的仅仅是为了得到各个子表达式的值,而并不一定要得到或使用整个逗号表达式的值。2.5宏定义C语言中的宏定义有两种形式:符号常量定义与带参数的宏定义。2.5.1符号常量定义在C语言中,允许将程序中多处用到的“字符串”定义成一个符号常量。在C语言中定义符号常量的一般形式如下:#define符号常量名字符串①由于C语言中的所有变量名、函数名等都使用小写字母,因此,符号常量名一般用大写字母表示,以便与C语言中的保留关键字相区别。②C编译系统对定义的符号常量的处理只是进行简单的替换,不作任何语法检查。③#define是一个命令,而不是语句,因此在行末不能加“;”,并且应独立占一行。④#define命令一般应出现在程序中函数的外面,其作用域范围是从#define符号常量名字符串到#undef符号常量名(或文件末)2.5.2带参数的宏定义带参数的宏定义的一般形式为#define宏名(参数表)字符串其中字符串中应包含在参数表中所指定的参数,并且,当参数表中的参数多于一个时,各参数之间要用逗号分隔。在使用带参数的宏定义时,应注意以下两个问题。(1)在使用带参数的宏定义时,一般应将宏定义字符串中的参数都要用括号括起来,否则经过宏展开后,可能会出现意想不到的错误。(2)在使用带参数的宏定义时,除了应将宏定义字符串中的参数都要用括号括起来,还需要将整个字符串部分也要用括号括起来,否则经过宏展开后,还会可能出现意想不到的错误。
本文标题:C语言程序设计教程(修订本) 第2章 C程序的基本组成
链接地址:https://www.777doc.com/doc-4010595 .html