七天学会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语言的多个基本概念。

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

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

相关文章

数据优化与可视化:3D开发工具HOOPS在BIM模型轻量化中的作用分析

在建筑和工程领域&#xff0c;BIM&#xff08;建筑信息建模&#xff09;是一种重要的数字化工具&#xff0c;但大型BIM模型往往需要大量的计算资源和存储空间。为了解决这一问题&#xff0c;HOOPS技术成为了一种关键工具&#xff0c;可以帮助实现BIM模型轻量化&#xff0c;提高…

uni-app 前端项目(vue)部署到本地win系统Nginx上

若依移动端的项目&#xff1a;整合了uview开源ui框架&#xff0c; 配置后端请求接口基本路径地址&#xff1a; 打包复现到nginx下&#xff1a; 安装个稳定版本的&#xff1a;nginx-1.24.0 部署配置&#xff1a; 增加了网站&#xff1a;8083端口的&#xff0c; 网站目录在ngi…

怒刷LeetCode的第2天(Java版)

目录 第一题 题目来源 题目内容 解决方法 方法一&#xff1a;滑动窗口 方法二&#xff1a;双指针加哈希表 第二题 题目来源 题目内容 解决方法 方法一&#xff1a;二分查找 方法二&#xff1a;归并排序 方法三&#xff1a;分治法 第三题 题目来源 题目内容 解…

Spring AOP使用指南: 强大的面向切面编程技术

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f984; 博客首页——&#x1f405;&#x1f43e;猫头虎的博客&#x1f390; &#x1f433; 《面试题大全专栏》 &#x1f995; 文章图文…

照片批量处理 7000张

需求&#xff1a; 有6700照片导入系统&#xff1b; 系统只支持500张/每次&#xff1b; 6700 按机构分类复制提取出来&#xff1b; 分批次导入&#xff1b; 6700 分17份复制到对应文件夹中&#xff1b; 照片按照学号命名的&#xff1b; 20231715401.jpg 开始用bat脚本…

9月8日作业

思维导图 栈stack.h #ifndef STACK_H #define STACK_H #include <iostream> #define MAXSIZE 128using namespace std; class Stack { public://构造函数Stack();//析构函数~Stack();//拷贝构造函数Stack(const Stack &other);//入栈bool push(int value);//出栈并返…

技师学院物联网实训室建建设方案

一、概述 1.1专业背景 物联网&#xff08;Internet of Things&#xff09;被称为继计算机、互联网之后世界信息产业第三次浪潮&#xff0c;它并非一个全新的技术领域&#xff0c;而是现代信息技术发展到一定阶段后出现的一种聚合性应用与技术提升&#xff0c;是随着传感网、通…

Docker 恶意挖矿镜像应急实例

01、概述 当网络流量监控发现某台运行多个docker容器的主机主动连接到一个疑似挖矿矿池的地址时&#xff0c;需要快速响应和排查&#xff0c;以阻止进一步的损害。 面对docker容器的场景下&#xff0c;如何快速分析和识别恶意挖矿容器?本文将分享一种应急响应思路&#xff0c;…

基于matlab实现的电力系统稳定性分析摆幅曲线代码

完整程序&#xff1a; clear; clc; t 0; tf 0; tfl 0.5; tc 0.5; % tc 0.05, 0.125, 0.5 sec for 2.5 cycles, 6.25 cycles & 25 cycles resp ts 0.05; m 2.52 / (180 * 50); i 2; dt 21.64 * pi / 180; ddt 0; time(1) 0; ang(1) 21.64; pm 0.9; pm1 2.44;…

Redis3.2.1如何设置远程连接?允许局域网访问

背景&#xff1a; 电脑A的redis需要开放给电脑B使用&#xff0c;二者处于同一局域网 【后面会补充更详细的踩坑历程&#xff0c;先发出来作为记录】 过程&#xff1a; 在你查了很多方法后&#xff0c;如果还是没有解决&#xff0c; 尝试考虑一下你的redis配置文件是不是修…

零基础VB6无壳P-CODE逆向分析(VB Decompiler应用与避坑)

> 前言 最近从朋友那里拿到了一个加密狗授权的软件安装包,秉承着LCG的精神,开启了逆向之路,经过查壳和综合分析确定是VB6编写的程序(这年头使用VB6开发商业程序的还真少见),作为一名C# Winform的业余程序员,靠着C#的知识勉强分析个大概. > 授权简介 软件共分三种授权模…

一场深刻的开源聚会:KCC@北京 9.2 活动回顾

开源为我们带来了什么&#xff1f;这是这场聚会的宣传文的标题&#xff1a;https://mp.weixin.qq.com/s/5sR6TPEpQmYNBnCtVilkzg 同样这个问题也可以是极具个体化的&#xff1a;开源为我带来了什么&#xff1f;秋天的周末&#xff0c;预报有雨&#xff0c;北京的开源人还是相聚…

脚本:用python实现五子棋

文章目录 1. 语言2. 效果3. 脚本4. 解读5. FutureReference 1. 语言 Python 无环境配置、无库安装。 2. 效果 以第一回合为例 玩家X 玩家0 3. 脚本 class GomokuGame:def __init__(self, board_size15):self.board_size board_sizeself.board [[ for _ in range(board_…

对IP协议概念以及IP地址的概念进行简单整理

网络层重要协议 参考模型和协议栈IP协议IPv4数据报IP数据报格式IPv4地址特殊IP地址私有IP地址和公有IP地址子网划分 参考模型和协议栈 IP协议 IP协议定义了网络层数据传送的基本单元&#xff0c;也制定了一系列关于网络层的规则。 IPv4数据报 网络层的协议数据单元PDU 叫做分…

基于Java+SpringBoot+Vue+uniapp点餐小程序(包含协同过滤算法和会员系统,强烈推荐!)

校园点餐小程序 一、前言二、我的优势2.1 自己的网站2.2 自己的小程序&#xff08;小蔡coding&#xff09;2.3 有保障的售后2.4 福利 三、开发环境与技术3.1 MySQL数据库3.2 Vue前端技术3.3 Spring Boot框架3.4 微信小程序 四、功能设计4.1 系统功能结构设计4.2 主要功能描述 五…

【初阶数据结构】栈和队列——C语言(详解)

目录 一、栈 1.1栈的概念及结构 1.2栈的实现 1.2.1静态栈的实现 1.3动态栈的实现 1.3.1栈的创建 1.3.2栈的初始化 1.3.3栈的清空销毁 1.3.4栈的元素插入 1.3.5栈顶元素的删除 1.3.6返回栈顶数据 1.3.7求栈的大小 1.3.8判断栈是否为空 二、栈的实现完整代码 三、队…

Unity 动画系统

动画系统包含&#xff1a; 动画片段 Animation Clip&#xff0c;记录物体变化的信息&#xff0c;可以是角色的闪转腾挪&#xff0c;也可以是一扇门的开闭动画状态机 Animator Controller&#xff0c;根据设置切换动画片段动画组件 Animator&#xff0c;Animation替身 Avatar&a…

数据结构基础8:二叉树oj+层序遍历。

二叉树oj层序遍历 题目一&#xff1a;二叉树的销毁&#xff1a;方法一&#xff1a;前序遍历&#xff1a;方法二&#xff1a;后序遍历&#xff1a; 题目二&#xff1a;二叉树查找值为x的节点方法一&#xff1a;方法二&#xff1a;方法三&#xff1a; 题目三&#xff1a;层序遍历…

透视俄乌网络战之二:Conti勒索软件集团(下)

透视俄乌网络战之一&#xff1a;数据擦除软件 透视俄乌网络战之二&#xff1a;Conti勒索软件集团&#xff08;上&#xff09; Conti勒索软件集团&#xff08;下&#xff09; 1. 管理面板源代码2. Pony凭证窃取恶意软件3. TTPs4. Conti Locker v2源代码5. Conti团伙培训材料6. T…

【Linux从入门到精通】多线程 | 线程互斥(互斥锁)

上篇文章我们对线程 | 线程介绍&线程控制介绍后&#xff0c;本篇文章将会对多线程中的线程互斥与互斥锁的概念进行详解。同时结合实际例子解释了可重入与不被重入函数、临界资源与临界区和原子性的概念。希望本篇文章会对你有所帮助。 文章目录 引入 一、重入与临界 1、1 可…