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

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.

下班下班

相关文章:

C语言简要(一)

总得让她开心吧 helloworld #include <stdio.h>int main() {printf("hello world!\n");return 0; } 程序框架 #include <stdio.h> int main {return 0; }输出 printf("hello world!\n"); "里面的内容叫做“字符串”&#xff0c;prin…...

那些年我与c++的叫板(一)--string类自实现

引子&#xff1a;我们学习了c中的string类&#xff0c;那我们能不能像以前数据结构一样自己实现string类呢&#xff1f;以下是cplusplus下的string类&#xff0c;我们参考参考&#xff01; 废话不多说&#xff0c;直接代码实现&#xff1a;&#xff08;注意函数之间的复用&…...

二刷算法训练营Day08 | 字符串(1/2)

今日任务&#xff1a; 344.反转字符串 541. 反转字符串II卡码网&#xff1a;54.替换数字 151.翻转字符串里的单词卡码网&#xff1a;55.右旋转字符串 详细布置&#xff1a; 1. 344. 反转字符串 编写一个函数&#xff0c;其作用是将输入的字符串反转过来。输入字符串以字符数组 …...

使用高防IP是应对网络安全的重要措施

使用高防IP&#xff08;High Defense IP&#xff09;在现代网络环境中显得尤为重要&#xff0c;这主要源于以下几个方面的原因&#xff1a; 一、网络安全形势严峻 随着互联网的快速发展&#xff0c;网络安全问题日益突出。各种网络攻击手段层出不穷&#xff0c;如分布式拒绝服…...

代码随想录-算法训练营day40【动态规划03:整数拆分、不同的二叉搜索树】

代码随想录-035期-算法训练营【博客笔记汇总表】-CSDN博客 第九章 动态规划part03● 343.整数拆分 ● 096.不同的二叉搜索树 详细布置 今天两题都挺有难度&#xff0c;建议大家思考一下没思路&#xff0c;直接看题解&#xff0c;第一次做&#xff0c;硬想很难想出来。343. 整数…...

MySQL数据库中基本数据管理操作

使用SQL语句实现基本数据管理操作——即DML语句 1.添加数据 insert into 表名&#xff08;字段名称&#xff0c;字段名称&#xff0c;字段名称&#xff09;values&#xff08;数据&#xff0c;数据&#xff0c;数据&#xff09; 在MySQL数据库中&#xff0c;除了数字&#x…...

记录一下Hql遇到的零碎问题

建表相关 -- 地区维度表 drop table dim_province_full; create table dim_province_full( id string comment 编号, name string comment 省份名称, region_id string comment 大区id, area_code string comment 行政区位码, iso_code string comment 国际编码, iso_3166_2 s…...

Flutter 中的 TextField 小部件:全面指南

Flutter 中的 TextField 小部件&#xff1a;全面指南 在 Flutter 中&#xff0c;TextField 是一个允许用户输入文本的小部件。它非常灵活&#xff0c;支持多种文本输入场景&#xff0c;如单行文本、多行文本、密码输入、数值输入等。TextField 还提供了丰富的定制选项&#xf…...

GPT-4o:全面深入了解 OpenAI 的 GPT-4o

GPT-4o&#xff1a;全面深入了解 OpenAI 的 GPT-4o 关于 GPT-4o 的所有信息ChatGPT 增强的用户体验改进的多语言和音频功能GPT-4o 优于 Whisper-v3M3Exam 基准测试中的表现 GPT-4o 的起源追踪语言模型的演变GPT 谱系&#xff1a;人工智能语言的开拓者多模式飞跃&#xff1a;超越…...

2024中国应急(消防)品牌巡展西安站成功召开!惊喜不断

消防品牌巡展西安站 5月10日&#xff0c;由中国安全产业协会指导&#xff0c;中国安全产业协会应急创新分会、应急救援产业网联合主办&#xff0c;陕西消防协会协办的“一切为了安全”2024年中国应急(消防)品牌巡展-西安站成功举办。该巡展旨在展示中国应急&#xff08;消防&am…...

信创电脑|暴雨新增兆芯KX-7000处理器版本

IT世界 5 月 15 日消息&#xff0c;暴雨公司信创家族新上架了一款搭载兆芯KX-7000系列处理器、摩尔线程8GB 显卡、16G DDR5 内存以及 512G SSD 的新配置台式电脑主机。 兆芯 KX-7000 处理器采用开先的 8 核 Chiplet互联架构&#xff0c;最高频率3.7 GHz&#xff0c;拥有 32MB 的…...

面向对象 07:抽象类相关知识,抽象类的基本概念,使用方式,以及一些注意事项

一、前言 记录时间 [2024-05-15] 系列文章简摘&#xff1a; 面向对象 03&#xff1a;类与对象的创建、初始化和使用&#xff0c;通过 new 关键字调用构造方法&#xff0c;以及创建对象过程的内存分析 面向对象 04&#xff1a;三大特性之——封装&#xff0c;封装的含义和作用&a…...

Rust中的链式调用方法

在Rust编程语言中&#xff0c;链式调用是一种流行的编程模式&#xff0c;它允许开发者以流畅、连续的方式调用多个方法。这种风格不仅提高了代码的可读性&#xff0c;而且使得复杂的操作可以串联在一起&#xff0c;形成一个清晰、简洁的语句。在Rust中&#xff0c;链式调用主要…...

xCode升级后: Library ‘iconv2.4.0’ not found

报错信息&#xff1a; targets 选中 xxxNotification: Build Phases ——> Link Binary With Libraries 中&#xff0c;移除 libiconv.2.4.0.tbd libiconv.2.4.0.dylib 这两个库&#xff08;只有一个的移除一个就好&#xff09;。 然后重新添加 libiconv.tbd 修改完…...

SQL语言:完整性约束

完整性约束 数据完整性是指存储在数据库中的数据要能正确反映实际情况&#xff0c;规定输入的数据不能是无效值、错误值 或者乱码等。 一、非空约束&#xff1a; 非空约束关键字&#xff1a; not null 1、非空约束的创建 create table teacher( t_id int not null, -- 为教…...

UBUNTU下CMAKE指定执行文件运行时查找库的路径

在Ubuntu下&#xff0c;使用CMake时&#xff0c;如果需要指定执行文件运行时库的搜索路径&#xff0c;可以在CMakeLists.txt文件中通过set_target_properties命令来设置。 以下是一个示例&#xff0c;假设你的目标是一个名为my_application的可执行文件&#xff0c;你想要添加…...

WHAT - CSS Animationtion 动画系列(四)- 移动端全屏动画

目录 一、背景1.1 GIF & Video1.2 存在的问题 二、技术方案2.1 使用CSS动画和JavaScript2.2 使用JavaScript库2.3 使用序列帧1. css animation 帧动画2. JavaScript requestAnimationFrame 帧动画 2.4 使用Canvas1. html 和 canvas 中的 video2. 基于Canvas的动画库 今天我…...

springboot004网页时装购物系统

springboot004网页时装购物系统 亲测完美运行带论文&#xff1a;获取源码&#xff0c;私信评论或者v:niliuapp 运行视频 包含的文件列表&#xff08;含论文&#xff09; 数据库脚本&#xff1a;db.sql其他文件&#xff1a;ppt.pptx论文/文档&#xff1a;开题报告.docx论文&…...

海外住宅IP介绍

住宅IP&#xff0c;通俗的来讲就是分配给家庭的IP地址&#xff0c;ISP默认分配用户为家庭用户&#xff0c;其真实性与安全性都有一定保障。海外住宅IP是指由海外互联网服务提供商分配给家庭用户的IP地址&#xff0c;IP地址通常是静态的&#xff0c;稳定的&#xff0c;可以为用户…...

Qt | QTimer 类(计时器)

01、相关知识回顾 Qt C++ | QTimer经验总结Qt | QDateTimeEdit、QDateEdit类和QTimeEdit类02、QTimer 类 1、QTimer 类是 QObejct 的直接子类,该类用于实现计时器,QTimer 类未继承自 QW...

PHP和Node.js哪个更爽?

先说结论&#xff0c;rust完胜。 php&#xff1a;laravel&#xff0c;swoole&#xff0c;webman&#xff0c;最开始在苏宁的时候写了几年php&#xff0c;当时觉得php真的是世界上最好的语言&#xff0c;因为当初活在舒适圈里&#xff0c;不愿意跳出来&#xff0c;就好比当初活在…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练

前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1)&#xff1a;从基础到实战的深度解析-CSDN博客&#xff0c;但实际面试中&#xff0c;企业更关注候选人对复杂场景的应对能力&#xff08;如多设备并发扫描、低功耗与高发现率的平衡&#xff09;和前沿技术的…...

【Web 进阶篇】优雅的接口设计:统一响应、全局异常处理与参数校验

系列回顾&#xff1a; 在上一篇中&#xff0c;我们成功地为应用集成了数据库&#xff0c;并使用 Spring Data JPA 实现了基本的 CRUD API。我们的应用现在能“记忆”数据了&#xff01;但是&#xff0c;如果你仔细审视那些 API&#xff0c;会发现它们还很“粗糙”&#xff1a;有…...

Robots.txt 文件

什么是robots.txt&#xff1f; robots.txt 是一个位于网站根目录下的文本文件&#xff08;如&#xff1a;https://example.com/robots.txt&#xff09;&#xff0c;它用于指导网络爬虫&#xff08;如搜索引擎的蜘蛛程序&#xff09;如何抓取该网站的内容。这个文件遵循 Robots…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

Pinocchio 库详解及其在足式机器人上的应用

Pinocchio 库详解及其在足式机器人上的应用 Pinocchio (Pinocchio is not only a nose) 是一个开源的 C 库&#xff0c;专门用于快速计算机器人模型的正向运动学、逆向运动学、雅可比矩阵、动力学和动力学导数。它主要关注效率和准确性&#xff0c;并提供了一个通用的框架&…...

【从零学习JVM|第三篇】类的生命周期(高频面试题)

前言&#xff1a; 在Java编程中&#xff0c;类的生命周期是指类从被加载到内存中开始&#xff0c;到被卸载出内存为止的整个过程。了解类的生命周期对于理解Java程序的运行机制以及性能优化非常重要。本文会深入探寻类的生命周期&#xff0c;让读者对此有深刻印象。 目录 ​…...

Selenium常用函数介绍

目录 一&#xff0c;元素定位 1.1 cssSeector 1.2 xpath 二&#xff0c;操作测试对象 三&#xff0c;窗口 3.1 案例 3.2 窗口切换 3.3 窗口大小 3.4 屏幕截图 3.5 关闭窗口 四&#xff0c;弹窗 五&#xff0c;等待 六&#xff0c;导航 七&#xff0c;文件上传 …...

站群服务器的应用场景都有哪些?

站群服务器主要是为了多个网站的托管和管理所设计的&#xff0c;可以通过集中管理和高效资源的分配&#xff0c;来支持多个独立的网站同时运行&#xff0c;让每一个网站都可以分配到独立的IP地址&#xff0c;避免出现IP关联的风险&#xff0c;用户还可以通过控制面板进行管理功…...