hi!这里是渔火。今天我们接续来讲 C 语言顺序结构。
我们来看下整型数据的输出和输入。
【1.1】整型数据的输出
#include运行//2023.1.31渔火 Linux迷 www.linuxmi.com int main() { int x=888; long int y=66880; printf("x=%d,y=%ld ",x,y); printf("x=%o,y=%lo ",x,y); printf("x=%#x,b=%#lx ",x,y); printf("x=%d,y=%ld ",x); printf("x+y=%ld ",x+y,y); printf("输出结束! "); //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 ",x,y); 这行代码是以十进制形式输出的。
printf("x=%o,y=%lo ",x,y); 这行代码是以八进制形式输出的。
printf("x=%#x,b=%#lx ",x,y); 这行代码是以十六进制带前缀Ox形式输出的。
printf("x=%d,y=%ld ",x); 这行代码格式字符多于输出项,输出结果表明,当格式字符的个数多余输出项时,多余格式字符的位置将会输出一个不确定的值。
【2.1】整型数据的输入
#include(1)如果输入12 23 34,那么运行结果如下://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 ",x,y,c); //2023.1.31渔火 Linux迷 www.linuxmi.com return 0; }
(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如果输入201.3654 56987.685102345,那么运行结果如下://2023.1.31渔火 Linux迷 www.linuxmi.com int main() { float f; double d; scanf("%f%lf",&f,&d); printf("f=%f,d=%f ",f,d); printf("f=%e,d=%e ",f,d); printf("f=%4.2f,d=%.3f ",f,d); //2023.1.31渔火 Linux迷 www.linuxmi.com return 0; }
分析:第一个数据201.3654赋值给float型变量f,第二个数据56987.685102345赋值给double型变量d。 printf("f=%f,d=%f ",f,d); 此处输出分别以小数形式输出变量f和d的值并保留6位小数。 printf("f=%e,d=%e ",f,d);此处输出分别以指数形式输出f和d的值。
printf("f=%4.2f,d=%.3f ",f,d);此处输出,"%4.2f"要求保留2位小数且输出宽度是4,此时变量f的实际位数大于4,则保留2位小数后按实际位数输出,”%.3f“要求保留3位小数输出。
字符型数据的输入输出可以调用函数getchar()、scanf()和putchar()、printf()。其中getchar()和putchar()函数只能适用于单个字符的输入输出,scanf()和printf()函数可以用于多个字符的输入输出。
【3.1】字符型数据的输入输出
#include如果输入x y z,那么运行结果如下://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 ",a,b,c); //2023.1.31渔火 Linux迷 www.linuxmi.com return 0; }
分析:这是由于在输入字符数据时,若格式控制字符串中没有非格式字符,则认为所有输入的字符均为有效字符。
(1)getchar()函数,设ch是字符型变量,函数getchar()的一般调用格式为:ch=getchar()。
(2)putchar()函数。函数putchar()的一般调用格式为:puchar(输出参数)。
【3.2】由键盘输入一个字符,将其输出到其屏幕::
#include运行结果如下://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)。
审核编辑:汤梓红
评论
查看更多