C语言程序设计第二章

合集下载

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,include B)switch,typedef,continueC)signed,union,scanf D)if,struct,type5、下面四组字符串中,都可以用作C语言标识符的是________。

A)print B)I \am C)signed D)if_maf scanf 3mf ty_prmx_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语言本身的组成部分,它是由__________提供的功能函数。

(编译系统)3、C语言是以________为基本单位、整个程序由________组成。

C语言程序设计教案第2章4 -6

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

C语言程序设计(谭浩强版)第二章

C语言程序设计(谭浩强版)第二章
奇妙的输出结果。并且,处理出错的方法
不应是中断程序的执行,而应是返回一个
表示错误或错误性质的值,以便在更高的
抽象层次上进行处理。
算法设计的原则
4.高效率与低存储量需求
通常,效率指的是算法执行时间; 存储量指的是算法执行过程中所需 的最大存储空间, 两者都与问题的规模有关。
算法设计的原则
算法的时间复杂度
第二章 程序的灵魂——算法
2.1 算法的概念 2.2 算法的简单举例
2.3 算法的特性 2.4 怎样表示一个算法 2.5 结构化程序设计方法
算法的概念
计算机应用: 提取数学模型—设计算法— 编程—测试—应用
程序设计=数据结构+算法
数据结构:对数据的描述 算法:对操作的描述 除此之外程序设计还包括:程序设计方法, 和程序设计语言
怎样表示一个算法
例4的伪代码表示法如下 开始 读入整数n 置sum的初值为0 置k的初值为1 执行下面的操作: 如果k为奇数,置item=1/k 如果k为偶数,置item=-1/k sum=sum+item 直到k>n 打印sum的值 结束
算法设计的原则
算法设计的原则
设计算法时,通常应考虑达到以下目标: 1.正确性 2.可读性 3.健壮性 4.高效率与低存储量需求
从算法中选取一种对于所研究的问题 来说是 基本操作 的原操作,以该基 本操作 在算法中重复执行的次数 作 为算法运行时间的衡量准则。
结构化程序设计方法
采用结构化算法写成的计算机程序是结构 化程序。要编写出结构化程序,经常采用 的方法是结构化程序设计方法。这种方法 的基本思路是: 把给定的问题按层次(纵方向)、分阶段 (横方向)分解为一系列易于编程解决的 小问题,然后对应着这些分解的小问题, 设计结构化的算法,最后采用语言将算法 描述出来。这样一种程序设计方法就是结 构化程序设计方法。

c语言与程序设计-第2章课后习题参考答案

c语言与程序设计-第2章课后习题参考答案

2.1 下列哪些是词法记号?关键字(是)注释空白符八进制常量(是)三字符序列字符串常量(是)括号(是)2.2 C编译器可将下列每一个源字符串分解为哪些记号?(不必考虑记号组合是否合法)(1)x+++y x, ++, +, y(2)-0xabL -, 0xabL(3) 2.89E+12L 2.89E+12L(4)"String+\"FOO\"" " String+ \"FOO\""(5)x**2 x, *, *, 2(6)"X??/" "X??/"(7)a?b a, ?, b(8)x--+=y x, --, +=, y(9)intx=+10 intx, =, +, 10(10)"String""FOO" "String", "FOO"(这道题当时改的时候有几个小题改得有错误,注意!)2.3 下列哪些不是标识符,为什么?标识符由字母、数字和下划线组成,但首字符必须是字母或下划线。

4th 不是,以数字开头;sizeof 不是(标准C的关键字)_limit 是_is2 是xYshould 是x*y 不是,* 非法o_no_o_no 是temp-2 不是,- 非法isn't 不是,' 非法enum 不是(标准C的关键字。

注:关键字也称为保留字,是被系统赋予特定含义并有专门用途的标识符。

关键字不能作为普通标识符,但可以作为宏名。

所有预处理均发生在识别这些关键字之前。

)2.4 在下列表示中,哪些是合法常数,哪些是非法常数?对于合法常数,指出其类型;对于非法常数,说明其错误原因。

2L 合法,long长整型''' 不合法,单引号组中的单引号前需要转义字符.12 合法,double双精度浮点型0x1ag 不合法,g不是16进制数中的符号,也不表示任何类型33333 合法,int整形"a" 合法,字符串常量"" 合法,字符串常量0.L 合法,long double长双精度浮点型E20 不合法,缺少尾数部分0377UL 合法,unsigned long无符号长整型'\18' 不合法,存在非8进制位'\0xa' 不合法,不符合十六进制字符码表示规则\xhh0x9cfU 合法,unsigned int无符号整形'\45' 合法,char字符型1.E-5 合法,double双精度浮点型'\0' 合法,char字符型3.F 合法,float浮点型"3'4"" 不合法,缺少转义符'"' 合法,char字符型(P35,双引号作为字符常量时既可用图形符号也可用转义序列表示)'\a' 合法,char字符型2.6 以下的变量声明语句中有什么错误?(1)int a; b = 5; 第一个分号改为逗号int a, b=5;(2)doubel h; 关键字错误double h;(3)int x = 2.3; 类型错误float x = 2.3;(4)const long y; 需要赋初值const long y = 0;(5)float a = 2.5*g; g未定义变量int g = 1; float a = 2.5*g;(6)int a = b = 2; b未定义变量int a = 2, b = 2;2.7 设变量说明为:int a = 1, b = 2, c = 3, d;double x = 2.0; y = 7.7;请给出下列表达式的值。

《C语言程序设计》(软件技术11级)(第2章)

《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语言程序设计教程第2章程序流程

C语言程序设计教程第2章程序流程
画出
流程图
算法
确定
程序结构
变量类型
程序语句
(7)调试
调试
C语言程序设计
第二章 程序设计和程序结构
良好的程序编写风格会大大缩 短调试过程,附录4介绍了C语言程 序的一般书写风格,附录11介绍了 一些常见的错误。
C语言程序设计
第二章 程序设计和程序结构
2.1.2 算法
在实际的编程过程中要注意:
1、避免拿起题目就开始写程序的 2、应该先设计出合适的算法
第二章 程序设计和程序结构
本章概述
2.3程序结构 2.1程序设计与算法 2.4流程图及程序例子 2.2流程图
C语言程序设计
第二章 程序设计和程序结构
本章概述
• 本章主要介绍了C语言的程序结构、 流程图的绘制和程序设计的过程。 • 学习目标: • 1、理解程序的开发、设计过程 • 2、掌握C语言程序结构
C语言程序设计
第二章 程序设计和程序结构
其中最后一行的“Press any key to
continue”是VC6.0自动添加在每个
程序运行结果后面的一句提示信息,它
表示当程序执行结束时,操作者可以按
任意键返回到编辑界面。在后面的程序 运行结果中,将不再给出这一信息。
C语言程序设计
第二章 程序设计和程序结构
scanf("%d",&num1);
printf("Input the 2nd integer number: "); scanf("%d",&num2); sum=num1+num2; printf("sum=%d\n",sum); }
C语言程序设计

第二章 C语言程序设计

第二章 C语言程序设计
有符号 (signed) 整型变量 无符号 (unsigned) 基本整型(int) 短整型(short int) 长整型(long int)
例:整型数据的溢出。 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语言程序设计实训教程第2章 基础实验

C语言程序设计实训教程第2章  基础实验

19
(2)编写程序求出任一输入字符的 ASCII码。 提示:从键盘输入一个字符赋给字符变量,以 整型格式输出该变量。 (3)编写程序,由键盘任意输入 3个 1位整数 (第一个整数不为 0),将它们按输入顺序组合为 一个 3位数输出,如输入 2,5,8,则输出为258。 提示:输入 a,b,c3个整数,组合整数为 d =a﹡100 +b﹡10 +c。
(3)写一个函数,用“冒泡法”对输入的 10 个数字由小到大顺序排列,并输出。 提示: ①排序的函数名为 Sort。 ②排序前后的输入输出都应在主函数中完成。 ③使用数组作为函数参数。 ④使用“冒泡法”排序。
67
(4)写一函数,使给定的一个二维数组(5 ×5)转置,即行列互换。 提示: ①使用 5 ×5的二维数组存放数据。 ②矩阵转置的函数名为 Turn。 ③转置前后的输入输出都应在主函数中完成。 ④使用数组作为函数参数。
20
2.3
数据的输入和输出
1)实验目的 ①熟悉顺序结构的程序设计方法。 ②熟练使用 C 的赋值语句和各种表达式。 ③熟练掌握各种数据的输入、输出方法,能正 确使用各种格式转换符。
21
2)实验内容 程序验证性实验
22
23
24
25
程序填空性实验 程序功能:可以计算两个整数的商和余数。
26
程序设计性实验 (1)编写程序由键盘输入任意一个数字字符 (0 ~ 9),将其转换为数字输出。 提示:将该字符和“0”字符相减(字符的 ASCII码值相减)即得到数字。 (2)输入三角形三边长 a,b,c,求三角形 周长 l和面积 s。用 scanf()函数输入数据,printf ()函数输出计算结果,输出时要求有文字说明。
2)实验内容 程序验证性实验
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

常量
【例2.1】 三种进制表示方法的转换。 main() { int x=1246,y=01246,z=0x1246; printf(″%d,%d,%d\n″,x,y,z); printf(″%o,%o,%o\n″,x,y,z);
printf(″%x,%x,%x\n″,x,y,z);
} 运行结果: 1246, 678, 4e, 2a6, 1246
/* %d:以十进制格式 符输出*/ /* %o:以八进制格式 符输出*/ /* %x:以十六进制格 式符输出*/
常量
2. 2. 2 实型常量 在C语言中,把带小数的数值称为实数或浮点数。C语言实型常 量只使用十进制数。有以下两种形式:
1.十进制数形式
它是由正负号、整数部分、小数点、小数部分组成, 如:3.14159,-7.2,8.9等都是十进制形式。 注意: 2.指数形式 (1)字母e或E之前(即尾数部分)必须有数字。如:e-3,e5 它是由正负号、整数部分、小数点、小数部分和字母E或e后面 是不合法的。 带正负号的整数组成。如:十进制数180000.0=(1.8×) (2)e或E后面的指数部分必须是整数。 用指数法可以表示为1.8e5,其中:1.8称为尾数,5称为指数。 如:9.8e3.1是不合法的。 0.00123用指数法可以表示为1.23E-3。 (3)实型常量的后缀,用F(或f)表示单精度;用后缀L(或l) 表示双精度型。 如:1.2345e-3f,表示单精度数;2.11e5L,表示双精度数。
整数的取值范围。取值范围是-2147483648~+2147483647
C语言的数据类型
2.1.3 printf函数输出语句初步 以上不同类型的数据输出时需要使用Printf函数语句,Printf 函数是一个标准的格式输出函数。一般格式为: Printf(“控制格式”,输出参数1,输出参数2···输出参 数n); 作用是在屏幕上输出引号内的信息或按控制格式所规定的格式 输出数据。 为将要显示的数据指定需要输出的格式,需要用到以下不同的 转换字符。具体含义如下: ·%d 表示数据按十进制整型数输出; ·%f 表示数据按十进制带小数点的形式输出; ·%o 表示数据按十进制八进制整型数输出; ·%x 表示数据按十进制十六进制整型数输出; ·%c 表示数据按字符型数输出; ·%u 表示数据按十进制无符号整型数输出;
2 2 2
4 4 4 4 8 0
同int 同unsigned int 同short int
(- 2147483648~2147483647) 同long int (0~4294967295)
无 值
C语言的数据类型
十进制有符号整数(16位)的取值范围是-32768~+32767;十进 制无符号整数的取值范围是0~65535。当十进制整数值超出这个 范围,会出现溢出错误。C语言提供了一种用长整型的方法来扩大
常量
2.2.3 字符型常量
字符型常量是由一对单引号括起来的单个字符,在内存中占1个 字节。
例如: ′A′,′b′,′2′,′%′,′;′等都是有效的字符型常量。 一个字符型常量的值是该字符集中对应的ASCII编码值。 例如,字符常量′0′~′9′的ASCII编码值是48~57。显然 ′0′与 数字0是不同的。可以参见附录Ⅰ,这是初学者容易混淆的 一点。 C语言中还允许用一种特殊形式的字符常量,即以反斜杠字符 ′\′开头的字符序列。常用的转义字符见表2-2。
short int unsigned short int signed short int
long int singned long int unsigned long int float double void
短整型 无符号短整型 有符号短整型
长整型 有符号长整型 无符号长整型 浮点(单精度型) 双精度型 空值型
unsigned
char signed char
无符号字符型
有符号字符型
1
1
0~255
27 ~ 27 1
C语言的数据类型
类型标识符 int unsigned int signed int 名 整型 无符号整型 有符号整型 字 长度(字 节) 2 2 2 取值范围 (-32768~32767) (0~65535) 同int
第二章 数据类型、表达式及其运算
本章要点:
■数据类型及定义方法 ■不同类型的运算符及表达式 ■指针变量的定义和基本运算
C语言的数据类型
2.1 C语言的数据类型
2.1.1 C语言的数据类型分类 任何程序都涉及到待处理的数据,数据可以是常量和变量。经常用到 各种类型的数据,如图2-1所示: 短整型(short int ) 整型 整 型 (int) 长整型(long int ) 基本类型 字符型 (char) 实型(浮点型) 单精度(float) 双精度(double) 枚举类型(enum) 数组类型 构造类型 结构体类型 (struct) 共用体类型(union) 指针类型
常量
2.2 常量
C语言中的数据有常量和变量之分。常量又称常数,是指在程序 运行中,其值不能被改变的量。常量可分为不同的类型。常用的有: 整型常量、实型常量、字符常量、字符串常量和符号常量。 2.2.1 整型常量 整型常量是由一个或多个数字组成,可以有正、负号,但不能 有小数点。整型常量有三种表示方法: (1)十进制整数:取值范围:0~9。如1236,-234,0。 (2)八进制整数:以0开头的数是八进制数,取值范围:0~7。 如: 011表示八进制数的(11)8。 (3)十六进制整数:以0x开头的数是十六进制数,取值范围: 0~9,A~F或a~f。如:0x1F表示十六进制数的(1F)16 ,(十进制 数为31)。
空类型(void)
图2-1数据类型分类
C语言的数据类型
其中,基本类型是C语言系统本身提供的,结构比较简单。导出 类型是由基本数据类型构造而成。指针类型是一种重要的数据类型, 可以表示复杂的数据结构,使用起来非常灵活,但是比较难以理解 和掌握。 2.1.2 C语言数据类型的取值范围 不同的数据类型有不同的取值范围,在内存中占用不同的存储空 间,表2-1是C语言的基本数据类型所对应的字长和取值范围。 表2-1 C语言的基本数据类型 类型标识符 char 名 字 字符型 长度(字节) 1 取值范围 ASCII字符代码
相关文档
最新文档