A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© a380vs747` 中级黑马   /  2015-3-24 15:30  /  2869 人查看  /  20 人回复  /   1 人收藏 转载请遵从CC协议 禁止商业使用本文


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了。


评分

参与人数 1技术分 +1 收起 理由
Micro + 1 很给力!

查看全部评分

20 个回复

倒序浏览
好东西,感谢感谢。。。。正在准备IOS第七届第三批,不知道有希望没,才提交自荐信,下面的还没敢开始,没谱。。。。
回复 使用道具 举报
很不错啊,O(∩_∩)O~
回复 使用道具 举报
scanf可以读取多个字符串
例如输入a , b
scanf("%d,%d");
回复 使用道具 举报
Plus. 发表于 2015-3-24 18:57
scanf可以读取多个字符串
例如输入a , b
scanf("%d,%d");

字符串,a,b是单个的字符
比如想要输入this is good 你怎么输入?
char s[20];
用for循环,一个一个往里面输入...
用gets()一次性就可以
回复 使用道具 举报
很详细。希望你以后可以分享更多的
回复 使用道具 举报
Plus. 中级黑马 2015-3-24 21:41:28
7#
a380vs747` 发表于 2015-3-24 20:04
字符串,a,b是单个的字符
比如想要输入this is good 你怎么输入?
char s[20];

唔我没表达清楚,我的意思是:
scanf可以同时输入多个字符串,gets一次只能输入一个字符串。
scanf不能读取空格、tab键,gets可以读入包含空格、tab键的字符串,直到遇到回车为止。
回复 使用道具 举报
Plus. 发表于 2015-3-24 21:41
唔我没表达清楚,我的意思是:
scanf可以同时输入多个字符串,gets一次只能输入一个字符串。
scanf不能 ...

是的 这次表达的很清楚,对的。就是这样:loveliness:
回复 使用道具 举报
Plus. 中级黑马 2015-3-25 17:39:45
9#
a380vs747` 发表于 2015-3-25 00:22
是的 这次表达的很清楚,对的。就是这样

:lol
共同进步
回复 使用道具 举报

你准备的怎么样了?准备第几期啊?
回复 使用道具 举报
谢谢楼主分享,楼主辛苦了!:D
回复 使用道具 举报
Plus. 中级黑马 2015-3-25 18:32:34
12#
a380vs747` 发表于 2015-3-25 17:46
你准备的怎么样了?准备第几期啊?

我准备第8期的,马上看OC了
回复 使用道具 举报
有木有觉得指向函数的指针作为函数参数的时候很想swift里面的闭包啊、、、、
回复 使用道具 举报
Plus. 发表于 2015-3-25 18:32
我准备第8期的,马上看OC了

我正在复习oc,第七期貌似招满了赶不上了。也要等第八期了,加个QQ好友,一起交流交流啊。我的QQ337969019
回复 使用道具 举报
tzp123 来自手机 中级黑马 2015-3-25 22:05:06
15#
总结非常好,赞一个
回复 使用道具 举报
感谢感谢
回复 使用道具 举报
好东西,谢谢分享
回复 使用道具 举报
顶一个!
回复 使用道具 举报
我还在赚技术分
回复 使用道具 举报
Plus. 中级黑马 2015-3-26 07:53:42
20#
a380vs747` 发表于 2015-3-25 21:56
我正在复习oc,第七期貌似招满了赶不上了。也要等第八期了,加个QQ好友,一起交流交流啊。我的QQ33796901 ...

申请了,ID:一个码农
回复 使用道具 举报
12下一页
您需要登录后才可以回帖 登录 | 加入黑马