C语言总结
hodgeKou
这个作者很懒,什么都没留下…
展开
-
完成猜数字游戏 //C语言 猜数字游戏(编写过程详解)
int i, j, k; int num = 0; /*生成随机数字*/ num = rand(); printf("%d\n", num);选择玩游戏还是退出void play(int x){ printf("%d\n", x); printf("开始游戏");}scanf("%d", &k); switch (k) { case 1: play(num...原创 2018-04-02 14:31:35 · 25984 阅读 · 0 评论 -
C语言中 \r, \n, \b
\r\n 和 \n 区别 (来源:百度知道)\r是回车符,\n是换行符 计算机还没有出现之前,有一种叫做电传打字机(Teletype Model 33)的玩意,每秒钟可以打10个字符。但是它有一个问题,就是打完一行换行的时候,要用去0.2秒,正好可以打两个字符。要是在这0.2秒里面,又有新的字符传过来,那么这个字符将丢失。 于是,研制人员想了个办法解决这个问题,就是在每行后面加两个表...原创 2018-07-16 14:09:39 · 61872 阅读 · 7 评论 -
MarkDown生成目录索引
123在第一行开头写[TOC]必须是第一行,不可以在前面加别的东西。123原创 2018-07-19 12:04:56 · 13749 阅读 · 7 评论 -
C语言关键字 ISO/ANSI C90 C99 C11
面试考点有的常用的我们都不知道是关键字,比如sizeof.这是面试中的考点,要注意。同时当回答C语言中有多少关键字时,要回答前题条件,时针对哪一个版本 ...原创 2018-07-19 12:25:47 · 1219 阅读 · 0 评论 -
C语言atoi函数的用法
#include < stdlib.h > int atoi(const char *nptr);用法:将字符串里的数字字符转化为整形数。返回整形值。注意:转化时跳过前面的空格字符,直到遇上数字或正负符号才开始做转换,而再遇到非数字或字符串结束时(‘/0’)才结束转换,并将结果返回。例:#include <stdio.h>#include <...原创 2018-07-29 08:29:35 · 57812 阅读 · 3 评论 -
C语言的atoi和C++的to_string
to_string int to string将其他型转换成字符串型 atoi ascii to integer是把字符串转换成整型数的一个函数to_string#include <iostream> // std::cout#include <string> // std::string, std::to_str...原创 2018-07-29 08:53:50 · 2411 阅读 · 0 评论 -
C语言思维导图
本人能力有限,知识点难免概括不全,如有错误欢迎指正原创 2018-07-30 12:49:36 · 1879 阅读 · 11 评论 -
为什么计算机起始时间是1970年1月1日
1969年8月,贝尔实验室的程序员肯汤普逊利用妻儿离开一个月的机会,开始着手创造一个全新的革命性的操作系统,他使用B编译语言在老旧的PDP-7机器上开发出了Unix的一个版本。随后,汤普逊和同事丹尼斯里奇改进了B语言,开发出了C语言,重写了UNIX,新版于1971年发布。那时的计算机操作系统是32位,时间用32位有符号数表示,则可表示 68 年, 用32位无符号数表示,可表示136年。 他...原创 2018-08-09 13:57:58 · 48212 阅读 · 9 评论 -
怎么在vs中查看一个数组的所有元素
在监视窗口,我们想要查看所有的数组元素。这个时候int arr[] = {1,2,3}arr只显示1正确的方法arr,10原创 2018-08-05 10:06:09 · 8238 阅读 · 1 评论 -
运算符&与&&,|与||的区别
|和&是位运算,运算结果是二进制数。 &&,||是逻辑运算,运算结果是真,或者假。6&3=110&011=010=26|3=110|011=111=7&,&&和||计算时注意, 题目:条件1&&条件2&&条件3 如果条件1就是假的,后面就不计算了...原创 2018-08-06 16:50:51 · 25565 阅读 · 1 评论 -
关于argc和argv的输出
代码#include <stdio.h>int main(int argc ,char * argv[]){ printf("argc ->%d\n",argc); for(int i = 0; i < argc;i++){ printf("%s\n",argv[i]); } return 0;}输出结果...原创 2018-08-08 09:20:06 · 1879 阅读 · 0 评论 -
int * p =NULL;和*p =NULL的区别a和&a的区别
1.int * p =NULL;和*p =NULL的区别1 .int * p =NULLint *p=NULL;定义一个指针变量p,其指向的内存里面保存的是int类型的数据;再定义变量p的同时把p的值设置为0x00000000, 而不是把*p的值设置为0x000000002.*p =NULLint i =10;int * p =&i;*p =NULL;int i ...原创 2018-09-19 21:28:58 · 4244 阅读 · 0 评论 -
malloc和calloc的区别
是否对申请的区域进行初始化而已 但是我想你也知道我们写程序的时候多用malloc而很少用calloc,何解? 因为calloc虽然对内存进行了初始化(全部初始化为0),但是同样也要降低效率的 calloc相当于 p = malloc(); memset(p, 0,size);多了对内存的写零操作,而写零这个操作我们有时候需要,而大部分时间不需要 所以就有两个函数并存的关系了...转载 2018-11-05 12:42:07 · 393 阅读 · 0 评论 -
SetConsoleCursorPosition光标的位置控制
SetConsoleCursorPosition是一个计算机函数,如果用户定义了 COORD pos,那么pos其实是一个结构体变量,其中X和Y是它的成员,通过修改pos.X和pos.Y的值就可以实现光标的位置控制。#include&lt;stdio.h&gt;#include&lt;windows.h&gt;int main(){ HANDLE hOut; COORD ...原创 2018-06-20 16:56:52 · 25436 阅读 · 5 评论 -
利用SetConsoleTextAttribute函数设置控制台颜色
原文出处: https://blog.csdn.net/odaynot/article/details/7722240混合颜色#include <windows.h>#include <iostream>using namespace std;int main(){ HANDLE hOut; hOut = GetStdHandl...转载 2018-06-20 16:54:27 · 1830 阅读 · 0 评论 -
C语言malloc和calloc的区别
是否对申请的区域进行初始化而已 但是我想你也知道我们写程序的时候多用malloc而很少用calloc,何解? 因为calloc虽然对内存进行了初始化(全部初始化为0),但是同样也要降低效率的 calloc相当于 p = malloc(); memset(p, 0,size);多了对内存的写零操作,而写零这个操作我们有时候需要,而大部分时间不需要 所以就有两个函数并存的关系了...原创 2018-05-29 17:39:09 · 5390 阅读 · 0 评论 -
C语言typedef与#define的区别
typedef和#definedefine 没有参加编译,在预处理的时候就被替换掉了。typedef参加编译和链接。typedef是重命名,可以为枚举结构体等等重新命名,提高代码整洁。一、typedef的用法C语言中,typedef常用来定义一个标识符及关键字的别名,它是语言编译过程的一部分,但它并不实际分配内存空间,实例像:typedef int INT;...原创 2018-05-01 21:28:03 · 536 阅读 · 0 评论 -
C语言 防止头文件被多次引用
comm.h和comm.c是公共模块。 test1.h和test1.c使用了公共模块。 test2.h和test2.c使用了了公共模块。 test.h和test.c使⽤用了了test1模块和test2模块。 这样最终程序中就会出现两份comm.h的内容。这样就造成了了文件内容的重复。1.方法1文件开头加上这一句就ok#pragma once2.方法2将头文件放在...原创 2018-05-01 21:42:20 · 5228 阅读 · 0 评论 -
C语言的细小知识点整理
1、register修饰符暗示编译程序相应的变量将被频繁地使用,如果可能的话,应将其保存在CPU的寄存器中,以加快其存储速度2、static是某个特定函数的局部变量,即只能在定义该变量的函数内使用该变量static int a = 40; char b[] = "Hello world"; register int c = 50; printf("Hello world ...原创 2018-03-26 23:44:40 · 189 阅读 · 0 评论 -
C语言随机数生成超详解
1.首先来看一段简单的代码#define _CRT_SECURE_NO_WARNINGS #include <stdio.h>#include <stdlib.h>#include <time.h>int main(void){ int i; printf(" %6d\n", rand()); system("pause"...原创 2018-04-02 14:27:04 · 1386 阅读 · 0 评论 -
C语言 浅谈可变参数
1.可变参数产生原因首先来看一个简单的例子。int Add(int x, int y){ return x + y;}int main(){ int sum = 0; sum = Add(1, 2); //sum = Add(1, 2, 3); //sum = Add(1); system("pause"); return...原创 2018-04-25 10:19:05 · 512 阅读 · 0 评论 -
运算符优先级 速查表
运算符优先级优先级【高到低】: 第一级:圆括号【()】、下标运算符【[]】、分量运算符的指向结构体成员运算符【->】、结构体成员运算符【.】 第二级:逻辑非运算符【!】、按位取反运算符【~】、自增自减运算符【++ –】、负号运算符【-】、类型转换运算符【(类型)】、指针运算符和取地址运算符【*和&】、长度运算符【sizeof】 第三级:乘法运算符【...原创 2018-04-28 20:31:52 · 8129 阅读 · 0 评论 -
指针数组和数组指针和函数指针
1.int * p =NULL;和*p =NULL的区别1.int * p =NULL2.*p =NULL2.a和&amp;amp;a的区别3.指针数组和数组指针1.int *p1[10];2.int (*p2)[10];4.函数指针char (*fun1)(char p1,char *p2)函数指针的概念函数指针的作用:做题的小技巧1.int * p ...原创 2018-04-29 09:43:32 · 313 阅读 · 0 评论 -
C语言之scanf中的格式
scanf函数原型控制格式1.%[^\n]%*c例子1例子2scanf函数原型 int scanf( const char *format, ... );见可变参数求和 https://blog.csdn.net/csdn_kou/article/details/79996606控制格式%c 一个单一的字符 %d 一个十进制整数 %i 一个整数 ...原创 2018-05-14 23:07:05 · 9512 阅读 · 0 评论 -
C语言 函数递归例题解析
1.接受一个整形值(无符号),把它转换为 字符并打印它模拟实现strlen()函数。3.求n的阶乘4.斐波那契数列总结1.接受一个整形值(无符号),把它转换为 字符并打印它void fun(int x){ if (x > 9) { fun(x/10); } printf("%d\n", x%10);}in...原创 2018-05-08 14:37:44 · 17564 阅读 · 1 评论 -
大端小端详解
大端:低位放在高地址,高位放在低地址小端:低位放在低地址,高位放在高地址11223344面试考点:1.阐述概念2.写一个程序判断当前机器是大端还是小端代码#include &amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;#include &amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;gt;int check_sy原创 2018-05-08 19:48:51 · 1827 阅读 · 0 评论 -
exit(0) return区别
1.return是返回函数调用,如果返回的是main函数,则为退出程序。exit是在调用处强行退出程序,运行一次程序就结束, 无论写在那里,都是程序推出,括号里的数字0,1,-1会被写入环境变量ERRORLEVEL,其它程序可以由此判断程序结束状态。2.一般0为正常推出,其它数字为异常,其对应的错误可以自己指定。 exit(1)表示异常退出.这个1是返回给操作系统的。 ex...原创 2018-06-25 22:23:02 · 3927 阅读 · 0 评论 -
C语言贪吃蛇
扩展功能实现加速减速计分链表实现彩色界面暂停开源代码贪吃蛇展示原创 2019-04-14 18:06:56 · 1881 阅读 · 0 评论