zoukankan      html  css  js  c++  java
  • C语言-笔记

    1.原则上尽量少使用全局变量,因为全局变量的生命周期太长,容易出错,也会长时间占用空间

    2.如果参数是指针,且仅作输入参数用,则应在类型前加const,以防止该指针在函数体内被意外修改。

    3.注意sanf();中,引号内的内容是3个%c, 如果中间有逗号分隔,那么逗号也是需要输入的。

    而且,在C中,enter键代表一个换行符,可以被当做字符被scanf();接收。

    scanf()函数允许把普通字符放在格式字符串中。除了空格字符之外的普通字符一定要与输入串准确匹配。

    因为编译器规定输入的时候并不是立即回显,而是存到一个缓冲区里面。当遇到换行字符会释放缓冲区的数据,并清空缓冲区。scanf()在读取数字时会跳过空格、制表符和换行符!

     1 #include <stdio.h>
     2 #include <stdlib.h>
     3 int main ()
     4 {
     5     char a,b,c;
     6     printf("input 3 char value
    ");
     7     scanf ("%c%c%c",&a,&b,&c);                 //如果sanf("%c,%c",&a,&b);在运行时候,要带上逗号
     8 
     9     printf("%c,%c,%c",a,b,c);
    10     getchar();
    11 }

     4. getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回 车字符也放在缓冲区中).当用户键入回车之后,getchar才开始从stdio流中每次读入一个字符.getchar函数的返回值是用户输入的第一个字 符的ASCII码,如出错返回-1,且将用户输入的字符回显到屏幕.    getchar()并不跳过换行符

    1 #include <stdio.h>
    2 #include <stdlib.h>
    3 int main ()
    4 {
    5     int a;  
    6     a =getchar();
    7     printf("%d",a);
    8 }

    5. 在使用VS2010时候,防止运行结束一闪而过的方法:

    1)#include <stdlib.h>   main()最后加上一句: system(“pause”);

    2)在需要暂停的地方,getchar();

    6. int main()   这里括号为空,则可接受各种参数,如果int main(void) 则表示不接受参数

    7.C语言中,两个整型数相除,如果不能除尽,那么小数部分会直接被丢弃,即“截尾”。

    8. C语言中的switch(),接受的是整数:整型或者字符型。而浮点型,字符串是不被switch()接受的。

    9.栈:这个空间是所有的函数共享的,每个函数在运行时会独占这个空间。栈空间的大小是固定的,它是留给函数的参数与局部变量用的。

    10.          void *p = malloc(100);   //比如:malloc(sizeof(int));

         free(p);   分配了100个字节的空间,然后释放。

     负责分配内存的 malloc 函数可能会遇到内存分配失败的情况,这时它会返回 NULL。

    by the way: C 没有异常机制~~

    11.

    歇息一下~~

    Coding
  • 相关阅读:
    C++中图片重命名
    linux 常用shell命令之wc
    Linux shell命令之cat
    linux 常用shell命令 ls
    开启博客之旅
    C#并行编程之Parallel的使用
    centos7下安装iperf时出现 make: *** No targets specified and no makefile found. Stop.的解决方案
    勒索病毒场景模拟及原理
    测试用例覆盖分类
    Centos 7下Hadoop分布式集群搭建
  • 原文地址:https://www.cnblogs.com/ccie-leon-43093/p/5372317.html
Copyright © 2011-2022 走看看