
C
Jedi Hongbin
threedev.xyz
展开
-
c++ 输入三条边 绘制三角形
【代码】c++ 输入三条边 绘制三角形。原创 2024-11-10 13:26:37 · 551 阅读 · 0 评论 -
c 直接插入 简单排序 冒泡
#include <stdio.h>int main(){int arr[10] = {49, 38, 65, 97, 76, 13, 27, 49, 55, 48};printf("直接插入\n");int temp;int j;for (int i = 1; i < 10; i++){temp = arr[i];for (j = i - 1; j >= 0 && temp < arr[j]; j--).原创 2021-12-13 10:52:11 · 961 阅读 · 0 评论 -
C语言 获取字符串中字符出现次数
1#include <stdio.h>void main(){ char str[80]; int tj[26] = {0}; int i; gets(str); for (i = 0; str[i] != '\0'; i++) if (str[i] >= 'a' && str[i] <= 'z') tj[str[i] - 'a']++; for (i = 0; i <原创 2021-05-18 16:45:45 · 1173 阅读 · 0 评论 -
c 实型常量
文章目录1L5.3f'abc'1E-10以这道题为例1L表示 1 类型为long doubleL / l 表示类型long doubleF / f 表示 float 单精度类型不写 默认表示 double类型 双精度5.3f就表示 float类型的5.3‘abc’这是本题的选项也是错误的表示 字符常量 要求单引号内为一个字符1E-10(E == e)aeb 表示 a*10的b次幂 1E-10 表示 1 x 10的-10次幂 是正确的实型常量 值为0.00000c语言中原创 2021-05-17 09:19:54 · 631 阅读 · 0 评论 -
c语言 字符串拼接
void str_cat(char *s1, char *s2){ int i = 0, j = 0; while (s1[i++]); i--; while (s1[i++] = s2[j++]);}void str_cat (char *s1, char *s2){int i = 0, j = 0; while (s1[i]) i++; while (s2[j]) s1[i++] = s2[j++];}原创 2021-05-10 09:49:08 · 260 阅读 · 0 评论 -
C 最大公约数 最小公倍数
#include<stdio.h>int LCW(int m, int n){ int i = m > n ? m : n; while (i % m != 0 || i % n != 0) i++; return i;}int main(){ int a = 2, b = 9; int lcw = LCW(a, b); printf("最小公倍数:LCW: %d", lcw); printf("最大公原创 2021-05-07 20:23:12 · 167 阅读 · 0 评论 -
C语言死兔子问题
问题 : 开局一对兔子 三个月开始产子 小兔子三个月后开始产子生一对兔子 …兔子都不死 计算有多少只兔子#include<stdio.h>int blamedRabbit(int m){ int fb1, fb2; fb1 = fb2 = 1; if (m < 3) return 1; for (int i = 3; i <= m; i++) { int fb = fb1 + fb2;原创 2021-05-07 15:24:26 · 208 阅读 · 0 评论 -
获取 个位数 十位数 百位数 千位数
以c语言为例 , js需要向下取整个位num % 10 == num / 1 % 10十位num / 10 % 10百位num / 100 % 10千位num / 1000 % 10依次类推…思路不管几位数 想取到最后一位数 就需要使用 % 10 来余余数获得个位数直接就可获得123为例 想要获得十位数 需要先将最后一位数去掉 变成 12然后 取12的个位数 获得123的十位数 2去掉123的个位数3 即/10将个位数去掉 然后 %10获得2也就是123的十位...原创 2021-05-05 18:54:22 · 16814 阅读 · 3 评论 -
*(*(p + 2) + 1) 二维数组指针位移
原创 2021-04-29 20:16:52 · 852 阅读 · 0 评论 -
c unsigned与signed转换问题
unsigned int a = 4294967295;printf("%d\n", a); //=> -1a 是无符号int最大值表示为11111111 11111111 11111111 11111111转换成有符号输出 首位1看作是负数 负数输出需要反补码 再取反码变为 10000000 00000000 00000000 00000001就是 -1 了同样 signed转换 unsigned也是如此int a = -1;printf("%u \n", a); //429496原创 2021-04-27 10:36:26 · 429 阅读 · 0 评论 -
c语言 unsigned与signed及其溢出问题
例: unsigned int a = -1; int b = -1; printf("%d %d \n", a, b); // -1 -1 printf("%u %u", a, b); // 4294967295 4294967295 \u是无符号输出 可以理解为都是正数输出正常int 一个 -1 是以补码的形式存储 4字节int 就是 11111111 11111111 11111111 11111111在读取的时候 首位是1表示是负数 然后取反码 最后位 +1 就成了 1000.原创 2021-04-26 20:29:30 · 3073 阅读 · 0 评论 -
while 循环判断语句比循环操作多执行一遍
int i, b, k = 0; for (i = 1; i <= 5; i++) { b = i % 2; while (b-- >= 0) { printf("%d \t", b); k++; } } printf("%d,%d \n", k, b); // 8,-2注意 b取余数 为0或10的时候while循环执行1次1的时候k++的循环执原创 2021-04-18 16:49:25 · 1301 阅读 · 0 评论 -
16/32/64位 int占位
在16位int是2个字节,long是4个字节。在32位int是4个字节,long是4个字节。在64位 int是4个字节,long是8个字节。一般long比short,int都长。在32位 long long 是8个字节。https://zhidao.baidu.com/question/135985243.html...转载 2021-04-10 09:37:40 · 1056 阅读 · 0 评论 -
c 杨辉三角
构建二维数组#include <stdio.h>#define LinNum 10int main(){ static int arr[LinNum][LinNum];// Or int arr[LinNum][LinNum]={}; //让数组的每一项为0 不然会有非0随机数 for (int i = 0; i < LinNum; i++) { //首位为1 arr[i][0] = 1; arr[i][i原创 2021-03-26 18:07:10 · 237 阅读 · 0 评论 -
c语言 运算符优先级
单目运算符优先级高于双目运算符单目运算符就是一个运算符左侧或者右侧只要有一个表达式即可运算的运算符 比如 *p ~3 !2 x++双目运算符就是运算符左右都需要有表达式才能组成一个合法的语句的运算符 比如 2>>2 3/4 2 || 3 4^1 2 > 3...原创 2021-03-26 10:34:10 · 1202 阅读 · 0 评论 -
c语言 错题集
文章目录1宏定义 #define PI 3.14159 中,用宏名PI代替一个2.字符串"\x54BNHGb13,2m"的长度为3,程序输出4,字符串的错误赋值5.浮点数参与运算问题6.指针指向数组元素7,错误语句8,+=,-=联系运算` n += n -= n * n`9,++ -- 运算符10,计算精度和运算转换`1.0/3*3不等于1`11, 函数返回整形和字符型可以不写类型 不过有警告12.类型转换13,两个char类型的数据相加结果是int类型[link](https://bbs.csdn.net原创 2021-03-24 19:07:52 · 2252 阅读 · 0 评论 -
c模拟boolean
#define true 1#define false 0typedef int Bool;Bool a = true;原创 2021-03-24 10:44:26 · 115 阅读 · 0 评论 -
c 语言习题
(0 <= x < 100) + (i = j = 0) + (char)(65 + 3) int x, i, j; int result = (0 <= x < 100) + (i = j = 0) + (char)(65 + 3); printf("%d\n", result); //=> 69 //# 第一个部分 0<=x为0或1然后和100比较永远为真因为不管是0还是1都小于100,所以第一部分结果是1 //# 第二部分结果为右值原创 2021-03-20 10:20:36 · 114 阅读 · 0 评论 -
strcat 字符串拼接
原创 2021-03-09 09:36:45 · 371 阅读 · 0 评论 -
行参传递指针
#include <stdio.h>void exchange(int a, int b){ int temp = a; a = b; b = temp;}void exchangeByPointer(int *a, int *b){ int temp = *a; *a = *b; *b = temp;}int main(){ int a = 1, b = 2; printf("%d %d \n", a, b)原创 2021-03-08 15:13:56 · 240 阅读 · 0 评论 -
指针迷惑考点
char ch[] = "iamhandsome"; char *p = ch; printf("%c ,%c \n", *(p + 2), *p + 2); printf("%s \n", p + 10); printf("%d", *p + 2); printf("%d", *p);// 105 -> 第一个字母i的ASCII码值 *p:105 -> 第一个字母'i'的ASCII码值 *p + 2 = 105 + 2 = 107 10...原创 2021-03-07 08:55:00 · 533 阅读 · 0 评论 -
二进制 加减法
加法 0000 0100 + 0000 1011 --------------- 0000 11110 +0 = 00 + 1= 11 + 1 = 10 (向前进一位) 0000 1100 + 0000 1011 --------------- 0001 0111减法1 - 0 = 11 -1 = 00 - 0 = 10 - 1 = 1(向前借一位) 0000 1100 -- 12 - 0000 0011 -- 3 -------原创 2021-03-01 09:03:51 · 3373 阅读 · 3 评论 -
负数在二进制中如何表示
负数以原码的补码形式表达原码:比如 3的原码就是 00000000 00000000 00000000 00000011上面是正数的原码,负数的原码则是该数值绝对值的原码然后符号为+1也就是-3 的原码 : 10000000 00000000 00000000 00000011补码: 正数的补码和原码一样负数的补码是原码(除符号位)取反 最后位置+1-3 补码就是取反: 11111111 11111111 11111111 1111110+1: 11111111 11111111 111.原创 2021-03-01 09:02:54 · 4174 阅读 · 7 评论 -
左/右移运算符,循环左/右移运算
目录左移动运算符 `<<`右移动运算符 `>>`左移右移动可以干什么循环移动循环左移循环右移左移动运算符 <<运算规则: x << y 将x的二进制形式向左移动y个位置,左侧移除,右侧补07 << 2 = 28 0000 0111 --7<< 2------------------- 0001 1100 -- 4+8+16 = 28右移动运算符 >>运算规则: x >> y 将x的二进制形式原创 2021-03-01 08:39:19 · 2772 阅读 · 0 评论 -
运算符 ++,~ , & , |,^
自增自减运算符 ++ , --必须作用于变量。下面错误示范,k为常量不能更改const int k = 1k++ // ????♂️可读性????♂️k = (i++) + (i++) + (++i);????♂️++i;++i;k = i;i++;按位非运算符 ~单目运算符 优先级高于其他双目运算符运算规则: 取反 0 => 1 ,1 => 0~-1 == 0二进制 -1 的补码全是1,取反后全是0,所以==0 const int coun原创 2021-02-28 21:25:33 · 1216 阅读 · 0 评论 -
vscode c 设置 intelliSense设置以帮助查找缺少的标头
问题解决:再配置文件中加入gcc中include的路径我的再G盘,可以手动找到文件路径,然后赋值到配置文件中要将复制来的\改为 /后面加/**表示所有当前文件目录下的所有的文件,然后保存最后,如果本文对你有帮助欢迎关注我的公众号,来找我玩啊...原创 2020-08-14 16:18:43 · 17257 阅读 · 4 评论