重学C语言---03数据和C
1、数据的必要性。数据使我们生活中不可缺少的东西,程序也是如次,离不开数据。将文字、图片和单词等输入到算计,将其展现出来或者做一系列操作等。
2、实例程序。
- /*rhodium.c--用金属铑衡量体重*/
- #include <stdio.h>
- int main(void)
- {
- float weight; /*用户体重*/
- float value; /*相等重量的金属铑的价值*/
- printf("Are you worth your weight in rhodium?\n");
- printf("Let's check it out.\n");
- printf("Please enter you weight in pounds:");
- /*从用户获取输入*/
- scanf("%f",&weight);
- /*假设铑每盎司779美元*/
- /*14.5833把常衡制的英镑转化为金属制的盎司*/
- value = 770*weight*14.5833;
- printf("Your weight in rhodium is worth $%.2f.\n",value);
- printf("Your are easily worth that! Ifrhodium prices dorp,\n");
- printf("eat more to maintain your value!\n");
- return 0;
- }
此程序中的新元素:
代码中使用了一种新的变量声明,一个浮点变量(float)类型。,以便处理范围更大的数据,float类型可以处理带有小数点的数字。
- 打印这种新的变量使用了新的说明符---%f。对%f说明符使用了.2修饰词可以控制输出格式,使浮点数显示到小数点后2位
- 使用scanf()函数为程序提供键盘输入。%f指示scanf()从键盘读取一个浮点数,&weight指定将输入赋值于名为weight变量中。
- 本程序最突出的是它的交互性。如图
3、常量与常量数据
在程序使用之前预先设定的并在整个运行过程中没有变化的数据,称为常量。
4、数据:数据类型关键字
除了常量与变量有区别外,各种数据类型间也有不同。
这些类型按其在计算机的存储方式被划分为两个系列,即整数类型和浮点数类型。
注:位、字节和字
术语位字节和字用于描述计算机数据单位或计算机存储单位。这里主要指存储单位
位:最小的存储单位。可以容纳两个值(0或1)之一(或者被称该位位开或闭)。不能再在一个位中存储更多的信息,但计算机中包含及其多的位。它是计算机存储的基本单位。
字节:常用的计算机存储单位。几乎对于所有的机器。1个字节均为8位。由于每个位或者是0或者是1,所以一个8位的字节包含256种可能的0和1组合。
字:对于一种给定的计算机设计,是自然的存储单位。对于8位微机,一个字正好有8位。
5整数
整数(integer)就是没有小数部分的数。整数以二进制数存储,如图
6、浮点数
浮点数(floating-point)与数学中的实数概念相对应,包含了整数之间的那些数。如,2.75,1.16E7等它的存储方案与整数的存储方案不同。浮点数表示法将一个数分为小数部分和指数部分并分别存储。如图
两种类型在应用中的区别
- 整数没有小数部分;浮点数可以有小数部分
- 浮点数可以表示比整数更大范围的数
- 对于一些算术运算(例如两个很大的数相减),使用浮点数会损失更多的精度
- 因为在任何区间内都存在无穷多个数,所有计算机浮点数不能表示区域内所有的值,浮点数往往取实际值的近似。
- 浮点数运算比较慢
7、C数据类型
(1)、int 类型---有符号整数,可以是正、负的或者是0;取值范围以来计算机系统。
声明int 类型的方法
a、int num;int big;
b、int num,big;
初始化变量
int num =1;
int big = 100;
声明语句为变量创建、标定存储空间并未其设定初始值,如图
打印int值--可以使用printf()函数打印int类型的值,%d指定在一行中的什么位置打印整数。%d称为格式说明符,指示printf()应使用什么格式来显示一个值,格式串中的每个%d都必须对应于打印项目列表中的一个int值
8、使用字符:char类型
char类型用于存储字母和标点符号之类的字符,但技术上实现的char缺失整数类型,因为char实际存储的是整数而不是字符。
(1)、声明char类型变量
char response;
char itable,latan;
(2)、字符常量初始化
char grade= 'A';
或 char grade = 65;
(3)转义列表---有些符号不能打印出来,如?、\等
(4)打印字符
printf()函数使用%c说明符表示打印一个字符。字符变量被存储为1字节长的整数值,如果使用通常的%d说明符打印char变量,将得到一个整数
注意:关于其他如float,double等不一一赘述,内容大概相似,多用就好。
重学C语言---03数据和C的更多相关文章
- 重学C语言
重学C语言 #include <stdio.h> int main() { ; ; printf("I am %d year old.\n",age); printf( ...
- 重学C语言---01概述
1.什么是C语言 C语言是一种计算机程序设计语言,它既具有高级语言的特点,又具有汇编语言的特点.计算机语言是从第二次世界大战以后,经历了戏剧性的发展过程.从机器语言到汇编语言和高级语言.C语言是与硬件 ...
- 重学C语言---05运算符、表达式和语句
一.循环简介 实例程序 /*shoes1.c--把一双鞋的尺码变为英寸*/#include <stdio.h>#define ADJUST 7.64#define SCALE 0.325 ...
- 重学C语言---04字符串和格式化输入/输出
1.程序示例 //talkback.c一个能为你提供一些信息的对话框 #include <stdio.h> #include <string.h> //提供strlen函数原型 ...
- 重学C语言---02C语言概述
1.第一个C语言实例 #include<stdio.h> int main(void) /*一个简单的C程序*/ { int num; /*定义一个num的变量*/ num = ; /*为 ...
- 重学C语言之结构体
概念 结构体是一种构造类型,由若干个成员组成,成员可以是基本数据类型,或是另一个结构体 声明结构体 struct 结构体名 { 成员列表 }; 结构体名表示结构的类型名. 声明一个结构体表示创建一种新 ...
- 重学C语言 -- printf,scanf
printf(); 用来显示格式串的内容 注意: 参数不可以换行,否则会出一个警告. 格式串中占位符比表达式数量多 会显示一个无意义值 格式串中占位符比表 ...
- 重学js之JavaScript 面向对象的程序设计(创建对象)
注意: 本文章为 <重学js之JavaScript高级程序设计>系列第五章[JavaScript引用类型]. 关于<重学js之JavaScript高级程序设计>是重新回顾js基 ...
- 重学 Java 设计模式:实战外观模式「基于SpringBoot开发门面模式中间件,统一控制接口白名单场景」
作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.前言 你感受到的容易,一定有人为你承担不容易 这句话更像是描述生活的,许许多多的磕磕绊绊总 ...
随机推荐
- 修改linux的ssh默认端口号22的方法
一.修改配置文件 vi /etc/ssh/sshd_config 找到#Port 22 修改为自己要使用的端口号:Port 26000 然后 :x 退出保存 二.重启ssh服务 /etc/init. ...
- 【详解】JNI(Java Native Interface)(一)
前言: 一提到JNI,多数编程者会下意识地感受到一种无法言喻的恐惧.它给人的第一感觉就是"难",因为它不是单纯地在JVM环境内操作Java代码,而是跳出虚拟机与其他编程语言进行交互 ...
- golang内置数据类型作为函数参数
先上结论 golang的所有内置类型作为函数参数传递都是传值的方式(没有传递引用一说),需要注意的是:数组.slice和map作为函数参数时也是传值,但是如果对结构内元素进行的修改,修改的是原数据.如 ...
- SpringMVC之REST
REST: 即 Representational State Transfer.(资源)表现层状态转化.是目前最流行的一种互联网软件架构.它结构清晰.符合标准.易于理解.扩展方便,所以正得到越来越多网 ...
- 【Leetcode】338. Bit位计数
每次刷leetcode都有一种发现新大陆的感觉. 题目链接:https://leetcode-cn.com/problems/counting-bits/description/ 给定一个非负整数 n ...
- 25. k个一组翻转链表
题目描述 给出一个链表,每 k 个节点一组进行翻转,并返回翻转后的链表. k 是一个正整数,它的值小于或等于链表的长度.如果节点总数不是 k 的整数倍,那么将最后剩余节点保持原有顺序. 示例 : 给定 ...
- [NOI 2016]优秀的拆分
Description 题库链接 给你一个长度为 \(n\) 的只含小写字母的字符串 \(S\) ,计算其子串有多少优秀的拆分. 如果一个字符串能被表示成 \(AABB\) 的形式,其中 \(A,B\ ...
- spring cloud zuul在使用中遇到的坑 : 转发时自动去掉prefix
在使用zuul的时候遇到的坑总结一下: 逐渐增加更新以后遇到的 1.在路由的时候莫名其妙的把serviceId给去掉,导致404.比如请求:/serviceId/search/book,zuul会把s ...
- .18-浅析webpack源码之compile流程-rules参数处理(1)
Tips:写到这里,需要对当初的规则进行修改.在必要的地方,会在webpack.config.js中设置特殊的参数来跑源码,例如本例会使用module:{rules:[...]}来测试,基本上测试参数 ...
- AutoMapper之嵌套映射
8.嵌套映射 嵌套映射就是一个类中包含有另一个类,这种情况下我们应该如何映射呢? /// <summary> /// 源对象 /// </summary> public cla ...