《计算机和C编程入门.ppt》由会员分享,可在线阅读,更多相关《计算机和C编程入门.ppt(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、教材、参考书与课时安排教材、参考书与课时安排教材教材C语言程序设计唐新来语言程序设计唐新来李春贵李春贵编编科技出版社科技出版社参考书参考书C语言程序设计语言程序设计张向利张向利等编等编广西师范大学出版社广西师范大学出版社C语言程序设计语言程序设计何钦铭何钦铭人民邮电出版社人民邮电出版社C语言程序设计语言程序设计谭浩强谭浩强清华大学出版社清华大学出版社课时安排课时安排 理论理论+试验课:试验课:5656学时学时(3.5(3.5学分)学分)教学要求教学要求掌握程序设计语言的基本知识掌握程序设计语言的基本知识常用算法常用算法初步的程序设计能力初步的程序设计能力学习方法学习方法自主学习自主学习重视上机
2、实践重视上机实践关于考试关于考试总评成绩总评成绩:平时学习表现实验成绩期末考试成绩平时学习表现实验成绩期末考试成绩(20%)(30%)(50%)六月份参加广西壮族自治区二级六月份参加广西壮族自治区二级C C语言语言统试统试评分标准评分标准(期末考试评分标准参见命题方案)(期末考试评分标准参见命题方案)学习表现(学习表现(100 100分)分)基本原则:基本分基本原则:基本分50分,表现好累计加分至分,表现好累计加分至100100分,表现不好累分,表现不好累 计减分至计减分至0 0分,如果迟到、早退、旷课次数等违纪扣分超过分,如果迟到、早退、旷课次数等违纪扣分超过 学习表现的总分值,则在期末总评
3、分里酌情扣分。学习表现的总分值,则在期末总评分里酌情扣分。扣分项目扣分项目:玩游戏一次扣:玩游戏一次扣 15 15分(三次以上者取消本课程考核资分(三次以上者取消本课程考核资 格),睡觉一次扣格),睡觉一次扣5 5分,影响课堂秩序的行为如说话等一次分,影响课堂秩序的行为如说话等一次 扣扣5 5分。学生旷课一次扣分。学生旷课一次扣1515分,迟到及早退一次各扣分,迟到及早退一次各扣5 5分。分。加分项目加分项目:正确回答问题一次加:正确回答问题一次加 2 2分,主动回答问题一次加分,主动回答问题一次加 5 5分,在课堂上能起积极引导作用加分,在课堂上能起积极引导作用加5 5分。分。作业(作业(1
4、00 100分)分)作业做在作业本上,保质保量完成每章作业做在作业本上,保质保量完成每章(共共7 7章章)作业得作业得70分;分;老师每抽查、提问一次老师每抽查、提问一次,酌情加,酌情加1 11010分。分。第章第章 计算机和计算机和C编程入门编程入门1.1 1.1 计算机系统与程序设计语言计算机系统与程序设计语言CPU指令系统,由0、1序列构成的指令码组成如:10000000 加 10010000 减用助记符号描述的指令系统如 ADD A,B面向机器的语言程序设计是数据被加工的过程程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系
5、程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU 高级语言高级语言通用语言通用语言fortran、basicVBC C+(VC+BC+)数据库语言数据库语言foxbase、FoxProSQLDelphiPowerbuilder网页制作工具网页制作工具HTMLJava 高级语言程序的开发过程高级语言程序的开发过程编辑编辑编译编译执行执行(一般包括七个步骤:(一般包括七个步骤:p4p46 6)预处理器预处理器编译器编译器链接器链接器C C语言及其标准语言及其标准BCPLBCANSIC标准标准(C89)C99 C C语言的特
6、点语言的特点C C语言允许直接访问计算机内部地址,能比其他语言语言允许直接访问计算机内部地址,能比其他语言更容易执行硬件操作。更容易执行硬件操作。用于解决大多数应用领域中的问题。用于解决大多数应用领域中的问题。语法限制不太严格,程序设计自由度大,但同时不语法限制不太严格,程序设计自由度大,但同时不易查找错误。易查找错误。C C语言中大小写字母代表不同含义。语言中大小写字母代表不同含义。中级语言中级语言任何一部机器都是用部件组装而成的,计算机程序任何一部机器都是用部件组装而成的,计算机程序也是由一些部件构建起来的。也是由一些部件构建起来的。C C语言程序部件是函数。即,设计语言程序部件是函数。即
7、,设计C C语言程序就是语言程序就是 设计它的构成函数。设计它的构成函数。1.2 算法的概念与表示程序程序 用用编编程程语语言言编编写写,完完成成特特定定功功能能的的语语句句的的集合。集合。编程步骤:编程步骤:1.明确问题明确问题 2.问题:若干具体步骤(算法)问题:若干具体步骤(算法)3.算法:程序算法:程序 4.上机调试运行上机调试运行算法算法解题方法或解题步骤的精确描述。解题方法或解题步骤的精确描述。文字文字图形(符号)图形(符号)常用的算法描述方法常用的算法描述方法带序号的自然语言描述:带序号的自然语言描述:易懂却不直观,不严格易懂却不直观,不严格流程图:流程图:灵活、自由、形象、直观
8、,可表示任何算法灵活、自由、形象、直观,可表示任何算法处理处理输入输出输入输出起止起止判断判断流程线线连接点连接点l算法的特性:算法的特性:有穷性、确定性、可行性、输入、输出有穷性、确定性、可行性、输入、输出l算法描述算法描述:N-SN-S图图(盒图盒图):特点:无流程线,算法的所有处理步骤都写在一个特点:无流程线,算法的所有处理步骤都写在一个大矩形框中大矩形框中(表示简单,符合结构化思想表示简单,符合结构化思想)直到型直到型当型当型伪代码:伪代码:用介于自然语言与计算机语言之间的文字及符号用介于自然语言与计算机语言之间的文字及符号描述算法描述算法(方便、易懂,(方便、易懂,便于向计算机语言过
9、度便于向计算机语言过度)例:从键盘中输入例:从键盘中输入100个整数,对其中的正个整数,对其中的正整数进行累加,最后输出结果。整数进行累加,最后输出结果。算法描述算法描述(自然语言)自然语言)输入一个数;输入一个数;如果该数如果该数0,累加它;,累加它;如果如果100个数没有输入完,转步骤个数没有输入完,转步骤(1);输入完输入完100个数后,输出累加和。个数后,输出累加和。算法描述算法描述(流程图)流程图)起止框起止框处理框处理框判断框判断框流向线 开始开始 输入一个数输入一个数 该数该数0 累加累加输入完输入完100个个数数 输出累加和输出累加和 结束结束YYNN算法描述算法描述(-流程图
10、)流程图)算法的C语句实现voidmain()intx;/*存放输入数的单元存放输入数的单元*/intcount;/*存放输入个数的单元存放输入个数的单元*/intsum;/*存放累加和的单元存放累加和的单元*/count=0;sum=0;/*工作单元初值工作单元初值*/doscanf(“%d”,&x);/*输入一个数输入一个数*/count+;/*每每输输入入一一个个数数,记记一一下下数数*/if(x0)/*判断输入数判断输入数0否否*/sum=sum+x;/*是是0,则则加加到到累累加加和和中中*/while(count100);/*未未输输入入完完100个个数数,则则重重复复*/prin
11、tf(“%d”,sum);/*输出累加和输出累加和*/准准备备工工作作 算算法法步步骤骤1.3 C1.3 C语言程序概要语言程序概要1.3.11.3.1函数(函数(p8p8)Intmain(void)例例1.1 1.1 在屏幕上显示在屏幕上显示:Programmingisfun.printf(“Programmingisfun.n”);语句语句执行该语句就是调用执行该语句就是调用printf函数函数#include编译预处理命令编译预处理命令return0;/*/*向操作系统返回一个数字向操作系统返回一个数字0*/0*/*/*文件名:文件名:ex010101.c*/ex010101.c*/向操
12、作系统返回一个数字向操作系统返回一个数字0 0/*/*向操作系统向操作系统 返回一个数字返回一个数字0*/0*/1.任何程序都有主函数任何程序都有主函数2.程序由若干语句组成程序由若干语句组成3.语句由;结束语句由;结束主函数主函数输出函数注释注释/*文件名:文件名:ex010101.c*/#includeintmain(void)printf(“Programmingisfun.n”);return0;换行符例例1.1 1.1 在屏幕上显示在屏幕上显示:Programmingisfun.在屏幕上显示在屏幕上显示:Programmingisfun.ThefirstCProgram!#inclu
13、demain()printf(“Programmingisfun.n”);printf(“ThefirstCProgram!n”);#includevoidmain(void)inta,b,sum;/*/*变量定义变量定义*/*/a=3;/*/*变量使用变量使用*/*/b=2;sum=a+b;printf(“Thesumis%dn”,sum);/*/*输出结果输出结果*/*/Thesumis 5l计算并显示两个数的和计算并显示两个数的和 =赋值运算符赋值运算符%d 输入输出函数中的输入输出函数中的“格式字符串格式字符串”,表,表示示 以十进制整数的形式输出。以十进制整数的形式输出。(%d的位置
14、被的位置被sum的值的值取代取代)#includeIntmain(void)inta,b,sum;/*/*变量定义变量定义*/*/a=3;b=2;/*/*变量使用变量使用*/*/sum=a+b;多多printf(“Thesumis%dn”,sum);/*/*输出结果输出结果*/*/3+2=5l计算两个数的和计算两个数的和,以算式的形式显示以算式的形式显示Thesumis 5printf(“%d+%d=%dn”,a,b,sum);l计算两个数的和计算两个数的和,以算式的形式显示以算式的形式显示#includevoidmain(void)inta,b,sum;a=3;b=2;sum=a+b;pri
15、ntf(%d+%d=%dn,a,b,sum);输入输入2 2个数,求和。个数,求和。scanf(%d%d,&a,&b);/读入读入2个数个数输入函数输入函数printf(Input2numbers:n);/输入提示输入提示例例1.2输入输入2 2个数,求和。个数,求和。/*文件名:文件名:ex010201.c*/#includeintadd(int,int);intmain(void)inta,b,s;printf(Input2numbers:n);scanf(%d%d,&a,&b);s=add(a,b);printf(Thesumis:%dn,s);return0;intadd(inta,i
16、ntb)intsum;sum=a+b;returnsum;关于关于函数的声明函数的声明关于关于库函数库函数程序由程序由 主函数主函数 intmain(void)和和用户自定义函数用户自定义函数 intadd(inta,intb)组成组成例例1.31.3编写语言程序,计算一个数的正弦值。编写语言程序,计算一个数的正弦值。/*文件名:文件名:ex010301.c*/#include#includeintmain(void)floatx;/*定义定义x为实型变量为实型变量*/x=sin(0.19199);/*调用调用sin函数函数*/printf(“%fn”,x);/*调用调用printf函数,输出
17、函数,输出x的值的值*/子函数应当首选函数库中的,当库中没有时,自行设计。子函数应当首选函数库中的,当库中没有时,自行设计。使用库函数,通过文件包含命令把头文件包含在程序前面。使用库函数,通过文件包含命令把头文件包含在程序前面。结构特点v函数与主函数函数与主函数l程序由一个或多个函数组成程序由一个或多个函数组成l必须有且只能有一个主函数必须有且只能有一个主函数main()l程序执行从程序执行从main开始,在开始,在main中结束,其它函数通过嵌中结束,其它函数通过嵌套调用得以执行。套调用得以执行。例:/*This is the main /*of example1.1*/*/非法v编译预处理
18、命令编译预处理命令#includeintadd(intx,inty)intz;z=x+y;return(z);main()inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%dn,sum);v程序语句程序语句lC程序由语句组成程序由语句组成l用用“;”作为语句终止符作为语句终止符v注释l/*/为注释为注释,不能嵌套不能嵌套l不产生编译代码不产生编译代码函数的使用简化了主函数;可以实现模块化程序设计函数的使用简化了主函数;可以实现模块化程序设计格式特点格式特点v习惯用习惯用小写小写字母,大小写敏感字母,大小写敏感v不使用行号,不使用行号,无程序行无程序行
19、概念概念v可使用空行和空格可使用空行和空格v常用常用锯齿形锯齿形书写格式书写格式main().main()int i,j,sum;sum=0;for(i=1;i10;i+)for(j=1;j10;j+)sum+=i*j;printf(“%dn”,sum);优秀程序员的素质之一优秀程序员的素质之一:使用使用TAB缩进缩进对齐对齐有足够的注释有足够的注释有合适的空行有合适的空行.表达式语句表达式语句1.3.1.3.语句(语句(p12p12)学习语言程序设计,必须掌握变量、常量和运学习语言程序设计,必须掌握变量、常量和运算符的正确表示方法和使用规则。算符的正确表示方法和使用规则。.流程控制语句流程控
20、制语句条件条件语句语句否是条件条件语句语句语句语句否是例例1.4由键盘输入两个数,输出其中的较大数。由键盘输入两个数,输出其中的较大数。/*文件名:文件名:ex010401.c*/#includefloatmax2(floatx,floaty)floatmax;if(x=y)max=x;elsemax=y;printf(Themaxis:%fn,max);intmain(void)floata,b;printf(“Inputtworealnumbers:n”);scanf(%f%f,&a,&b);max2(a,b);return0;输入输入1.2352.345输出输出Themaxis:2.34
21、5000Xy?max=xmax=y否是输出输出max例例1.5由求累加和的值。由求累加和的值。/*文件名:文件名:ex010501.c*/#includeintsigma(intn)inti=0,sum=0;while(ib _above$1233days#33char$123ab1.3.41.3.4变量及其赋值变量及其赋值.变量变量存放存放数据数据的的工作单元工作单元在程序的运行过程中,在程序的运行过程中,其值可以改变其值可以改变变量定义的一般形式变量定义的一般形式 类型名类型名 变量表;变量表;变量名:小写字母,见名知义变量名:小写字母,见名知义类型名:类型名:v整型整型 int intv
22、实型(浮点型)实型(浮点型)floatdoublev字符型字符型 char变量必须 先定义,后使用(先赋值,后引用)。#includevoidmain()intx,y;x=3;y=x*x;printf(“%d”,y);一个变量名只能定义一次。一个变量名只能定义一次。变量一般都定义在程序的头上,变量一般都定义在程序的头上,C99C99可以定义在程序的中间或后面。可以定义在程序的中间或后面。.地址地址inta=1,b=-3,c;abc2字节字节2字节字节2字节字节地址地址地址地址.内存.2字节字节2字节字节2字节字节.随机数随机数编译程序根据变量定义为其编译程序根据变量定义为其分配指定字节的内存单
23、元分配指定字节的内存单元1变量名代表内存中的一块存储单元变量名代表内存中的一块存储单元用于存放该变量的值用于存放该变量的值该存储单元的大小由变量的数据类型决定该存储单元的大小由变量的数据类型决定int a,b,c;int a,b,c;a=1a=1;b=-3b=-3;-3.变量的赋值运算变量的赋值运算l赋值表达式赋值表达式 变量变量表达式表达式l赋值运算符赋值运算符 =计算赋值运算符右侧计算赋值运算符右侧表达式表达式的值的值将赋值运算符右侧将赋值运算符右侧表达式表达式的值赋给左侧的的值赋给左侧的变量变量将赋值运算符左侧的将赋值运算符左侧的变量变量的值作为表达式的值的值作为表达式的值n=2;n=n+1;inta=2,b=3;a=a+b;2 23 3a ab ba+ba+b2 23 35 5运算器运算器l赋值运算符的优先级和结合性赋值运算符的优先级和结合性 优先级较低优先级较低(14(14级级),从右向左,从右向左x=y=3;x=(y=3)左值与右值左值与右值“自右至左自右至左”的结合性的结合性赋值相当于复制赋值相当于复制变量的赋值l赋初值:在定义变量时对它赋值赋初值:在定义变量时对它赋值 inta=5,b=3;l赋值表达式:赋值表达式:inta,b;a=5;b=3;l输入函数输入函数:scanf(“%d%d”,&a,&b);