C语言学习第二课-打印

  1. 这节课所学内容及目前理解

  1. c语言中是通过printf这个函数来实现打印内容到屏幕的。printf又叫格式化输出函数。

  1. print,是打印的意思,format的英文是格式的意识,所有两个组合起来就叫格式化输出函数。

  1. 这个函数是c语言内部已经定好的,当我们使用它时就会调动底层函数。

  1. 一般情况下,一个函数就对应一个功能,而这个printf函数就是将内容打印到屏幕。

  1. printf(""); //这里小括号里面的双引号要用英文双引号,所有C语言代码里面的符号都是英文不能是中文。

  1. 转义符

  1. 转义符是C语言内部规定好的,用特定字符组合而成的具有特俗意义的符号,

这些符号运用比较多的是“\n”:它的意思是换行,如将printf函数将内容打印到屏幕上,如果没有这个符号那么内容将全部显示在一行上,读起来不便。

当我们加上后效果会不一样,阅读体验会突飞猛进的提高

  1. 下面是部分c语言转义符

字符

含义

\a

响铃(BEL),当运行到这个字符时计算机会响一下.在printf打印到屏幕中可以最直观感受到

\b

退格(BS),将当前位置向前移动一位并用该符号后内容替换原内容.

\f

换页(FF)将当前位移动到下页开头,在printf中体现为下一行开始.

\n

换行(LF)从当前位置开始新的一行,后面的内容全部换到新的一行上.

\r

回车(CR)将当前位置后内容移动到本行开头

\t

水平制表(HT),跳到下一个TAB位置,在控制台中是下一行开头

\v

垂直制表(VT)

\\

表示输出这个符号自身,如\\n

将会输出\n而不在是换行,\加任何转义符都表示输出转义符本身,而不是实现转义符功能.

\'

表示输出单引号

\"

表示

\?

表示问号

表示空字符(NULL)

\ddd

1到3位八进制数所代表的任意字符

\xhh

1到2位十六进制所代表的任意字符

\

链接符号单独用在代码内并且不与转义符相邻就表示,下一行内容与这一行是一段.当一句代码较长时,输入这个符号手动换上即可继续写这句代码.

下面是课后测试题

  1. 下边是不同的编程语言实现在屏幕上打印“I love FishC.com”的代码

  1. C

printf(“I love FishC.com!\n”);
  1. C++

std::cout << "I love FishC.com!\n";
  1. C#

System.Console.WriteLine("I love FishC.com!");
  1. Python

print(“I love FishC.com!”)
  1. java

System.out.println("I love FishC.com");

上面几种语言的打印内容到屏幕上C和Python的最简洁,而其他代码都有不同程度的繁琐。

  1. 为什么下边代码不能正常编译

#inc1ude <stdio.h>

int main()
{
        printf("Hello World!\n");
        return O;
}

答;因为头文件单词拼写错误其中l在这里写成了1正确代码如下

#include<stdio.h>

int main()
{
    printf("Hello World!\n");
    return 0;
}
  1. 你知道以下程序打印的是什么内容吗?

#include <stdio.h>

int main()
{
        printf("Hello world\b\b\b\b\bFishC\n");
        return 0;
}

答:打印出来的内容是Hello Fishc,因为"\b"这个转义符的作用是将左边第一个字符替换为右边第一个字符,作用跟键盘上的退格键一样,按一下消除一个字符同时后面的字符向前移一位,而这个有五个这样的符号最后结果就是world被覆盖替换为Fishc。

  1. 下边代码错在哪?

#include <stdio.h>

int main()
{
        printf(“小甲鱼说:好好学习才能天天向上!”);
        return 0;
}

答:printf()内的'“”'符号用错了,用的是中文双引号,正确应当是英文双引号

#include <stdio.h>

int main()
{
        printf("小甲鱼说:好好学习才能天天向上!");
        return 0;
}

  1. 写一个 printf 函数,要求在屏幕上打印下边内容:

//答案
#include<stdio.h>

int main()
{
    printf("FishC.com no \"fish\"\n");
    return 0;
}

  1. 代码写成下边这样,能正常编译运行吗?

#include<stdio.h>
int main(){printf("Hello World\n");return 0;}

答:可以正常运行,上面的代码只是都写在一行的了,但是该有的内容都不少所以可以正常运行。

  1. 用格式化输出函数打印一架飞机

#include<stdio.h>

int main()
{
    printf("FishC.com no \"fish\"\n\n");
    printf("下面是一架飞机\n");

    //打印一架飞机
    printf("        ^        \n\
       / \\       \n\
       * *       \n\
       * *       \n\
       * *       \n\
     *** ***     \n\
    **** ****    \n\
   ***** *****   \n\
  ****** ******  \n\
 ******* ******* \n\
******** ********\n\
       * *       \n\
       * *       \n\
       * *       \n\
      ** **      \n\
     *** ***     \n\
    **** ****    \n\
");
    return 0;
}
  1. 第二种方式打印一架飞机

#include<stdio.h>

int main()
{
    printf("FishC.com no \"fish\"\n\n");
    printf("下面是一架飞机\n");

    //打印一架飞机
    printf("        ^        \n\
       / \\       \n\
       * *       \n\
       * *       \n\
       * *       \n\
     *** ***     \n\
    **** ****    \n\
   ***** *****   \n\
  ****** ******  \n\
 ******* ******* \n\
******** ********\n\
       * *       \n\
       * *       \n\
       * *       \n\
      ** **      \n\
     *** ***     \n\
    **** ****    \n\
");
    printf("下面又是一架飞机\n\n");
    printf("        ^        \n");
    printf("       / \\       \n");
    printf("       * *       \n");
    printf("       * *       \n");
    printf("       * *       \n");
    printf("     *** ***     \n");
    printf("    **** ****    \n");
    printf("   ***** *****   \n");
    printf("  ****** ******  \n");
    printf(" ******* ******* \n");
    printf("******** ********\n");
    printf("       * *       \n");
    printf("       * *       \n");
    printf("       * *       \n");
    printf("      ** **      \n");
    printf("     *** ***     \n");
    printf("    **** ****    \n");
    return 0;
}
  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值