- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
计算机软件技术基础 C语言基本语法与难点 主要内容 1.概述 2.变量 3.字符串 4.指针 5.程序控制结构 6.小结 1. 概述 C语言语法的基本构成 变量 表达式 语句 控制结构 函数 文件 1. 概述 变量 变量的命名 变量和常量 变量的声明和定义(存储) 变量存储的大小 1. 概述 表达式 运算符 [? ]???(? )???.???–++???––??? ???*???+???–???~???!???sizeof/???%????????? ???=???=???==???!=???^???|??????!!????:=???*=???/=???%=???+=???–=???=???=???=???^=???|=,???#???## 变量通过运算符连接成表达式 1. 概述 语句(statements) 表达式构成语句 语句的控制结构(结构化) 顺序 分支(if…else) 循环(for,while, do…while, break,continue ) 经证明,任意复杂程序都可以由这三种基本结构构成 1. 概述 函数 函数的声明 函数的定义 控制结构构成函数 文件 多个函数组成文件 主要内容 1.概述 2.变量 3.字符串 4.指针 5.程序控制结构 6.小结 2.变量 本章变量指代内置的数据类型(整数和数组等) 常量 字面量 具名常量(符号常量) 变量的定义 变量的声明(指定变量的类型) 变量的定义(为变量指定特定数值) 定义变量名要做到“见名知意”(内容、类型和作用域) 避免采用a1,a2等,或者汉语拼音和拼音的字母缩写 基本数据类型的声明和定义统一 2.变量 C语言的命名规则 c和ch是字符变量 i和j是整数下标 n表示某物的数量 p是指针 s是字符串 预处理宏全部大写 变量名和子程序名全部小写 用下划线作分隔符 2.变量 变量的初始化 不合理的初始化数据是产生编程错误的常见根源之一 从未对变量赋值 变量值已经过期(在某个地方赋值,但该值不再有效) 变量的一部分赋值,另一部分没有(指针,结构体等) 解决方法 在声明变量的时候初始化 在靠近变量第一次使用的位置初始化(Principle of Proximity) 特别注意计数器(counter)和累加器(accumulator) 检查是否需要重新初始化 2.变量 变量的作用域 作用域(可见性)指变量在程序内的可见和可引用的范围。 C语言的变量在所处的代码块({})中可见 局部变量 全局变量(直接可见性,从定义到源文件的结束) 准则: 变量引用局部化(可用跨度来度量) 尽可能缩短变量“存活时间”(变量存在期间所跨越语句总数) 方法和原则(减小作用域) 在循环开始处再去初始化该循环使用的变量 把相关的语句放在一起 把相关的语句提炼成子程序 2.变量 整数 检查整数除法 检查整数溢出 检查中间结果溢出 2.变量 2.变量 浮点数 避免数量级相差巨大的数之间的加减运算 避免等量判断 处理舍入误差问题 主要内容 1.概述 2.变量 3.字符串 4.指针 5.程序控制结构 6.小结 3.字符串 字符串字面量 例如:“Hello,world!”,“What are you up to?” 系统自动在有效字符后加’\0’ 注意“ “和 ’ ‘ 的区别: ”a“ 和’a’ 字符串变量 char sInfo[] = “Info message”; char sInfo[256]; char *psInfo; ? 先定义一个字符串数组,然后对其进行赋值如何进行? 对字符串的操作 strcpy,strcat,strcmp,strlen,strlwr,strupr strtok举例 字符串与其他数据类型的转换 sprintf atoi,atof 3.字符串 准则 避免使用神秘字符和字符串 避免off-by-one错误 注意字符串指针和字符数组之间的差异 警惕任何包含字符串和等号的表达式。C语言中的字符串操作差不多都通过strcmp(),strcpy(),strlen()等子程序完成的。在C里面,赋值并不把字符串字面量拷贝给字符串变量。 stringPtr = “Some Text String”; stringPtr最后是指向该字面量的指针。 通过命名规则区别变量是字符数组还是字符串指针 把字符串的长度声明为CONSTANT+1 char name[NAME_LENGTH+1]={0}; for(i = 0; i NAME_LENGTH; i++){ name[i]=‘A’; …… } …… strncpy(name, some_other_name, NAME_LENGTH); 用null初始化字符串以避免没有终端的字符串 用字符串数组取代C中的指针 主要内容 1
文档评论(0)