黑马程序员技术交流社区

标题: c语言复习笔记整理 [打印本页]

作者: a380vs747`    时间: 2015-3-24 15:30
标题: c语言复习笔记整理

c语言复习

1、输出格式符:

%d/%i (十进制)整数
%f 小数
%e 科学计数
%c 字符
%s 字符串   //oc中用%@,输出对象,字符串也是对象
%p 地址
%o 八进制整数
%x 十六进制整数  

2、scanf与gets

scanf只能读取一个数或者字符
比如读取“123” scanf("%d",&a);
读取 “a” scanf("%c",&c);
读取不带空格的字符串“sdjjiafa” scanf("%s",&s);
读取带空格的字符串只能用gets(); “sh ad da” gets(s);

3、字符串常用函数:
char str1[10];
char str2[5];
1)字符串连接函数:strcat(字符数组1,字符数组2)
strcat(str1,str2); // str2连接到str1后面,要注意str1足够长。

2)字符串复制函数:strcpy和strncpy
strcpy(str1,str2);会将str2中的五个元素复制到str1的前五个位置,剩下的不变。
strncpy(str1,str2,2);会将str2中的前两个元素复制到str1中。

3)测量长度:strlen
测试实际长度,不包括'\0'。

4)比较大小函数:strcmp(str1,str2);
如果相等,返回0;
如果str1>str2,返回正整数;
如果str1<str2,返回负整数;

5)转换大小写:strlwr(转换成小写) strupr (转换成大写)

4、指针与字符串注意点:

char *s = "abc";  //定义的常量字符串,内容不可更改。
char s[] = "abc";   //字符数组,内容可以更改。从s[0]开始。

5、指向函数的指针,变量名必须加上小括号。

int sum(int a, int b)
{
}
int main()
{
    int *p(int, int); // 错误
    int (*p)(int, int); // 正确       
    p = sum;
    int a = p(2,3);
    ......       
}

6、所有预处理指令以#开头,宏变量名以大写或者k开头。可以用#undef取消。
带参数的宏定义比函数效率高,但是定义的参数最好都带小括号。
#define pingfang(a) ((a)*(a))  // 结尾不需要分号
没有小括号的话,把x+y穿进去就悲剧了就成x+y*x+y了。



作者: 人外...有人    时间: 2015-3-24 18:16
好东西,感谢感谢。。。。正在准备IOS第七届第三批,不知道有希望没,才提交自荐信,下面的还没敢开始,没谱。。。。
作者: Tigerleis    时间: 2015-3-24 18:24
很不错啊,O(∩_∩)O~
作者: Plus.    时间: 2015-3-24 18:57
scanf可以读取多个字符串
例如输入a , b
scanf("%d,%d");
作者: a380vs747`    时间: 2015-3-24 20:04
Plus. 发表于 2015-3-24 18:57
scanf可以读取多个字符串
例如输入a , b
scanf("%d,%d");

字符串,a,b是单个的字符
比如想要输入this is good 你怎么输入?
char s[20];
用for循环,一个一个往里面输入...
用gets()一次性就可以
作者: 落花有意    时间: 2015-3-24 20:07
很详细。希望你以后可以分享更多的
作者: Plus.    时间: 2015-3-24 21:41
a380vs747` 发表于 2015-3-24 20:04
字符串,a,b是单个的字符
比如想要输入this is good 你怎么输入?
char s[20];

唔我没表达清楚,我的意思是:
scanf可以同时输入多个字符串,gets一次只能输入一个字符串。
scanf不能读取空格、tab键,gets可以读入包含空格、tab键的字符串,直到遇到回车为止。
作者: a380vs747`    时间: 2015-3-25 00:22
Plus. 发表于 2015-3-24 21:41
唔我没表达清楚,我的意思是:
scanf可以同时输入多个字符串,gets一次只能输入一个字符串。
scanf不能 ...

是的 这次表达的很清楚,对的。就是这样:loveliness:
作者: Plus.    时间: 2015-3-25 17:39
a380vs747` 发表于 2015-3-25 00:22
是的 这次表达的很清楚,对的。就是这样

:lol
共同进步
作者: a380vs747`    时间: 2015-3-25 17:46
Plus. 发表于 2015-3-25 17:39
共同进步

你准备的怎么样了?准备第几期啊?
作者: guanguan0622    时间: 2015-3-25 17:49
谢谢楼主分享,楼主辛苦了!:D
作者: Plus.    时间: 2015-3-25 18:32
a380vs747` 发表于 2015-3-25 17:46
你准备的怎么样了?准备第几期啊?

我准备第8期的,马上看OC了
作者: Errors    时间: 2015-3-25 21:30
有木有觉得指向函数的指针作为函数参数的时候很想swift里面的闭包啊、、、、
作者: a380vs747`    时间: 2015-3-25 21:56
Plus. 发表于 2015-3-25 18:32
我准备第8期的,马上看OC了

我正在复习oc,第七期貌似招满了赶不上了。也要等第八期了,加个QQ好友,一起交流交流啊。我的QQ337969019
作者: tzp123    时间: 2015-3-25 22:05
总结非常好,赞一个
作者: 游戏龙    时间: 2015-3-25 22:30
感谢感谢
作者: 806487984    时间: 2015-3-25 22:41
好东西,谢谢分享
作者: 黄翔    时间: 2015-3-25 23:31
顶一个!
作者: qingying5810    时间: 2015-3-26 00:48
我还在赚技术分
作者: Plus.    时间: 2015-3-26 07:53
a380vs747` 发表于 2015-3-25 21:56
我正在复习oc,第七期貌似招满了赶不上了。也要等第八期了,加个QQ好友,一起交流交流啊。我的QQ33796901 ...

申请了,ID:一个码农
作者: marswawa    时间: 2015-3-26 07:58
呵呵,不错。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2