C语言常用语句与格式输出-学习五
C语言常用语句与格式输出-学习五
2022-01-26 / 0评论 / 275阅读 / 0点赞
-- XG.孤梦

C语言常用语句与格式输出-学习五

XG.孤梦
2022-01-26 / 0 评论 / 275 阅读 / 正在检测是否收录...

C语句的分类

1. 表达式语句

  • 一般形式: 表达式;
  • 例如:c = a + b; a++;

2. 函数调用语句

  • 一般形式:函数名(实际参数表);
  • 例如:printf("Hello Word!");

3. 复合语句

  • 形式:把多个语句用{}括起来组成一个语句。
  • 例如:{ c = a + b; printf("Hello Word!"); }

4. 控制语句

  • 条件判断语句:if else、 switch
  • 循环执行语句:do while 、 while 、 for
  • 转向语句:break 、 goto 、 continue 、return

5. 空语句

  • 只有分号“ ; ”组成的语句,什么也不执行,在程序中可以做空循环体。

赋值语句

  • 一般形式:变量 = 表达式
  • 例如:int a; a = 1;
1.在变量说明中给变量赋初值赋值语句的区别:
#include <stdio.h>

void main(){
    // 变量赋初值
    int a=1, b=1, c=1;

    // 但是不能写成
    // int a=b=c=1;
}

等价于 ↓↓

#include <stdio.h>

void main(){
    int a, b, c;
    // 赋初语句
    a=1,b=1, c=1;

    // 赋值语句可以嵌套,所以可以写成
    a=b=c=1;
}
2.赋值表达式赋值语句的区别:
  • 赋值表达式后加一个分号 “ ; ” 就是赋值语句
  • 赋值表达式可以包括在其他表达式之中;但是赋值语句不能。
  • 例如:if(x=y)>0) z = x; 这是正确的,if(x=y;)>0) z = x; 这是错误的。

数据的输入输出

  • C语言本身不提供输入输出语句。
  • 输入和输出操作是由C标准函数库的函数来实现的。
  • 例如: printf(); scanf(); getchar(); putchar();

字符数据的输入输出

  • getchar函数(字符输入函数)

    • 一般形式:getchar()
    • 从键盘上输入一个字符,当输入多个字符只取第一个字符
  • putchar函数(字符输出函数)

    • 一般形式: putchar(字符变量)
    • 在终端上输出一个字符

例子

从键盘输入ABC三个字符,然后把它们输出到屏幕。

#include <stdio.h>

void main() {
    char x, y, z;
    x = getchar();
    y = getchar();
    z = getchar();

    putchar(x);
    putchar(y);
    putchar(z);
    putchar('\n');

        // 方法二
        // putchar(getchar());
        // putchar(getchar());
        // putchar(getchar());
}

QQ图片20220126155243.png

格式输出

  • printf函数
  • 按照指定格式输出,向终端输出若干个任意类型的数据。

    • 一般格式: printf(格式控制, 输出列表)
    • 例如: printf("%d , %f",a,b)

1.格式控制:用引号括起来的字符事,它包括两种信息:

  • 格式说明,由“%”和格式字符组成,如%d,%f
  • 普通字符,即需要原样输出的字符。一般都县说明性文字或逗号、空格等。

2.输出列表:需要输出的一些数据,可以是变量,也可以是表达式

  • 例如: printf("a=%d, f=%f, %d",a,f,a+b)

格式字符

整数输出格式:d格式符:输出十进制整数。

格式符说明
\%d输出整型数据,以十进制带符号形式输出整数,按整型数据的实际长度输出。
\%mdm为指定的输出字段的宽度。如果数据位数小于m,在数据左端补空格,大于m,按实际位数输出。
\%ld输出长整型数据。long 是 int 得修饰,只是比 int 多了四个字节的存储空间。
\%u输出无符号类型数据。以十进制无符号形式输出整数。
\%o输出八进制的数据。以8进制无符号形式输出整数(不输出前导符0)。
\%x输出十六进制的数据。以16进制无符号形式输出整数(不输前导符0x)。

例子

#include <stdio.h>

void main() {
    int a, b;
    long c;

    a = 123;
    b = 123456;
    c = 123456789;

    printf("a=%d, b= %d\n" ,a, b);
    printf("a=%4d, b=%4d\n", a, b);
    printf("c=%ld\n", c);
    printf("c=%10ld\n", c);
}

QQ图片20220126162937.png


字符输出格式

格式符说明
\%c输出char型数据,输出一个字符
\%s输出字符串型数据,输出一个字符串,按字符串的实际长度输出。
\%msm为指定的输出字段的宽度。如果数据位数小于m,在数据左端补空格,大于m,按实际长度输出。
\%-ms与\%ms类似,如果数据位数小于m,在数据右端补空格。
\%m.ns输出占m列,只取字符串左端n个字符,输出在右侧,左端补空格。
\%-m.ns输出在左侧,右端补空格,如果n>m,则m自动取n的值,输出n个字符。

例子

#include <stdio.h>

void main(){

    printf("%3s,%-8s,%s\n","ABCDEFG", "ABCDEFG", "ABCDEFG");
    printf("%7.3s,%-5.3s,%.4s\n","ABCDEFG", "ABCDEFG", "ABCDEFG");


}

QQ图片20220126170945.png


实数输出格式

格式符说明
\%f输出float/double型数据 系统自动指定宽度,整数部分全部输出,小数部分输出6位。
\%m.nf输出占m列,n为小数位。输出在右端,左端补空格。
\%-m.nf输出在左侧,右端补空格,如果m小于(整数位+n)则正常输出小数部分n位。

例子

#include <stdio.h>

void main(){

    float x;
    x = 123.456;

    printf("%f,%10f,%10.2f,%-10.2f,%.2f。\n",x,x,x,x,x);
}

QQ图片20220126173746.png


指数输出格式

格式符说明
\%e以指数形式输出实数,系统自动指定宽度。共13位,小数位6位,指数5位。
\%m.ne输出占m列,n为小数位,输出在右侧左补空格。
\%-m.ne输出在左侧,右端补空格,如果m小于(整数位+n)则正常输出小数部分n位。
\%me没有指定小数位,则小数位6位。

例子

#include <stdio.h>

void main(){

    float x;
    x = 123.456;

    printf("%e,%10e,%10.2e,%-10.2e,%.2e。\n",x,x,x,x,x);


}

QQ图片20220126175910.png

补充
g格式符:用来输出实数,输出格式为f格式或e格格式(使用较少)。

  • 系统根据数据占宽度m大小,自动选择占宽度较小的某种格式输出,g格式符不输出小数点后无意义的零。

例子

#include <stdio.h>

void main() {

    float x;
    x = 123.456;

    printf("%f,%g\n",x, x);
}

QQ图片20220126180427.png


0

评论

博主关闭了所有页面的评论