`
比深蓝还要蓝
  • 浏览: 14777 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

C语言:第三课

 
阅读更多
1、计算机在通电状态下,用1和0表示两种电脉冲:有脉冲和无脉冲。0或者1称为一个位(bit),是内存的最小存储单位。每8个位称为一个字节(Byte),字节是基本的存储单位 。

2、ANSI:美国国家标准协会,一个标准化组织。
 ASCⅡ:美国信息交换标准码。

3、在编程语言中对数据进行分类
  编程语言最基本的数据类型就是数值型数据,可以分为整型和浮点型两大类。其中,整型又可以分为有符号和无符号两种。
  某种数据类型的数据到底占用多少内存空间,可以用运算符sizeof进行测试。

4、常量:

  a、整型常量:可以用十进制、八进制、十六进制三种形式表示。

  b、实型常量:又被称为实型数或浮点数,表示带有小数点的数字。有小数形式和指数形式两种书写格式。

    1) 指数形式:十进制小数e指数或十进制小数E指数。格式中e或E前面的数字表示尾数,e或E表示底数10,而e或E后面的指数必须是整数,表示10的幂次。注意指数必须是不超过数据范围的正负整数,并且在e或E前必须有数字。

    2) 系统默认的实型常量是双精度实型常量,如果要表示单精度实型常量和长双精度实型常量,只要在书写形式后分别加上后缀f(F)或l(L)即可。

  c、字符型常量:括在一对单引号内的一个字符。如'B'、'b'、' '(表示空格字符)、'3',注意其中'B'和'b'是不同的字符常量。

    1) 对于常用但却难以用一般形式表示的不可显示字符,用一个转义标识符“\”开头,后续需要的转义字符来表示。转义字符可以表示任何可显示或不可显示的字符。

    2) 转义字符是一种特殊形式的字符常量,意思是将转义符“\”后的字符原来含义进行转换,变成某种另外特殊约定的含义。如"\n"表示换行,"\015"表示回车(015是八进制,字符串,表示了ASCⅡ码表中编码为十进制13的字符,即回车。

  d、字符串常量:用一对双引号括起来的字符序列,双引号仅起到字符串常量的边界符的作用,它并不是字符串常量的一部分。

    1) 如果字符串常数中出现双引号,则要用反斜线(\")将其转义,取消原有边界符的功能,使之仅作为双引号字符起作用。如:要输出字符串(He says:"How do you do.")应写成(printf("He says:\"How do you do.\"");)。

    2) 字符常量在内存中占一个字节,而字符串常量除了每个字符各占一个字节外,其字符串结束符'\0'也要占一个字节。例如,字符常量'a'占一个字节,而字符串常量"a"占2个字节。

  e、符号常量:宏定义命令对符号常量进行定义,形式为: #define 标识符 常量
    标识符一般要大写,常量可为任意数据类型。一般提倡用能声明变量用途的有意义的名字为变量命名。命名方法常用的有驼峰命名法则,添加下划线,Pascal命名法则三种风格。

5、变量:

  a、使用变量必须要先声明,声明时需要提供两方面信息:变量的名字和它的数据类型。变量声明格式为: 数据类型声明符 变量名

  b、使用变量之前,一定要将其初始化为一个确定的值。可以在声明时初始化变量;也可以在声明变量之后,使用赋值语句来初始化变量。需要要注意的是,不要把变量初始化为其数据类型取值之外的值。

  c、变量里存储的数据可以参与表达式的运算,或赋值给其它变量,这一过程称为变量的引用。

  d、使用变量存储数据时应注意的几条规则:

    1) 一定要了解变量占用的字节数

    2) 声明变量时,应尽可能对它进行初始化

    3) 不要使用未衩初始化的变量

    4) 存储整型数据时,不要使用float或double变量

    5) 不要试图将超出变量取值范围的值赋给变量

    6) 不要将负值赋给unsigned变量

6、格式化输入函数printf:printf("格式控制字符串",输出表列);

  a、格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。

  b、非格式字符串在输出时原样照印,在显示中起提示作用。

  c、输出表列给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。

  d、格式字符串的一般形式为:[标志][输出最小宽度][.精度][长度]类型

    1) 标志有四种:“-”表示结果左对齐,右边填空格;“+”表示输出符号(正号或负号);“空格”表示输出值为正时冠以空格,为负时冠以负号;“#”对八进制,输出时加前缀o,对十六进制,输出时加前缀0x,对实型数据,当结果有小数时才给出小数点。

    2) 输出最小宽度:用十进制整数来表示输出的最少位数。若实际位数多于定义的宽度,则按实际位数输出,若实际位数少于定义的宽度则补以空格或0。

    3) 精度:为十进制整数。其意义是:若输出数字,则表示小数的位数;若输出的是字符,则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。

    4) 长度:长度格式符为h、l两种 ,h表示按短整型量输出,l表示按长整型量输出。

7、格式化输入函数scanf:scanf("格式控制字符串",地址表列)

  a、格式控制字符串的作用与printf函数相同,但不能显示非格式字符串,也就是不能显示提示实际行动串。

  b、地址表列中给出各变量的地址。地址是由地址运算符"&"后跟变量名组成的。&是一个取地址运算符,&a是一个表达式,其功能是求变量的地址。

  c、float进行格式化输入时用%f;double进行格式化输入时用%lf;输出时两种都可用%f或%lf。

  d、若在scanf语句的格式串中没有非格式字符在中间作输入时的间隔,则要用一个以上的空格或回车键作为每两个输入数之间的间隔。

  e、scanf中的格式字符串的一般形式:%*[输入数据宽度][长度]类型

    1) 类型:表示输入数据的类型。

    2) *符:用以表示该输入项,读入后不赋予相应的变量,即跳过该输入值。

    3) 宽度:用十进制整数指定输入的宽度(即字符数)。若超出,多余部分会被截去。

    4) 长度:长度格式符为l和h,l表示输入长整型数据(如%d)和双精度浮点数(如%lf)、h表示输入短整型数据。

  f、注意事项:

    1) scanf函数中没有精度控制,如:scanf("%5.2f",&a);是非法的。

    2) scanf中要求给出变量的地址(即使用&),如给出变量名则会出错。

    3) 在输入多个数据时,若格式控制串中没有非格式字符作为输入数据之间的间隔,则可以用空格、TAB或回车作间隔。C编译器在碰到空格、TAB回车或非法数据(如对"%d"输入"12A"时,A即为非法数据)时即认为该数据结束。

    4) 在输入字符数据时,若格式控制串中无非格式字符,则认为所有输入的字符均为有效字符。如:对scanf("%c%c%c",&a,&b,&c);输入d e f时,则把'd'赋予a,' '赋予b,'e'赋予c。只有当输入为def时,才能把'd'赋予a,'e'赋予b,把'f'赋予c。

    5) 如果格式控制串中有非格式字符,则输入时也要输入该非格式字符。如:对scanf("%d,%d,%d",&a,&b,&c);其中用非格式符“,”作间隔符,故输入时应为:5,6,7。

    6) 如输入的数据与输出的数据类型不一致时,虽然编译能够通过,但结果将不正确。
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics