




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C语言强化知识点复习1.2. 运行c程序步骤:编辑源程序(*.cpp)(编译程序)目标程序(*.obj) (库函数连接)可执行程序(*.exe);3. 标识符:对变量、符号常量、函数、数组、类型等数据对象的有效命名;由字母、数 字、下划线组成;4. int型数字范围:-32768327675. 常用字符常量:'t':跳格(第九列); 'b':退格; 'r':回车(不换行);6. 字符串常量:C语言中没有专门的字符串变量,只有通过字符数组保存一个字符串;7. getchar()与字符串:如用户在按回车之前输入了不止一个字符,其他字符会保留在键盘缓存
2、区中,等待后续getchar调用读取.也就是说,后续的getchar调用不会等待用户按键,而直接读取缓冲区中的字符,直到缓冲区中的字符读完为后,才等待用户按键;8. 各类数值型数据运算的转换:char、shortintunsignedlong(float)double;9. #include<stdio.h>:为用到标准输入输出库函数,如scanf、printf、gets、puts等;10. 某些格式字符:(i) d格式符: printf("%4d",12345);则输出"12345"; (ii) o格式符: 以8进制整数形式输出; (iii
3、) x格式符:以16进制整数形式输出; (iv) u格式符:用来输出unsigned型数据; (v) c格式符:printf("%5.2s","ABC");则输出"AB"; (vi) f格式符:小数输出6位;%m.nf:四舍五入到小数点n位,m大于字符长度才奏效; (vii) e格式符:小数输出6位,指数输出5位;%m.ne: 四舍五入到小数点n位;printf("%5.2e",13.667);则输出"1.37e+001"; 注:输出百分号:printf("%") ;!(非)
4、 (高)算术运算符关系运算符&&和|逻辑运算符(条件运算符)自右至左赋值运算符 自右至左 (低)11. 如:闰年判别:(year%4=0&&year%100!=0|year%400=0)12. If与else配对原则:else总与它上面的最近的未配对的if配对;13. 条件运算符:如:a>b? printf("1"):printf("0");14. break与continue语句:break适用范围:循环语句&switch语句;跳出整个循环体或结构体 continue适用范围:循环语句;结束本次循环15.
5、数组的规模不依赖于变量的值:如int n; scanf("%d",&n);int an;是非法的;16. 一维数组的初始化:int a10=0,1,2,3,4;则后五个元素皆为0;17. 数组的sizeof:数组的sizeof值等于数组所占用的内存字节数; 18. 字符数组与字符串:以'0'作为结束标志; char c10="China"则后五个元素皆为'0'; 输出数据:可用printf("%s",c);即将整个字符串一起输出; 输入数据:可用char c10; scanf("%s&
6、quot;,c);空格字符默认为字符串间的分隔符; gets函数:char c10; gets(c); puts函数:puts(c); 注:只有字符串数组时,才可形如printf("%s",c);(只写c即可, c为地址) 【string.h文件】strcat函数:字符串二接到字符串1后面,结果放在字符数组1中;strcpy函数:字符串二复制到字符数组1中;strncpy函数:strncpy(str1,str2,n);将str2中最 前面n个字符复制到str1中; strcmp函数:字符串按ASCII码值比值大小比较; strlen函数:测试字符串长度; strlwr函数:
7、大写转换为小写; strupr函数:小写转换为大写;19. 主函数调用:声明:若用户自己定义的函数在主调函数后面,则须在主调函数中进行声明或在文件的开头进行声明;特殊:若被调用函数为整型,则无须声明,但最好进行声明,以防出错! 声明中可以不写形参名,而只写形参类型,如float add(float,float); 单向值传递:实参向形参传递数据为“单向值传递”;注意:数组名作为实参时,传递给形参的是首元素地址,而非数组元素的值!即可以改变原数组的元素!20. 一维数组作为函数参数:形参数组可以不指定大小,在定义数组时在数组名后面跟一 个空的方括号,即可以float average(float
8、array , int n);21. 多维数组作为函数参数:至多可省略第一维的大小说明,如int array 10;22. 变量按作用域分为:注:在同一个源文件中,外部变量与局部变量重名,则在局部变量作用范围内,外部变量被“屏蔽”,不起作用;23. 变量按存储类别:分为:静态存储:全局变量;extern声明的外部变量:扩展外部变量的作用范围。只需在声明时加extern ; static声明的外部变量:使外部变量仅限于本 文件使用。定义时加static;static声明的局部变量:定义时加static(其他函数不能引用!);动态存储:auto变量(无static的局部变量) ;register变
9、量(将变量存储到寄存器中); 形参; 24. 内部函数和外部函数:内部函数:其他文件不能引用,定义函数时加static;外部函数:使函数可供其他文件调用,只需在声明函数时加static;25. 指针变量:定义一个指针变量的类型须和指针所指向变量的类型一致; *与&与+与-运算级别一致,但按自右向左方向结合;26. 指针变量作为函数参数:通过调用函数利用指针,改变指针所指向的值,即,使变量 的值发生变化;27. 数组与指针:指向数组的指针变量也可以带下标,如int a10, *p=a;则pi等价于*(p+i); 数组名a是常量,所以a+是无法实现的;28. 二维数组与指针:根据一维数组中
10、ai和*(a+i)等价,在二维数组中:a+i:第i行地址(与&ai等价);*(a+i) :第i行第0个元素地址(即第i行地址) (与ai等价);*(a+i)+j:第i行第j个元素地址(与ai+j等价);*(*(a+i)+j):第i行第j个元素aij(与*(ai+j)等价);29. 字符串与指针:char *string="I love China!"实际上在内存中自动开辟了一个字符数组存放"I love China!",再将字符数组首元素地址赋给string;30. 赋值方式:字符数组:只能定义时赋值(即初始化); (如char c 5=”abc
11、”;或char c5=”abc”;但char c5;c=”abc”;错误!) 字符指针:不局限; (如char *c="abc"或char *c="abc"或char *c; c=”abc”;/*c自动指向字符串”abc”的地址*/)31. 字符指针可以指向一个格式字符串:如char *format; format=”%dn”; printf(format,a);32. 数组指针:如int (*p)5;指向含五个分量的数组的指针;(例如int a34;中,只能让int (*p)4=a;而不能让int *p=a; )助记:含(*p)形式的一定为指针。 指针
12、数组:如int *a5;含五个指针作为元素的数组; 函数指针:如int (*p)(int x);指向函数的指针; 指针函数:如int *a(int x);返回值是指针类型的函数;33. 指针数组作main函数的形参:如void main(int argc, char *argv);34. 结构体初始化:先定义后初始化:struct stu; struct stu stu1=; 定义的同时初始化:struct stustu1=; (不能对结构体变量整体输入(或输出),只能初始化时整体输入)35. 结构体数组:如 struct stuint num; char sex; student2=101,
13、M,102,W; 36. 结构体指针:如struct stu int num; char sex; struct stu stu1; struct stu *p; p=&stu1; 通常,可以把(*p).num写为p->num,也等价于stu1.num; (->优先级相当高,接近于括号优先级)37. 指针变量p+1:指针变量p的后继p+1所进的字节取决于p的类型;38. 强制转化:加括号:如p=(struct stu *)student0.num;即把student0元素的num成员 的起始地址强制赋给p,但p仍保持原来类型;39. 结构体的地址:&stu1表示的是
14、结构体变量stu1首元素地址;40. 文件:fopen使用:File *fp; fp=fopen (“file1”,”r”);/*file1为文件名,r为使用文件方式*/【常用打开文件方式】File *fp;if(fp=fopen(“file1”,”r”)=NULL) printf(“cannot openn”);exit(0);【文件使用方式】r:只读;w:只写;a:追加;rb:二进制只读;wb:二进制只写;ab:二进制追加;r+:读写<打开>;w+:读写<新建,删去重名文件>;a+:读写<打开>;rb+:二进制读写<打开>;wb+:二进制读写
15、<新建,删去重名文件>;ab+:二进制读写<打开>; fclose使用:fclose (fp);内存 文件 (读,输入)内存 文件 (写,输出) 一次读写一个字符 fgetc函数:ch=fgetc (fp);(ch为字符变量,读到内存, 读一个字符)fputc函数:fputc (ch,fp);(ch为字符变量或字符常量,写到文件上,写一个字符) 一次读写一组数据(二进制) fread函数:fread (buffer,size,count,fp); (buffer为一个指针,存放读入数据的地址) fwrite函数:fwrite (buffer,size,count,fp)
16、; (将buffer指向的数据写入文件中)fscanf函数:fscanf (fp, ”%d” ,&a); (将文件上数据读到a) fprintf函数:fwrite (fp ,”%d”, a); (将a中的数据写到文件上)fgets函数:fgets(str, n ,fp); (将文件上n-1个字符(第n个字符为0)地址读给str) fputs函数:fputs(”China”, fp); (将字符串写到文件上)41. 文件的定位:rewind函数:rewind (fp);使文件位置指针重新定位于文件开头; fseek函数:fseek (fp, 10L, 0); 使位置指针移到离开头10个字节处;fseek
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 乡村农业生态园区开发合作协议
- 2025年新余危险品考试题考试
- 房产买卖及交易合同
- 农户家庭农场农事承包经营合同
- 月度收入及年终奖金详细证明(5篇)
- 软件开发项目外包合同验收及流程指南
- 投资合作协议书式规范
- 正式离职证明与劳动经历确认(8篇)
- 深入了解市政学考试纲要试题及答案
- 施工合同谈判与风险管理试题及答案
- GB/T 1355-2021小麦粉
- 无人机结构与系统-第1章-无人机结构与飞行原理课件
- (完整)中小学教师高级职称专业水平能力试题库及答案(通用版)
- 2023年STD温盐深剖面仪行业分析报告及未来五至十年行业发展报告
- 护理管理中的组织沟通课件
- 脑性瘫痪儿童的康复 认识脑性瘫痪
- 高二历史必修1上册第11课 中国古代的民族关系与对外交往 知识点
- 公安机关人民警察基本级执法资格考试题库及答案
- 泌尿系结石课件
- 重庆市历年中考语文标准答题卡
- DB34-T 4016-2021 健康体检机构 建设和管理规范-高清现行
评论
0/150
提交评论