随笔分类 -  C语言的学习

1 2 3 下一页

C语言结构体和指针
摘要:指针也可以指向一个结构体,定义的形式一般为: struct 结构体名 *变量名; 下面是一个定义结构体指针的实例: struct stu{ char *name; //姓名 int num; //学号 int age; //年龄 char group; //所在小组 float score; //成 阅读全文

posted @ 2018-08-08 19:29 张凌001 阅读(1089) 评论(0) 推荐(1)

关于指针
摘要:计算机中所有的数据都必须放在内存中,不同类型的数据占用的字节数不一样,例如 int 占用4个字节,char 占用1个字节。为了正确地访问这些数据,必须为每个字节都编上号码,就像门牌号、身份证号一样,每个字节的编号是唯一的,根据编号可以准确地找到某个字节。下图是 4G 内存中每个字节的编号(以十六进制 阅读全文

posted @ 2018-08-02 20:33 张凌001 阅读(512) 评论(0) 推荐(2)

补码(为什么按位取反再加一):告诉你一个其实很简单的问题(转自醍醐灌顶)
摘要:首先,阅读这篇文章的你,肯定是一个在网上已经纠结了很久的读者,因为你查阅了所有你能查到的资料,然后他们都会很耐心的告诉你,补码:就是按位取反,然后加一。准确无误,毫无破绽。但是,你搜遍了所有俯拾即是而且准确无误的答案,却仍然选择来看这篇毫不起眼的文章,原因只有一个,只因为你还没有得到你想要的东西。 阅读全文

posted @ 2018-06-25 11:18 张凌001 阅读(827) 评论(0) 推荐(1)

C语言中的正负数及其输出
摘要:在数学中,数字有正负之分。在C语言中也是一样,short、int、long 都可以带上正负号,例如: 如果不带正负号,默认就是正数。符号也是数字的一部分,也要在内存中体现出来。符号只有正负两种情况,用1位(Bit)就足以表示;C语言规定,把内存的最高位作为符号位。以 int 为例,它占用 32 位的 阅读全文

posted @ 2018-06-25 11:11 张凌001 阅读(9598) 评论(0) 推荐(0)

位域与位运算
摘要:有些数据在存储时并不需要占用一个完整的字节,只需要占用一个或几个二进制位即可。例如开关只有通电和断电两种状态,用 0 和 1 表示足以,也就是用一个二进位。正是基于这种考虑,C语言又提供了一种叫做位域的数据结构。在结构体定义时,我们可以指定某个成员变量所占用的二进制位数(Bit),这就是位域。请看下 阅读全文

posted @ 2018-05-28 18:36 张凌001 阅读(1070) 评论(0) 推荐(0)

结构体
摘要:它是一组具有相同类型的数据的集合。但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组为字符,成绩为小数,因为数据类型不同,显然不能用一个数组来存放。在C语言中,可以使用结构体(Struct)来存放一组不同类型的数据。结 阅读全文

posted @ 2018-05-28 18:33 张凌001 阅读(611) 评论(0) 推荐(0)

局部变量与全局变量
摘要:在《C语言函数的参数和返回值形参变量要等到函数被调用时才分配内存,调用结束后立即释放内存。这说明形参变量的作用域非常有限,只能在函数内部使用,离开该函数就无效了。所谓作用域(Scope),就是变量的有效范围。不仅对于形参变量,C语言中所有的变量都有自己的作用域。决定变量作用域的是变量的定义位置。 局 阅读全文

posted @ 2018-05-28 18:29 张凌001 阅读(816) 评论(0) 推荐(0)

函数的递归调用
摘要:一个函数在它的函数体内调用它自身称为递归调用,这种函数称为递归函数。执行递归函数将反复调用其自身,每调用一次就进入新的一层。【示例】用递归计算 n!。阶乘 n! 的计算公式如下:根据公式编程: long factorial(int n){ long result; if(n==0 || n==1){ 阅读全文

posted @ 2018-05-06 15:45 张凌001 阅读(1645) 评论(0) 推荐(0)

函数的声明
摘要:C语言代码由上到下依次执行,原则上函数定义要出现在函数调用之前,否则就会报错。但在实际开发中,经常会在函数定义之前使用它们,这个时候就需要提前声明。所谓声明(Declaration),就是告诉编译器我要使用这个函数,你现在没有找到它的定义不要紧,请不要报错,稍后我会把定义补上。函数声明的格式非常简单 阅读全文

posted @ 2018-05-06 15:40 张凌001 阅读(756) 评论(0) 推荐(0)

冒泡排序法
摘要:在实际开发中,有很多场景需要我们将数组元素按照从大到小(或者从小到大)的顺序排列,这样在查阅数据时会更加直观,例如: 一个保存了班级学号的数组,排序后更容易分区好学生和坏学生; 一个保存了商品单价的数组,排序后更容易看出它们的性价比。 对数组元素进行排序的方法有很多种,比如冒泡排序、归并排序、选择排 阅读全文

posted @ 2018-04-08 10:40 张凌001 阅读(461) 评论(0) 推荐(0)

用gcc编译成可执行程序 (转)
摘要:#gcc hello.c 该命令将hello.c直接生成最终二进制可执行程序a.out 这条命令隐含执行了(1)预处理、(2)汇编、(3)编译并(4)链接形成最终的二进制可执行程序。这里未指定输出文件,默认输出为a.out。 从上面我们知道GCC编译源代码生成最终可执行的二进制程序,GCC后台隐含执 阅读全文

posted @ 2018-03-26 20:28 张凌001 阅读(19698) 评论(0) 推荐(0)

C语言位运算+实例讲解(转)
摘要:按位或 按位与 按位异或 按位取反 左移右移 C语言位运算 有6种: &, | , ^(亦或), >(右移)。 注意:参与位运算的元素必须是int型或者char型,以补码形式出现。 按位与& &运算常应用于: 迅速清零 保留指定位 判断奇偶性 a & 1 = 1;则a为奇数 b & 1 = 0;则a 阅读全文

posted @ 2018-03-19 22:37 张凌001 阅读(5312) 评论(0) 推荐(0)

C语言程序真正的启动函数
摘要:为什么要用”真正”这个词?因为我们从学C语言开始,都会先明白这个道理,即C语言有且仅有一个main函数,main函数是C语言的入口点和出口点!(可以参考>http://www.dotcpp.com/wp/184.htmll)不光C语言如此,C++也如此,甚至无论黑窗口的控制台程序和Windows应用 阅读全文

posted @ 2018-03-19 22:35 张凌001 阅读(1799) 评论(0) 推荐(0)

函数
摘要:第一节 函数的定义 知识点:函数的定义法则; 重要程度:★★★ 概念题目: 1、C语言的程序设计中,基本组成单位就是函数。一个特定的函数是具有独立功能的C语言代码块,用于完成特定的运算任务。 2、一个C语言程序,可以由一个或多个函数组成。但是一定要注意:在一个程序中只能有一个main函数,无论其位置 阅读全文

posted @ 2018-03-12 22:36 张凌001 阅读(1193) 评论(0) 推荐(0)

C语言函数的概念
摘要:在《我们对函数进行了简单的解释,函数(Function)是一段可以重复使用的代码,这是从整体上对函数的认识。C语言本身带了很多库函数,并分门别类地放在了不同的头文件中,使用时只要引入对应的头文件即可。除了C语言自带的函数,我们也可以编写自己的函数,称为自定义函数(User-Defined Funct 阅读全文

posted @ 2018-03-12 22:33 张凌001 阅读(1909) 评论(0) 推荐(0)

C语言字符串的输入输出
摘要:字符串的输出 在C语言中,输出字符串的函数有两个: puts():直接输出字符串,并且只能输出字符串。 printf():通过格式控制符 %s 输出字符串。除了字符串,printf() 还能输出其他类型的数据。 这两个函数前面已经讲过了,这里不妨再演示一下,请看下面的代码: #include <st 阅读全文

posted @ 2018-03-12 22:30 张凌001 阅读(22358) 评论(1) 推荐(0)

C语言字符串处理函数
摘要:C语言提供了丰富的字符串处理函数,例如字符串的输入、输出、合并、修改、比较、转换、复制、搜索等,使用这些现成的函数可大大减轻编程的负担。用于输入输出的字符串函数,例如printf、puts、scanf、gets等,使用时应包含头文件stdio.h,使用其它字符串函数则应包含头文件string.h。 阅读全文

posted @ 2018-03-12 22:26 张凌001 阅读(1494) 评论(0) 推荐(0)

C语言字符数组和字符串
摘要:用来存放字符的数组称为字符数组,例如: char a[10]; //一维字符数组 char b[5][10]; //二维字符数组 char c[20]={'c', ' ', 'p', 'r', 'o', 'g', 'r', 'a','m'}; // 给部分数组元素赋值 char d[]={'c', 阅读全文

posted @ 2018-03-12 22:24 张凌001 阅读(45865) 评论(0) 推荐(4)

如何给地址赋值?(转)
摘要:1.一种直观的方法 假设现在需要往内存0x12ff7c地址上存入一个整型数0x100。我们怎么才能做到呢? 我们知道可以通过一个指针向其指向的内存地址写入数据,那么这里的内存地址0x12ff7c其本质不就是一个指针嘛。所以我们可以用下面的方法: 1 2 int *p = (int *)0x12ff7 阅读全文

posted @ 2018-03-12 17:17 张凌001 阅读(6198) 评论(0) 推荐(0)

说说必须掌握的关键字(转)
摘要:C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现过程(事务)控制)。 C++,首要考虑的是如何构造一个对象模型,让这个模型能够契合与之对应的问题域, 阅读全文

posted @ 2018-03-10 17:52 张凌001 阅读(429) 评论(0) 推荐(0)

1 2 3 下一页

导航