【小甲鱼C语言】课后笔记第一章第四节——数据类型

news2024/11/23 15:33:48

目录

1、数据类型

2、short 和 long

3. sizeof 运算符

4. signed 和 unsigned

5、课后习题(编程题)


1、数据类型

在 C 语言里,所谓的数据类型就是坑的大小。我们说变量就是在内存里边挖一个坑,然后给这个坑命名。那么数据类型指的就是这个坑的尺寸。C 语言允许使用的类型如下:

 

2、short 和 long

我们可以为这些基本数据类型加上一些限定符,比如表示长度的 short 和 long。比如 int 经过限定符修饰之后,可以是 short int,long int,还可以是 long long int(这个是 C99 新增加的)。

 这里需要说的是,这里 C 语言并没有限制 int 的坑具体要挖多大,short int 或 long int 的坑又要挖多大。标准只是要求:short int <= int <= long int <= long long int。

3. sizeof 运算符

sizeof 用于获得数据类型或表达式的长度,它有三种使用方式:

  • sizeof(type_name); //sizeof(类型);

  • sizeof(object); //sizeof(对象);

  • sizeof object; //sizeof 对象;

4. signed 和 unsigned

还有一对类型限定符是 signed 和 unsigned,它们用于限定 char 类型和任何整型变量的取值范围。

signed 表示该变量是带符号位的,而 unsigned 表示该变量是不带符号位的。带符号位的变量可以表示负数,而不带符号位的变量只能表示正数,它的存储空间也就相应扩大一倍。默认所有的整型变量都是 signed 的,也就是带符号位的。

因此加上 signed 和 unsigned 限定符,四种整型就变成了八种:

  • [signed] short [int]

  • unsigned short [int]

  • [signed] int

  • unsigned int

  • [signed] long [int]

  • unsigned long [int]

  • [signed] long long [int]

  • unsigned long long [int]

5、课后习题(编程题)

第一题

求 1^2 + 2^3 + 3^4 + 4^5 + 5^6 的值?

代码

#include <stdio.h>
#include <math.h>

int main()
{
        int result;

        result = pow(1,2)+pow(2,3)+pow(3,4)+pow(4,5)+pow(5,6);

        printf("结果是:%d\n",result);

        return 0;
}

结果

 

第二题

相传国际象棋是古印度舍罕王的宰相达依尔发明的。舍罕王十分喜爱象棋,决定让宰相自己选择何种赏赐。这位聪明的宰相指着 8 * 8 共 64 格的象棋说:“陛下,请您赏给我一些麦子吧。就在棋盘的第 1 格放 1 粒,第 2 格放 2 粒,第三格放 4 粒,以后每一格都比前一格增加一倍,依此放完棋盘 64 格,我就感激不尽了。”。舍罕王听了达依尔这个“小小”的要求,想都没想就满口答应下来。

结果在给达依尔麦子时舍罕惊奇地发现要给的麦子比自己想象的要多得多,于是他进行了计算,结果令他大惊失色。请问,舍罕王要兑现他的许诺共要多少粒麦子赏赐他的宰相?如果每25000粒麦子重1kg,那么舍罕王应该给予达依尔多少公斤麦子?

代码

#include <stdio.h>
#include <math.h>

int main()
{
        int i;
        unsigned long long int temp;
        unsigned long long int weight;
        unsigned long long int sum = 0;

        for(i=0; i<64; i++)
        {
                temp = pow(2,i);
                sum = sum + temp;
        }

        weight = sum /25000;

        printf("舍罕王应该给予达依尔%llu粒麦子!\n",sum);
        printf("如果每25000粒麦子为1kg,那么应该给%llu公斤麦子!\n",weight);

        return 0;
}

结果

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/87241.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

U盘格式化后能恢复数据吗?U盘删除的数据还能恢复吗

U盘格式化后能恢复数据吗&#xff1f;通常情况下&#xff0c;我们U盘里的数据丢失后&#xff0c;它们并没有立即消失&#xff0c;它们只是被系统做了一个标记&#xff0c;将数据存储的位置标记成可写入的状态&#xff0c;只有当新数据写入的时候&#xff0c;这个存储位置才会被…

USB转UART的桥接控制器 国产DPU02能不能软硬件兼容替换CP2102?

DPU02是一个高度集成的USB转UART的桥接控制器&#xff0c;可将RS-232设计更新为USB设计&#xff0c;并简化PCB组件空间。 该DPU02包括了一个USB 2.0全速功能控制器、USB收发器、振荡器、EEPROM和带有完整调制解调控制信号的异步串行数据总线&#xff08;UART&#xff09;控制器…

自动驾驶车辆安全保证机制-Mobileye的RSS模型

自动驾驶汽车(AV)将如何与人类司机安全地共享道路? 成功实现自动驾驶未来的最大威胁之一是对自动驾驶汽车安全驾驶的含义缺乏共识。只有当行业、政府和公众有一个共同的方式来理解和评估自动驾驶汽车(AV)的驾驶技能和安全,他们才会被信任,可以安全地与人类驾驶的车辆一起…

Go1.19.3 数组与切片原理简析

数组 Go语言数组&#xff0c;声明有如下几种方式&#xff1a; var arr1 [10]intarr1[0] 10000var arr2 [10]int{0:0,2:2}var arr3 [...]int{1,2,3}其中arr1只是进行声明&#xff0c;数组在声明时&#xff0c;内存空间已经被开辟过&#xff0c;所以可以赋值。arr2是声明的同…

javafx 编写管理页面 增删改查

注册界面&#xff1a;用户通过输入页面信息&#xff0c;点击注册&#xff0c;将数据存入数据库中。 <Tab text"用户注册"> <content> <AnchorPane minHeight"0.0" minWidth"0.0" prefHeight"761.0" prefWidth"819…

Vue的四个常用选项

文章目录前言一、四大选项简介二、filters&#xff08;过滤器&#xff09;三、computed&#xff08;计算属性&#xff09;四、methods&#xff08;方法&#xff09;五、watch&#xff08;观察&#xff09;总结:前言 本文讲解了vue.js中的四个常用选项&#xff0c;4个参数选项&…

数据结构——归并排序

坚持看完&#xff0c;结尾有思维导图总结 这里写目录标题归并排序的思路归并算法的图解具体程序对性质的分析归并排序的非递归版本总结归并排序的思路 首先第一个问题是&#xff0c;什么是归并排序&#xff1f; 官方的说法: 归并排序&#xff08;MERGE-SORT&#xff09;是建立…

pikachu靶场-7 不安全的文件下载和上传

不安全的文件下载和上传 不安全的文件下载 文件下载&#xff08;unsafedownload&#xff09;漏洞概述 很多网站都会提供文件下载功能&#xff0c;即用户可以通过点击下载链接&#xff0c;下载到链接所对应的文件。 但是&#xff0c;如果文件下载功能设计不当&#xff0c;则…

基于51单片机的数字频率计设计

仿真原理图&#xff1a; 程序运行图&#xff1a; 部分程序&#xff1a; #define LED_GLOBAL 1 #include "led.h" /******************************************************************************************* *函数名称&#xff1a;delay_us(uint us) *函数…

15.JavaScript 02

文章目录一、DOM简单学习&#xff1a;为了满足案例要求1、DOM知识点简单学习2、事件简单学习3、案例1&#xff1a;电灯开关二、BOM1、概念2、组成3、Window&#xff1a;窗口对象1. Window窗口对象知识点2. 案例2&#xff1a;轮播图4、Location&#xff1a;地址栏对象1. Locatio…

手写Spring5(资源加载Spring.xml解析和注册Bean对象)

文章目录目标设计思路项目结构一、实现1、资源加载接口定义和实现获取ClassPath下的文件信息获取指定文件路径的方式读取文件信息获取HTTP的方式读取云服务的文件2、包装资源加载器定义和实现-策略模式的体现包装资源加载器实现3、Bean定义读取接口4、Bean定义抽象类实现5、解析…

[激光原理与应用-53]:《激光焊接质量实时监测系统研究》-4-激光焊接系统软件设计

目录 前言&#xff1a; 4.1 操作系统和开发平台 4.1.1 Windows2000 操作系统概述 4.1.2 虚拟仪器开发平台软件 LabWindows/CVI 4.2 总体软件设计 4.2.1 数据采集程序 4.2.2 软件实现的功能 4.2.2.1 主机软件的数据采集 4.2.2.2 主机软件的数据分析&#xff08;核心&am…

暗棕红色粉末ICG-COOH, ICG Carboxlaic acid,181934-09-8,ICG和PEG链接可在体内长循环

英文名&#xff1a;ICG-COOH ICG Carboxlaic acid CAS No:181934-09-8 外观&#xff1a;暗棕红色粉末 溶解度&#xff1a;在水或甲醇中溶解 纯度&#xff1a;90% 结构式&#xff1a; 西安凯新近红外荧光染料Near IRDyes激发和发射波长和颜色图 ICG NHS ester的NHS可以和蛋白…

八、闭包高级、对象、构造函数、实例化

闭包高级、对象、构造函数、实例化 闭包高级 函数被定义时生成[[scope]]->生成scope chain -> scope chain中存着上级的环境。 函数被执行的前一刻&#xff08;预编译过程&#xff09;&#xff0c;生成自己的AO&#xff0c;排到scope chain的最顶端。 函数执行完毕的…

基于天鹰算法优化的lssvm回归预测-附代码

基于天鹰算法优化的lssvm回归预测 - 附代码 文章目录基于天鹰算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于天鹰算法优化的LSSVM4.测试结果5.Matlab代码摘要&#xff1a;为了提高最小二乘支持向量机&#xff08;lssvm&#xff09;的回归预测准确率&#xff0c;对…

DFA的最小化

一、实验目的 1&#xff0e;熟练掌握DFA与NFA的定义与有关概念。 2&#xff0e;理解并掌握确定的有穷自动机的最小化等算法。 二、实验要求 输入&#xff1a;DFA 输出&#xff1a;最小化的DFA 三、实验过程 1&#xff0e;化简DFA关键在于把它的状态集分成一些两两互不相交…

一、ArrayList源码解读

ArrayList源码 一、前言 ArrayList在日常的开发中使用频率非常高&#xff0c;但是JDK是如何去设计ArrayList的&#xff0c;这就需要我们好好去了解底层实现原理&#xff0c;这样使用起来才能做到心中有数&#xff1b;当然&#xff0c;还能应付面试。本篇文章会围绕ArrayList的…

王道操作系统网课笔记合集

介绍 操作系统是什么&#xff1f; 计算机结构大概分为四层&#xff1a; 用户应用程序操作系统硬件 操作系统是一类系统软件&#xff0c;调度硬件资源&#xff0c;合理分配管理软件&#xff08;因此操作系统又被称作资源管理器&#xff08;resource manager&#xff09;&…

简洁而优美的结构 - 并查集 | 一文吃透 “带权并查集” 不同应用场景 | “手撕” 蓝桥杯A组J题 - 推导部分和

&#x1f49b;前情提要&#x1f49b; 本章节是每日一算法的并查集&带权并查集的相关知识~ 接下来我们即将进入一个全新的空间&#xff0c;对代码有一个全新的视角~ 以下的内容一定会让你对数据结构与算法有一个颠覆性的认识哦&#xff01;&#xff01;&#xff01; ❗以…

【Unity 3D 从入门到实践】Unity 3D 预制体

目录 一&#xff0c;预制体介绍 二&#xff0c;创建预制体 三&#xff0c;实例化预制体 一&#xff0c;预制体介绍 预制体是 Unity 3D 提供的保存游戏对象组件和属性的方法&#xff0c;通过预制体可以快速的实例化挂载不同组件的游戏对象&#xff0c;从而减少开发难度&…