(三)输出函数

C语言的输出函数:


#include <stdio.h>

/**
	printf()输出函数 
	%c char占位符 
	%d 整型占位符
	%hd 短整型占位符 
	%ld 长整形占位符 
	%f float占位符 
	%lf double占位符 
	%u 无符号占位符
	%x 16进制
	%o 八进制
	%s 字符串 
*/
void main(){
	char c = 'a';
	int d = 222222222;
	short hd = 12332;
	long ll = 123213123;
	float f= 3.1521f;
	double dd= 3.12576413581;
	
	//C语言定义字符串相当于定义一个char数组,没有String类型关键字
	char str[] = "what the fuck?";
	
	printf("c = %c\n",c); 
	printf("d = %d\n",d); 
	printf("hd = %hd\n",hd); 
	printf("ld = %ld\n",ll); 
	printf("f = %f\n",f);
	printf("lf = %lf\n",dd);  
	printf("str = %s\n",str); 
} 

C语言输出函数需要用占位符去代替变量,而不像java一样 可以随意用 + 号来连接要输出的各种内容。C语言中对于不同变量的占位符也不一样,详情如上所写。

上面程序运行结果:

c = a
d = 222222222
hd = 12332
ld = 123213123
f = 3.152100
lf = 3.125764
str = what the fuck?

注意点:

一:必须选用正确的占位符,要不会出现错误。比如,一个整型数据使用一个短整型占位符输出,那么数据会不正确,因为short类型2字节,int类型4字节,所以高位2字节会被截取。

二:浮点型数据默认显示小数点后六点,根据需要可指定保留小数的位数,方法如下:

printf("lf = %0.11lf\n",dd);  
在%号后面 加上 .与所要保留的小数位数即可。 比如想要保留11位小数  那么就在%后面加上 .11。


三:如何定义与输出字符串。(如何定义一个汉字?)

C语言中没有String类型, 一个汉字2字节,但一个char只代表一个字节,所以不能这样使用 char str = '好'。C语言中定义字符串就是定义一个char型数组。

	//C语言定义字符串相当于定义一个char数组,没有String类型关键字
	char str[] = "what the fuck?";
输出一个字符串:

	printf("str = %s\n",str); 
使用%s占位符。那么如何输入字符串中的一个字呢?
假如定义一个这样的字符串:

char str[] = "你好?";
那么要输出第一个汉字,就要输出char数组的第一个和第二个字节,也就是char[0],char[1]

	printf("str = %c%c\n",str[0],str[1]); 
结果:

str = 你

四:一个变量前加上一个&符号是什么意思?  是取这个变量的内存地址。

printf("内存地址=%x",&c);
结果:

内存地址=62fe37
%x是16进制的占位符。 16进制表示的时候一般前面需要加上0x 那么该如何做?

printf("内存地址=%#x",&c);
只需要在%后面加上#号就可以了。









实数格式识别 【问题描述】 合法的实数书写格式分一般格式和科学格式两种。分别描述如下: 一般格式为常见的书写格式,分为整数部分和小数部分两部分,中间分用小数点.分隔。整数部分最开始可能含有正号或负号,之后为不含前导零的数字串;小数部分是由0-9十种字符组成的任意长的字符串。当小数部分为0时,小数部分和小数点可以省略。 科学格式由系数部分和指数部分两部分组成,中间用英文字母E分隔。系数部分为实数书写的一般格式;指数部分为可带有正负号数字串。 例如,+2、-1.56为一般格式的实数,而6.2E-2、-9E8为科学格式的实数。 只有小数点而没有小数部分的书写格式为不合法,例如,23.,23.E16均为不合法的实数书写格式。 编程分析哪些数的书写是正确的,是用哪种方式书写的。 【输入形式】 输入文件为当前目录下的real.in。 该文件包含一个字符串(长度不超过20个字符),以回车符结束,表示一个数据(无多余空格)。 【输出形式】 输出文件为当前目录下的real.out。 该文件有一行。如果输入数据的书写是非法的,输出Wrong;如果输入数据是用一般格式书写的,输出“Format1”;如果该数据是用科学格式书写的,输出“Format2”。输出的末尾均要以一个回车符作为结束。 【输入样例1】 +1.23 【输出样例1】 Format1 【输入样例2】 -5.1.1 【输出样例2】 Wrong 【输入样例3】 -5.1E-2 【输出样例3】 Format2 【时间限制】 1s 【空间限制】 65536KB
51单片机的输入输出函数主要包括以下几个: 1. P0口输入输出函数:P0口是一个8位的I/O口,可以通过P0口输入或输出数据。P0口的输入输出函数包括P0输入函数和P0输出函数。 P0输入函数: ```c unsigned char P0_input(void) { unsigned char temp; temp=P0; return temp; } ``` P0输出函数: ```c void P0_output(unsigned char dat) { P0=dat; } ``` 2. P1口输入输出函数:P1口是一个8位的I/O口,可以通过P1口输入或输出数据。P1口的输入输出函数包括P1输入函数和P1输出函数。 P1输入函数: ```c unsigned char P1_input(void) { unsigned char temp; temp=P1; return temp; } ``` P1输出函数: ```c void P1_output(unsigned char dat) { P1=dat; } ``` 3. P2口输入输出函数:P2口是一个8位的I/O口,可以通过P2口输入或输出数据。P2口的输入输出函数包括P2输入函数和P2输出函数。 P2输入函数: ```c unsigned char P2_input(void) { unsigned char temp; temp=P2; return temp; } ``` P2输出函数: ```c void P2_output(unsigned char dat) { P2=dat; } ``` 4. P3口输入输出函数:P3口是一个8位的I/O口,可以通过P3口输入或输出数据。P3口的输入输出函数包括P3输入函数和P3输出函数。 P3输入函数: ```c unsigned char P3_input(void) { unsigned char temp; temp=P3; return temp; } ``` P3输出函数: ```c void P3_output(unsigned char dat) { P3=dat; } ``` 以上是51单片机的输入输出函数。需要注意的是,以上函数需要根据具体的硬件电路进行相应的修改,以适应不同的应用场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值