C语言 百分网手机站

C语言的基础知识

时间:2020-09-16 14:48:21 C语言 我要投稿

C语言的基础知识

  C语言是一门通用计算机编程语言,应用广泛。下面小编整理了C语言的基础知识,希望对大家有帮助!

C语言的基础知识

  各种数据类型所占字节的大小:

  在32 位的系统上short 的内存大小是2 个byte;

  int 的内存大小是4 个byte;

  long 的内存大小是4 个byte;

  float 的内存大小是4 个byte;

  double 的内存大小是8 个byte;

  char 的内存大小是1 个byte

  C基本语法:

  1.输入输出函数

  printf(格式控制字符串,输出列表) //格式控制字符串可由格式字符串(以%开头)和非格式字符串(原样输出)组成.

  scanf(格式控制字符串,地址表列)

  put) //字符数据的输出 等同与 printf(%c,.) 位于中

  get) //从键盘输入中读取一个字符。scanf(%c,&mchar)

  2.逻辑运算

  !(非) ,&&(与), ||(或)

  3.二维数组

  定义: 类型说明符 数组名[常量表达式1][常量表达式2]

  注:a.存储器单元是一维线性排列的。是按行存放的。

  b.对于全部元素赋初值,则数组第一维的长度可以省略,但是第二维不能省。如:int a[][3]= {1,2,3,4,5,6}

  c.可以只对部分元素赋初值,没赋初值的元素自动取0值。

  d.一个二维数组可以分解为一个多个一维数组。例:a[3][4]可分解为三个一维数组,其数组名分别为a[0],a[1],a[2],而这个

  一维数组都有4个元素。如一维数组a[0]有元素为:a[0][0],a[0][1],a[0][2],a[0][3]

  4.字符数组

  c中没有字符串数据类型,是用字符数组来表示字符串变量的。字符串总是以''作为串结束符,所以,字符串就是一种以‘’结束的字符数组。

  注:在求字符串长度时,不包含结束符''。但是sizeof却要包含。如:

  char c[]="string";

  char c1[]={'s','t','r','i','n','g','',''};

  printf("%d ",sizeof(c)); // 7 ,默认在string后加''

  printf("%d ",sizeof(c1)); //8,对于字符数组只能自己加结束符

  printf("%d ",strlen(c)); //6 求字符串长度时,不包含结束符''

  printf("%d ",strlen(c1)); //6 求字符串长度时,不包含结束符''

  常用的字符串处理函数(在stdio.h中与string.h中):

  puts(字符数组名)---把字符数组中的字符串输出到显示器。

  gets(字符串数组名)--从输入设备得到字符串。

  strcat(字符数组名1,字符数组名2)--把字符数组中2中的字符串连接到字符数组1中字符串的`后面,并删除字符串1后的串标志"";

  strcpy(字符数组名1,字符数组名2)--把字符数组2中的字符串复制到字符数组1中,串结束标识''也一同复制。

  strcmp(字符数组名1,字符数组名2)--按照ASCII码顺序比较两个数组中的字符串,并由函数返回比较结果。

  strlen(字符数组名)---返回字符实际长度(不含字符'')

  5.指针与一维数组

  注:c语言中规定,数组名代表第一个元素的地址,是指针常量。数组a的首地址可用&a[0]表示,或a表示。

  对于如:int a[10],*p;

  p=a;或 p =&a[0];

  或定义为:int a[10];

  int *p = a;

  小结:指针与一维数组的关系

  &a[i],&p[i],a+i,p+i 表示数组元素a[i]的地址

  a[i],*(a+i),*(p+i),p[i] 表示元素a[i]的内容。

  p++,p-- 表示使p后移或前移一个元素的存储空间

  *p++,*p-- 表示先取p所指对象*p,然后使p后移或前移一个元素的存储空间。

  (*p)++,(*p)-- 使p所指对象的值加1或减1.相当于:*p = *p + 1;

  *++p;*--p; 取指针变量p加1或减1后的内容。相当于:*(++p),*(--p);

  ++*p,--*p; 使p所指向的变量的内容加1或减1

  6.动态申请存储空间

  内存申请库函数: void *malloc(size); 例: int *p = (int *) malloc(10 * sizeof(int));

  内存释放库函数: void free(p); free(p);

  7.文件包含

  一个源程序通过#include命令把另外一个源文件的全部内容嵌入到源程序中来。在编译时并不是作为两个文件连接,而是作为一个源程序编译,得到一个目标文件。

  格式:#include "文件名"

  注:#include "file.h" 首先在使用包含文件的源文件所的目录查找file.h文件,若没有找到指定的文件,再到系统指定的标准目录查找。

  #include 仅在编译系统指定的标准目录查找文件file.h.

  8.二维数组和指针

  二维数组中的行、圾元素的地址

  a、&a[0] 二维数组首行(第0行)的首地址。

  a[0]、*(a+0)、*a 0行0列元素地址

  a+1 1行首地址

  a[1],*(a+1) 1行0列元素地址。

  a[i]+j、*(a+i)+j 、&a[i][j] 第i行第j列的首地址

  *(a[i]+j)、*(*(a+i)+j)、a[i][j] 第i行第j列元素值


【C语言的基础知识】相关文章:

c语言公共基础知识11-18

C语言程序基础知识10-07

C语言基础知识汇总09-29

C语言位运算的基础知识09-22

C语言位运算基础知识11-21

C语言基础知识小总结10-06

c语言之指针基础知识10-04

C语言字符型基础知识10-04

计算机c语言基础知识11-18

C语言基础知识点集锦01-28