首页 > 其他分享 >C_THQ_ch3

C_THQ_ch3

时间:2024-07-05 20:08:19浏览次数:14  
标签:字符 putchar 输出 THQ ch3 printf 格式 输入

//用函数printf()输出数据,函数scanf()输入数据
//必须指定输入输出数据的格式,不同类型的数据指定不同的格式
//初学不必深究,重点掌握常用规则,其他随时查表
#include <stdio.h>
int main(void)
{
int a = 1, b = 2;
//函数printf()一般格式:printf(格式控制,输出表列)
//格式控制:双撇号括起的一个字符串,称为格式(控制)字符串
//格式控制字符串和输出列表是函数printf()的参数
//格式字符串包括两个信息:格式声明、普通字符
//格式声明:%格式字符
//格式声明将输出数据转换为指定格式后输出。
//普通字符:在输出时原样输出的字符。格式控制内除了格式声明外的其他所有字符。如,字母、逗号、空格、换行符(\n)
//输出表列是变量名
printf("%d,%d\n",a,b);//普通字符逗号原样输出
printf("a=%d b=%d\n",a,b);//普通字符空格原样输出

//(如上)常用格式字符:d
//用来输出一个有符号的十进制整型数据,+不输出
//可以在格式声明中指定输出数据的域宽(右到左,所占的列数)
printf("%5d\n%5d\n",12,-345);//12前3个空格;-345前1个空格
//ld输出long(长整型)数据;lld输出long long(双长整型)数据

//常用格式字符:c
//输出一个字符
char ch = 'a';
printf("%c",ch);
printf("%5c\n",ch);//指定域宽,后a前4个空格
//0~127范围内的整数输出为ASCII码对应的字符
short c = 121;
printf("%c\n",2);
//如果整数比较大,则把它二进制中最后一个字节8位的信息以字符的形式输出
//自己修改c的值体验一下,与ASCII转码表对比一下(121和377输出都是字符y)

//常用格式字符:s
//输出一个字符串
printf("%s\n","CHINA");//双撇号括住字符串,但不输出

//常用格式字符:f
//输出实数(单、双精度、长双精度),以小数形式输出
//1.基本型%f
//不指定输出数据的长度,由系统根据实际情况决定数据所占的列数
//一般是整数部分全部输出,小数部分输出6位
double d = 1.0;
printf("%f\n",d/3);//d和d/3都是双精度型
//2.指定数据宽度和小数位数%m.nf
printf("%20.15f\n",d/3);//0前3个空格,输出15位小数
//一个双精度型数据只能保证15位有效数字;float型6位、double型15位。换成float验证一下
//若用%55.50f不能保证输出的50位都是有效数字,可以验证一下
//3.输出数据左对齐%-m.nf
printf("%-25.15f,%-25.15f\n",d/3,d/3);

//常用格式字符:e
//输出指数形式的实数
printf("%e",123.456);
//若不指定输出数据宽度和小数位数,一般6位小数,指数5列(1+1+3,e1列,指数符号+-1列,指数3列)
//指定数据宽度和小数位数%m.ne
printf("%13.2e\n",123.456);
//格式符也可以写成大写E,输出数据中则也变为E

//其他格式字符:
//格式符i
//与格式符d相同,输出十进制整型数据
//格式符o
//输出八进制整数,不带符号
printf("%d\t%o\t%x\n",-1,-1,-1);//二进制八进制十六进制转换
//格式符x
//输出十六进制整数(如上)
//%lx输出长整型
//%12x指定输出宽度
//格式符u
//输出无符号十进制整型数据
//格式符g
//输出浮点数,系统自动选择f或e格式中较短的格式,不输出无意义的0
//printf("%f\t",1234567);
//printf("%e\t",1234567);
//printf("%g\n",1234567);

//格式声明的一般格式:
//%附加字符格式字符
//附加字符,如l、m、n、-


//函数scanf()一般格式:scanf(格式控制,地址表列)
//格式控制:双撇号括起的一个字符串,称为格式(控制)字符串
//格式控制字符串和地址表列是函数scanf()的参数
//格式字符串包括两个信息:格式声明、普通字符
//格式声明:%格式字符
//格式声明将输出数据转换为指定格式后输出。
//普通字符:在输出时原样输出的字符。格式控制内除了格式声明外的其他所有字符。如,字母、逗号、空格、换行符(\n)
//地址表列是变量地址,或字符串首地址

//注意事项
//scanf("a=%f,b=%f,c=%f",&a,&b,&c);
//地址表列是&a,&b,&c而不是a,b,c
//如果格式控制字符串中除了声明以外还有其他字符,
//则在输入数据时在对应的位置上输入与这些字符相同的字符
//应当输入a=1,b=3,c=2(字母等号逗号都要相同)
//%c输入字符时,空格字符和转义字符中的字符都作为有效字符输入
//scanf("%c%c%c",&c1,&c2,&c3);
/*在执行此函数时应该连续输入三个字符,中间不要有空格
如,abc而不是a b c
这样会读取前3个字符a b
输入数值需要在两个数值之间插入空格(或其他分隔符),使系统能够区分
连续输入字符时,不要插入空格(或其他分隔符),系统能够区分
在输入数值数据时,如输入空格回车Tab或遇非法字符(不属于数值的字符),认为该数据结束
scanf("%d%c%f",&a,&b,&c);
1234a123o.26
会把123给a;字符a给b;1230.26误打为123o.26,数值输入到o结束,123给c;之后的数据没有被读入
*/

int num;
printf("Enter an integer: ");
//scanf("%d",&num);
printf("You entered: %d\n", num);

//格式符和附加字符与函数printf()基本相同,有细微差别,用到查表即可


//字符输入输出函数:专门输入和输出字符
//用函数putchar()输出一个字符
//一般形式putchar(c);
//c可以是字符常/变量、整型常/变量(0~127)与ASCII转换码有关
char e = 'B',f = 'O',g = 'Y';//定义三个字符变量并初始化
//int e = 66, f = 79, g = 89;//定义3个整型变量,并初始化
//字符型属于整数型,so,将一个字符或者其对应的ASCII代码赋给字符变量作用相同,注意整型变量0~127
putchar(e);//向显示器输出字符B
putchar(f);//向显示器输出字符O
putchar(g);//向显示器输出字符Y
putchar('\n');//向显示器输出一个换行符
//用putchar()输出转义字符
putchar('\101');//输出字符A
putchar('\'');//输出转义字符单撇号
putchar('\015');//八进制15=十进制13,查表知13是回车的ASCII码so此处输入回车不换行是输出的当前位置移到本行开头
putchar('\n');

//用函数getchar()输入一个字符
//一般形式getchar();
//没有参数
//从输入设备(如键盘)输入一个字符
//一个getchar()只能接收一个字符,输入多个字符就需要多个getchar()

//char h,i,j;
//h = getchar();
//i = getchar();
//j = getchar();
//putchar(h);
//putchar(i);
//putchar(j);
//putchar('\n');
//输入BOY后回车,字符才会完成输入
//输入BOY回车和输入1回车2再回车的结果是不同的
//回车也是会被算作输入的字符的

//在函数printf()中输出第一个接收的字符
//char k;
//k = getchar();
//printf("%c\n",getchar());

//练习:给定一个大写字母输出对应小写字母
char a1,a2;
a1 = 'A';//将字符A的ASCII代码赋给变量c1
a2 = a1 + 32;//得到字符a的ASCII代码赋给c2
printf("%c\n",a2);//输出c2的值,是一个字符
printf("%d\n",a2);//输出c2的值,是字符a的ASCII代码
//变式:用getchar()从键盘读入一个大写字母,把它转换为小写字母,putchar()输出
char b1,b2;
b1 = getchar();
b2 = b1 + 32;
putchar(b2);
putchar('\n');
//变式:用printf()输出
printf("大写字母:%c\n小写字母:%c\n",b1,b2);

return 0;
}

 

标签:字符,putchar,输出,THQ,ch3,printf,格式,输入
From: https://www.cnblogs.com/Mechanic2Tinzo/p/18286534

相关文章

  • 【Rd-03E】使用CH340给Rd03_E雷达模块烧录固件
    Rd03_E指导手册安信可新品雷达模组Rd-03搭配STM32制作简易人体感应雷达灯教程http://t.csdnimg.cn/mqhkE测距指导手册网址:https://docs.ai-thinker.com/_media/rd-03e%E7%B2%BE%E5%87%86%E6%B5%8B%E8%B7%9D%E7%94%A8%E6%88%B7%E6%89%8B%E5%86%8C%E4%B8%AD%E6%96%87%E7%......
  • 高速USB转串口芯片CH343
    CH343封装截止目前,主要封装有SOP16:CH343GQFN16:CH343PESSOP10:CH343K,截止24年6月未生产CH343串口速度最高串口速度:6Mbps,比CH340的2M,快3倍1、概述参考版本:1ECH343是一个USB总线的转接芯片,实现USB转高速异步串口,同时支持115200bps及以......
  • ch3 不确定性和风险
    重点阿莱悖论(独立性)冯诺依曼公式关键了解奈特关于不确定性的研究及其基本结论;了解行为经济学对时间不确定性的分析,知道“双曲贴现”的概念并运用该理论解释相关的经济现象;熟悉期望效用理论,并能运用期望效用函数测度风险,掌握风险升水等重要概念。不确定性可能来源于......
  • CH32系列MCU SysTick使用与计算
    1、关于SysTickCH32F103/203:CH32F103/203为Cortex-M3内核,SysTick是一个24位的向下递减计数器,计数器每计数一次的时间可配置为1/时基。当SysTick重装载数寄存器的值递减到0的时候,产生一次中断。CH32F系列MCUSysTick由4个寄存器控制,具体如下图。具体介绍可参考《CM3权威指南》......
  • CF1515F Phoenix and Earthquake
    CF1515FPhoenixandEarthquake证明题。思路考虑不合法的情况,如果\(\suma_i<(n-1)\timesx\),肯定是不合法的。再考虑对于一个可行的情况,最后缩的边肯定形成一棵树,所以我们大胆假设:任意一棵生成树只要满足\(\suma_i\geq(n-1)\timesx\)有合法的缩边方案。考虑归纳证......
  • 串口U盘 - 基于STM32+CH375的郁闷的工程师利器+Arduino Laser Infrared Thermometer -
    1、串口U盘-基于STM32+CH375的郁闷的工程师利器辛勤地打工的工程师们,你们是否曾经有过这样的经历,自己辛辛苦苦为公司写的代码和设计的PCB,却无论如何都不能据为己有?因为公司不允许个人电脑上网,因为公司的电脑居然把USB口也封闭了!这时候,我们是万般地郁闷,但是,作为一个以电子开发......
  • CH57x/CH58X/CH59X/CH32F/V208OTA使用说明
    目前提供了两种OTA升级方式,方式一:带库升级;每次升级可以带着库一起进行升级(带库升级适用于flash较大的芯片)方式二:固定库升级;升级时库不会随着升级而升级(适用于flash不够用时)方式一:升级时需要同时烧录这三个固件:(可以使用isp工具同时烧录也可以使用合并工具将三个工程合并后再烧......
  • Scratch3之AI集成 - flappy bird AI版本
    AI神秘且有趣,我们一个经典的游戏flappybird集成AI,实现自训练成长的聪明的笨鸟。先上效果:初始化的笨鸟拥有分身,每个分身都有自我学习功能,根据自己的移动轨迹和得分情况进行汇总,进行新一代的笨鸟的迭代,基本经过数十轮的训练和迭代,能完成高智慧的笨鸟,自我闯关能力强。 需要了解......
  • 【WCH以太网接口系列芯片】STM32+CH390+Lwip协议栈简单应用测试
    本篇文章基于STM32F103和CH390H芯片进行例程移植及相关注意事项,简单验证TCP\UDP\Ping基础功能。硬件:STM32F103开发板+沁恒CH390H的评估版图一示,SPI使用接口为:INT->PA0,RST->PA1,CS->PA2,SCK->PA5,MISO->PA6,MOSI->PA7,WOL->PA8。 图一 软件移植:采用的沁恒官方提供的CH......
  • 关于ch340 的驱动的安装
    什么是ch340  逻辑是这样的,   开发板--->TTL--->ch340---->USB---->PC  开发板<---TTL<---ch340<----USB<----PC 安装ch340驱动是给USB端的系统安装驱动的,或者是开发板,或者是PC,也就是说,我接受ch340通过USB口的信息,需要特定的驱动的,它......