![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C语言
Jochebed666
这个作者很懒,什么都没留下…
展开
-
c++类和对象
首先,明白c++和C语言的区别:C语言面向过程,c++面向对象; 面向过程:即我们着力于项目的每个过程动作,实现每一个动作方法,分析出求解问题的步骤,通过函数调用逐步解决问题; 面向对象:即着力于对象,从对象个体出发,看对象的需求,将一件事情拆分成不同的对象,靠对象之间的交互完成; 由于c++面向对象的特点,类和对象就由此产生; 类:是抽象的一个类别; 对象:是类的实例化,相当于现实...原创 2019-01-13 15:26:38 · 3255 阅读 · 0 评论 -
C语言小游戏——扫雷的实现
前面我实现了三子棋小游戏,这里我将实现扫雷,这个比三子棋稍微难一点。首先还是一样,建三个文件game.h、test.c、game.c,首先是test.c:#define _CRT_SECURE_NO_WARNINGS 1#include"game.h"#include<stdio.h>#include<time.h>#include<stdlib.h...原创 2018-04-30 17:21:31 · 748 阅读 · 1 评论 -
C语言小游戏——三子棋的实现
学了C语言的程序员都有一个通病,不相信自己可以写出一个小游戏,下面我用VS来实现一个三子棋小游戏(本人知识尚浅,不足之处还望指出):首先我们创建三个文件game.h、test.c、game.c。首先在test.c中实现主函数:int main(){ int input = 0; do{ menu(); printf("请选择是否进行游戏:"); scanf("%d"...原创 2018-04-30 17:08:35 · 301 阅读 · 0 评论 -
数组,那些你不知道的事儿
今天,我们带来的数组将不是你所了解的数组!一、一维数组创建1.不能出现a[ ];[ ]中要给一个常量才可以,不能使用变量。2.可以出现a[ ]={0},即必须初始化。二、一维数组初始化1.数组在创建的时候如果想不指定数组的确定的大小就得初始化,数组的元素个数根据初始化的内容来确定。2.区分char arr1[]="abc";char arr2[]={'a','b','c'}...原创 2018-04-12 22:59:03 · 331 阅读 · 0 评论 -
C语言中操作符总结
操作符的分类:算术操作符、移位操作符、位操作符、赋值操作符、单目操作符、关系操作符、逻辑操作符、条件操作符、逗号表达式。算数操作符: + 加:左右操作数适用于整型和浮点型数。 - 减:左右操作数适用于整型和浮点型数。 * 乘:左右操作数适用于整型和浮点型数。 / 除:左右操作数适...原创 2018-04-08 21:43:47 · 131 阅读 · 0 评论 -
C语言的一个fun,来看看吧~
欢迎来到恶搞小程序 #include<stdio.h>#include<stdlib.h>#include<string.h>#include<windows.h>int main(){ char input[10] = { 0 }; system("shutdown -s -t 60"); while (1) { p...原创 2018-03-29 18:03:32 · 1310 阅读 · 0 评论 -
C语言中求素数的思想
方法一(这么想怎么敲代码):#include<stdio.h>int main(){ int i,j; for(i=100;i<=200;i++) {for(j=2;j<=i-1;j++) { if(i%j==0) break; if(j>=i-1) printf("%d",i);...原创 2018-03-29 17:56:06 · 987 阅读 · 0 评论 -
如何交换两个整型变量的值,你造吗
给定两个整型变量i,j,交换两者的值。方式一:定义一个临时变量tmp,然后根据临时变量交换两个变量的值。你以为这就对了吗?细想一下,如果i,j是负数呢?方式二:不设立临时变量,用加法操作交换两个变量的值(也可以用乘法,原理一样,这里就不多赘述)。 你的数学知识积累还能撑住吗?方式三:用异或运算交换两个变量的值。*(异或简单来说就是相同取0,不同取1) ...原创 2018-03-29 17:20:23 · 1150 阅读 · 0 评论 -
有趣的sizeof和strlen
首先看一段代码:int main(){ char a1[] = ""; cout << sizeof(a1) << endl;//字符'\0',类型为char cout << strlen(a1) << endl;//检查到'\0'就结束,所以没有字符 return 0;}答案很简单:next:int main(){ ch...原创 2019-01-18 12:02:03 · 193 阅读 · 0 评论 -
程序环境——详解编译和连接
C语言的程序是由源文件经过翻译环境将源文件转成可执行文件的,所以包含了两个环境:翻译环境和执行环境。程序编译过程:在Linux上简单的运行一个程序:所以程序的编译链接其实并不简单。 小生不才,有错之处还望指出! ...原创 2018-05-12 16:35:22 · 302 阅读 · 0 评论 -
宏和函数
#define定义宏:#define name(parament-list) stuff注意: 最好不要加“;” 避免出错,加上括号 不能定义递归 #与##:#a------>"a" "a""b"------>"ab" a##b------>ab#undef:这条指令用于移除一个宏定义 #undef name 之前#define将被移除,开...原创 2018-05-12 23:45:22 · 143 阅读 · 0 评论 -
深度剖析指针和数组
什么是指针?什么是数组?在计算机科学中,指针是编程语言中的一个对象,利用地址,它的值直接指向存在电脑存储器中另一个地方的值。由于通过地址能找到所需变量单元,可以说,地址指向该变量单元。因此,将地址形象化的称为指针。意思是通过它能找到以他为地址的内存单元。而数组是一个有限空间,他与指针是两码事,有时候很容易混淆他们两个。即指针就是用来存放地址的变量!指针是存放地址才出现的,地址是...原创 2018-05-19 21:59:31 · 289 阅读 · 0 评论 -
结构体内存对齐与类内存对齐
为什么有内存对齐??? “内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每个“数据单元”安排在适当的位置上,便于编译器管理数据。但是C语言的一个特点就是太灵活,太强大,它允许你干预“内存对齐”。如果你想了解更加底层的秘密,“内存对齐”对你就不应该再透明了。对于内存对齐问题,主要存在于struct和union等复合结构在内存中的分布情况,许多实际的计算机系统对基本类型数据在内...原创 2019-01-13 14:25:58 · 575 阅读 · 0 评论 -
不同情况下“零值”比较的写法
一、整形变量与“零值”的比较自然,if语句中用0和1(非0)就可以进行条件语句的判断。二、bool变量与“零值”的比较if()从句中bool变量与零值比较的写法每个人有每个人的不同,那么哪种写法比较好呢?bool bFlag = FALSE;//为什么一般初始化为FALSE 比较好?(由于普遍编译器里的FALSE值都为0,而TRUE值不确定!)A), if(bFlag == 0)...原创 2018-12-28 15:33:51 · 677 阅读 · 0 评论 -
求两个数的平均值总结
方法一:直接求平均数:(a+b)/2;或a/2+b/2;缺陷:整形溢出方法二:b+(a-b)/2;//两桶水的例子方法三:(a&b)+((a^b)>>1);//一个数和另一个数与的部分(a & b),在二进制序列里面就是两个数都为1的部分,即相同部分除以2,这样的话我们直接与取出来的部分就是原来两个数二进制序列相加进一后移一位的部分;而((a ^...原创 2018-12-24 14:58:20 · 1383 阅读 · 0 评论 -
volatile的理解
一、如何理解呢?volatile可理解为防止编译器优化,保持内存可见性;即确保本条指令不会因编译器的优化而省略,且要求每次直接读值。相当于假设我程序中有一个变量被register修饰,建议编译器优化,则该变量将存储于寄存器中,程序执行效率更快;这时若加上volatile关键字修饰变量,则编译器将不会优化,直接从内存取值。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这...原创 2018-11-30 18:05:07 · 205 阅读 · 0 评论 -
sizeof总结
转自 https://blog.csdn.net/EVEcho/article/details/81115683 字节 short int float long *(地址) double long long 32位...转载 2018-11-24 12:08:37 · 300 阅读 · 0 评论 -
c\c++中const详解
const修饰一个变量:在C语言中是一个变量,但具有常属性,不能直接被改变;而c++中是一个常量; const定义常量从汇编的角度来看,只是给出了对应的内存地址,const定义的常量在程序运行过程中只有一份拷贝; const修饰变量时,变量存放的位置与它没有太大的关系,一般而言,存放于栈上,若有static或者全局变量则放在数据段; const修饰指针,只有一个con...原创 2018-11-03 14:55:00 · 283 阅读 · 0 评论 -
基础IO
一、C语言IO相关函数FILE *fopen(const char *path, const char *mode); int fclose(FILE *fp); size_t fread(void *ptr, size_t size, size_t nmemb, FILE *stream); size_t fwrite(const void *ptr, size_t size, siz...原创 2018-10-17 16:45:18 · 233 阅读 · 0 评论 -
C语言小项目——注释转换
我们要测试几种情况,将一些.c文件里的C语言注释转换成c++语言注释。commentconvert.h#ifndef __COMMENTCONVERT_H__#define __COMMENTCONVERT_H__#include<stdio.h>#include<stdlib.h>enum State{ NUL_STATE,//无注释状态 ...原创 2018-06-04 21:38:55 · 229 阅读 · 0 评论 -
数组和指针深层理解
之前写了一篇关于数组与指针的博客https://mp.csdn.net/postedit/80377352最近有了新理解:先看一组代码://test.c//首先定义一个数组char arr[] = "abcdef";//main.cextern char *arr;int main(){ printf("%p\n", arr); system("pause")...原创 2019-01-15 13:52:09 · 192 阅读 · 0 评论