第2章 C程序设计基础
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’。
第02章C语言程序设计基础
序 设
个什么样子,它的结构特点是什么,这是我们进行C语言程序设
计 计必须遵循的规范。
教 程
最后,我们应该掌握的是如何来编写和调试一个C语言程序,
第 这是我们每一个C语言程序员所必须具备的基本功。
二
版 学习目标
了解程序设计语言的发展及其特点;
第
二 掌握机器语言、汇编语言和高级语言的差异;
章 了解C语言
面向对象
第 二 章
程
C如P:U指1100令面0010系向00用如00统机00助00A,器记D由的D程符加减0语序、号客对对言A设1描,观象象序计述B世是间列关的界数通构键指可据过成是令以和发的定系分方送指义统类法和令类,的接码,对封受组并象装消成由是息类类发派的生生实联对例系象
序
设
计
基
11
础
C 语
版
Dennis.M.Ritchie
C标准
第
标准C: K&R合著《The C
二
Programming Language》
章
ANSI C: 1983年
程
87 ANSI C: 1987年
序 设
1990年国际标准的ANSI C
计
基
14
础
C
语 C语言版本
言
程 序
C语言有不同的版本,常用的编译软件有Microsoft
3
教材、参考书与课时安排
教材 C语言程序设计教程(第2版) 王敬华编著 清华大 学出版社
参考书 C语言程序设计教程(第2版)习题解答与实验指 导 王敬华编著 清华大学出版社 C语言程序设计(第2版)谭浩强 高等教育出版 社 C高级实用程序设计 王士元 清华大学出版社
《C语言程序设计》(软件技术11级)(第2章)
2.1基本字符、标识符和关键字
2.1.3 关键字(保留字) 为系统预定义的标识符,在C语言中有特殊的 含义
void int return float double char long short unsigned if else switch case default break
do while continue for
2.3数据的格式化输出和输入
输入输出函数库: stdio.h printf() scanf() getchar() putchar() gets() puts()
2.3数据的格式化输出和输入
2.3.1数据的格式化输出
学一学
printf( 格式控制,【输出列表】) ;
格式控制是用双引号括起来的字符串,分两种情况: 1.字符串只含有普通字符或转义字符,则不包含输出 列表。(练一练:\*‟\n‟为转义字符,表示换行*\)
结构类型 联合类型 枚举类型
struct union enum
空类型(无值类型) void
2.2数据类型及常数、变量
1.不同类型的数据在内存中占据不同长度的存 储区(字节),且采用不同的表示方式。 2.一种数据类型对应着一个取值的范围 3.一种数据类型对应着一组允许的操作 4.构造类型数据是由基本类型按照一定的规律 构造出来的。 5.C语言的数据又可分为常量和变量,他们都 分别属于上述类型中得一种。
iSum=iPrize1+iPrize2;
printf("该同学的奖学金为:%d\n",iSum);
return 0;
}
2.3数据的格式化输出和输入
第二章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语言程序设计基础教程课后答案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等操作字符串。
《程序设计基础》PPT课件
• 数值型 货币型比较 • 日期型和日期时间型比较 • 逻辑型比较 • 子串包含测试 • 例题2.9
设置字符的排序次序
• Machine 大写小于小写 • Pinyin 大写大于小写 • Stroke 按照笔画算 • Set collate to ”<pinyin|machine|stroke>”
例题2.1 ?'计算机','123',[数据],['ABC'"abc"] ??"学习",'字符串'," ",[表示方法]
4.日期型常量(Data)
• 日期型数据是存储和表示年、月、日等日 期的数据类型,其内部存储格式为 “yyyy/mm/dd”,其中yyyy代表年份, mm代表月份,dd代表日子,共占8个字符。 年份的取值范围为:100至9999;月份的取 值范围为:1至12;日子的取值范围随年份 和月份的不同而不同,最大范围为:1至31。
STORE <表达式> TO <变量名表> 其中变量名表是用逗号“,”分开的多个变量名。与 等号赋值命令不同的是一条store命令可以同时给多个 变量赋相同的值。
• 功能注释见书本
例如为a,b,c赋相同的值34,需输入命令: store 34 to a,b,c
数组
• 数组是内存中连续的一片区域,它由一系 列元素组成,每个数组元素可通过数组名 及相应的下表来访问
数据类型及其存储方式
6.日期时间型(DateTime) 日期时间型数据用于存储日期和时间值。日期时间型数据存储格式为 “yyyymmdd hhmmss”,其中yyyy表示年,mm(第一个)表示月,dd表示 日,hh表示小时,mm(第二个)表示分钟,ss表示秒(必须为整数)。日 期时间型可以表示一个日期值,也可以表示一个时间值,或者表示一个日 期时间值。日期时间型数据与日期型数据一样在内存中用8个字节存储。 7.双精度型(Double) 双精度型数据是指精度要求较高的数据,或真正的浮点数。双精度型数 据占用8个字节存储空间,取值范围为0.904 656 458 412 47×10 324~ ±0.988 456 743 115×10307。 8.整数型(Integer) 整数型数据用于存取不包含小数部分的数值。整数型数值不用转换成 ASCII字符来存 储,而数值型数据是要进行二进制转换的。整数型占用4个 字节,取值范围为 2 147 483 647~2 147 483 646。
第02章 C语言程序设计基础
带有三个参数, 分隔。 表 带有三个参数,以“,”分隔。&表 分隔 示取变量的地址。 示取变量的地址。
运行结果:the sum of two integer is 30 运行结果:
2.4 C语言程序的基本结构
C语言程序的函数由两部分构成:一部分定义变量(变量 语言程序的函数由两部分构成:一部分定义变量( 代表数据),称为声明部分;另一部分代表操作, ),称为声明部分 代表数据),称为声明部分;另一部分代表操作,由C语句 构成,称为执行部分。 构成,称为执行部分。 程序中,要求函数的声明部分在前面 执行在后面, 声明部分在前面, 在C程序中,要求函数的声明部分在前面,执行在后面, 再次强调: 再次强调:在C语言程 它们的顺序不能颠倒,也不能交叉。但在C++程序中, C++程序中 它们的顺序不能颠倒,也不能交叉。但在C++程序中,声明 序中, 序中,变量必须先定 部分和执行部分可以相互交叉,没有严格的界限,当然执行 部分和执行部分可以相互交叉,没有严格的界限, 后使用, 义,后使用,顺序不 部分中所使用的变量只要在其之前进行定义即可。 部分中所使用的变量只要在其之前进行定义即可。
{
}
主函数名 函数开始 main是主函数名 一个C 是主函数名, main是主函数名,一个C语言程序有且仅有 回车换行符 内部函数名 一个main函数。 程序执行时就是从main main函数 一个main函数。C程序执行时就是从main函 函数体 main函 printf ("Hello C Language!\n"); Language!\ 函数调用 数开始,具体讲就是从“ 开始 开始, 数开始,具体讲就是从“{”开始,到“}”结 结 语句结束标志 束。 参数 函数结束
第二章 C#程序设计基础
2.3.2 赋值运算符
复合赋值 运算符 += -= */ /= %/ &= 类别 描述 二元 二元 二元 二元 二元 二元 var1 += var2等价于var1 = var1 + var2,var1 被赋予var1 与 var2的和 var1 -= var2等价于var1 = var1 - var2,var1 被赋予var1 与 var2的差 var1 *= var2等价于var1 = var1 * var2,var1 被赋予var1 与 var2的乘积 var1 /= var2等价于var1 = var1 / var2,var1 被赋予var1 与 var2相除所得的结果 var1 %= var2等价于var1 = var1 % var2,var1 被赋予var1 与 var2相除所得的余数 var1 &= var2等价于var1 = var1 & var2,var1 被赋予var1 与 var2进行“与”操作 的结果 var1 |= var2等价于var1 = var1 | var2,var1 被赋予var1 与 var2进行“或”操作 的结果 var1 ^= var2等价于var1 = var1 ^ var2,var1 被赋予var1 与 var2进行“异或”操 作的结果 var1 >>= var2等价于var1 = var1 >> var2,把var1的二进制值向右移动var2位,就 得到var1 的值 var1 <<= var2等价于var1 = var1 << var2,把var1的二进制值向左移动var2位,就 得到var1 的值
C#语言概述 语言概述
C#提供了两种注释的类型: 第一种是:单行注释,注释符号是“//”,例如: int a; //一个整型变量,存储整数
第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为准 )
c语言程序设计第二章课后参考答案[修改版]
第一篇:c语言程序设计第二章课后参考答案第二章:C程序的基本结构一、单项选择题1、以下不是C语言的特点的是________。
A)语言的表达能力强B)语言定义严格C)数据结构系统化D)控制流程结构化2、TC编译系统提供了对C程序的编辑、编译、连接和运行环境,以下可以不在该环境下进行的环节是________。
A)编辑和编译B)编译和连接C)连接和运行D)编辑和运行3、以下不是二进制代码文件是________。
A)标准库文件B)目标文件C)源程序文件D)可执行文件4、下面个选项组中,均属于C语言关键字的一组是________。
A)auto,enum,includeB)switch,typedef,continue C)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。
A)print B)I \am C)signed D)if _maf scanf 3mf ty_pr mx_2d mx_ a.f x1# aMb6 AMB A&B 5XY6、以下不属于流程控制语句的是_________。
A)表达式语句B)选择语句C)循环语句D)转移语句7、下面描述中,不正确的是________。
A)C语言的函数体由一系列语句和注释组成。
B)注释内容不能单独写在一行上。
C)C程序的函数说明部分包括对函数名、函数类型、形式参数等的定义和说明。
D)scanf和printf是标准库函数而不是输入和输出语句。
8、下面描述中,正确的是________。
A)主函数的花括号必须有,而子函数中的花括号是可有可无的。
B)一个C程序行只能写一个语句。
C)主函数是程序启动时的唯一入口。
D)函数体包含了函数说明部分。
二、填空题1、一个完整的C程序至少要有一个________函数。
(主函数)2、标准库函数不是C语言本身的组成部分,它是由__________提供的功能函数。
第2章 C++程序设计基础-Qt C++跨平台图形界面程序设计基础(第2版)-殷立峰-清华大学出版社
2.1.2 C++的标准化
ANSI:American National standards Institue 美国国家标准化协会 ISO:International Standards Organization 国际标准化组织
第一个标准草案:1994年,ANSI/ISO C++保持了Stroustrup最初定 义的功能,并添加新的内容。
16 area=length*width;
数据处理
17 cout<<"length="<<length<<",width="<<width
18
<<",area="<<area<<endl;
19 return 0;
输出计算结果
20}
华南理工大学计算机学院 周霭如 2012
例2-1 方法一,用结构化方法编程,求矩形的面积
标准C++:1998年公布ANSI/ISO C++标准。 之后:C++11、C++14、C++17标准
2.2 C++控制台应用程序
2.2.1 C++控制台程序举例 问题:输入矩形的长和宽,求其面积
数据描述: 长,宽,面积均用实型数表示
数据处理:
输入长、宽; 计算面积=长*宽; 输出长、宽、面积;
【例2-1】求解问题:计算矩形的面积,应用结构化程序设计方法。
9 int main()
10{
11 double length, width, area; 12 cout<<"Please input length :";
C语言程序设计答案——清华大学出版社(第二版)
5、编一程序,从键盘输入一个 5 位正整数,然后分别求出它的个位数、十位数、百位 数、千位数和万位数,并打印出这五位数字的和。如输入 12345,打印出 15(1+2+3+4+5=15)。
4* π *R*R*R
1、下列合法的字符常量是 D.'\n' 2、下列合法的字符串常量是 C."56" 3、合法的C语言标识符是B.sum 4、C语言程序的基本单位是C.函数 5、选出以下语句的输出结果printf("%d",strlen("\t\"\065\xff\n");A.6 6、在C语言中,要求运算数必须是整形的运算符是A.% 7、已知字母A的ASCII码为十进制 65,下面程序的输出是A.67,D
double a,b,max;
答案整理:林子雨 E-mail:ziyulin@ 主页:/linziyu 第 3 页/共 4 页
厦门大学本科生公共课 《C 程序设计基础》 第二版教材习题答案 第二章 C 语言基础
scanf("%lf%lf",&a,&b); max=a>b?a:b; printf("%lf\n",sqrt(max)); }
定义格式为:#define <常量名> <值常量> 变量的定义格式为: 数据类型 变量名 1,变量名 2,…,变量名 n; 或 数据类型 变量名 1=初值 1,变量名 2=初值 2,…,变量名 n=初值 n; 2、 变量的要素有哪些?请用一个例子说明? 名字、类型、值和地址 int a = 1;int 是类型,a 是名字,1 是值,地址是编译器给 a 变量分配的内存空间 3、 变量在整个程序中能有相同的值吗?为什么?请举例说明。 可以,因为变量的值可以被改变,但不是一定被改变。如果程序中没有其它不同的赋值, 变量将保持不变。 4、 为什么程序需要有短整型(short)和长整型(long)? 整型的值集理论上是所有整数,但由于受到计算机存储单元的限制,C 语言的整型只能 表示所有整数的一个有限子集,因此,整数有它的表示范围限制,且不同的 C 语言系统 可表示整数的范围可能不同。不同范围的整型数据所占有的内存空间大小不同。程序开 发人员通过选择能够满足范围要求的类型(short 或 long),可以减少数据存储空间。比 如,当短整型可以满足数据范围要求时,就没有必要选择需要更多存储空间的长整型。 5、 字符’8’和数字 8 有何不同? 字符’8’是字符型,数字 8 是整型 6、 C 语言有字符串变量吗? 没有 7、 C 语言中的运算符“/”和“%”有何区别?C 语言中除法运算符“/”与数学中的运算 符“÷”的用法和功能完全一样吗? “/”是除法,“%”是取余数,“/”与“÷”的用法和功能不完全一样,“÷”得到的是 两数相除后得到的真实值,“/”得到的是两数相除后取整的值。 8、 在 C 语言中,运算符“=”的功能是什么?能用它来判别两个量是否相等吗? “=”是赋值运算符,它将右侧表达式的值赋予左侧变量。不能判别两个量是否相等。 9、 双目运算符两边的操作数可以是不同的类型吗?如果可以,它们如何影响运算的结果? 可以,C 编译器会先对其中一些操作数进行隐式类型转换,使操作数类型一致后进行计 算。转换方向为:char,short->int->unsigned->long->double,float->double 10、描述你所学过的运算符的优先级。 () [] -> . 从左到右
《c语言程序设计基础》第二章
2.3.3 2.3.3 2.3.3 2.3.3
input x: 2.5 f(2.50)=0.4 input x: 0 f(0.00)=0.0
分 支 结 构
语 句
软件测试的基本思想
程序运行时为什么输入2.5和 两个数 两个数? 程序运行时为什么输入 和0两个数?
根据程序的逻辑结构和功能设计,选取一些有代表性 的测试用例!
常量:在程序运行过程中,其值不能被改变 常量
——一个确定的数值(3.14)、字符(‘a’)或字符串(“Hi”)
常 量 、 变 量 和 数 据 类 型
变量:在程序运行过程中,其值可以被改变 变量
——数学公式中的自变量、因变量(y=2x+1)
变量使用
C规定:变量必须先定义后使用 变量必须先定义后使用 定义方法:
C解决方案: 解决方案: 解决方案 1. scanf( )-格式化输入 2. if 结构的使用 3. printf( )进阶
2.3 计算分段函数
2.3.1 2.3.1 2.3.1 2.3.1 格式
scanf(格式控制,地址表列) (格式控制,地址表列)
功能
将用户从键盘输入的数据存放至变量所代表的内存 的地址
常 量 、 变 量 和 数 据 类 型
基本数据类型
整型:int-4字节, long( int)-8字节 字符型:char-1字节 实型:float-4字节, double-8字节
常量、 常量、变量都有对应的数据类型
2.2 华氏温度与摄氏温度相互转换
算术运算
算术表达式
用算术运算符 运算对象 算术运算符将运算对象 算术运算符 运算对象连接起来的符合C语言语法 规则的式子
格 式 化 输 入 函 数
程序设计基础(人民邮电出版社)答案第2章 数据表示及数据运算
1. 填空题⑴在C语言中,用“\”开头的字符序列称为转义字符。
转义字符“\n”的功能是____换行____;转义字符“\r”的功能是___ 回车_______。
⑵运算符“%”两侧运算对象的数据类型必须都是____整型_______;运算符“++”和“--”运算对象的数据类型必须是______变量______。
⑶表达式8/4*(int)2.5/(int)(1.25*(3.7+2.3))值的数据类型为___整型_________。
⑷表达式(3+10)/2的值为_______6___________。
⑸设x=2.5,a=7,y=4.7,则算术表达式x+a%3*(int)(x+y)%2/4的值是2.5 。
2. 选择题⑴下列4组选项中,均不是C语言关键字的选项是_____A__。
A. define IF typeB. getc char printfC. include case scanfD. while go pow⑵下列4组选项中,均是合法转义字符的选项是___A____。
A. ‘\”’‘\\’‘\n’B. ‘\’‘\017’‘\”’C. ‘\018’‘\f’‘xab’D. ‘\\0’‘\101’‘xlf’⑶已知字母‘b’的ASCII码值为98,如ch为字符型变量,则表达式ch=‘b’+‘5’-‘2’的值为___A____。
A. eB. dC. 102D. 100⑷以下表达式值为3的是____B___。
A. 16-13%10B. 2+3/2C. 14/3-2D. (2+6)/(12-9)⑸以下叙述不正确的是____D___。
A. 在C程序中,逗号运算符的优先级最低B. 在C程序中,MAX和max是两个不同的变量C. 若a和b类型相同,在计算了赋值表达式a=b后,b中的值将放入a中,而b中的值不变D. 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值⑹以下非法的赋值语句是 CA. n=(i=2,++i);B. j++; C). ++(i+1); D. x=j>0;⑺以下选项中合法的实型常数是 CA. 5E2.0B. E-3C. .2E0D. 1.3E⑻设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是 DA. 6.500000B. 6C. 5.500000D. 6.000000⑼与数学式子3*x n/(2x-1) 对应的C语言表达式是CA. 3*x^n(2*x-1)B. 3*x**n(2*x-1)C. 3*pow(x,n)*(1/(2*x-1))D. 3*pow(n,x)/(2*x-1)⑽已有定义:int x=3,y=4,z=5;,则表达式!(x+y)+z-1&&y+z/2的值是 DA. 6B. 0C. 2D. 1⑾若有定义:int a=8,b=5,c;,执行语句c=a/b+0.4;后,c的值为 BA. 1.4B. 1C. 2.0D. 2⑿若变量a是int类型,并执行了语句:a='A'+1.6;,则正确的叙述是 DA. a的值是字符CB. a的值是浮点型C. 不允许字符型和浮点型相加D. a的值是字符'A'的ASCII值加上1。
华南理工大学《C++程序设计基础》2-程序控制结构_课件PPT
2.1 选择控制 2.2 循环控制 2.3 判断表达式的使用 2.4 转向语句 小结
华南理工大学计算机学院 周霭如 2012
第2章 程序控制结构
语句是程序的基本语法成分。程序设计语言的语句按功能可以分成三类: ➢ 声明语句 指示编译器分配内存,或者提供程序连接信息 ➢ 操作语句 描述对数据的处理 ➢ 控制语句 用于控制程序的执行流程。 所有程序都只能包含三种控制结构:
: if ( b > a )
a3
max = b ; max
else max = a ;
cout << "max = " << max << endl;
:
b5
华南理工大学计算机学院 周霭如 2012
2.1.1 if 语句
2.1.1 if 语句
例:
: if ( b > a )
a3
max = b ; max
:
b3
华南理工大学计算机学院 周霭如 2012
2.1.1 if 语句
2.1.1 if 语句
例:
: max = a ;
a7
b3
if ( b > a) max = b ;
max 7
cout << "max = " << max << endl;
:
华南理工大学计算机学院 周霭如 2012
2.1.1 if 语句
P = 25
控制流图false NhomakorabeaS < 400?
true
P = 22.5
false
P = 20
华南理工大学计算机学院 周霭如 2012
第二章 c语言程序设计基础
c语言程序设计基础
【教学目标】 掌握C语言的数据类型、变量与常量的使用 掌握运算符、表达式的使用方法 掌握函数printf( )、scanf( )、putchar( )、 getchar()、gets( )、puts( )等的使用方法 能够编写程序解决简单的数学问题
【教学内容】
C语言的常量、变量、数据类型等概念 C语言的运算符、表达式 基本的输入、输出函数
1 00111001=57
进位自然丢失
例:10-67=? [+10]原=00001010 [+10]补=00001010 若结果为负,则是负
数的补码形式,若要
转换为原码,需要对 补码再求补,即可还 原为原码。
[-67]原=11000011
[-67]补=10111101 00001010 + 10111101 11000111
带符号纯小数,其原码表示即将小数点左边一位作为符号位。 例: X=+0.1011 [X]原=0.1011 X=-0.1011 [X]原=1.1011 采用原码表示,编码简单直观,与真值转换方便。但也存在
问题:
其一:零的表示不唯一,有二义性,给机器判零带来麻烦。 [+0]原=000…0 [-0]原=100…0
D: 不同类型的变量用不同的关键字定义
E: 类型与变量名之间至少空一格
2.1.2 常量、符号常量和变量
2)、变量的地址
编译系统会根据变量的类型自动为每一个变量
分配内存单元。
使用地址的方法:在变量名前加取地址符“&”。
例:printf(“Input number r”);
scanf(“%d”,&r);
2、变量 在程序运行过程中,其值可以被改变的量称为变量。
C程序设计教程第二版习题答案
C程序设计教程第二版习题答案第1章:C语言概述1. 简述C语言的特点。
- C语言是一种结构化编程语言,具有高效、灵活、功能强大等特点。
它支持多种编程范式,包括过程式、面向对象和泛型编程。
2. C语言的发展历史。
- C语言由丹尼斯·里奇在20世纪70年代初期开发,最初用于UNIX操作系统的编写。
随着UNIX的流行,C语言也逐渐普及。
第2章:C语言基础1. 变量声明的规则。
- 变量声明必须指定数据类型,变量名必须以字母或下划线开头,可以包含字母、数字和下划线,但数字不能作为变量名的首位。
2. 常量的使用。
- 常量是在程序执行过程中不能被修改的值,可以用#define预处理指令定义,或者直接使用字面量。
第3章:控制语句1. if语句的使用。
- if语句用于根据条件执行不同的代码块。
基本语法为:`if (条件) { 执行代码 }`。
2. switch语句的使用。
- switch语句用于根据变量的值执行不同的代码块。
基本语法为:`switch (变量) { case 值1: 执行代码1; break; ... }`。
第4章:循环语句1. for循环的使用。
- for循环用于重复执行一段代码直到满足特定条件。
基本语法为:`for (初始化; 条件; 增量/减量) { 执行代码 }`。
2. while循环的使用。
- while循环在条件为真时重复执行代码块。
基本语法为:`while (条件) { 执行代码 }`。
第5章:函数1. 函数的定义和调用。
- 函数是一段具有特定功能的代码块,可以被重复调用。
定义函数的基本语法为:`返回类型函数名(参数列表) { 函数体 }`。
调用函数时使用:`函数名(参数)`。
2. 函数的参数传递。
- 参数传递可以是值传递或引用传递。
值传递时,函数内部对参数的修改不会影响到外部变量的值;引用传递则相反。
第6章:数组1. 一维数组的声明和使用。
- 一维数组的声明语法为:`类型数组名[大小]`。
C语言程序设计第二章
2.2常量和变量
变量的类型
2.3 整型数据
2.3.1整型常量 整型常量即整常数。在C语言中,整型常量可以用十进制、八 进制、十六进制3种形式表示。 1.十进制整数 由0~9共10个数码组成。如5234,-78,0等。注意:5234不能 写成5,234。 2.八进制整数 八进制整数必须以数字o开头,组成八进制的数码为0~7。如 o123,o101,o645,o763等。 3.十六进制整数 十六进制整数以0x或0X开头(0为数字),组成十六进制的数码为 0~9,A~F(a~f)。如0x99A,0X97C,0x59ff等。
基本类型 实型 字符类型 (char) 枚举类型 (enum) 数组类型([]) 结构体类型 (struct) 共用体类型 (union) 文件类型 (FILE)
单精度型 (float) 双单精度型 (double)
符号长整型 (unsigned long)
构造类型
C语言提供的数据类型如右所 示:
2.3 整型数据
3.整型变量的定义 整型变量的定义的格式如下: 类型标识 变量名1,变量名2,变量名3…… 类型标识符可以是int、short、long、unsigned,或是它们的组合,例 如: int x,y; //指定变量x、y为整型变量 long c,d; //指定变量c、d为长整型变量 unsigned age,hight; //指定变量age,hight为无符号整型变量 变量的定义,一般放在一个函数开头的声明部分。 4.整型变量的赋值 可以将一个整型常量或整型变量赋值给整型变量,例如: int x=456;
2.4 实型数据
2.4.1实型常量 在C语言中,实型表示实数的集合,实型常量又称为实数。实 型常量只能用十进制形式表示,不能用八进制或十六进制形式表示。 实型常量有两种表示形式 1.十进制小数形式 十进制小数形式由数码0~ 9和小数点组成。如0.123,.123, 0.0,0.1,-267.8230,0.,.0等。 2.十进制指数形式 由十进制数码,“e”或“E”(代表×10)组成。如1e5, 139.5E2,-1.99e-3(代表1×105,139.5×102,-1.99×10-3)等。 格式如下: 小数或整数e(或E)+(或-)整数
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(3)函数调用语句 由函数名、实际参数加上分号组成,其一般形式为: 函数名(实际参数表); (4)流程控制语句 用于控制程序流程,以实现程序的各种结构方式。 (5)复合语句 把多条语句用{}括起来组成一条复合语句。 (6)空语句。 只有分号组成的语句。
四、标准库函数
标准库函数不是C语言本身的组成部分,它是由C编译系 统提供的一些非常有用的功能函数。 在C语言处理系统中,标准库函数存放在不同的头文件 (也称标题文件)中, 例如,输入/输出函数printf和scanf等就存放在标准输 入输出头文件stdio.h中; 求各种数学函数存放在标准输入输出头文件math. h中。 使用时只要把头文件包含在用户程序中,就可以直接调用 相应的库函数了。即在程序开始部分用如下形式: #include <头文件名> 或 #include "头文件名"
2.3.4符号常量
符号常量:是用标识符来表示一个数据;在程序中不能 给它重新赋值。 定义形式: #define 标识符 常量数据 例如: #define PI 3.14159 在程序预处理时,凡是出现标识符PI的地方都将用 数据3.14159来替换。 如: 2*2.3*PI 就等价于 2*2.3*3.14159。 注意:符号常量不是变量,它所代表的值不能再改 变。也就是说,在程序中,不能再用赋值语句对它重 新赋值。
反斜杠字符
单引号字符
8进制数表示的ASCII码对应的字符
\xhh
16进制数表示的ASCII码对应的字符
2.3.3字符串常量
1.字符串常量的概念和字符串长度 字符串常量是用一对双引号括起来的若干字符序列。 字符串中字符的个数称为字符串长度。长度为0的字符串 (即一个字符都没有的字符串)称为空串,表示为“ ” (一 对紧连的双引号)。 例如,“How do you do.”、“Good morning.”等,都 是字符串常量,其长度分别为14和13(空格也是一个字符)。 如果反斜杠和双引号作为字符串中的有效字符,则必须使用 转义字符。 例如: (1)C:\msdos\v6.22 → "C:\\msdos\\v6.22" (2)I say:"Goodbye!" → "I say:\"Goodbye!\"“
3. 运算符
C语言中含有相当丰富的运算符。运算符与变量、 函数一起组成表达式,表示各种运算功能。 运算符由一个或多个字符组成。如: +、-、*、/、%、=、<、>、<=、>=、!=、 ==、<<、>>、&、|、 &&、||、^、~、()、
[]、->、.、!、?、:、,等。
4.分隔符
在C语言中采用的分隔符有逗号和空格两种。 逗号主要用在类型说明和函数参数表中,分隔各个变 量。 空格多用于语句各单词之间,作间隔符。 在关键字和标识符之间必须要有一个或一个以上 的空格符作间隔,否则将会出现语法错误。 例如: 把int a;写成 inta; C编译器会把inta当成一个标识符处理,其结果 必然出错。
2 、C语言的数据类型
2.3 常量
常量是指在程序执行过程中,其值不能发生变化的量。 2.3.1 数值常量 数值常量分为整型常量和实型常量 一、整型常量 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以0x开头)。例如0x36。 整型常数的后缀 由于基本整型的长度位16位,因而能够表示的数的范围 是有限的(-32768—32767)。如果使用的数超过了这个 范围,就必须用长整型数来表示。长整型数是用后缀L或l来表 示的。例如156L(十进制),013L(八进制),0x12L (十六进制)。 无符号数用后缀u表示,如158u,0x48u,041u等。
2.字符串的存储 C语言规定:在存储字符串常量时,由系统在字符串的末 尾自动加一个‘\0‟作为字符串的结束标志。 注意:在源程序中书写字符串常量时,不必加结束字符‘\0‟, 否则画蛇添足。 如果有一个字符串为“CHINA”,则它在内存中的实际 存储如下所示:
C H I N A \0
最后一个字符'\0'是系统自动加上的,它占用6字节而 非5字节内存空间。
2.转义字符 C语言还允许使用一种特殊形式的字符常量,就是以 反斜杠“\ ”开头的转义字符。 注意:如果反斜杠、单引号或者双引号本身作为字符常量, 必须使用转义字符:‘\\’、‘\’‘、‘\”’。
功能 字符 形式 \n 换行 \t 横向跳 格 \b 退格 \r 回车
字符 形式 \\ \’
\ddd
功能
5.常量
C 语言中使用的常量可分为数字常量、字符常 量、字符串常量、符号常量、转义字符等多种。在 以后的章节中将专门给予介绍。
6.注释符
C 语言的注释符是以“/*”开头并以“*/”结尾的串。 在“/*”和“*/”之间的即为注释。
程序编译时,不对注释作任何处理。注释可出现在程序
中的任何位置。注释用来向用户提示或解释程序的意义。在 调试程序中对暂不使用的语句也可用注释符括起来,使翻译 跳过不作处理,待调试结束后再去掉注释符。
说明:
(1)在C语言中,大小写字母不等效。因此,a 和A,I和i,Sum和sum,分别是两个不同的标 识符。 (2)C程序中,标识符的使用很多,使用时要 注意语法规则。定义标识符时,一般应尽量做到见 名知义,以提高程序的可读性。 (3)建议变量名的长度不要超过8个字符。 (4)C语言规定,用户选取的标识符不能是C 语言规定的关键字。
3.整型变量的定义
一般形式: 类型说明符 变量名标识符,变量名标识符……; 例如: int a,b,c,d; unsigned long x,y; 注意: 允许在一个类型说明符后,说明多个相同类型的变量。变 量名之间用逗号分隔。类型说明符与变量名之间至少用一 个空格间隔。 最后一个变量名后必须以“;”结尾。 变量说明必须放在变量使用之前,一般放在函数体的开头 部分。
第2章 C程序设计基础
本章主要介绍C语言的基本字符集、词 汇、数据类型;基本数据类型的使用;数 据类型之间的转换;运算符、表达式、优 先级和结合性的概念;表达式的书写方法 和值的计算。
2.1 C语言语法基础
一、基本字符集
1、英文字母:大小写各26个,共计52个; 2、阿拉伯数:0~9共10个数字; 3、其他一些可打印(可以显示)的字符,如各种标 点符号、运算符号、括号等; 4、一些特殊字符,如空格符、换行符、制表符和转 义字符等。
2.3.2字符常量 1.字符常量 用一对单引号括起来的单个字符,称为字符常量。 例如,‘A’、‘1’、‘+’等。 字符常量的特点: 1.字符常量只能用单引号. 2.字符常量中的单引号只起定界作用并不表示字 符本身.单引号中的字符不能是单引号和反斜杠. 3.字符常量只能是单个字符,不能是字符串. 4.字符可以是字符集中任意字符.
字符常量与字符串常量的区别: (1)定界符不同:字符常量使用单引号,而字符 串常量使用双引号; (2)长度不同:字符常量的长度固定为 1,而字 符串常量的长度,可以是0,也可以是某个整数; ( 3 )字符常量可以赋值给字符变量 , 但字符串常 量不能赋值给字符变量; ( 4 )存储要求不同:字符常量存储的是字符的 ASCII码值,而字符串常量,除了要存储有效的字符 外,还要存储一个结束标志’\0’。
2.2 数据与数据类型
ቤተ መጻሕፍቲ ባይዱ1、 数据与类型
数据是程序处理的对象。C语言把程序能处理
的基本数据对象分成一些集合。属于同一集合的
数据对象具有同样性质:采用统一的书写形式, 在具体实现中采用同样的编码方式(按同样规则 对应到内部二进制编码,采用同样二进制编码位 数),对它们能做同样操作等等。语言中具有这
样性质的一个数据集合称为一个类型。
三、语 句
语句是组成程序的基本单位,它能完成特定操作, 语句的有机组合能实现指定的计算机处理功能。 C语言的语句分为: (1)表达式语句 由表达式加上分号“;”组成。其一般形式为: 表达式; 执行表达式语句就是计算表达式的值。 例: a+b; i++ (2)赋值语句 将表达式或变量的值赋值给一个变量。 例:a=b+c; m=5;
二、实型常量
实型常量即实数,在C语言中又称浮点数,其值有两 种表达形式: (1)小数形式。例如3.14、9.8。 (2)指数形式:<尾数>E(e)<整型指数>。 例如3.0E+5等。 注意,以下不是合法的实数: 12(无小数点),E3(E前无数字),-4(无E标志), 56.-E7(负号位置不对),8.9E(无阶码)。 ☆规范化的指数形式 :1.345e5 实型常量不分单、双精度,都按双精度型处理。
2.4.2 整型变量
1.分类 根据占用内存字节数的不同,整型变量又分为4类: (1)基本整型(类型关键字为int)。 (2)短整型(类型关键字为short [int])。 (3)长整型(类型关键字为long [int])。 (4)无符号整型。无符号型又分为无符号基本整型 (unsigned [int])、无符号短整型(unsigned short) 和无符号长整型(unsigned long)三种,只能用来存储无 符号整数。 2.占用内存字节数与值域 上述各类型整型变量占用的内存字节数,随系统而异。 在16位操作系统中,一般用2字节表示一个int型变量,且 long型(4字节)≥int型(2字节)≥short型(2字节)。
2、关键字(保留字)
关键字就是具有特定含义的标识符,用户不能用来作 自定义标识符。由ANSI标准推荐的关键字有32个,常 用的有: 与数据类型有关的: char int float double signed unsigned short long void struct union typedef enum sizeof 与存储类别有关的: auto extern register static 与程序控制结构有关的: do while for if else switch case default goto continue break return