首页 > 其他分享 >结构体作业讲解

结构体作业讲解

时间:2024-06-10 09:04:06浏览次数:17  
标签:return int scanf printf 作业 ++ 讲解 include 结构

&这个是按位与

&&这个是逻辑与

||逻辑或,

!逻辑取反

b=++a是一个表达式,c++是一个表达式 ,++a是一个表达式, a++是一个表达式

逗号表达式的优先级是最低的,先赋值

#include"stdio.h"
#include"string.h"
int main()
{
    int a,b,c;
    a=5;
    c=++a;//c=6,a=6;
    b=++c, c++, ++a, a++;//b=7, c=8,a=8;
    b+=a++ + c;//加加运算符高,a=9,23,c=8
    printf("a=%d b=%d c=%d\n:",a,b,c);//+=比++低
    return 0;
}

求二进制数

负1的原反补

只能算正数和零

#include <stdio.h>
int numof(int n)
{
	int jishu=0;
	while(n)
	{
		if(n%2==1)
		{
			jishu++;
		}	
		n=n/2;
	}
	return jishu;
}
int main()
{
	int a;
	scanf("%d",&a);
	int zhen=numof(a);
	printf("%d",zhen);
	return 0;
}

原理 比如10 10的二进制数 是1010

10%2=0 10\2=5 5%2=1 5/2=2 2%2=0 2/2=1 1%2 =1 1/2=0

这样就算出二进制1的个数了

如果用unsigned 然后你的数字是负数的话,你那个负数就会被编译器变成补码,负数的补码是32个·1

正数的就正常

移位的方法

#include <stdio.h>
int numof(unsigned int n)
{
	int jishu=0;
	for(int t=0;t<32;t++)
	{
		if(((n>>t)&1)==1)
		{
		jishu++;
		}
	}
	return jishu;
}
int main()
{
	int a;
	scanf("%d",&a);
	int zhen=numof(a);
	printf("%d",zhen);
	return 0;
}

二进制写的

#include <stdio.h>
int numof(unsigned int n)
{
	int jishu=0;
	while(n)
	{
		n=n&(n-1);
		jishu++;
	} 
	return jishu;
}
int main()
{
	int a;
	scanf("%d",&a);
	int zhen=numof(a);
	printf("%d",zhen);
	return 0;
}

比较二进制位数有几位不同

#include <stdio.h>
int pp(int a,int b)
{
	int count=0;
	for(int i=0;i<32;i++)
	{
		if(((a>>i)&1)!=((b>>i)&1))
		{
			count++;
		}	
	}
	return count;
}
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	int ww=pp(a,b);
	printf("%d\n",ww);
}

求两个二进制位数有几位不同

也可以用异或操作符

相同为0,不同

#include <stdio.h>
int pp(int a,int b)
{
	int mm=a^b;
	int count=0;
	while(mm)
	{
	mm=mm&(mm-1);
	count++;
	}
	return count; 
}
int main()
{
	int a,b;
	scanf("%d %d",&a,&b);
	int ww=pp(a,b);
	printf("%d\n",ww);
}

输出二进位偶数和奇数

#include <stdio.h>
int main()
{
	int a;
	int num;
	scanf("%d",&a);
	//奇数位 
	for(int i=30;i>=0;i-=2)
	{
		printf("%d ",(a>>i)&1);
	}	
	printf("\n");
	for(int j=31;j>=0;j-=2)
	{
		printf("%d ",(a>>j)&1);
	}	
	return 0;
}

全局变量,静态变量都是放在静态区的

全局变量,静态变量不初始化的时候默认会被初始化成0

局部变量,放在栈区,不初始化,默认值是随机值

两个数,一个是有符号,另一个无符号,那么有符号就会转换成无符号

观察图形的规律

#include <stdio.h>
int i;//0
int main()
{
	int s;
	while(scanf("%d",&s))
	{
		for(int i=0;i<s;i++)
		{
			for(int j=0;j<s;j++)
			{
				if(i+j==4)
				printf("*");
				else if(i==j)
				printf("*");
				else
				printf(" ");
			}
		printf("\n");
		}		
	}
	return 0;
}

C语言scanf返回值读成功就返回数的个数,不成功呢就返回EOF

判断润年

&&和||是真就为1 假的话为0

#include <stdio.h>
int jj(int b)
{
	return ((b%4==0&&b%100!=0)||(b%400==0));

}
int main()
{
	int a,p;
	scanf("%d %d",&a,&p);
	int aa[13]={0,31,28,31,30,30,31,31,30,30,31,31,30};
	int m=aa[p];
	if(jj(a)==1&&p==2)
	{
		m++;
	}
	printf("%d\n",m);
	return 0;
}

标签:return,int,scanf,printf,作业,++,讲解,include,结构
From: https://blog.csdn.net/2301_77634163/article/details/139569806

相关文章

  • 【简单讲解下Fine-tuning BERT,什么是Fine-tuning BERT?】
    ......
  • 【简单讲解下Stylus入门使用方法】
    ......
  • 【数据结构】链式二叉树详解
    个人主页~链式二叉树基本内容~链式二叉树详解1、通过前序遍历的数组来构建二叉树2、二叉树的销毁3、二叉树节点个数4、二叉树叶子节点个数5、二叉树第k层节点个数6、二叉树查找7、前序遍历8、中序遍历9、后序遍历10、层序遍历与检查二叉树是否为完全二叉树Queue.hQue......
  • 基于SpringBoot+Vue+uniapp的大学生就业信息平台(源码+lw+部署文档+讲解等)
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • FDTD结构
    FDTD中自带的结构是有限的,只有目前这几种但是FDTD中有库中还有特殊图形满足我们的需求,可以直接调用写好的:里面可以导入已经写好的图形。FDTD也可以自己写图案,通过官网所给的函数:里面有addcustom和addimport自己编程各种图形,两种添加形状的方式不同,但是原理是一致的,也可以......
  • 基于SpringBoot+Vue+uniapp的网络小说微信小程序的详细设计和实现(源码+lw+部署文档+
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 基于SpringBoot+Vue+uniapp的校友林微信小程序的详细设计和实现(源码+lw+部署文档+讲
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaitsPlus系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • UDP报文结构
    学习一个协议,首先就是去理解它的报文结构。UDP数据报可以分为报头与载荷两个部分。报头占八个字节,分别是源端口号,目的端口号,udp报文长度,UDP校验和,每个部分占两个字节。载荷是完整的应用层的数据报。报头和载荷可以认为是“拼接“在一起。UDP报文长度:是一个两个字节的16位的......
  • 基于springboot+vue.js+uniapp小程序的流浪猫狗救助救援网站附带文章源码部署视频讲解
    文章目录前言详细视频演示具体实现截图技术栈后端框架SpringBoot前端框架Vue持久层框架MyBaits系统测试系统测试目的系统功能测试系统测试结论为什么选择我代码参考数据库参考源码获取前言......
  • 自定义类型:结构体
    目录1.结构体类型的声明1.1结构体1.1.1结构体如何声明1.1.2结构体变量的创建和初始化1.2结构的特殊声明1.3结构的自引用2.结构体内存对齐2.1对齐规则2.2为什么存在内存对齐?2.3修改默认对齐数3.结构体传参4.结构体实现位段 4.1什么是位段4.2位段的......