linux笔记-基础部分

发布时间 : 星期三 文章linux笔记-基础部分更新完毕开始阅读

4.float my_power(float data, int n) {

if(n==0) return 1; else if(n<0) { int i=0; float all=1; for(i=0; i<-n; i++) { all *= data; } return 1/all; }else { int i=0; float all=1; for(i=0; i

----------------------------------------------- 6.

sn = 1 (n<=2) Sn = Sn-1+Sn-2

7.int data, num; 16,12 int i=1;

int len = (data>num)?num:data; for(i=len; i>1; i--) {

if((data%i == 0) && (num%i == 0)) { printf(\ } }

--------------------------------------------- 8.char buf[100]; char ch = '0';

25

int i = 0;

while((ch=getchar()) != '\\n') {

if(ch != ' ') { buf[i] = ch;i++; } }

buf[i] = '\\0';

=============================================================

2014.07.29

数组指针:int (*p)[n]---p为指针指向一个一维数组,这个数组有n个元素

指针数组: int *p[n]----p数组,数组里面存储的内存是指针(int类型的指针)

指针函数:int *fun(int) --fun本身是函数,返回值是指针

函数指针: int (*fun)(int) ----fun本身是指针,指向的是一个函数函数类型是(一个参数的,和一个返回值的函数)

=============================================================

2014.07.31

作用域

/***main.c*********************/

int a = 0; //全局变量---在整个程序文件中都可以使用

int main(void) {

int c = 0; //从此处开始到大括号结束 }

int fun(void) {

auto int b = 0;

int a = 0; //就近原则:出现同名变量时,内部变量会暂时替代全局变量 b = a; //局部变量a }

26

int add(int m) {

return a+m; }

/*****add.c*************************/

===================================== 存储类型:

自动:auto ---auto int a = 0;//系统自动分配和释放

静态:static---static int a = 0;//不管是局部或全局存储在数据段,只初始化一次 寄存器:register---register int a = 0;资源少,寄存器变量是不可以用&符取地址 外部:extern-----extern int a;//告诉本文件此变量在其他文件里面以及定过了,直接使用

------------------------------------- 程序内存分配:

全局变量: 存储在数据段中 局部变量: 存储在栈里

静态变量:存储在数据段中的.data中

动态变量:存储在堆(heap)里 (程序员自己用malloc分配的空间) 常量: 存储在数据段

---------------------------------------- 结构体 定义

struct 结构体名称{ 结构体成员 };

struct Student ( Student:结构体的标签名) {

char name[32]; //结构体成员 float Cscore; float Lscore; float Sscore; };

---------------------------------------- 定义结构体变量

struct Student stuA={\ // stuA 是结构体变量

struct Student stuA={.name=\成员对应

通过对象名来取结构体成员 char name[32]=\

27

name = \ //错误,数组除初始化外不能整体赋值 strcpy(name, \

stuA.name=\ //错误,数组除初始化外不能整体赋值 strcpy(stuA.name, \

stuA.Cscore = 99; stuA.Lscore = 98; stuA.Sscore = 100;

-------------------------------------- 练习:

定义一个学生结构体:成员包含:姓名,性别,年龄,电话,QQ 写一个程序通过键盘输入数据来初始化最后输出学生所有信息 typedef struct Student {

char name[32]; int age;

char phone[12]; char qq[11]; char sex; }Student;

int main(void) {

Student stu;

printf(\

printf(\scanf(\ printf(\scanf(\ printf(\ scanf(\ printf(\ printf(\ scanf(\

printf(\ stu.phone, stu.qq);

return 0; }

------------------------------------------- 结构体指针:

typedef struct Student // typedef 用“Student“来代表“结构体的数据类型” {

char name[32];

28

联系合同范文客服:xxxxx#qq.com(#替换为@)