第2章 基本c语言-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’。

第二章C语言基础-语句-编写简单的C程序

第二章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语言-2

C语言-2
数据类型及其表示(实型)
2.实型变量
2127 ≈1038
0 1111111 27-1=127 名称
0 11111111111111111111111 1-2-23 ≈1 说明方法 有效位
存储字节 表示范围
单精度 4 -1038 -- 1038 float a; 7 双精度 8 -10308 -- 10308 double a; 16 长双精度 16 -104932 - 104932 long double a; 19
+, -
3.3 算术运算与赋值运算(自加自减运算)
三、自加自减运算 ++(加1) --(减1) 仅对整型、指针型变量运算. k++,--j ++5, × (4*a)-× ++i i++ --i i- i的值先加1,然后用新值参加运算 i的值先参加运算,然后i的值再加1 i的值先减1,然后用新值参加运算 i的值先参加运算,然后i的值再减1 b= 10 a= 7 b= 14 a= 7 b= 8 a= 3
指针 结构 联合 ...

整型 实型 字符型
5。可访问物理地址,进行位操作 6。C语言目标程序质量高,运行速度快 (比汇编低10%) 7。可移植性好,具有结构化控制语句 8。具有预处理功能 9。语法限制不严,程序设计自由度大
第二章 C语言概述
2.2 C程序的基本结构 程序1: main() /*主函数 */ {printf(“This is a C program\n”);} /*输出字串 */
3.2 基本数据类型及其表示(实型) 三、实型数据及其表示
1.实型 常量
1.小数形式 (至少有一个小数点和一个数字) 0.12,.12,12.0,12.

C语言入门学习-C第2章_算法

C语言入门学习-C第2章_算法

C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 13
2.4.6 用计算机语言表示算法
• 概念:用计算机实现算法。计算机是无法 识别流程图的。只有用计算机语言编写的 程序才能被计算机执行。因此在用流程图 或伪代码描述出一个算法后,还要将它转 换成计算机语言程序。
• 特点:用计算机语言表示算法必须严格遵 循所用的语言的语法规则。
• 用处:要完成一件工作,包括设计算法和 实现算法两个部分。设计算法的目的是为 了实现算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 14
写出了C程序,仍然只是描述了算法 ,并未实现算法。只有运行程序才是实 现算法。应该说,用计算机语言表示的 算法是计算机能够执行的算法。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 15
• 确定性:算法中的每一个步骤都应当是确 定的。
• 有零个或多个输入:输入是指在执行算法 时需要从外界取得必要的信息。
• 有一个或多个输出:算法的目的是为了求 解,“解” 就是输出。
• 有效性:算法中的每一个步骤都应当能有 效地执行,并得到确定的结果 。
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 4
美国国家标准化协会ANSI(American National Standard Institute)规定了一些常用的流程图符 号:
起止框
判断框
处理框
输入/输出框
注释框
流向线
连接点
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 8
2.4.3 三种基本结构的流程图 三种基本结构的图示:
顺序结构
C程序设计(第三版) 江苏大学 计算机科学与通信工程学院 2

C语言--2.顺序结构例题.总结及练习

C语言--2.顺序结构例题.总结及练习

C语⾔--2.顺序结构例题.总结及练习C语⾔—2.顺序结构序号:第2章顺序结构流程及应⽤——知识⼩结例题Ex201⽤编程的形式打印学⽣⼊学的姓名,性别,年龄,学号和⼊学成绩/***************************************************问题2.2(第25页):学⽣⼊学数据保存知识点说明:1)printf函数:⽤于屏幕输出信息;2)字符串:⽤双引号作定界符的⼀串字符;3)\n:转义字符(参考第24页表2-3),换⾏符;4)格式化输出:(格式控制,输出项列表)- %d 输出项以⼗进制整数格式输出;- 要点:格式项要与输出项⼀⼀对应****************************************************/ #include "stdio.h"void main(){int iAge=20,iNum=201; /*变量定义及初始化*/char chSex='m'; /*f:female(⼥);m:male(男)*/float fScore,fMoney;fScore=580.5; /*变量赋值*/printf("Tony's personal information \n"); /*屏幕输出:Tony's personal information,然后换⾏*/printf("Name:Tony\n");printf("ID:%d\n",iNum); /*屏幕格式化输出:ID:201*/printf("Age:%d\nSex:%c\nScore:%f\n",iAge,chSex,fScore); /*屏幕格式化输出,年龄的信息*/ getch();}Ex202转义字符输出演⽰/***************************************************问题2.3(第26页):转义字符输出知识点说明:1)转义字符:第24页表2-3列出各种转义字符的说明;2)\t:后续输出的内容从下⼀个制表位开始;3)\n:后续输出的内容从下⼀⾏开始(换⾏)****************************************************/#include "stdio.h"void main(){char ch1,ch2,ch3;ch1='n'; /*字符变量赋值,单字符数据⽤单引号作定界符*/ch2='e';ch3='\167'; /*⼋进制数167代表的字符w*/printf("%c%c%c\n",ch1,ch2,ch3); /*以字符格式输出*/printf("%c\t%c\t%c\n",ch1,ch2,ch3);/*应⽤转义字符\t*/printf("%c\n%c\n%c\n",ch1,ch2,ch3);/*应⽤转义字符\n*/getch();}Ex203计算tom上半年与下半年奖学⾦之和/***************************************************问题2.4(第27页):格式化输⼊知识点说明:1)scanf( )函数:⽤于接收键盘输⼊数据,(格式控制,输⼊项地址列表)- 格式控制,控制输⼊项的格式;- 输⼊项地址列表,指定输⼊的内容存放到何处;- 输⼊数据时,数据项之间,通过按空格键或回车键来分隔2)&:地址运算符****************************************************/#include "stdio.h"void main(){int iPrize1,iPrize2,iSum;printf("Please input two prizes:");scanf("%d%d",&iPrize1,&iPrize2); /*格式输⼊两项数据*/ iSum=iPrize1+iPrize2;printf("Tom's prize is %d",iSum);getch();}Ex204/***************************************************问题2.5(第28页):单字符输⼊输出知识点说明:1)getchar( )函数:⽤于接收键盘输⼊的⼀个字符;2)putchar(ch)函数:⽤于显⽰输出⼀个字符;****************************************************/#include "stdio.h"void main(){char ch;printf("从键盘输⼊⼀个⼩写字母");ch=getchar(); /*从键盘接收⼀个⼩写字母*/ch=ch-32; /*⼩写字母转换为⼤写字母*/putchar(ch); /*输出⼤写字母*/getch();}Ex205输⼊⼀个数,求该数个位,⼗位,百位上的数之和/***************************************************问题2.6(第31页):3位数,数位求和知识点说明:1)% 求模(求余)运算,两整数相除,求余数2)/ 除法运算,整数相除,结果为整数,实数相除,结果为double型数举例:1231)123%10 123除以10的余数为3(个位);2)123/10 123除以10商为12;3)123/10%10 12除以10的余数为2(⼗位);4)123/100 123除以100商为1(百位)****************************************************/#include "stdio.h"void main(){ int iNum;int i1,i2,i3,iSum;printf("please input a integer(100-999):");scanf("%d",&iNum);i1=iNum%10; /*求个位数*/i2=iNum/10%10; /*求⼗位数*/i3=iNum/100; /*求百位数*/iSum=i1+i2+i3;printf("The sum is: %d",iSum);getch();}Ex206/***************************************************问题2.7(第32页):计算球体体积知识点说明:1)define 符号常量定义2)float 浮点型,⽤于存实数数据****************************************************/#include "stdio.h"#define PAI 3.1415926 /*定义符号常量PAI*/void main(){float fRadius,fVolume; /*定义浮点变量*/printf("please input the ball's radius:");scanf("%f",&fRadius); /*输⼊⼀个浮点格式的数*/fVolume=(float)4/3*PAI*fRadius*fRadius*fRadius; /*将整数4强制转换为浮点型数4.0*/ printf("The ball's volume: %f",fV olume);getch();}Ex207⾃增⾃减运算符的运⽤/***************************************************问题2.8(第33页):⾃增⾃减运算知识点说明:1)iY=iX++*4:相当于iY=iX*4;iX=iX+1;2)iY=++iX*4;相当于iX=iX+1;iY=iX*4;3)⾃增⾃减运算****************************************************/#include "stdio.h"void main(){ int iX,iY;iX=2;iY=iX++*4; /*先做*运算,后做=运算,再做++运算*/printf("iX=%d,iY=%d\n",iX,iY);iX=2;iY=iX--*4;printf("iX=%d,iY=%d\n",iX,iY);iX=2;iY=++iX*4; /*先做++运算,后做*运算,再做=运算*/printf("iX=%d,iY=%d\n",iX,iY);iX=2;iY=--iX*4;printf("iX=%d,iY=%d\n",iX,iY);getch();}Ex208函数法F(X)=3*x^3+2*x^2+x+1/***************************************************问题2.9(第34页):求函数值知识点说明:1)数学多项式的表达:⽤算术表达式2)运算符的结合性:同优先级的运算符,必须按结合性顺序运算例:表达式3*iX*iX*iX+2*iX*iX+iX+1按运算优先级和结合性可以写成:(((((3*iX)*iX)*iX)+((2*iX)*iX))+iX)+1 ****************************************************/#include "stdio.h"void main(){ int iX,iY;printf("请输⼊⾃变量值:");scanf("%d",&iX);iY=3*iX*iX*iX+2*iX*iX+iX+1; /*⽤算术表达式表⽰函数中的多项式*/printf("函数值是:%d",iY);getch();}Ex209赋值运算符和赋值表达式⽤法演⽰/***************************************************问题2.10(第36页):赋值运算符和赋值表达式知识点说明:1)要注意赋值运算符的结合性:从右到左结合;例:1)iY=iX=2*iA+6;按运算优先级和结合性可以写成:iY=(iX=(2*iA+6));2)iC=iB=iA=4; 可以写成:iC=(iB=(iA=4));注:()也是运算符,⽽且其优先级最⾼,所以运算时要“先算括号内的,再算括号外的”****************************************************/#include "stdio.h"void main(){ int iA,iB,iC,iX,iY;iA=2;iY=iX=2*iA+6;printf("\n iA=%d",iA); /*输出赋值表达式iA的值*/printf("\n iX=2*iA+6 is %d",iX=2*iA+6); /*输出赋值表达式iX=2*iA+6的值*/printf("\n iY=%d",iY); /*输出变量iY的值*/iC=iB=iA=4; /*表达式iB=iA=4 赋给iC*/printf("\niB=iA=4 is %d",iB=iA=4); /*输出表达式iB=iA=4的值*/printf("\niA=%d,iB=%d,iC=%d",iA,iB,iC); /*输出变量iA,iB,iC的值*/ getch();}Ex210逗号运算符和逗号表达式⽤法演⽰/***************************************************问题2.11(第36页):逗号运算符和逗号表达式知识点说明:1)格式:表达式,表达式,......,表达式2)运算优先级:最低3)运算结合性:从左到右****************************************************/#include "stdio.h"void main(){ int iA=2,iB=3;int iX,iY;float fC;iX=(iA*2+1,iY=iB+2,iA*iY); /*iX取得的值为表达式iA*iY的值*/fC=(iA+5,2.0*iX); /*fC取得的值为表达式2.0*iX的值*/printf("iX=%d,iY=%d\n",iX,iY);printf("fC=%f\n",fC);getch();}Ex211/***************************************************问题2.12(第39页):温度转换,将华⽒温度转换为摄⽒温度知识点说明:1)变量定义;2)格式输⼊scanf函数;3)算术表达式与赋值语句;4)摄⽒温度=5/9(华⽒温度-32)****************************************************/#include "stdio.h"void main(){ float fF,fC;printf("Please input the degrees Fahrengeit:");scanf("%f",&fF);fC=5.0/9*(fF-32);printf("The degrees Celsius is %f\n",fC);getch();}Ex212/*************************************************** 问题2.13(第39页):变量交换,交换两个变量的值。

C语言教材 第2章

C语言教材 第2章

第2章 C 语言的基本数据类型本章要点了解C 语言的数据类型,掌握基本数据类型的应用及其相互转换规则,理解变量和常量的概念,并掌握其定义及引用方法。

本章的难点是数据在内存中的存储形式。

第一节 C 语言的数据类型由于信息的表现形式多种多样,处理的方法也不相同,所以,我们必须考虑用不同形式的数据来表示不同的信息。

例如:一个班级的人数要用整数来表示;班级学生的平均成绩要用小数表示;学生的姓名、性别要用字符来表示;一个班级学生某一门课程的成绩要用一组不同的数值来表示等。

计算机语言中的数据类型就是为了能够高效处理各种不同的数据而引进的一个概念,是指数据的内在表现形式。

不同的数据类型具有不同的取值范围和不同的操作。

C 语言提供的数据类型如图2-1所示。

在程序中使用的所有数据都必须指定它的数据类型,C 语言的数据类型由基本类型和非基本类型组成。

其中,基本数据类型是其他数据类型的基础。

C 语言中的基本数据类型包括整型、实型(浮点型)、字符型,其中实型又包括单精度和双精度两种类型。

本章主要讨论这4种基本类型。

整型、单精度型、双精度型和字符型数据定义的关键字分别为:int 、float 、double 和char 。

除了这四个关键字外,C 语言中还提供了一些数据类型的修饰符,如:long 、short 、signed 和unsigned 。

它们的作用是与基本类型的定义关键字结合起来使用,以对基本类型进行扩充,使得在程序编写的过程中可以灵活调整数值的范围以及所占用的存储空间。

结合修饰符的应用,基本数据类型可进一步划分,如表2-1所示。

表2-1 各种数据类型及其说明语言的数据类型图)空类型(指针类型)共用体类型()结构体类型(数组类型构造类型)枚举类型()字符型()双精度型()单精度型(实型(浮点型))整型(基本类型C 12void union structenum char double float int -⎪⎪⎪⎪⎪⎪⎪⎪⎩⎪⎪⎪⎪⎪⎪⎪⎪⎨⎧⎪⎩⎪⎨⎧⎪⎪⎩⎪⎪⎨⎧⎩⎨⎧说明:(1)表中方括号内的部分是可以省略不写的。

C语言程序设计-第2章 简单c程序设计

C语言程序设计-第2章  简单c程序设计

2.1.3 C语言关键字 • 在C语言中,有些字符串在系统中有特定的含 义与名称,在程序中不能用于其它目的,我 们将这些特殊字符串称为关键字,或称为C语 言保留字。 • C语言关键字共32个
auto double int struct break else long switch case enum char extern const float short unsigned contin ue for signe d void default goto sizeof do if staic
• 变量声明(定义): 语法:变量声明 变量表; 举例: int x,y,z;(多个变量用“,”号隔 开,但必须以“;”结束。(在C语言程序中所有 标点符号必须在英文格式下输入) • 变量的初始化 变量定义后,就可以给变量赋值,这个过程叫 变量的初始化。也可以在变量定义同时进行赋值。
变量类型
原因
2.2.2 常量与变量
1.常量
所谓常量,指程序执行中其值不变的量。C语言中,常 量分为普通常量和符号常量。 普通常量分为数值常量,如128,835.6;字符常量用单引 号,如’a’,S’;字符串常量用双引号表示,如 “Hello”,”world”;
2.变量
其值可以改变的量称为变量。一个变量应该有一个 名字,在内存中占据一定的存储单元。变量定义必须放在 变量使用之前。一般放在函数体的开头部分。变量名和变 量值是两个不同的概念。
C语言程序设计
——第2章
简单C程序设计
本章主要内容提示
C语言标识符命名规则
C语言关键字
C语言常量与变量 常用表达式与优先级 输入输出函数
本章学习目标
• • • • • •
知识目标 掌握C语言标识符命名规则 熟记C语言关键字 正确理解C语言常量与变量 掌握C语言数据类型及转换 掌握常用表达式与优先级 熟练使用输入输出函数 能力目标 • 正确定义常量与变量 • 能根据要求正确输入数 据、输出结果 • 分析问题并根据要求正 确编写简单程序

C语言C-2__

C语言C-2__

• Data storage
1. Review: decimal system and binary system(复习:二进制和十进制) 2. Why binary(为什么使用二进制)? 3. Review: bit and byte(复习:位和字节)
• Data storage
4. Integral data(整型数):
• Data type
7. Character constant(字符型常量):
char c; c=‟r‟;
printf(“hello!\neverybody!”)
Special code: see page 48(特殊字符,见书48页)
• Variable initialization
float f; f=0.5; double f1,f2; f1=8.9;f2=7.3; int a=1;
0.45e2=》0000 0000 0000 0000 0010 1101 0000 0010
• Data storage
6. Character(字符):
Appendix 1: ASCII table(附录1:ASCII码表) Save to corresponding 1 bit integer(存为对应的一个字节整数)
• Arithmetic operator and arithmetic expression 3. Incremental and decremental operators (自增、自减运算符 )
Could not apply to constants or expressions (不能用于常量和表达式 ) 5++, (a+b)++ Associate left to right(自右至左结合) -i++ => -(i++) ,=>(-i)++; j=-i++; => j=-i; i++

程序设计基础(C语言)第2章 基本IO和基本数据类型

程序设计基础(C语言)第2章 基本IO和基本数据类型

return 0; }
Every C program must have a main function The execution of C program starts from main()function
2.2常量与变量
常量(Constant)
–在程序中不能改变其值的量
变量(Variable)
加、减(整数) 对ASCII码值的运算
指针类型
加、减(整数)和比较运算
(2)不同类型数据占用的内存大小不同
如何计算变量或类型占内存的大小
计算变量占内存空间的大小
用sizeof运算符 一元运算符 用sizeof运算符计算变量占内存空间的大小的好处 增加程序的可移植性 编译时执行的运算符,不会导致额外的运行时间开销
程序的标识符通常采用“大小写混排”方式,如MaxValue,而UNIX 应用程序的标识符通常采用
“小写加下画线”方式,如max_value。不要将两类风格混在一起 使用。
(6)C语言的标识符是区分大小写(对大小写敏感)的。
2.2.3常量的表示形式
在程序中不能改变其值的量
包括:
十进制
长整型 无符号整八型进十制六进制
– const常量有数据类型,编译器能对其进行类型检查 – 某些集成化调试工具可以对const常量进行调试
2.3变量的类型决定了什么?
占用内存空间的大小 数据的存储形式 合法的表数范围 可参与的运算种类
(1)不同数据类型可参与的运算不同
整型
加、减、乘、除、求余
实型
加、减、乘、除
字符型
–其值在程序执行过程中是可以改变的
2.2.1变量的类型和变量的定义
变量的声明(Variable Declaration)

C语言第2章基本数据类型与表达式

C语言第2章基本数据类型与表达式

2.1.3 关键字
关键字(又称保留字)是一种语言中规定具有特定含义的标识符。 C语言可使用以下32个关键字:
auto
double int struct
break
else long switch
case
enum
char
extern
const
float short
continue default
for signed goto sizeof
例: main() { int x,y,z,w; /*定义x,y,z,w为整型变量*/ unsigned int k; /*定义k为无符号整型变量*/ x=10; y=-20; k=30; z=x+k;w=y+k; /*不同类型的整型变量x、y、k可运算*/ printf(″x+k=%d,y+k=%d\n″,z,w); } 程序运行结果为: x+k=40,y+k=10
3. 字符常量
C语言的字符常量是用单撇号括起来的一个字符。如 ′x′,′+′,′\n′,′\101′都是合法的字符常量。 字符数据在内存中是以ASCII码存储,它的存储形式与整数的存储 形式类似。因此可以通用。例如: #include <stdio.h> main() { char c1,c2; c1=97; c2=98; printf(″%c ,%c\n″c1,c2); printf(″%d, %d\n″c1,c2); } 在程序中我们将整数97和98分别赋给c1和c2,它的作用相当于以 下两个赋值语句: c1=′a′; c2=′b′; 运行时输出结果如下: a,b
4. 字符串常量
• C语言没有专门的字符串类型变量,但有字符串 常量。字符串常量是由一对双撇号括起来的字符 序列。 如:″changsha″, ″central south university″,″+++ \\?ab″都是合法的字符串常量。 • 不要将字符常量与字符串常量混淆。如: ′a′是字符常量, ″a″是字符串常量

《C语言程序设计》第二章基本数据类型

《C语言程序设计》第二章基本数据类型

《C语⾔程序设计》第⼆章基本数据类型⽬录:2.1 常量与变量2.1.1 常量2.1.2 变量2.2 简单的屏幕输出2.3 数据类型2.4 如何计算变量或数据类型所占内存空间的⼤⼩2.5 变量的赋值和赋值运算符2.6 本章扩充内容2.7 本章知识点⼩结2.8 本章常见错误⼩结2.1.1 常量不同类型的整型常量实例特点有符号整型常量10,-30,0默认的int型定义为有符号整数,因此对int型⽆须使⽤signed⽆符号整型常量30u,256U⽆符号整型常量由常量值后跟U或u来表⽰,不能表⽰成⼩于0的数,如-30u就是不合法的长整型常量-256l,1024L长整型常数由常数值后跟L或l来表⽰⽆符号长整型常量30lu⽆符号长整型常量由常数值后跟LU、Lu、lU或lu来表⽰不同类型的实型常量实例特点单精度实型常量 1.25F,1.25e-2f单精度实型常量由常量值后跟F或f来表⽰双精度实型常量0.123,-12.35,.98实型常量隐含按双精度型处理长双精度实型常量 1.25L长双精度型常量由常量值后跟L或l来表⽰2.1.2 变量定义变量的⼀般形式:类型关键字变量名;关键字(Keyword):C语⾔预先规定的、具有特殊意义的单词auto :声明⾃动变量break:跳出当前循环case:开关语句分⽀char :声明字符型变量或函数返回值类型const :声明只读变量continue:结束当前循环,开始下⼀轮循环default:开关语句中的“默认”分⽀do :循环语句的循环体double :声明双精度浮点型变量或函数返回值类型else :条件语句否定分⽀(与 if 连⽤)enum :声明枚举类型extern:声明变量或函数是在其它⽂件或本⽂件的其他位置定义float:声明浮点型变量或函数返回值类型for:⼀种循环语句goto:⽆条件跳转语句if:条件语句int:声明整型变量或函数long :声明长整型变量或函数返回值类型register:声明寄存器变量return :⼦程序返回语句(可以带参数,也可不带参数)short :声明短整型变量或函数signed:声明有符号类型变量或函数sizeof:计算数据类型或变量长度(即所占字节数)static :声明静态变量struct:声明结构体类型switch :⽤于开关语句typedef:⽤以给数据类型取别名unsigned:声明⽆符号类型变量或函数union:声明共⽤体类型void :声明函数⽆返回值或⽆参数,声明⽆类型指针volatile:说明变量在程序执⾏中可被隐含地改变while :循环语句的循环条件int main(void){int a; //⽤关键字int指定变量a的类型float b; //⽤关键字float指定变量b的类型char c; //⽤关键字char指定变量c的类型a=1; //为int型变量a赋值整型变量1b=2.5; //为float型变量b赋值实型变量2.5c='A'; //为char型变量c赋值字符型变量'A'return0;}⼀个C 程序必须且只能有⼀个⽤main作为名字的函数,这个函数成为主函数;main后⾯圆括号内的void表⽰它没有函数参数;main前⾯的int表⽰函数执⾏后会返回操作系统⼀个整数型,在main函数的函数体中的最后⼀条语句使⽤return语句返回了这个值,通常返回0表⽰程序正常结束。

C语言复习资料 第二章重点内容

C语言复习资料  第二章重点内容
阶符 阶码
11
2。 对上述已经定义的实型常量指数形式的说明:
(1)在此的digits是一位或多位十进制数字(0—9)组成。 (2)小数点之前是整数部分,之后是小数部分。 (3)小数点在没有小数时可以省略。如:3E+6 (4)指数部分用E或者e开头,幂指数可以为负,当没有符号时,视为正 指数,且其基数都为10。 (5)在不加说明的情况下,实型常量为正值,如果要表示负值,必须在 常量前使用负号。如:-2.5E-5 (6)字母E或e之前必须有数字,且E或e之后指数必须为整数。 如:e3,2.3e9.5,.e3等都是不合法的。
上述各类型整型变量占用的内存字节数随系统而异。在16位操作系 统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型 (2字节)≥short型(2字节)。
2.占用内存字节数与值域
8
显然,不同类型的整型变量,其值域不同。占用内存字 节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-11);无符号整型变量的值域为:0~(2n*8-1)。(同样适合于 各种不同的类型 ) 例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-11),即-32768~32767;一个unsigned型变量的值域为:0~ (22*8-1),即0~65535。 2.4.2 整型常量 1.三种表示形式 整型常量即整常数,在C语言中可用三种形式表示: (1)十进制。例如10、36。 (2)八进制(以数字0开头)。例如012。 (3)十六进制(以数字0+小写字母x开头)。例如0x36。
9
2.分类 (1)基本整型。在16位机中,用2字节存储,其数据范 围与int型变量一样。 (2)长整型(在数值后面加“L(l)”)。对超出基 本整型值域的整型常量,可使用长整型常量表示,其取值 范围可达-231-(231-1)。例如,123l、315L等。 3.类型匹配规则 类型匹配规则为:一个整型常量,可以赋给能容纳下其 值的整型变量。 例如,其值在-215--(215-1)的整型常量,可以赋 给int型变量和long int型变量;其值在-231--(231-1)的整 型常量,就只能赋给long int型变量。 注意:常量无unsigned型。但一个非负整型常量,只要 它的值不超过相应变量的值域(即取值范围),也可以赋 给unsigned型变量。

第2章_C语言的基础知识

第2章_C语言的基础知识

①小数表示法
127.3 ②科学计数法 36. .75 0.0
4.50e3
1.273E2
非法的浮点常量
e1 2e3.5 e
float 型浮点数的取值范围
最大值:3.402823466×1038
最小正值:1.175494351×10-38
double 型浮点数的取值范围
最大值:1.7976931348623158×10308
void main()
{
int x, y, sum;
printf("\n请以 a+b= 的形式输入两个整数\n");
scanf("%d+%d=", &x, &y); sum = x + y; printf("%d\n", sum); }
如何输入?
int a, b, c;
scanf("%d%d%d", &a, &b, &c); scanf("%d, %d, %d", &a, &b, &c);
void main()
{
int a, b, total; a = 18; b = 12; total = a * b; /*变量定义*/ /*每个月的费用*/ /*一年12个月*/ /*计算*/ /*输出*/
printf("一年的费用是%d元\n", total); }
/* 在函数内部定义的普通变量,在没有用赋值号 对其赋值之前,其初始值为不定值 */ #include <stdio.h> void main() { int a, b, total; total = a * b; printf("一年的费用是%d元\n", total);

第二章 C语言快速入门

第二章  C语言快速入门

第二章C语言快速入门1、C语言第一个简单实例在信息化、智能化的世界里,可能很早很早我们就听过许多IT类的名词,C语言也在其中,我们侃侃而谈,到底C程序是什么样子?让我们先看简单的一个例子:#include<stdio.h> /*引入头文件*/int main(void) /*一个简单的C程序*{int number; /*定义个名字叫做number的变量*/number=2014; /*给number赋一个值*/printf("Hello ! I am \n"); /*调用printf()函数*/printf("This year is %d\n",number);return 0;}这个简单的程序作用是向屏幕上输出两句话,如果想看到实际的运行结果的话,我们需要使用编译器编译这段代码然后运行最后的可执行程序,如果顺利话,将看到运行结果为:Hello ! I am <br>This year is 2014怎么样?一切如我们所预料吧?可是...为什么...也许您还有很多个疑问,很多个为什么,比如什么头文件、main、int、\n、%d都是什么东西?都是干什么用的?以及您可能感觉为什么写的这么奇怪?不用着急~ 好,让我们一起先来大致看一遍。

#include<stdio.h> /* 包含另一个文件*/本行代码将告诉编译器引入一个stdio.h的文件(就像我们电脑中的123.txt一样)的全部内容。

stdio.h文件是所有C语言编译器的标准部分,用来提供输入和输出的支持。

int main(void) /*主函数*/C程序规定一个程序中有一个或多个函数,他们是C程序的基本模块。

但必须有且只有一个main函数。

因为C程序的执行将从main函数开始,到main函数结束而停止。

再回头看看我们的这个简单实例吧,他只有一个名为main的函数,名字后面的圆括号()表明main()是一个函数的名字,括号里面的void表示空的,这里指不接受任何参数。

C程序设计教程第二版习题答案

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. 一维数组的声明和使用。

- 一维数组的声明语法为:`类型数组名[大小]`。

第2章C语言基础知识

第2章C语言基础知识

第二章C语言基础知识2.1 常量和变量【学习目标】(1)掌握常用标识符的命名规则(2)掌握常量和变量的定义与引用方法实例5 常量和变量——输出常量与变量的值【实例任务】定义不同类型的几个变量,然后对应输出相应的常量值和变量值。

程序的运行结果如图2-1所示。

图2-1 程序运行结果【相关知识】1.标识符标识符是用来标识变量名、符号常量名、函数名、数组名、文件名、类名、对象名等,其基本构成元素源自字符集。

C语言的字符集包括英文字母、数字字符和一些特殊字符。

用这些基本元素单位命名标识符时,一定要遵循以下四个原则:(1)必须由字母(a~z,A~Z)或下画线(_)开头;(2)由字母、数字或下画线组成的长度不超过32个字符;(3)标识符中的大小写字母有区别;(4)不能与关键字同名。

下面是不合法的标识符和变量名:M.d.,John,y 123,#33,3d642.常量常量是数据在内存中一种表示形式,在程序运行过程中值永远保持不变,常用的类型有5种,包括整型常量、实型常量、字符型常量、字符串常量、符号常量。

整型常量就是整型,常用的表示形式有十进制,如10、30等。

八进制常量表示形式要以0开头,如013、012等。

十六进制常量表示形式要以0x或0X开头,如0x13、0X12等。

实型常量就是指的是一些带小数点的数,包括指数。

如3.14、-1.2、1.2e6、10.5E8等。

其中,1.2e6表示数学上1.2×106,10.5E8表示数学上10.5×108。

字符型常量是单引号引起来的单个字符,这些字符为ASCII字符,对应各有其ASCII 码值。

字符常量包括一些转义字符,字符形式和输出结果对照如表2-1所示。

表2-1 转义字符字符串常量是用双引号引起来的0个或多个字符。

字符串常量形式给出的是字符串在存储空间中的起始地址。

如“Hello World!”就是一个字符串常量。

符号常量,是指以标识符来代替一个值,这个标识符的值在程序运行过程中不能再改变。

c语言-2 用C语言编写程序

c语言-2 用C语言编写程序

hs++
printf("%8d ---- %8.1f\n",hs, 5.0/9*(hs-32));
}
按照固定8位宽度显示
printf("输入华氏温度范围[a,b]: "); hs++ 等价于 scanf("[%d,%d]",&lower,&upper); hs=hs+1 printf("华氏温度 ---- 摄氏温度\n");
for(hs=lower ; hs<=upper ; hs++)
printf("%8d ---- %8.1f\n",hs,
第2章 用C语言编写程序
主要内容
➢温度值转换 ➢计算分段函数 ➢输出华氏-摄氏温度转换表 ➢生成乘方表与阶乘表
教学目标、重点和难点
教学目标
掌握 C 语言程序的一般结构及编写方法
掌握C语言中常量、变量、数据类型、算术运算 、赋值运算、关系运算符等,以及格式化输入、 输出函数的应用
了解顺序、选择和循环三种基本的程序结构
C语言程序中的变量必须“先定义,后使用”;
变量定义即确定变量名和类型。
变量定义的一般格式
数据类型 变量名1[,变量名2,…,变量名n];
NO
例如: int a,b,c; float data;
能否:int a=b=1;
double r1,r2;
变量初始化
例如: int a=1,b=1,c=3; float data=1.2;
理解函数的定义和函数的调用
教学重点
C语言程序的基本构成 格式化输入、输出函数的使用 C语言的基本语法、三种基本程序结构
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

单分支if语句:
if(表达式) 语句;
双分支if语句:
if(表达式) 语句1; else 语句2;
利用goto语句改变程序执行方向的句式如下:
goto 标号;
与goto语句配合使用的标号语句的句式如下:
标号: 语句;
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) {
2.5.1 自动类型转换
double ← float ↑ long ↑ unsigned ↑ int←char,short


格式:(类型说明符)表达式 功能:把表达式的结果强制转换为类型说明符所
表示的类型。
例如:
(int)a
将a的结果强制转换为整型量。
(int)(x+y) 将x+y的结果强制转换为整型量。 (float)a+b 将a的内容强制转换为浮点数,再与b相加。
time()函数将从1970年1月1日00.00.00到当前时
间所经过的秒数存储到实参指向的变量。
#include<stdio.h> #include<stdlib.h> int main(void) { int x,y; x=rand(); y=rand(); printf("x=%d,y=%d",x,y ); return 0; }
printf("circle's radius is:%d,area is:%f\n",radius,area);
类型 d,i
说明 带符号十进制整数
类型 c
说明 字符
o x
X u g
八进制无符号整数 十六进制无符号整数(小写字母a~f)
十六进制无符号整数(大写字母A~F) 无符号十进制整数
s f
常用的数学库函数有(math.h):
绝对值函数fabs(a)

计算|a|
计算a
如fabs(—23.456)的值为23.456。
平方根函数sqrt(a)

如sqrt(64.0)的值为8.0。
幂函数pow(a,n)

计算an
如pow(1.5,2)的值为2.25
指数函数exp(x)计算ex
2.1.1 案例描述
2.1.2 各种类型数据的输出函数printf( )
函数的格式:printf(
格式控制字符串,输出表列);
格式控制字符串:
格式说明项:由“%”和格式字符组成,如%d,%f等。
转义字符:转义字符:由“\”引起的字符,如:“\n”。
普通字符:即需要原样输出的字符。
输出表列:需要输出的一些数据项。 举例:
“假”。
C语言没有逻辑型数据,以整数1代表“真”,以整
数0代表“假”。
例如:n1=6,n2=3,n3=5,求表达式得值:
(1) (n1>n2)*n3 (2) n1>n2>n3 (3) n1+n2>=n1/n3
rand()函数能返回一个0-2147483647之间的随
机值.
srand()函数用于重新设定rand()函数使用的种子。
例如,已知a=5,b=7,则a>b?a:b的值为?
位运算符 &
含义 按位于
位运算符 ~
含义 取反
| ^
按位或 按位异或
<< >>
左移 右移
自增(++)、自减(--)运算符。两个都是单
目运算符,作用是使运算对象的值增1或减1。
使用自增或自减运算符,应注意以下几个问题:
++i,--i(前置运算):先使变量i的值增加1或减去1, 再引用变量的值参与其它运算; i++,i--(后置运算):先引用变量i的值参与运算, 再使变量的值增加1或减去1.
#include <stdio.h> int main(void) { int a=123,b=12345; printf("%5d,%10d\n",a,b); return 0; }
#include<stdio.h> int main(void) { float x=12.345; double y=123.123456789; printf("x=%7.2f,y=%7.5f\n",x,y); return 0; }

在c语言中,关系运算就是比较运算,提供了6种关 系运算符:
<
>
小于
大于
<= 小于或等于
>= 大于或等于 != 不等于
== 等于

运算优先级:

前四个优先级相同,后两个也相同。且前四个高于后两个。 关系运算符的优先级低于算术运算符,但是高于赋值运算
符。
关系表达式的值是一个逻辑值,即“真”或
4.分支结构语句;
5.goto语句。
基本的算数运算:加、减、乘、除、求余。 算术运算符:+、-、*、/、%。
运算优先级:先
*、/、% 后 +、-。
算术表达式:用算术运算符和括号将运算对象连接
起来并符合C语言语法规则的式子。
如:
a*b/c-1.5+'a'
在除法运算中,如果两整数相除,得出的结果是整 数,小数部分舍去。 求余运算符“%”,又称为取模运算符,要求“%” 的两侧必须为整型数。 c语言算术表达式的乘号(*)不能省略。分子分母 是表达式时均需加括号。 c语言算术表达式只使用圆括号改变运算的优先顺 序(不要用{}[])。
1. 类型说明和表达式都需要加括号(单个变量可以 不加括号),如把(int)(x+y)写成(int)x+y则成了把
x转换成int型之后再与y相加。
2. 无论是强制转换或是自动转换,都只是为了本次
运算的需要而对变量的数据长度进行的临时性转换,
而不改变数据说明时对该变量定义的类型。
#include<stdio.h> int main(void) { float f=5.75; printf("(int)f=%d,f=%f\n",(int)f,f); return 0; }
e E
字符串 十进制小数
十进制指数(小写e) 十进制指数(大写E)
选用%f或%e格式中输出宽度较短的一个格式,不输出无意义的0
附加字符 字母l m(代表一个正整数)
说明 用于长整型,可加在格式字符d,o,x,u之前 数据最小宽度。 对实数,表示输出n位小数;
.n(代表一个正整数) 对字符串,表示截取的字符个数。 输出的数字或字符在域内向左靠
int x,y,sum; x=rand(); y=rand(); if(x+y<100) printf("%d+%d=",x,y ); else goto aa; scanf("%d",&sum); if(sum==x+y)printf("right!\n"); else printf("error!\n"); return 0 ;
2.4.1 逗号运算符和逗号表达式
2.4.2 条件运算符和条件表达式
2.4.3 位运算符
2.4.4 自增、自减运算符
格式:表达式1,表达式2,…表达式n 逗号表达式的求解过程是:自左向右,求解表
达式1,求解表达式2,…,求解表达式n。整个逗
号表达式的值是表达式n的值。
例如:x=(a=3,b=5,c=b*4)

如exp(2.3)的值为9.974182。
以e为底的对数函数log(x)

计算lnx
如log(123.45)的值为4.815836。
三角正弦值函数sin(x) 三角余弦值函数cos(x) 三角正切值函数tan(x)
计算x的三角正弦值 计算x的三角余弦值 计算x的三角正切值,其中x用弧度
表示。
#include<stdio.h> #include<stdlib.h> #include<time.h> int main(void) { int x,y; srand(time(NULL)); x=rand(); y=rand(); printf("x=%d,y=%d",x,y ); return 0; }



赋值运算符:=,+=,-=,*=,/=,%=
赋值表达式:<变量><赋值运算符><表达式> 赋值运算符两边数据类型不同做如下处理:

实型赋予整型,舍去小数部分。 整型赋予实型,数值不变,但将以浮点形式存放, 即增加 小数部分(小数部分的值为0)。 字符型赋予整型,由于字符型为一个字节, 而整型为二个 字节,故将字符的ASCII码值放到整型量的低八位中,高 八位为0。 整型赋予字符型,只把低八位赋予字符量。
}
返回
格式:scanf(“格式控制”,地址列表) 功能:从标准输入设备上读入一系列数据,按格式
控制的要求进行转换,并送入输入列表所列的诸
变量中。 地址列表–––变量的地址(&)或字符串首地址。




l
h
用于输入长整型数据(可用%ld, %lo, %lx), 以及 double型数据(用%lf或%le)。
(1)除了x,e,g外,其它格式字符必须用小写字母。 如%d不能写成%D。
相关文档
最新文档