展开

关键词

C语言打印程序行号、日期方便调试程序

一、前言 平时开发C语言程序时,经常需要调试代码,C语言有一些宏,可以打印出当前的行号、文件名称、日期、时间,对程序的调试起到很大的帮助,可以快速定位问题。 特别是开发单片机程序时,使用这些宏打印这些信息或者在LCD上显示程序的编译日期、时间,可以知道这个单片机上的固件是什么时候编译。帮助判断版本。 ANSIC标准定义了可供C语言使用的预定义宏: __LINE__ : 在源代码中插入当前源代码行号 __FILE__ : 在源代码中插入当前源代码文件名 __DATE__ : 在源代码中插入当前编译日期 :%s\r\n", __FILE__); printf("当前固件编译日期:%s\r\n", __DATE__); printf("当前固件编译时间:%s\r\n", __TIME__); 三、C语言封装快捷 (USART1->SR&1<<7)){} return c; } /* 函数功能: 格式化打印函数 */ char USART1_PRINTF_BUFF[1024]; void USART1_

8320

C语言 | 打印菱形

例21:C语言实现打印菱形。 解题思路:今天这道题目的逻辑的很简单,本质来说还是循环的嵌套,然后就是一些简单的数学逻辑,有了上个题目心形表白的学习,读者看这道题应该很容易看懂。 今天的C语言实现菱形一共分为两部分,菱形的上下部分。 C语言实现前四行的打印: for(i=0;i<4;i++)   {     for(j=0;j<=2-i;j++)     {       printf(" ");     }          for wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1] C语言实现后三行的打印: for(i=0;i<=2;i++)   {     for(j=0;j<=i;j+ 更多案例可以go公众号:C语言入门到精通

2292828
  • 广告
    关闭

    老用户专属续费福利

    云服务器CVM、轻量应用服务器1.5折续费券等您来抽!

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    c语言-日期格式化

    7-12 日期格式化 (5 分) 世界上不同国家有不同的写日期的习惯。比如美国人习惯写成“月-日-年”,而中国人习惯写成“年-月-日”。 下面请你写个程序,自动把读入的美国格式的日期改写成中国习惯的日期。 输入格式: 输入在一行中按照“mm-dd-yyyy”的格式给出月、日、年。题目保证给出的日期是1900年元旦至今合法的日期

    7710

    C语言实例之打印沙漏、打印钻石

    近期在PTA刷到了一道有意思的题目:打印沙漏。 k) { //内部循环2*(n-i)-1次,打印每行的符号个数 printf("%c", ch); } printf("\n" printf("%c", ch); } printf("\n"); //打印每行的换行转义符 } 上述代码难点解释: 最外层循环为何是n-1次? 因为下正三角形首行需要打印n-2个空格,此后的每一行打印空格个数都比首行打印空格个数少i个空格,所以循环(n-2)-i次。 核心思路 将上述打印沙漏代码中的两次循环调换位置,并对for循环条件做适当的调整,即可实现先打印上正三角形,后打印下倒三角形,即打印钻石。

    42530

    C语言 | C++打印有效日志

    引言 在日常代码测试或运行中,打印日志检测代码运行状态必不可少。 先举三个例子: 在物联网系统中设备什么时候上线,可以将上线的信息写入数据库,也可以将该设备上线的记录打印到日志中,以该设备的id为文件名,查找日志也比较方便,上线时间、IP地址等打印到文本中。 在复杂的多环节系统中,快速定位问题问题出错的环节,将各个系统数据接口的数据打印日志,如果有返回值可以判断执行是否成功,可以只打印错误的日志,出现问题时查看日志文件就可以定位是那个环节。 而且,最好在打印日志时输出英文,防止中文不支持而打印出乱码的情况。 日志的性能 无论我们把日志写到文件还是数据库,都需要消耗IO资源。适当的控制日志的输出也有利于提高程序的性能。 日志格式 常见的日志格式中对于每一条日志应含有的信息包括日期、时间、日志级别、代码位置、日志内容、错误码等信息。

    81788

    C语言实例第10期:控制台打印系统的日期和时间

    //实现功能:控制台打印系统的日期和时间 // #include "stdio.h" #include "time.h" int main(){ struct tm *sysTime;//定义结构体 ,用于存放日期和时间 time_t sysDay; time(&sysDay);//获取系统日期 sysTime = localtime(&sysDay);//转换为系统日期 printf("系统日期:%d-%d-%d\n", 1900 + sysTime->tm_year, sysTime->tm_mon + 1, sysTime->tm_mday); printf d:%d\n", sysTime->tm_hour, sysTime->tm_min, sysTime->tm_sec); return 0; } 运行结果: 程序分析 本实例主要掌握系统日期和时间的获取方法

    9920

    C语言笔记】时间日期函数

    前言 time.h是C/C++中的日期和时间头文件。用于需要时间方面的函数。下面分享time.h头文件中几个常用函数的用法: ? 函数 1、函数原型 struct tm *gmtime(const time_t *timep); 2、函数说明 gmtime()将参数timep所指的time_t结构中的信息转换成真实世界所使用的时间日期表示方法 注意:若再调用相关的时间日期函数,此字符串可能会被破坏。 3、函数返回值 返回一字符串表示目前当地的时间日期。格式:星期,月,日,小时:分:秒,年。 注意:若再调用相关的时间日期函数,此字符串可能会被破坏。与ctime()函数的不同在于传入参数结构不同。 3、函数返回值 返回一字符串表示目前当地的时间日期。格式:星期,月,日,小时:分:秒,年。 参考资料:百度百科及C语言中文网

    1.6K20

    java打印当前日期

    发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/106371.html原文链接:https://javaforall.cn

    8440

    C语言打印彩色字符,还能闪烁!

    ANSI escape code 最近在研究日志打印组件easylogger,玩转各种彩色日志打印不亦乐乎,好奇心越来越重,遂深入研究,发现了一个非常神奇的东西:ANSI escape code! ① 打印没有背景色,字体颜色为绿色,字体正常的字符: printf("\033[32mHelloWorld\r\n"); 编译下载,即可看到效果: ? ② 及时取消属性 设置属性之后,该属性在终端中一直存在,必须要及时取消,比如在刚刚的printf之后,继续正常打印,不加特殊字符,依然会打印绿色字符: printf("\033[32mHelloWorld ③ 多个特殊字符一起设置 比如这里我同时设置打印颜色为绿色,字体在终端闪烁: printf("\033[32;5mHelloWorld\033[0m\r\n"); ? 怎么样,在终端打印各种好玩的字符是不是非常简单~自己上手玩玩吧!

    68110

    打印法老的金字塔-c语言

    1.直接打印(2013/3/2): #include<stdio.h> #include<stdlib.h> int main(void) { printf("n"); printf(" *

    30810

    C语言实验——打印金字塔

    参考链接: 用Python打印金字塔图案的程序 Submit Statistic Discuss              Problem Description             输入n值,打印下列形状的金字塔 Output             打印金字塔图形,其中每个数字之间有一个空格。

    20000

    C语言打印出心形表白 | 源码+注释

    例20:C语言实现打印出心形,初学者的表白神器。 解题思路:这道例题我分了4部分,前3行一部分,4-6行一部分,7-13行一部分,最后一行一部分,读者请仔细阅读注释,小林写的很详细了。 wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1] C语言打印出心形的方法有很多,读者可以自己多尝试尝试,即使一行一行用printf也是一种方式,小林能帮你的只能到这了 wx_fmt=png&tp=webp&wxfrom=5&wx_lazy=1&wx_co=1] 以上,如果你看了觉得对你有所帮助,就给小林点个赞叭,这样小林也有更新下去的动力,跪谢各位父老乡亲啦~ C语言打印出心形表白 ,初学C语言也能看懂!! 更多案例可以go公众号:C语言入门到精通 推荐一下腾讯云比较好用的产品:云服务器,云硬盘,数据库(包括MySQL、Redis、MongoDB、SQL Server),CDN流量包,短信流量包,cos资源包

    6912828

    C语言中基于“*”字符的打印程序分析

    实现方法: 1、直接printf输出, 多字符输出 printf(“******”) 2、采用循环,单字符输出 printf(“*”) 3、动态给出格式化字符数据长度n,通过 printf("n%c”,

    32800

    C语言经典算法题目——打印水仙花数

    我们先来看看运行的结果 下面是程序实现的代码 #include int main() { int i,j,k,t=0;//定义i,j,k三个变量,分别代表个位,十位,百位,t代表水仙花数的个数 printf("打印出的水仙花数

    19120

    c语言打印字母菱形————用绝对值

    打印字母棱形.如键盘上输入F,则屏幕上输出如下棱形:     A        A B       A B C      A B C D     A B C D E    A B C D E F     A B C D E       A B C D         A B C            A B          A #include <stdio.h> int main (void) { int i, j, m, n = 65; char a; scanf("%c", &a); m = a - 64; for (i = 1; i < m * 2; i+ m - fabs(m - i); j--) printf(" "); n = 65; for (j = 0; j < m - fabs(i - m); j++) printf("%c

    71150

    Python打印指定日期日历

    myCalendar(year, month): #获取year年month月1日是周几 start = date(year, month, 1).timetuple().tm_wday #打印头部信息 8 for i in range(start+1)] result += list(map(lambda d: str(d).ljust(8), range(1, day+1))) #打印数据 year>10000: print('Year error') return if type(month)==int: #如果没有指定月份,就打印全年的日历 month==-1: for m in range(1, 13): myCalendar(year, m) #如果指定了月份,就只打印这一个月的日历

    80250

    C语言int打印出二进制数代码

    一、在C语言中,打印16进制可以使用printf的%x格式。打印二进制数并没有现成的格式数值,只能自行编写函数打印。二、测试代码。 int byte = bitnum & 1; //和1进行与运算得到每一位的二进制数 printf("%d",byte); //if (count%4==0) {//每隔四位打印空格 if (count%8==0) {//每隔四位打印空格 printf(" "); } count--; } printf(

    12720

    ffmpeg解码之使用C语言打印音视频信息

    四、实现源代码 一、通过此文可以得到什么 通过此练习: 1、知道了如何计算一个音频和视频的播放时间; 2、知道了音视频解码的思路的大体流程,之后无非就是在这个流程上进行扩充细节; 3、知道了如何通过C语言或者 C++编程语言结合ffmpeg拿到一些音视频的关键信息,例如:帧率等; 二、实现思路 三、实现效果 zhenghui@zh-pc:/data/project/VSCProject/ffmpegStudy [h264 @ 0x5654cc3340c0] nal_unit_type: 7(SPS), nal_ref_idc: 3 [h264 @ 0x5654cc3340c0] nal_unit_type: //打印流数量 printf("stream number: %d \n",ctx->nb_streams); //打印码率 printf("media average ratio : %lld kbps\n",(int64_t)(ctx->bit_rate/1024)); //打印时长 int total_seconds,hour,minute,second;

    13030

    Go语言打印调用堆栈

    这两天看Go的代码,呃,协程太多,无数个携程调用了一个方法,彻底看不清了,所以就想到是不是可以把调用堆栈打印出来。 查了一下,发现Go的 runtime/debug 库可以把调用堆栈打出来。 debug.Stack()) debug.PrintStack() } func main() { test1() } 从上面代码可以看出,可以通过 debug.PrintStack() 直接打印 ,也可以通过 debug.Stack() 方法获取堆栈然后自己打印

    90960

    扫码关注腾讯云开发者

    领取腾讯云代金券