C 语言之顺序结构(下)

hi!这里是渔火。今天我们接续来讲 C 语言顺序结构。

我们来看下整型数据的输出和输入。

【1.1】整型数据的输出

#include<stdio.h>
//2023.1.31渔火 Linux迷 www.linuxmi.com
int main()
{
	int x=888;
	long int y=66880;
	printf("x=%d,y=%ld/n",x,y);
	printf("x=%o,y=%lo/n",x,y);
	printf("x=%#x,b=%#lx/n",x,y);
	printf("x=%d,y=%ld/n",x);
	printf("x+y=%ld/n",x+y,y);
	printf("输出结束!/n");
				//2023.1.31渔火 Linux迷 www.linuxmi.com
	return 0;
}

运行

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ gcc linuxmi.c -o linuxmi.out -Wformat=0

结果如下:

linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     
⚡ ./linuxmi.out
x=888,y=66880
x=1570,y=202500
x=0x378,b=0x10540
x=888,y=0
x+y=67768
输出结束!

分析:

printf("x=%d,y=%ld/n",x,y); 这行代码是以十进制形式输出的。

printf("x=%o,y=%lo/n",x,y); 这行代码是以八进制形式输出的。

printf("x=%#x,b=%#lx/n",x,y); 这行代码是以十六进制带前缀Ox形式输出的。

printf("x=%d,y=%ld/n",x); 这行代码格式字符多于输出项,,输出结果表明,当格式字符的个数多余输出项时,多余格式字符的位置将会输出一个不确定的值。

【2.1】整型数据的输入

#include<stdio.h>
//2023.1.31渔火 Linux迷 www.linuxmi.com
int main()
{
	int x,y;
	long int c;
	scanf("%d%d%ld",&x,&y,&c);
	printf("x=%d,y=%d,c=%ld/n",x,y,c);
					//2023.1.31渔火 Linux迷 www.linuxmi.com
	return 0;
}

(1)如果输入12 23 34,那么运行结果如下:


(2)如果输入12,23 34,那么运行结果如下:


分析:这是由于在输入“12,23 34”时,存在非数字符号”,“,scanf() 函数在遇到非法输入时认为数据输入结束,因此将12赋值给变量x,而后面的数据将会被舍弃,变量 y 和 c 没有正确赋值,因此 y 和 c 的值是不可预知的。

注意:scanf() 函数中的格式控制字符串”%d%d%ld“指明需输入两个 int 型数据和一个 long 型数据,且格式控制字符串中只有格式字符串,没有普通字符,因此要使变量x,y,c得到正确的结果,输入的数据之间需用空格、Tab键、或回车键进行分割。

接下来我们来看下实型数据的输入输出

【2.1】实型数据的输入输出:

#include<stdio.h>
//2023.1.31渔火 Linux迷 www.linuxmi.com
int main()
{
	float f;
	double d;
	scanf("%f%lf",&f,&d);
	printf("f=%f,d=%f/n",f,d);
	printf("f=%e,d=%e/n",f,d);
	printf("f=%4.2f,d=%.3f/n",f,d);
					//2023.1.31渔火 Linux迷 www.linuxmi.com 
	return 0;
}

如果输入201.3654 56987.685102345,那么运行结果如下:

分析:第一个数据201.3654赋值给float型变量f,第二个数据56987.685102345赋值给double型变量d。

printf("f=%f,d=%f/n",f,d); 此处输出分别以小数形式输出变量f和d的值并保留6位小数。

printf("f=%e,d=%e/n",f,d);此处输出分别以指数形式输出f和d的值。

printf("f=%4.2f,d=%.3f/n",f,d);此处输出,”%4.2f”要求保留2位小数且输出宽度是4,此时变量f的实际位数大于4,则保留2位小数后按实际位数输出,”%.3f“要求保留3位小数输出。

字符型数据的输入输出可以调用函数getchar()、scanf()和putchar()、printf()。其中getchar()和putchar()函数只能适用于单个字符的输入输出,scanf()和printf()函数可以用于多个字符的输入输出。

【3.1】字符型数据的输入输出

#include<stdio.h>
//2023.1.31渔火 Linux迷 www.linuxmi.com
int main()
{
	char a,b,c;
	scanf("%c%c%c",&a,&b,&c);
	printf("a=%3c,b=%c,c=%c/n",a,b,c);
					//2023.1.31渔火 Linux迷 www.linuxmi.com 
	return 0;
}

如果输入x y z,那么运行结果如下:


分析:这是由于在输入字符数据时,若格式控制字符串中没有非格式字符,则认为所有输入的字符均为有效字符。
(1)getchar()函数,设ch是字符型变量,函数getchar()的一般调用格式为:ch=getchar()。
(2)putchar()函数。函数putchar()的一般调用格式为:puchar(输出参数)。
【3.2】由键盘输入一个字符,将其输出到其屏幕::

#include<stdio.h>
//2023.1.31渔火 Linux迷 www.linuxmi.com
int main()
{
	char ch;
	ch=getchar();
	putchar(ch);
			//2023.1.31渔火 Linux迷 www.linuxmi.com
	return 0;
}

运行结果如下:


C 语言处理系统提供了许多实现编好的库函数,供用户在编程序时使用,这些事先编好的函数称之为库函数。
常用的库函数有:1、指数函数exp(e):计算e×。2、绝对值函数fabs(x),计算|x|。3、以e为底的对数函数log(x):计算lnx。4、幂函数pow(x,y)5、平方根函数sqrt(x)。

The post C 语言之顺序结构(下) first appeared on Linux迷.

版权声明:
作者:主机优惠
链接:https://www.techfm.club/p/39463.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>