C语言指针入门(一)
2017-11-30 21:56
141 查看
一、不用strlen实现此函数功能,数组下标从0开始
例一:
#include<stdio.h>
#include<string.h>
int main()
{
intn,i=0;
chara
;
scanf("%s",a);
while(a[i]!='\0')
i++;
printf("%d",i);
}
运行结果:
abcde
5
例二:
#include<stdio.h>
#include<string.h>
int main()
{
intn,i=1;
chara
;
scanf("%s",a);
while(a[i-1]!='\0')
i++;
printf("%d",i-1);
}
运行结果:
happy
5
二、不用strcpy实现该功能
#include<stdio.h>
int main()
{
chara[400]={'a','b','c','d'};
charb[4000];
inti=0;
while(a[i]!='\0')
{
b[i]=a[i];
printf("%c",b[i]);
i++;
}
}
运行结果:abcd
三、选择排序冒泡排序
选择:第一个数和后面所有数比,最小的放前面
下一次第二个和后面所有比
for
四、gets,puts运用
#include<stdio.h>
#include<string.h>
int main()
{
inti;
chara[3][20];
for(i=0;i<3;i++)
{
gets(a[i]);
puts(a[i]);
}
}
运行结果:
abcd
abcd
efghcd
efghcd
wenwanwan
wenwanwan
五、将最大字符串放入str中
#include<stdio.h>
#include<string.h>
int main()
{
inti;
chara[3][20];
for(i=0;i<3;i++)
{
gets(a[i]);
puts(a[i]);
}
charstr[20];
strcmp(a[0],a[1]);
if(strcmp>0)
strcpy(str,a[1]);
else
strcpy(str,a[0]);
strcmp(str,a[2]);
if(strcmp>0)
strcpy(str,a[2]);
else
strcpy(str,str);
printf("%s",str);
}
运行结果:
abcd
abcd
efghcd
efghcd
wenwanwan
wenwanwan
wenwanwan
六、函数调用(2.c)
七、关于return
#include<stdio.h>
int main()
{
inta=1;
f1(a);
printf("%d",f1(a));
}
int f1(x)
{
x++;
return x;
}
运行结果:2
若没有return x;则结果为1.
八、址传递 *:取值符,后加地址
#include<stdio.h>
intmain()
{
int a=0;
printf("%d\t",&a);
f1(&a);
printf("%d\t",f1());
printf("%d",a);
}
intf1(int a)
{
return a++; /*此处++为地址上的加1,而不是值上的加1*/
}
运行结果:-1077560368 -1077560367 0
九、运算符
单目:++,--
双目:+,-,*,\,>,<
三目:a<b?a:b(输出小的值)
#include<stdio.h>
intmain()
{
int a,b,t;
scanf("%d,%d",&a,&b);
t=a<b?a:b;
printf("%d",t);
}
运行结果:
8,9
8
十、在字符串数组指定位置插入字符
#include<stdio.h>
intmain()
{
char a[100]={"abcdfgh"};
int i;
for(i=7;i>3;i--)
{
a[i]=a[i-1];
}
a[4]='e';
for(i=0;i<100;i++)
printf("%c",a[i]);
}
运行结果:abcdefgh
在字符串数组指定位置插入字符串
最大公约数、最小公倍数、辗转相除法
串函数程序:strins,strcpy,strlen,strmax,gs,sort,triple
例一:
#include<stdio.h>
#include<string.h>
int main()
{
intn,i=0;
chara
;
scanf("%s",a);
while(a[i]!='\0')
i++;
printf("%d",i);
}
运行结果:
abcde
5
例二:
#include<stdio.h>
#include<string.h>
int main()
{
intn,i=1;
chara
;
scanf("%s",a);
while(a[i-1]!='\0')
i++;
printf("%d",i-1);
}
运行结果:
happy
5
二、不用strcpy实现该功能
#include<stdio.h>
int main()
{
chara[400]={'a','b','c','d'};
charb[4000];
inti=0;
while(a[i]!='\0')
{
b[i]=a[i];
printf("%c",b[i]);
i++;
}
}
运行结果:abcd
三、选择排序冒泡排序
选择:第一个数和后面所有数比,最小的放前面
下一次第二个和后面所有比
for
四、gets,puts运用
#include<stdio.h>
#include<string.h>
int main()
{
inti;
chara[3][20];
for(i=0;i<3;i++)
{
gets(a[i]);
puts(a[i]);
}
}
运行结果:
abcd
abcd
efghcd
efghcd
wenwanwan
wenwanwan
五、将最大字符串放入str中
#include<stdio.h>
#include<string.h>
int main()
{
inti;
chara[3][20];
for(i=0;i<3;i++)
{
gets(a[i]);
puts(a[i]);
}
charstr[20];
strcmp(a[0],a[1]);
if(strcmp>0)
strcpy(str,a[1]);
else
strcpy(str,a[0]);
strcmp(str,a[2]);
if(strcmp>0)
strcpy(str,a[2]);
else
strcpy(str,str);
printf("%s",str);
}
运行结果:
abcd
abcd
efghcd
efghcd
wenwanwan
wenwanwan
wenwanwan
六、函数调用(2.c)
七、关于return
#include<stdio.h>
int main()
{
inta=1;
f1(a);
printf("%d",f1(a));
}
int f1(x)
{
x++;
return x;
}
运行结果:2
若没有return x;则结果为1.
八、址传递 *:取值符,后加地址
#include<stdio.h>
intmain()
{
int a=0;
printf("%d\t",&a);
f1(&a);
printf("%d\t",f1());
printf("%d",a);
}
intf1(int a)
{
return a++; /*此处++为地址上的加1,而不是值上的加1*/
}
运行结果:-1077560368 -1077560367 0
九、运算符
单目:++,--
双目:+,-,*,\,>,<
三目:a<b?a:b(输出小的值)
#include<stdio.h>
intmain()
{
int a,b,t;
scanf("%d,%d",&a,&b);
t=a<b?a:b;
printf("%d",t);
}
运行结果:
8,9
8
十、在字符串数组指定位置插入字符
#include<stdio.h>
intmain()
{
char a[100]={"abcdfgh"};
int i;
for(i=7;i>3;i--)
{
a[i]=a[i-1];
}
a[4]='e';
for(i=0;i<100;i++)
printf("%c",a[i]);
}
运行结果:abcdefgh
在字符串数组指定位置插入字符串
最大公约数、最小公倍数、辗转相除法
串函数程序:strins,strcpy,strlen,strmax,gs,sort,triple
相关文章推荐
- C语言指针入门
- 讲解C语言编程中指针赋值的入门实例
- 指针07 - 零基础入门学习C语言47
- C语言学习入门 (五) 指针
- 指针07 - 零基础入门学习C语言47
- C语言快速入门之指针
- C语言指针轻松入门
- C语言指针入门
- 指针05 - 零基础入门学习C语言45
- C语言编程入门——指针(下)
- 指针05 - 零基础入门学习C语言45
- C语言编程入门——指针与函数、数组
- C语言指针入门(三)
- C语言指针入门知识
- C语言指针入门(四)
- 指针01 - 零基础入门学习C语言41
- 指针02 - 零基础入门学习C语言42
- 指针01 - 零基础入门学习C语言41
- 指针02 - 零基础入门学习C语言42
- 指针04 - 零基础入门学习C语言44