C语言培训_003

来源:互联网 发布:淘宝聚划算什么时候有 编辑:程序博客网 时间:2024/04/28 00:23

字符串

关键字和一些字符串函数

字符串以 ‘\0’ 结尾。

#include"windows.h"#include"stdio.h" int main(){char name[40];//替换为 char *name,有小小的区别。替换之后,内容不可改变。内存分配方式有区别。以后培训会讲到。printf("_______________ is my name\r");// "\r" 代表光标回到行首scanf("%s",name); // "%S"是字符串的控制符,name是 name[0]的首地址。printf("my name is %s",name);system("pause");return 0;} 

字符串常见函数(strlen(),sizeof())

#include"windows.h"#include"stdio.h"//strlen() 的头文件 int main(){char a[40]="xyz";char b[40]="游戏开发";printf("%d\t%d\n",strlen(a),strlen(b));//思考,如何判断汉字相等,换成sizeof(a)和sizeof(b)会怎样system("pause");return 0;}


宏定义

稍作了解即可。

#include"windows.h"#include"stdio.h"#define myname "wanghuizhang"#define PI 3.1415926#define getmax(a,b) (a)>(b)?(a):(b);//分号写不写看情况 #define plus(a,b) a+b#define CH char#define CHA (char *) //有优点。#define PRINT(a,b){\printf("%d\n",a);\printf("%d\n",b);\}int main(){int a=getmax(3,4)//末尾无需分号,因为宏定义中已经生硬的替换过了 printf("%d",a);printf("my name is %s",myname);system("pause");return 0;} #undef PI


limits.h宏定义表格

稍作了解即可。

CHAR_BITchar位数CHAR_MAXchar最大CHAR_MINchar最小SCHAR_MAX有符号char最大SCHAR_MIN有符号char最小UCHAR_MAX无符号char最大SHRT_MAXshort最大SHRT_MINshort最小USHRT_MAX无符号short最大INT_MAXint型最大INT_MINint型最小UINT_MAX无符号int最大LONG_MAXlong int 最大LONG_MINlong int 最小ULONG_MAX无符号long int 最大LLONG_MAXlong long int 最大LLONG_MINlong long int 最小ULLONG_MAX无符号long long int最大FLT_MANT_DIGfloat型尾数位数FLT_DIGfloat型最少有效数字位数FLT_MIN_10_EXP带有全部有效数字float型的负指数的最小FLT_MAX_10_EXPfloat型的正指数的最大FLT_MIN保留全部精度的float型正数的最小FLT_MAXfloat型正数的最大FLT_EPSILONfloat可以表示的,与1.00的最小差


printf 和 scanf 的 进一步研究和运用

常见的格式控制符

%s,字符串。

%c,单个字符。

%d,整数。%lld,长长整型。等等。(%llu无符号长长整型)

%e,%g,%f,打印浮点数。还有 %lf 等等。(%e为科学计数法打印,%f小数法打印,%g自动选择是否用科学计数法,e,f,g可以大写)

%%,打印一个百分号。

%o,八进制打印。%x十六进制打印。%p打印指针。

+,正数显示+号。(如%+10.3f)(如果+写成空格,则正好显示为空格)

-,左对齐。(如%-10.3f)

0,用0填充宽度。(如%010d,显示的是宽度为10的整数,左端无数的地方用零补齐)

#,显示进制的前置符号。(%#o,显示0开头的8进制数。%#0x,显示0x开头的16进制数)

scanf()中还有 例如 %*d的。(scanf("%d,%*d,%d",&a,&b,&c),意思是忽略 &b的输入。)

代码示例:

#include"windows.h"#include"stdio.h"int main(){char a[40]="xyz";char b='v';float c=3.33333;double d=6666.66666666666666666666;long int e=99999999;printf("%s\n",a);printf("%c\n",b);printf("%f\n",c);printf("%lf\n",d);printf("%ld\n",e);printf("%%\n");system("pause");return 0;}

printf 和 scanf 的返回值 及对返回值的简单用法:(看代码后的注释)

#include"windows.h"#include"stdio.h"int main(){int a=printf("123\n");//a 的值为 4。因为有四个字符。 printf("%d",a);system("pause");return 0;}
#include"windows.h"#include"stdio.h"int main(){int x,y,z; int a=scanf("%d%d%d",&x,&y,&z);//a 的值为 3。因为输入3个数。char m[20];char n[20];int b=scanf("%s%s",m,n);//b 的值为 2,因为输入2个。 printf("a=%d,b=%d",a,b);system("pause");return 0;}


printf 和 scanf 的其他用法以后再研究。现阶段无法表述。

运算符和表达式

运算符有    +   -   *   /   =   ++   --   ,    %      <<     >>    ?:    ==    >    <    等等  (用法太简单大家培训完也不会忘记,会长不写了)

代码示例:

#include"windows.h"#include"stdio.h"int main(){int sum=0;int i=0;while(i!=3){i++;//i=i+1sum+=3;//sum=sum+3;}//循环结束后,i 等于 3,sum 等于 9 循环3次。int a=3,b=4;int c=a>b?a:b;//(式子含义为,a大于b吗?大于就等于a,否则就等于b) int k1=0,k2=0;printf("k1=%d,k2=%d\n",k1++,++k2);//(++在前则先加后用,++在后则先用后加)system("pause");return 0;}

#include"windows.h"#include"stdio.h"int main(){int i=0;int sum=0;while(i++!=100){sum=sum+i;//sum+=i;}//循环结束后,i 等于 100,sum 等于 5050 循环101次。printf("%d",sum);system("pause");return 0;}


优先级的了解和类型转化

类型转化的简单例子:

#include"windows.h"#include"stdio.h"int main(){float a=3.9998877;int b=(int)a; //把 a 转化成整形 再赋值给 b 。 printf("%d",b);system("pause");return 0;}
  了解一下强制类型转化。和优先级顺序。(最简单的就是先乘除后加减了)


math.h头文件的介绍

#include"windows.h"#include"stdio.h"#include"math.h"//数学函数头文件 int main(){int a1=-5;int a2=abs(a1);// a2 等于 a1 的绝对值 abs(),对整数取绝对值。 double b=fabs(-1.533);//b 等于 -1.533 的绝对值 ,fabs(),对浮点数取绝对值 double c=sin(3.14159);//这就不用解释了 double d=cos(3.14159);//这也不用解释了 double e1=pow(2,0.5);//2 的 0.5 次方。double e2=pow(10,8);//10 的 8 次方double f=sqrt(25);// f 等于根号下25int g=ceil(3.15);//ceil()向上取整,system("pause");//函数还有很多,没必要记住多少。return 0;}


  稍作了解,知道有这些函数就行,用到的时候就翻一翻C语言手册。这些函数都是别人写好的,其实我们自己也可以写。以后的培训中教大家写,自己能写出出色的头文件说明学的还可以了。数学要好好学啊,会长我写代码的时候因为数学不好,经常写着写着就去翻数学书了。数学不好也没关系,用到的时候从新学吧。

while(),和do{}while();语句入门(C语言_005继续深入研究循环语句)

whil(),先判断再执行。do{}while();先执行一次,再循环。

#include"windows.h"#include"stdio.h"int main(){int i=0;int sum=0;do{i++;sum+=i;}while(i<100);printf("%d\n",sum);system("pause");return 0;}


知识扩展:

1.math.h 的函数:

https://msdn.microsoft.com/zh-cn/library/system.math.aspx

2.运算符的优先级:

http://baike.baidu.com/link?url=2rtfN1gN0FLVRYif3ttZ-xJSxvoMe9q23EFaRYECkRy9Keqw-VIFZCeetPT_I8k7orlifoTd70bjOkioSbsR8_





0 0
原创粉丝点击