零基础C语言入门
璐璐的卖萌术
一切都是最好的安排
alex5153@163.com
展开
-
零基础C语言入门031——通过函数修改外部的值
在百度上面的解释是:"‘解引用’,我倒觉得可以从另一个角度理解,"*“的作用是引用指针指向的变量值,引用其实就是引用该变量的地址,“解"就是把该地址对应的东西解开,解出来,就像打开一个包裹一样,那就是该变量的值了,所以称为"解引用”。也就是说,解引用是返回内存地址中保存的值。”,个人理解就是将指针p中的地址给解析出来1 #include <stdio.h>2 #include <stdlib.h>34 int main(void)5 {6 int a=10;7原创 2020-11-23 14:13:03 · 1922 阅读 · 0 评论 -
零基础C语言入门029——void指针和null指针
void 类型void 即的字面意思是“无类型”,定义变量的时候,我们通过类型来决定该变量所占的内存空间。比如在我们的系统中,char 类型占 1 个字节,int 类型占 4 个字节,double 类型占 8 个字节等。那 void 既然是无类型,我们就不应该用它来定义一个变量,如果你一定要这么做,那么程序就会给你报错!void 指针void 指针我们把它称之为通用指针,就是可以指...原创 2020-04-24 10:55:30 · 246 阅读 · 0 评论 -
零基础C语言入门026——fgets函数
指针和数组的区别指针是左值(什么是 lvalue,什么是 rvalue?);而数组名只是一个地址常量,它不可以被修改,所以数组名不是左值。指针数组int *p1[5];上边是一个指针数组,我们可以从运算符的优先级和结合性进行分析:数组下标的优先级要比取值运算符的优先级高,所以先入为主,p1 被定义为具有 5 个元素的数组。那么数组元素的类型呢?是整型吗?显然不是,因为还有...原创 2020-03-29 11:42:13 · 299 阅读 · 0 评论 -
零基础C语言入门025——指向数组的指针
数组名是数组第一个元素的地址,也是数组的首地址。定义一个指向数组的指针int a[] = {1, 2, 3, 4, 5};int *p;p = a; // 语句1p = &a[0]; // 语句2因为数组名即数组第一个元素的地址,所以语句 1 和语句 2 是等价的,都是将数组 a 的首地址存放到指针变量 p 中。指针的运算当指针指向数组元素的时候,我们可以对指针变量进行加...原创 2020-03-27 15:12:44 · 438 阅读 · 0 评论 -
零基础C语言入门030——函数
为什么要自己定义函数?因为随着程序规模的变大,都免不了会遇到下面这些问题:main 函数变得相当冗杂,程序可读性差程序复杂度不断提高,编程变成了头脑风暴代码前后关联度高,修改代码往往牵一发而动全身变量的命名都成了问题(因为简单的名字都用完了啊,小明,小红,旺财,阿福,隔壁家老王这些名字都用过了,为了不重复命名,只能小明2号,小红3号这样……)为了在程序中多次实现某功能,不得不重复多次写相同的代码……函数的定义C语言要求函数必须“先定义,再调用”,定义函数的格式如下:类型名 函.原创 2020-11-09 21:46:11 · 662 阅读 · 0 评论 -
零基础C语言入门028——指向二维数组的指针,三个重要公式
C 语言没有真正意义上的二维数组在 C 语言中,二维数组的实现,只是简单地通过“线性扩展”的方式进行。如图所示,int b[4][5]; 就是定义 4 个元素,每个元素都是一个包含 5 个整型变量的一维数组。它在内存中依然是以线性的形式存储。弄清楚下边三个问题:假设我们定义了二维数组 int array[4][5]:数组指针和二维数组要用指针来指向二维数组,需要使用数组指针的形式。见...原创 2020-04-14 17:05:13 · 601 阅读 · 0 评论 -
函数的参数与返回值
二维数组类型的地址int a[2][3]&a新的类型就要用新的定义方式(*p)表示p是一个指针。二维数组指针的本质就是一个地址信息[2][3]表示类型int 表示所指向的数组里装的类型组合:int (*p)[2][3]=&a注意元素个数一定要相同数组名字 == 数组首元素地址(第一个小数组地址)a == &a[0]a[0] == &a[0][0],a[1]==&a[1][0]*p指向一个变量a的地址,p就是这个变量a本身利用p遍历二维数组a原创 2020-12-18 20:40:43 · 285 阅读 · 2 评论 -
零基础C语言入门027——指针数组和数组指针
指针和数组的区别指针是左值(什么是 lvalue,什么是 rvalue?);而数组名只是一个地址常量,它不可以被修改,所以数组名不是左值。指针数组int *p1[5];上边是一个指针数组,我们可以从运算符的优先级和结合性进行分析:数组下标的优先级要比取值运算符的优先级高,所以先入为主,p1 被定义为具有 5 个元素的数组。那么数组元素的类型呢?是整型吗?显然不是,因为还有...原创 2020-04-03 12:29:55 · 309 阅读 · 0 评论 -
零基础C语言入门024——指针
内存是如何存放变量的?通过变量名对变量进行访问和存储是为了方便程序员而设计的,其实在内存中完全没有存储变量名的必要。因为编译器知道具体每一个变量名对应的存放地址,所以当你读取某个变量的时候,编译器就会找到变量名所在的地址,并根据变量的类型读取相应范围的数据。 指针和指针变量通常我们所说的指针,就是地址的意思。C 语言中有专门的指针变量用于存放指针,跟普通变量不同,指针变量存储的是一个地址。...原创 2020-03-20 16:39:12 · 450 阅读 · 0 评论 -
零基础C语言入门022——字符串函数(字符串数组和字符串函数可以放后面学)
字符数组C 语言是没有字符串类型的。那它是如何存放和表示字符串的呢?两种方式——字符串常量以及字符类型的数组。字符串常量:“FishC”,“小甲鱼”,“鱼C工作室”字符数组:可以先定义指定长度的字符数组,然后再给每个元素单独赋值:int main{ char str[10]; str[0] = 'F'; str[1] = 'i'; str[2] =...原创 2020-03-16 17:19:10 · 252 阅读 · 0 评论 -
零基础C语言入门023——二维数组,二维数组各级别的地址
二维数组的定义定义二维数组的方法跟一位数组相似,使用方括号指定每个维度的元素个数:类型 数组名[常量表达式][常量表达式]int a[6][6]; // 6*6,6行6列char b[4][5]; // 4*5,4行5列double c[6][3]; // 6*3,6行3列注意:这里需要强调的是几行几列我们是从概念模型上来看的,也就是说,这样来看待二维数组,我们可以更容易理解。但从物...原创 2020-03-20 16:33:41 · 1228 阅读 · 0 评论 -
零基础C语言入门021——数组,数组元素地址的规律
数组的含义一言以蔽之,数组就是存储一批同类型数据的地方。定义数组类型 数组名[常量表达式]int a[6]; // 定义一个整型数组,总共存放6个元素char b[24]; // 定义一个字符型数组,总共存放24个元素double c[3]; // 定义一个双精度浮点型数组,总共存放3个元素在定义数组时,需要在数组名后边紧跟着一对方括号,其中用常量表达式来指定数组中元素的个...原创 2020-03-16 17:10:19 · 1011 阅读 · 0 评论 -
零基础C语言入门020——C语言经典例题(没用到指针与函数部分)
挑出1-100中的所有素数输入几月几日,计算出这天是这一年的第几天时间转换成秒依次输入十个数,求其中最大的数判断一个整数n能否同时被3和5整除求m,n的最大公约数二元一次方程?...原创 2020-03-13 21:38:09 · 154 阅读 · 0 评论 -
零基础C语言入门019——break与continue
判断一个数是否为素数挑出1-100中的所有素数输入几月几日,计算出这天是这一年的第几天时间转换成秒原创 2020-03-12 12:30:19 · 226 阅读 · 0 评论 -
零基础C语言入门018——for循环
循环的基本结构通常一个循环都将涉及到三个动作:初始化计数器判断循环条件是否满足更新计数器for 语句对于 while 语句,这些动作是分散在三个不同的地方。那如果能够把它们都集中到一块,那么对于后期无论是调试也好修改也罢,无疑就便捷了许多。没错,当年 C 语言作者也是跟我们想到一块去了,所以 for 语句就这么应运而生。for (表达式1; 表达式2; 表达式3) ...原创 2020-03-08 10:24:20 · 648 阅读 · 0 评论 -
零基础C语言入门017——while循环语句
0原创 2020-02-25 13:12:29 · 677 阅读 · 0 评论 -
零基础C语言入门016——switch语句
0原创 2020-02-25 13:11:52 · 334 阅读 · 0 评论 -
零基础C语言入门015——if语句
0原创 2020-02-25 13:11:02 · 547 阅读 · 0 评论 -
零基础C语言入门013——逻辑运算符,与、或、非
003原创 2020-01-17 13:02:04 · 12399 阅读 · 0 评论 -
零基础C语言入门012——关系运算符,大于小于
000原创 2020-01-17 13:01:19 · 6501 阅读 · 0 评论 -
零基础C语言入门010——递增运算符,++a与a++的区别,C语言与数学的区别
变量x不是数学里的未知数,他的值会随时变化,给他赋什么值他就变成什么值,数学里的未知数虽然不知道值具体等于多少,但他有一个固定的值。#include<stdio.h>int main(void){ int x = 5; x = x + 1; printf("x第一次自加等于:%d\n", x); x = x + 1; printf("x第二次自加等于:%d\n", x)...原创 2020-01-06 10:57:13 · 753 阅读 · 0 评论 -
零基础C语言入门014——条件运算符
000原创 2020-01-23 11:21:13 · 2021 阅读 · 0 评论 -
零基础C语言入门008——变量的地址、scanf()格式化输入函数
01原创 2020-01-05 13:25:35 · 662 阅读 · 0 评论 -
零基础C语言入门007——ascⅡ字符表、字符常量
ASCII(American Standard Code for Information Interchange,美国标准信息交换代码)是基于拉丁字母的一套电脑编码系统,主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准 ISO/IEC 646。标准 ASCII 字符表使用 7 位二进制数来表示所有的大写和小写字母,数字 0 到 9,标点符号,以及在美式英语中使...原创 2020-01-05 13:21:29 · 3031 阅读 · 0 评论 -
零基础C语言入门009——算术运算符,运算符的优先级和结合性表
02原创 2020-01-05 13:26:07 · 589 阅读 · 0 评论 -
零基础C语言入门006——交换ab两个变量的值
0原创 2020-01-05 12:36:16 · 2669 阅读 · 0 评论 -
零基础C语言入门005——字节、位、取值范围、sizeof()运算符
0原创 2020-01-04 12:31:51 · 240 阅读 · 0 评论 -
零基础C语言入门003——printf()格式化输出函数与转义字符
想在屏幕上按指定格式打印下面这段文字hello world!fangxu!第一种#include<stdio.h>int main(){ printf("hello world!\n"); printf("fangxu!\n");return 0;}第二种#include<stdio.h>int main(){ printf("hello w...原创 2019-12-31 16:04:34 · 1320 阅读 · 2 评论 -
零基础C语言入门002——用helloworld小程序举例学习c语言语法
#include<stdio.h> /* 1. 该行告诉编译器把stdio.h(标准输入输出系统)中 的内容包含在当前程序中*/int main(void) /* 2. 函数头/主函数 函数控制范围从左大括号到右大括*/{int num; /* 3. 声明一个变量,变量名为num*/num=1 ; /* ...原创 2019-12-30 12:18:23 · 291 阅读 · 0 评论 -
零基础C语言入门001——编译器下载
20190409注册csdn编程的七个步骤1.定义程序目标2.设计程序3.编写代码4.编译 就是将源代码(c语言)转化为可执行代码(计算机机器语言)5.运行程序6.测试与调试程序7.维护和修改程序工具windows系统Microsoft Visual Studio Community 2017 版...原创 2019-04-09 14:24:54 · 379 阅读 · 0 评论