C
江河(Krisen)
关关难过关关过,长路漫漫且灿灿,山山漫漫结成关,人人草草尽走散
展开
-
权限的修改
#include <stdio.h>int main() { int r = 4; int w = 2; int x = 1; int i; int value = 0; char grant[3]; scanf("%s", grant); for (i = 0; i < 3; i++) { if (grant[i] == 'r') { value |= r; } ..原创 2020-12-24 20:47:02 · 110 阅读 · 0 评论 -
C语言考试
1.数组A【5】【6】的每个元素占5个单元,将其按行优先存储在起始地址为1000的连续的内存单元中,则元素A【4】【4】的地址为?答案是1140A【0】A【1】A【2】A【3】共四行4X6=24;A【4】24+4=28; 28X5=140, 1000+140=1140按列也是相同原理先经过列在C语言中,顺序存储长度为3的字符串,需要占用4个字节末尾\n也要算上2.设有一个长度为n的顺序表,要在第i(从1开始)个元素之前(也就是插入元素作为新表的第i个元素),则移动元素个数为n-i+1题原创 2020-12-16 10:17:00 · 962 阅读 · 1 评论 -
函数声明与定义
#include <stdio.h>void funcA(int );void funcB(int );int main(){ funcA(5);}void funcA(int n){ if(n==0) return ; printf("funcA : %d\n",n); funcB(n-1); return;}void funcB(int n){ if(n==0) return ; printf("funcB :原创 2020-11-15 15:12:12 · 180 阅读 · 0 评论 -
结构体 共用体
结构体结构体首先要找到类型中最大的字节数 int 和float 最大是 4 所以 char gender 要开辟四个字节但只能用一个 所以这个总的大小是32字节node1 最大的是Int 是四个字节 ,当第一次开辟四个字节的时候 char a 占了一个 轮到char b的时候前面开辟的四个字节还剩下三个 所以char b不用开辟可以直接用共用体共用体内存取类型最大的实现ip 转整数...原创 2020-11-14 18:00:58 · 186 阅读 · 0 评论 -
实现打印LOG宏
随堂练习题-3实现一个打印LOG的函数,需要输出所在函数及行号等信息注:宏__FILE__以字符串形式返回所在文件名称宏__func__以字符串形式返回所在函数名称宏__LINE__以整数形式返回代码行号#include <stdio.h>#include <math.h>#ifdef DEBUG#define log(frm,args...)\{\ printf("[%s,%s,%d] ",__FILE__,__func__,__LINE__);\原创 2020-11-14 11:48:47 · 425 阅读 · 0 评论 -
变参函数
变参函数实现可变参数max_int,从若干个传入的参数返回最大值。int max_int(int a,…);如何获得a往后的参数列表? va_list 类型的变量如何定位a后面第一个参数的位置? va_start函数如何获取下一个可变参数列表中的参数? va_arg函数如何结束整个获取可变参数列表的动作? va_end函数#include <stdio.h>#include <stdarg.h>int ma原创 2020-11-13 20:17:03 · 110 阅读 · 0 评论 -
实现没有BUG的MAX宏
傻瓜式宏#define max(a,b) a>b?a:b这个宏只是简单的替换,而避免不了运算符优先计算的顺序问问题功能性宏 正确如下代码#include<stdio.h>#define MAX(a,b) ({\ __tpyeof(_a) =(a);\ __typyof(_b) =(b);\ _a>_b? _a:_b;\})#define P(func){ printf("%s = %d\n" ,#func,func); //这里的#代表完全字符串化}原创 2020-11-13 20:03:31 · 145 阅读 · 0 评论 -
牛顿迭代法
上图所示可以理解为x=x-f(x)/f’(x) 不停的向解靠近 当x所对应的函数值无限接近于0的时候 x就是函数的解函数为 x^2 -n=0的时候 输入n来求函数的解 ,可以理解成 n开平方代码入下:#include <stdio.h>#include <math.h>double F(double x,double n){ return x*x - n;}double f(double x){ return 2*x;}double s.原创 2020-11-13 15:59:03 · 190 阅读 · 0 评论 -
线性筛选素数法
代码如下:#include <stdio.h>#define max_n 2000000int prime[max_n+5];int book[max_n+5];void find_prime(){ int cnt=0; for(int i= 2;i<max_n;i++) { if(!book[i]) prime[++cnt]=i; for(int j=1;j<=cnt && prime[j]*i&原创 2020-11-13 11:20:54 · 106 阅读 · 0 评论 -
简版的printf函数的实现
能实现输入数字 输入字符 数字包括(100末尾有0的数字 INT32_MAX INT32_MIN 负数)实现代码如下:#include <stdio.h>#include <stdarg.h>#include <inttypes.h>#include<string.h>int rev_num(int x1 ,int * temp){ *temp=0; int dight=0; while(x1){ *tem原创 2020-11-13 10:04:46 · 272 阅读 · 0 评论 -
函数指针的应用
三角形数字n=(n+1)/2 1 , 3 , 6 , 10 , 15 …五边形数字n=n(3n-1)/2 1 , 5 , 12 , 22 , 35 …六边形数字n=n(2n-1) 1 , 6 , 15 , 28 , 45…40755 是三个的共同数字找出他代码:#include <stdio.h>typedef long long ll;ll sj_num(ll n){ return (n+1)/2;}ll wb_num(原创 2020-11-11 18:26:35 · 151 阅读 · 0 评论 -
循环结构代码演示
在__进制下,是否是回文数字代码:#include <stdio.h>#include <time.h>#include <stdlib.h>int rev_num(int n,int base){ int temp=0; int x=n; if(n == 0) { return 0; } while(x) { temp=temp*base + x%base;原创 2020-11-11 11:48:58 · 201 阅读 · 0 评论 -
分支结构代码演示
代码:#include <stdio.h>#include <time.h>#include <stdlib.h>int main(){ int n; int i; int cnt=0; int num; scanf("%d",&n); srand(time(0)); for(i = 0; i < n; i++) { num = rand()%10原创 2020-11-11 10:19:18 · 298 阅读 · 0 评论 -
printf函数代码演示
代码:#include <stdio.h>#define swap(a,b){\ __typeof(a) __temp=a;\ a=b; b=__temp;\}int main(){ int n; scanf("%d",&n); char str[128]={0},buf[128]={0},*p=str,*q=buf; sprintf(str,"%d.%d.%d.%d",192,168,99,6);原创 2020-11-10 15:37:07 · 350 阅读 · 1 评论 -
随堂练习题1和2
随堂练习题-1请使用 printf 函数,求解一个数字n的十进制表示的数字位数。#include <stdio.h>int main(){ int n; while(scanf("%d",&n) != EOF) { printf(" has %d digits!\n" , printf("%d",n)); } return 0;}运行结果:随堂练习题-2写一个程序,读入一个行字符串(可能包含空格),输出这个字符串的数量。#include <st原创 2020-11-10 14:18:20 · 138 阅读 · 0 评论 -
算法1
用二分法求开平方牛顿迭代法原创 2020-11-06 16:45:08 · 83 阅读 · 0 评论 -
C2
计算圆的体积如果写成4 将会被整形处理i && printf(" ");&& 是条件运算符中的 与,或者叫AND对于他,全真才真,一假则假所以,如果i是0,就是假,就不会再去执行后面printf如果i是非0的值,则就会继续执行后面的printf有效解决最后一个样例后面多一个空格的问题函数指针将函数作为参数传入fixed和setprecision()前一个是将数字以小数的形式展示,后一个是设置数字的有效字数;联合在一起就可以表示在小数点后显示多原创 2020-10-31 11:17:46 · 107 阅读 · 0 评论 -
sprintf fprintf 的使用
{[(192.168.1.2)]}vim fout 这个文件 文件内容是原创 2020-10-26 16:56:19 · 225 阅读 · 0 评论 -
C初入
C变量命名原创 2020-10-19 20:24:55 · 110 阅读 · 0 评论 -
C变量
static 变量在自定义函数中,函数周期也是存在于整个文件的,无论是在局部中,还是全局变量里。编译器一般不对普通局部变量进行初始化,也就是说它的值在初始时是不确定的,除非对其显式赋值。extern.c 内容main.c 的内容头文件 extern.hgcc extern.c main.c extern.h...原创 2020-10-05 14:42:43 · 127 阅读 · 2 评论 -
数据类型综合应用
scanf输入会产生缓冲区,所以会加上getchar吸收回车,scanf要严格按照引号内的格式输入原创 2020-09-29 19:25:53 · 738 阅读 · 0 评论