C语言学习日记1

  我是要成为嵌入式攻城狮的男人!

  来吧,linux。

  环境gcc。 

1  遇到一个尴尬的问题,简直无语,本来不想写的,不好形容,网上找了半天无意中看到有朋友提了一句才明白。是这样,在调用scanf函数的时候,比如说XX程序我先printf("type in the r:");然后scanf("%d ",&r);什么意思呢,我的想法是这样的,

    我在输入一个r之后换一行输出结果,是不是要加一个 ?那么问题来了,这样做的后果是输入两次,且就第一次有效。

2  养成程序最后printf(" ");的习惯。不然看着怪怪的。

3  复合赋值运算,如value+=1;对于简单表达式来说程序运行速度没多大提高,但如果表达式里有函数返回值,那么函数少调用一次。

4  printf函数的格式字符:

    d、i  以带符号的十进制形式输出整数(整数不输出符号)

    o    以八进制无符号形式输出整数

    x,X   以十六进制无符号形式输出整数,用x时输出十六进制数的a~f时以小写形式输出,用X是大写(显示出来的时候数字前面是没有0x的)

    u      以无符号十进制形式输出整数

    c      以字符形式输出一个字符

    s    输出字符串

    f      以小数形式输出

    e,E    以指数形式输出实数,e,E同x,X

    g,G    选用%f和%e中输出宽度较短的一种格式不输出无意义的0,若以指数形式输出,则指数以大写表示。(显示出来怎么短怎么选,无意义的0是指会自动指定小数点后几位,最后的0都会去掉)

    printf附加格式说明字符:

    l    长整型

    m    数据最小宽度(m是一个整数)

    n     对实数表示输出n个小数;对字符串表示截取的字符个数

    -    输出的数字或字符在域内向左靠(如m大于实际字符数不加-输出字符前会以空格填补40,加-就从左边第一个开始输出了啊)

    scanf格式字符基本一样

    scanf怎样把输入的内容分别保存至多个指定变量中呢?scanf函数使用空白字符来分隔输入的数据,包括空格、换行、制表符(tab)。

原文地址:https://www.cnblogs.com/thorzhou/p/5556456.html