Chinaunix首页 | 论坛 | 博客
  • 博客访问: 30126
  • 博文数量: 7
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 65
  • 用 户 组: 普通用户
  • 注册时间: 2015-05-03 21:42
文章分类

全部博文(7)

文章存档

2021年(1)

2018年(1)

2015年(5)

我的朋友

分类: C/C++

2015-06-14 17:33:20

第一:导言

1.   字符输入输出:ch = getchar(),ch为读入的字符;putchar(ch),输出ch;

2.    getline与copy函数,(32)

第二:类型、运算符与表达式

1、    字符常量与仅包含一个字符的字符串区别

2、    枚举eum为一个常量列表,enum boolean(NO, YES...),括号内,从前到后值依次为0,1,2,....

        相对于define优势:常量值可自动生成

3、    atoi函数:将字符串转化为整数,遇到非整数字符结束。

4、    rand与srand函数

5、    stract(t,s),把字符串s连接到t后,但是t要足够大

6、    按位运算符:6个,仅用于整形操作(char,int,short,long)

        &(按位与):    n = n & 0177,n中除7个低二进制外,其余位均为0
        |(按位或):    x = x | std,将x对应的,std中为1的位置,变为1
        ^(按位异或):    x = x ^ y,x与y,对应位置同则为1,否则为0
        <<(左移):    x << 2,x左移两位,右空补0—相当于原数乘以4
        >>(右移):    x >> 2,x右移两位,unsigned:左空补0;signed:左边部分空位符号位填补(算术移位),0填补(逻辑移位);
        -(按位求反,一元操作符):    x & -077,x后6位设置为0,求整数二进制反码,0变1,1变0;

第三:控制流

    1、    goto语句与标号:用于终止深度嵌套处理过程,标号命名方式同变量,作用域为goto所在函数,缺点是不好维护,建议少用

第四:函数与程序结构

    1、    strindex()函数

    2、    extern:一个程序的外部变量在所有源文件中,只能定义一次,其他文件前加extern表示声明

    3、    static:静态变量,与自动变量区别:都只在其声明的函数体内使用;但static无论函数是否被调用,都占据存储空间;

    4、    寄存器变量:register int x;适用于自动变量或形参,告诉编译器这个声明的变量程序中使用很频繁

    5、    程序块结构:不允许函数中定义函数,但可定义变量,需紧跟左花括号,符合语句也可以,作用域为花括号内

    6、    宏替换:#define 名字 替换文本   ,替换文本是任意的,例如for(;;),三目运算,printf(”“)表达式,等等

第五:指针与数组

    1、    指针:int a[10] = {1,2,3,0};int *p = a; p指向a[0], p+1指向a[1], p+i,指向第i元素;*(p+i)等价p[i];

    2、    指针与数组名区别:指针为变量,可进行p = a, p++都合法;数组名非变量,a= p, a++非法;

    3、    指针数组以及指向指针的指针

    4、    指针数组初始化:

        char month_name(int n)
        {
            static char *name[] = {"illegal month","January"...};
            return n < 1 || n > 12 ? name[0]:name[n]; 
        }

    5、    命令行参数:int main(int argc, char *argv[]){}
        argc:    参数技术,表示运行程序时命令行参数数目,常至少为1,因必须启动程序名
        argv:    参数向量,是指向字符串数组的指针,每个字符串对应一个指针 ,argv[argc-1]与
            字符串对应,ANSI要求argv[argc]为空指针 

    6、    函数指针

第六:结构体

    1、    结构与函数:struct {int len; char *str;}*p;区分:++p->len(对p指的len+1),(++p)->len(p+1再指len),

    (p++)->len(p指len,p再+1)区别

            struct point makepoint(int x, int y){struct point temp; temp.x = x;return temp;}

    2、    结构与数组:struct key{char *word; int count;}keytab[NKEYS](可初始化,={“hehh”,5,"hihi",7,....});
阅读(1400) | 评论(0) | 转发(0) |
0

上一篇:C语言

下一篇:Linux基本知识速览

给主人留下些什么吧!~~