首页 > 其他分享 >顺序结构(二)

顺序结构(二)

时间:2024-07-11 22:25:42浏览次数:10  
标签:字符 顺序 输出 int double printf ASCII 结构

上接课我们学习了顺序结构(一),今天我们来学习顺序结构(二),好了废话不多说!我们现在开始我们今天的学习!

课程章节介绍  顺序结构(二)

  • 字符型
  • C语言风格
  • ASCII码
  • 类型转换
  • cmath头文件

数据类型

类型字节数范围
char1-128-127

字符类型的变量声明:

char m; //定义变量m为字符型。
char n = 'a'; //定义变量n为字符型,并且将‘a’的值赋予变量n。

【注意】

  • 字符型的值只能用单引导起来,不能双引导或其他括号。
  • 字符型常量只能是单个字,错误写法:‘abc‘。
  • 字符的值可以是任意的单个字符,数字如作为一个字符使用,将不能参加数值运算,如’5‘和是不同的。

输入和输出风格

C++风格

#include <iostream> //当然我们也可以用万能头 <bits/stdc++.h>
using namespace std;
int main(){
    int x, y;
    cin >>  x >> y;
    cout << x+y <<endl;

    return 0;
}

C风格:

#include <cstdio>
using namespace std;
int main(){
   int  x, y;
   scanf("%d%d",&x,&y);
   printf("%d\n",x+y);

       return 0;
    
}

上面就是C++和C语言的输出和输入的风格了;

占位符

占位符说明
%d一个十进制的整数(decimal),用于int类型。
%dn(n是正整数)输出一个整数,如果不足n位,前面用空格补齐直到n位。
%lld一个十进制的长整数(long long decimal),用于long longl类型。
%f读入或者输出floot类型。
%If读入或者输出double类型。
%.nIf(n是正整数)输出一个整数,如果不足n位,前面用0补齐直到n位。
%0nd输出一个整数,如果不足n位,前面用0补齐直到n位。
%c一个char类型的字符
%s一个字符串

转义字符

转义字符含义
'\n'换行
'\t'水平制表
'\b'退格
'\r'回车(不换行)
'\0'空字符
'\’'单引导
'\”'双引导
'\\'一个反斜杠字符
'\ddd'1-3位八进制数所代表的字符
'\xhh'1-2位十六进制数所代表的字符

代码练一练

实例1:保留小数

本题用scanfprintf完成输入和输出,用输入一个浮点数double),输出这个浮点数并且保留三位小数。

【输入样例】:1.2345678

【输出样例】:1.235

3    2     1 答案出示

#include <cstdio>
using namespace std;
int main(){
    double a;
    scanf("%lf", &a);
    printf("%.3lf\n" ,a);

return 0;
}

实例Z:数字反转

输入一个小于100且小于1000,同时包含小数点后一位的一个浮点数,例如:123.4,要求把这个数字翻转过来,变成4.321并且输出。要求使用scanf/printf完成此题。

//方法一

#include<cstdio>
using namespace std;
int main(){
    double m;
    scanf("%lf",&m);
// 获得一个四位整数(强制转换)
    int n = int(m*10); 
    int a,b,c,d;
    a = n%10; //获得个位
    b = n/10%10; //获得十位
    c = n/100%10; //获得百位
    d = n/1000; //获得千位
printf("%d.%d%d%d\n"a,b,c,d);
return 0;
}
//方法二


#include<cstdio>
using namespace std;
int main(){
    char a,b,c,d;
    scanf("%c%c%c.%c", &a,&b,&c,&d);
    printf("%c.%c%c%c\n", d,c,b,a);
return 0;
}

解法一:将小数变成整数,再依次获取各个小数。、

解法二:使用%c依次读入字符,再依次输出。

ASCII码

在C++中,当一个字符型的被用户输入进入程序后,例如'a',并不是'a’本身被储存在变量内的,而是一个整数被储存在变量里的。

                                                        ASCII码

字符'a'  'A'  'I'  '#'等  ——————————————————  整数

ASCII码介绍:

ASCII(American Standard Code for Information lnerchange)是美国信息交换标准代码,发明于1963年,ASCII码是7位代码,足够存储128个不同的值。扩展范围后,足够表示大小写字母,数字和标点符号等。ASCII核心思想:用数字代表字符。

代码练一练(ASCII码)

输入一个大写字母(A-Z) ,输出对应的小写字母

【输入样例】 D

【输出样例】 d

3           2            1 答案出示:

#include<cstdio>
using namespace std;
int main(){
    char c;
    scanf("%c", &c);
//小写字母的ASCII值比对应的大写字母大32
   printf("%c\n",c+32);
return 0;
}

布尔类型

在C++中,布尔类型 (boolean)只有两个值,true(真)和false(假).布尔数据是用来判断真假的。类似一个开关,要么闭合状态,要么断开状态。、

布尔类型变量的定义:

bool isCodingFun = true;
bool isFishTasty = false;

cout<<isCodingFun<<endl; //返回1
cout<<isFishTasty<<endl; //返回0

【注意】

true转换为整型值为1,false转换为整型值为0。

类型转换

1. 混合运算时的类型转换

  1. 整型、浮点型、字符型数据之间可以混合运算。在这种情况下,需要将不一致的数据类型转换为一致的 数据类型。为了保证精确度,系统在运算时的转换规则是将存储长度较短的运算对象转换为存储长度较 长的转换类型,然后在进行处理,这种转换是系统自动进行的。
  2. 纵向箭头表示参与计算时一定会进行转换,如float数据类型必先转换为double数据类型,然后与其他 操作数进行运算。
  3. 横向箭头表示当运算对象为不同数据类型时的转换方向,如int型和double型进行运算,int型直接转换 double型后进行运算。

2. 赋值时的类型转换规则

  1. 当赋值运算符两侧的数据类型不同时,需进行类型转换(系统自动进行)。
  2. float、double赋值给int,直接截断小数。
  3. int、char赋值给float、double,补足有效位进行数据转换。
  4. char(1字节)赋值给int(4字节),根据ascii码转换。
  5. long long int转换给int,截断有效字节给int。

cmath头文件常用函数

总结

好了今天的课程就结束了,再见! 

标签:字符,顺序,输出,int,double,printf,ASCII,结构
From: https://blog.csdn.net/2301_76667209/article/details/140360817

相关文章

  • python的选择循环结构
    Python中的选择循环结构是编程中非常基本且强大的部分,它们允许程序根据条件执行不同的代码块。Python中主要有两种选择结构(条件语句)和一种循环结构。选择结构(条件语句)if语句if语句执行是从上往下判断,如果在某个判断上是True,把该判断对应的语句执行后,剩余部分会被忽略。这里......
  • 数据结构复习计划之复杂度分析(时间、空间)
    第二节:算法时间复杂度和空间复杂度算法(Algorithm):是对特定问题求解方法(步骤)的一种描述,是指令的有限序列,其中每一条指令表示一个或多个操作。算法可以有三种表示形式: 伪代码 自然语言 流程图算法的五个特性①有穷性:一个算法必须总是在执行有穷步......
  • 【数据结构】双向链表
    Hi~!这里是奋斗的小羊,很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎~~......
  • 02-线性结构3 Reversing Linked List(C)
    日常,21分共25分1.有多余结点不在链表上.............................................段错误2.最大N,最后剩K-1不反转.........................................运行超时Givenaconstant K andasinglylinkedlist L,youaresupposedtoreversethelink......
  • 数据结构(复杂度)
    复杂度算法在编写成可执行程序后,运⾏时需要耗费时间资源和空间(内存)资源。因此衡量⼀个算法的好坏,⼀般是从时间和空间两个维度来衡量的,即时间复杂度和空间复杂度。时间复杂度主要衡量⼀个算法的运⾏快慢,⽽空间复杂度主要衡量⼀个算法运⾏所需要的额外空间。在计算机发展的......
  • 线性表——顺序栈
    #include<bits/stdc++.h>usingnamespacestd;#defineMaxSize2typedefstruct{ intdata[MaxSize]; inttop;}SqStack;//初始化voidInitStack(SqStack&S){ S.top=-1;}//判断栈空和已入栈元素个数voidStackEmpty(SqStackS){ if(S.top==-1) cout<<&......
  • 嵌入式学习——C语言数据结构(三)
    七、赋值运算符    1、+=     加且赋值         C += A;等价于C=C+A    2、-=      减且赋值         C -= A;等价于C=C-A    3、*=      乘且赋值      ......
  • 4-1.张量的结构操作
    文章最前:我是Octopus,这个名字来源于我的中文名–章鱼;我热爱编程、热爱算法、热爱开源。所有源码在我的个人github;这博客是记录我学习的点点滴滴,如果您对Python、Java、AI、算法有兴趣,可以关注我的动态,一起学习,共同进步。本篇我们介绍张量的结构操作。张量结构操作主......
  • 数据结构(Java):集合类LinkedList&集合类Stack
    1、集合类LinkedList1.1什么是LinkedListLinkedList的底层是一个双向链表的结构(故不支持随机访问):在LinkedList中,定义了first和last,分别指向链表的首节点和尾结点。每个节点中有一个成员用来存储数据,还有两个指针域next和prev分别存储下一个节点和上一个节点的地址。Link......
  • Python 数组类型转树形结构
    今天突然想用到这个功能 结果百度到的 基本是写乱糟糟的一堆代码 无奈只好亲自操刀话不多说,先上代码:classTools:@staticmethoddeflist_to_tree(data,pid=0):children=[itemforitemindataifitem['pid']==pid]forchildinchi......