C语言简要(一)

总得让她开心吧

helloworld

#include <stdio.h>int main()
{printf("hello world!\n");return 0;
}

程序框架

#include <stdio.h>
int main
{return 0;
}

输出

printf("hello world!\n");

"'里面的内容叫做“字符串”,printf会把其中的内容元丰不动的输出

\n表示需要在输出的结果后面换一行

 做计算

printf("%d\n",23+43);

%d说明后面有一个整数要输出在这个位置上。

printf("23+43=%d\n",23+43);

%d是把后面的值填到这个地方去

输入

#include <stdio.h>int main()
{int price=0;printf("请输入金额(元)");scanf("%d",&price);int change = 100 - price;printf("找您%d元\n",change);return 0; 
}

int price=0;

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

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

 变量定义

变量定义的一般形式就是:

<类型名称><变量名称>;

int price;

int amount;

int price,amount;

变量名

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

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

赋值

a=b表示要求计算机做一个动作:将b的值赋给a。

关系是静态的,而动作是动态的。所以a=b和b=a是完全相反的

初始化

所有变量在定义的地方可以不做初始化,但是所有的变量在第一次被使用之前应该赋值一次 

变量初始化

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

int price=0;

int amount=100;

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

int price=0,amount=100;

 变量类型

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

 第二个变量

int chage=100-price;

定义了第二个变量change

并且做了计算

在C99中可以这样定义

 ANSI C

只能在代码开头的地方定义变量

 

读整数

scanf("%d",&price);

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

小心price前面的&

Scanf 

int main()
{
int a;
int b;
scanf("%d %d",&a,&b);
printf("%d %d\n",a,b);
return 0;
}

运行正常。

int main()
{
int a;
int b;
scanf("%d,%d",&a,&b);
printf("%d %d\n",a,b);
return 0;
}

也就是说scanf里的,你输入的时候也要输入

常量

int chage=100-price;

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

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

const int AMOUNT = 100;(C99写法)

const

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

int change =AMOUNT-price;

如果你试图对常量做修改,把它放在赋值运算符的坐标,就会背编译器发现,指出为一个错误。 

 try

让用户输入变量AMOUNT的值,而不是使用固定的初始值。

#include <stdio.h>int main()
{int price=0;int amount=0;printf("请输入金额(元)");scanf("%d",&price);printf("请输入原始(元)");scanf("%d",&amount);int change = amount - price;printf("找您%d元\n",change);return 0; 
}

浮点数

一个美国人告诉你他是5英尺7寸,他的身高应该是1米几?

(5+7/12)*0.3048=1.7018米

带小数点的数值。浮点这个词的本意就是指小数点是浮动的,是计算机内部表达非整数(包含分数和无理数)的一种方式。另一种方式叫做定点数,不过在C语言中你不会遇到定点数。人们借用浮点数这个词来表达所有带小数点的数。 

计算身高的程序 

#include <stdio.h>int main()
{
printf("请分别输入身高的英尺和英寸,"
"如输入\"5 7\"表示5英尺7英尺:");
int foot;
int inch;
scanf("%d %d",&foot,&inch);
printf("身高是%f。\n",((foot+inch/12)*0.3048)); 
return 0;
}

但是似乎不对

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

10/3*3=>?

10和10.0在C中是完全不同的数

10.0是浮点数

 

把前面的d改成f

改进

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

 double

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

double是双精度浮点数,float表示单精度浮点数

#include <stdio.h>int main()
{
printf("请分别输入身高的英尺和英寸,"
"如输入\"5 7\"表示5英尺7英尺:");
double foot;
double inch;
scanf("%lf %lf",&foot,&inch);
printf("身高是%f。\n",((foot+inch/12)*0.3048)); 
return 0;
}

整数

        int

        printf("%d",....)

        scanf("%d",.....)

带小数点的数

        double

        print("%f",......)

        print("%lf",......)

 表达式

一个表达式是一系列运算符和算子的组合,用来计算一个值

amount=x*(1+0.033)*(1+0.033)*(1+0.033);

total=57;

count=count+1;

value=(min/2)*lastValue;

 运算符

运算符是指运算的动作,比如加法运算符”+“,减法运算符”-“。

算子是指参与运算的值,这个值可能是常数,也可能是变量,还可能是一个方法的返回值。

 计算时间差

输入两个时间,每个时间分别输入小时和分钟的值,然后输出两个时间之间的差,也以几小时几分表示

#include <stdio.h>int main()
{
int hour1,minute1;
int hour2,minute2;
scanf("%d %d",&hour1,&minute1);
scanf("%d %d",&hour2,&minute2);
int t1=hour1*60+minute1;
int t2=hour2*60+minute2;
int t=t2-t1;
printf("差%d小时%d分",t/60,t%60);
return 0;
}

 

运算符优先级

写一个程序,输入两个整数,输出它们的平均值

int a,b;

scanf("%d %d",&a,&b);

double c=(a+b)/2.0;

print("%d和%d的平均值=%f\n",a,b,c);

 

赋值运算符

赋值也是运算,也有结果

a=6的结果是a被赋予的值,也就是6

a=b=6->a=(b=6)

  交换两个变量

int a=5;

int b=6;

 不能直接写

a=b;

b=a;

这样就会使最后的结果都变为b;

所以我们需要再引入一个变量t

int t;

t=a;

a=b;

b=t;

#include <stdio.h>int main()
{
int a=5;
int b=6;
int t;
t=a;
a=b;
b=t;
printf("a=%d,b=%d\n",a,b);
return 0;
}

 复合赋值

5个运算符形成符合运算

”+=“ “-=” “*=” “/=“ ”%=“

递增和递减

++ -- (+1 -1)

前面只能是变量

前缀后缀

++和--可以放前面

a++的值是a加1以前的值,而++a的值是加1以后的值,无论哪个,a自己的值都加了1.

下班下班

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于Springboot+Vue的Java项目-宠物商城网站系统开发实战(附演示视频+源码+LW)

大家好&#xff01;我是程序员一帆&#xff0c;感谢您阅读本文&#xff0c;欢迎一键三连哦。 &#x1f49e;当前专栏&#xff1a;Java毕业设计 精彩专栏推荐&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb;&#x1f447;&#x1f3fb; &#x1f380; Python毕业设计 &am…

AI图像生成-基本步骤

模型板块 1、新建采样器&#xff1a;新建节点-》采样器-》K采样器 2、拖动模型节点后放开&#xff0c;选择checkpoint加载器&#xff08;简易&#xff09;&#xff0c;模型新建成功 提示词板块 1、拖动正面条件节点后放开&#xff0c;选择CLIP文本编码器&#xff0c;模型新建…

43k Star!推荐一款功能强大的开源笔记软件!

程序员的公众号&#xff1a;源1024&#xff0c;获取更多资料&#xff0c;无加密无套路&#xff01; 最近整理了一份大厂面试资料《史上最全大厂面试题》&#xff0c;Springboot、微服务、算法、数据结构、Zookeeper、Mybatis、Dubbo、linux、Kafka、Elasticsearch、数据库等等 …

dubbo复习:(3) 服务超时时间配置

在dubbo admin中 可以进行类似如下配置 configVersion: v2.7 enabled: true configs:- side: consumeraddresses:- 0.0.0.0parameters:timeout: 55这样配置之后&#xff0c;当服务端响应超过55毫秒时&#xff0c;在服务消费者的控制台就会看到超时信息

【定制化】在Android平台实现自定义的程序启动页

特别说明&#xff1a;以下仅适用于Android平台。 实现原理 创建安卓端自定义的Activity禁用UnityPlayerActivity的启动Logo改用自定义Activity 示例效果 参考简单步骤或详细步骤都可实现。 自定义的启动动画&#xff0c;效果如下&#xff1a; 简单步骤 三步操作实现启动动画…

Jmeter+Grafana+Prometheus搭建压测监控平台

本文不介绍压测的规范与技术指标&#xff0c;本文是演示针对Jmeter如何将压测过程中的数据指标&#xff0c;通过Prometheus采集存储&#xff0c;并在Granfan平台进行仪表盘展示; 介绍 系统压测属于日常项目开发中的一个测试环节&#xff0c;使用测试工具模拟真实用户行为&…

27.哀家要长脑子了!

目录 1.316. 去除重复字母 - 力扣&#xff08;LeetCode&#xff09; 2. 1209. 删除字符串中的所有相邻重复项 II - 力扣&#xff08;LeetCode 哎哟 烦死了 刚刚不小心退出又没保存 又要写一遍 烦死了 最近刷题不得劲啊 感觉这脑子没长一点 1.316. 去除重复字母 - 力扣&am…

VMware Workstation 安装CentOS Linux操作系统

1.我们已经下载好VMware 创建新的虚拟机 2.选择典型 3.安装程序光盘映像文件 4.配置用户名密码 5.命名虚拟机&#xff0c;并确定位置 6.如图所示设置 7.等待&#xff08;时间会有点久&#xff09; 8.输入密码登入账号

【软件测试】需求概念|软件的⽣命周期|开发模型|测试模型

目录 推荐 一、什么是需求 1.1 ⽤⼾需求 1.2 软件需求 二、开发模型 2.1 什么是“模型” 2.2 软件的⽣命周期 2.3 常⻅开发模型 2.3.1 瀑布模型 2.3.2 螺旋模型 2.3.3 增量模型、迭代模型 2.3.4 敏捷模型 2.4 测试模型 2.4.1 V模型 2.4.2 W模型(双V模型&#xff0…

恭喜莱佛士设计学院学生成功入围第13届Hiiibrand Awards

第十三届Hiiibrand Awards&#xff08;国际品牌&传播设计奖&#xff09;共收到来自40多个国家或地区的有效参赛作品共1723件。 经过激烈的竞争&#xff0c;我们莱佛士设计学院的三位同学成功入围提名&#xff08;学生组&#xff09;&#xff0c;他们分别是来自多媒体设计专…

寻求发展+兼顾陪读|企业高管赴美国乔治梅森大学做访问学者

E经理拟去美国访学&#xff0c;想达到3个目的&#xff1a;结合本专业方向&#xff0c;扩展至跨学科研究领域&#xff1b;考察市场&#xff0c;寻求新的发展契机&#xff1b;携孩子出国读书&#xff0c;兼顾陪读&#xff0c;并希望尽早出国。最终我们为其落实的乔治梅森大学访问…

蓝桥杯成绩已出

蓝桥杯的成绩早就已经出来了&#xff0c;虽然没有十分惊艳 &#xff0c;但是对于最终的结果我是心满意足的&#xff0c;感谢各位的陪伴&#xff0c;关于蓝桥杯的刷题笔记我已经坚持更新了49篇&#xff0c;但是现在即将会告别一段落&#xff0c;人生即将进入下一个规划。我们一起…

【新手入门】Github与Git使用教程

Github与Git 一、Github基础教程 1.1 基本操作 点击代码文件可以直接查看文件的内容&#xff0c;支持在线修改文件&#xff0c;只需要点击(文件内容)右上角的编辑按钮即可进行编辑。 README.md一般介绍项目的功能&#xff0c;用法&#xff0c;注意事项&#xff1b;有时还有…

银行ETL-监管报送

1104报表 1104报表主要包括&#xff1a;资产负债&#xff0c;表外业务、流动性风险、贷款质量、投向行业和地区、重点客户等。 1104报表分类 普通报表、特色类报表。 反洗钱 大额交易、可疑交易。标签分类&#xff1a;疑似犯罪、疑似毒品、疑似传销。 反洗钱—接口报表 数…

MySQL基础指南:从入门到精通

MySQL基础指南&#xff1a;从入门到精通 MySQL是一个流行的开源关系型数据库管理系统&#xff0c;被广泛用于Web应用程序和服务器端开发。本文将从MySQL的基本概念开始&#xff0c;逐步介绍MySQL的安装、常用操作、数据类型、查询语句等内容&#xff0c;帮助你快速入门MySQL数…

物联网设计竞赛_5_Jetson Nano连接摄像头解决运行卡顿问题

我在命令行用camorama命令打开摄像头的时候发现摄像头非常流畅 当我用python的cv2库打开摄像头的时候发现摄像头显示图片异常卡顿&#xff0c;在网上多方寻觅无果后&#xff0c;经过偶然尝试&#xff0c;我发现了卡顿原来是视频帧率问题 淘宝官方资料看我的摄像头只有30fps, …

##21 深入理解文本处理:使用PyTorch进行NLP基础操作

文章目录 前言简介文本预处理实现分词构建词汇表 文本向量化构建简单的文本分类模型结论 前言 在现代深度学习应用中&#xff0c;文本处理是不可或缺的一部分&#xff0c;尤其在自然语言处理&#xff08;NLP&#xff09;领域。借助强大的框架如PyTorch&#xff0c;我们可以更加…

超实用的excel进销存管理系统(75份),自带库存预警,直接用!

进销存&#xff08;Inventory Management&#xff09;是企业管理中的一个核心组成部分&#xff0c;它涉及到商品的采购&#xff08;进货&#xff09;、销售和存储&#xff08;库存&#xff09;等环节。有效的进销存管理可以帮助企业降低成本、提高效率和客户满意度。 1. 采购管…

LeetCode 题目 119:杨辉三角 II

❤️❤️❤️ 欢迎来到我的博客。希望您能在这里找到既有价值又有趣的内容&#xff0c;和我一起探索、学习和成长。欢迎评论区畅所欲言、享受知识的乐趣&#xff01; 推荐&#xff1a;数据分析螺丝钉的首页 格物致知 终身学习 期待您的关注 导航&#xff1a; LeetCode解锁100…