




全文预览已结束
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C程序设计在编程中应注意方面一、源程序的建立与运行1. 源程序的建立方法一:选择“File”/“New”命令,在“New”对话框中的“File”选项卡中双击“C+ Source File”选项,源程序保存时默认的扩展名为.CPP。方法二:单击工具栏最左边的“New Text File”按钮,源程序保存时默认的扩展名为.TXT。因此要将扩展名改为.C或.CPP。2. 多个程序的运行当第1个C程序运行后,若要再运行第2个程序,必须先关闭工作区否则运行的仍为第1个程序。关闭工作区的方法是:选择“File”/“Close Workspace”命令,弹出如下消息框,单击“否”按钮,表示仅关闭工作区但不关闭所有的文档窗口(即源程序编辑窗口)。二、输入输出1输入函数scanf中的变量名前要加&(除指针变量或数组名外)例如,输入一个整型数给整型变量a正确的方法是:scanf(“%d”, &a);错误的方法是:scanf(“%d”, a);2double型数据的输入格式符为%lf例如,输入一个数给double变量x正确的方法是:scanf(“%lf”, &x);/* %lf中的l是小写字母,不是数字1 */错误的方法是:scanf(“%f”, &x);3输入函数scanf中不能加换行符n例如,输入一个整型数给整型变量a正确的方法是:scanf(“%d”, &a);错误的方法是:scanf(“%dn”, &a);三、运算符1. 除法运算符 / :两个整数相除结果为整数例如:6/4的结果是1,而不是1.52. 求余运算符 % :相除的两个数必须均为整数例如:6%4的余数是2 不可以写成 6.5%43. 自增运算符 + :只允许整型变量才可以做自增运算例如:+i 表示先增1再引用变量i 如:i=4; j=+i;/* i和j 均为5 */i+ 表示先引用变量i再增1 如:i=4; j=i+;/* i为5,j 为4 */4. 比较运算符 = :判别两个操作数是否相等例如:x=8表示变量x是否等于8,不能写成x=8(x=8表示将8赋值给变量x)5. 逻辑与 & 、逻辑或 |例如:a & b 当 a 为 0 时,结果为 0,不计算 b;仅当a为非0时,才需计算 b。 a | b 当 a 为 1 时,结果为 1,不计算 b;仅当a为0时,才需计算b。四、复合语句复合语句是指用一对花括号括起来的语句,花括号内往往由多个语句组成。在if语句中,若条件为真或为假要执行多个语句必须写成复合语句;在循环语句的循环体若要执行多个语句也必须写成复合语句。五、数组1. 数组的下标从0开始例如:int a10; 表示定义一个整型数组a有10个元素,即a0a92. 不能定义动态数组例如:int am; 且m是一个变量是不允许的3. 字符数组的输入(1) 对字符数组输入一个字符串,数组名前不能加&例如:char a100; 正确的方法是:scanf(“%s”, a);/* 数组名是一个地址,前面不能加& */错误的方法是:scanf(“%s”, &a);(2) 输入的字符串中含有空格字符,应使用gets函数例如:char a100;/* 在字符数组a中输入Fudan University */正确的方法是:gets(a);错误的方法是:scanf(“%s”, a);/* 字符数组a中只收到Fudan */六、函数1. 实参向形参的数据传递是“值传递”只有实参的值可以传递给形参,形参的值不能传递给实参(除指针间接引用外)。2. 形参与实参类型的匹配形参类型实参类型说明一般变量同类型的常量、变量或表达式形参变化不会影响实参数组名数组名或元素地址形参变化影响实参指针变量变量地址、数组名、字符串或指针变量形参变化影响实参3. return语句return语句有以下两种格式:(1) return ; :将结果返回到调用函数。如果一个函数有返回结果,在函数体内至少出现一个return 语句。(2) return; :返回到调用函数,但无返回结果。如果一个函数无返回结果,在函数体内可以出现return语句,但其后无返回结果,也可以没有return语句。4. 局部变量与全局变量局部变量:局部变量只有在定义的范围内有效,当离开了定义范围,变量被自动释放,其值不予保留。全局变量:在整个程序范围内有效,其定义一般写在所有函数之前。5. 静态变量使用static说明的变量称为静态变量。其特点如下:(1) 静态变量未赋初值,C编译系统自动将其置为0。(2) 静态变量的初值是在编译时赋的,在程序运行期间不再赋初值。(3) 静态局部变量离开了定义范围,不会被自动释放,其值仍保留。七、指针1. 指向变量的指针指针变量只能存放普通变量的地址,而不能存放普通变量的内容。在引用指针变量时,如果前面加*,表示取指向变量的内容。例如:int x, *p;/* 定义普通变量x和指针变量p */p = &x;/* 指针变量p指向变量x,即p存放的是x的地址 */*p=5;/* 等价于x=5; */2. 指向一维数组元素的指针变量当指针变量指向一维数组元素时,指针变量+1表示指向下一个元素,指针变量-1表示指向前一个元素。例如:int a100, *p;p = a; 或 p = &a0; /* 指针变量p指向一维数组a的首地址 */说明:p+i或a+i都表示&ai*(p+i)或pi或*(a+i)都表示ai3. 指向二维数组的指针变量(不作要求)当指针变量指向二维数组元素时,指针变量+1表示指向下一行对应列的元素。例如:int a34, (*p)4;p = a; /* 指针变量p指向二维数组a的首地址 */说明:*(p+i)+j或pi+j或ai+j或*(a+i)+j都表示&aij*(*(p+i)+j)或*(pi+j)或*(ai+j) 或*(*(a+i)+j)都表示aij4. 指向字符串的指针变量当指针变量指向字符串时,指针变量+1表示指向下一个字符。例如:char *p;p = I am a string.; /* 指针变量p指向字符串的首地址 */printf(“%c”, *p);/* 显示字母I */5. 指针数组指针数组是指,数组中的每一个元素都是指针变量。例如:int a, b, c;int *p = &a, &b, &c; /* p有3个元素,分别指向变量a、b和c */6. 多级指针(不作要求)多级指针是指,存放的是另一个指针变量的地址。例如:int x, *p, *pp; /* 定义普通变量x、指针变量p和多级指针变量pp */p = &x; /* 指针变量p指向普通变量x */pp = &p; /* 指针变量pp指向另一个指针变量p */说明:在引用时,*p或*pp都表示变量x八、结构1. 结构类型名与结构变量结构的定义如下:struct 结构类型名 类型 成员名1; 类型 成员名2;.结构变量名表;其中:结果类型名类似于数据库中的表名;成员名类似于字段名;结构变量名类似于记录名。2. 对结构成员引用的三种方法方法1: 结构变量名.成员名方法2: 指针变量名-成员名方法3: (*指针变量名).成员名九、链表1. 链表的形式由头指针和表元组成。其中:头指针指向链表中的第一个表元。表元实际上是一个结构形式,由多个成员组成,最后一个成员是一个指针变量,指向下一个表元的首地址。NULL头指针 首表元 下一个表元 尾表元2. 动态申请与释放表元存储空间的函数(1) malloc(申请存储空间的字节数)例如:p = (intNode *)malloc(sizeof(intNode);其中:p是intNode类型的指针变量,指向新申请到存储空间的首地址。intNode是结构类型名。(2) free (释放存储空间的首地址)例如:free (p);3. 链表的基本操作(1) 建立空链表:head=NULL;/* 表示头指针指向空地址 */(2) 指向第一个表元:p=head;/* p与head一样,都指向首表元 */(3) 指向下一个表元:p=p-next;/* p指向下一个表元 */(4) 删除首表元:head=head-next;/* 将首表元指向的表元地址赋给头指针 */十、文件1. 文件的类型正文文件与二进制文件。2. 文件指针定义:FILE *fp;3. 文件常用函数(1) 文件打开:fopen (文件名, 打开方式);其中:文件名可以是字符数组名,或字符串常量。 打开方式有“r”表示只读、“w”表示只写、“a”表示添加。当打开方式为“r”(只读)时,文件必须存在,否则打开不成功返回NULL地址,因此在程序中必须进行判别文件是否打开成功。例如:if (fp=fopen (fname, “r”)=NULL) printf (“不能打开文件 %s. n”, fname); return;说明:当文件打开成功,文件指针fp指向打开的文件;当文件打开不成功,程序结束运行。(2) 文件关闭:fclose (文件指针);一旦文件被关闭,该文件就不能再使用。(3) f
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年秋三年级上册语文同步教案 14 搭船的鸟
- 环境工程制图剖面课件
- 环境化学工程课件
- 建筑防水卷材产品质量省监督抽查实施细则
- 自贡统计年鉴-2009-固定资产主要统计指标解释
- 佛山监理公司管理制度
- 作业危险预知管理制度
- 佩戴口罩人员管理制度
- 供料系统原料管理制度
- 供暖集团仓库管理制度
- 酒店项目规划设计方案(模板)
- 2025名著导读《钢铁是怎样炼成的》阅读习题(含答案)
- 2025-2030中国冷热交换器行业市场现状分析及竞争格局与投资发展研究报告
- 美容院和干洗店合同协议
- 前程无忧测评题库
- ICU经口气管插管患者口腔黏膜压力性损伤预防的最佳证据总结 - 学习与临床应用
- 2025急性心梗诊疗指南
- 【闵行区人民法院】上海市闵行区劳动人事争议调解仲裁与审判白皮书(2023-2024年)
- 智能药柜管理系统行业深度调研及发展战略咨询报告
- 大数据导论题库习题试卷及答案
- 住院费用清单2
评论
0/150
提交评论