C语言教程

来源:互联网 发布:淘宝手机详情页总高度 编辑:程序博客网 时间:2024/04/29 07:10

1. 标准库文件stdio.h有些编译器会默认包含,比如说TC,在源文件中允许程序员不用写#include <stdio.h>。但最好的方式还是包含此语句以利于跨编译器编译。

 


 

2. 在Ubuntu操作系统下可以用下面的命令编译:

 


 

3. 整数的表示方法:

  • 八进制整常数必须以0开头,即以0作为八进制数的前缀,数码取值为0~7。以下各数是合法的八进制数: 015(十进制为13) 101(十进制为65)  0177777(十进制为65535)
  • 十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。以下各数是合法的十六进制整常数:0X2A(十进制为42)  0XA0 (十进制为160)  0XFFFF (十进制为65535)
  • 十进制整常数没有前缀。其数码为0~9。以下各数是合法的十进制整常数:237 -568 65535 1627
  • 长整型数是用后缀“L”或“l”来表示的。例如:十进制长整常数 158L (十进制为158)。长整数158L和基本整常数158 在数值上并无区别。但对158L,因为是长整型量,C编译系统将为它分配4个字节存储空间。而对158,因为是基本整型,只分配2 个字节的存储空间。因此在运算和输出格式上要予以注意,避免出错。
  • 无符号数也可用后缀表示,整型常数的无符号数的后缀为“U”或“u”。例如: 358u,0x38Au,235Lu 均为无符号数。
  • 前缀,后缀可同时使用以表示各种类型的数。如0XA5Lu表示十六进制无符号长整数A5,其十进制为165。

 


 

 

4. Turbo C中各类整型量所分配的内存字节数及数的表示范围。

类型说明符    数的范围         分配字节数
int          -32768~32767     ■■
short int       -32768~32767     ■■
signed int      -32768~32767      ■■
unsigned int     0~65535          ■■
long int     -2147483648~2147483647 ■■■■
unsigned long  0~4294967295     ■■■■

 

 


5. 实型也称为浮点型。实型常量也称为实数或者浮点数。在C语言中,实数只采用十进制。它有二种形式: 

  1. 十进制数形式:由数码0~ 9和小数点组成。例如:0.0,.25,5.789,0.13,5.0,300.,-267.8230等均为合法的实数。
  2. 指数形式:由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。其一般形式为a E n (a为十进制数,n为十进制整数)其值为 a*10,n 如: 2.1E5 (等于2.1*10,5), 3.7E-2 (等于3.7*10,)-2*) 0.5E7 (等于0.5*10,7), -2.8E-2 (等于-2.8*10,)-2*)

标准C允许浮点数使用后缀。后缀为“f”或“F”即表示该数为浮点数。如356f和356.是等价的。

实型变量分为两类:单精度型和双精度型,其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

 

 


6. 常用的转义字符及其含义

转义字符  转义字符的意义
/n      回车换行
/t      横向跳到下一制表位置
/v      竖向跳格
/b      退格
/r      回车
/f      走纸换页
//      反斜线符"/"
/'      单引号符
/a      鸣铃
/ddd     1~3位八进制数所代表的字符
/xhh     1~2位十六进制数所代表的字符

 


7. 字符串常量和字符常量是不同的量。它们之间主要有以下区别:

  1. 字符常量由单引号括起来,字符串常量由双引号括起来。
  2. 字符常量只能是单个字符,字符串常量则可以含一个或多个字符。
  3. 可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量。在C语言中没有相应的字符串变量。这是与BASIC 语言不同的。但是可以用一个字符数组来存放一个字符串常量。在数组一章内予以介绍。
  4. 字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字节数加1。增加的一个字节中存放字符"/0"(ASCII码为0)。这是字符串结束的标志。例如,字符串 "C program"在内存中所占的字节为:C program/0。字符常量'a'和字符串常量"a"虽然都只有一个字符,但在内存中的情况是不同的。 

'a'在内存中占一个字节,可表示为:a
"a"在内存中占二个字节,可表示为:a/0符号常量

 


8. a=b=c=d=e=5;按照赋值运算符的右接合性,因此实际上等效于: 

e=5;
d=e;
c=d;
b=c;
a=b;

在变量说明中,不允许连续给多个变量赋初值。 如下述说明是错误的: int a=b=c=5 必须写为 int a=5,b=5,c=5;

 


9. 在Turbo C中格式字符串的一般形式为: [标志][输出最小宽度][.精度][长度]类型 其中方括号[]中的项为可选项。各项的意义介绍如下:

1.类型类型字符用以表示输出数据的类型,其格式符和意义下表所示:

表示输出类型的格式字符       格式字符意义
d                 以十进制形式输出带符号整数(正数不输出符号)
o                 以八进制形式输出无符号整数(不输出前缀O)
x                 以十六进制形式输出无符号整数(不输出前缀OX)
u                 以十进制形式输出无符号整数
f                 以小数形式输出单、双精度实数
e                 以指数形式输出单、双精度实数
g                 以%f%e中较短的输出宽度输出单、双精度实数
c                 输出单个字符
s                 输出字符串
2.标志:标志字符为-、+、#、空格四种,其意义下表所示:
标志格式字符      标 志 意 义
-          结果左对齐,右边填空格
+          输出符号(正号或负号)空格输出值为正时冠以空格,为负时冠以负号
#          对c,s,d,u类无影响;对o类, 在输出时加前缀o,对x类,在输出时加前缀0x;对e,g,f 类当结果有小数时才给出小数点
3.输出最小宽度:用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出, 若实际位数少于定义的宽度则补以空格或0。
4.精度:精度格式符以“.”开头,后跟十进制整数。本项的意义是:如果输出数字,则表示小数的位数;如果输出的是字符, 则表示输出字符的个数;若实际位数大于所定义的精度数,则截去超过的部分。
5.长度:长度格式符为h,l两种,h表示按短整型量输出,l表示按长整型量输出。

 


 

 

原创粉丝点击