ImageVerifierCode 换一换
格式:PPT , 页数:27 ,大小:107.50KB ,
资源ID:377994      下载积分:2000 积分
快捷下载
登录下载
邮箱/手机:
温馨提示:
如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝扫码支付 微信扫码支付   
注意:如需开发票,请勿充值!
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【http://www.mydoc123.com/d-377994.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ACM程序员大赛讲座.ppt)为本站会员(cleanass300)主动上传,麦多课文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文库(发送邮件至master@mydoc123.com或直接QQ联系客服),我们立即给予删除!

ACM程序员大赛讲座.ppt

1、ACM程序员大赛讲座,讲授人:王敬华,_C语言程序设计要点,一、数据类型,1、int /short 2、char 3、unsigned int/short 4、unsigned char 5、float/double/long double,二、运算符,1、按位运算&、|、 2、算术运算+、-、*、/、% 3、条件运算&、|、! 4、转义符ddd (8进制)、xhh (16进制),三、格式化输入/输出,1、printf(“格式控制字符”,表达式1,.,表达式n)%d、%i-有符号10进制整型%x、%X-无符号16进制整型%o-无符号8进制整型%u-无符号10进制整型%c-字符型%s-字符串%f

2、-浮点型(10进制小数形式)%e、%E-浮点型(指数形式),三、格式化输入/输出,2、输出有符号整数%-+width.precisiond-:表示左对齐,缺省时是右对齐;+:输出正数时,在数前加上+号;width:对于无符号整数,表示输出整数的最小域宽(即占屏幕的多少格),若实际宽度超过了width,则按实际宽度输出;.precision:针对无符号整数,表示至少要输出precision位,如果整数的位数大于precision,则按实际位数输出,否则在左边的空位上补0。,三、格式化输入/输出,main() int a=123;long L=34567;printf(“a=%dn“,a);pri

3、ntf(“a=%6dn“,a);printf(“a=%6.4dn“,a);printf(“a=%-6dn“,a);printf(“a=%+6dn“,a);printf(“L=%ld“,L);,运行结果:a=123 a= 123 a= 0123 a=123 a= +123 L=34567,三、格式化输入/输出,3、输出无符号整数%-#width.precisionl u|o|x|X#:表示以8进制形式输出数据(%o)时,在数字前输出0;当以16进制形式输出数据(%x或%X)时,在数字前输出0x或0X;,三、格式化输入/输出,main() int a=-1;unsigned u=32767;uns

4、igned long L=655352;printf(“a=%u:a=%dn“,a,a);printf(“u=%on“,u);printf(“u=%x:u=%Xn“,u,u);printf(“u=%#o:u=%#Xn“,u,u);printf(“L=%lxn“,L);printf(“L=%#.8lXn“,L);,运行结果:a=65535:a=-1u=77777u=7fff:u=7FFFu=077777:u=0X7FFFL=3fffcL=0X03FFFC,三、格式化输入/输出,4、实数的输出%-+#width.precisionlLf|e|E|g|G.precision:规定输出实数时,小数部分

5、的位数;l:输出double型数据(缺省时也是输出double型数据);L:输出long double型数据;#:必须输出小数点;,三、格式化输入/输出,main() double f=2.5e5;printf(“123456789123456789n“);printf(“f=%15fn“,f);printf(“f=%-15.0fn“,f);printf(“f=%#15.0fn“,f);printf(“f=%+15.4fn“,f);printf(“f=%15.4en“,f);,运行结果:123456789123456789 f= 250000.000000 f=250000 f= 250000

6、. f= +250000.0000 f= 2.5000e+05,三、格式化输入/输出,5、字符和字符串的输出%-widthc%-width.precisions.precision:表示只输出字符串的前precision个字符;,三、格式化输入/输出,main() char ch=A;printf(“ch=%cn“,ch);printf(“ch=%3cn“,ch);printf(“ch=%-3cn“,ch);printf(“%sn“,“ABCD“);printf(“%6sn“,“ABCD“);printf(“%6.3sn“,“ABCD“);,运行结果:Ch=A Ch= A Ch=A ABCDA

7、BCDABC,三、格式化输入/输出,6、scanf(“格式控制字符串”,变量1地址,变量n地址)例:scanf(“%d”,格式控制字符的一般形式:%*width lTypewidth:是无符号整数,表示输入数据所占的宽度;* : 表示输入的数据不会赋值给相应的变量;l : 表示输入长整型数据(%ld,%lu,%lx,%lo)和double型数据(%lf,%le);,三、格式化输入/输出,scanf函数规定,当输入一项数据时,遇到以下情况scanf认为该数据输入结束:1)遇到空格、回车、Tab键;2)指定的宽度结束;如:scanf(“%3d”,&a);输入1234,a的值将是123;3)遇非法输

8、入;如:scanf(“%d”,&a);如果用户输入12a3,a的值将是12;4)当用%c输入字符型数据时,可显示字符、空格、回车以及其它转义字符都是有效输入;如:scanf(“%c%c%c”,&a,&b,&c);,三、格式化输入/输出,Scanf(“%c%c”,&c1,&c2); aA Scanf(“%d,%d”,&x,&y); 12,-23 Scanf(“%s%s”,&x,&y); aa AA,四、文件操作,1、文件的打开与关闭FILE *fopen(char *filename,char *mode);int fclose(FILE *fp);int feof(FILE *fp);mode

9、:由两类字符组成,一类字符表示打开文件的类型,t-文本文件,b-二进制文件;另一类字符是操作类型,r-读,w-写,a-追加,+-可读可写;,四、文件操作,2、文件的读写int fscanf(FILE *fp,char *format,v1,vn);int fprintf(FILE *fp,char *format,e1,en);int fgetc(FILE *fp);int fputc(int c,FILE *fp); char *fgets(char *s,int n,FILE *fp);从fp中读n-1个字符=s,最后补0int *fputs(char *s,FILE *fp);正确,返回

10、写入文件的实际字符数;错误,则返回EOF(-1);,四、文件操作,unsigned fwrite(void *ptr,unsigned size,unsigned n,FILE *fp);size-写入文件的每个数据所占用的字节数,通常用sizeof()形式;正确,返回n值,错误,返回NULL(0) unsigned fread(void *ptr,unsigned size,unsigned n,FILE *fp);,四、文件操作,3、文件的定位void rewind(FILE *fp);将文件指针置于fp所指向的文件头;int fseek (FILE *fp,long offset,int

11、 from);offset:从from开始的偏移字节数,+-(-)- -(-) 0不动from: SEEK_SET(0)、SEEK_CUR(1)、SEEK_END(2) long ftell(FILE *fp);返回当前位置指针的值,如出错,ftell返回-1;,五、指针,1、一级指针int *p; char *pstr; 2、数组指针(指向二维数组的指针)int a23 = 1,2,3,4,5,6;int (*p) 3;p = a; aij 等价于pij 3、指针数组int a3;int *p3;p0 = ,五、指针,4、二级指针int a; int *p; int *pp; p = ,五、

12、指针,6、指针作为函数的返回值int *getdata(int num)int *p; int k;p = (int *)malloc(num*sizeof(int);if (p != NULL)for (k=0; knum; k+)scanf(“%d”,int *getdata(int num) static int a100;int k;if (num 100)return NULL;for (k=0;knum;k+)scanf(“%d”, ,五、指针,7、指针函数int *getdata(int num); 8、函数指针int (*pf) (int a);例:int getmax(int

13、 x,int y) return(xy?x:y); void main()int (*pf) (int,int); int a;pf = getmax; a = (*pf) (3,2);printf(“a=%d”,a); ,六、常用函数,1、int getch(void); 2、int getche(void); 3、sizeof(expression)/sizeof(type); 4、break/continue; 5、memset(void *s,int c,size_t n) 6、void *malloc(size_t size); 7、void free(void *block); 8

14、、strcpy(char *dest,const char *src); 带0,六、常用函数,9、strncpy(char *dest,const char *src,size_t maxlen); 不带0 10、memcpy(void *dest,cont void *src,size_t n); 不带0 11、movmem(void *src,void *dest,unsigned length); 带0 12、strcat(char *dest,const char *src); 带0 13、strncat(char *dest,const char *src,size_t maxlen

15、); 带0 14、char *strchr(const char *s,int c); 找到返回其指针,否则null 15、int strcmp(const char *s1,const char *s2); 16、int strncmp(const char *s1,const char *s2,size_t maxlen);,六、常用函数,17、char *strstr(const char *s1,const char *s2) 18、strset(char *s,int ch); 19、char *strupr(char *str); 20、double atof(const char

16、 *nptr); 21 、int atoi(const char *nptr); 22、long atol(const char *nptr); 23、char *itoa(int value,char *string,int radix); 24、int random(int num); 24、sprintf(char *buffer,const char *format,);,六、常用函数,例如:将整数123 “000123”char buffer7; int a = 123;sprintf(buffer,”%6.6d”,a); 25、int isalpha(int x); 26、int islower(int x); 27、int isupper(int x); 28、int isdigit(int x); 29、int tolower(int x); 30、int toupper(int x);,

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1