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.mzph.cn/diannao/12923.shtml

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

相关文章

BUUCTF靶场[MISC]wireshark、被嗅探的流量、神秘龙卷风、另一个世界

[misc]wireshark 考点&#xff1a;流量、追踪流 工具&#xff1a;wireshark 先看题目&#xff0c;管理员密码 将下载的文件用wireshark打开&#xff0c;查找flag 点击追踪tcp流&#xff0c;开始挨个查看flag [misc]被嗅探的流量 考点&#xff1a;流量、追踪流 工具&#xf…

武汉星起航:亚马逊构建综合性商业生态,卖家买家共享全球化红利

在当今全球化日益加速的时代&#xff0c;亚马逊不仅以其卓越的电商平台服务全球消费者&#xff0c;更通过一系列前沿服务打造了一个综合性的商业生态系统。在这个生态系统中&#xff0c;卖家能够轻松拓展全球业务&#xff0c;买家则享受到了前所未有的购物体验。亚马逊以其独特…

FreeRTOS【6】线程优先级

1.开发背景 基于上一篇指引&#xff0c;已经了解了线程的阻塞&#xff0c;这个篇章主要介绍线程优先级的影响 2.开发需求 设计实验验证高优先级会抢占低优先级线程 CPU 3.开发环境 window10 MDK STM32F429 FreeRTOS10.3.1 4.实现步骤 1&#xff09;创建测试线程&#xff…

测试之路 - 精准而优雅

引子 这几年业内一直在做精准测试&#xff0c;大都使用工具 diff 代码改动、分析代码覆盖率这些平台集成的能力。 业务测试中&#xff0c;我们在技术设计和代码实现的基础上也做了一些精减和精准的测试实践&#xff0c;通过深入测试有针对的设计 case&#xff0c;发现隐藏问题…

抖音小程序使用Vant

安装 Vant 有针对小程序的版本&#xff0c;通过npm安装&#xff1a; npm i vant/weapp -S --production构建 npm 安装 Vant Weapp 后需要构建 NPM&#xff0c;在菜单的【工具】选项中选择【构建 NPM】&#xff1a; 使用组件 抖音小程序和微信小程序还是有一些差别的&#x…

怎么把3d模型导出cad立面---模大狮模型网

在设计工作中&#xff0c;将3D模型导出到CAD软件并生成立面图是一项常见但关键的任务。这不仅有助于更好地展示设计方案&#xff0c;还能方便后续的工程制图和施工。本文将介绍如何通过3ds Max软件将3D模型导出到CAD软件&#xff0c;并生成高质量的立面图&#xff0c;为您提供实…

现货正泰漏电小型断路器NXB-32LE-C16 30MA1P+N原装正品NXB-40L

品牌&#xff1a;CHNT/正泰 型号&#xff1a;NXBLE 额定电流&#xff1a;25A,16A,20A,40A,32A 漏电保护器类型&#xff1a;2P 产地&#xff1a;中国大陆 电压&#xff1a;1000V及以下 极数&#xff1a;3P,4p,2P,1PN 电源方式&#xff1a;交流电 3C证书编号&#xff1a;…

大模型时代下的先行者:景联文科技引领数据标注新时代

在大模型时代&#xff0c;数据标注不再是简单的分类标注&#xff0c;而是一项融合了技术革新、专业技能、法律合规和精细化管理的综合性任务&#xff0c;对推动AI技术的发展和落地应用具有重要意义。 景联文科技作为AI基础行业的数据供应商&#xff0c;可协助人工智能企业解决整…

easyx快速入门1

1.基本说明 EasyX 是针对 C 的图形库&#xff0c;可以帮助 C/C 初学者快速上手图形和游戏编程。 比如&#xff0c;可以基于 EasyX 图形库很快的用几何图形画一个房子&#xff0c;或者一辆移动的小车&#xff0c;可以编写俄罗斯方块、贪吃蛇、黑白棋等小游戏&#xff0c;可以练…

fl studio试用版文件保存无法打开??一个方法教你免费打开!

前言 当下&#xff0c;各款编曲软件五花八门&#xff0c;而这其中最有声誉的必为FL Studio莫属 这个软件呢国人习惯叫他水果&#xff0c;拥有强大的录音、编曲、混音等功能&#xff0c;所以广受音乐圈欢迎。如今&#xff0c;大部分水果一旦有编曲所需&#xff0c;一般都要使用…

CSS 根据子元素选择父元素,并设置父元素的样式

场景举例&#xff1a;当子元素有增加了一个class时&#xff0c;需要影响其父元素的样式 可以使用":has"伪类来实现选择父元素的效果 <style>.parent:has(.child){background-color: #eee;}p{width:100px;border:1px solid #000;} </style> <body>…

人机协同中的比较、调整与反转

人机协同是指人与机器之间的合作关系&#xff0c;通过共同努力实现特定任务的目标。在人机协同中&#xff0c;存在着比较与调整的过程&#xff0c;这是为了实现更好的合作效果和任务完成质量。 比较是指人与机器在任务执行过程中对彼此的表现进行评估和比较。这可以通过对机器的…

vue+ts+vite+pinia+less+echarts 前端可视化 实战项目

1.初始化前端 输入 npm init vuelatest 命令 然后 选择需要的插件2.构建完成后 在终端切换到vue-project文件夹下 npm install 下载依赖 3.下载 less样式 npm install less less-loader -D 4.下载axios npm install axios 5.下载echarts npm install echarts -S 6.引入中国…

战网国际服加速器用哪个好 暴雪战网好用加速器介绍

战网国际版&#xff0c;又称Battle.net环球版&#xff0c;是暴雪娱乐操盘的全球性游戏互动平台&#xff0c;它跨越地理界限&#xff0c;服务于全球游戏爱好者。与地区限定版本相异&#xff0c;国际版赋予玩家自由进入暴雪旗下众多经典游戏的权利&#xff0c;无论身处何方&#…

对比测评3款BI分析工具

前不久&#xff0c;一位准备入职阿里的学弟问我&#xff0c;他要做电商数据分析&#xff0c;电商有庞杂的标签、模型、数据和业务逻辑&#xff0c;菜鸟应该要具备什么样的分析能力啊&#xff1f; 我看了他的岗位职责&#xff0c;主要是负责经营决策支持、专题分析和数据看板搭…

leetcode-字符串变形-104

题目要求 思路 1.首先根据ASCII的规则&#xff0c;把字符串大小写替换&#xff0c;空格保持不变 2.将整个字符串进行翻转 3.以空格为区间&#xff0c;将区间内的字符串进行翻转&#xff0c;其中翻转的函数reverse() 代码实现 class Solution { public:string trans(string s…

【C语言】通讯录系统实现

目录 1、通讯录系统介绍 2、代码分装 3、代码实现步骤 3.1制作菜单函数以及游戏运行逻辑流程 3.2、封装人的信息PeoInfo以及通讯录Contact结构体类型 3.3、初始化通讯录InitContact函数 3.4、增加联系人AddContact函数 3.5、显示所有联系人ShowContact函数 3.6、删除联系人D…

Shell之常用命令

目录 1.排序工具--sort命令 1.1 快读查找一个目录中最大文件 2.去重工具--uniq命令 2.1 分析判断远程登录错误次数&#xff0c;禁止该用户远程登录 3.修改工具--tr命令 4.列截取工具--cut命令 5.分割文件工具--split命令 6.合并文件列--paste命令 7.扫描工具--eval命令…

【Linux】常用指令、热键与权限管理

一、常用指令 &#xff08;1&#xff09;ls 功能&#xff1a;列出指定目录下的所有子目录与文件 用法&#xff1a;ls &#xff08;选项&#xff09; &#xff08;目录或文件名&#xff09; 常用选项&#xff1a; -a&#xff1a;列出目录下的所有文件&#xff0c;包括隐藏…

c语言中数字字符串和数字互转

#include <getopt.h> #include <stdio.h> #include <stdlib.h>#define MAX_PATH 256 char filename[MAX_PATH 5]; int main(int argc, char** argv) {//数字字符串转数字const char* kk "689";int zhi atoi(kk) 8;//数字字符串转doubledoub…