2023-04-16 学习记录--C/C++-邂逅C/C++(上)

这篇具有很好参考价值的文章主要介绍了2023-04-16 学习记录--C/C++-邂逅C/C++(上)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

合抱之木,生于毫末;九层之台,起于累土;千里之行,始于足下。💪🏻

一、固定格式 ⭐️

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

stdio的理解: abbr.标准输入输出(standard input/output)。

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

二、printf语句(输出语句) ⭐️

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

(一)、前提【重要】

(仅个人初学者用来记忆所用,待学有所长后会完善更新这部分内容,谢谢评论里滴小阔耐指出💐)

注意:对于最后一个输出的语句,必须在后面加上\n换行符),不然输出结果后面会默认加个%,如下举例:👇🏻

1、不推荐写法 ❎
#include <stdio.h>
int main()
{
    printf("我们来学习C/C++呀"); // 我们来学习C/C++呀%【注意:对于最后一个输出的语句,必须在后面加上\n(换行符),不然输出结果后面会默认加个%】
    return 0;
}
#include <stdio.h>
int main()
{
    printf("我们来学习");
    printf("C/C++呀"); // 我们来学习C/C++呀%【注意:对于最后一个输出的语句,必须在后面加上\n(换行符),不然输出结果后面会默认加个%】
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

2、推荐写法 ✅
#include <stdio.h>
int main()
{
    printf("我们来学习C/C++呀\n"); // 加上换行符\n
    return 0;
}
#include <stdio.h>
int main()
{
    printf("我们来学习");
    printf("C/C++呀\n"); // 加上换行符\n
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

(二)、换行符(\n)

\nnext line,表示换行操作,光标移动到下一行。

#include <stdio.h>
int main()
{
    printf("我们来学习\nC/C++呀\n");
    return 0;
}
#include <stdio.h>
int main()
{
    printf("我们来学习\n");
    printf("C/C++呀\n");
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

(三)、制表符(\t)

\ttab,表示水平制表空行操作,相当于键盘上的Tab键,不会换行。

#include <stdio.h>
int main()
{
    printf("我们来学习\tC/C++呀\n");
    return 0;
}
#include <stdio.h>
int main()
{
    printf("我们来学习\t");
    printf("C/C++呀\n");
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

(四)、回车符(\r)

\rreturn,表示回车操作,光标回到本行首位置,不会换行;

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

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

  1. int:整数型,用于定义整数类型的数据;int a = 3;
  2. float:单精度浮点型,准确到小数点后六位;float a = 3.14;
  3. double:双精度浮点型,准确到小数点后十二位;double a = 3.14;
  4. char:字符型,用于定义字符类型的数据。char a = 'A';注意:单引号

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

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

  1. 整数型(int):%d
  2. 单精度浮点型、双精度浮点型(floatdouble):%f
  3. 字符型(char):%c
    2023-04-16 学习记录--C/C++-邂逅C/C++(上)
#include <stdio.h>
int main()
{
    /** 使用变量前必须先定义 */
    int a = 5, b;
    double c = 3.14, d;
    char e = 'E', f;
    /** 计算 */
    b = a % 2;  // 求余数 5%2=1
    d = c * 2;  // 6.280000
    f = e + 32; // 'e' 【ASCII码表中,大写字母在前,小写字母在后;大写字母与小写字母的ASCII码值相差32:大写字母+32=小写字母,小写字母-32=大写字母】
    /** 输出结果 */
    printf("b的值为%d\n", b); // int -> %d
    printf("d的值为%f\n", d); // double -> %f
    printf("f的值为%c\n", f); // char -> c%【对于最后一个输出的语句,必须在后面加上\n(换行符)】
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

补充知识点:💐

  • ASCII码表中,大写字母在前,小写字母在后;
  • 大写字母与小写字母的ASCII码值相差32大写字母+32=小写字母小写字母-32=大写字母

五、用scanf语句输入int、float、double、char型数据 ⭐️

1、作用 🌈:scanf语句是让用户输入内容。
2、举例 📚:(让用户输入两个整数型变量:a,b)

  • int a,b; // 自定义整数型变量a b
  • scanf("%d,%d",&a,&b); // 题目让输入几个整数,就写几个%d;引号里面有几个%d,引号外面对应有几个变量,变量前加个&符号。
  1. 整数型(int):%d
  2. 单精度浮点型(float):%f
  3. 双精度浮点型(double):%lf
  4. 字符型(char):%c
    2023-04-16 学习记录--C/C++-邂逅C/C++(上)
#include <stdio.h>
int main()
{
    /** 使用变量前必须先定义 */
    int a;    // 整数型
    float b;  // 单精度浮点型型
    double c; // 双精度浮点型型
    char d;   // 字符型
    /** 让用户输入对应值 */
    printf("请输入一个整数值a:\n");
    scanf("%d", &a); // scanf里:int -> %d
    printf("请输入一个小数值b:\n");
    scanf("%f", &b); // scanf里:float ->%f
    printf("请输入一个小数值c:\n");
    scanf("%lf", &c); // scanf里:double -> %lf
    printf("请输入一个字符d:\n");
    scanf("%c", &d); // scanf里:char -> %c
    d = getchar(); // 把键盘输入的第1个字符赋值给变量d。由于缓冲区问题,若不加上这段代码,在输出时,scanf("%c", &d);这行代码会失效,具体解释见下方
    /** 输出结果 */
    printf("a的值为%d\n", a); // printf里:int -> %d
    printf("b的值为%f\n", b); // printf里:float ->%f
    printf("c的值为%f\n", c); // printf里:double -> %f
    printf("d的值为%c\n", d); // printf里:char -> %c
    return 0; // 程序正常运行结束
}

重点】需要注意的是,在读取字符型变量时,可能会遇到缓冲区的问题。由于之前的输入会在缓冲区中留下 换行符,因此在读取字符型变量时,可能会直接读取到换行符,导致 输出不符合预期。可以在读取字符型变量前加入getchar()函数来 清除缓冲区中的换行符,例如 scanf("%c", &d);d =getchar();

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

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

  1. getchar():从键盘上得到某一个字符;
  2. putchar():把某一个字符呈现到屏幕上。

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

#include <stdio.h>
int main()
{
    /** 使用变量前必须先定义 */
    char a, b, c; // 定义3个字符a b c
    /** 让用户输入对应值 */
    printf("请输入您的英文名大写:\n");
    a = getchar(); // 键盘输入的第1个字符赋值给变量a
    b = getchar(); // 键盘输入的第2个字符赋值给变量b
    c = getchar(); // 键盘输入的第3个字符赋值给变量c
    /** 计算 */
    a = a + 32; // 转换成小写字母
    b = b + 32; // 转换成小写字母
    c = c + 32; // 转换成小写字母
    /** 输出结果 */
    putchar(a);    // 输出字符变量a
    putchar(b);    // 输出字符变量b
    putchar(c);    // 输出字符变量c
    putchar('\n'); // 输出换行符(用的单引号)【对于输出型语句,最后一条输出语句的末尾需输出换行符(\n)】
    /** 程序正常运行结束 */
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

七、数学运算 ⭐️

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

详情请查看我的另一篇博文哦~

八、三个小知识点 ⭐️

(一)、%m.nf

%m.nf:表示输出的数字总共占m个格,其中小数点后占n个格。

若输出后 数字占格不够,其处理步骤是:💐

  • 第1步📚、观察小数点后占格是否等于n,若不等于,就在小数点后的值后面补所需个数的0
  • 第2步📚、在第1步处理后的基础上,计算数字总占格数是否等于m,若不等于,则 判断m的正负
    • 1、若m,在数字补所需个数的空格
    • 2、若m,在数字补所需个数的空格
example1:🎈

举例 🌈:double a=3.67; printf("输出的a为%7.4f\n",a);
推论 📚:由已知条件可知:m=7>0n=4,通过上面处理步骤可知:3.67需补两个03.6700需补一个空格,所以最终结果为:
结果 💐:输出的a为 3.6700

#include <stdio.h>
int main()
{
    /** 使用变量前必须先定义 */
    double a = 3.67;
    /** 输出结果 */
    printf("输出的a为%7.4f\n", a); // 记得加换行符\n
    /** 程序正常运行结束 */
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

example2:🎈
#include <stdio.h>
int main()
{
    /** 使用变量前必须先定义 */
    double a, b, c;
    /** 赋值 */
    a = 3.67;
    b = 5.43;
    c = 6.21;
    /** 输出结果 */
    printf("设定的是%5.2f,b是%-5.2f,c是%7.4f\n", a, b, c); // 记得加换行符\n
    /** 程序正常运行结束 */
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)
2023-04-16 学习记录--C/C++-邂逅C/C++(上)

(二)、%e

1、%e的定义

%e:以科学计数法的形式来表现。
%e默认 小数点后面6位数,然后e+0几总共占4个格。

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

比如 🌈:printf("身高是%e厘米\n", 123.456);
推论 📚:

  • 因为:10^2=e+02, 10^3=e+03。。。以此类推;
  • 所以123.456=1.23456*10^2=1.23456e+02(未完);
  • 又因为 “%e默认小数点后面取6位数,然后e+0几总共占4个格。”,而1.23456小数点后是5位,
  • 所以需在6后面补个0,即上面=1.234560e+02。

最终结果为 💐:身高是1.234560e+02厘米

#include <stdio.h>
int main()
{
    /** 输出结果 */
    printf("身高是%e厘米\n", 123.456); // 记得加换行符\n
    /** 程序正常运行结束 */
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

2、%e之间也可以加小数表示限制

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

比如 🌈:printf("身高是%10.2e厘米\n", 123.456);
推论 📚:%10.2e表示总共10格,小数点后占2格;又因为1.23e+02占了8格 且 10>0,所以还需在前面补两个空格
最终结果 💐:身高是 1.23e+02厘米

#include <stdio.h>
int main()
{
    /** 输出结果 */
    printf("身高是%10.2e厘米\n", 123.456); // 记得加换行符\n
    /** 程序正常运行结束 */
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

(三)、(int)(表达式)

(int)(表达式):将表达式结果强制转成整形(即抹去表达式结果中的小数点,向下取整)。

example1:🎈

题目:求9999.999的千位数。

#include <stdio.h>
int main()
{
    /** 使用常量/变量前必须先定义 */
    float a = 9999.999; // 自定义常量a
    int b;              // 自定义变量b
    /** 计算 */
    b = (int)(a / 1000);
    /** 输出结果 */
    printf("%f的千位数是%d\n", a, b); // 记得加换行符\n
    /** 程序正常运行结束 */
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

example2:🎈

题目:输入一个大于0小于999的可以带小数的数字,并输出其个位、十位以及百位数字。

#include <stdio.h>
int main()
{
    /** 使用常量/变量前必须先定义 */
    double a;         // 自定义一个大于0小于999可为小数的值a
    int ge, shi, bai; // 自定义变量ge(个位数)、shi(十位数)、bai(百位数)
    /** 用户输入 */
    printf("请输入一个大于0小于999可为小数的值:\n"); // 提示信息
    scanf("%lf", &a); // 用户输入a的值
    /** 计算 */
    bai = (int)(a / 100); // 因为a最多是3位数,所有先求出它的百位数 eg. 321.1/100=3.211;(int)(3.211)=3 即321.1的百位数是3
    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); // 记得加换行符\n
    /** 程序正常运行结束 */
    return 0;
}

2023-04-16 学习记录--C/C++-邂逅C/C++(上)

下一篇:邂逅C/C++(中)

【注意】涉及计算的变量一定要给初始值。

2023-04-16 学习记录--C/C++-邂逅C/C++(上)文章来源地址https://www.toymoban.com/news/detail-447107.html

到了这里,关于2023-04-16 学习记录--C/C++-邂逅C/C++(上)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Xubuntu16.04系统中create_ap开启5G网络的踩坑记录

    Xubuntu16.04系统中安装create_ap创建无线AP: https://blog.csdn.net/qq_45445740/article/details/133972642?spm=1001.2014.3001.5501 /etc/create_ap.conf 推荐测试信号强度的APP 有时候明明信号强度很好,但延时却很高,可能是当前信道的网络较多。 要判断哪个信道不拥堵,可以考虑以下几个因素: 信道的

    2024年02月08日
    浏览(38)
  • HDC.Cloud 2023|邂逅AI,华为云CodeArts铸就研发效能10倍提升

    2023年7月7日-9日,华为开发者大会2023(Cloud)在东莞松山湖隆重举行。期间,华为云主办了以“AI‘邂逅’一站式软件开发,CodeArts以10倍效能“绘”企业应用远景”为主题的分论坛。 华为云PaaS服务产品部副部长汪维敏携一众技术大咖,献上一场“现代化软件研发”技术盛宴。

    2024年02月16日
    浏览(49)
  • 【HDC.Cloud 2023】小白与AI在华为云Codelabs的第一次邂逅

    从事开发两年的时间,每天都在业务场景和代码中辗转反侧,与大多数开发者同学一样,每天看着枯燥的代码非常非常无聊… 突然!偶然的机会!公司需要用到AI相关的内容,这不仅勾起了公司的兴趣,也勾起了我对AI的兴趣(也不算偶然,最近人工智能很多产品的横空出世

    2024年02月13日
    浏览(88)
  • 汇编原理学习记录:物理地址=段地址*16+偏移地址

    8086计算机拥有20根地址总线和16根数据总线,地址总线中的16根和数据总线存在复用 数据总线的数量决定了数据总线的宽度,决定了处理器的位数,有多少根数据总线就是多少位的处理器。 在现代计算机系统中,寄存器的位数和数据总线的位数总是保持一致或相近的。 地址的

    2024年02月10日
    浏览(43)
  • (学习日记)2023.04.25

    写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几

    2024年02月08日
    浏览(75)
  • (学习日记)2023.04.28

    写在前面: 由于时间的不足与学习的碎片化,写博客变得有些奢侈。 但是对于记录学习(忘了以后能快速复习)的渴望一天天变得强烈。 既然如此 不如以天为单位,以时间为顺序,仅仅将博客当做一个知识学习的目录,记录笔者认为最通俗、最有帮助的资料,并尽量总结几

    2024年02月07日
    浏览(42)
  • cesium学习记录04-坐标系

    这些坐标定义了在用户的显示屏上的像素位置。例如,一个点的屏幕坐标可能是(x, y),其中x是从屏幕的左边开始的像素数,y是从屏幕的顶部开始的像素数。 这是一个三维空间中的点的坐标。在Cesium中,地球通常在(0,0,0)笛卡尔坐标中被建模。其他对象(如飞机或卫星)的位置

    2024年02月13日
    浏览(44)
  • Ubuntu 20.04.06 PCL C++学习记录(十八)

    @[TOC]PCL中点云分割模块的学习 参考书籍:《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,,PCL版本为1.10.0,CMake版本为3.16 PCL中实现欧式聚类提取。在点云处理中,聚类是一种常见的任务,它将点云数据划分为多个独立的簇或集群。每个簇代表点云中的一个独立物体或

    2024年04月16日
    浏览(42)
  • Ubuntu 20.04.06 PCL C++学习记录(十九)

    @[TOC]PCL中点云分割模块的学习 参考书籍:《点云库PCL从入门到精通》以及官方代码PCL官方代码链接,,PCL版本为1.10.0,CMake版本为3.16 源代码 CMakeLists.txt 运行结果 函数 pcl::RegionGrowing 是 PCL 库中提供的一种区域生长分割算法,它根据点云的几何特征(如法向量、曲率等)将点云

    2024年04月16日
    浏览(52)
  • 学习记录:2023.4.28

    1、SVG学习: 百度百科:SVG是可缩放矢量图形,是基于可扩展标记语言(标准通用标记语言的子集),用于描述二维矢量图形的一种图形格式。它由万维网联盟制定,是一个开放标准。应该是一种开放标准的矢量图形语言,可让你设计激动人心的、高分辨率的Web图形页面。用户可

    2024年02月01日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包