天天看点

C语言总结_01

一些零碎的知识点:

  1. #include< > 引用的是编译器的类库路径里面的头文件。一般是引用自带的一些头文件,如: stdio.h、conio.h、string.h、stdlib.h 等等。
  2. #include" " 引用的是你程序目录的相对路径中的头文件。一般是用来引用自己写的一些头文件。如果使用 #include" " ,它是会先在你项目的当前目录查找是否有对应头文件,如果没有,它还是会在对应的引用目录里面查找对应的头文件。
  3. 当定义的全局变量和局部变量名字相同时,局部变量优先。如:
int	a=100;
int	main()
{
	int	a=10;
	printf(“%d\n”,a);
}//会输出a=10
           
  1. 定义float类型的数:
float a=1.5f;
printf(“%f\n”,a);
           
  1. 高版本VS编辑器在第一行加上#define _CRT_SECURE_NO_WARNINGS
  2. 字符串:字符串的结束标志是一个转义字符’\0’,在用strlen()计算字符串的长度时遇到’\0’就停止(长度不算’\0’),在用printf()打印时遇到’\0’就不再继续打印。
char arr[]=”abc”;  //’a’,’b’,’c’,’\0’   
char arr1[]={‘a’,’b’,’c’,’\0’};   //和上面的形式等价
char arr2[]={‘a’,’b’,’c’};    //长度为随机值
sizeof(arr1);    //值为4*1 byte
sizeof(arr2);    //值为3*1
strlen(arr1);    //值为3*1
strlen(arr2);    //值为一个随机数
//sizeof() 是一个判断数据类型或者表达式长度的运算符
//strlen()是一个库函数
           
  1. 转义字符:
(1)/ddd  ddd表示1~3个八进制数,/xdd  dd表示2个十六进制数。
printf(“%c”,’\32’);    // /32是两个八进制数。以%c的格式输出,这里意思是打印32这个八进制数所对应的十进制数26所对应的ASCII码值,即为’→’。   

(2)printf(“%s\n”,strlen(“c:\test\32\test.c”));   //总长度为13,三段下划线所标字符长度均为1。

(3)printf(“%c\n”,’\’’);    //打印一个单引号

(4)printf(“%s\n”,”\””);   //打印一个字符串,字符串的内容为一个”

(5)'0'和0和'\0'和NULL的区别:
a.字符'0':char c = '0';它的ASCII码实际上是48。
b.字符'\0' :ASCII码为0,表示一个字符串结束的标志。这是转义字符。
c.整数0 :ASCII码为0,字符表示为空字符NULL;数值表示为0。

           
  1. sizeof()用于计算变量或类型所占内存空间大小(单位是byte),参数可以是变量名也可以是变量类型。
(1)int a=0;
sizeof(a);    //合法         sizeof a;     //合法
sizeof (int);  //合法         sizeof int;   //非法

(2)sizeof()计算数组大小
int  arr[10]={0};
sizeof(int [10]);     //计算数组类型,大小为40
sizeof(int [5]);      //大小为20

(3)short  a=0;   int  b=10;
printf(“%d\n”,sizeof(a=b+5));    //赋值过后a仍然为short类型,sizeof(a=b+5)大小为2,打印2
printf(“%d\n”,a);    //在sizeof()中s的值不会发生变化,仍然是0,所以打印0

           
  1. 整数在计算机中以补码的形式存储:正数的原码、反码、补码相同,负数的原码、反码、补码不同。原码(除最高位)按位取反得到反码,反码最低位加1得到补码。 如果赋值时赋的是16进制数(0x),则该数已经为此变量的补码。
    C语言总结_01

    10. 各种类型变量所占内存大小:

    (1)char——1 byte

    (2)short——2 byte

    (3)int——4 byte

    (4)long——4/8 byte

    (5)long long——8 byte

    (6)float——4 byte

    (7)double——8 byte

    变量存储的是字符的ASCII码值,用不同类型的变量存储所占内存大小不一样。

继续阅读