C语言二级辅导(基础知识ppt)
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
char int int float
esc i = sum eps
= 'a'; 1; = 0; = 1.0e-5;
基本运算和表达式
运算符
算术运算 关系和逻辑运算 位运算 赋值运算 其他运算 ·运算符种类、功能、目数、优先级、结合性和副作 用 ·自动类型转换规则 ·关系和逻辑运算规则 ·逻辑运算的优化规则 ·位运算规则和简单位运算
求一维数组a中值为奇数的元素之和。 例如,当一维数组a中的元素为:11,4,2,7,3,12,5,34,5,9 程序的输出应为:The result is: 40。 程序中有两处错误, 请改正程序中的错误,使它能得出正确的结果。 注意:程序中的其它地方请考生不要随意改动,不得增行 或删行,也不得更改程序的结构! #include <stdio.h> main() { int arr[10]={11,4,2,7,3,12,5,34,5,9},i; for ( i=1; i<10; i++) if (i % 2 == 1) s = s + arr[i]; printf("The result is: %d\n", s);
或运算||
求反!
实例
ch是英文大写字母
(ch >= 'A') && (ch <= 'Z')
判断某一年year是否是闰年的条件是满足下列两个条 件之一:
能被4整除,但不能被100整除; 能被400整除;
((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)
序号
一
题型
单选题
题量
15
计分
15分
考核目标
基本概念 程序理解 语义知识 基本语句 程序调试 程序设计 常用算法 程序设计 常用算法 综合应用
二
程序调试题 3
20分
三 四 合计
程序填空题 2-3 编程题 2
30分 35分
22-23题 100分
考试知识点讲解
C程序的组成、结构及书写规则
·预处理命令 C语言源程序结构 ·外部数据定义 ·函数main和其它函数定义
表达式
算术运算符
+,-,*,/
加、减、乘、除运算 四则混合运算中,先算乘除,后算加减, 按从左向右的顺序计算,左结合
常用的标准数学函数 求余运算
功 能 函数名 exp(x) sin(x) cos(x) 功 能 计算ex的值 计算sinx的值,x为弧度值 计算cosx的值,x为弧度值
%
函数名 sqrt(x) fabs(x) log(x)
for (i=2; i<100; i++) { if (isprime(i)) printf("%d\t", i); }
} }
for (i=2; i<=k; i++) { if (n % i == 0) return 0; } return 1;
本节要点
C程序的组成特点 标识符 一、关键字 二、预定义标识符 三、用户标识符
为什么需要常量?
假如不使用常量,直接使用常数,会有什么影响?
程序的可读性变差 容易发生书写错误 修改麻烦 宏常量 const常量
常量只能在定义时赋值,然后不能再改变其值
枚举常量
常数(Constant)
整型常数
18、-31 long int型常量 123l、123L、123456l、123456L unsigned int型常量 123u、 123U
C语言程序设计步骤
编辑、编译与运行 调试程序
关键字(Keyword)
C程序常见符号分类
又称为保留字,C语言中预先规定的具有固定含义的一些单词 数据类型修饰符int,控制语句return等
Baidu Nhomakorabea
标识符(Identifier)
系统预定义标识符,main,printf 等 用户自定义标识符,Add, x, y 等
自动类型转换
同种数据类型的运算结果,还是该类型 不同种数据类型的运算结果,是两种类型中取值 范围更大的那种
long double > double > float > long > int > short > char
字符(Character)常数
字符常数的表示方法
‘a’,’A’,’5’,’%’,’$’…… 单引号内只能有一个字符,除非用“\”开头
就是一个普通整数,也可以参与各种数学运算
每个字符具有一个0~255之间的数值,可从ASCII表查出 注意:’5’和整数5的区别
字符的数学运算在密码学内用得比较多 例如,"\n",代表1个字符
理解
掌握 掌握 理解 知道 掌握 理解 知道 理解 理解 掌握 理解 掌握
·赋值运算中自动类型转换规则(以左值类型为 准转换) ·复合赋值
·条件、逗号、求存储空间大小运算 ·表达式组成规则、各类表达式 ·描述计算过程/条件判断的表达式 ·各类型数据混合运算中求值顺序 ·表达式运算中的隐式类型转换和强制类型转换 ·基本运算执行顺序、表达式结果类型
UNIX 风格 Windows 风格
下划线和大小写通常用来增强可读性
不允许使用关键字作为标识符的名字
某些功能的变量采用习惯命名
设置断点
调试运行 现在我们点击工具栏上的“调试运行按钮(F5)”,这时程序将自动编译、 连接、运行,然后停在我们所设定的断点的行上。设置断点后,我们可以看见当 前行的最左端有一个暗红色的大圆点,如下图所示:
typeoverflow.c
类型溢出的解决方案?
解决方案:
预先估算运算结果的可能范围,采用取值范围更大 的类型。
1+2+3+… 1!+2!+3!+… 13+23+33+…
如果不需要处理负数,则采用无符号类型。 在运算还没开始之前就判断运算数是否在合理的取 值范围内。如果超出,则停止运算,转错误处理。
理解 知道 知道 理解 知道 掌握 掌握
程序的书写格式
·基本词法单位、标识符/常量/运算符等构成规 则 ·程序的书写格式与风格
C语言程序设计步 ·VC编程环境的操作使用 骤 ·程序的编辑/编译/连接/调试/运行
一个完整的C程序
#include <stdio.h> #include <math.h> main() { int i; int isprime(int n) { int k, i; if (n == 1) return 0; k = (int)sqrt((double)n);
C程序设计(二级)辅导
----计算机与信息工程学院
通过等级考试,并不能表明你真正学会了 C语言。 正如你通过了6级英语,就能写出莎士比 亚一样的诗句吗? 学好C语言的唯一途径就是:编程,编程, 再编程,实践,实践,再实践
C语言学习的目标
课程的定位
公共基础课,类似大学英语、高等数学、大学 物理等课程
34种,详见附录2 空格、回车/换行、逗号等 大花括号“{”和“}”通常用于标识函数体或者一个语句块 “/*”和“*/”是程序注释所需的定界符 变量(Variable) 常量(Constant)
运算符(Operator)
分隔符(Separator)
其它符号 数据(Data)
八进制与十六进制常数
以数字“0”开始的整型常数是八进制数
022、-037 010和10大小不一样 因为八进制并不常用,所以此种表示法比较少 见
以“0x”或者“0X”开始的整型常数是十六 进制
A~F和a~f用来表示十进制的10~15 十六进制的形式比较常用 0x12、-0x1F, -0x1f
计算x的平方根,x应大于等于0 计算x的绝对值 计算lnx的值
pow(x,y) 计算xy的值
log10(x) 计算lgx的值
关系运算符
>,>=,<,<=,==,!=
大于,大于等于,小于,小于等于,等于,不等于 关系运算符运算出的结果为0和非0 0,表示假,即该关系不成立 非0,表示真,即该关系成立 绝大多数编译器,关系运算得到的非0结果为1,但 是不要利用这个1
}
基本数据类型
C语言数据类型
· 基本类型、数组、结构、指针类型、空类型
掌握
C语言常量
·常量和变量 ·整型、实型(单/双精度)、字符型和字符串 常量的表示方法
·各种类型变量的定义和说明 ·变量的初始化
掌握 理解
C语言变量和C语 言基本数据类型
掌握 掌握
数据类型(Data Type)
基本类型 基本整型 长整型 整型 短整型 无符号整型 单精度实型 实型(浮点型) 双精度实型 字符型 枚举类型 数组类型 构造类型 结构体类型
标识符命名 变量名 函数名 由英文字母、数字和下划线组成,大小写敏感 不可以是数字开头 直观,见名知意,便于记忆和阅读
最好使用英文单词或其组合 切忌使用汉语拼音 variablename variable_name variableName int, float, for, while, if等 如:for语句所采用的循环变量习惯用i, j, k
学习难点
不在于掌握某种程序设计语言的语法规范,而 是掌握程序设计的基本方法
考试目标
了解和掌握C语言的语法 使用掌握的语言知识进行编程 上机调试的能力 使用程序语言解决简单实际问题
考试细则
网络环境的上机考试 考试时间:120分钟 考卷从服务器上下载、考试结果上传至服 务器 考试阅卷采用机器和人工阅卷两种形式
浮点常数
十进制小数形式 123.45、456.78 指数形式 1e-2、4.5e3 float型常量 123.45f、 456.78F、1e-2f、4.5e3F long double型常量 123.45l、 456.78L、4.5e3L 缺省为double 因为字母l和数字1容易混淆,所以当用l做后缀时,常使 用大写形式
逻辑运算符
逻辑运算也被称为布尔(Boolean)运算 与运算&&
a && b当且仅当两者都为真,则结果为真 ( a > b && b > c);a大于b,并且b大于c a || b只要两者中有一个为真,结果就为真 ( a > b || b > c); a大于b,或者b大于c ( !a );如果a是0,结果非0;如果a是非0,结果是 0 并不改变a的值
用“\”开头的字符为转义字符
字符常数
转义字符
一些特殊字符(无法从键盘输入或者另有它用)用转义 字符表示
字符串(String)常数
用双引号括住的由0个或多个字符组成的字符序列
"I am a string" ""表示空字符串 转义字符也可以在字符串中使用 引号只作为字符串开始和结束的标志 C语言内部用’\0’表示字符串的结束 除注释外,是唯一可以出现中文的地方
学编程,上机的重要性远远大于看书。亲自动手 编程序的学习效果比干啃书本要好上 0xFFFFFFFF倍。上机不要就是敲书上的例子, 那只能锻炼出打字员。干点儿有挑战性的事情, 比如编个小游戏,做个恶作剧程序,更可以考虑 开发共享软件。如果你感到无从着手,那就下载 别人的源代码看。同时,千万不要把自己陷到 TC2里面,把路子走得宽一些,VC、gcc、 Dev-C++、Eclipse……,广阔天地,精彩无 限。
数据类型
共用体类型
指针类型 空类型
何谓类型溢出(Overflow)?
C语言直接提供的任何类型都有取值范围。当 向其赋超过此范围的数值,就会产生数值溢出, 得到一个不正确的结果。 TC2中int的范围是-32768~32767
如果超出取值范围,给它一个小于-32768或者大 于32767的数会如何呢?现场编程测验…… 小蛇能吞下 大象吗?
教学目标:素质教育与能力培养
实践能力 创造性 抽象思维能力 (图形处理、internet程序设计、自动控制单片 机、统计、管理信息系统、数据安全方面等等)
二级考试的目的
检测计算机编程能力的依据 激发学生学习程序设计语言的兴趣
实践创新的基础,更好的服务于专业课程
教学中的问题:学
"x"和’x’是不同的 <string.h>里定义了一系列专门的字符串处理函 数
变量声明
使用变量的基本原则
变量必须先定义,后使用 所有变量必须在第一条可执行语句前定义
声明的顺序无关紧要 一条声明语句可声明若干个同类型的变量 声明变量,是初始化变量的最好时机
不被初始化的变量,其值为危险的随机数