c语言第5章-3
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法:
#define n 5 main( )
i=0,… ,n-2
{int a[n], i, j, k, t;
j=i+1,… ,n-1
for(i=0;i<n;i++)
若a[j]<a[i]?则a[i]a[j] scanf("%d",&a[i]);
for(i=0;i<n-1;i++)
for(j=i+1;j<n;j++)
4. 字符串连接函数 strcat(字符数组名,字符数组名或字符串常量) char a[10]="abcde",b[10]="xy"; strcat(a,b); puts(a); puts(b);
5. 字符串复制函数 strcpy(字符数组名,字符数组名或字符串常量) char a[10]="abcde",b[10]="xy"; strcpy(a,b); puts(a); puts(b);
for(gi=et0s;(is<[in];)i;++) if(stgrcemts(ps([si][)0;],s[1])>=0) strcsptryc(mpya(xms,asx[0s,]s)[;0]); efolsre(i=1;i<n;i++)
sift(rsctprycm(mpa(xs[si,]s,[m1]a)x; s)>0) if(strcmspt(rsc[p2]y,(mmaaxxss),>s0[i)]); putsst(rmcpaxys(m); axs,s[2]); } puts(maxs); }
5.3.2 字符串常量
用一对双撇号括起来的字符序列。 "CHINA" "a"
在内存中的存放:每一个字符均以其ASCII码存放, 且最后添加一个“空字符”(二进制00000000,记为NULL 或'\0')。
5.3.3 字符型变量
字符型变量只能存放一个字符。 char c1,c2; c1= 'a';c2= 'b';
6. 字符串比较函数 strcmp(字符数组名或字符串1,字符数组名或字符串2)
正数 函数值= 0
负数
当串1 串2 当串1 串2 当串1 串2
' '<'0'< … <'9'<'A'< … < 'Z'<'a'< … <'z' "the" > "that" "the" < "these"
2. getchar函数(字符输入函数) 一般形式: getchar( )
例2 #include "stdio.h" main( ) {char c; c=getchar( ); putchar(c); }
y y
5.3.5 字符数组
一、字符数组的定义及初始化
char a[5],x[ ]={'A','B','C','D'},y[ ]="ABCD";
二、字符数组的输入输出
例3 #include <stdio.h>
main( )
main( )
{char a[6];
{char a[6];
பைடு நூலகம்
int i;
for(i=0;i<6;i++)
scanf("%s",a);
sac[ai]n=f(g"e%tchca"r,&( )a;[i]);
for(i=0;i<6;i++)
"PLANE" < "boat"
例6 不用strcat函数实现其功能。 #include <stdio.h> main( ) {char s[80],t[80]; int i, j; gets(s); gets(t); for(i=0;s[i]!='\0';i++) ; for(j=0;t[j]!='\0';j++)
第9周作业:
1. 产生并输出如下形式的方阵。 1222221 3122214 3312144 3331444 3315144 3155514 1555551 2. 求一个二维数组中每行的最大值和每行的和。 3. 产生并输出杨辉三角的前七行。 4.-6. 实验9 三、1. 5. 6.
练习: 实验9 二、1. 2. 4.
5.3.6 字符串处理函数 stdio.h 1. gets(字符数组名) 2. puts(字符数组名或字符串常量)
例5 #include <stdio.h> main( ) {char a[6]; gets(a); puts(a); }
string.h 3. 字符串有效长度函数
strlen(字符数组名或字符串常量) char a[10]="abcde"; printf("%d\n",strlen(a));
字符数据是以ASCII码存储的。 c1= 'a';
等价于 c1=97;
5.3.4 getchar和putchar函数
使用时需在main( )之前写上 #include <stdio.h>
1. putchar函数(字符输出函数) 一般形式: putchar(字符型或整型表达式)
例1 #include "stdio.h" main( ) {char x; int y; x= ’d’; y=65; putchar(x); putchar(’h’); putchar(y); putchar(67); putchar(x+2); putchar(’\n’); }
s[i+j]=t[j]; s[i+j]='\0'; puts(s); }
例7 不用strcmp函数实现其功能。
#include <stdio.h> main( ) {char s[80],t[80]; int i; gets(s); gets(t); for(i=0;ss[[ii]]=!=t'\[0i]'&;i+&+s)[i]!='\0';i++) ; prinift(fs(["i%]!=dt\[ni]") ,bs[rie]-atk[i;]); } printf("%d\n",s[i]-t[i]); }
第10周作业:
1. 实验10 二、1. 2. 实验10 二、2. 方法1 3. 实验10 二、6. 4. 实验10 三、1. 5. 实验10 三、2. 6. 实验10 三、4.
补课: 土木院: 第10周、16周周五7、8节 主A409
会计、信计: 第10周、16周周五5、6节 1C-205
例2 用顺序法(比较法)将n个数由小到大排序。
if (a[j]<a[i])
{t=a[i];a[i]=a[j];a[j]=t;}
for(i=0;i<n;i++)
printf("%6d",a[i]);
printf("\n");
}
5.3 字符型数据
5.3.1 字符常量 用单撇号括起来的一个字符。 'a' 'x' 'd' '?' '['
转义字符:将反斜杠后面的字符转变成另外的意义。 ’\n’ ’\\’ ’\12’ ’\x35’
printf("%s\n",a);
ppruintctfh(a"r%(ac["i],)a;[i]);
printf("\n");
}
}
二、字符数组的输入输出
例4
main( ) {char a1[20],a2[20],a3[20]; scanf("%s%s%s",a1,a2,a3); printf("%7s%3s%s\n",a1,a2,a3); }
例例88 求求3n个个字字符符串串中中的的最最大大串串。。
##iinncclluuddee <<ssttddiioo..hh>> ##iinncclluuddee <<ssttrriinngg..hh>> m#daeifni(n)e n 6 {mchaainr( s)[3][80],maxs[80]; int i; {cfohra(ri=s0[;ni<][38;0i+],+m)axs[80]; int i;