您的位置:

初识c语言详解,C语言基础知识笔记

本文目录一览:

C语言求详解

//找到它的流程和作用

#include stdio.h

int main()

{

int v1 = 0,v2 = 0;char ch;

//while()默认控制一个语句或一个结构块

while((ch = getchar()) != '#')

//一直获取输入,直到输入有'#'就跳出while

switch(ch)

{

//遇到'a'字符就从这里开始执行switch()

case 'a':

//遇到'h'字符就从这里开始执行switch()

case 'h':

//遇到其他字符就从这里开始执行switch()

default: v1++;

//遇到'0'字符就从这里开始执行,不跳出switch()

case '0':v2++;

//switch()执行结束

}

printf("%d,%d\n",v1,v2);

}

/*

china#

-c 非'#'执行default 然后执行case '0'跳出switch,执行while

-h 非'#'执行default 然后执行case '0'跳出switch,执行while

-i 非'#'执行default 然后执行case '0'跳出switch,执行while

-n 非'#'执行default 然后执行case '0'跳出switch,执行while

-a 非'#'执行default 然后执行case '0'跳出switch,执行while

-# '#'跳出循环

*/

C语言中的数据类型详解,它们的作用和如何用?

1.类型:

整形,可以理解为整数

字符型 可以理解为单个字符,如字符‘a','b','1'等

浮点型 可以理解为小数

2.型数据类型:

struct 可以理解为把不同的数据类型放在一起组成一个新的有意义:说到一说起人,你就会想到人具有身高,性别,年龄等属性,人就是由身高,性别,年龄等放在一起构造的数据类型

struct person{

double shenggao;

char [] xingbie;

int nianling;

};

3.class(类)

在struct的基础上加了对数据的操作,还有对数据访问权限的设置,还有对数据操作方法间得一些规定,设置,比如继承等

4.数据结构和算法

这个要一本书专门学习,有链表,树,图等

c语言指针详解

指针是一个特殊的变量,它里面存储的数值被解释成为内存里的一个地址。数据在内存中的地址也称为指针,如果一个变量存储了一份数据的指针,我们就称它为指针变量。

计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用 4 个字节,char 占用 1 个字节。

为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节。

C语言用变量来存储数据,用函数来定义一段可以重复使用的代码,它们最终都要放到内存中才能供 CPU 使用。数据和代码都以二进制的形式存储在内存中,计算机无法从格式上区分某块内存到底存储的是数据还是代码。

当程序被加载到内存后,操作系统会给不同的内存块指定不同的权限,拥有读取和执行权限的内存块就是代码,而拥有读取和写入权限(也可能只有读取权限)的内存块就是数据。

CPU 只能通过地址来取得内存中的代码和数据,程序在执行过程中会告知 CPU 要执行的代码以及要读写的数据的地址。

如果程序不小心出错,或者开发者有意为之,在 CPU 要写入数据时给它一个代码区域的地址,就会发生内存访问错误。这种内存访问错误会被硬件和操作系统拦截,强制程序崩溃,程序员没有挽救的机会。

变量名和函数名为我们提供了方便,让我们在编写代码的过程中可以使用易于阅读和理解的英文字符串,不用直接面对二进制地址,那场景简直让人崩溃。

需要注意的是,虽然变量名、函数名、字符串名和数组名在本质上是一样的,它们都是地址的助记符,但在编写代码的过程中,我们认为变量名表示的是数据本身,而函数名、字符串名和数组名表示的是代码块或数据块的首地址。

扩展资料

指针使用(* 和 )

*a可以理解为*(a),a表示取变量 a 的地址(等价于 pa),*(a)表示取这个地址上的数据(等价于 *pa),绕来绕去,又回到了原点,*a仍然等价于 a。

*pa可以理解为(*pa),*pa表示取得 pa 指向的数据(等价于 a),(*pa)表示数据的地址(等价于 a),所以*pa等价于 pa。

对星号*的总结

在我们目前所学到的语法中,星号*主要有三种用途:

1、表示乘法,例如int a = 3, b = 5, c;  c = a * b;,这是最容易理解的。

2、表示定义一个指针变量,以和普通变量区分开,例如int a = 100;  int *p = a;。

3、表示获取指针指向的数据,是一种间接操作,例如int a, b, *p = a;  *p = 100;  b = *p;。