Day3作业3.31——4.3

1.将data中的[7:4]位置置1,保持其它位置不变,[7:4]表示4-7位。说明:最右位为第0位。

#include <stdio.h>
int main(int argc, const char *argv[])
{
        unsigned char data=0x1;
        data = date | 0xf0;
        printf("%#x\n",data);
        return 0;
}

 

2.给定一个整形变量a
1)设置a的bit位3为1

#include <stdio.h>
int main(int argc, const char *argv[])
{
        unsigned int data=0x1;
        data = data | 0x8;
        printf("%#x\n",data);
        return 0;
}

2)将a的bit3置0

#include <stdio.h>
int main(int argc, const char *argv[])
{
        unsigned int data=0x1;
        data = data & 0xf7;
        printf("%#x\n",data);
        return 0;
}

3.执行语句k=11>>1后,变量k的当前值
答:k=5

#include <stdio.h>
int main(int argc, const char *argv[])
{
        int k=11;
        printf("%d\n",(k>>1));
        return 0;
}

4.输入三个数,按照从小到大的顺序进行输出

#include <stdio.h>
int main(int argc, const char *argv[])
{
        int num1,num2,num3;
        int maxnum,midnum,minnum;
        printf("请输入三个整数>>>>>\n");
        scanf("%d %d %d",&num1,&num2,&num3);
        maxnum = (num1>num2?num1:num2)>num3?(num1>num2?num1:num2):num3;
        midnum = num1>num2?(num2>num3?num2:(num3>num1?num1:num3)):(num1>num3?num1:(num2>num3?num3:num2));
        minnum = (num1<num2?num1:num2)<num3?(num1<num2?num1:num2):num3;
        printf("最大的数是%d,中间的数是%d,最小的数是%d\n",maxnum,midnum,minnum);
        return 0;
}
//代码段
/********************************/
请输入三个整数>>>>>
6
7
5
最大的数是7,中间的数是6,最小的数是5
/*******************************/

5、思考如何交换俩个数的值

#include <stdio.h>
int main(int argc, const char *argv[])
{
        int num1,num2,t;
        t=num1;
        num1=num2;
        num2=t;
        printf("%d %d\n",num1,num2);
        return 0;
}

6、scanf吸收垃圾字符的代码重新写一遍,练习题4重新做一遍

//第一种:在每个垃圾字符可能出现的位置填一个空格
scanf("%c %c %c %c",&a,&b,&c,&d);
 
//第二种:利用抑制字符吸收垃圾字符
scanf("%c%*c%c%*c%c%*c%c%*c",&a,&b,&c,&d);
 
//第三种:在%c前面加空格。作用是吸收前面所有垃圾字符
scanf(" %c",&a);
 
//第四种:利用getchar()吸收垃圾字符
scanf("%c",&a);
getchar();

有一个变量 unsigned char data:0x1

请写出将data 第6位置1的表达式:

data | (0x1<<6)

请写出将 data第6位清0的表达式:

data | ~(0x1<<6)

请写出将 data第6位取反的表达式:

data ^ (0x1<<6)

7、整理思维导图
在这里插入图片描述
在这里插入图片描述
8、预习if…else语句
if…else的语法结构

如果表达式为真,就执行下面的语句;如果表达式为假,就不执行下面的语句。

  1. if(表达式);

     语句1;
    

2)if(表达式)

    语句1;

else

    语句2;

3)if(表达式1)

    语句1;

else if(表达式2)

    语句2;

else

    语句3;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值