C语言知识讲堂
文章平均质量分 68
C语言知识讲堂对C语言中的难点‘、易错点进行了一定深度的讲解,该讲堂循序渐进,对于小白用户非常友好,内容足够丰富,讲解足够精辟
流浪孤儿
这个作者很懒,什么都没留下…
展开
-
C/C++时间戳转换函数
目录生成时间戳time函数函数原型获取当前时间戳转换时间戳为北京时间gmtime函数函数原型:struct tm结构体使用方法strftime函数函数原型使用方法生成时间戳time函数函数原型time_t类型是long int类型获取当前时间戳#include<iostream>#include<ctime>int main() { std::cout <&...原创 2022-03-16 23:45:05 · 12298 阅读 · 1 评论 -
C/C++学习准备、路线及推荐书籍
前言:C++是C语言的继承与拓展,C++是兼容C语言的(即在C++环境中可以出现用C语言编程的情况),就从这一方面而言学习C++之前应该把C语言先学透,因此学习C++的程序员有个这样的名字:C/C++工程师C/C++学习内容概述C/C++学习计划学习计划1,环境准备(准备时间视情况而定)1-1,准备一台电脑,8G以上的内存,cpu15以上,空闲硬盘容量若干1-2,安装VmwareWorkstations并安装好操作系统(为学习linux准备的,有条件的可以租个服务器这...原创 2021-08-15 00:39:38 · 486 阅读 · 0 评论 -
C语言指针变量与普通变量
前言想必在萌新的世界里必然会出现这样的一幕:当几人畅聊时突然有人说起了编程世界的恐怖的存在->指针,然后众人闻之色变,然后仰天长叹......回到这里让我们一探指针的风采吧!首先来个指针的概念指针即某一个单元的地址,存放地址的变量称为指针变量,通过解引用该指针变量就可以访问该地址对应的单元...原创 2021-08-12 23:11:31 · 2868 阅读 · 2 评论 -
汉诺塔(C语言实现)
汉诺塔的游戏规则:有三根金刚石柱子A、B、C,在A柱子上从下往上按照大小依次减小的顺序摞着64片黄金环。大梵天命令婆罗门把环从下面开始按大小顺序重新摆放在另一根柱子上。并且规定,在任何一个柱子上,小环上不能放大环,在三根柱子之间一次只能移动一个环。当A只有一个元素的时候:A->C当A只有两个元素的时候:A->B A->C B->C当A只有三个元素的时候:A->C A->B C->B A->C B->A B-&...原创 2021-08-08 15:56:41 · 2929 阅读 · 11 评论 -
25)C语言之goto语句
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<stdlib.h> #include<string.h> /*goto语句 C语言中提供了可以随意滥用的 goto语句和标记跳转的标号。 从理论上 goto语句是没有必要的,实践中没有goto语句也可以很容易的写出代码。*/ /*运行cmd,输入shutdown -s -t 60设...原创 2021-07-22 21:36:28 · 697 阅读 · 0 评论 -
24)C语言之for循环与do{}while();循环
for循环 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> //for 循环弥补while循环的缺陷 int main() { int i = 0; for (i = 1; i <= 10; i++)//i=1执行一次->判断部分->语句块->i++->i<=10-》语句块->i++->i<=10->...原创 2021-07-22 21:10:13 · 241 阅读 · 0 评论 -
23)C语言之getchar()以及缓冲区
#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> int text(); int main() { int ch = 0; while ((ch = getchar()) != EOF)//EOF-end of file-文件结束标志---(-1),当getchar读取失败或者把文件读//完就会返回EOF { putchar...原创 2021-07-22 21:01:21 · 482 阅读 · 0 评论 -
22)C语言之switch语句
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void text(); //switch也是一种分支语句,常用于多分支语句 /* switch(整型表达式) { 语句项; } */ //语句项是一些case语句与default语句如下 //case 整型常量表达式: //switc...原创 2021-07-22 20:36:37 · 263 阅读 · 0 评论 -
21)C语言之悬空else
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void inpending()//悬空else问题 { int a = 0; int b = 2; if (a == 1) if (b == 2) printf("hehe\n"); else//else和最...原创 2021-07-22 20:23:16 · 530 阅读 · 0 评论 -
20)浅谈C语言之结构体与strcpy()
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> //结构体 /*书---复杂对象 名字-作者-出版社-定价-书号*/ //复杂对象-结构体-我们自己创造出来的一种类型 //使用结构体首先创建结构体类型 struct Book//struct Book就是一个类型名相当于int,只不过int是系统的内置类型 //内...原创 2021-07-22 20:15:34 · 1073 阅读 · 0 评论 -
19)C语言之指针变量
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> /*地址以字节为单位,比如你的系统是32位的,就说明有32根地址线/数据线 一根地址线输出0/1,那么一共有2^32个地址,一个地址对应一块内存空间,若每个内存空间的大小以位为单位,则内存总大小一共有2^32个位,即2^32/8/2^30=0.5G,而内存一般是4G,若以字节为单位则恰好是4G,也就是说每个地址后面的内存空间大小为一个字节*/ i...原创 2021-07-22 20:02:22 · 221 阅读 · 0 评论 -
18)C语言之#define预处理
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #define MAX 100//#define定义标识符常量 #define MIN(x,y) (x>y?y:x)//#define来定义带有参数的宏,即宏的定义 int min(int x, int y)//功能与上述宏相同 { if (x > y) return y; ...原创 2021-07-22 19:45:10 · 179 阅读 · 0 评论 -
17)C语言之static与函数
在VS2017下创建一个工程,并创建两个文件,如图text8_6_14.c中 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> extern int Add1();//用extern声明外部函数,Add1函数定义在text9_6_14.c中 extern int Add2();//1、在text9_6_14.c里用了static定义了这个函数 int main() { .原创 2021-07-22 19:36:40 · 194 阅读 · 0 评论 -
16)C语言static三个用法
首先在一个工程下面新建两个文件text6_6_14.c中 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void test() { static int a = 1;//加了static //static修饰局部变量,该局部变量的生命周期变长(变长是有多长呢? //和全局变量的生命周期一样长!) //即出了其作用...原创 2021-07-21 23:17:32 · 208 阅读 · 1 评论 -
1)C语言之数据类型、变量、常量
6.10Project1#include<stdio.h>//standard input outputint main(){ printf("Hello World\n"); return 0;//0可以省略,建议保留}6.11Project2#include<stdio.h>int main(){ printf("%d\n", sizeof(char));//一个字节 printf("%d...原创 2021-06-12 20:37:55 · 265 阅读 · 0 评论 -
14)寄存器register与无符号数(符号位也放数据)
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int a = 10;//局部变量,随着生命周期自动创建自动销毁,也叫自动变量 //auto int a=10;与上面语句一摸一样,只不过默认省略了auto,属于局部变量的 register int b = 10;//作用是建议把b定义成寄存器变量,最后能不能放...原创 2021-07-21 22:58:50 · 768 阅读 · 0 评论 -
15)类型重命名typedef
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> void test() { int a = 1;//a为局部变量出了test函数就被销毁了 a++; printf("a=%d\n", a); } int main() { //typedef-类型定义理解为类型重命名 //起个外号作用一模一...原创 2021-07-21 23:02:14 · 184 阅读 · 0 评论 -
5)C语言之转义字符
转义字符:把字符原来的意思转变了,使其具有新的意义,转义字符占一个字节应用场景想打印"c:\code\test.c\n"却出现了意外的结果,原来是转义字符将改变了原来字符的意思其中\c转化为c 、\t被解释为水平制表符(也就是键盘上的Tab键)、\n表示换行转义字符以反斜杠\开头,后面跟一个或几个字符。'\c'没有特殊的意义,因此将'\c'转化为c如何使用 #define _CRT_SECURE_NO_WARNINGS 1 #in...原创 2021-07-18 22:34:11 · 1745 阅读 · 0 评论 -
12)C语言之强制类型转换
强制类型转换的格式:( 类型名)pp为待转换的变量或其它强制类型转换的作用作用一:当高精度类型的数据给低精度类型的数据可以防止编译器报警 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() { int a = 3.14;//发出警告从“double”转换到“int”,可能丢...原创 2021-07-21 22:30:27 · 995 阅读 · 0 评论 -
4)C语言中的字符与字符串
"a"与'a'字符串是由字符组成的,但又不同于字符。"a"为字符串,'a'为字符,注意双引号与单引号都是在英文输入法下输入的双引号引起的字母为字符串,单引号引起的单个字母为字符"a"不等于'a'可见"a"确实不等于'a'"a"的长度以及所占字节数"a"的本质"a"是一个字符串,该字符串有两个字符,一个是字符'a',另外一个为隐藏的'\0',这个'\0'为转义字符,(转义字符不懂的本文末尾有关于转义字符的链接)'\0'是字符串的结束标志,占一个字节,不算作字符串..原创 2021-07-18 21:14:55 · 1099 阅读 · 0 评论 -
7)C语言之while循环
浅谈while循环语句格式如下:while(表达式){ 语句1; 语句2; ......语句n}或者:while(表达式) 语句;while语句中的表达式可以是任何类型,常用的是关系表达式或逻辑表达式,只要表达式的值为真(非0)即可继续循环while(表达式)后面如果有多条语句,那么必须用大括号括起来,否则while语句范围只到while后面的第一个分号处。#define _CRT...原创 2021-07-19 21:32:58 · 884 阅读 · 0 评论 -
10)C语言之操作符
前言:C语言操作符太多为了使篇幅不宜太长因此这里只是将C语言的所有操作符列举一下,并挑常用的操作符进行说明,文末会给上操作符记忆口诀,建议将C语言的操作符进行背诵,在口诀的帮助下C语言的操作符便可尽在我心。 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int a = 1;//00000000000000000000000000000001,这是a的在...原创 2021-07-20 22:08:30 · 154 阅读 · 0 评论 -
13)C语言之条件表达式(条件运算符)
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> int main() { int a = 10; int b = 20; int max = 0; max = (a > b ? a : b);//与下面的语句效果意义 /*if (a > b) max = a; e...原创 2021-07-21 22:41:05 · 1015 阅读 · 0 评论 -
2)Visual Studio中的scanf()报错以及编译器的选择
前言学习C语言必然需要一种或多种编译器,若对于小萌新来说不知道选什么编译器又或者选了不知道怎么用那就会劝退对编程有兴趣的他们。下面先会对Viual Studio中的scanf()报错的问题先展开,然后再介绍编译器如何进行选择出现的问题问题分析Viual Studio会被C语言的库函数进行优化,该编译器认为原来的库函数是不太安全的,于是他们自己搞出了自己的一套函数,而且还不允许我们使用他们已优化的C标准的库函数。1、若是用了他们的函数那么你所写的代码就无法跨平台使...原创 2021-07-12 22:58:57 · 463 阅读 · 0 评论 -
8)C语言之函数封装
未封装的代码 #include<stdio.h> int main() { //计算x的n次方 int x = 2; int n = 10; int ret = 1; while (n) { ret *= x; n = n - 1; } printf("%d\n", ret...原创 2021-07-19 22:30:32 · 3830 阅读 · 0 评论 -
9)C语言之数组的定义与访问
程序员之间的交流:代码 #define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> //数组的定义:一组相同类型元素的集合 int main() { int arr[10] ;//定义了含有10个int类型元素的数组,这里只是定义没有对数组元素初始化 //编译器会自动给未初始化的元素全部赋值为随机值 int arr1[10] = { 1 };//...原创 2021-07-20 20:59:04 · 355 阅读 · 0 评论 -
6)C语言之注释
注释是什么在一条语句之后的用//表明后面的文字为注释不加//的后果将会造成编译出错注释的方法注释有两种风格:C语言风格的注释 /*xxxxxx*/可以注释多行C++风格的注释 //xxxxxxxx注释一行这两种风格无论是C编译器还是C++编译器都可以用那么现在你认为哪种好呢?注释的陷阱C语言风格的注释可以注释多行带来的陷阱:/* */不可以嵌套注释,何为嵌套注释未嵌套注释嵌套注释看到标号2的那个*/是白色的吗?这是编译器的功劳,...原创 2021-07-19 21:13:06 · 289 阅读 · 0 评论 -
11)C语言之正负数的原码、反码、补码
#define _CRT_SECURE_NO_WARNINGS 1 #include<stdio.h> #include<string.h> int main() { //正数、负数在计算机中是以二进制的形式存放 //二进制就只有0和1,就好像十进制只有0~9,满10进1 //二进制满2进1 //正数、负数的二进制又被分为原码、反码、补码 //请记住:任何整...原创 2021-07-20 22:39:30 · 2376 阅读 · 0 评论 -
3)C语言的常量问题
字面常量与常变量标识符常量目录一、字面常量与常变量二、标识符常量三、枚举常量一、字面常量与常变量贴代码:#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>void text();int main(){ 4; 5; //这些都为字面常量 /*int num = 4;//num为变量 printf("%d\n", num); num = 5;//num是变量可以更改值 printf("%d原创 2021-07-13 22:01:43 · 204 阅读 · 0 评论