当前位置:学者斋 >

计算机 >C语言 >

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列元素值

标签: 语言
  • 文章版权属于文章作者所有,转载请注明 https://xuezhezhai.com/jsj/cyuyan/lw1dj6.html