【c学习-13】

/*库函数 1:数学函数库:math.h abs():绝对值; acos(),asin(),atan():cos,sin,tan的倒数 exp():指数的次幂 pow(x,y):x的y次幂 log():对数 rand():随机数 sqrt():平方根 sin(),cos(),tan():正弦,余弦,正切 floor:求整 fmod:取余 2:字符库函数:ctype.h 布尔判断:true=>1,false=>0 isalnum():判断字符是不是字符或数字 isalpha():判断字符是不是数字 isdgit():判断字符是不是在1-9之间 3:字符串函数:string.h strcat(x,y):连接字符串 strcmp(x,y):比较字符串 strlen():字符串的长度 tolower():将字符串转换为大写 toupper():将字符串转换为小写 */ #include #include #define MAX(a,b)((a)>(b)?(a):(b)) //定义参数宏 #include //定义字符变量 void testFunction(){ int ch=11; printf("isalnum:%d\nisalpha:%d\nisdgit%d\n\a",isalnum(ch),isalpha(ch), isdigit(ch)); /* if(isalnum(ch)){ printf("True:\n\a"); }else{ printf("False:\n\a"); } */ //定义指针变量 /* int *p1,*p2; printf("请输入a和b的值:\n"); scanf("%d%d",p1,p2); //调用定义的参数宏 printf("MAX:%d\n",MAX(p1,p2)); float a=7; float b=45; printf("%lf\nrand:%d\nsqrt:%lf\nfloor:%lf\n",log10(b),rand(),sqrt(b),floor(b)); printf("pow:%lf\nfmod:%d\n",pow(a,b),fmod(b,a)); printf("exp:%lf\n",exp(a)); printf("acos:%d\n",acos(45)); printf("abs:%d\na:%d\n",abs(a),a); */ } int main(){ testFunction(); } /* #include #define tag(n) printf("cpy"#n"=%d",cpy##n) //"##"标记粘贴符号 int main(void){ int cpy18=19; tag(18); } */ /* #include #define MAX(a,b)((a)>(b)?(a):(b)) //定义参数宏 void testFunction(){ //定义指针变量 int *p1,*p2; printf("请输入a和b的值:\n"); scanf("%d%d",p1,p2); //调用定义的参数宏 printf("MAX:%d\n",MAX(p1,p2)); } int main(){ testFunction(); } */ /*文件输入输出练习*/ #include #include #define SIZE 10 //定义宏常量 //定义结构体 struct struct_type{ char name[10]; int age; int id; char addr[10]; }stu[SIZE]; //初始化结构体成员数组长度 //定义保存结构体输出数据的函数 int main(){ //void save(){ //定义指针 FILE *fp; //计数器 int i=0; //判断文件是否存在 if(fp=fopen("test.txt","wb")==NULL){ printf("文件不存在:\n"); exit(0); } for(i=0;i #include #define tag(n) printf("cpy=n,"%d",##n) /* #define message_for(a,b)\ // "\"宏延续符 printf("name is" #a "and age is"#b ); // "#"字符常量化运算符 */ //void testFunction(){ //de /* int testFunction(void){ //int x,y; message_for("liupeng",18); */ /* FILE *fp; char buff[255] fp=fopen("C:\cfree5\include\1.txt","w+"); fscanf(fp,"%s",buff); //读字符数组首地址 printf("%s\n",buff); fgets(buff,255,(FILE*)fp); //读取字符数组全部地址 printf("%s\n",buff); */ /* /* FILE *fp; fp=fopen("1.txt","w+"); */ /* fputc("这是一个文件",fp); fprintf(fp,"这是一个文件hello world"); fclose(fp); /* struct struct_3{ int a:3; //允许调用1次 // int b:1; //int c:1; }str2; str2.a=2; printf("str2:%d\n",str2.a); str2.a=3; //第二次调用 printf("str2:%d\n",str2.a); //printf("str1:%d\n",sizeof(str1)); */ /* struct struct_2{ int a; int b; int c; }str1; struct struct_3{ int a:1; int b:1; int c:1; }str2; printf("str1:%d\n",sizeof(str1)); printf("str2:%d\n",sizeof(str2)); */ /* struct struct_1 { int a:1; //位域 :数据类型必须相同 int b:2; int c:5; /* data */ /* }x,*p; x.a=2; //构体成员表示1:无指针表示 "." p=&x; // 2:有指针表示 "->" p->b=3; printf("a:%d\nb:%lf\n",x.a,p->b); */ //初始化野指针 //定义一个字符串变量 /* char x="hello world"; printf("%p\n",strstr(x,"lo")); printf("%p\n",strchr(x,'o')); int *p=NULL; //执行判断 if(p){ puts("指针为野指针:\n"); }else{ puts("指针不为野指针\n"); } //对一些数据类型初始化 */ /* char x; int y; int *p; //打印出其默认值 printf("x:%c\ny:%d\n%p\n",x,y,p); /* for(;;){ //无限循环的另类表现方法 putchar('a'); } } */ //} int main(void){ int cpy18=19; tag(18); /* // testFunction(); } /* void forFunction(){ int i; for(i=0;i<10;i++){ for(i=0;i<5;i++){ puts("*"); } } } */ /* function shellFunction{ echo "hello world"; } shellFunction $1; */ /* #line 100 #include #include #include #include #include #include #define X 10 #define Y 9 int main(){ //定义操作文件指针 FILE *fp; int i,j,k,n=3, char str[3][10],temp[3]; //定义指针和二维字符型数组 printf("请输入你向文件传递的内容:\n"); for(i=0;i0) k=j; if(k!=i) strcpy(temp,str[i]); strcpy(str[i],str[k]); strcpy(str[],temp); } //判断文件是不是可以打开 if(fp=fopen("2.txt","w")==NULL){ printf("文件不存在"); exit(0); } //向文件输入内容 for(i=0;iY); printf("%d\n%d\n",CHAR_MAX,b); //lineFx(); } */ /*void*/ /* inline lineFx(){ int *i,*j; volatile i=j; // j=i; j=int(*)i; scanf("%d%d",i,j); //int *p; //p=&i scanf("%d",i) puts("hello world"); printf("%d\n%d\n",__LINE__,i,j); } */ #line 100 #include #include #include #include void lineFx(); int main(){ _complex x=1+3i; //lineFx(); } /*void*/inline lineFx(){ int *i,*j; volatile i=j; // j=i; j=int(*)i; scanf("%d%d",i,j); //int *p; //p=&i scanf("%d",i) puts("hello world"); printf("%d\n%d\n",__LINE__,i,j); } /*文件*/ /* #include #include void fileFunction(){ FILE *in,*out; //定义文件指针及字符型变量 char filename_1[10],filename_2[10],ch; //分别输入文件名 printf("请输入filename_1:\n"); scanf("%s",filename_1); printf("请输fielname_2:\n"); scanf("%s",filename_2); //判读这连个文件是不是存在 if(in=fopen(filename_1,"r")==NULL){ printf("filename_1不存在"); //输入文件 exit(0); } //判读这连个文件是不是存在 if(out=fopen(filename_2,"w")==NULL){ //输出文件 printf("filename_2不存在"); exit(0); } while(!feof(in)){ //文件打开错误 ch=fgetc(in); fputc(ch,out); putchar(ch); } putchar(10); //换行 fclose(in); //关闭输入和输出文件 fclose(out); } int main(){ fileFunction(); } */ /* #include #include int fileFunction(){ //定义文件指针 FILE *fp; //定义字符变量和字符数组 char ch,filename[10]; //getchar(ch); //输入字符 printf("请输入你的文件名:\n"); scanf("%s",&filename); //判断文件是不是存在 if(fp=fopen(filename,"w")==NULL){ printf("文件不存在:\n"); exit(0); } ch=getchar(); printf("请在输入一个字符#\n"); ch=getchar(); while(ch!='#'){ fputc(ch,fp); //写入文件 putchar(ch); ch=getchar(); } fclose(fp); putchar(10); return 0; } int main(){ fileFunction(); } */ //#include /*void fileFunction(){ FILE *fp; //判断文件是否存在 if(fp=fopen("index5.c","r")==NULL){ //打开文件 puts("文件不存在:\n"); exit(0); fclose("index5.c"); //关闭文件 } } int main(){ fileFunction(); } */ //#include /* void enumFunction(){ ); }*/ //enum enum_var{a=1,b=2,c=3,d=4}; /* enum{A=1,B=2,C=3,D=4}enum_var_2; int main(){ //enumFunction(); printf(enum_var_2); } */ /*链表*/ /*#include struct st{ struct st *next; int name[10]; int age; };; int main(){ //建立三个节点,向内存申请指针 struct st a,b,c,*head,*p; //初始化这三个节点 a.name=1;a.age=18; b.name=2;b.age=19; c.name=3;c.age=20; //将头指针指向起始a节点 head=&a; //同理,逐个将前一个节点指向下一个节点 a.next=&b; b.next=&c; c.next=NULL; p=head; //对a,b,c这三个节点输出 do{ printf("a:%s\nb:%d\n",p->name,p->age); p=p->next; }while(p!=NULL); } */ /*结构体练习*/ /*#include void structFunction(){ //定义一个结构体 struct lannuage{ char name; int id; char content[10]; }; //初始化一个二维结构体成员 struct lannuage la[4]={ {"c",1,"include"}, {"python",2,"import"}, {"javascript",3,"alert"}, {"php",4,"echo"} }; //向内存申请一个指针 struct lannuage *p; //遍历这个二维结构体成员 for(p=la;pname,p->id,p->content); } } int main(){ structFunction(); } //#define X "结构体成员1和结构体成员2相等" //定义一个结构体存放学生信息 //void structFunction(){ /*typedef*/ /*struct stu{ char name[10]; float score; int id; }; int main(){ //初始化学生1-2的结构体变量 struct stu student1;struct stu student2; printf("请输入第一个学生的姓名和成绩:\n"); scanf("%s,%lf",&student1.name,&student1.score); printf("请输入第二个学生的成绩和姓名:\n"); scanf("%s,%lf",&student2.name,&student2.score); //对两个结构体进行大小判断 if(student1.score>student2.score){ //输出结构体成员大的值 printf("stu1name:%s\n,stu1score:%lf\n", student1.name,student1.score); }else if(student1.score #include //声明1: /* typedef struct { char name[10]; int age; float money; }structtest1; structtest1 st1; st1.age=18; */ //声明2 struct structtest2{ char name[10]; int age; float money; }st2={"liupeng",18,20.0}; //声明3 /* struct structtest3{ char name[10]; int age; float money; }st3; st3.money=20.0; */ int main() { printf("st2:%d\n",/*st1.name*/st2.age/*st3.money*/); } /* void check(*); //声明检查函数 int i,*p1; //定义指针和计数器 p1=(int *)malloc(5 *sizeof(int));//为指针开辟一块空间 for(i=0;i<5;i++) //循环遍历指定要输入的值 { scanf("%d",&p+i); } check(p1); //引用检查函数 return 0; } //定义检查函数 void check(*p){ int i; //计数器 for(i=0;i<5;i++){ //循环筛选出值<60的 if(p[i]<60){ printf("%d",p[i]); } } */ #include #include #include //定义字符变量 char ch='a'; if(isalnum(ch)){ printf("True:\n\a"); }else{ printf("False:\n\a"); } #define MAX(a,b)((a)>(b)?(a):(b)) //定义参数宏 void testFunction(){ //定义指针变量 int *p1,*p2; printf("请输入a和b的值:\n"); scanf("%d%d",p1,p2); //调用定义的参数宏 printf("MAX:%d\n",MAX(p1,p2)); int a=-1; printf("a:%d\na:%d\n",abs(a),a); } int main(){ testFunction(); } /* #define tag(n) printf("cpy"=#n"%d",cpy##n) int main(void){ int cpy18=19; tag(18); }*/ /*练习*/ #include #define tag(n) printf("cpy=n"%d",cpy=##n) void testFunction(){ int cpy18=19; tag(18); } // printf("name is" #a "and age is" #b ); //结构体和含有位域的结构体大小比较 //位域的执行次数 /* FILE *fp; char buff[255]; fp=fopen("C:\cfree5\include\1.txt","w+"); fscanf(fp,"%s",buff) //读字符数组首地址 printf("%s\n",buff); fgetc(fp,255,FILE(*fp)); //读取字符数组全部地址 printf("%s\n",buff); */ /* fputc(fp,"这是一个文件"); fprintf("这是一个文件",fp); fclose(fp); */ /* struct struct_2{ int a; int b; int c; }str1; struct struct_3{ int a:1; //允许调用1次 // int b:1; //int c:1; }str2; str2.a=2; printf("str2:%d\n",sizeof(str2.a)); str2.a=3; //第二次调用 printf("str2:%d\n",sizeof(str2.a)); //printf("str1:%d\n",sizeof(str1)); */ /*结构体的两种表示及位域*/ /* struct struct_1 { int a:1; //位域 float b:2; double c:5; /* data */ /* }x,*p; x.a=2; p=&x; p->b=3; printf("a:%d\nb:%lf\n",x.a,p->b); */ /* //初始化野指针 int *p=NULL; //执行判断 if(p){ puts("指针为野指针:\n"); }esle{ puts("指针不为野指针\n"); } /* for(;;){ putchar('a'); } register int a; scanf("%d",&a); printf("format\a"); void *malloc(int); puts("a"); */ } int main(){ testFunction(); } //定义迭代器 /* int iterInval; char string[10]; for(iterInval=0;iterInval<10;iterInval++){ scanf("%s",string); printf("%s",string); } //清除多余的文件输入 fflush(stdin); gets(string); */ /* #pragma message("hello world") void testFunction(){ */ }

posted on 2018-08-28 18:21  activecode  阅读(148)  评论(0编辑  收藏  举报

导航