您的位置:首页 > 其它

【达内训练营第三天】07_28_复杂数据类型与文件系统

2010-07-31 07:59 295 查看
圆周率怎么算?精度?while i > 0.000001
写函数
读入一个大于1的整数
判断一个整数是否素数(质数),不用输出
main调1、2输出结果
-----------------------------------------------
复杂数据类型与文件系统

数组

输出地址用格式字符p
局部变量是在栈里开辟的空间,所以先定义的变量地址大些,两个变量之间不一定是挨着放的。
字符数组可以用字符串初始化,其他数组不可以。
字符串函数<string.h>
字符串复制:strcpy(to,from)要求to是一个足够大的字符数组
字符串追加:strcat(to,str)要求to是一个足够大的字符数组
字符串比较:strcmp(str1,str2)比较两个字符串的大小,执行的是逐个比较对应字符的ASCII码,结果是一个整数,分别用正、零、负来表示大于、等于、小于关系。
求字符串长度:strlen(str)计算字符串长度,不包括'/0'。
换行
printf("/n");
putchar('/n');
puts(" ");

用数组作为函数的参数
函数的形参和实参可以是数组;
形参数组跟实参数组会是同一个数组,数据会相互影响,也因此函数的return语句不需要返回数组。
数组名只是个开始地址,所以数组作参数时,往往把元素个数作为另一个参数。

指针

c程序设计中使用指针的作用:
使程序简洁紧凑高效
有效的表示复杂的数据结构
动态分配内存
得到多于一个的函数返回值

指针是C语言的精华
指针也是C语言的难点

指针变量的定义:
数据类型*指针变量=地址
初始化不是必须的,但是个好习惯。
指针中保存的地址要么在类型上是跟指针的数据类型一致,要么是NULL。(NULL本质上是整数0,当成真假时是假)

运算符:
&对变量取地址
*对地址取变量(小心无效的地址)

指针即地址,可以对指针加减,但只能加减整数。

指针应用:
通过指针间接访问变量
通过指针访问数组
指针作函数形参->实现假双向传递
字符指针管理字符串(指针不能保存字符串,只是保存地址,它占4Byte)
段错误—>非法内存操作
/*
char* str="hello";
puts(str);
str[0]='H';
puts(str);
*/
const char* str="hello";
字符指针与字符数组的区别
字符数组是一组字符变量,占一段内存空间。
字符指针只有4个字节。需要保存一个字符串时用字符数组,操纵字符串用字符指针。

用指针处理字符串数组

命令行参数
which vi可查看路径
int main(int argc, char* argv[])
{
......

}
argc命令行上字符串的个数,至少是1。
argv[]依次指向每个字符串。
argc、argv可以改成其他的。

结构
结构体是程序员可以自行定义的数据类型。
一般用结构体来保存一组相关数据,各个数据的类型可以不同。
struct 结构体类型名{
数据类型1 成员变量名1;
数据类型2 成员变量名2;
......

};
怎样使类型名变短?
typedef struct Student Stu;
typedef struct{
......
......
......
}stu;
(*p).name和p->name一样

文件操作
说不完了,不说了?

目录操作

创建目录:
int mkdir("目录名",权限);
删除目录或文件:
int remove("目录名或文件名");只能删除空目录
目录或文件改名:
int rename("目录名或文件名","新名");
取得当前工作目录:
char* getcwd(字符数组名,字符数组长度);
cwd:current working directory
设置当前目录:
int chdir("目录名");
目录名可以用相对路径,也可以用绝对路径。

#include <stdio.h>
#include <sys/stat.h>
#include <stdlib.h>

int main()
{
char name[256];
mkdir("abc",0700);//0开头表示8进制数
mkdir("defg",0700);
getcwd(name,256);
printf("current in %s/n",name);
rename("abc","xyz");
chdir("defg");
getcwd(name,256);
printf("current in %s/n",name);
chdir("..");
remove("defg");
return 0;
}

从键盘输入10个整数,从小到大排序,输出。写成独立的3个函数。

---------------------------------------------------------------

训练营只有3天,相当于熟悉一下基础吧。陈老师讲课挺好的,很有收获啊。O(∩_∩)O哈哈~
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: