前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >C语言常用语句与格式输出-学习五

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

作者头像
XG.孤梦
发布2022-02-28 21:14:28
6980
发布2022-02-28 21:14:28
举报
文章被收录于专栏:日志随记日志随记

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.在变量说明中给变量赋初值赋值语句的区别:

代码语言:javascript
复制
#include <stdio.h>

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

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

等价于 ↓↓

代码语言:javascript
复制
#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三个字符,然后把它们输出到屏幕。

代码语言:javascript
复制
#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

输出整型数据,以十进制带符号形式输出整数,按整型数据的实际长度输出。

%md

m为指定的输出字段的宽度。如果数据位数小于m,在数据左端补空格,大于m,按实际位数输出。

%ld

输出长整型数据。long 是 int 得修饰,只是比 int 多了四个字节的存储空间。

%u

输出无符号类型数据。以十进制无符号形式输出整数。

%o

输出八进制的数据。以8进制无符号形式输出整数(不输出前导符0)。

%x

输出十六进制的数据。以16进制无符号形式输出整数(不输前导符0x)。

例子

代码语言:javascript
复制
#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

输出字符串型数据,输出一个字符串,按字符串的实际长度输出。

%ms

m为指定的输出字段的宽度。如果数据位数小于m,在数据左端补空格,大于m,按实际长度输出。

%-ms

与%ms类似,如果数据位数小于m,在数据右端补空格。

%m.ns

输出占m列,只取字符串左端n个字符,输出在右侧,左端补空格。

%-m.ns

输出在左侧,右端补空格,如果n>m,则m自动取n的值,输出n个字符。

例子

代码语言:javascript
复制
#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位。

例子

代码语言:javascript
复制
#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位。

例子

代码语言:javascript
复制
#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格式符不输出小数点后无意义的零。

例子

代码语言:javascript
复制
#include <stdio.h>

void main() {

    float x;
    x = 123.456;

    printf("%f,%g\n",x, x);
}
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-01-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • C语句的分类
    • 赋值语句
      • 数据的输入输出
        • 字符数据的输入输出
        • 例子
        • 格式输出
      • 格式字符
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档