第2章C程序设计初步4
C语言全国计算机二级等级考试教程第一二章(章节带习题)

2.2 标识符、常量和变量
2.2.3 符号常量
在C语言中,可以用一个符号名来代表一个常量,称为符号常
量。但是这个符号名必须在程序中用(#define)进行特别的“
指定"。 例2.2 计算圆面积和周长,此程序中将如何教大家使用符号常量。
#include “stdio.h” /*包含头文件*/
#define PI 3.14159 /*定义符号常量,符号常量名为PI,用PI来代表3.14159*/
main()
/*主函数,程序的入口*/
{double r,s,l;
/*声明部分,定义了3实型个变量*/
r
r=5.0;
/*给变量r赋值*/
函 s=PI*r*r;
数 体
l=2*PI*r;
/*计算圆的面积*/ /*计算圆的周长*/
s
printf(“s=%f,l=%f\n”,s,l/)*;分别圆的面积和周长*/
/*给变量b赋值*/
数 体
area=a*b;
/*将a*b的结果赋值给变量area*/
printf(“a=%f,b=%f,area=%f\n”,a,b,area/)*;分别输出矩形的两条边长和面积*/
1.2
}
3.6
a=1.200000,b=3.600000,area=4.320000
4.32
注意:
1. C程序由函数组成,一个程序必须有一个且只能有一个主函数(main),C程
a
b
1.5000002.500000 2.5000003.500000
a b
内存空间
2.在程序中,声明变量就是在计算机内存中申请了某个内存单元。对变量 进行赋值,实质上就是把数据存入该变量所代表的存储单元中。
答案第二章 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语言程序设计》第2章最简单的C程序设计PPT课件

p1=p0(1+r1) 一年期定期存款,一年后本息和为:
p2=p0(1+r2) 两次半年定期存款,一年后本息和为:
p3=p0+ (1r3)(+ 1r3) 22
C 程序设计
3.1顺序程序设计举例
➢算法:
输入p0,r1,r2,r3的值
计算p1=p0(1+r1)
➢ 序符中形pi多式=4处出0用现; 到的/*同常错一量误个。,常符不量号能时常给,量符能的号做值常到在量“其赋作一值用改*域全/ 改(在”本符例号中常为量 不主占函内数存)内,不只能是改一变个,也临不时能符再号被,赋值。
2020/7/30
12
C 程序设计
2.2.1 常量和变量
2. 变量:在程序运行期间,变量的值是可以改变的
3.1顺序程序设计举例
#include <stdio.h>
int main ( )
{
float f,c; 定义f和c为单精度浮点型变量
f=64.0; 指定f的值
c=(5.0/9)*(f-32); 计算c的值
printf("f=%f\nc=%f\n",f,c);
return 0;
输出f和c的值
}
C 程序设计
➢ 变量必须先定义,后使用 ➢ 定义变量时指定该变量的名字和类型 如:int a;
➢ 变量名和变量值是两个不同的概念
➢ 变量名实际上是以一个名字代表的一个存储地址
➢ 从变量中取值,实际上是通过变量名找到相应的内存地址,
从该存储单元中读取数据
变量名
a
3
变量值
存储单元
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语言程序设计

例:整型数据的溢出。 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程序设计

所谓常量,指程序执行中其值不变的量。C语言中,常 量分为普通常量和符号常量。 普通常量分为数值常量,如128,835.6;字符常量用单引 号,如’a’,S’;字符串常量用双引号表示,如 “Hello”,”world”;
2.变量
其值可以改变的量称为变量。一个变量应该有一个 名字,在内存中占据一定的存储单元。变量定义必须放在 变量使用之前。一般放在函数体的开头部分。变量名和变 量值是两个不同的概念。
能力目标
• 正确定义常量与变量 • 能根据要求正确输入数
据、输出结果 • 分析问题并根据要求正
确编写简单程序
【学习提示】第1章中,我们已经初步了解C语言程序设计的有关概念,对C 语言程序的总体结构有了一定认识,同时也分析了几个简单的C语言程序。
可以看出,采用程序设计语言解决实际问题时,需要考虑:使用哪些类型的 数据?如何处理?
2.2 C语言程序中数据类型及常量与变量
• 数据类型
程序、算法处理的对象是数据。数据以某种特定的形式 存在。
数据的类型简称数据类型。例如,整型数据、实型数据、 整型数组类型、字符数组类型。
不同类型数据,具有不同的精度,因此占用的计算机 内存大小也不同,如整型数据占2个字节内存,单精度实型 占4个字节,双精度实型占8个字节内存。正确选择数据类 型非常重要,数据类型选择不当,可能造成计算中的错误, 如数据溢出等。正确数据类型总是和具体的常量或变量联 系在一起的。
双精度型
类型标识符 char int long float double
占内存字节 1 2 4 4 8
取值范围 ASCII码表内字符(0-127)
-32 768~32 767 - 2147438648~2147438648
第2章 C语言程序设计初步

② 4 bytes 数据 x补码= 4294967295-x+1 (- 34)10补码: (4294967295-34+1)10 =(4294967262)10 =(ffffffdf)16
=(1111 1111 1111 1111 1111 1111 1101 1110)2
指针类 空类型
数组类 结构体 struct 共用体 union 枚举类 enum
void
2.2.1 常量与变量 1.常量——在程序运行中其值不能被改变的量
常量区分为不同类型。如 123,456: 整型常量 ’a’,’A’,’b’,’1’,’0’: 字符常量 123.0, 3.5 : 实型常量 “123”,“A”:字符串常量
第2章 C语言程序设计初步
2.1 数据和数据类型
数据是程序加工、处理的对象,也是加工的结果。 数据类型是程序语言中具有同样的性质的数据集合.
基本类型
整型 int (integer的缩写) 字符型 char (character的缩写)
单精度型 float 实型(浮点型)
双精度型 double
数据类型 构造类
2.符号常量——用一个标识符代表一个常量,提高程序 的可修改性和灵活性。
定义格式: #define 标识符 常量
例3_1 已知圆半径r,求圆面 积和周长的值。
#define π 3.14159 main( ) {int area,perimeter; int r; r=3; area=π*r*r; perimeter=2*π*r; printf(“area=%d\n”,area); printf(“perimeter =%d\n”, perimeter); }
第二章 C程序设计的初步知识PPT课件

2.2.3 符号常量
➢为了减少具体常量的重复出现,以避免写错 和使程序易读,常将一个常用的常量用一个名 字代替-符号常量。 ➢ 一般用 #define命令来定义符号常量,且往 往置于程序的开头。
0~ 216-1 0~ 232-1
表中:215值为32768; 231值为2147483648 216值为65536; 232值为4294967296
2.3.3 整数在内存中的存储形式
内存的最小存储单位为“位(bite)” 8个二进制位组成一个“字节(byte)” 若干个字节组成一个“字(word)”
C程序的书写规则
➢函数在程序中的位置没有限制,但程序运行 总是从主函数开始直到主函数结束。
➢每条语句以分号(;)结束,一行内可写一 条或多条语句,一条语句也可以写在一行或 多行。
➢注释可以出现在任何地方。
➢大小写敏感。
➢建议每行一条语句,不同层次的语句按缩进 格式书写。
2.2 常量、变量和标识符
2.2.4 变量
其值可以改变的量称为变量。
(1)大小写敏感。 (2)不能与保留字重名。 (3)使用前,必须先定义,指明为何种类型,
然后才能在程序中使用它。
#include <stdio.h> int k=1,n=0; //定义整型变量k、n void main( ) {float x, y; //定义浮点型变量x、y
C语言的标识符分为三类:
➢ 关键字:规定了一批标识符,在程序中有固定 含义,不能作它用。如if 、int等。(见附录1)
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
求值规则: 从左至右依次计算各表达式的值
优先级
最低 结合性: 自左至右 表达式的值
最后一个表达式的值。
8
例 a y=a=4,b=5,a+b; y=(a=4,b=5,a+b); y=(a=4,b=5),a+b; y=a=(4,b=5),a+b; 4 4 4 5 b 5 5 5 5 y 4 9 5 5 逗号表达式 9 9 9 10
C语言程序设计---------Programming in C
第2章 C程序设计初步(4)
运城学院公共计算机教学部 Public Computer Teaching Department
上机实验问题小结 1、学会找错。当编译出现错误时,会根据提 示信息找出相应错误。 2、“—main already defined….” 3、 int a=5,b=1,c; 定义了几个变量? 4、int a;float b;相应的输入输出语句? 5、 定义符号常量 #define PI 3.14159 注意:PI两边有空格;PI后没有=号
2
上机实验问题小结 6、注意定义语句的位置: int a=1; a=10; float b; b=2.0; 7、注意语句的功能:从键盘输入一个字符 scanf(“%c”,&a); a=getchar();
3
要闻回顾 int a=7,b=5;float c=2; a/b; a/c; a%c; a%b;
9
第二章 2.4
七、求字节运算符 sizeof
单目运算符 运算对象:变量名或数据类型标识符 运算结果:该变量或该数据类型的长度
#include<stdio.h> void main(void) { int a=5; printf("%d %d",sizeof(a),sizeof("a")); }
25
The End
26
}
21
5、求方程ax2+bx+c=0的实数根。a,b,c由键盘输 入.(a≠0且b2-4ac>0)
22
/*功能:设计一个顺序结构程序,求方程的根。*/ #include <stdio.h> #include <math.h> void main() {float a,b,c,disc,x1,x2; printf("Input a, b, c: "); scanf("%f%f%f",&a,&b,&c); /*输入方程的 三个系数的值*/ disc=b*b-4*a*c; /*求判别式的值赋给disc*/ x1=(-b+sqrt(disc))/(2*a); x2=(-b-sqrt(disc))/(2*a); printf("\nx1=%6.2f\nx2=%6.2f\n",x1,x2 );
说明数据 输入数据 加工数据 输出数据
16
2. 字母大小写转换(必记程序方法) 。 编程实现小写字母转换大利用这一特点 实现大小写字母的转换。
#include "stdio.h" void main() { char ch; printf("请输入小写字母:"); ch=getchar(); ch=ch-32; putchar(ch); }
19
4、 输入任意三个整数,输出它们的和及平均值。
20
/*功能:设计一个顺序结构程序,求三个整数的和及平均值。*/ #include <stdio.h> void main() {int n1,n2,n3,sum; float aver; printf("Please input three numbers:"); scanf("%d%d%d",&n1,&n2,&n3);/*输入三个整数*/ sum=n1+n2+n3; /*求累计和*/ aver=sum/3.0; /*求平均值*/ printf("sum=%d,aver=%7.2f\n",sum,aver);
4
要闻回顾
int a,b; a=2; b=a++; b=++a; b=a--; b=--a; 假设a=2,b=3,c=1; a*=b+c;a+=a*=a; a= =b>=c; a<b>c
表达式a>b?a!=b+c:a==b-c的结果是?
5
要闻回顾
scanf(“%d%d”,&a,&b);如何输入? scanf(“%d,%d”,&a,&b);如何输入? scanf(“a=%d,%d”,&a,&b);如何输入? 一般情况下,我们应该采用哪一种?
6
要闻回顾
scanf ("%c%c%c", &ch1, &ch2, &ch3); 要输入:abc 不能输入:abc 注意数值型数据与char型数据的混合输入
scanf ("%d%d %c ", &m, &n, &ch);
正确输入: 12a
7
六、逗号运算符与逗号表达式
形式: 表达式1,表达式2,…,表达式n
结果:1
14
3、强制转换
形式:
(类型名)(表达式)
int a=2, b=5; (float)b/a (float)(b/a) 2.5 2.0
15
1. 编程实现交换两个变量的值(必记程序方法)
#include<stdio.h> void main(void) {int a,b,t; printf("请输入两个整数:"); scanf("%d%d",&a,&b); printf("交换前:a=%d,b=%d\n",a,b); t=a; a=b; b=t; printf("交换后:a=%d,b=%d\n",a,b); }
输出结果: 42
10
数据类型转换
C语言允许整型、实型、字符型数据进行混合运算。 不同类型的数据进行混合运算时,要考虑的问题有:
(1)运算符的优先级别;
(2)运算符的结合方向; (3)数据类型转换。
11
算术表达式中的运算转换(“就长不就短”) 转换规则
double long unsigned float
int
char, short
12
2、赋值转换(“就左不就右”)
在赋值时,将赋值符右边值的类型转换成 与其左边变量类型一致的类型。
几种情况: (1) 实型 整型(字符型) 取整数部分,去掉小数部分 (2) 整型、字符型 实型 补足有效位
13
#include<stdio.h> void main(void) { int a; float b; b=1.567; a=b; printf("%d",a); }
17
3. 输入一个华氏温度,输出对应的摄氏温度。转换公式为 c= (F-32). 5 9 思考: 需要用到的数据及类型 数学模型 输出的内容
18
源程序: #include "stdio.h" void main() { float c,f; printf("请输入华氏温度:"); scanf("%f",&f); c=5.0/9*(f-32); printf("%.1f\n",c); }
23
}
7、从键盘输入一个三位整数,将这个数逆序 输出,例如输入123,输出321。
24
#include "stdio.h" void main( ) { int x,y,g,s,b; printf("请输入一个3位整数: "); scanf("%d",&x); b=x/100; s=x/10%10; g=x%10; y=g*100+s*10+b; printf("逆序后输出是%d\n",y); }