zoukankan      html  css  js  c++  java
  • C语言基础知识部分总结一

    一:字符数据的非格式化输入

    1. getchar():读取用户的按键信息,他的返回值是用户按键的ASCII码;工作原理:调用getchar时,程序等待从缓冲区中取出第一个字符(用户输入的字符存放在键盘缓冲区,直到用户按回车键为止);如果用户输入的不止一个字符,那么其他的字符将留在键盘缓冲区,等待后续的getchar调用来读取。也就是说后续的getchar不会等待用户输入,自动在键盘缓冲区中读取字符,所以说再使用getchar应该先clear。
       1 #include<stdio.h>
       2 #include<conio.h>
       3 
       4 void main() {
       5     char c1, c2;
       6     int a;
       7 
       8     c1 = getchar();
       9     c2 = getchar();
      10     scanf("%d", &a);
      11     printf("%c+%c+%d", c1, c2,a);
      12 }
    2. getc():从流文件stream中读取一个字符信息,他的返回值是所读字符的ASCII码;
    3. getche():和getchar的功能基本相同,但是区别就是,getche能够直接获取用户当前输入的键盘按键值,不会在缓冲区中取值。
    4. getch():和getche也是差不多相同的,区别就是getch是回显的,就是现实输入的字符。

    数组的赋值方法

    1. 逐一赋值或者循环赋值
    2. 使用memset赋值,void *memset(void *s,char ch,unsigned n)。第一个参数表示赋值的数组名称;第二个参数表示赋值内容,第三个表示数组申请的空间大小。
      int a[10];
      memset(a,0,10*sizeof(int));
    3. 使用memcpy赋值:void *memcpy(void *d,void *s,unsigned n);
      int a[5]={1,2,3,4,5},b[5];
      memcpy(b,a,5*sizeof(int));
      ps:使用memcpy和memset都需要将memory.h引入。

    关于在有局部变量的地方使用全部变量的方法:在变量名前加::。

    变量的存储类型

    1. auto:在函数内的定义:int i  <==> auto int i;
    2. extern:在函数外的全局定义:int  j<==> extern int  j;但是,extern不能定义在其他文件的全局静态变量。
    3. register:寄存器型;表示重复使用的变量使用register标识,可以减少内存开发。如for循环的控制条件 i;register i;
    4. static(静态型):static和extern是放在静态存储区的;auto和register是放在动态存储区的。static 在函数加载前就已经生成了,不赋值,会有默认值0,他的作用域根据作用的区域来判定。
  • 相关阅读:
    JDBC链接mysql
    javac和java的使用
    PreparedStatement的execute误解
    sleep() 与 wait()的比较
    使用java程序模拟页面发送http的post请求
    《算法竞赛入门经典》6.1.2栈和队列-铁轨
    《算法竞赛入门经典》6.1栈和队列-卡片游戏
    《算法竞赛入门经典》5.42数学基础-因子和阶乘
    《算法竞赛入门经典》5.41数学基础-Cantor的数表
    qsort函数
  • 原文地址:https://www.cnblogs.com/yangdagaoge/p/9777709.html
Copyright © 2011-2022 走看看