? Strcmp的用法
原型:extern int strcmp(const char *s1,const char * s2); 用法:#include
<string.h> 功能:比较字符串s1和s2。 说明: 当s1<s2时,返回值<0 当s1=s2时,返回值=0 当s1>s2时,返回值>0 即:两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。如: "A"<"B" "a">"A" "computer">"compare"
特别注意:strcmp(const char *s1,const char * s2)这里面只能比较字符串,不能比较数字等其他形式的参数。
编辑本段应用举例
举例1:(在VC6.0中运行通过)
#include<stdio.h>
#include<string.h>
void main()
{ char string[20];
char str[3][20];
int i;
for(i=0;i<3;i++)
gets(str[i]);
if(strcmp(str[0],str[1])>0)
strcpy(string,str[0]);
else
strcpy(string,str[1]);
if(strcmp(str[2],string)>0)
strcpy(string,str[2]);
printf("\nThe largest string is %s\n",string);
}
? Strcpy的用法
例1
#include<stdio.h>
#include<string.h>
void main()
{
char str1[20]={"i love "};
char str2[20]={"zftd"};
printf("%s\n",strcpy(str1,str2));
}
输出的是“zftd”还是“zftdve ”?
也就是说strcpy是替换全部的str1,还是将str2复制到str1的前几个(str1占10字节,str2占5字节,输出是str2还是str2和str1的后5字节);strcpy之前,str1[]="i love \0"strcpy后, 复制过来5个字节,"zftd"和结尾的'\0'共5个字节.于是变成str1[]="zftd\0e \0"输出的时候,遇'\0'字符截断,于是只输出"zftd" 例2
定义一个字符串char a[20],和一个字符串c[]="i am a teacher!";
把c复制到a中就可以这样用:strcpy(a,c); 这个函数包含在头文件 <string.h>中. 程序代码:
#include<string.h>
#include<iostream.h>
void main()
{
char a[20],c[]="i am teacher!";
strcpy(a,c);
cout<<a<<endl;
}
第二篇:程序设计总结
程序设计总结
懂的 .................................................................................................................................................. 1
第一章 .C语言概述 ................................................................................................................ 1
第二章 .程序的灵魂—算法 .................................................................................................... 1
第三章 .数据类型、运算符与表达式 .................................................................................... 1
第四章 .最简单的C程序设计—顺序程序设计 ................................................................... 2
第五章 .选择结构程序设计 .................................................................................................... 2
第六章 .循环控制 .................................................................................................................... 3
第七章 .数组 ............................................................................................................................ 3
第八章 .函数 ............................................................................................................................ 4
第九章 .预处理命令 ................................................................................................................ 5
第十章 .指针 ............................................................................................................................ 5
第十一章 .结构体与共用体 .................................................................................................... 5
疑问 .................................................................................................................................................. 6
第八章 .函数 ............................................................................................................................ 6
第十一章 .结构体与共用体 .................................................................................................... 6
第十二章 .位运算 .................................................................................................................... 6
第十三章 .文件 ........................................................................................................................ 6
懂的
第一章.C语言概述
1.1C程序是由函数构成。一个C源程序至少且仅包含一个main函数,也可以包含一个main函数和若干个其他函数。函数是C程序的基本单位。
1.2一个函数由两部分组成:即函数的首部和函数体。
1.3一个C程序总是从main函数开始执行的,不论main函数在整个程序中的位置如何。
1.4C程序书写格式自由。
1.5每个语句和数据声明的最后必须有一个分号。
1.6 C语言本身没有输入输出语句,输入输出的操作是由库函数scanf和printf等函数来完成的。
1.7可以对C程序的某行或某几行做注释。
第二章.程序的灵魂—算法
2.1对数据的操作步骤即算法。
2.2算法可通过自然语言、流程图、N-S流程图、伪代码、计算机语言等方式表示。
2.3 3种基本结构:顺序结构、选择结构、循环结构(当型循环结构、直到型循环结构)。
2.4结构化的算法有以下特点:1.只有一个入口2.只有一个出口3.结构内的每一部分都有机会被执行到4.结构内不存在“死循环”。
第三章.数据类型、运算符与表达式
3.1C语言的数据类型
3.2常量与变量
3.3整型数据
3.4浮点型数据
3.5字符型数据:字符常量用一对单撇号括起,字符串常量用一对双撇号括起。
3.6变量赋初值
3.7各类型数值型数据间的混合运算
3.8算术运算符合算术表达式
3.9赋值运算符和赋值表达式
3.10逗号运算符和逗号表达式
第四章.最简单的C程序设计—顺序程序设计
4.1赋值语句
4.2数据输入输出的概念及在C语言中的实现
4.3字符数据的输入输出:putchar和getchar
4.4格式输入与输出:printf与scanf
第五章.选择结构程序设计
5.1关系运算符和关系表达式
5.2逻辑运算符和逻辑表达式
5.3if语句
1.if(表达式)语句
2..if(表达式)语句1else 语句2
3.If(表达式1)语句1
else if(表达式2)语句2
else if(表达式3)语句3
.
else if(表达式m)语句m
else if(表达式n)语句n
If语句的嵌套
If()
{
If()语句1;
else()语句2;
}
else
{
If()语句3;
else()语句4;
}
5.4 switch语句
Switch(表达式)
{
case 常量表达式1:语句1;break;
case 常量表达式2:语句2;break;
.
case 常量表达式n:语句n;break;
Default :语句n+1;break;
}
第六章.循环控制
6.1用while语句实现循环
While(表达式)语句
6.2用do...while语句实现循环
Do
循环体语句
While(表达式);(先执行循环体再判断)
6.3用for语句实现循环
For(表达式1;表达式2;表达式3)语句
For(循环变量赋初值;循环条件;循环变量增值)语句
6.4循环的嵌套
6.5break语句和continue语句
使用break语句可以跳出循环,结束整个循环过程,不再判断执行循环的条件是否成立continue结束本次循环,跳过循环体下面尚未执行的进行下一次是否执行循环的判定。
第七章.数组
7.1一维数组的定义和引用
一维数组的定义:
类型说明符 数组名[常量表达式];
如 int a[10];
一维数组元素的引用
数组名[下标] (数组名是从0开始的)
7.2 二维数组的定义和引用
二维数组的定义:
类型说明符 数组名[常量表达式][常量表达式];
如 float a[3][4],b[5][4];
二维数组的引用
数组名[下标][下标];
7.3字符数组的定义
char 数组名[常量表达式];
如cahr c[10];
由于字符型与整型是互相通用的,因此也可以定义一个整型数组,用它存放字符数据,但浪费存储空间。
字符型数据的初始化
如 char c[10]={‘i’,’’,’a’,’m’,’h’,’a’,’p’,’p’,’y’};
字符串处理函数
1.puts函数
Puts(字符数组);
其作用是将一个字符串输出到终端。
2.gets函数
Gets(字符数组);
其作用是从终端输入一个字符串到字符数组,并且得到一个函数值。该函数值是字符数组的起始地址。
3.strcat函数
Strcat(字符数组1,字符数组2);
其作用是连接两个字符数组中的字符串,把字符数串2接到字符串1的后面,结果放在字符数组1中,函数调用后得到一个函数值—字符数组的地址。
4.strcpy和strncpt函数
Strcpy(字符数组1,字符串2);
其作用是将字符串2复制到字符数组1中。可以用strncpy函数将字符串2中前n个字符复制到字符数组1中去,如 strncpy(str1,str2);
其作用是将str2中最前面2个字符复制到str1中。
5.strcmp函数
Strcmp(字符串1,字符串2);
其作用是比较字符串1和字符串2的大小,如全部字符相同,则认为相同;若出现不相同的字符,则以第一个不同的字符的比较结果为准。
6.strlen函数
Strlen(字符数组);
其作用是测试字符串长度的函数。
7.strlwr函数
Strlwr(字符串);
其作用是将字符串中大写字母换成小写字母。
8.strupr函数
Strupr(字符串)
其作用是将字符串中小写字母换成大写字母。
第八章.函数
8.1函数定义的一般形式
无参函数定义的一般形式
类型标识符 函数名()
{
声明部分
语句部分
}
有参函数定义的一般形式
类型标识符 函数名(形式参数表列)
{
声明部分
语句部分
}
空函数
类型说明符 函数名()
{}
8.2函数参数和函数值
形式参数和实际参数
在定义函数时函数名后面括号中的变量名称为“形式参数”(简称“形参”),在主调函数中调用一个函数时,函数名后面括号中的参数(可以是一个表达式)称为“实际参数”(简称“实参”)。
8.3函数的调用
8.4函数的嵌套调用
8.5函数的递归调用
8.6数组作为函数参数
8.7局部变量和全局变量
在一个函数内部定义的变量,只在本函数范围内有效,即局部变量。
在函数之外定义的变量,有效范围为从定义变量的位置开始到本源文件结束,即外部变量也称全局变量。
8.8内部函数和外部函数
第九章.预处理命令
9.1宏定义
9.2“文件包含”处理
一般来说,如果为调用库函数而#include命令来包含相关的头文件,则用尖括号,以节省查找时间。如果要包含的是用户自己编写的文件,一般用双撇号。
9.3条件编译
第十章.指针
10.1地址和指针的概念
一个变量的地址成为该变量的“指针”。如果有一个变量专门用来存放另一个变量的地址,则它称为“指针变量”。指针是一个地址,而指针变量是存放地址的变量。
10.2变量的指针和指向变量的指针变量
定义一个指针变量
基类型 *指针变量名
第十一章.结构体与共用体
Struct 结构体名
{成员表列};
11.1定义结构体类型变量的方法
先声明结构体类型再定义变量;
在声明结构体类型同时定义变量;
Struct 结构体名
{
成员表列
}变量名表列;
直接定义结构体类型变量;
Struct
{
成员表列
}变量表列;
11.2结构体变量的引用
结构体变量名、成员名
11.3结构体变量的初始化
11.4结构体数组
11.5共同体
使几个不同的变量共占用一段内存的结构称为“共用体”类型的结构。
Union 共用体名
{
成员表列
}变量表列;
引用方式与结构体相同。
11.6枚举类型
Enum 变量名称{成员表列};
定义了一个枚举类型则变量的值只限于列举出来的值得范围内。
11.7用typedef命名已有类型
如 typedef int INTEGER;
Typedef float REAL;
指定用INTEGER代表int类型,REAL代表float类型。
疑问
第八章.函数
变量的存储类别
第十章.指针
10.1数组与指针:不知道行指针与列指针是什么;
10.2指向函数的指针:不知道怎么用;
10.3指向指针的指针:不知道怎么用;
第十一章.结构体与共用体
11.1指向结构体类型数据的指针:不知道怎么用;
11.2用指针处理链表:不知道什么是头结点,怎样才算是带头结点和不带头结点; 第十二章.位运算
概念不清晰;
第十三章.文件
不知道怎样将一个字符串放入文件中以及引用文件中的字符串;