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

七天学会C语言-第一天(C语言基本语句)

在这里插入图片描述

一、固定格式

这个是C程序的基本框架,需要记住!!!

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

二、printf 语句

简单输出一句C程序:

#include<stdio.h>
int main(){printf("大家好,");printf("我是");printf("沐尘而生!");return 0;
}

运行结果:
在这里插入图片描述

例 2:

#include<stdio.h>
int main(){printf("大家好,\n");printf("我是\n");printf("沐尘而生!\n");return 0;
}

运行结果:

在这里插入图片描述

例 3:使用"\t"

#include<stdio.h>
int main(){printf("大家好,");printf("我是\t");printf("沐尘而生!\n");return 0;
}

代码编写:

在这里插入图片描述

运行结果:
在这里插入图片描述

例 4:请编写一个C程序,输出以下信息:

****************
沐尘而生贼溜!
****************
#include<stdio.h>
int main()
{printf("***************\n");printf("沐尘而生贼溜!\n");printf("***************");return 0;
}

代码编写:
在这里插入图片描述
运行结果:

在这里插入图片描述

三、int、float、double、char 型数据

C语言中有多种数据类型,用于存储不同类型的数据

int(整数)

int 用于表示整数值。它通常占据4个字节,可以存储从-2,147,483,648到2,147,483,647之间的整数

int age = 25;

float(浮点数)

float 用于表示带有小数点的数值。它通常占据4个字节

float price = 12.99;

double(双精度浮点数)

double 用于表示更高精度的浮点数,通常占据8个字节

double pi = 3.14159265359;

char(字符)

char 用于表示单个字符

char grade = 'A';

综合一:

#include <stdio.h>int main() {int a = 5, b, c, d, e, f; b = a + 2;c = b - a; d = a * c; e = 0; f = 0;if (d != 0) {e = a / d; f = a % d; }return 0;
}

四、用 printf 语句输出 int、float、double、char 型数据

要输出不同类型的数据,我们可以使用 printf 函数

输出整数:

int age = 25;
printf("年龄:%d\n", age);

输出浮点数:

float price = 12.99;
printf("价格:%f\n", price);

输出双精度浮点数:

double pi = 3.14159265359;
printf("π的值:%lf\n", pi);

输出字符:

char grade = 'A';
printf("成绩:%c\n", grade);

综合一:

#include <stdio.h> int main() {int a = 5, b, c, d, e, f; b = a + 2;c = b - a; d = a * c; e = a / d; f = a % d; return 0;
}

综合二:


#include <stdio.h> int main() {double a, b, c, s; a = 3.67; b = 5.43; c = 6.21;s = (a + b + c) / 3.0; // 注意使用3.0来获得浮点数结果printf("平均值:%lf\n", s); // 输出平均值return 0;
}
运行结果:

综合三:将大写转换为小写

#include <stdio.h>int main() {char a = 'B', b = 'O', c = 'Y';// 将大写字符转换为小写字符a = a + 32;b = b + 32;c = c + 32;printf("a: %c, b: %c, c: %c\n", a, b, c); // 输出转换后的字符return 0;
}
运行结果:

printf 中的格式化字符串(比如 %d%f%lf%c)与要输出的数据类型相对应。

五、用 scanf 语句输入 int、float、double、char 型

要从用户获取输入,我们可以使用 scanf 函数

输入整数:

int age;
printf("请输入年龄:");
scanf("%d", &age);

输入浮点数:

float price;
printf("请输入价格:");
scanf("%f", &price);

输入双精度浮点数:

double pi;
printf("请输入π的值:");
scanf("%lf", &pi);

输入字符:

char grade;
printf("请输入成绩:");
scanf(" %c", &grade);

综合一:

#include <stdio.h>int main() {int a = 5, b, c, d, e, f; b = a + 2;c = b - a; d = a * c; e = a / d; f = a % d;printf("a=%d, b=%d, c=%d\n", a, b, c); printf("e=%d, f=%d\n", e, f);return 0;
}
运行结果:

综合二:求 123 与 456 的和

#include <stdio.h>int main() {int a, b, sum; a = 123; b = 456;sum = a + b; printf("和是%d\n", sum); return 0;
}
运行结果:

综合三:

#include <stdio.h>int main() {double a, b, c, s; a = 3.67; b = 5.43; c = 6.21;s = (a + b + c) / 3;printf("设定的 a 是%f,b 是%f,c 是%f\n", a, b, c); printf("求得的 s 是%f\n", s); return 0;
}
运行结果:

综合四:

#include <stdio.h>int main() {char a = 'B', b = 'O', c = 'Y'; a = a + 32;b = b + 32; c = c + 32;printf("小写字母依次是%c%c%c\n", a, b, c); return 0;
}
运行结果:

六、putchar()语句、getchar()语句

putchar() 和 getchar() 是用于字符输入输出的函数。它们可以用于处理单个字符。

输出字符:

char letter = 'A';
putchar(letter); // 输出字符 'A'

输入字符:

char inputChar;
printf("请输入一个字符:");
inputChar = getchar(); // 从用户获取一个字符
putchar(inputChar); // 输出用户输入的字符

综合一:输入一个大写字母,可以输出一个小写字母。

#include <stdio.h>int main() {char a, b;printf("请输入大写字母:\n"); scanf("%c", &a);b = a + 32;printf("%c 的小写字母是 %c\n", a, b); return 0;
}
运行结果:

七、𝐞^𝐱、log 等数学运算

在这里插入图片描述

C语言提供了丰富的数学函数库,可以进行各种数学运算,例如指数运算和对数运算

#include <math.h>
double base = 2.0;
double exponent = 3.0;
double result = pow(base, exponent); // 计算 2^3
printf("2的3次方:%lf\n", result);double x = 10.0;
double logarithm = log(x); // 计算自然对数
printf("自然对数:%lf\n", logarithm);

综合一:给出三角形三边 a、b、c 的长,利用公式area=√𝐬(𝐬 − 𝐚)(𝐬 − 𝐛)(𝐬 − 𝐜),求该三角形的面积 area(公式中的 s= 𝐚+𝐛+𝐜 )

#include <stdio.h>
#include <math.h>int main() {double a, b, c, s, area;printf("请输入三角形的三边长(以逗号分隔):\n");scanf("%lf,%lf,%lf", &a, &b, &c);s = (a + b + c) / 2;area = sqrt(s * (s - a) * (s - b) * (s - c));printf("a=%f\tb=%f\tc=%f\n", a, b, c);printf("面积=%f\n", area);return 0;
}
运行结果(以3,4,5为例):

综合二:假如沐尘而生的同事小翟的年薪增长率为−10%,请利用公式p=(𝟏 + 𝐫)𝐧 计算 10 年后他的年薪与今年相比增长了多少。(公式中的 r 为年增长率,n 为年数,p 为与今年相比的倍数)

#include <stdio.h>
#include <math.h>int main() {double r, n, p;r = -0.1;n = 10;p = pow(1 + r, n);printf("p=%f\n", p);return 0;
}
运行结果:

八、三个例子:

1. 使用 %m.nf 格式控制符

  • %m.nf 是一种格式控制符,用于格式化输出浮点数。
  • m 表示最小字段宽度,即输出的数字占用的最少字符数。
  • n 表示小数部分的位数。
  • f 表示浮点数类型。

示例代码:

#include <stdio.h> int main() {double a, b, c;a = 3.67; b = 5.43; c = 6.21;printf("设定的 a 是%5.2f,b 是%-5.2f,c 是%7.4f\n", a, b, c);return 0;
}

运行结果:

设定的 a 是 3.67,b 是5.43,c 是 6.2100

2. 使用 %e 格式控制符

  • %e 是一种格式控制符,用于输出科学计数法表示的浮点数。
  • 它将一个浮点数以 x.xxxe±xx 的形式输出,其中 x 是数字,±xx 表示指数部分。

示例代码:

#include <stdio.h>int main() {printf("小翟的身高是%10.2e 厘米\n", 183.456);return 0;
}

运行结果:

小翟的身高是  1.83e+02 厘米

3. 强制类型转换 (int)(表达式)

  • (int)(表达式) 是一种类型转换操作,它将表达式的结果强制转换为整数类型,并抹去小数部分。
  • 这通常用于将浮点数转换为整数,得到整数的部分。

示例代码:

#include <stdio.h>int main() {double a;int ge, shi, bai;printf("请输入数字\n");scanf("%lf", &a);bai = (int)(a / 100);shi = (int)((a - bai * 100) / 10);ge = (int)(a - bai * 100 - shi * 10);printf("个位数字%d\n", ge);printf("十位数字%d\n", shi);printf("百位数字%d\n", bai);return 0;
}

运行结果(假设输入为123.456):

请输入数字
个位数字6
十位数字5
百位数字1

九、综合模块

请编写一个C程序,要求用户输入一个三角形的三边长(a、b、c),然后计算并输出以下内容:

1. 三角形的周长。
2. 三角形的面积(使用海伦公式)。
3. 三角形的类型(等边、等腰、或普通三角形)。

注意:

  • 请使用 %lf 作为 scanf 中读取浮点数的格式说明符。
  • 使用 %f 作为 printf 中打印浮点数的格式说明符。
  • 使用 pow 函数计算幂次。
  • 要考虑输入的边长是否满足构成三角形的条件。

代码演示:

#include <stdio.h>
#include <math.h>int main() {double a, b, c;printf("请输入三角形的三边长 a, b, c(以空格分隔):\n");scanf("%lf %lf %lf", &a, &b, &c);// 判断输入是否构成三角形if (a + b > c && a + c > b && b + c > a) {// 计算三角形的周长double perimeter = a + b + c;printf("三角形的周长为:%f\n", perimeter);// 计算三角形的半周长double s = perimeter / 2;// 计算三角形的面积(使用海伦公式)double area = sqrt(s * (s - a) * (s - b) * (s - c));printf("三角形的面积为:%f\n", area);// 判断三角形的类型if (a == b && b == c) {printf("这是一个等边三角形。\n");} else if (a == b || a == c || b == c) {printf("这是一个等腰三角形。\n");} else {printf("这是一个普通三角形。\n");}} else {printf("输入的边长无法构成一个三角形。\n");}return 0;
}

运行结果(以输入2,2,4为例):

总结讲解:

  1. 用户被提示输入三角形的三边长(a、b、c)。
  2. 程序检查输入的边长是否满足构成三角形的条件。如果不满足条件,程序将输出错误消息并退出。
  3. 如果边长满足条件,程序计算三角形的周长并输出。
  4. 然后,程序计算三角形的半周长以用于后续的面积计算。
  5. 使用海伦公式,程序计算并输出三角形的面积。
  6. 最后,程序根据边长的相等性来判断三角形的类型,并输出相应的消息。

这个程序结合了输入、条件判断、数学计算和输出,是一个综合性的示例,涵盖了C语言的多个基本概念。

相关文章:

七天学会C语言-第一天(C语言基本语句)

一、固定格式 这个是C程序的基本框架&#xff0c;需要记住&#xff01;&#xff01;&#xff01; #include<stdio.h>int main(){return 0; }二、printf 语句 简单输出一句C程序&#xff1a; #include<stdio.h> int main(){printf("大家好&#xff0c;&quo…...

vue项目部署,出现两个ip的原因

我宁愿靠自己的力量打开我的前途,而不愿求有力者的垂青。——雨果 tags: 篇首语&#xff1a;本文由小常识网(cha138.com)小编为大家整理&#xff0c;主要介绍了vue项目部署&#xff0c;出现两个ip的原因相关的知识&#xff0c;希望对你有一定的参考价值。 参考技术A 在部署v…...

无涯教程-JavaScript - ASIN函数

描述 ASIN函数返回给定数字的反正弦或反正弦,并返回以弧度表示的Angular,介于-π/2和π/2之间。 语法 ASIN (number)争论 Argument描述Required/OptionalNumberThe sine of the angle you want and must be from -1 to 1.Required Notes 如果您希望ASIN函数返回的Angular以…...

MYSQL的SQL优化

insert语句 开启事务 手动控制事务 start transaction; insert into tb_test values(1,Tom),(2,Cat),(3,Jerry); insert into tb_test values(4,Tom),(5,Cat),(6,Jerry); insert into tb_test values(7,Tom),(8,Cat),(9,Jerry); commit; 内存插入 load命令中用 fields te…...

lintcode 553 · 炸弹袭击【中等 数组+bfs+模拟】

题目 https://www.lintcode.com/problem/553 给定一个二维矩阵, 每一个格子可能是一堵墙 W,或者 一个敌人 E 或者空 0 (数字 0), 返回你可以用一个炸弹杀死的最大敌人数. 炸弹会杀死所有在同一行和同一列没有墙阻隔的敌人。 由于墙比较坚固&#xff0c;所以墙不会被摧毁.你只…...

第一章 计算机系统概述 八、虚拟机

目录 一、传统虚拟机的结构 二、两类虚拟机管理程序 &#xff08;1&#xff09;定义&#xff1a; &#xff08;2&#xff09;区别&#xff1a;&#xff08;考点&#xff09; 一、传统虚拟机的结构 二、两类虚拟机管理程序 &#xff08;1&#xff09;定义&#xff1a; &…...

桶装水送水多水站送水员公众号h5开发

桶装水送水多水站送水员公众号h5开发 界面简洁易懂用户容易接受。 独家一户一码全家都能订水。 多个水站运营可按距离选择绑定。 三种支付方式水票、微信、到付。 强大员工系统老板坐享其成。 自由跑跑模式可招兼职送水员接单。 一户一码、全家享用 一户一码&#xff0c;精准…...

【JavaEE】多线程(二)

多线程&#xff08;二&#xff09; 文章目录 多线程&#xff08;二&#xff09;第一个多线程程序观察线程sleep创建线程继承Thread类&#xff0c;重写run方法实现Runnable&#xff0c; 重写run继承Thread&#xff0c;重写run实现Runnable&#xff0c;重写run基于lambda表达式 T…...

OkHttp 根据服务器返回的的过期时间设置缓存

据返回的缓存时间来缓存响应&#xff0c;可以通过使用OkHttp的CacheControl和ResponseCacheInterceptor来实现。以下是一个示例代码&#xff1a; // 创建缓存目录和缓存对象 File cacheDirectory new File(context.getCacheDir(), "http-cache"); int cacheSize 1…...

智能远程监考方案助力企业考试化繁为简

在音视频数字化之旅中&#xff0c;轻装上阵。 近年来&#xff0c;在数字化浪潮之下&#xff0c;远程考试频繁成为各领域热词&#xff0c;各企业也纷纷改革求新&#xff0c;将原本的企业内部考试转移到线上&#xff0c;从而获取更低廉的组考成本&#xff0c;更高的管理效率&…...

基于matlab实现的额 BP神经网络电力系统短期负荷预测未来(对比+误差)完整程序分享

基于matlab实现的额 BP神经网络电力系统短期负荷预测 完整程序&#xff1a; clear; clc; %%输入矢量P&#xff08;15*10&#xff09; P[0.2452 0.1466 0.1314 0.2243 0.5523 0.6642 0.7105 0.6981 0.6821 0.6945 0.7549 0.8215 0.2415 0.3027 0; 0.2217 0.1581 0.1408 0.23…...

WPF的_Expander控件

WPF Expander 是 WPF&#xff08;Windows Presentation Foundation&#xff09;框架中的一个控件&#xff0c;用于实现可以展开和折叠内容的可折叠面板。 Expander 控件通常由一个展开/折叠的标题&#xff08;Header&#xff09;和一个显示/隐藏的内容部分&#xff08;Content…...

【MT7628AN】IOT | MT7628AN OpenWRT开发与学习

IOT | MT7628AN OpenWRT开发与学习 时间:2023-06-21 文章目录 `IOT` | `MT7628AN` `OpenWRT`[开发与学习](https://blog.csdn.net/I_feige/article/details/132911634?csdn_share_tail=%7B%22type%22%3A%22blog%22%2C%22rType%22%3A%22article%22%2C%22rId%22%3A%22132911634…...

基于Matlab实现自动泊车(垂直泊车)

自动泊车是一项非常有趣和实用的技术&#xff0c;它可以让车辆在没有人为干预的情况下自动停放在合适的位置上。在这篇文章中&#xff0c;我们将介绍如何使用Matlab实现自动泊车。 首先&#xff0c;我们需要了解自动泊车的基本原理。自动泊车系统通常包括车辆、传感器和控制算…...

笔试面试相关记录(4)

&#xff08;1&#xff09;实现防火墙的主流技术有哪些&#xff1f; 实施防火墙主要采用哪些技术 - 服务器 - 亿速云 (yisu.com) &#xff08;2&#xff09; char arr[][2] {a, b, c, d}; printf("%d", *(arr1)); 输出的是谁的地址&#xff1f;字符c 测试代码如下…...

unity UDP 通信

客户端 接收端 &#xff1a; using System; using System.IO; using System.Collections; using System.Collections.Generic; using System.Net; using System.Net.Sockets; using System.Text; using System.Threading; using UnityEngine; using UnityEngine.UI;public cla…...

一篇解决JavaScript

华子目录 JavaScript介绍JavaScript的组成JavaScript书写位置内部外部 js注释js输入&#xff08;prompt&#xff09;js输出js变量js基本数据类型number&#xff08;数值类型&#xff09;string&#xff08;字符串&#xff09;Boolean&#xff08;布尔类型&#xff09;undefined…...

Unity UGUI(一)基础组件

文章目录 1.Text&#xff1a;文本框2.Image&#xff1a;精灵图3.RawImage&#xff1a;生图4.Button&#xff1a;按钮5.InputField&#xff1a;输入框6.Tooggle&#xff1a;选择框7.Slider&#xff1a;滑动条8.Dropdown&#xff1a;下拉菜单9.Scrollbar&#xff1a;滚动条10.Scr…...

【微服务】六. Nacos配置管理

6.1 Nacos实现配置管理 配置更改热更新 在nacos左侧新建配置管理 Data ID&#xff1a;就是配置文件名称 一般命名规则&#xff1a;服务名称-环境名称.yaml 配置内容填写&#xff1a;需要热更新需求的配置 配置文件的id&#xff1a;[服务名称]-[profile].[后缀名] 分组&#…...

【华为云云耀云服务器L实例评测|云原生】自定制轻量化表单Docker快速部署云耀云服务器

&#x1f935;‍♂️ 个人主页: AI_magician &#x1f4e1;主页地址&#xff1a; 作者简介&#xff1a;CSDN内容合伙人&#xff0c;全栈领域优质创作者。 &#x1f468;‍&#x1f4bb;景愿&#xff1a;旨在于能和更多的热爱计算机的伙伴一起成长&#xff01;&#xff01;&…...

rknn优化教程(二)

文章目录 1. 前述2. 三方库的封装2.1 xrepo中的库2.2 xrepo之外的库2.2.1 opencv2.2.2 rknnrt2.2.3 spdlog 3. rknn_engine库 1. 前述 OK&#xff0c;开始写第二篇的内容了。这篇博客主要能写一下&#xff1a; 如何给一些三方库按照xmake方式进行封装&#xff0c;供调用如何按…...

ESP32读取DHT11温湿度数据

芯片&#xff1a;ESP32 环境&#xff1a;Arduino 一、安装DHT11传感器库 红框的库&#xff0c;别安装错了 二、代码 注意&#xff0c;DATA口要连接在D15上 #include "DHT.h" // 包含DHT库#define DHTPIN 15 // 定义DHT11数据引脚连接到ESP32的GPIO15 #define D…...

《通信之道——从微积分到 5G》读书总结

第1章 绪 论 1.1 这是一本什么样的书 通信技术&#xff0c;说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号&#xff08;调制&#xff09; 把信息从信号中抽取出来&am…...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

k8s业务程序联调工具-KtConnect

概述 原理 工具作用是建立了一个从本地到集群的单向VPN&#xff0c;根据VPN原理&#xff0c;打通两个内网必然需要借助一个公共中继节点&#xff0c;ktconnect工具巧妙的利用k8s原生的portforward能力&#xff0c;简化了建立连接的过程&#xff0c;apiserver间接起到了中继节…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)

文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...

智能分布式爬虫的数据处理流水线优化:基于深度强化学习的数据质量控制

在数字化浪潮席卷全球的今天&#xff0c;数据已成为企业和研究机构的核心资产。智能分布式爬虫作为高效的数据采集工具&#xff0c;在大规模数据获取中发挥着关键作用。然而&#xff0c;传统的数据处理流水线在面对复杂多变的网络环境和海量异构数据时&#xff0c;常出现数据质…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

【分享】推荐一些办公小工具

1、PDF 在线转换 https://smallpdf.com/cn/pdf-tools 推荐理由&#xff1a;大部分的转换软件需要收费&#xff0c;要么功能不齐全&#xff0c;而开会员又用不了几次浪费钱&#xff0c;借用别人的又不安全。 这个网站它不需要登录或下载安装。而且提供的免费功能就能满足日常…...