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迷.
共有 0 条评论