专插本C语言简便总结复习

上传人:仙*** 文档编号:87103003 上传时间:2022-05-09 格式:DOC 页数:22 大小:143KB
收藏 版权申诉 举报 下载
专插本C语言简便总结复习_第1页
第1页 / 共22页
专插本C语言简便总结复习_第2页
第2页 / 共22页
专插本C语言简便总结复习_第3页
第3页 / 共22页
资源描述:

《专插本C语言简便总结复习》由会员分享,可在线阅读,更多相关《专插本C语言简便总结复习(22页珍藏版)》请在装配图网上搜索。

1、-C语言笔记注意:在C语言中,关键字都是小写的。C语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字:auto break case default char const continue do while double else enum e*tern float for goto if int long register return short signed static sizof struct switch typedef union unsigned void volatile 9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。Turbo C扩大

2、了11个关键字:asm _cs _ds _es _ss cdecl far huge interrupt near pascal#define 八进制以0开头,如0123,即(123)8十六进制以0*开头,如0123,即(123)16整型: 一个正数的补码和其原码形式一样,如10得0000000000001010一个负数的补码是取-10的绝对值10,对10的二进制形式取反加Signed int unsigned int short long char float 单精度double 双精度 ,long double%d, %o,%*, %c,%s, 一个整常量后面加一个字母l或L,则认为是lo

3、ng int main() / main是主函数的函数名,表示这是一个主函数。printf(世界,您好!n); / printf函数的功能是把要输出的容送到显示器去显示#include / include称为文件包含命令#includemain()double *,s; /定义两个实数变量,以被后面程序使用printf(input number:n); /显示提示信息scanf(%lf,&*); /从键盘获得一个实数*s=sin(*); /求*的正弦,并把它赋给变量sprintf(sine of %lf is %lfn,*,s); /显示程序运算结果在本例中,使用了三个库函数:输入函数scan

4、f,正弦函数sin,输出函数printf。sin函数是数学函数,其头文件为math.h文件scanf和printf是标准输入输出函数,其头文件为stdio.h语言规定,源程序中所有用到的变量都必须先说明,后使用C语言规定对scanf和printf这两个函数可以省去对其头文件的包含命令由于sin函数要求这两个量必须是双精度浮点型,故用类型说明符double来说明这两个变量scanf和 printf这两个函数都由以下两局部组成:“格式控制串,参数表格式控制串是一个字符串,必须用双引号括起来,它表示了输入输出量的数据类型printf(sine of %lf is %lfn,*,s);其中%lf为格式

5、字符,表示按双精度浮点数处理。它在格式串中两次现,对应了*和s两个变量。其余字符为非格式字符则照原样输出在屏幕上。在程序的每行后用/*和*/括起来的容为注释局部,程序不执行注释局部。int ma*(int a,int b); /*函数说明*/main() /*主函数*/int *,y,z; /*变量说明*/int ma*(int a,int b); /*函数说明*/printf(input two numbers:n);scanf(%d%d,&*,&y); /*输入*,y值*/z=ma*(*,y); /*调用ma*函数*/printf(ma*mum=%d,z); /*输出*/int ma*(i

6、nt a,int b) /*定义ma*函数*/if(ab) return a;else return b; /*把结果返回主调函数*/从书写清晰,便于阅读,理解,维护的角度出发,在书写程序时应遵循以下规则:1.一个说明或一个语句占一行。 2.用 括起来的局部,通常表示了程序的*一层次构造。一般与该构造语句的第一个字母对齐,并单独占一行。 3.低一层次的语句或说明可比高一层次的语句或说明缩进假设干格后书写。以便看起来更加清晰,增加程序的可读性。空白符:空格符、制表符、换行符等统称为空白符在语言中使用的词汇分为六类:标识符,关键字,运算符,分隔符,常量,注释符等。1.标识符(在程序中使用的变量名、

7、函数名、标号等统称为标识符)C 规定,标识符只能是字母(AZ,az)、数字(09)、下划线(_)组成的字符串,并且其第一个字符必须是字母或下划线。(1)标准C不限制标识符的长度,但它受各种版本的C 语言编译系统限制,同时也受到具体机器的限制。(2)在标识符中,大小写是有区别的。(3)标识符虽然可由程序员随意定义,但标识符是用于标识*个量的符号。因此,命名应尽量有相应的意义,以便于阅读理解,作到“顾名思义。2.关键字(关键字是由语言规定的具有特定意义的字符串,通常也称为保存字。用户定义的标识符不应与关键字一样) (1)类型说明符: 如前面例题中用到的int,double等 (2)语句定义符: i

8、f else就是条件语句的语句定义符(3)预处理命令字: include3.运算符:4.分隔符:在语言中采用的分隔符有逗号和空格两种5.常量: C 语言中使用的常量可分为数字常量、字符常量、字符串常量、符号常量、转义字符等多种。6.注释符: C 语言的注释符是以“/*开头并以“*/结尾的串#define PRICE 30 /*#define 定义PRICE代表常量30*/ PRICE是符号常量习惯上符号常量用大写,变量用写小写例如:整型变量a和b,可以进展求余运算: a%b (%是求余符号) 假设指定a和b为实型变量,则不允许进展求余运算.整型八进制以0开头的数是八进制.如0123表示八进制1

9、23,即(123)8,其值为1*82+2*81+3*80十六进制以0*开头的数是十六进制.如0*123表示十六进制123,即(123)16,其值为1*162+2*161+3*160在C编译系统,每一个整型变量在存中占2个字节.实际上,数值是以补码表示的.一个正数的补码和其原码的形式是一样.而负数的补码是将该值的绝对值的二进制形式,按位取反再加1.例如:求-10的补码,取-10的绝对值为10,然后10的二进制为1010,对1010(00000000 00001010)取反,11111111 11110101,一共占16个字节,再加1为11111111 11110110整数的16位中,最左面的一位

10、是表示符号,该位为0表示数值为正,该位为1则数值为负Signed int 有符号 -32768-32767 unsigned int 无符号 0-65535short int 短整型 long int 长整型. 不一样的微机,位数是不一样的.整型 int%d ,%0, %*实型float double%f字符型 char 一个字符变量在存中占一个字节%cPrintf(“%f, %d, %cn,a,b,c);ddd : 1到3位8进制数所代表的字符如:101(八进制)为65(二进制)的字符A注意:0或000是代表ASCII码为0的控制字符,即空操作字符.它将用在字符串中.*hh :1到2位16进

11、制数所代表的字符n :换行,将当前位置移到下一行开头, ASCII代码为10(十进制)t :水平制表(跳到下一个tab位置),制表区占8列, ASCII代码为9(十进制)b :退格,将当前位置移到前一列, ASCII代码为8(十进制)r :回车,将当前位置移到本行开头, ASCII代码为13(十进制)f :换页,将当前位置移到下页开头, ASCII代码为12(十进制) :反斜杠字符, ASCII代码为92(十进制) :单引号(撇号)字符, ASCII代码为39(十进制) :双引号字符, ASCII代码为34(十进制)字符串常量a是字符常量(是用一对单引号括起来的), a是字符串常量(是用一对双

12、引号括起来的)C规定在每一个字符串的结尾加一个字符串完毕标志,是以字符0作为字符完毕标志,从ASCII代码表中可以看到ASCII码为0的字符是空操作字符各类数值型数据间的混合运算如字符数据必定先转换为整数,short型转换为int型,float型数据在运算时一律先转换成双精度型,即是二个全是float型也要先转换成double型.Char shortlint unsignedlongdoublefloat运算符优先级和结合性级别类别含义运算符结合方向1强制转换、数组、构造、联合圆括号( )自左至右下标运算符 指向构造成员运算符或构造体成员运算符-或.2逻辑逻辑非!自右至左(单目运算符)字位按位

13、取反增量自增(加一)+减量自减(减一)-指针地址与运算符(取地址)&指针运算符(取容)*算术负号运算符(单目减)-长度计算长度计算sizeof3算术乘*自左至右(双目运算符)除/求余(取模)%4算术和指针运算加+减-5字位左移6关系大于等于=大于小于等于=小于y) z=*; else z=y;(2)函数调用语句: printf(“This is a C statement.n);(3)表达式语句: a=3;(一个赋值表达式)(4)空语句: ; (即只有一个分号语句)(5)复合语句: z=*+y; t=z/100; printf(“%fn,t);输入输出函数#include 或“stdio.h/

14、*头文件stdio.h*/Scanf()输入函数 printf()输出函数是系统提供的标准函数#include(预编译命令)Putchar(输出字符)getchar(输入字符)Printf(格式输出)scanf(格式输入)Puts(输出字符串)gets(输入字符串)c语言中include后用引号与尖括号的区别使用尖括号的话,编译时会先在系统include目录里搜索,如果找不到才会在源代码所在目录搜索;使用双引号则相反,会先在源代码目录里搜索。这就意味着,当系统里如/usr/include/里有一个叫做math.h的头文件,而你的源代码目录里也有一个你自己写的math.h头文件,则使用尖括号时用

15、的就是系统里的;而使用双引号的话则会使用你自己写的那个。所以建议:使用系统里提供的头文件时使用尖括号使用自己编写的头文件时使用双引号输出单个字符:include Main() char a,b,c; a=B; b=Oc=Y; putchar(a); putchar(b); putchar(c); 也可以输出转义字符如: putchar(101); putchar();输入单个字符:getchar()函数没有参数,其一般形式为getchar() 字符输入函数#include main() char c; c=getchar(); putchar(c);格式输入输出函数Printf(“%dn,*)

16、;%d么按整型数据的实际长度输出%md么m为指定的输出字段的宽度,如果数据的位数小于m,则左端补以空格,假设大于m,则按实际位数输出. Printf(“%4d,%4dn,a,b);假设a=123,b=12345则a输出结果为:空格123 则b输出结果为:12345 %ld么输出长整型数据假设long a=1356739;printf(“%9ld,a); 则a输出结果为: 空格空格1356739%o是以八进制形式输出整数.%*是以十六进制形式输出整数.%u 用来输出unsigned型数据,即无符号数,以十进制形式输出.%c用来输出一个字符.char a=w;printf(“%c,w);%s用来输

17、出一个字符串.printf(“%s,CHINA);%ms输出的字符占m列,如字符串本身长度大于m则突破m的限制,全部输出字符串,假设串长小于m,则左补空格.%-ms如果串长小于m则在m列围,字符串向左靠,右补空格.%m.ns输出占m列,但只取字符串左端n个字符.这n个字符输出在m列的右端,左补空格.%-m.ns输出占m列,但只取字符串左端n个字符.这n个字符输出在m列的左端,右补空格.nm,则m自动取n值,即保证n个字符正常输出.%f用来输出实数(单精度和双精度),以小数形式输出.%e以指数形式输出实数,输出数据所占的宽度和数字局部小数位数由系统自动指定给出6位小数,指数局部占5列(如e+00

18、2),其中e占一位,指数符号占一位,指数占3位%g用来输出实数,它根据数值大小自动选f格式或e格式.Scanf输入函数scanf(“%d,%d,%d,&a,&b,&c)#include main() int a,b,c; scanf(%d,%d,%d,&a,&b,&c);/*输入这三个数的时候,逗号也要输的.*/ printf(%d,%d,%dn,a,b,c); getch();假设: scanf(%d%d%d,&a,&b,&c);输入a,b,c三个数时,12空格13空格88Scanf(“%3d%3d,&a,&b);输入:123456,系统自动把123赋给a,456赋给bScanf(“%3c,

19、&ch);输入:abc,由于ch只能容纳一个字符,系统就把第一个字符a赋给ch如果%后面有一个*附加说明符,表示跳过它指定的列数.如:scanf(“%2d %*3d %2d,&a,&b);输入:12空格345空格67回车,将12赋给a,%*3d表示读入3位整数但不赋给任何变量.然后再读入2位整数67赋给b.第二组数据345被跳过.在输入数据进,遇以下情况时数据认为完毕:1、 遇空格,或按回车或跳格ab键;2、 按指定的宽度完毕,如“d,只取列;3、 遇非法输入;例:输入三角形的三边长,求三角形面积 s=1/2(a+b+c) area=根号s(s-a) (s-b) (s-c)Float a,b,

20、c,area,s; scanf(“%f,%f,%f,&a,&b,&c);s=1.0/2*(a+b+c);Area=sqrt(s*(s-a)*(s-b)*(s-c);Printf(“a=%7.2f, b=%7.2f, c=%7.2f, s=%7.2fn,a,b,c,s);printf(“area=%7.2fn,area);If语句If与else的配对关系:else总是与它上面的最近的if配对.If与else的数目一样时,采用 If() main() If() 语句1 int *,y; Else 语句2 scanf(“%d,&*); Else if(*0) y=-1; If() 语句3 else

21、if(*=0) y=0; else y=1; Else 语句4 printf(“*=%d,y=%dn,*,y);If与else的数目不一样时,采用加花括号来确定 getch();/*能显示输出*/If() if() 语句1 Else 语句2 判断*一年是否闰年其中一种方法main() int year,leap;printf(input year:);scanf(%d,&year); if(year%4=0) if(year%100=0) if(year%400=0) leap=1; else leap=0; else leap=1; else leap=0;if(leap) printf(%

22、d yesn,year);else printf(%d no yearn,year);getch();/*判断*一年是否闰年另一种方法*/#include void main() int year; printf(input year:);scanf(%d,&year); if(year%4=0)&(year%100!=0)|(year%400=0) printf(%d yesn,year);else printf(%d no yearn,year);getch();条件运算符(三目运算符,自右至左)main() int *,y,ma*;scanf(%d,%d,&*,&y);ma*=(*y)

23、? *:y; /*如果(ab)条件为真,则条件表达式取值a,否则取值b*/printf(%dn,ma*);getch();/*能显示输出*/*输入一个字符,判断大小写,如果是大写,转换成小写,并输出最后得到的字符*/Main() char ch; Scanf(“%c,&ch); If(ch=A& ch=A& ch60n);break;/*求方程的解*/#include /*输入输出函数要调用,也可以不写*/#include /*用到绝对值函数和开根号函数,所以要调用*/main() float a,b,c,disc,*1,*2,realpart,imagpart; /*定义类型*/scanf(

24、%f,%f,%f,&a,&b,&c); /*输入方程的三个数*/printf(the equation); /*显示the equation,意思是方程*/ if(fabs(a)=pow(10,-6) printf(is not a quadratic); /*对a求绝对值,判断a=0(fabs(a)=le-6)就不是二次方程*/ else disc=b*b-4*a*c; /*计算b*b-4*a*c的值是等于还是小于还是大于0*/ if(fabs(disc)pow(10,-6) /*大于0后有两个不等实根*/ *1=(-b+sqrt(disc)/(2*a); *2=(-b-sqrt(disc)

25、/(2*a); printf(has two equal roots:%8.4f and %8.4fn,*1,*2); else realpart=-b/(2*a); /*小于0后有两个共轭复根的实部*/ imagpart=sqrt(-disc)/(2*a); printf(has ple* roots:n); /*has ple* roots是有复杂的根源的意思*/ printf(%8.4f+%8.4fin,realpart,imagpart); printf(%8.4f-%8.4fin,realpart,imagpart); getch();说明:le-6 :是科学计数法,表示10的-6次

26、方, 用函数是pow(10,-6) 不用0来判断,用一个很小的数就认为disc是0,是为了产生误差,因为实数在计算和存储时会有一些微小的误差。 /* 算运费 */#include main() int c,s; float f,d,p,w; /*总运费f(freight货物),根本运费p(price价格),货物重w(weight重量),距离s,折扣d(discount)*/ printf(input number:n); scanf(%f,%f,%d,&p,&w,&s); if(s=3000) c=12; else c=s/250; switch(c) case 0:d=0;break; ca

27、se 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; f=p*w*s*(1-d/100.0); printf(freight=%fn,f); getch();Goto语句为无条件转向语句,形式: goto 语句标号;语句标号用标识符表示,它的定名规则与变量名一样.即字母,下划线,数字.一般来说来两种用途:1、 与if语句一起构成循环构造;2、 从循环体中

28、跳转到循环体外.但在C语言中可以用break语句和continue语句跳出本层循环和完毕本次循环.用if语句和goto语句构成循环,求1+2+3+.+99+100#include main() int sum=0,i=1;loop: if(i=100) sum=sum+i; i+; goto loop; printf(sum=%dn,sum); getch();While语句用来实现当型循环构造,一般形式:while(表达式) 语句当表达式非0值时执行while语句中的嵌语句,先判断表达式后执行语句/* 用while语句构成循环,求1+2+3+.+99+100 */#include main(

29、) int sum=0,i=1; while(i=100) sum=sum+i; i+; /*如果不加花括弧则while语句的围只到“sum=sum+i*/ printf(sum=%dn,sum); getch();Do 循环体While表达式Do-While是循环语句特点是先执行循环体,然后判断循环条件是否成立/* 用do-while语句构成循环,求1+2+3+.+99+100 */#include main() int sum=0,i=1; do sum=sum+i; i+; while(i=100); printf(sum=%dn,sum); getch();按esc后一个一个显示输出/

30、* 用do-while语句构成循环,求1+2+3+.+99+100 */#include main() int sum=0,i=1; do sum=sum+i; i+; printf(sum=%dn,sum); getch(); while(i=100); printf(sum=%dn,sum); getch();For语句格式: for(循环变量赋初值;循环条件;循环变量增值;) 语句;表达式1 表达式2 表达式3先求解表达式1。再求解表达式2,假设值为真,则执行for语句中的嵌语句,然后就求解表达式3,假设为假则完毕循环。1、“表达式1可以省略 for(;表达式2;表达式3) 语句; /*

31、分号不能少*/2、“表达式2省略即不判断循环条件,循环将无终止地进展下去。3、“表达式3也可以省略,如i+不放在“表达式3,而作为循环体的一局部效果是一样的。4、全部省略么不赋值,不判断,不增量,无终止地执行循环体。5、for (i=0;(c=getchar()!=n; i+=c;) 终端接收一个字符给C,判断表达式的值是否不等于n换行符 for (;(c=getchar()!=n;) 则输入puter 输出则也是puterbreak语句和continue语句break是终止整个循环的执行;continue只是完毕本次循环;if(fabs(a)=pow(10,-6)的意思是if(a=0)头文件

32、:#include pow(*,y)函数是求*y的值,几的几次方。Pow(*,y)函数是计算*y的值函数原型:double pow(double *,double y)Abs(*)函数是求整数*的绝对值函数原型:int abs(int *)Fabs(*)函数是求双精度实数的绝对值函数原型:double fabs(double *)Sqrt(*) 函数是开根号子函数原型:double sqrt(double *)摄氏温度C=5/9(F华氏温度-32)数组一维数组类型说明:数组名常量表达式 如:int a10; 表示数组名为a,此数组有10个元素。数组必须先定义后使用。C语言规定只能逐个引用数组元

33、素而不能一次引用整个数组。main() int i,a10;for(i=0;i=0;i-) printf(“out number %dn,ai); /*从9到0输出*/getch();/*输出数字101到110*/ /*输入数字,从此数字后输出10个数*/#include #include main() main() int i,t=100,a10; int i,t,a10; for(i=0;i=9;i+) printf(intput number:); scanf(%d,&t); t+ ; for(i=0;i=9;i+) ai=t; t+ ; ai=t; printf(out number

34、%dn,ai); printf(out number %dn,ai); getch(); getch(); 一维数组初始化定义成: int a10=0,1,2,3,4,5,6,7,8,9;定义成: int a10=0,1,2,3,4,5;表示只给前面5个元素赋初值,后面的5个元素值为0/*后一个数是前二个数之和,Fibonacci数列*/#include main() int a20=1,1; int i; for(i=2;i20;i+) ai=ai-2+ai-1; for(i=0;i20;i+) if(i%5=0) printf(“n); printf(“%12d,ai); getch();

35、 #include main() long int a30=1,1; int i; for(i=2;i30;i+) ai=ai-2+ai-1; for(i=0;i30;i+) if(i%5=0) printf(n); printf(%12ld,ai); getch();起泡法对10个数排序(由小到大):将相邻的两个数比较,将小的调到前头。main() int a11; int i,j,t; printf(“inpuf 10 numers :n); for(i=1;i11;i+) scanf(“%d,&ai); printf(“n); for(j=1;j=9;j+) /*因为10个数,所以要要循

36、环j=10-1次*/ for(i=1;iai+1) t=ai; ai=ai+1; ai+1=t; printf(“the sorted numbers :n); for(i=1;i=10;i+) printf(“%dn,ai); getch(); 二维数组类型说明:数组名常量表达式常量表达式 如:float a34;3行4列C语言对二维数组采用这样的定义,可以把二维数组看作是一种特殊的一维数组:它的元素又是一个一维数组。可以看作是一个一维数组它有3个元素a0,a1,a2每个元素又包含有4个元素的一维数组。二维数组初始化int a34=1,2,3,4,5,6,7,8,9,10,11,12;int

37、 a34=1,2,3,4,5,6,7,8,9,10,11,12;a34=1,5,9;只对各行第1列赋值,其余元素值自动为0/* 将二维数组行和列互换,存到另一个二维数组 */#include stdio.hmain() int a23=1,2,3,4,5,6; int b32,i,j; printf(array a:n); /*array 阵列*/ for(i=0;i=1;i+) /*行*/ for(j=0;j=2;j+) /*列*/ printf(%6d,aij); bji=aij; /*赋值给bji值*/ printf(n); printf(array b:n); /*以下是数组b输出*/

38、 for(i=0;i=2;i+) for(j=0;j=2;j+) for(j=0;j=1;j+) for(i=0;i=1;i+) printf(%6d,bij); printf(%6d,bji); printf(n); printf(n); /*左右两局部输出结果一样的*/ getch();/*一个3*4矩阵,求出其中最大值的那个元素的值及所在的行号和列号*/#include stdio.hmain() int i,j,row=0,colum=0,ma*; /*row 行排 colum列 */ int a34=1,2,3,4,9,8,7,6,-10,10,-5,2; ma*=a00; for(

39、i=0;i=2;i+) for(j=0;jma*) ma*=aij;row=i;colum=j; pritntf(“ma*=%d,row=%d,colum=%dn,ma*,row,colum);getch();字符数组:用来存放字符数据的数组,一个元素存放一个字符.初始化 char c10; c0=I;c1=;c2=a;c3=m;c4=;c5=h;c6=a;c7=p;c8=p;c9=y;字符型与整型是互相通用,所以也可以定义int c10; 初始化:char c10=I,,a,m,h,a,p,p,y;如果初值个数小于数组长度,将剩下的元素自动定为空字符“0也可以定义二维字符数组char a55

40、=,;单引号中间就是想赋的值C语言中将字符串作为字符数组来处理。C语言规定了一个“字符串完毕标志,以字符0代表。系统对字符串常量也自动加一个0作为完毕符。说明:0代表ASCII码为0的字符,是一个不可以显示的字符,而是一个“空操作字符单个字符作初值用单引号,字符串是用双引号。char c10=“China; 前面5个元素为C,h,i,n,a,第6个为0,后4个元素为空字符,所以也是0字符数组的输入输出逐个字符输入输出,用格式符“%C输入或输出一个字符。将整个字符串一次输入或输出,用格式符“%s输入或输出一串字符。输出字符不包括完毕符0用“%s格式符输出字符串时,printf函数中的输出项是字符

41、数组名,而不是数组元素名。如写成printf(“%s,c0);是不对的。应为:printf(“%s,c);定义:char a13; Scanf(“%s,a);假设输入:How are you?回车而只将第一个空格前的“How送到a中。注意:scanf函数中输入项是字符数组名。输入项是字符数组名时,不要再加地址符&,因为在C语言中数组名代表该数组的起始地址,Scanf(“%s,&a);这样的写法是不对的。printf(“%o,c); 可以输出数组C的起始地址。puts(字符数组,输出字符串)char str=“ChinanBeijing;puts(str);gets(字符数组,输入字符串)定义:

42、char str; gets(str); 假设输入:puter回车,将所输入的字符串送给字符数组str,8个字母加一个自动加上去的0共9个字符送入str。注意:puts和gets函数只能输入或输出一个字符串。不能写成:puts(str1,str2)或gets(str1,str2)Strcat(字符数组1,字符数组2)是字符串连接,作用:连接两个字符数组中的字符串,把字符2接到字符1的后面,结果放在字符数组1中。字符数组1必须足够大,以便容纳连接后的新字符串。char str130=“Peoples Republic of;char str2=“China;printf(“%s,strcat(s

43、tr1,str2); 输出:Peoples Republic of Chinastrcpy(字符数组1,字符串2) 是字符串复制。作用:将字符串2复制到字符数组1中去。字符数组1必须足够大,以便容纳被复制的字符串。字符数组1必须写成数组名形式如str1,字符串2可以是字符数组名也可以是一个字符串常量,如strcpy(str1,“China); 复制时连同字符串后面的0一起复制到字符数组1中。不能用赋值语句将一个字符串常或字符数组直接给一个字符数组.如:str1=“China;和str1=str2;都是不合法的。用赋值语句只能将一个字符赋给一个字符型变量或字符数组元素。如:char a5,cl1

44、,cl2; cl1=A;Cl2=B; a0=C;a1=h;以此类推。可以用strncpy函数将字符串2中前面假设干个字符复制到字符数组1中去。如:strncpy(str1,str2,2);Strcmp(字符串1,字符串2)是字符串比较。作用:比较字符串1和字符串2。对两个字符串自左至右逐个字符相比按ASCII码大小比较直到出现不同的字符或遇到0为止比较结果由函数值带回:1、 如果字符串1=字符串2,函数值为02、 如果字符串1字符串2,函数值为正整数3、 如果字符串1字符串2,函数值为负整数注意:对两个字符串比较,不能用以下形式: if(str1= =str2) printf(“yes);而只

45、能用if(strcmp(str1,str2)=0) printf(“yes);/*输入slzz22222200000正确后显示*/#include stdio.hmain() char str1=slzz22222200000; char str216; printf(input mi ma:n); scanf(%s,str2); if(strcmp(str1,str2)=0) printf(I LOVE YOU); else printf(NO NO NO NO NO NO NO NO NO);getch();strlen(字符数组)是测字符串长度。作用:用来测试字符串长度的函数。函数的值为字符串的实际长度,不包括0在。char str10=“China; printf(“%d,strlen(str);strlwr(字符串)是字符串小写。作用:将字符串写字母换成小写字母。/*将字符串写字母换成小写字母*/#include stdio.hmain()char str16=China WO ai NI; printf(%sn,str); printf(%s,strlwr(str);getch();

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!