
初识C语言
文章平均质量分 91
初步了解C语言
三眼五显仙人~
三眼五显仙人,魈,听召,前来守护。
展开
-
C learning_15 结构体类型的声明、结构体初始化、结构体成员访问、结构体传参
接下来,使用 `->` 操作符访问结构体指针 `ps` 指向的对象的成员变量 `name` 和 `age`,并使用 `printf` 函数输出这两个变量的值。例如,`p3` 变量的初始化语法为 `{ "zhangsan",20,"男" }`,它依次初始化了 `name`、`age` 和 `sex` 三个成员变量的初始值。在函数中,首先使用 `.` 操作符访问结构体指针 `ps` 指向的对象的成员变量 `name` 和 `age`,并使用 `printf` 函数输出这两个变量的值。结构体变量的定义和初始化。原创 2023-05-18 13:58:01 · 574 阅读 · 1 评论 -
C learning_14 指针篇之破解版
1.一个字节对应一个地址。2.指针变量是用来存放地址的,地址是唯一标示一个内存单元的。3.指针的大小在32位平台是4个字节,在64位平台是8个字节。原创 2023-05-18 13:09:43 · 479 阅读 · 0 评论 -
C learning_13 操作符前篇(条件操作符、 逗号表达式、 下标引用、函数调用和结构成员、 表达式求值)
表达式的整型运算要在CPU的相应运算器件内执行,CPU内整型运算器(ALU)的操作数的字节长度一般就是int的字节长度,同时也是CPU的通用寄存器的长度。逗号表达式的值为最后一个表达式的值,即表达式 b = a + 1 的值,它将 b 的值赋为 13。注释:同上,操作符的优先级只能决定自减--的运算在+的运算的前面,但是我们并没有办法得知,+操作符的左操作数的获取在右操作数之前还是之后求值,所以结果是不可预测的,是有歧义 的。我们发现在不同的平台的值是不同的,说明这个代码也是有问题的。取决于他们的优先级。原创 2023-05-14 21:44:13 · 411 阅读 · 0 评论 -
C learning_12 操作符前篇(算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符)
- 加法操作符(+):用于将两个值相加。-- 减法操作符(-):用于将两个值相减。-- 乘法操作符(*):用于将两个值相乘。-- 除法操作符(/):用于将两个值相除得到商。-- 取余操作符(%):用于将两个值相除得到余数。除法:1.整数除法(除号两边都是整数)2.浮点数除法(除号两边至少有一个小数)3.除数不能为零,除零报错(error C2124: 被零除或对零求模)取余:m % n1.余数范围为【1,n-1】2.取余的操作数必须都是整数。原创 2023-05-12 20:13:01 · 576 阅读 · 0 评论 -
C learning_11 (数组和在内存存储的理解、数组越界、数组作为形参)
然后通过循环遍历数组,依次输出数组中的元素,但是需要注意的是,在循环中判断的条件是 `i<=10`,这意味着循环将会执行11次,而数组下标从0开始,最大只能取到9。最终,以上四种方式定义的数组类型都是相同的,都定义了一个包含10个元素的数组。C语言本身是不做数组下标的越界检查,编译器也不一定报错,但是编译器不报错,并不意味着程序就 是正确的, 所以我们在写代码时,最好自己做越界的检查。因此,在循环的最后一次迭代中,`i`等于10,此时访问了数组下标为10的元素,即超出了数组的范围,这个错误我们称之为。原创 2023-05-06 21:48:31 · 1058 阅读 · 1 评论 -
C learning_10 (函数的嵌套调用和链式访问、函数的声明和定义、函数递归)
n");\n");这段代码中,定义了两个函数test()和test2(),其中test2()函数是定义在test()函数中的,称为嵌套函数。但是,在C语言中是不支持嵌套函数的,因此这段代码编译时将会出现错误。总结:函数可以嵌套调用,但是不能嵌套定义。在C语言中,函数声明是指在函数使用之前,提前告诉编译器该函数的名字、参数类型和返回值类型等信息,以便编译器在编译时能够正确地编译函数的使用。函数的声明一般要放在头文件中的。函数声明通常包括以下几个部分:1.原创 2023-05-04 15:35:35 · 1635 阅读 · 0 评论 -
C learning_9 (函数篇)
目录函数函数的概念函数的作用函数的分类函数的参数函数的调用 概念:C语言中的函数是一种封装了一定功能的代码块,可以在程序的任意位置调用。维基百科中对函数的定义:子程序 作用:将程序中的具体功能逻辑封装在一个函数中,可以大大提高程序的可读性和可维护性。在程序中,通过调用函数来实现相应的功能,避免了冗长、重复的代码出现,也方便了代码的复用。 1.库函数总结 - C语言常用的库函数都有: 接下来,我们来学习两个库函数 :(1).strcpy但是这个函数到底原创 2023-04-24 15:14:51 · 317 阅读 · 2 评论 -
C learning_8
猜数字游戏猜数字游戏: 1.电脑会随机产生一个数 2.猜数字 a>猜大了,提醒猜大了,继续猜 b>猜小了,提醒猜小了,继续猜 c>猜对了,恭喜你,猜对了,游戏结束 3.玩完之后可以继续玩,不想退出程序首先我们要完成这个游戏,就必须要生成一个随机数,接下来看看生成随机数的函数rand()函数,生成一个伪随机数,参数是原创 2023-04-20 21:42:27 · 428 阅读 · 1 评论 -
C learning_7
因此,内层循环每循环一次,都会输出一次"hehe",外层循环控制内层循环的执行次数,因此内层循环总共会执行10次,输出10次"hehe",而外层循环也会循环10次,因此总共会输出100个"hehe"。i=1,进入内循环,但是此时内循环的j的值已经是10了,j的值没有重新赋值为零,所以j<10不满足,就不打印"hehe",之后随着进行i<10和i++,程序j<10还是不满足,始终不能打印"hehe"。否则输出"密码错误"。例如,第一次循环时,计算n=1时的阶乘,num的值为1,计算1的阶乘时sum加上了1。原创 2023-04-18 21:35:49 · 436 阅读 · 4 评论 -
C learning_4
/#define定义常量和宏#define M 100 //常量#define ADD(x,y) ((x)+(y)) //宏// 名字 参数 宏的实现体} //函数// 返回类型 名字 参数 函数体int main()//#define定义常量int m = M;//100//#define定义宏int a = 10;int b = 20;//int c = ((a)+(b)) - 替换return 0;结构体关键字struct学生:名字+年龄+性别。原创 2023-04-14 17:17:39 · 217 阅读 · 0 评论 -
C learning_3
这里我们来看这段代码,求两个数的和,我们采用了直接求和、函数求和两种方法,单凭本程序看,函数求和的写法比直接求和的方法的代码行数明显增多,这里肯定有疑问为什么还要使用函数的方法呢?在这里我们格局要放大,当未来程序特别复杂,某个功能的实现代码量比较多的时候,我们需要多次使用该代码,但是我们总不能每次都写这个功能的代码,这样会使程序量变大,此时,就体现了函数的功能,我们只需要调用该函数就行,非常简洁。数组可以通过下标来访问的。接下来,我们看一段关于前置++和后置++配合使用的代码,看看输出的结果是什么?原创 2023-04-08 21:18:36 · 267 阅读 · 4 评论 -
笨笨小胡巴入门
我是笨笨小胡巴!原创 2023-04-01 14:02:15 · 276 阅读 · 3 评论 -
C learning_2
数据也是如此,数据想要存储,就需要在计算机的内存中开辟一段空间,至于开辟空间的大小,就取决于该数据存储时的数据类型。在计算机中,不同的数据在内存中占用不同大小的存储单元,而且它们所能表示的数据的取值也不同,为了方便我们在计算机中存入不同数值的数据,于是引入了数据类型。作用域(scope)是程序设计概念,通常来说,一段程序代码中所用到的名字并不总是有效/可用的而限定这个名字的可用性的代码范围就是这个名字的作用域。常量:在程序中不能改变的其值的量。变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。原创 2023-04-01 18:03:32 · 305 阅读 · 2 评论 -
C learning_1
在书写连续多个问号时使用,防止他们被解析成三字母词\' 用于表示字符常量'\" 用于表示一个字符串内部的双引号\\ 用于表示一个反斜杠,防止它被解释为一个转义序列符。\a 警告字符,蜂鸣\b 退格符\f 进纸符\n 换行\r 回车\t 水平制表符\v 垂直制表符\ddd d d d表示1~3个八进制的数字。如: \130 表示字符X\xdd d d表示2个十六进制数字。如: \x30 表示字符0。原创 2023-04-01 16:42:42 · 270 阅读 · 3 评论