当前位置: 首页 > news >正文

程序设计与c语言笔记(一)

 ✅作者简介:

            全栈领域新星创作者,阿里云专家博主,退役复学在校学生

💕推荐学习专栏:

                             Spring系列

                             Spring Boot 系列

                              秋招面试题

                             再次渡入繁世,人潮汹涌,眼里茫然,信仰永恒,皆为华夏   

目录

程序设计与c语言

一、算法

程序的执行

解释语言vs编译语言

c语言用在哪里?

 四则运算

二、计算

2.1变量

算找零

如何输入

变量

变量定义

变量的名字

赋值和初始化

赋值

初始化

变量初始化

读整数

表达式

变量类型

常量

const

tips

浮点数

double

数据类型

整数

程序设计与c语言

一、算法

1.我们要让计算机做计算,就需要像这样找出计算的步骤,然后用编程语言写下来

2.计算机做的所有事情都叫做计算

程序的执行

1.解释:借助一个程序,那个程序能试图理解你的程序,然后按照你的要求执行

2.编译:借助一个程序,就像一个翻译,把你的程序翻译成计算机真正能懂的语言-机器语言-写的程序,然后,这个机器语言写的程序就能够直接执行了

解释语言vs编译语言

1.语言本来没有编译/解释之分

2.常用的执行方式不同而已

3.解释性语言有特殊的计算能力

4.编译型语言有确定的运算性能

c语言用在哪里?

1.操作系统,嵌入式系统,驱动程序,底层驱动,图形引擎、图像处理、声音效果

2.开发效率>>学习乐趣 开发效率>>开发乐趣 日常应用很少直接用c语言编写

3.学习c的过程主要是写练习代码

 四则运算

四则运算

c符号

意义

+

+

-

-

×

*

÷

/

%

取余

()

()

括号

%表示取两个数相除以后的余数

二、计算

2.1变量

算找零

如何能在程序运行时输入那个数字,然后计算输出结果?

需要:1.有地方放输入的数字-printf(输出),能够提示哪里输入数字

2.有办法输入数字-scanf(输入),提供输入数字的通道

3.输入的数字能参与计算

如何输入

输入也在终端窗口中

输入就是以行为单位进行的,行的结束标志就是你按下回车键。在你按下回车之前,你的程序是不会读到任何东西的

变量

int price = 0;

这一行定义了一个变量。变量的名字是price,类型是int,初始值是0

变量是一个保存数据的地方,当我们需要在程序里保存数据时,比如上面的例子中要记录用户输入的价格,就需要一个变量来保存它。用一个变量保存了数据,它才能参加到后面的计算中,比如计算找零

变量定义

变量定义的一边形式:<类型名称><变量名称>

int price;

int amount;

int price,amount;

变量的名字

1.变量需要一个名字,变量的名字是一种"标识符",意思是它是用来识别这个和那个的不同的名字

2.标识符有标识符的构造规则。基本的原则是:标识符只能由字母、数字和下划线组成,数字不可以出现在第一个位置上,c语言的关键字(有的地方叫他们保留字),不可以用作标识符

赋值和初始化

int price = 0;

这一行,定义了一个变量。变量的名字是price,类型是int,初始值是0

price = 0是一个式子,这里的"="是一个赋值运算符,表示将"="右边的值赋给左边的变量

赋值

和数学不同,a=b在数学中表示关系,即a和b的值是一样的;而在程序设计中,a=b表示要求计算机做一个动作:将b的值赋给a。关系是静态的,而动作是动态的。在数学中,a=b和b=a是等价的,而在程序设计中,两者的意思是完全相反的

初始化

当赋值发生在定义变量的时候,就像给变量price=0那样,就是变量的初始化。虽然c语言并没有强制要求所有的变量都在定义的地方做初始化,但是所有的变量在第一次被使用(出现在赋值运算符的右边)之前应该被赋值一次

问:如果没有初始化?答:变量会出现一个随机数,可能很大也可能很小不固定但一定不会是你想要的那个数

变量初始化

<类型名称><变量名称>=<初始值>;

int price = 0;

int amount = 100;

组合变量定义的时候,也可以在这个定义中单独给单个变量赋初值,如:int price = 0,amount = 0;

读整数

scanf("%d",&price);

要求scanf这个函数读入下一个整数,读到的结果赋值给变量price

小心price前面的&

表达式

“=”是赋值运算符,有运算符的式子就叫做表达式

price = 0;

change = 100-price;

变量类型

int price = 0;

这一行,定义了一个变量。变量的名字是price,类型是int,初始值是0.

C是一种有类型的语言,所有的变量在使用之前必须定义或者声明,所有的变量都必须具有确定的数据类型。数据类型表示在变量中可以存放什么样的数据,变量中只能存放指定类型的数据,程序运行过程中也不能改变变量的类型

c99可以在任何地方定义变量,ANSI C只能在代码开头的地方定义变量

常量

int change = 100 - price;

固定不变的数,是常数。直接写在程序里,我们称为直接量(literal)

更好的方式是定义一个常量

const int AMOUNT = 100;

const

const是一个修饰符,加在int的前面,用来给这个变量加上一个const(不变的)的属性。这个const的属性表示这个变量的值一旦初始化,就不能再修改了

int change = AMOUNT - price;

如果试图对常量做出修改,把他放在赋值运算符的左边,就会被编译器报错

tips

程序要求读入多个数字时,可以在一行输入,中间用空格分开,也可以在多行输入

在scanf的格式字符串中有几个%d,它就等待用户输入一个整数,当然,字符串后面也需要对应有那么多整数

两个整数运算的结果只能是整数

例如:10/3*3=9 10跟10.0在C中是完全不同的数

10.0是浮点数

浮点数

1.带小数点的数值,浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包括分数和无理数)的一种方式。另一种方式叫做定点数。人们借用浮点数这个词来表达所有带小数点的数。

2.当浮点数和整数放到一起运算时,C会将整数转换成浮点数,然后进行浮点数的运算

double

1.inch是定义为int类型的变量,如果把int换成double,我们就把它改成double类型的浮点数变量了。

2.double的意思是"双",它本来是"双精度浮点数"的第一个单词,人们用来表示浮点数类型。除了double,还有float(意思就是浮点)表示单精度浮点数

在输入的时候数据类型定义为:%lf

在输出的时候数据类型定义为:%f

数据类型

整数:int printf("%d",...) scanf("%d",...)

带小数点的数: double printf("%f") scanf("%lf",....)

整数

整数类型不能表达有小数部分的数,整数和整数的运算结果还是整数。计算机里会有纯粹的整数这种奇怪的东西,是因为整数的运算比较快,而且占地方也小。其实人们日常生活中大量做的还是纯粹整数的计算,所以整数的用处还是很大的。

 本期分享到此为止,关注博主不迷路,叶秋学长带你上高速~~

相关文章:

  • 【.Net实用方法总结】 整理并总结.NET 中的 System.IO.Pipelines(管道)
  • 深度学习10——卷积神经网络
  • Mybatis 实现原理
  • matplotlib入门
  • JavaScript设计模式——建造者模式
  • Roson的Qt之旅 #124 QNetworkConfigurationManager网络配置管理
  • 天池Python练习02-位运算
  • 国内主机整车EEA架构汇总
  • Java刷题面试系列习题(十三)
  • linux驱动35:工作队列
  • 句向量模型之SimCSE——Pytorch
  • 简单旅游景点HTML网页设计作品 DIV布局故宫介绍网页模板代码 DW家乡网站制作成品 web网页制作与实现
  • 图解redis(四)——高可用篇
  • LQ0048 交换瓶子【无标题】
  • 《SpringBoot篇》11.JPA常用注解只需一个表
  • (三)从jvm层面了解线程的启动和停止
  • 【译】React性能工程(下) -- 深入研究React性能调试
  • 10个最佳ES6特性 ES7与ES8的特性
  • 3.7、@ResponseBody 和 @RestController
  • Android框架之Volley
  • Babel配置的不完全指南
  • C++回声服务器_9-epoll边缘触发模式版本服务器
  • ES6核心特性
  • iOS 系统授权开发
  • js
  • LeetCode541. Reverse String II -- 按步长反转字符串
  • MQ框架的比较
  • Python爬虫--- 1.3 BS4库的解析器
  • Selenium实战教程系列(二)---元素定位
  • Vue2.0 实现互斥
  • Windows Containers 大冒险: 容器网络
  • 百度地图API标注+时间轴组件
  • 道格拉斯-普克 抽稀算法 附javascript实现
  • - 概述 - 《设计模式(极简c++版)》
  • 每个JavaScript开发人员应阅读的书【1】 - JavaScript: The Good Parts
  • 嵌入式文件系统
  • 如何使用 OAuth 2.0 将 LinkedIn 集成入 iOS 应用
  • 微信支付JSAPI,实测!终极方案
  • 学习笔记TF060:图像语音结合,看图说话
  • 延迟脚本的方式
  • 正则表达式
  • 看到一个关于网页设计的文章分享过来!大家看看!
  • ​直流电和交流电有什么区别为什么这个时候又要变成直流电呢?交流转换到直流(整流器)直流变交流(逆变器)​
  • #中的引用型是什么意识_Java中四种引用有什么区别以及应用场景
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Java实习生)每日10道面试题打卡——JavaWeb篇
  • (LeetCode C++)盛最多水的容器
  • (阿里巴巴 dubbo,有数据库,可执行 )dubbo zookeeper spring demo
  • (翻译)terry crowley: 写给程序员
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (轉貼) 蒼井そら挑戰筋肉擂台 (Misc)
  • (最优化理论与方法)第二章最优化所需基础知识-第三节:重要凸集举例
  • ***详解账号泄露:全球约1亿用户已泄露
  • .“空心村”成因分析及解决对策122344
  • .class文件转换.java_从一个class文件深入理解Java字节码结构