第2章C语言程序设计基础
答案第二章 C语言程序设计的初步知识

第二章 C语言程序设计的初步知识一、选择题1.在C 语言中,下列类型属于构造类型的是 D 。
(0级)A)整型B)字符型C)实型D)数组类型2.在C 语言中,下列类型属于构造类型的是D 。
(0级)A)空类型B)字符型C)实型D)共用体类型3.在C 语言中,下列类型属于构造类型的是 D 。
(0级)A)整型B)指针类型C)实型D)结构体类型4.在C 语言中,下列类型属于基本类型的是 A 。
(0级)A)整型、实型、字符型B)空类型、枚举型C)结构体类型、实型D)数组类型、实型5.下列类型属于基本类型的是 C 。
(0级)A)结构体类型和整型B)结构体类型、数组、指针、空类型C)实型D)空类型和枚举类型6.下列字符串属于标识符的是 A 。
(0级)A)INT B)5_student C)2ong D)!DF7.下列字符串属于标识符的是 A 。
(0级)A)_WL B)3_3333 C)int D)LINE 38.下列字符串不属于标识符的是 D 。
(0级)A)sum B)average C).day_night D)M.D.JOHN9.下列字符串不属于标识符的是 D 。
(0级)A)total B)lutos_1_2_3 C)_night D)$ 12310.下列字符串不属于标识符的是D 。
(0级)A)_above B)all C)_end D)# dfg11.C语言中不能用来表示整常数的进制是 D 。
(0级)A)十进制B)十六进制C)八进制D)二进制12.C语言中能用来表示整常数的进制是 A 。
(0级)A)十进制、八进制、十六进制B)十二进制、十进制C)六进制、八进制D)二进制、十进制13.在C语言中,回车换行符是 A 。
(0级)A)\n B)\t C)\v D)\b14.在C语言中,退格符是 D 。
(0级)A)\n B)\t C)\v D)\b15.在C语言中,反斜杠符是 D 。
(0级)A)\n B)\t C)\v D)\ \16.在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII 码 A 。
C语言基础知识第二章概述

2019/3/14
C语言程序设计教程
第2章 C语言的基本数据类型与表达式
12
例如:字符A的ASCII码为: 65D(十进制)=41H(十六进制)=101Q(八 进制) ∴字符A可以表示为‘A’、’\x41’、’\101’。 2、分类: char 和 unsigned char; 3、值域: 每个字符型数据在内存中占一个字节;包括 ASCII字符表中的所有字符(可显示字符和非显 示字符)。
– 例如: 某计算机允许表示具有七位有效数字的十进制数,计算 333.3333+0.0002222222,若计算时没有位数的限制,则结果应当 是3.3335222222。 计算机由于字长位数的限制,只能表示七位有 效数字,于是只得将小数点后的七个数字全部删掉,而仅保留其 整数部分,得到和值333.3335。 (4)根据实际要求选择单精度或双精度。
2019/3/14
C语言程序设计教程
13
• 注意: • • • • (1)字符常量只能用单引号括起来,不能用双引号 或其他括号。 (2)字符常量只能是单个字符, 不能是字符串。 ‘ab’ 不是字符常量 (3)字符可以是字符集中任意字符,但数字被定义为 字符型之后就以ASCII码值参与数值运算。 如,‘6’和6是不同的,‘6’是字符常量,而6是整型 常量。
注意
‘a’与“a”的区别。
2019/3/14
C语言程序设计教程
15
• 字符常量与字符串常量的区别:
– ⑴ 定界符不同。 – 字符常量使用单引号,而字符串常量使用双引号。 – ⑵ 长度不同。 – 字符常量的长度固定为1,而字符串常量的长度可以是0,也可以 是某个整数。 – ⑶ 存储要求不同。 – 字符常量存储的是字符的ASCII码值,而字符串常量除了要存储 字符串常量的有效字符外,还要存储一个字符串结束标志‘\0’。
C语言程序设计教案第2章4 -6

(3)关系或逻辑表达式的值只有两个:真(非零)和假(零)。
(4)分析复杂表达式时,应先找优先级别最高的运算符,同时,注意”()”的优先级别很高,它往往可以改变表达式的运算次序。通过分析复杂表达的运算逻辑,推导出短路原则。
(5)编写一个输出复杂表达式的值及每个参与变量的值的程序。预估程序结果,然后与实验结果对比,从而深入理解短路原则及表达式的运算规律。
【问题】ppt中的程序有哪些错误
【实践】基于强制类型范围缩放数据处理技术的成绩分档程序的设计与实现
授课阶段总结
本节内容以实践为主,以当前所学的知识点,学生可以组织起一个逻辑上相对完整的程序,所以本小节以程序设计思维的训练为重点内容。首先,引导学生设计一个可以进行人机交互的界面—编写一个计算器的菜单,通过选择进行计算,把第一章的计算语句copy到适当的位置(增量开发)。然后,运用本章的知识点,设计具有一定的容错能力和设计技巧(强制类型转换与归一化处理)的学生成绩分档程序。两个例子都用到了本章所介绍的if和switch嵌套句型。
2.4 应用实例(1学时)
教学内容
(1)计算器程序设计。
(2)强制类型转换。首先讲解数据类型之间的转换规则,然后讲解转换的方法及用途。
(3)学生成绩档案管理—成绩等级划分。
讲解思路
(1)本小节主讲设计思想,所以每一个例题都必须有流程图来表达设计思想,通过讲解流程图帮学生梳理思路。然后,把对编程实现时用到技巧及难点进行讲解。
(2)掌握switch多路选择语句,在解决问题时,能够正确选择switch和if语句。
(3)掌握选择语句的流程图的算法描述方法
重点:if选择结构和switch选择结构。
第二章C语言基础-语句-编写简单的C程序

C 语 言 程 序 设 计
putchar函数
调用格式为: putchar(表达式); 功能:将指定表达式的值所对应的字符输出到标准输出设备上
参数 字符变量 字符常量 数值常量 转义序列 函数 putchar(c) putchar(‘#') putchar('5') putchar('\n') 效果 显示字符变量 c 的内容 显示字符# 显示字符# 显示数字 5 在光标位置插入回车
关键是如何分离个位、十位、百位数字? 关键是如何分离个位、十位、百位数字?
ቤተ መጻሕፍቲ ባይዱ
153 153 % 10 = 3 153 / 100 = 1 153 - 1*100 = 53 53 / 10 = 5
C 语 言 程 序 设 计
#include <stdio.h> main() { int x, b0, b1, b2, sum; x = 153; b2 = x / 100; /*计算百位数字 计算百位数字*/ 计算百位数字 b1 = (x - b2 * 100) / 10; /*计算十位数字 计算十位数字*/ 计算十位数字 b0 = x % 10; /*计算个位数字 计算个位数字*/ 计算个位数字 sum = b2 + b1 + b0; printf("b2=%d, b1=%d, b0=%d, sum=%d\n", b2, b1, b0, sum); }
C 语 言 程 序 设 计
任务三
#include <stdio.h> void main() { int n1; char n2; float n3; scanf("%d%c%f",&n1,&n2,&n3); printf("n1=%f,n2=%c,n3=%f\n",n1,n2); } (1)键盘如何输入? )键盘如何输入? 如何输入? (2)修改 )修改scanf(“%d%f%c”,&n1,&n3,&n2);如何输入? “ ” 如何输入
c语言《程序设计基础》课后习题参考答案与解析

c语言《程序设计基础》课后习题参考答案与解析《程序设计基础》习题参考答案与部分解析第1章 C 语言概述一、填空a) C源程序的基本单位是函数。
b) 一个C程序中至少应包括一个 main函数。
c) 在C语言中,输出操作是有库函数 printf( )函数完成。
二、单选题1、A2、C3、B解析:第1题答案:A 。
因为一个C程序总是从main函数开始执行的,而不论main函数在程序中的位置。
且到main函数结束。
第2题答案:C 。
因为 main函数没有限制必须位于程序的最前面。
C程序书写自由,一行内可写几个语句。
在对一个C 程序进行编译的过程中,无法检查注释当中的拼写错误。
不过C语言本身并没有输入输出语句,输入输出是由函数完成的。
第3题答案:B。
因为一个C语言程序是由若干个函数组成的。
但至少包含一个main 函数,且main函数的位置不限。
三、编程题1、编写一个输出“Welcome to C!”信息的小程序。
解:程序如下#include “stdio.h”main( ){1printf(“Welcome to C!”) ;}2、已知三角形的三边长分别为3,4,5,试用海轮公式编程求其面积。
海伦公式为:S?= ,其中s= (a+b+s)/2 ;解:程序如下#include “math.h”#include “stdio.h”main( ){int a , b , c ; /* a ,b,c 3个整型变量表示三角形的3条边。
*/float s ,s1 ; /* s1作为面积变量,s 作为中间变量是都应该是实形*/a=3 ; b= 4; c=5 ;s= (a+b+c)/2.0 ;s1= sqrt(s*(s-a)*(s-b)*(s-c)); /* sqrt函数完成开平方根功能。
*/printf(“area=%f\n”,s1);}2第2章程序设计基础知识一、单选题1、C2、A3、C4、A5、C6、C7、D8、C9、D 10、A 11、D 12、A 13、C 14、C 15、B A 16、B 17 D解析:1. 答案:C。
第二章 C语言程序设计

例:整型数据的溢出。 main( ) { int a, b; a=32767; b=a+1;
printf(“%d,%d”,a,b);
}
返回
整型变量的定义
[unsigned][short][long] int <变量名1>, <变量名2>,……<变量名n>;
表达式1,表达式2……表达式n
说明:
1、逗号运算符的结合性为从左到右
2、所有运算符中,逗号运算符的优先级最低
练习题
执行下列语句后,a和b的值 分别为
int a, b; a=1+(b=2+7%-4-’A’)
练习题
执行下列语句后,a和b的值 分别为 -59,-60
int a, b; a=1+(b=2+7%-4-’A’)
练习题
一个C语言的源程序中,
(A)必须有一个主函数
。
(B)可以有多个主函数
(C)必须有主函数和其他函数
(D)可以没有主函数
练习题
1、编程实现,输入一个数,输出其 绝对值。 2、编程实现,输入a,b,c三个数, 输出其中最大者。
题 1、
Void Main()
{
int a, result; /*定义变量*/ scanf(“please input a number:%d”, &a); if (a>=0) result=a; else result=-a;
3、类型转换
例:
void main( )
{ float x, y;
c语言程序设计基础教程课后答案

c语言程序设计基础教程课后答案C语言程序设计基础教程课后答案第一章:C语言概述1. 简述C语言的特点。
- C语言是一种结构化编程语言,具有高效、灵活、功能强大等特点。
- 它支持多种编程范式,如过程式编程、结构化编程、面向对象编程等。
- C语言具有较低的抽象级别,接近硬件,因此执行效率较高。
2. C语言的发展历史。
- C语言在1972年由丹尼斯·里奇(Dennis Ritchie)在贝尔实验室开发。
- 它最初是作为UNIX操作系统的系统编程语言而设计的。
第二章:C语言环境和基本语法1. 如何设置C语言的开发环境?- 选择一个C语言编译器,如GCC、MSVC等。
- 安装编译器并配置环境变量,以便在命令行中直接调用编译器。
2. C语言的基本语法结构是什么?- C语言的基本结构包括预处理指令、函数定义、变量声明和语句。
第三章:数据类型、运算符和表达式1. C语言中的基本数据类型有哪些?- 整型(int)、字符型(char)、浮点型(float和double)等。
2. 运算符的分类及其用法。
- 算术运算符:+、-、*、/、%等。
- 赋值运算符:=、+=、-=等。
- 比较运算符:==、!=、>、<等。
- 逻辑运算符:&&、||、!等。
第四章:控制语句1. 条件语句的用法。
- if语句用于基于条件执行代码块。
- switch语句用于多条件选择。
2. 循环语句的用法。
- while循环用于在满足条件时重复执行代码块。
- for循环用于已知迭代次数的循环。
- do-while循环先执行代码块再判断条件。
第五章:数组和字符串1. 数组的基本概念和使用。
- 数组是相同数据类型的元素集合,存储在连续的内存位置。
- 声明数组:int arr[10]; 表示一个包含10个整数的数组。
2. 字符串的表示和操作。
- 在C语言中,字符串是以空字符('\0')结尾的字符数组。
- 使用标准库函数如strcpy、strlen等操作字符串。
第2章 C语言程序设计基础PPT课件

例2 求1+2+3+4+…+10。
假设用存储单元S存放累加和,具体算法如下:
➢步骤1: 把0存入S单元中;
➢步骤2: 把1加到S中(即取S中的内容0加1后得到
1,再把1送回S单元中);
➢步骤3: 把2加到S中; ➢步骤4: 把3加到S中;
这算法虽然正确,但不科学, 不实用。可以增加一个计数器
…… ➢步骤10: ➢步骤11: ➢步骤12:
''' 和 '\' 是非法字符常量 2、转义字符: 1)字母表示:'\n' '\t' '\\' '\'' …… 2)八进制数字表示(\ddd):'\123' '\3' 3)十六进制数字表示(\xdd): '\xFF' '\x5' 说明:字符可用对应的编码(整数)表示
如:用 065 53 0x35 表示 '5' C中经常将字符常量等价为整数参与运算:
xmax n+1n
输出max
16
2.1 算法与程序设计步骤
一、算法及其表示
(3) N-S图(盒图)
N-S图(盒图)的特点:N-S图完全去掉了流程线,算法 的所有处理步骤都写在一个大矩形框内(表示简单、符 合结构化思想)(象堆积木)
17
2.1 算法与程序设计步骤
二、程序设计步骤
根据实际问题设计应用程序大致要经过四个步骤: 见P18
注意:数据类型的位数和取值范围与所运行环境有很 大关系(本书以Windows下的Visual C++ 6.0为准 )
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
算法
著名计算机科学家沃思提出一个公式: 数据结构 + 算法 = 程序
➢ 对数据的描述:数据结构(data structure) ➢ 对操作的描述:算法(algorithm)
算法: 为解决一个具体问题而采取的确定的有限的操作步 骤,仅指计算机能执行的算法
4
算法的特性
有穷性
在合理的时间内完成
确定性(无歧义)
16
N-S图(盒图)
将 求10个任意整数中的最 大数 用N-S图进行描述。
输入max 1n n<10 输入x T x>max? F xmax n+1n 输出max
17
程序设计步骤
根据实际问题设计应用程序大致要经过以下四个步骤: ➢分析问题 ➢画流程图或N-S图 ➢编写程序 ➢运行并调试程序
采用自顶向下、逐步细化的结构化分析的方法
运算符(Operator)
34种,+
分隔符(Separator)
空格、回车/换行、逗号等
其它符号
大花括号“{”和“}”
程序
语句
标识符 关键字 常量、变量 运算符 分隔符
……
23
常量
常量是在程序中保持不变的量 常量区分为不同类型:整型、实型、字符型和字符串型 如 12、3.2、'a'、 "hello"
/*输入两个整型数x和y*/ /*调用函数Add计算x和y相加之和*/ /*输出x和y相加之和*/
22
关C键语字(言Keyw中ord)的基本元素
又称为保留字
数据类型修饰符int,控制语句 return等
标识符(Identifier)
系统预定义标识符, main,printf 等
用户自定义标识符,Add, x, y 等
如果x≥0,则输出Yes;如果x≤0,则输出No;
可行性(有效性)
能有效执行 负数开平方
有足够的情报
没有输入或有多个输入
有一个或多个输出
5
算法的表示方法
自然语言描述 流程图
在1966年,Bohra 与 Jacopini 提出
N-S图
1973年,美国学者I.Nassi 和 B.Shneiderman 提出
起止框
处理框
输入/输出框
流程线
判断框
连接点
9
顺序结构流程图表示方法 A
B
10
选择结构流程图表示方法
Y
N
条件P
A
B
如果 成绩<60 那么
通知补考
否则
告知你考试成绩
11
循环结构流程图表示方法
条假件P 假
真
A
A
假
条件P
真
当型循环
直到型循环
12
流程图
将例2 求1+2+3+4+…+10 用流程图进行描述。
伪代码
6
自然语言描述
例1 有两个存储单元a和b,要求将它们的值互换。
分析:按存储器的性质,如果将单元a的值直接送到单元b 中,那么就会覆盖掉b原来的内容,因此,需要借助一个 临时单元c来交换。 具体算法如下:
➢步骤1: 将单元a的值送给单元c; ➢步骤2: 将单元b的值送给单元a; ➢步骤3: 将单元c的值送给单元b。
24
整型常量
整型常量有三种不同的表示形式:
十进制:无前缀,无后缀 八进制:在八进制数值前面加前缀“0”,其数码
取值为0~7。 例如:023,0457,01324等 十六进制:前缀为“0X”或“0x”,其数码取值为 0~9、A~F或a~f。例如:0X2A,0XA0, 0XFFFF等
*/ int Add(int a, int b) {
return (a + b); }
/*主函数*/ main() {
int x, y, sum = 0;
程序注释
并列的两个函数 其中一个是 程序的入口
printf("Input two integers:"); scanf("%d%d", &x, &y); sum = Add(x, y); printf("sum = %d\n", sum); }
构造类型 指针类型
整型 int (含枚举类型) 单精度 float
实型(浮点型) 双精度 double 字符型 char 数组 结构体 共用体
空类型 void
21
一个简单的C程序例子 #include <stdio.h>
/*函数功能:计算两个整数相加之和 入口参数:整型数据a和b 返回值: 整型数a和b之和
18
例3 求三个数中的最大数。
19
数据类型(Data Type)
数据为什么要区分类型? 不同类型的数据代表不同的
数据表示形式 合法的取值范围 占用内存空间大小 可参与的运算种类
20
数据类型
在C语言中,数据类型一般包括基本数据类型、构造数据类型、 指针类型和空类型等四大类。
数据类型
基本类型
7
自然语言描述
例2 求1+2+3+4+…+10。 ➢步骤1: 将0送到S中; ➢步骤2: 将1送到n中; ➢步骤3: 把n的值加到S中; ➢步骤4: n增1; ➢步骤5: 若n≤10则转回步骤3,否则执行步骤6; ➢步骤6: 输出S的值。
8
流程图 流程图通常采用一些几何图形来代表各种类型的操作, 在图形内标明文字或符号来表示操作的内容,并用箭头 来表示操作的顺序。 用流程图表示算法,直观形象,易于理解,但由于流程 图允许使用箭头随意跳转,对表示算法的层次结构非常 不利,且流程图占的篇幅较大,作图工作量也很大。
0 => s 1 => n
s+n => s
n+1 => n
n ≤ 10 否
输出s
是
13
N-S图(盒图)
针对流程图存在的缺点,I. Nassi和B. Shneiderman提出 了结构化程序设计的流程图,称为N-S图,更能体现结构 化程序设计的思想。推荐使用N-S图。 N-S图完全去掉了流程线,算法的所有处理步骤都写在一 个大矩形框内(表示简单、符合结构化思想)(象堆积 木) 结构化程序设计的三种基本结构
——顺序结构、选择结构、循环结构
14
N-S图(盒图)
结构化程序设计的三种基本结构具有以下共同的特点: ➢只有一个入口; ➢只有一个出口; ➢结构内的每一部分都有机会被执行到; ➢结构内不存在“死循环”。
15
N-S图(盒图)
将例2 求1+2+3+4+…+10 用N-S图进行描述。
0s 1n n≤10 n+ss n+1n 输出s
第2章 C语言程序设计基础
回顾
C语言的特点 C程序的编译和运行过程 编译器将源程序转换成机器能理解的程序 连接器用于连接相关的目标文件以生成可执
行程序
2
教学目标
算法的表示方法 理解变量和常量的含义 熟悉基本数据类型 ——int、char、float 和
double 掌握算术运算符和赋值运算符的用法 理解表达式 理解类型转换