【c学习-14】
/*练习*/
#include
int testFeiunction(b[],n){
b[1]=1;
n=10;
}
int main(){
int a[10]={1,2,3,4,5};
int n=10;
testFeiunction(a,n);
printf("%d,%d",a[1],n);
}
//输出特殊图案
/*兔增长问题*/
#include
void rabbitFunction(){
//定义整型变量初始化,计数器
int ra1=1,ra2=1,i;
//规定增长的次数为20,执行循环
for(i=0;i<20;i++){
printf("%12d%12d",ra1,ra2);
//对增长进行过滤
if(i%2==0)
printf("
");
ra1=ra1+ra2;
ra2=ra1+ra2;
}
}
int main(){
rabbitFunction();
}
#include
//定义文件操作指针
FILE *fp;
FILE *fp1;
fp=fopen("1.txt","rw");
fp1=fopen("2.txt","rw");
//使用rename()重命名
rename(fp,fp1);
void pictureFunction(){
//定义整型变量
int i,j;
printf("11
");
for(i=1;i<11;i++){
for(j=1;j
#define X 176
#define Y 219
void ascillFunction(){
printf("%c%c%c%c%c
",Y,X,X,X,Y);
printf("%c%c%c%c%c
",X,Y,X,Y,X);
printf("%c%c%c%c%c
",X,X,Y,X,X);
printf("%c%c%c%c%c
",X,Y,X,Y,X);
printf("%c%c%c%c%c
",Y,X,X,X,Y);
}
int main(){
ascillFunction();
}
*/
/*输入三个数,按大小排列*/
#include
#define swap(a,b) {a=a+b;b=a-b;a=a-b;}
void swapFunction(){
//定义整型变量,t用于交换
int x,y,z,t;
printf("请输入x,y,z的值:
");
scanf("%d%d%d",&x,&y,&z);
if(x>y){
swap(x,y);
/*
t=x;
x=y;
y=t;
*/
}else if(x>z){
swap(x,z);
/*
t=x;
x=z;
z=t;
*/
}
else (y>z){
swap(y,z);
/*
t=y;
y=z;
z=t;
*/
}
}
int main(){
swapFunction();
}
I(利润)<=10*10(*)4 money+10%
10*10(*)410*10(*)4 7.5%
[20,40] > 20 5%
[40,60] >40 3%
[60,100] >60 1.5%
>100 1%
//定义每个区间应得的奖金和利润双进度变量
double money money_1,money_2,money_3,money_4,money_5,I;
printf("请输入你的利润:
");
scanf("%lf",I);
//根据表达式计算每阶段的奖金
money_1=money_1*0.1;
money_2=money_1+money_1*0.075;
money_3=money_2+money_2*0.05;
money_4=money_3+money_3*0.03;
money_5=money_4+money_4*0.015;
//判断
if(i<100000){
money=I*0.1;
}else if(I<=200000)
{
money=money_1+(I-100000)*0.0075;
}
else if(I<=400000)
{
money=money_2+(I-200000)*0.05;
}
else if(I<=600000)
{
money=money_1+(I-400000)*0.03;
}
else if(I<=1000000)
{
money=money_3+(I-600000)*0.015;
}
else if(I<=1000000)
{
money=money_1+(I-1000000)*0.01;
}
printf("%lf
",money);
//有x,y,z,w四个数字,互异排列
#include
//对程序做优化
void upFunction(){
//定义整型变量
int a=3,b=4,c=5; //初始化变量
for(a=1;a<5;a++){
for(b=1;b<5;b++){
if(a==b){
continue;
}
for(c=1;c<5;c++){
if(b!=c||a!=c){
printf("a:%d
b:%dc:%d
",a,b,c);
}
}
}
int main(){
upFunction();
}
void testFeiunction(){
//定义整型变量
int x,y,z;
//分别为三个数字赋值
printf("请分别输入x,y,z的值");
scanf("%d%d%d",&x,&y,&z);
//执行三次for循环
for(x=1;x<5;x++){
for(y=1;y<5;y++){
for(z=1;z<5;z++){
//对重复的数进行筛选
if(x!=y&&x!=z&&y!=z){
printf("x:%d
y:%d
z:%d
",x,y,z);
}
}
}
}
}
int main(){
testFeiunction();
}
/*命令行参数*/
#include
#include
#include
void testFeiunction(){
int x=',';
printf("ispunct:%d
"ispunct(x));
}
int main(){
testFeiunction();
}
#define x 10
#define y 9
#define accert(x>y)
int main(int argc,char *argv[]){
//分别对形参数不同的情况下做判断
if(argc=2){
printf("only have a manager%s
",argv[1]);
}
else if(argc>2){
printf("have many manager
");
}else{
printf("no have manager
");
}
//对参数不同的情况下做判断
}
/*内存*/
#include
#include
void testFeiunction(){
//定义整型变量
//int i;
char *pointer,ch[10];
strcpy(ch,"liupeng");
//向内存申请一段空间
free=malloc(20*siezeof(char));
//判断
if(free=NULL){
fprintf(stderr,"you age is error");
}
else{
strcpy(free,"you age is 18");
}
printf("ch:%s
pointer:%s
",ch,free);
int main(){
testFeiunction();
}
/*可变形参*/
#include
#include
void testFeiunction(int a,...){
//定义整型变量,计数器
int sum,i;
va_list valist; //初始化可变参数列表
va_start(valist,num);
//对可变参数进行累加
for(i=0;i
//创建递归函数
void testFeiunction(int i){ //定义计数形参
//判断i<=1的情况
if(i<=1){
return 0;
}
return i*testFeiunction(i);
}
int main(){
//为要递归的变量赋值
int x;
printf("请输入你要递归的数字:
");
scanf("%d",&x)
//调用递归函数
testFeiunction(x);
}
/*
*/
/*练习*/
/*练习*/
/*练习*/
/*数组形参改变子函数值*/
#include
int testFeiunction(int b[],int n){
b[1]=10;
n=1;
}
int main(){
int a[10]={1,2,3,4,5};
int n=10;
testFeiunction(a,n);
printf("%d,%d",a[1],n);
}
/*兔增长问题*/
/*
#include
void rabbitFunction(){
//定义整型变量初始化,计数器
int ra1=1,ra2=1,i;
//规定增长的次数为20,执行循环
for(i=0;i<20;i++){
printf("%12d%12d",ra1,ra2);
//对增长进行过滤
if(i%2==0)
printf("
");
ra1=ra1+ra2;
ra2=ra1+ra2;
}
}
int main(){
rabbitFunction();
}
*/
/*练习*/
/*特图案*/
/*
#include
//定义文件操作指针
void fileFx(){
FILE *fp;
FILE *fp1;
fp=fopen("1.txt","rw");
fp1=fopen("2.txt","rw");
//使用rename()重命名
rename(fp,fp1);
}
int main(){
fileFx();
}
*/
//输出特殊图案
/*
#include
void pictureFunction(){
//定义整型变量
int i,j;
printf("11
");
for(i=1;i<11;i++){
for(j=1;j
void pictureFunction(){
//定义整型变量
int i,j;
//循环控制输出
for(i=1;i<8;i++){
for(j=1;j<8;j++)
if((i+j)%2==0)
printf("-3%c%c",216,216);
else printf(" ");
printf("
");
}
}
int main(){
pictureFunction();
}
*/
/*练习*/
/*九九乘法表*/
/*
#include
void powFunction(){
//定义整型变量
int i,j,result;
printf("
");
//执行外层循环
for(i=1;i<10;i++){
//执行内层循环
for(j=1;j<=i;j++){
result=i*j;
printf("%d*%d%-2d",i,j,result);
}
printf("
");
}
}
int main(){
powFunction();
}
*/
/*
#include
#define X 176
#define Y 219
void ascillFunction(){
printf("%c%c%c%c%c
",Y,X,X,X,Y);
printf("%c%c%c%c%c
",X,Y,X,Y,X);
printf("%c%c%c%c%c
",X,X,Y,X,X);
printf("%c%c%c%c%c
",X,Y,X,Y,X);
printf("%c%c%c%c%c
",Y,X,X,X,Y);
}
int main(){
ascillFunction();
}
*/
/*输入三个数,按大小排列*/
/*
define swap(a,b) {a=a+b;b=a-b;a=a-b;}
void swapFunction(){
//定义整型变量,t用于交换
int x,y,z,t;
printf("请输入x,y,z的值:
");
scanf("%d%d%d",&x,&y,&z);
if(x>y){
swap(x,y);
/*
t=x;
x=y;
y=t;
*/
/*
}else if(x>z){
swap(x,z);
/*
t=x;
x=z;
z=t;
*/
/*
else if(y>z){
swap(y,z);
/*
t=y;
y=z;
z=t;
*/
/*
}
else{
exit(0);
}
printf("x:%d
y:%d
c:%d
",x,y,z);
}
int main(){
swapFunction();
}
/*
#include
int main(){
//定义整型变量,t用于交换
int x,y,z,t;
printf("请输入x,y,z的值:
");
scanf("%d%d%d",&x,&y,&z);
//判读
if(x>y){
t=x;
x=y;
y=t;
}else if(x>z){
t=x;
x=z;
z=t;
}else if(y>z){
t=y;
y=z;
z=t;
}
else{
exit(0);
}
printf("x:%d
y:%d
c:%d
",x,y,z);
}
*/
/*
void testFunction(){
double money, money_1,money_2,money_3,money_4,money_5,I;
printf("请输入你的利润:
");
scanf("%lf",I);
//根据表达式计算每阶段的奖金
money_1=money_1*0.1;
money_2=money_1+money_1*0.075;
money_3=money_2+money_2*0.05;
money_4=money_3+money_3*0.03;
money_5=money_4+money_4*0.015;
//判断
if(I<100000){
money=I*0.1;
}else if(I<=200000)
{
money=money_1+(I-100000)*0.0075;
}
else if(I<=400000)
{
money=money_2+(I-200000)*0.05;
}
else if(I<=600000)
{
money=money_1+(I-400000)*0.03;
}
else if(I<=1000000)
{
money=money_3+(I-600000)*0.015;
}
else if(I<=1000000)
{
money=money_1+(I-1000000)*0.01;
}
printf("%lf
",money);
}
int main(){
testFunction();
}
*/
//有x,y,z,w四个数字,互异排列
/*练习*/
//有x,y,z,w四个数字,互异排列
/*
#include
//对程序做优化
void upFunction(){
//定义整型变量
int a=3,b=4,c=5; //初始化变量
for(a=1;a<5;a++){
for(b=1;b<5;b++){
if(b==a){
continue;
}
for(c=1;c<5;c++){
if(c==a||c==b){
continue;
}
printf("a:%d
b:%dc:%d
",a,b,c);
}
}
}
}
int main(){
upFunction();
}
*/
/*
#include
void testFeiunction(){
//定义整型变量
int x,y,z;
//分别为三个数字赋值
printf("请分别输入x,y,z的值");
scanf("%d%d%d",&x,&y,&z);
//执行三次for循环
for(x=1;x<5;x++){
for(y=1;y<5;y++){
for(z=1;z<5;z++){
//对重复的数进行筛选
if(x!=y&&x!=z&&y!=z){
printf("x:%d
y:%d
z:%d
",x,y,z);
}
}
}
}
}
int main(){
testFeiunction();
}
*/
/*
#include
#include
*/
/*命令行参数*/
/*
#include
#include
#include
void testFeiunction(){
int x=',';
int y=' ';
printf("ispunct:%d
isapace:%d
",ispunct(x),isspace(x));
}
int main(){
testFeiunction();
}
*/
/*
#define x 10
#define y 9
#define z x=y
#define accert(z)
int main(){
}
*/
/*
int main(int argc,char *argv[]){
//分别对形参数不同的情况下做判断
if(argc=2){
printf("only have a manager%s
",argv[1]);
}
else if(argc>2){
printf("have many manager
");
}else{
printf("no have manager
");
}
//对参数不同的情况下做判断
}
*/
/*内存*/
/*
#include
#include
#include
void testFeiunction(){
//定义整型变量
//int i;
char *pointer,ch[10];
strcpy(ch,"liupeng");
//向内存申请一段空间
pointer=malloc(20 * sizeof(char)); //动态分配内存函数:malloc
//判断
if(pointer==NULL){
fprintf(stderr,"you age is error");
}
else{
strcpy(pointer,"you age is 18");
}
//printf("ch:%s
pointer:%s
",ch,pointer);
pointer=realloc(pointer,100*sizeof(char)); //重新分配内存
//再次执行判断
if(pointer==NULL){
fprintf(stderr,"you age is error");
}
else{
strcat(pointer,"you sex is man");
// strcpy(pointer,"you age is 18");
}
printf("ch:%s
pointer:%s
",ch,pointer);
}
int main(){
testFeiunction();
}
*/
/*可变形参*/
/*
#include
#include
int testFeiunction(int num,...){
//定义整型变量初始化,计数器
double sum=0;
int i;
va_list valist; //初始化可变参数列表
va_start(valist,num);
//对可变参数进行累加
for(i=0;i
//对程序做优化,利用三目运算符?:
#define a 1
#define b 0
#define c=((a)>(b))?((a):(b))
int fbnqNum(int i){ //定义计数形参
//对i=1和i=0的特殊情况判断
if(i==0){
return 0;
}
if(i==1)
return 1;
}
return fbnqNum(i-1)+fbnqNum(i-2);
}
int main(){
//循环要加入斐波那契数列运算的数
int x;
int i;
printf("请输入你要循环的数字:
");
scanf("%d",&x);
for(i=0;i
#include
void pointFunctionX{
C *p=new C;//新建一个指针
if(p==NULL){
return 0;
}
}
void pointFunction(){
//定义一个指针
//向内存申请一段空间
char *p=(char *)malloc(100);
//向指针写入内容
strcpy(p,"liupeng");
//释放指针空间
free(p);
//判断指针是不是野指针
if(p==NULL){
strcpy(fp,"gnepuil");
}
}
#include
#define tag(n)n##n
#error message("你的程序有错误")
//#define tag(n) printf("cpy=n"%d",cpy=##n)
void exampleFunction(){
#error
printf("%d
",__STDC__);
}
void testFunction(){
//定义除数与被除数
int x=20;int y=0;int z;
if(y==0){
fprintf(stdio,"被除数为0程序退出:
");
exit(-1);
}
z=x/y;
fprintf(stdio,"取余后为:
",z);
exit(0);
/*
int cpy18=19;
tag(18);
*/
}
// printf("name is" #a "and age is" #b );
//结构体和含有位域的结构体大小比较
//位域的执行次数
/*
FILE *fp;
char buff[255];
fp=fopen("C:cfree5include1.txt","w+");
fscanf(fp,"%s",buff) //读字符数组首地址
printf("%s
",buff);
fgetc(fp,255,FILE(*fp)); //读取字符数组全部地址
printf("%s
",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
",sizeof(str2.a));
str2.a=3; //第二次调用
printf("str2:%d
",sizeof(str2.a));
//printf("str1:%d
",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
b:%lf
",x.a,p->b);
*/
/*
//初始化野指针
int *p=NULL;
//执行判断
if(p){
puts("指针为野指针:
");
}esle{
puts("指针不为野指针
");
}
/*
for(;;){
putchar('a');
}
register int a;
scanf("%d",&a);
printf("formata");
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(){
*/
}
/*库函数
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
isalpha:%d
isdgit%d
a",isalnum(ch),isalpha(ch),
isdigit(ch));
/*
if(isalnum(ch)){
printf("True:
a");
}else{
printf("False:
a");
}
*/
//定义指针变量
/*
int *p1,*p2;
printf("请输入a和b的值:
");
scanf("%d%d",p1,p2);
//调用定义的参数宏
printf("MAX:%d
",MAX(p1,p2));
float a=7;
float b=45;
printf("%lf
rand:%d
sqrt:%lf
floor:%lf
",log10(b),rand(),sqrt(b),floor(b));
printf("pow:%lf
fmod:%d
",pow(a,b),fmod(b,a));
printf("exp:%lf
",exp(a));
printf("acos:%d
",acos(45));
printf("abs:%d
a:%d
",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的值:
");
scanf("%d%d",p1,p2);
//调用定义的参数宏
printf("MAX:%d
",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("文件不存在:
");
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:cfree5include1.txt","w+");
fscanf(fp,"%s",buff); //读字符数组首地址
printf("%s
",buff);
fgets(buff,255,(FILE*)fp); //读取字符数组全部地址
printf("%s
",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
",str2.a);
str2.a=3; //第二次调用
printf("str2:%d
",str2.a);
//printf("str1:%d
",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
",sizeof(str1));
printf("str2:%d
",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
b:%lf
",x.a,p->b);
*/
//初始化野指针
//定义一个字符串变量
/*
char x="hello world";
printf("%p
",strstr(x,"lo"));
printf("%p
",strchr(x,'o'));
int *p=NULL;
//执行判断
if(p){
puts("指针为野指针:
");
}else{
puts("指针不为野指针
");
}
//对一些数据类型初始化
*/
/*
char x;
int y;
int *p;
//打印出其默认值
printf("x:%c
y:%d
%p
",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("请输入你向文件传递的内容:
");
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
%d
",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
%d
",__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
%d
",__LINE__,i,j);
}
/*文件*/
/*
#include
#include
void fileFunction(){
FILE *in,*out;
//定义文件指针及字符型变量
char filename_1[10],filename_2[10],ch;
//分别输入文件名
printf("请输入filename_1:
");
scanf("%s",filename_1);
printf("请输fielname_2:
");
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("请输入你的文件名:
");
scanf("%s",&filename);
//判断文件是不是存在
if(fp=fopen(filename,"w")==NULL){
printf("文件不存在:
");
exit(0);
}
ch=getchar();
printf("请在输入一个字符#
");
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("文件不存在:
");
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
b:%d
",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("请输入第一个学生的姓名和成绩:
");
scanf("%s,%lf",&student1.name,&student1.score);
printf("请输入第二个学生的成绩和姓名:
");
scanf("%s,%lf",&student2.name,&student2.score);
//对两个结构体进行大小判断
if(student1.score>student2.score){
//输出结构体成员大的值
printf("stu1name:%s
,stu1score:%lf
",
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
",/*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:
a");
}else{
printf("False:
a");
}
#define MAX(a,b)((a)>(b)?(a):(b)) //定义参数宏
void testFunction(){
//定义指针变量
int *p1,*p2;
printf("请输入a和b的值:
");
scanf("%d%d",p1,p2);
//调用定义的参数宏
printf("MAX:%d
",MAX(p1,p2));
int a=-1;
printf("a:%d
a:%d
",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:cfree5include1.txt","w+");
fscanf(fp,"%s",buff) //读字符数组首地址
printf("%s
",buff);
fgetc(fp,255,FILE(*fp)); //读取字符数组全部地址
printf("%s
",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
",sizeof(str2.a));
str2.a=3; //第二次调用
printf("str2:%d
",sizeof(str2.a));
//printf("str1:%d
",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
b:%lf
",x.a,p->b);
*/
/*
//初始化野指针
int *p=NULL;
//执行判断
if(p){
puts("指针为野指针:
");
}esle{
puts("指针不为野指针
");
}
/*
for(;;){
putchar('a');
}
register int a;
scanf("%d",&a);
printf("formata");
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(){
*/
}
要保持着对知识的渴求,给自己充电,不要这荒废了短暂的时光;