首页 > 其他分享 >C语言代码美学:让你惊叹的经典示例

C语言代码美学:让你惊叹的经典示例

时间:2023-07-06 13:55:05浏览次数:32  
标签:gcc 惊叹 示例 stdout C语言 sleep printf print fflush

C语言的输出功能非常强大,通过printf函数可以实现各种赏心悦目的输出效果。刚开始使用printf时可能会遇到一些问题,比如输出格式不正确,出现一些奇怪的符号。这是因为printf函数中有一些特殊的规定字符,比如换行符\n、换页符\f、回车符\r、制表符\t等。 下面我们来介绍一些常用的输出功能和示例,尽量使用简洁的printf语句来实现。 换行显示文本 使用换行符\n可以在输出中插入一个换行符,使得文本在不同行显示。 示例: ```c printf("Hello\nWorld"); ``` 输出: ``` Hello World ```   2. 制表符对齐文本: 使用制表符\t可以在输出中插入一个制表符,实现文本的对齐效果。 示例: ```c printf("Name:\tJohn\nAge:\t25"); ``` 输出: ``` Name: John Age: 25 ``` 按下回车键显示进度条效果 实际上,按下回车键并不是常规意义上的回车。你按下键盘上的Enter键,这是另一种类型的回车。 这里的回车指的是在同一行中重新开始而不换行,它是ASCII码为13的特殊字符,而换行是ASCII码为10的特殊字符。 要使用这个示例,你需要自行编译代码。代码很简单,如下所示,你就能看到进度条的效果了。] /*beginner/print/print4.c*/ #include <stdio.h> #include <unistd.h> int main() { printf("* \r"); fflush(stdout); sleep(1); printf("***** \r"); fflush(stdout); sleep(1); printf("******* \r"); fflush(stdout); sleep(1); printf("********* \r"); fflush(stdout); sleep(1); printf("************* \r"); fflush(stdout); sleep(1); printf("***************** \r"); fflush(stdout); sleep(1); printf("*********************\r"); fflush(stdout); sleep(1); printf("\n\n"); return 0; } 输入为:Name Age ID Zhang San 16 1 Li Si 17 2 Wang Wu 18 3 但是,如果在我们不知道数字是多少,字符串是多少的时候怎么来做呢,就是制表符的效果了。 很简单,只要在需要分割的地方加上就可以了:   /*beginner/print/print6.c*/   #include <stdio.h>   #include <unistd.h>   int main()   {   printf("Name \tAge\tID\n");   printf("Zhang San\t16\t1\n");   printf("Li Si \t17\t2\n");   printf("Wang Wu \t18\t3\n");   return 0;   } 集大成 三个都演示下,通过./print_all来查看效果。 ###################   The demo of \n   ###################   *   *****   *******   *   *****   *******   *********   *   *****   *******   *********   *************   *****************   *********************   *****   *****   *****   *****   *****   *****   *********************   *********************   ###################   The demo of \r   ###################   *********************   ###################   The demo of \t   ###################   Name Age ID   Zhang San 16 1   Li Si 17 2   Wang Wu 18 3 编译运行 跟前面的hello world一致,这次依旧是包含两种文件,一个是源码文件print.c,另外一个就是Makefile了。Makefile如下所示,比上一个稍微复杂了些,其实不难理解,可以搜索Makefile帮助查看信息。 #beginner/print/Makefile   ALL : print1 print2 print3 print4 print5 print6 print_all   print1: print1.c   gcc -o print1 print1.c   print2: print2.c   gcc -o print2 print2.c   print3: print3.c   gcc -o print3 print3.c   print4: print4.c   gcc -o print4 print4.c   print5: print5.c   gcc -o print5 print5.c   print6: print6.c   gcc -o print6 print6.c   print_all: print_all.c   gcc -o print_all print_all.c 运行只需要输入make,然后./print就可以看到相关的输出了。

标签:gcc,惊叹,示例,stdout,C语言,sleep,printf,print,fflush
From: https://www.cnblogs.com/2467118965z/p/17531955.html

相关文章

  • c语言结构体指针初始化
    结构体定义结构体(struct)是由一系列具有相同类型或不同类型的数据构成的数据集合,也叫结构。结构是C编程中另一种用户自定义的可用的数据类型,它允许您存储不同类型的数据项。结构体中的数据成员可以是基本数据类型(如int、float、char等),也可以是其他结构体类型、指针类型等......
  • C语言学习笔记
    C语言学习笔记1.初识C语言常见类型长度单位:字节=比特全局变量和局部变量全局变量:定义在花括号外的变量局部变量:定义在花括号内的变量局部变量和全局变量的名字重合时,局部变量优先C语言规定变量要定义在当前代码块的最前面*计算两数之和:#include<stdio.h>intmain()......
  • C语言运算符 类型与示例
    C语言的运算符是C语言中的重要功能之一,它们使用符号来执行各种数学、关系、按位、条件或逻辑操作。C编程语言提供了多种内置运算符,以满足程序的不同需求。通常,运算符在操作数据和变量的程序中起着关键作用,并作为数学、条件或逻辑表达式的组成部分。 算术运算符示例算术运......
  • 一个简单的exporter示例文件
    packagemainimport( "fmt" "log" "net/http" "github.com/prometheus/client_golang/prometheus" "github.com/prometheus/client_golang/prometheus/promhttp")//定义一个指标,用于记录请求总数varrequestTotal=prome......
  • C语言中if(a);if(!a);if(a!=0);if(a==0)有什么区别?
    if(a):如果a为非0数字或字符那么就为真,if条件成立,反之不成立。if(!a):如果!a为真,也就是a为0时,if条件成立,反之不成立。if(a!=0):如果a不等于0,则使得if条件成立,反之不成立。等价于if(a)。if(a==0):如果a等于0,则使得if条件成立,反之不成立。等价于if(!a)。......
  • 60.C++中新增了string,它与C语言中的 char *有什么区别吗?它是如何实现的?
    60.C++中新增了string,它与C语言中的char*有什么区别吗?它是如何实现的?1.实现方式:string是一种抽象类,它的实现由std::string和char*转换而来。在实现上,std::string内部通常会使用动态数组来存储字符串,可以动态地分配内存。同时,std::string还可能使用一些优化技术,如内部缓存和......
  • Java17新特性及代码示例:还在使用Java8? 这5个Java17新功能,你会喜欢的
    SpringBoot3.0最低支持JDK17,各开源软件正在全面拥抱JDK17.有升级计划的调查受访者中,37%的人计划在未来六个月内升级到2021年9月份发布的LTS版本JDK17。另有25%的人计划在未来6到12个月内升级到JDK17。这5个你喜欢的JDK17新功能,会让你升级JDK17吗?1.record类(记录类)传统的......
  • java http大文件断点续传上传示例
    ​ 4GB以上超大文件上传和断点续传服务器的实现随着视频网站和大数据应用的普及,特别是高清视频和4K视频应用的到来,超大文件上传已经成为了日常的基础应用需求。但是在很多情况下,平台运营方并没有大文件上传和断点续传的开发经验,往往在网上找一些简单的PHP或者Java程序来实现基......
  • (转)Rancher 2.6 安装部署及入门示例
    原文:https://blog.csdn.net/weixin_41636021/article/details/1279767120.Rancher2.X简介Rancher是为使用容器的公司打造的容器管理平台。Rancher简化了使用Kubernetes的流程,开发者可以随处运行Kubernetes(RunKubernetesEverywhere),满足IT需求规范,赋能DevOps团队。ra......
  • C语言的strcpy()函数
    strcpy()函数的简介strcpy()函数用于将一个字符串拷贝到另一个内存地址的函数,拷贝停止的条件是遇到'\0',同时会将'\0'一同拷贝到目标地址。下面是strcpy()函数的声明:char*strcpy(char*destination,constchar*source);1.函数的参数:char*destination---------目标字......