C语言学习

c语言

  1. j++(前提是给j赋过初值即j=0);
  2. i!=’ ‘;(‘要打空格’);
  3. Int *p=&a; (*是一个指针运算符/说明符,而非间接运算符);val=*p;  (*是间接运算符);
  4. “/”这个是除,除法两侧可以为浮点数,整数除法会截断计算结果的小数部分,不会四舍五入;
  5. 自加运算符++的运算级别高于间接运算符*;
  6. 逻辑或运算符“||”键盘输入法:“shift”键+"\"键;
  7. A mod B,如果A小于B,其结果为A。
  8. #define dy 1 //不需要分号
  9. 关于ASCII码{

       ‘A’的ASCII码=65//%c,65输出为字符A。

       ‘0’的ASCII码=48//ch=getchar();在键盘上按下0时,ch的值为48}

上下左右方向键按一下输入两个字符,首字都是224,区别在尾字,上的尾字为72,所以用两个getch()判断,(要使用<conio.h>的头文件)就能判断是否为方向键了,所以上的asc码为22472,十六进制为0xe04b;  

     10.Rational rose//一个高效的系统软件,可进行可视化建模。

     11.#ifndef/#define/#endif(了解用法)

/*用单引号引起的一个字符实际上代表一个整数,因此,对于采用ASCII字符集的编译器而言,’a’的含义与0141(八进制)或者97(十进制)严格一致;用双引号引起的字符串,代表的却是一个指向无名数组起始字符的指针,(可以把字符串赋给字符型指针:char*p=”student”;*/

12.关于数组复制问题,由于c不可以直接将一个数组赋值给另一个数组,但是可以通过for循环将b[4]数组中的单一元素从0~3赋值给a[4]数组;

13.函数指针的使用:

//WM_CreateWindow()函数接受一个函数指针作为参数;

//_cbWindow为一个函数名(函数指针)

//指向该函数的指针类型为:WM_CALLBANK  定义如下:

 14.关于结构体:

1 struct  MM{
2 int item;};
3 struct  MM  nn;//正确,struct和MM在一起才可以定义结构变量
4 //MM  n;错误,MM不可以单独用来定义结构体变量
5 
6 typedef   struct  AA{int   items;}  aa,*ptr;//用逗号将创建两个别名
7 //aa是struct   AA的别名;ptr是struct  AA*的别名。
8 aa   j;//正确,j为一个使用AA结构布局的结构变量
9 ptr  i;//正确,i为一个指向AA结构体的指针

 15.了解位域的概念{

 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,
    只有0和1 两种状态,用一位二进位即可。为了节省存储空间,并使处理简便,
    C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域,
    并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。这样就可以把几个不同的对象用一个字节的二进制位域来表示。 77 一、位域的定义和位域变量的说明 78 位域定义与结构定义相仿,其形式为: 79 struct 位域结构名 80 { 位域列表 }; 81 其中位域列表的形式为: 类型说明符 位域名:位域长度 82 例如: 83 struct bs 84 { 85 int a:8; 86 int b:2; 87 int c:6; 88 };

}

16.关于局部变量和全局变量{

}

17.规则:隐式类型转换{

表达式 u32a+u16b+u16c是合适的,两个加法在概念上都以U32类型进行。

表达式u16a+u16b+u32c是不合适的,第一个加法在概念上以U16类型进行,第二个加法是U32类型的。

}

原文地址:https://www.cnblogs.com/ctq1/p/7805306.html