明解C语言 入门篇 第七章答案
练习7-1
#include <stdio.h> int main() {
int n;
printf("%d\t%d\t%d\n", sizeof ,sizeof(unsigned)-,sizeof n+ ); //此行显示结果为 4 3 6 因为1的字节就是为4,而-1的字节也是4再减去-1所以显示为3,最后是n+2为6
printf("%d\t%d\t%d\n", sizeof +, sizeof(double) - , sizeof(n + ));//此行显示结果是 4 7 4 因为1的字节是4,double的字节长是8 -1是7,把(n+2)括起来之后使其为一个值,所以是4;
printf("%d\t%d\t%d\n", sizeof - , sizeof((double)-), sizeof (n + 2.0) );//此行结果是 4 8 8 因为1的字节是4,把double-1都括起来之后,就是double类型字节为8,同理最后也是8
}
练习7-2
#include <stdio.h>
#include<math.h>
int main() {
unsigned int number;
int x;
int i;
int number1; printf("请输入初始值:" );
scanf("%d", &number);
number1 = number;
printf("左移多少位:");
scanf("%d", &x);
number <<= x;
printf("左移后的值:%d",number);
putchar('\n');
for (i = ; i < x; i++) {
number1 *= ;
}
printf("乘以2的指数幂的值:%d", number1); }
#include <stdio.h>
#include<math.h>
int main() {
unsigned int number;
int x;
int i;
int number1; printf("请输入初始值:" );
scanf("%d", &number);
number1 = number;
printf("右移多少位:");
scanf("%d", &x);
number >>= x;
printf("右移后的值:%d",number);
putchar('\n');
for (i = ; i < x; i++) {
number1 /= ;
}
printf("除以2的指数幂的值:%d", number1); }
练习7-3
#include <stdio.h>
#include<math.h>
unsigned rrotate(unsigned x,int n){
x >>=n;
return x;
} int main() {
unsigned int number;
int x;
printf("请输入初始值:");
scanf("%d", &number);
printf("右移多少位:");
scanf("%d", &x); printf("右移后的值:%d", rrotate(number, x)); }
#include <stdio.h>
#include<math.h>
unsigned lrotate(unsigned x,int n){
x <<=n;
return x;
} int main() {
unsigned int number;
int x;
printf("请输入初始值:");
scanf("%d", &number);
printf("左移多少位:");
scanf("%d", &x); printf("左移后的值:%d", lrotate(number, x)); }
练习7-4
unsigned set(unsigned x, int pos)
{
unsigned mask = (1u << pos);
x = (mask | x);
return x;
}
//将第pos位设置为1
unsigned reset(unsigned x, int pos) {
unsigned mask = 1u; if (x & (1u<<pos))
return (x ^ (1u << pos));
else
return x; }
//将第pos为设置为0
unsigned inverse(unsigned x, int pos) {
unsigned mask = 1u << pos;
x = (x ^ mask);
return x; }
//将第pos位取反
练习7-5
unsigned set_n(unsigned x, int pos, int n) { int i;
for (i = ; i < n - pos; i++) {
unsigned mask = (1u << (pos + i));
x = (mask | x);
}
return x;
}
//一个位段都设置为1
unsigned reset_n(unsigned x, int pos, int n) {
unsigned mask = 1u;
int i;
for (i = ; i < n-pos; i++) {
if (x & (1u<<pos+i))
x= (x ^ (1u << pos+i));
}
return x; }
//一个位段都设置为0
unsigned inverse_n(unsigned x, int pos, int n) {
int i;
unsigned mask = 1u;
for (i = ; i < n - pos; i++) {
x = (x ^ (mask << pos + i));
}
return x;
}
//一个位段都取反
练习7-6
#include <stdio.h>
// 显示unsigned类型的值最大值,同时验证最大值+1是0.
int main() {
unsigned a = ;
while (++a > );
printf("%u", a - );
putchar('\n');
printf("%u", a);
}
练习7-7
#include <stdio.h> int main() {
float a;
double b;
long double c; scanf("%f",&a);
printf("a=%f", a);
putchar('\n');
scanf("%lf", &b);
printf("b=%f", b);
putchar('\n');
scanf("%lf", &c);
printf("c=%f", c); }
练习7-8
#include <stdio.h> int main() {
float a;
double b;
long double c;
printf("%d,%d,%d",sizeof(a), sizeof(b), sizeof(c)); }
练习7-9
#include <stdio.h>
#include<math.h> int main() {
double m;
double x;
printf("正方形的面积是:");
scanf("%lf", &m);
printf("边长是:%.2f", sqrt(m)); }
练习7-10
#include <stdio.h>
int main(void)
{
float x;
int i;
float m = 0.0; for (i = ; i <= ; i++) {
x = i / 100.0;
printf("x=%f x=%f\n",m,x);
m += 0.01;
} return ;
}
练习7-11
#include <stdio.h>
int main(void)
{
float x;
int i;
float m = 0.0;
float sum1 = ;
float sum2 = ; for (i = ; i <= ; i++) {
x = i / 100.0;
printf("x=%f x=%f\n",m,x);
m += 0.01;
sum1 += m;
sum2 += x;
}
printf("%f,%f", sum1, sum2);
return ;
}
明解C语言 入门篇 第七章答案的更多相关文章
- 明解C语言 入门篇 第五章答案
练习5-1 /* 依次把1.2.3.4.5 赋值给数组的每个元素并显示(使用for语句) */ #include <stdio.h> int main(void) { int i; ]; ...
- 明解C语言 入门篇 第四章答案
练习4-1 #include <stdio.h> int main(void) { int no; int x; do{ printf("请输入一个整数:"); sca ...
- 明解C语言 入门篇 第三章答案
练习3-1 #include <stdio.h> int main() { int x; int y; puts("请输入两个整数."); printf("整 ...
- 明解C语言 入门篇 第十三章答案
练习13-1 /* 打开与关闭文件 */ #include <stdio.h> int main(void) { ]; FILE* fp; printf("请输入你要打开的文件& ...
- 明解C语言 入门篇 第十一章答案
练习11-1 /* 用指针实现的字符串的改写 */ #include <stdio.h> int main(void) { "; printf("p = \" ...
- 明解C语言 入门篇 第六章答案
练习6-1 /* 求两个整数中的最小值 */ #include <stdio.h> /*--- 返回三个整数中的最小值 ---*/ int min2(int a, int b) { int ...
- 明解C语言 中级篇 第四章答案
练习4-1 /* 珠玑妙算 */ #include <time.h> #include <ctype.h> #include <stdio.h> #include ...
- 明解C语言 中级篇 第三章答案
练习3-1 /* 猜拳游戏(其四:分割函数/显示成绩)*/ #include <time.h> #include <stdio.h> #include <stdlib.h ...
- 明解C语言 入门篇 第二章答案
练习2-1 #include <stdio.h> int main() { int x; int y; int percent; puts("请输入两个整数"); pr ...
随机推荐
- LinuxShell——正则表达式
LinuxShell——正则表达式 摘要:本文主要学习了Shell中的正则表达式. 简介 含义 正则表达式,也称作正规表示法,是用于描述字符排列和匹配模式的一种语法规则,它主要用于字符串的模式分割.匹 ...
- 【maven】搭建maven私服--基于CentOS7.6+docker
一.docker环境 Docker version 19.03.5, build 633a0ea 二.安装并启动 Maven 私服的工具: Sonatype Nexus 1.搜索 2.下载镜像 doc ...
- FCC-学习笔记 Spinal Tap Case
FCC-学习笔记 Spinal Tap Case 1>最近在学习和练习FCC的题目.这个真的比较的好,推荐给大家. 2>中文版的地址:https://www.freecodecamp. ...
- maven 学习---POM机制
POM 代表工程对象模型.它是使用 Maven 工作时的基本组建,是一个 xml 文件.它被放在工程根目录下,文件命名为 pom.xml. POM 包含了关于工程和各种配置细节的信息,Maven 使用 ...
- 详解JavaScript的任务、微任务、队列以及代码执行顺序
摘要: 理解JS的执行顺序. 作者:前端小智 原文:详解JavaScript的任务.微任务.队列以及代码执行顺序 思考下面 JavaScript 代码: console.log("scrip ...
- 9. [mmc subsystem] host(第三章)——sdhci-pltfm说明
一.sdhci-pltfm说明 sdhci-pltfm并不是实际某个host的driver. sdhci-pltfm是指在sdhci core的基础上,提供了统一对sdhci_host的必要属性进行解 ...
- springcloud学习之路: (二) springcloud打jar包并批量运行
springcloud中内置了tomcat所以打包的时候是直接把tomcat打入jar包 之后就可以做到, 单独的服务, 独立的jar包, 独立运行的效果了. 一.打jar包 1. 在pom.xml文 ...
- 201871010117-石欣钰《面向对象程序设计(java)》第十三周学习总结
项目 内容 这个作业属于哪个课程 https://www.cnblogs.com/nwnu-daizh/ 这个作业的要求在哪里 https://www.cnblogs.com/nwnu-daizh/p ...
- Mysql基础知识--视图
一.视图的操作 为了提高SQL语句的复用性和操作表的安全性,,MySQL数据库管理系统5提供了视图特性. 视图:本质上是一种虚拟表,其内容与真实的表相似,包含一系列带有名称的行和列数据.但是视图并不在 ...
- 测试脚本中的等待方法 alter对话框处理
测试脚本中的等待方法 等待是为了使脚本执行更加稳定 1. 常用的休眠方式:time模块的sleep方法 2. selenium模块中的等待方法 等待查找5s 查找不到就报错 对登录测试py进行修改 a ...