c语言上课记录.docx
- 文档编号:26247518
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:23
- 大小:656.59KB
c语言上课记录.docx
《c语言上课记录.docx》由会员分享,可在线阅读,更多相关《c语言上课记录.docx(23页珍藏版)》请在冰豆网上搜索。
c语言上课记录
1上课手机关闭
2不许缺课允许请假2次允许旷课1次补课周一到周五的早8点到晚18点之间可以补课
3教材可以做笔记
4骑自行车
5换课制度6小时内可以换课(C语言换VF)
6上课可以不记笔记
7开通手机邮箱
C语言程序设计:
指令(命令)的有序集合
人自然语言(人话)中间语言计算机机器语言01
中间语言计算机程序设计语言低级语言(接近于机器语言)汇编语言高级语言(C语言<面向过程的程序设计语言>Basic面向对象程序设计语言)
源程序(*.C)编译(检查语法错误)目标程序(*.OBJ)链接可执行程序(*.EXE)
结构化程序设计
不论多复杂的程序最终由顺序选择循环三种结构组成
顺序结构:
按照程序中命令语句书写的先后次序逐条执行先执行前面的,后执行后面的
选择结构:
根据某一个条件,再二者之间选其中一个(多选一实质是执行多次二选一)
ifelse
if(条件)
条件成立时执行的语句;
else
条件不成立时执行的语句;
循环结构:
根据某一个条件,当条件成立时反复执行一条或多条语句
当型循环先判断条件(饿),条件成立执行循环体(吃一口饭),接着再次判断条件(饿)……
当型循环的循环体最少执行〇次(第一次判断条件就不成立)
直到型循环先执行一次循环体,再判断条件,条件成立则再次执行循环体……
直到型循环的循环体最少执行一次
模块化程序设计
将一个大的任务分解成若干个小任务,再将小任务分解成更小的任务,直到每个任务都只完成一个独立功能每个任务叫做一个模块一个程序有若干个模块组成
C语言中模块用函数表示
一个C语言有若干个函数组成,各个函数相互独立相互联系相互平等
一个C语言程序有并且只能有一个主函数main,程序总是从主函数开始执行
一个函数可以调用(使用)另一个函数(的结果)
函数可以嵌套调用(A调用B,B调用C)
函数中不能再定义函数(函数不可以嵌套定义)
执行部分
说明定义部分
函数头
函数体
函数体必须以{开始,以}结束;函数体中的叫做语句分为说明定义部分(必须在前面)和执行部分(在后面)
语句后面都有一个分号C语言的语句必须以分号结束语句可以占一行也可以占多行,一行内可以写一条语句也可以写多条语句(必须都以分号结束)
程序前面以#开头部分叫做预编译处理命令必须单独占据一行,末尾没有分号
#definePI3.14159265表示在下面程序中用PI代替3.14159265参加运算
以/*开头,以*/结束部分叫做注释注释不能嵌套(注释中不能再写注释)/*/**/*/
标识符
标识符的命名规则:
①数字(0~9)字母(a~zA~Z)下划线(_)组成②不能以数字开头③大小写字母严格区分
标识符的分类:
①关键字②预定义标识符大部分是系统提供的函数名③用户定义标识符(遵循标识符命名规则不能与关键字同名,建议不要和预定义标识符同名,如果用户定义标识符与预定义标识符同名,则以用户定义标识符为准)
以下哪些是合法的用户标识符:
sizeof
xy
Do
if3
_while
4x
_34
用户标识符
不是
是
是
是
是
不是
是
标识符
是
是
是
是
是
不是
是
表达式:
5+7x-23*sin(x)3+2*7
运算对象(运算量):
形式:
常量变量函数表达式
常量:
常数程序运行过程中值不能发生改变的量5
变量:
值可以发生变化的量叫做变量
变量的实质:
内存中的一段存储空间
变量名的实质:
内存中一段存储空间的名字
定义变量的实质:
在内存中申请一段存储空间
使用变量的实质:
使用内存中一段存储空间中的数据
intx;定义整型变量x实质是:
在内存中申请4个字节的一段存储空间给起一个名字叫做x
x=35;实质是:
将35存放到名叫x的一段存储空间中
x+5实质是:
将名叫x的存储空间中的数据35取出与5相加
y=x+5实质是:
将名叫x的存储空间中的数据35取出与5相加结果40存入到名叫y的存储空间
x=x+6实质是:
将名叫x的存储空间中的数据取出与6相加结果再存入到名叫x的存储空间
类型:
基本数据类型:
整型实型字符型
整型整数
短整型2B
基本整型4B
长整型4B
有符号
signedshortint
signedint
signedlongint
无符号
unsignedshortint
unsignedint
unsignedlongint
有符号:
正数〇负数
无符号:
正数〇
unsignedlongintx;表示定义无符号长整型x
signedlonginty;表示定义有符号的长整型ylongy;
整型数据的表示:
八进制:
0~7054
十进制:
0~954
十六进制:
0~9abcdefABCDEF0X540x54
以下合法的整型表示形式有:
487
0487
0x5a
01a
2B
合法
不合法
合法
不合法
不合法
整型数据的存储形式:
正整数在计算机中按照原码形式【二进制形式】存放最高位0
负整数在计算机中按照补码形式【原码各位取反(反码)再加1】存放最高位1
6110
00000000000001106的原码
1000000000000110-6的原码
1111111111111001-6的反码
1111111111111010-6的补码
实型数据:
表示形式:
小数形式:
5.647
指数形式:
2.35E62.35*106指数必须是整数(可以负数,0,正数)E也可以是e
分类:
双精度实型:
double占8个字节范围约-10308~10308精度10-308有效数字15~16位
单精度实型:
float占4个字节范围约-1038~1038精度10-38有效数字7位
整型数据在计算机中可以精确表示和存储,实型数据在计算机中不能精确表示和存储
运算符号:
目数:
运算符所连接的运算量的个数单目双目三目
优先级:
连续两个运算符号在一起时先算与后算
结合性:
当两个连续运算符号的优先级相同先算左边的还是先算右边的从左到右从右到左
算术运算:
运算符:
()+-*/%求余
优先级:
()*/%+-
运算法则:
+-*运算法则与数学上完全相同
/两个整数相除结果【商】是整数【不要小数】15/7254/8638/12354/7801/20
%要求运算量必须是整型15%7154%8638%12254%78541%211234%104587%10782%10210%5024%6015%3018%60
整除余数等于0偶数被2除余数等于0
已知某个整型变量x已经被赋予合法的数据,请:
用一个表达式表示x的个位数:
x%10
用一个表达式表示x的十位数:
x%100/10x/10%10
用一个表达式表示x的百位数:
x%1000/100x/100%10
用一个表达式表示x的千位数:
x%10000/1000x/1000%10
……
赋值运算:
运算符号:
=不是等号==
优先级比较低【倒数第二】
结合性:
从右到左
表达式:
运算量1=运算量2
要求:
①运算量1只能是变量【赋值号的左边只能是变量】运算量2的形式没有要求【赋值号的右边形式不限制】②运算量1和运算量2的类型必须一致,如果类型不相同则先进行类型转换【将运算量2的类型转换为运算量1的类型在进行赋值将实型数据转换为整型只要其整数部分不要小数部分】
intx;x=48.9874;运行后x的值是:
48
intx,y,z,w,m;
x=y=z=w=m=8;
x=x+3
x+=3
y=y-4
y-=4
z=z*9
z*=9
w=w/54
w/=54
m=m%8
m%=8
其中%=要求运算量必须是整型
+=-=*=/=%=复合的赋值运算符优先级结合性与赋值运算符相同要求赋值号左边的运算量必须有一个初始值
强制类型转换:
优先级比较高结合性从右到左
(类型)
表达式:
(int)34.5结果将34.5强制转换为int是34
(int)3.8+5.9运行后结果是8.9
(int)(3.8+5.9)运行后结果是9
自增1自减1运算:
++--
优先级比较高
表达式:
x++++x
要求:
运算量必须是变量,并且有一个初始值
y=x+3将表达式x+3的值赋予变量y
x=3
y=x++将表达式x++的值【x的值】赋予变量y,再将x的值增加1
运行后x是:
4,y是3
y=++x将x的值增加1,再将表达式++x的值【x的值】赋予变量y
运行后x是:
4,y是4
逗号运算:
,优先级最低
运算量的形式和类型均没有要求
结果:
最右边一个运算量的值
intx,y,z;
z=(x=7,x+2,++x,y=2,y+1,y++,x*y)
运行后x,y,z分别是多少?
第三章顺序结构
语句:
表达式的后面加分号
赋值语句赋值表达式的后面加分号
C语言中没有专门的输入输出语句,输入输出功能通过调用系统提供的标准库函数完成
标准输出函数printf
格式:
printf(格式控制字符串,输出项列表)
输出项的形式:
可以是常量变量表达式函数等等
字符串常量是用“”引起来的一串字符
将格式控制字符串中的内容原样输出到屏幕上,并将其中以%开头特定字母结束的部分用后面的输出项值替换
不同的字母表示按照不同的形式将输出项值显示在屏幕上
d按照十进制有符号形式输出
u按照十进制无符号形式输出
o按照八进制无符号形式输出不带前导0用#o带前导
Xx按照十六进制无符号形式输出不带前导0x用#X带前导
在%与特定字母之间可以加控制信息:
整数:
对应输出项值在屏幕上所占的宽度,如果指定的宽度小于输出项值的最小所需,则指定的宽度无效
-:
输出数据左对齐,空白位置留右边
0:
左边空白位置用0补充
+:
显示输出数据的符号【正数显示正好,负数显示负号】
%f表示按照小数形式输出输出项小数部分默认6位
%eE表示按照指数形式输出输出项小数部分默认6位
在%与f之间也可以加+-0并且意义同上
在%与f之间可以加两个整数%m.nf表示输出数据共占m个宽度,其中小数点后保留n位
%15.4f表示整个输出项占15个宽度,小数点后保留4位
%.4f表示小数点后保留4位,总宽度是:
小数位数+1【小数点】+整数位数
%14f省略小数位数则小数位数默认时6位
%14.0f表示没有小数点以及小数部分,十分位四舍五入
要求在屏幕上输出一个%?
则在格式控制字符串中使用两个%
标准输入函数scanf
格式:
scanf(格式控制字符串,输入项列表)
输入项是&变量名
程序运行时,当运行到scanf函数时要求从键盘上原样输入格式控制字符串的内容,将其中以%开头特定字幕结束部分用具体数据代替
建议:
在格式控制字符串中除了以%开头特定字母结束部分外不要写其他内容
当连续两个%开头特定字母结束部分在一起时,从键盘上输入数据如何区分?
可以使用空格,回车,TAB键隔开
特定字母:
i按照整型形式收入【根据是否有前导确定进制】d有符号十进制u无符号十进制o无符号八进制x无符号十六进制fe实型形式【不区分小数或指数形式】
在%与特定字母之间可以加控制信息:
整数:
在%与d之间加入一个整数m表示对应的输入项最多读入m位的数据
*在%与d之间加入一个*表示对应输入数据不采集
按照语句在程序中书写的先后次序逐条执行
变量:
喜新厌旧新的不来旧的不去
变量刚刚定以后没有初始值【初始值是一个不确定的随机数】
第四章选择结构
关系运算:
运算符号:
><>=<===!
=
x=y让x的值等于y【让x与y的值相等,将y的值赋值于x】
x==y判断x和y相等是否成立
优先级:
><>=<=高于==!
=
表达式的结果:
关系成立结果为1,关系不成立结果为0
5>2结果是13+2>4+7结果是0
7==3+4结果是1
3+7+810+8结果是:
18
7>4>31>3结果是0
5>8>4结果是0
x>y>4结果是0
在关系运算时连续两个关系运算符在一起时一定要小心!
!
!
x的绝对值大于8,用不等式表示x<-8或x>8
x的绝对值小于8,用不等式表示-8 逻辑运算: 逻辑运算的运算符: &&||! &&逻辑与and ||逻辑或or ! 逻辑非not ! 高于&&高于|| 表达式 逻辑与: A&&B当第一个运算量A不等于0【真】,并且第二个运算量B也不等于0【真】,则结果为1,否则结果为0 逻辑或: A||B当第一个运算量A不等于0【真】,或者第二个运算量B不等于0【真】,则结果为1,否则结果为0 逻辑非: ! A当运算量A不等于0【真】,则表达式结果为0,当运算量A表达式等于0【假】则表达式结果为1 intx,y,z; x=7;y=8; z=(x>y+2&&y 运行后z的值是: 短路现象: 对于逻辑与运算,当第一个运算量A等于0时,则不对第二个运算量进行计算,直接得出最终结果是0 对于逻辑或运算,当第一个运算量A不等于0时,则不对第二个运算量进行计算,直接得出最终结果是1 当第一个运算量x-=3结果是0【假】,则不对第二个运算量y-=3计算【不论y-=3结果是1还是0最终表达式【z=((x-=3)&&(y-=3))】的结果都是0 选择结构: 根据某一个条件,在二者之间选择其中一个 ifelse语句 格式: if(值) 值不等于0时执行的语句; else 值等于0时执行的语句; 注意: ①值的位置上可以是常量、变量、表达式、函数等只要最终有一个值②if后面和else后面都没有分号③else后面再不用写条件④执行的语句【值不等于0和值等于0是执行的语句】超过一条必须用{}括起来【默认条件成立或不成立时执行的语句都只有一条】⑤可以只有if而没有else部分【当值等于0时没有语句可以执行,则将else以及下面的语句都可以省略】 满足条件时执行的语句超过一条则必须用{}括起来 整个ifelse语句在语法上可以当做一条语句出现【所有可以出现语句的位置,都可以出现ifelse结构】 if(条件1) if(条件2) 语句11; else 语句12; else if(条件3) 语句31; else 语句32; ifelse嵌套时一定要注意的是: else和if的搭配关系 搭配原则: 就近原则【else总是和距离它最近的且没有和其他else搭配的if搭配】与书写格式无关 有以下程序: #include main() {inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec+=1; printf(“%d\n”,c); } 程序的输出结果是: 2 有以下程序: #include main() {inta=2,b=-1,c=2; if(a if(b<0)c=0; elsec+=1; printf(“%d\n”,c); } 程序的输出结果是: 0 有以下程序: #include main() {inta=2,b=-1,c=2; if(a {if(b<0)c=0;} elsec+=1; printf(“%d\n”,c); } 程序的输出结果是: 3 条件运算: 运算符号: ? : 唯一的三目运算符号 优先级比较低: 倒数第三 结合性: 从右到左两个条件运算在一起时先算右边的 表达式的值: A? B: C当A不等于0【真】B的值就是表达式的结果;当A等于0【假】C的值就是表达式的结果 比较简单的选择一般也用条件运算 switchcase结构 格式: switch(值) {case常量1: 语句组1; case常量2: 语句组2; case常量3: 语句组3; case常量4: 语句组4; …… case常量n: 语句组n; default: 语句组n+1; } 注意: ①值所在的位置上可以是常量、变量、表达式等等②case与常量之间必须隔开;③常量的位置上只能写常量不能写表达式或变量;④执行过程: 用值依次和各个常量进行比较,若等于某个常量则从该常量后面的语句开始执行,如果和所有的常量都不相等则从default后面的语句组开始向下执行,default后面如果没有语句则可以省略 break提前结束正在执行的switch语句,执行下面的内容 选择结构例题: 可以用ifelse语句,也可以用条件运算,还可以用上switchcase结构 /*输入一个日期,判断该日期是否合法*/
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 上课 记录