我是靠谱客的博主 独特耳机,最近开发中收集的这篇文章主要介绍C语言运算符与表达式——输出逆序数and二进制包含0和1的数量and判断是否为2的整数次幂的两种办法最全C系列题目!从0到管理系统一、实验目的:二、实验要求三、代码总结,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

最全C系列题目!从0到管理系统

一、C语言数据类型及输出——体重是否正常、球的体积、计算存银行利息and浮点数长度与精度

二、C语言运算符与表达式——输出逆序数and二进制包含0和1的数量and判断是否为2的整数次幂的两种办法

三、C语言基本输入输出程序设计——计算当前时间and转换大写姓名and工资信息表

四、C语言顺序结构程序设计——对调数字and判断三角形

五、C语言选择结构程序设计——“21点”(BlackJack)游戏and一元二次方程and能否被3,5,7,9整除

六、C语言函数、指针应用程序设计——回文数判断and检验子串and仓库库存管理程序

七、C语言输入输出及选择结构程序设计的综合应用——简单超级战士游戏and 取牙签游戏

八、C语言循环结构及数组排序的综合应用——冒泡、插入、选择排序棒图显示and两个超长数相乘

九、C语言函数及数组的综合应用——儿童数学运算 and 递归求最大公约数

十、C语言函数及复杂数据结构的综合应用——简单户籍管理系统

C语言运算符与表达式——输出逆序数and二进制包含0和1的数量and判断是否为2的整数次幂的两种办法

  • 最全C系列题目!从0到管理系统
  • 一、实验目的:
  • 二、实验要求
  • 三、代码
    • 1.输出逆序数
    • 2.输出二进制表示形式及包含0和1的数量
    • 3.判断是否为2的整数次幂(第一种方法)
    • 4.判断是否为2的整数次幂(第二种方法)
  • 总结


一、实验目的:

1、掌握C语言中常用运算符的基本功能,以及优先级与结合性;
2、正确使用运算符和数据实体构建表达式,并表达式的计算过程;
3、进一步熟悉Visual C++6.0开发环境下调试程序的基本步骤。

二、实验要求

1.从键盘输入一个4位正整数,输出它的逆序数。如输入为“1234”,则要求输出“4321”。

2.从键盘输入一个0~255之间的十进制整数,输出其二进制表示形式及其中0和1的数量。如输入123,输出“二进制:01111011;2个0;6个1”。(要求用位运算符实现)

3.从键盘输入一个0~4294967295之间的整数,判断其是否为2的整数次幂并输出结果。 (要求用位运算符实现)

三、代码

1.输出逆序数

/*
 * 文件名称:   基本实验2第一题
 * 作者:       不知何人
 * 完成日期:   2021.3.21
 * 内容摘要:   无
 * 注意:       无
*/

#include<stdio.h>

int main()
{
	int a,b,c,d,e;

	scanf_s("%d",&a);  //获取输入4位数的值
	b=a/1000;  //千位上的数字
	c=a/100-b*10;  //百位上的数字
	d=a/10-b*100-c*10;  //十位上的数字
	e=a-b*1000-c*100-d*10;  //个位上的数字
	printf("倒序数为:%d%d%d%d",e,d,c,b);  //将各个位上的数字倒着排列

	return 0;
}

2.输出二进制表示形式及包含0和1的数量

/*
 * 文件名称:   基本实验2第二题
 * 作者:       不知何人
 * 完成日期:   2021.3.21
 * 内容摘要:   无
 * 注意:       无
*/

#include<stdio.h>
int main()
{
	unsigned char a, b, c, d, e, f, g, h, i;//二进制每一位上的数
	scanf_s("%d", &a);
	b = a >> 7;
	c = a << 1;
	c = c >> 7;
	d = a << 2;
	d = d >> 7;
	e = a << 3;
	e = e >> 7;
	f = a << 4;
	f = f >> 7;
	g = a << 5;
	g = g >> 7;
	h = a << 6;
	h = h >> 7;
	i = a << 7;
	i = i >> 7;//将各位先左移溢出后进行右移,只剩下各个位上的一个数

	printf("二进制为:%d%d%d%d%d%d%d%dn", b, c, d, e, f, g, h, i);

	int  k,n = 0;  //k代表0的个数,n代表1的个数
	while (a > 0)
	{
		if (a % 2 != 0) 
		n++;
		a = a / 2;
	}
	k = 8 - n;  //8位中所含0的个数等于8减去含1的个数
	printf("有%d个1,%d个0", n,k);

	return 0;
}

3.判断是否为2的整数次幂(第一种方法)

/*
 * 文件名称:   基本实验2第三题
 * 作者:       不知何人
 * 完成日期:   2021.3.21
 * 内容摘要:   无
 * 注意:       无
*/
#include<stdio.h>

int main()
{
	unsigned char a, b, c, d, e, f, g, h, i,j;//二进制每一位上的数
	scanf_s("%d", &a);
	b = a >> 7;
	c = a << 1;
	c = c >> 7;
	d = a << 2;
	d = d >> 7;
	e = a << 3;
	e = e >> 7;
	f = a << 4;
	f = f >> 7;
	g = a << 5;
	g = g >> 7;
	h = a << 6;
	h = h >> 7;
	i = a << 7;
	i = i >> 7;//将各位先左移溢出后进行右移,只剩下各个位上的一个数

	printf("二进制为:%d%d%d%d%d%d%d%dn", b, c, d, e, f, g, h, i);

	int k=0;
	int str[8] = { b, c, d, e, f, g, h, i };
	for (j = 0; j < 8; j++) {
		if (str[j] == 1)
			k++;
	}
	if (k == 1)
		printf("为2的整数次幂");
	else
		printf("不为2的整数次幂");
	return 0;
}	

4.判断是否为2的整数次幂(第二种方法)

/*
 * 文件名称:   基本实验2第三题(第二种方法)
 * 作者:       不知何人
 * 完成日期:   2021.3.21
 * 内容摘要:   无
 * 注意:       无
*/

#include<stdio.h>

int main() {

	int a;
	scanf_s("%d", &a);
    while (a)
    {
        if (((a) & (a - 1)) == 0)     
 //当为2的整数次幂时候,该数的二进制与该数减一的二进制与操作之后为0
            printf("a为2的整数次幂");
        else
            printf("a不为2的整数次幂");
        break;
    }
}

总结

我把去年刚学C语言时的代码发出来供新人们参考,别嫌弃啊哈哈(虽然确实很烂!实验报告我也都发了,在主页,我发的全是免费下载)

非常感谢您的观看

最后

以上就是独特耳机为你收集整理的C语言运算符与表达式——输出逆序数and二进制包含0和1的数量and判断是否为2的整数次幂的两种办法最全C系列题目!从0到管理系统一、实验目的:二、实验要求三、代码总结的全部内容,希望文章能够帮你解决C语言运算符与表达式——输出逆序数and二进制包含0和1的数量and判断是否为2的整数次幂的两种办法最全C系列题目!从0到管理系统一、实验目的:二、实验要求三、代码总结所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部