跟我学 C 语言之顺序结构(下)

2023-02-28 00:00:00 数据 函数 输出 字符 渔火
 
hi!这里是渔火。今天我们接续来讲 C 语言顺序结构。
相关:跟我学 C 语言之顺序结构(上)
我们来看下整型数据的输出和输入。
【1.1】整型数据的输出
#include<stdio.h>//2023.1.31渔火 Linux迷 www.linuxmi.comint 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 ;}
运行
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     ⚡ gcc linuxmi.c -o linuxmi.out -Wformat=
结果如下:
linuxmi@linuxmi /home/linuxmi/www.linuxmi.com                                     ⚡ ./linuxmi.outx=888,y=66880x=1570,y=202500x=0x378,b=0x10540x=888,y=0x+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.comint 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 ;}
(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.comint 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 ;}
如果输入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.comint 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 ;}
如果输入x y z,那么运行结果如下:

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

#include<stdio.h>//2023.1.31渔火 Linux迷 www.linuxmi.comint main(){  char ch;  ch=getchar();  putchar(ch);      //2023.1.31渔火 Linux迷 www.linuxmi.com  return ;}
运行结果如下:

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

相关链接:

  1. https://www.linuxmi.com/learn-c-language-from-scratch-1.html

  2. https://www.linuxmi.com/learn-c-language-from-scratch-2.html

  3. https://www.linuxmi.com/learn-c-language-from-scratch-3.html

  4. https://www.linuxmi.com/learn-c-language-from-scratch-4.html

  5. https://www.linuxmi.com/learn-c-language-from-scratch-5.html




来自:Linux迷
链接:https://www.linuxmi.com/c-language-sequential-structure-2.html

相关文章