1、完整教学课件完整教学课件 2020/11/15 2020/11/15 2 NCRE全国计算机等级考试全国计算机等级考试(C(C语言语言) ) 笔试笔试: 基础知识基础知识(30分分),C语言语言(70分分) 机试机试: C语言语言(100分分),包括改错、填空、编程。,包括改错、填空、编程。 考试时间:每年开考两次。(笔试、机试考试时间:每年开考两次。(笔试、机试90分钟)分钟) 上半年笔试时间:上半年笔试时间:4月第二个星期六上午;月第二个星期六上午; 下半年笔试时间:下半年笔试时间:9月倒数第二个星期六上午月倒数第二个星期六上午 上机考试从笔试的当天下午开始,机考试期限定上机考试从笔试的当
2、天下午开始,机考试期限定 为五天(至周三)。为五天(至周三)。 报名地点:计算机基础实验中心(教育技术楼报名地点:计算机基础实验中心(教育技术楼2楼)楼) 2020/11/15 3 教学要求教学要求 掌握程序设计语言的基本知识掌握程序设计语言的基本知识 常用算法常用算法 初步的程序设计能力初步的程序设计能力 自主学习自主学习 重视上机实践重视上机实践 2020/11/15 4 课程成绩课程成绩 期末考试期末考试 : 笔试(卷面笔试(卷面70分)分)+机试(机试(30分)分) 学生成绩:学生成绩: 期末考试期末考试(百分制百分制)*0.7+平时成绩平时成绩(百分制百分制) *0.3 平时成绩平时
3、成绩: 考勤、实验测评、作业、习题册、实验报告考勤、实验测评、作业、习题册、实验报告 2020/11/15 5 教材和参考书教材和参考书 C语言程序设计教程,孙辉,人民邮电出版社语言程序设计教程,孙辉,人民邮电出版社 C程序设计,潭浩强,清华大学出版社程序设计,潭浩强,清华大学出版社 The C Programming Language, Brian W .Kernighan 1.任何程序都有主函数任何程序都有主函数 2.程序由若干语句组成程序由若干语句组成 3.语句由语句由 ; 结束结束 主函数主函数 语句结束语句结束 换行符换行符 输出语句输出语句 2020/11/15 21 例例2 在屏
4、幕上显示在屏幕上显示: Programming is fun! And Programming in C is even more fun! # include 编译预处理命令编译预处理命令 main( ) printf(“Programming is fun!n And Programming in C is even more fun!n”); 2020/11/15 22 思考思考 结合前面讲过的两个例子,请同学们思考:结合前面讲过的两个例子,请同学们思考: 如何在屏幕上输出字符串“如何在屏幕上输出字符串“ Hello,World! ” 。 /* P8 example2.1 The fir
5、st C Program*/ #include main() printf(Hello,World!); 输出: Hello,World! 头文件头文件 主函数主函数 注注 释释 2020/11/15 23 注释注释 /* */ 格式格式: /注释的内容注释的内容 /*注释的内容注释的内容*/ 作用作用: 程序中解释性的说明程序中解释性的说明, 人们阅读程序时使用人们阅读程序时使用, 计算机不做任何处理。计算机不做任何处理。 注释可以单独一行,也可以放在其他语句后注释可以单独一行,也可以放在其他语句后 面,空白行作为注释处理。面,空白行作为注释处理。 2020/11/15 24 头文件头文件
6、#include 又称包含文件。它是又称包含文件。它是C C语言程序的重要组成部分。语言程序的重要组成部分。一一 般放在文件的开始般放在文件的开始,系统在编译时,会自动将头文件嵌入,系统在编译时,会自动将头文件嵌入 源程序中。源程序中。 在头文件中,存放有在头文件中,存放有C C程序中所用函数的说明及一些程序中所用函数的说明及一些 常量的说明,不同的函数有不同的头文件,必要时可以查常量的说明,不同的函数有不同的头文件,必要时可以查 找相关的手册或系统的帮助。除了系统定义的头文件外,找相关的手册或系统的帮助。除了系统定义的头文件外, 还有用户自己编写的头文件。还有用户自己编写的头文件。 要注意的
7、是,在要注意的是,在C C语言程序中,如果缺少相应的头文语言程序中,如果缺少相应的头文 件,可能导致程序的结果完全错误。件,可能导致程序的结果完全错误。 2020/11/15 25 主函数主函数 main( ) main( )main( )函数(又称主函数)是函数(又称主函数)是C C语言程序的语言程序的 入口函数,在任何的入口函数,在任何的C C语言程序中,都有一个语言程序中,都有一个 main() main() 函数,且只能有一个函数,且只能有一个 mainmain函数。函数。 程序从程序从main( )main( )函数开始执行,然后在函数开始执行,然后在main( ) main( )
8、函数中结束。函数中结束。 注意:注意:main( ) main( ) 函数只能是小写,不能大写。函数只能是小写,不能大写。 2020/11/15 26 例例3 3 计算并显示两个数的和计算并显示两个数的和 # include main( ) int value1,value2,sum; /变量定义变量定义 value1=5; value2=2; /变量使用变量使用 sum=value1+value2; printf(“和是和是%d n”, sum); /输出结果输出结果 2020/11/15 27 例例4 4 计算两个数的和计算两个数的和, ,以算式的形式显示以算式的形式显示 # includ
9、e void main( ) int value1,value2,sum; value1=5; value2=2; sum=value1+value2; printf(“%d+%d=%d n”, value1,value2,sum); 2020/11/15 28 例例5 5 输入两个数输入两个数, ,求和求和 # include void main( ) int value1,value2,sum; printf(“Input 2 numbers: n”); / 输入提示输入提示 scanf (“%d,%d”, /读入读入2个个 数数 sum=value1+value2; printf(“%d
10、+%d=%d n”, value1,value2,sum); 2020/11/15 29 思考思考 结合前面讲过的例子,请同学们思考:结合前面讲过的例子,请同学们思考: 从键盘输入从键盘输入3个个整数整数,求和并将结果输出。求和并将结果输出。 /* P9 example2.2 */ #include main() int a,b,c,d; printf(“请输入三个整数请输入三个整数:n”); scanf(“%d,%d,%d”, d=a+b+c; printf(“计算结果计算结果:%dn”,d); 结合前面讲过的例子,请同学们思考:结合前面讲过的例子,请同学们思考: 从键盘输入从键盘输入2个个
11、实数实数,计算其乘积的开方并将结果输出。计算其乘积的开方并将结果输出。 /* P9 example2.3 */ #include #include main() float a,b,c; printf(“请输入请输入2个大于个大于0的实数的实数n”); scanf(“%f,%f”, c=sqrt(a*b); printf(“计算结果计算结果:%fn”,c); 2020/11/15 30 结构特点结构特点 函数与主函数函数与主函数 程序由一个或多个函数组成程序由一个或多个函数组成,函数是函数是C程序的基本组程序的基本组 成单位。成单位。 必须有且只能有一个主函数必须有且只能有一个主函数main(
12、) 程序执行从程序执行从main开始,在开始,在main中结束,其它函数中结束,其它函数 通过嵌套调用得以执行。通过嵌套调用得以执行。 程序语句程序语句 C程序由语句组成程序由语句组成 用“用“ ; ”作为语句终止符”作为语句终止符 注释注释 /* */为注释为注释,不能嵌套、不能把单词分开。不能嵌套、不能把单词分开。 不产生编译代码不产生编译代码 例:例: /*This is the main /* of example1.1*/ */ 非法 2020/11/15 31 说明说明 2.c2.c语言本身没有输入输出语句,是通过函数语言本身没有输入输出语句,是通过函数 scanf( )scanf
13、( )与与printf( )printf( )完成输入输出的。完成输入输出的。 scanf( ),printf( )scanf( ),printf( )不是不是c c语句语句。 1.#include 1.#include 为为头文件头文件,通常称为命令行,通常称为命令行, 须用须用“# #”号开头,最后不加分号,因为号开头,最后不加分号,因为它不是它不是C C语句语句。 2020/11/15 32 格式特点格式特点 习惯用习惯用小写小写字母,大小写敏感字母,大小写敏感 不使用行号,不使用行号,无程序行无程序行概念概念 可使用空行和空格可使用空行和空格 常用常用锯齿形锯齿形书写格式书写格式 ma
14、in( ) . . . . . . . main( ) int i , j , sum; sum=0; for(i=1; i10;i+) for(j=1;j10;j+) sum+=i*j ; printf(“%dn”,sum); 优秀程序员的素质之一: 使用TAB缩进 对齐 有足够的注释 有合适的空行 2020/11/15 33 典型试题典型试题1 1以下叙述正确的是以下叙述正确的是_。 A 构成构成C程序的基本单位是函数程序的基本单位是函数 B 可以在函数中定义另一个函数可以在函数中定义另一个函数 C main()函数必须放在其他函数之前函数必须放在其他函数之前 D 所有被调用的函数一定要在
15、调用之前进行定义所有被调用的函数一定要在调用之前进行定义 试题分析:构成试题分析:构成C C程序的基本单位是函数,一个程序的基本单位是函数,一个C C程序程序 中有且只有一个中有且只有一个mainmain函数,函数,mainmain函数在程序中没有固函数在程序中没有固 定的位置。定的位置。 2020/11/15 34 典型试题典型试题2 2一个一个C程序中程序中_。 A main函数必须出现在所有函数之前函数必须出现在所有函数之前 B main函数可以在任何地方出现函数可以在任何地方出现 C main函数必须出现在所有函数之后函数必须出现在所有函数之后 D main函数必须出现在固定位置函数必
16、须出现在固定位置 试题分析:构成试题分析:构成C C程序的基本单位是函数,一个程序的基本单位是函数,一个C C程序中有程序中有 且只有一个且只有一个mainmain函数,函数,mainmain函数在程序中没有固定的位置函数在程序中没有固定的位置。 3. 3. 在在C C程序中,程序中,main( )main( )函数最多有函数最多有 个。个。 A 0 B 1 C 2 D A 0 B 1 C 2 D 不限不限 2020/11/15 35 典型试题典型试题3 3 4.4.一个一个C C语言程序的执行是从()语言程序的执行是从() A A 程序中的程序中的mainmain函数开始,到函数开始,到ma
17、inmain函数结束函数结束 B B 程序中的第一个函数开始,到程序中最后一个函数结束程序中的第一个函数开始,到程序中最后一个函数结束 C C 程序中的程序中的mainmain函数开始,到程序中最后一个函数结束函数开始,到程序中最后一个函数结束 D D 程序中的第一个函数开始,到程序中的第一个函数开始,到mainmain函数结束函数结束 5.5.以下叙述不正确的是以下叙述不正确的是( )( ) A mainA main函数可以在程序任意位置函数可以在程序任意位置 B B 分号是分号是c c语句的组成部分语句的组成部分 C C 函数函数scanf()scanf()与与printf()printf
18、()是是c c程序语句程序语句 D D 注释语句可以放在程序中任意合适的地方注释语句可以放在程序中任意合适的地方 试题分析:试题分析: c c语言本身没有输入输出语句,是通过函数语言本身没有输入输出语句,是通过函数 scanf()scanf()与与printf()printf()完成输入输出的。完成输入输出的。 2020/11/15 36 典型试题典型试题4 4 6.6.下列程序中,注释方法不正确的是下列程序中,注释方法不正确的是( )( ) A A #incl/*#incl/*头文件头文件* */ude B/ude B #include#include main() main(/*main(
19、) main(/*主函数主函数* */)/) C C #include D #include#include D #include main() main( )main() main( ) int x/*int x/*初始化初始化* */=10; int x=10;/=10; int x=10; /*/*输出输出* */printf(/printf(“%d%d”,x); printf(“%d”,x);/*,x); printf(“%d”,x);/*输出输出 * */ / 试题分析:注释语句可以放在程序任意的位置试题分析:注释语句可以放在程序任意的位置,但不能把但不能把 单词分开单词分开。 20
20、20/11/15 37 开 始 编 辑 编 译 连 接 执 行 有错? 结果正确? 结 束 有 源程序 file .c 目标程 序 file.obj 库函数和 其它目标 程序 可执行 目标程 序 无 正确 不正确 C程序的上机步骤 编辑 链接 编译 执行 C程序开发步骤 程序代码的录入, 生成源程序*.c 语法分析查错,翻译 生成目标程序*.obj 与其它目标程序或库 链接装配,生成可执行 程序*.exe 2020/11/15 38 C C语言上机环境语言上机环境 上机环境:上机环境:Turbo C 这是一个集这是一个集编辑编辑、编译编译、连接连接、执行执行和和调试调试 为一体的全屏幕语言工具
21、。为一体的全屏幕语言工具。 优点:系统小优点:系统小 缺点:不支持鼠标缺点:不支持鼠标 2020/11/15 39 C程序的上机步骤 进入进入Turbo CTurbo C 桌面桌面 TC.exeTC.exe 主控菜单主控菜单 Alt+Alt+字母字母或或F10F10再用再用 选择选择 退出退出Turbo CTurbo C Alt+XAlt+X 帮助帮助HelpHelp F1F1 2020/11/15 40 常用热键常用热键 基本操作:基本操作: F10F10-调用主菜单调用主菜单 Alt+F9Alt+F9-CompileCompile F2F2-保存文件保存文件 Ctrl+F9Ctrl+F9编
22、译编译+ +连接连接+ +执行执行 F3F3-打开打开程序程序 Alt+F5Alt+F5查看运行结果查看运行结果 Ctrl+BreakCtrl+Break或或Ctrl+CCtrl+C中断程序执行中断程序执行 文本编辑:文本编辑: -移动光标移动光标 PgUp,PgDnPgUp,PgDn-上下翻页上下翻页 Ctrl+PgUp,Ctrl+PgDnCtrl+PgUp,Ctrl+PgDn-文件首尾文件首尾 2020/11/15 41 重要操作重要操作 程序调试:程序调试: F8F8-Step over Step over F7F7-Trace intoTrace into F4F4-Goto Curs
23、or Goto Cursor Ctrl+F7Ctrl+F7-Add WatchAdd Watch Ctrl+F8Ctrl+F8-Toggle Breakpoint Toggle Breakpoint Ctrl+F2Ctrl+F2-Program ResetProgram Reset 窗口操作:窗口操作: F5F5-窗口缩放窗口缩放 F6F6-窗口切换窗口切换 块操作:块操作: Ctrl+KBCtrl+KB-块开始标记块开始标记 Ctrl+KKCtrl+KK-块结束标记块结束标记 Ctrl+KCCtrl+KC-块拷贝块拷贝 Ctrl+KVCtrl+KV-块移动块移动 Ctrl+KYCtrl+KY
24、-块删除块删除 Ctrl+KHCtrl+KH-块隐藏块隐藏 2020/11/15 42 4 基本输入输出函数基本输入输出函数 格式化输出函数格式化输出函数 printf( )printf( ) printf( (格式控制,输出参数格式控制,输出参数1 1, ,输出参数,输出参数n)n); printf(“Hello World! n”); printf(“sum=%d n”,sum); 2020/11/15 43 格式控制格式控制 格式控制说明格式控制说明 %. %d: 输出十进制整数输出十进制整数 %f:输出十进制浮点数:输出十进制浮点数 %c:输出单个字符:输出单个字符 普通字符原样输出普
25、通字符原样输出 普通字母数字及符号普通字母数字及符号 转义字符转义字符 n,n, t t x=34;y=3.14; printf(“X=%d,Y=%f ”, x, y); 输出:输出: X=34,Y=3.14 2020/11/15 44 基本输入函数基本输入函数 格式化输入函数格式化输入函数scanf( ) scanf(格式控制,输入参数格式控制,输入参数1, ,输入参数,输入参数n ); 格式控制说明格式控制说明 %. 普通字符原样输入普通字符原样输入 scanf(“%d%d”, 格式控制格式控制 变量地址变量地址 scanf(“%d,%d”, 要求输入:要求输入:5 5,6 6 scanf
26、(“m=%d,n=%d”, 要求输入:要求输入:m=m=5 5,n=n=6 6 最好直截了当:最好直截了当: scanf(“%d%d”, 南昌工程学院计算机基础实验中心南昌工程学院计算机基础实验中心 2020/11/15 45 作业:作业: 实验指导书实验指导书实验一实验一 南昌工程学院计算机基础实验中心南昌工程学院计算机基础实验中心 11/15/2020 46 第 2 讲 常量和变量 11/15/2020 47 基本数据类型基本数据类型 枚举类型 1.数据类型 基本类型 构造类型 其它类型 字符型 数值型 整型 实型 基本型 短整 长短整 无符号整 单精度 双单精度 长双单精度 字符 字符串
27、 空类型(void) 指针类型 2.对数据的操作运算 运算符和表达式 如:a+b 11/15/2020 48 整型整型 实型实型 字符型字符型 常量常量 变量变量 数据类型 值是否改变 11/15/2020 49 例例1 已知圆的半径为R(R是一个可变的量),求圆的面积和周长。 /* 计算圆的面积和周长 */ #include main() float r,area,s; scanf(“%f“, area=3.14*r*r; s=2*3.14*r; printf(“面积= %f, 周长%f”,area,s); 1.注释 4.数据说明 5.数据输入 6.数据处理 7.结果输出 2.头文件 3.主
28、函数 11/15/2020 50 例例1 已知圆的半径为R(R是一个可变的量),求圆的面积和周长。 /* 计算圆的面积和周长 */ #include main() float r,area,s; scanf(“%f“, area=3.14*r*r; s=2*3.14*r; printf(“面积= %f, 周长%f”,area,s); area=3.14159*r*r; s=2*3.14159*r; 11/15/2020 51 例例1 符号常量符号常量 /* 计算圆的面积和周长 */ #define PI 3.14 #include main() float r,area,s; scanf(“%
29、f“, area=PI*r*r; s=2*PI*r; printf(“面积= %f, 周长%f”,area,s); 159 11/15/2020 52 思考思考 已知圆的半径为已知圆的半径为3.14,求圆的面积和周长。求圆的面积和周长。 #define PI 3.1416 #include main() float area,s; area=PI* 10.0 * 10.0; s=2*PI* 10.0; printf(“面积= %f, 周长=%f”,area,s); 注意:符号常量使用前必须先定义: #define 符号常量名 常量 11/15/2020 53 常量和变量常量和变量 C C语言中
30、的量语言中的量 常量常量( (常数常数):):数据数据 符号常量符号常量: :用标识符表示的常量数据。用标识符表示的常量数据。 在程序的运行过程中在程序的运行过程中, ,其值不能被改变。其值不能被改变。 变量变量:存放数据的工作单元存放数据的工作单元 在程序的运行过程中在程序的运行过程中, ,其值可以改变。其值可以改变。 11/15/2020 54 变量的定义变量的定义 变量定义的一般形式:变量定义的一般形式: 类型名类型名 变量表变量表 int a,b,sum; /*a,b, sum是变量名是变量名*/ 变量名:小写字母,见名知义变量名:小写字母,见名知义 类型名:类型名: 整型整型int
31、实型(符点型)实型(符点型)float、 double 字符型字符型char 11/15/2020 55 变量的定义变量的定义 float x,y; 定义了x,y2个数据类型为实型 的变量 int a,b,c; 定义了a,b,c3个数据类型为整 型的变量 char c; 定义了c数据类型为字符型的变 量 11/15/2020 56 变量的定义变量的定义 变量名代表内存中的一个变量名代表内存中的一个存储单元存储单元 用于存放该变量的用于存放该变量的值值 该存储单元的该存储单元的大小大小由变量的由变量的数据类型数据类型决定决定 11/15/2020 57 基本数据类型所占宽度与数据范围基本数据类型
32、所占宽度与数据范围 类型 占字节 最小取值范围 int 4(2) -21474836482147483647即-231(231-1) unsigined int 2 065535 short int 2 -3276832767即-215(215-1) unsigined short int 2 065535 long int 4 -21474836482147483647即-231(231-1) unsigined long int 4 04294967295 float 4 -21474836482147483647即-231(231-1) double 8 10-30710308 long
33、 double 16 10-4931104932 11/15/2020 58 变量的定义与使用变量的定义与使用 变量变量 先定义,后先定义,后使用使用 先赋值,后引用先赋值,后引用 #include main() int a,b; a=2; b=a*a; printf(“%d”,b); 11/15/2020 59 变量的赋值变量的赋值 1 赋初值(初始化)赋初值(初始化):在定义变量时对它赋值:在定义变量时对它赋值 int a=5,b=2; 2 赋值表达式赋值表达式: int a,b; a=5; b=2; 3 输入函数输入函数: scanf(“%d%d”, 11/15/2020 60 基本数据
34、类型基本数据类型整型(整数类型)整型(整数类型) 1 整型常量(整数)整型常量(整数) 三种表现形式:三种表现形式: 十进制:正、负号,十进制:正、负号,0-9,首位不是,首位不是0 例:例:10,123 八进制:正、负号,八进制:正、负号,0-7,首位是,首位是0 例:例:010,0123 十六进制:正、负号,十六进制:正、负号,0-9,a-f, A-F,首位是,首位是0 x0X 例:例:0 x10,0 x123 11/15/2020 61 典型试题典型试题1 1.以下选项中正确整型常量是: A 10110B B 0386 C 0Xfaa D x2a2 11/15/2020 62 !整型常量
35、!整型常量 123=1111011(B)二进制)二进制 =173(O)八进制)八进制 =7B(X)十六进制)十六进制 int a=0173; int b=0 x7b; int c=123; 例:16 020 0 x10 10 012 0 xA 11/15/2020 63 整型变量整型变量 2 整型变量:整型变量:int 变量表变量表 int a, b, c=0; a=1; b=2; c=3; 整型变量的值是整数,它的取值范 围是有限的,最小范围是 -32768, 32767 11/15/2020 64 整型数据的输入和输出整型数据的输入和输出 printf(格式控制,输出参数格式控制,输出参数
36、1, ,输出参数输出参数n); scanf (格式控制,格式控制, %d:以十进制形式输入输出 整数 %o:以八进制形式输入输出 整数 %x:以十六进制形式输入输 出整数 注意:%是一个特殊的字符,无 法直接输出!要输出%,用% 控制说明 %. 11/15/2020 65 整型数据的输出整型数据的输出 例例: # include main() printf(“%d,%o,%xn”,10,10,10); printf(“%d,%d,%d n”,10,010,0 x10); printf(“%d,%xn”,012, 012); 运行结 果: 10,12,a 10,8,16 10,a 0.01010
37、 11/15/2020 66 整型数据的输入整型数据的输入 例例: # include main() int a,b; scanf(“%o%dn”, printf(“%d%5dn”,a,b); printf(“%x,%dn”, a,b); 输入: 017 17 运行结果: 15 17 f,17 XXX 11/15/2020 67 作业作业 输入输入:一个十进制的数一个十进制的数 输出输出:相应的八进制和十六进制数相应的八进制和十六进制数 11/15/2020 68 基本数据类型基本数据类型实型(实数类型)实型(实数类型) 1 实型常量实型常量(实数实数) 一般一般形式形式(3.14、-3.56
38、、0.0、1.), 指数指数形式(形式(0.326可以表示为可以表示为:0.326e0, 3.26e-1) 科学记数法科学记数法 注意注意: e之前必须有数字,且之前必须有数字,且e后面的指数必须为整数。后面的指数必须为整数。 如如e3, 、5e3.6 、e3等都是不合法的指数形式。等都是不合法的指数形式。 11/15/2020 69 实型变量实型变量 2 实型变量实型变量 - 单精度浮点型单精度浮点型 float a, b, c; - 双精度浮点型双精度浮点型 double x, y, z; 4字节存储 8字节存储 11/15/2020 70 实型数据的输入和输出实型数据的输入和输出 pri
39、ntf( ) float、double使用相同的格式控制说明使用相同的格式控制说明 %f:以小数形式输出浮点数,保留 六位小数 %e:以指数形式输出 VC+:1位整数.6位小数e3位指 数 3.140000e+000 TC: 1位整数.5位小数e2位指 数 3.14000e+00 11/15/2020 71 例例:实型数据的输出实型数据的输出 #include main() float f=123.45; double d=3.1415926; printf(“%f,%en”,f,f); printf(“%f,%en”,d,d); printf(“%5.3f,% 5.2f , %.2f n”,
40、d,d,d); 运行结果: 123.449997, 1.234500e+002 3.141593, 3.121593e+000 3.142, 3.14, 3.14 一共5位,小数3位,小 数点1位 X 11/15/2020 72 实型数据的输入实型数据的输入 scanf( ) float、double使用相同的格式控制说明使用相同的格式控制说明 %f 和和%e 相同相同 不能规定精度不能规定精度 float f; scanf(“%4.2f ”, 11/15/2020 73 基本数据类型基本数据类型字符型字符型 1 字符常量字符常量 a A + 字符常量只能包含一个字符字符常量只能包含一个字符,
41、 abc是非法的。是非法的。 字符的存储 内存中,每个字符占一个字节,存储该字符的ASCII码 字符 ASCII码 内存 A 65 0100 0001 a 97 0110 0001 字符的数字特征 字符可以当作整数用ASCII码 A+1=66= B 转义字符常量,又称反斜线字符(特定的字符),代 表一个特定的ASCII字符,这些字符必须在一对单引号内: n ddd xhh 0 (空) ddd:八进制数代表的字符 hh:十六进制数代表的字符 注意:转义字符常量只代表一个字符! 11/15/2020 74 常用的转义字符常量的含义常用的转义字符常量的含义 字符形式 意义 a 响铃 n 回车换行(回
42、到第2行第一个位置) t 横向跳格(8或4个)!根据前面为参考 r 回车(回到本行第一个位置) b 退格 f 换页(没有变化) 0 空字符 反斜杠 ” 单引号 双引号 xhh 1到2位16进制所表示的字符 ddd ? 1到3位8进制所表示的字符 问号字符 11/15/2020 75 典型试题典型试题1 1 1下面四个选项中,合法的字符常量是: A “B” B 101 C 68 D D 2下面四个选项中,正确的字符常量是: A 084 B x43 C ab D 0 11/15/2020 76 典型试题典型试题2 3 已知大写字母A的ASCII码值是65, 小写字母a的ASCII码是97,则用八
43、进制表示的字符常量102是 A 字符A B 字符a C 字符c D 字符B (102) 8=82+2=66 ASCII码值是 66 11/15/2020 77 字符变量字符变量 char c, d; c=2; d=#; 或或 c=A; d=65; int i; i=65; 或或 i=A; 整型变量和字符变量的定义和赋 值可以互换(ASII码范围)。 11/15/2020 78 字符型数据的输入和输出字符型数据的输入和输出 scanf( )和和printf( ) %c char ch; scanf ( “%c”, printf ( “%c”, ch); getchar( )和和putchar( ) char ch; ch=getchar( ); putchar(ch); 11/15/2020 79 例例1:字符的输入、输出:字符的输入、输出 #include main() char ch1,ch2,ch3; scanf(“%c%c%c”, printf(“%c%c%c%c%c”, ch1,#,ch2,#,ch3);