TypechoJoeTheme

日志随记

统计
登录
用户名
密码

扫码登录
/
注册
用户名

此用户名将作为登录时所用的账号

邮箱

XG.孤梦

随风而动,随遇而安......

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

XG.孤梦博 主大佬
2022-01-26
/
0 评论
/
396 阅读
/
1124 个字
/
百度已收录
01/26
本文最后更新于 2022年08月13日,已超过 113天没有更新。如果文章内容或图片资源失效,请留言反馈,我会及时处理,谢谢!

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());
}

格式输出

  • 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);
}


字符输出格式

格式符说明
%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");


}


实数输出格式

格式符说明
%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);
}


指数输出格式

格式符说明
%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);


}

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

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

例子

#include <stdio.h>

void main() {

    float x;
    x = 123.456;

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


学习笔记C语言
朗读
赞(0)
赞赏
感谢您的支持,我会继续努力哒!
版权属于:

日志随记

本文链接:

https://www.xggm.top/archives/194.html(转载时请注明本文出处及文章链接)

评论 (0)
 

标签云

登录
X
用户名
密码