一周学完C语言基础
文章平均质量分 60
因为距离学完c语言已经两年,很多的东西的记忆已经模糊不清,而数据结构考试需要用c编程序,所以打算进行一周的时间来对基础进行复习。
Locus-
沉舟侧畔千帆过,病树前头万木春
展开
-
C语言结构体
C语言结构体数据结构的定义经常用到struct [标签名称] {成员声明列表}[变量名表列];struct tag { member-list member-list member-list ...} variable-list ;解释:标识符 tag 是结构体标签。member-list 是标准的变量定义,比如 int i; 或者 float f,或者其他有效的变量定义。variable-list 结构变量,定义在结构的末尾,最后一个分原创 2022-01-13 00:32:10 · 306 阅读 · 0 评论 -
C语言字符串
C语言字符串介绍在 C 语言中,字符串实际上是使用 null 字符 \0 终止的一维字符数组。因此,一个以 null 结尾的字符串,包含了组成字符串的字符。下面的声明和初始化创建了一个NOBLE 字符串。由于在数组的末尾存储了空字符,所以字符数组的大小比单词 NOBLE 的字符数多一个。char string[6] = {'N', 'O' , 'B', 'L', 'E', '\0'};也可以写成最常见的形式:char string[] = "NOBLE";其实也可以不把 null 字符原创 2022-01-12 23:33:43 · 138 阅读 · 0 评论 -
C语言动态内存分配
学数据结构一开始就会遇到这样的语句int *a = (int*)malloc(n*sizeof(int));但仅仅知道而不理解是不可行的,还要明白动态分配用法。适用情况:数组的长度必须事先指定,而且只能是常量,不能是变量。比如像下面这么写就是对的:int a[5];而像下面这么写就是错的:int length = 5;int a[length]; //错误因为数组长度只能是常量,所以它的长度不能在函数运行的过程当中动态地扩充和缩小。一,malloc函数的使用方式原创 2022-01-12 23:16:36 · 232 阅读 · 0 评论 -
C语言指针与一维数组
一维数组和指针举一个超棒的例子:结果:从上面可以看出:a相当于&a相当于&a[0]都是数组a[]的起始地址p=a; 相当于 p=&a[0];原创 2022-01-12 19:08:03 · 356 阅读 · 0 评论 -
C语言指针
C语言中的指针是指 一类 数据类型:int指针类型,double指针类型,char指针类型等等。任何程序数据载入内存后,在内存都有他们的地址,这就是指针。而为了保存一个数据在内存中的地址,我们就需要指针变量。指针变量声明定义:type *var-name;//类型 * 变量名;不论数据类型,指针的值的类型都是一样的,都是一个代表内存地址的长的十六进制数。*号标识该变量为指针类型,当定义多个指针变量时,在每个指针变量名前面均需要加一个 *,不能省略,否则为非指针变量。例如:int.原创 2022-01-12 18:10:00 · 193 阅读 · 0 评论 -
C语言二维数组详解
C语言二维数组详解二维数组的定义简单理解就是:二维数组由多个一维数组构成类型 数组名[第一维大小][第二维大小];type arrayName [x][y];//x,y的大小一般均为常量表达式。int a[2][3];//定义了一个 2 行 3 列的 int 型二维数组 a。float b[3][2];//定义了一个 3 行 2 列的 float 型二维数组 sc。错误定义://无法确定所需空间int a[][3];int a[2][];初始化直接赋值int arr1[原创 2022-01-12 16:59:54 · 5240 阅读 · 0 评论 -
C语言一维数组详解
C语言数组详解声明数组type arrayName [ arraySize ];//类型说明符 数组名[常量表达式];int a[10];//现在 a 是一个可用的数组,可以容纳 10 个类型为 int 的数字。此时数组 a 中有 10 个元素,这里的元素就是变量的意思,数组中习惯上称为元素。内存中的地址是连续分配的。int 型变量占 4 字节的内存空间,那么 10个int型变量就占 40 字节的内存空间,而且它们的地址是连续分配的。注意:数组中的下标是从 0 开始的(而原创 2022-01-12 15:14:02 · 719 阅读 · 0 评论 -
C语言函数详解
定义函数返回类型 函数名称( 参数表 ){ 函数体}函数声明声明函数声明(函数原型)的目的是告诉编译器这个函数长什么样,函数的实际主体可以单独定义。函数声明包括以下几个部分:返回类型 函数名称( 参数表 );//形式一int sum(int a, int b);//形式二int sum(int, int);不声明C的编译器自上而下顺序分析你的代码,如果你把函数定义在main函数之上,那么可以不声明。调用函数函数名称( 参数表 )()起到了表示函数调用的.原创 2022-01-12 14:37:16 · 142 阅读 · 0 评论 -
while循环,do while循环与for循环
一,while 循环只要控制表达式为 true,while循环就会不停地执行语句:while (表达式)语句#include <stdio.h>int main(void){ int a = 1; while(a<5) //这句没有分号; { printf("%d\n",a); a++; } return 0;}结果:二,do…while 循环在控制表达式被第一次计.原创 2022-01-11 15:03:39 · 460 阅读 · 0 评论 -
switch多路分支详解
switch多路分支详解一般形式:switch(表达式只能是整数结果){ case 常量表达式1: 语句1; case 常量表达式2: 语句2; … case 常量表达式n: 语句n; default: 语句n+1;}其语义是:计算表达式的值。 并逐个与其后的常量表达式值相比较,当表达式的值与某个常量表达式的值相等时, 即执行其后的语句,然后不再进行判断,继续执行后面所有case后的语句。如表达式的值与所有case后的常量表达式均不相同时,则执原创 2022-01-11 14:28:43 · 580 阅读 · 0 评论 -
if语句详解
判断语句if第一种形式为基本形式:ifif(表达式) 语句其语义是:如果表达式的值为真,则执行其后的语句,否则不执行该语句。注意if(表达式)后面不加分号;。如果后面只有一条语句可以省略{},如果超过一条语句就不能省略。第二种形式为: if-elseif(表达式) 语句1;else 语句2;其语义是:如果表达式的值为真,则执行语句1,否则执行语句2 。第三种形式为if - else if形式前二种形式的if语句一般都用于两个分支的情况。当有多个分支选择原创 2022-01-11 14:10:15 · 12315 阅读 · 0 评论 -
复合赋值运算符与自增自减运算符
一,基础知识:运算符的优先级超详细的总结二,复合赋值例子a +=5;//(注意+=之间不要有空格)//等价于a = a + 5;a +=(a+100)/2;//等价于a = a + (a+100)/2;//先将右面的式子算完再进行结合a *= a + 12;//等价于a = a*(a+12);a /= 9+12;//等价于a = a/(9+12);三,自增自减i++:i +=1;i = i+1;//三者等价i++ 与 ++i的区别i++的值是.原创 2022-01-11 13:29:58 · 450 阅读 · 0 评论 -
C语言的数据类型
存储大小和值范围的细节:整数类型浮点类型void 类型举例:#include<stdio.h> int main() { //整型int int y; scanf("%d", &y); printf("用户输入的内容是%d\n", y); //字符型char char ch; scanf("%c", &ch); printf("用户输入的内容是%c\n", ch); //单精度浮点型fl.原创 2022-01-11 11:45:01 · 270 阅读 · 0 评论 -
自动类型转换与强制类型转换
自动类型转换与强制类型转换的详细解释原创 2022-01-11 11:29:14 · 5474 阅读 · 0 评论 -
c语言的变量详解
变量的定义;赋值与初始化;变量输入;原创 2022-01-11 09:58:02 · 3024 阅读 · 0 评论