注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

又一个部落格

换过很多备忘录,不知道这本怎么样!

 
 
 

日志

 
 

c语言学习备忘  

2010-03-26 18:08:26|  分类: c |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

c语言
函数,定义时不需要写返回值
测试后,同个页面在使用前并不需要些函数的原型
强制转换
int i;
char ch = '\n';
i = (int) ch;

//////////////

#include <stdio.h>

main () /* Use int float and char */

{ float x;
int i;
char ch;

x = 2.345;
i = (int) x;
ch = (char) x;
printf ("From float x =%f i =%d ch =%c\n",x,i,ch);

i = 45;
x = (float) i;
ch = (char) i;
printf ("From int i=%d x=%f ch=%c\n",i,x,ch);

ch = '*';
i = (int) ch;
x = (float) ch;
printf ("From char ch=%c i=%d x=%f\n",ch,i,x);
}

结果输出
From float x =2.345000 i =2 ch =
From int i=45 x=45.000000 ch=-
From char ch=* i=42 x=42.000000


指针参数
#include <stdio.h>
main ()
{ int i,j;
GetValues (&i,&j);
printf ("i = %d and j = %d",i,j)
}

GetValues (p,q)
int *p,*q;
{
*p = 10;
*q = 20;
}

函数指针
把一个函数作为参数
int function2();

function1 (a)
int (*a)();
{ int i;
i = (*a)(parameters);
}

function1(function2);


通过一个函数指针调用函数
variable = (*fnptr)(parameters);


例子
#include <stdio.h>
test(int i){
printf ("%d\n", i);
}
test2(a,b)
int (*a)(),b;
{
(*a)(b);
}
main ()
{
test2(test,3);
}

printf的几个字母代表的变量
d 十进制整数
u 无符号十进制整数
x 十六进制整数
o 八进制整数
s 字符串
c 单个字符
f 浮点数
e 科学记数法浮点数
g f或者e

例子
#include <stdio.h>

main ()

{ int i = -10;
unsigned int ui = 10;
float x = 3.56;
double y = 3.52;
char ch = 'z';
char *string_ptr = "any old string";

printf ("signed integer %d\n", i);
printf ("unsigned integer %u\n",ui);

printf ("This is wrong! %u",i);
printf ("See what happens when you get the ");
printf ("character wrong!");

printf ("Hexadecimal %x %x\n",i,ui);
printf ("Octal %o %o\n",i,ui);

printf ("Float and double %f %f\n",x,y);
printf (" ditto %e %e\n",x,y);
printf (" ditto %g %g\n",x,y);

printf ("single character %c\n",ch);
printf ("whole string -> %s",string_ptr);
}


格式化输出 % [-] [fwidth] [.p] X
[fwidth]
类似于最小宽度,如果打印的长度比较小,那么空格填充
[-]
表示填充前面还是填充后面,默认是填充后面
[.p]
对于字符串来说,表示打印几个字符,对于浮点数来说表示小数点后面打印几位

例子
42 %6d | 42|
42 %-6d |42 |
324 %10d | 324|
-1 %-10d |-1 |
-1 %1d |-1|(overspill)

'z' %3c | z|
'z' %-3c |z |

2.71828 %10f | 2.71828|
2.71828 %10.2f | 2.71|
2.71828 %-10.2f |2.71 |
2.71828 %2.4f |2.7182|(overspill)
2.718 %.4f |2.7180|
2.718 %10.5f | 2.71800|

2.71828 %10e |2.71828e+00|
2.71828 %10.2e | 2.17e+00|
2.71828 %10.2g | 2.71|

"printf" %s |printf|
"printf" %10s | printf|
"printf" %2s |printf|(overspill)
"printf" %5.3s | pri|
"printf" %-5.3s |pri |
"printf" %.3s |pri|
  评论这张
 
阅读(186)| 评论(0)
推荐 转载

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017