版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
C语言程序设计教材、参考书与课时安排教材C语言程序设计唐新来李春贵编科技出版社参考书C语言程序设计张向利等编广西师范大学出版社C语言程序设计何钦铭人民邮电出版社C语言程序设计谭浩强
清华大学出版社课时安排
理论+试验课:56学时(3.5学分)
教学要求掌握程序设计语言的基本知识常用算法初步的程序设计能力学习方法自主学习重视上机实践关于考试●总评成绩:平时学习表现+实验成绩+期末考试成绩(20%)
(30%)(50%)●六月份参加广西壮族自治区二级C语言统试●评分标准
(期末考试评分标准参见命题方案)•
学习表现(100分)基本原则:基本分50分,表现好累计加分至100分,表现不好累
计减分至0分,如果迟到、早退、旷课次数等违纪扣分超过
学习表现的总分值,则在期末总评分里酌情扣分。扣分项目:玩游戏一次扣15分(三次以上者取消本课程考核资
格),睡觉一次扣5分,影响课堂秩序的行为如说话等一次
扣5分。学生旷课一次扣15分,迟到及早退一次各扣5分。加分项目:正确回答问题一次加2分,主动回答问题一次加
5分,在课堂上能起积极引导作用加5分。•
作业(100分)作业做在作业本上,保质保量完成每章(共7章)作业得70分;老师每抽查、提问一次,酌情加1~10分。第1章计算机和C编程入门1.1计算机系统与程序设计语言机器语言汇编语言高级语言面向过程面向对象CPU指令系统,由0、1序列构成的指令码组成如:10000000加10010000减用助记符号描述的指令系统如ADDA,B面向机器的语言程序设计是数据被加工的过程客观世界可以分类,对象是类的实例对象是数据和方法的封装对象间通过发送和接受消息发生联系程序设计关键是定义类,并由类派生对象冯.诺依曼结构:计算机运算器控制器存储器主机:I/O设备:键盘、显示器等中央处理器CPU
●高级语言通用语言
fortran、basic
VB
C
C++(VC++BC++)数据库语言
foxbase、FoxPro
SQL
DelphiPowerbuilder网页制作工具HTMLJava●高级语言程序的开发过程编辑编译执行(一般包括七个步骤:p4~6)预处理器编译器链接器C语言及其标准BCPL→B→
C→
ANSIC标准
(C89)→C99●C语言的特点C语言允许直接访问计算机内部地址,能比其他语言更容易执行硬件操作。用于解决大多数应用领域中的问题。语法限制不太严格,程序设计自由度大,但同时不易查找错误。C语言中大小写字母代表不同含义。中级语言
任何一部机器都是用部件组装而成的,计算机程序也是由一些部件构建起来的。
C语言程序部件是函数。即,设计C语言程序就是设计它的构成函数。1.2算法的概念与表示程序用编程语言编写,完成特定功能的语句的集合。编程步骤:1.明确问题2.问题:若干具体步骤(算法)3.算法:程序4.上机调试运行算法解题方法或解题步骤的精确描述。①文字②图形(符号)常用的算法描述方法①带序号的自然语言描述:易懂却不直观,不严格②流程图:灵活、自由、形象、直观,可表示任何算法处理输入输出起止判断流程线连接点算法的特性:
有穷性、确定性、可行性、输入、输出算法描述:③N-S图(盒图):特点:无流程线,算法的所有处理步骤都写在一个大矩形框中(表示简单,符合结构化思想)直到型当型④伪代码:用介于自然语言与计算机语言之间的文字及符号描述算法(方便、易懂,便于向计算机语言过度)例:从键盘中输入100个整数,对其中的正整数进行累加,最后输出结果。
●算法描述(自然语言)⑴输入一个数;⑵如果该数>0,累加它;⑶如果100个数没有输入完,转步骤(1);⑷输入完100个数后,输出累加和。●算法描述(流程图)起止框处理框判断框流向线
开始
输入一个数
该数>0累加输入完100个数输出累加和结束YYNN●算法描述(N-S流程图)算法的C语句实现voidmain(){intx; /*存放输入数的单元*/intcount; /*存放输入个数的单元*/intsum; /*存放累加和的单元*/count=0;sum=0;/*工作单元初值*/do{ scanf(“%d”,&x);/*输入一个数*/ count++;/*每输入一个数,记一下数*/ if(x>0)/*判断输入数〉0否*/ sum=sum+x;/*是〉0,则加到累加和中*/}while(count<100);/*未输入完100个数,则重复*/printf(“%d”,sum);/*输出累加和*/}准备工作
算法步骤1.3C语言程序概要1.3.1函数(p8)Intmain(void){
}例1.1在屏幕上显示:Programmingisfun.printf(“Programmingisfun.\n”);语句执行该语句就是调用printf函数#include<stdio.h>编译预处理命令return0;/*向操作系统返回一个数字0*//*文件名:ex010101.c*///向操作系统返回一个数字0/*向操作系统返回一个数字0*/1.任何程序都有主函数2.程序由若干语句组成3.语句由;结束主函数输出函数注释/*文件名:ex010101.c*/#include<stdio.h>intmain(void){printf(“Programmingisfun.\n”);return0;}换行符例1.1在屏幕上显示:Programmingisfun.在屏幕上显示:
Programmingisfun.
ThefirstCProgram!#include<stdio.h>main(){
printf(“Programmingisfun.\n”);}printf(“ThefirstCProgram!
\n”);}#include<stdio.h>voidmain(void){
inta,b,sum;
/*变量定义*/
a=3;/*变量使用*/b=2;
sum=a+b;
printf(“Thesumis%d\n”,sum);/*输出结果*/}Thesumis
5计算并显示两个数的和
=赋值运算符%d输入输出函数中的“格式字符串”,表示
以十进制整数的形式输出。(%d的位置被sum的值取代)#include<stdio.h>Intmain(void){
inta,b,sum;
/*变量定义*/
a=3;b=2;/*变量使用*/
sum=a+b;
多printf(“Thesumis%d\n”,sum);/*输出结果*/}3+2=5计算两个数的和,以算式的形式显示Thesumis
5
printf(“%d+%d=%d\n”,a,b,sum);计算两个数的和,以算式的形式显示#include<stdio.h>voidmain(void){inta,b,sum;
a=3;b=2;sum=a+b;printf("%d+%d=%d\n",a,b,sum);}
●输入2个数,求和。scanf("%d%d",&a,&b);
//读入2个数输入函数printf("Input2numbers:\n");//输入提示例1.2输入2个数,求和。/*文件名:ex010201.c*/#include<stdio.h>intadd(int,int);intmain(void){ inta,b,s; printf("Input2numbers:\n"); scanf("%d%d",&a,&b); s=add(a,b); printf("Thesumis:%d\n",s); return0;}intadd(inta,intb){intsum;sum=a+b;returnsum;}①关于函数的声明②关于库函数程序由主函数intmain(void)
和用户自定义函数intadd(inta,intb)
组成例1.3
编写C语言程序,计算一个数的正弦值。/*文件名:ex010301.c*/#include<stdio.h>#include<math.h>intmain(void){floatx;/*定义x为实型变量*/x=sin(0.19199);/*调用sin函数*/printf(“%f\n”,x);/*调用printf函数,输出x的值*/}●子函数应当首选函数库中的,当库中没有时,自行设计。●使用库函数,通过文件包含命令把头文件包含在程序前面。结构特点函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。例:/*Thisisthemain/*ofexample1.1*/*/非法编译预处理命令#include<stdio.h>intadd(intx,inty){intz;z=x+y;return(z);}main(){inta,b,sum;a=10;b=24;sum=add(a,b);printf(”sum=%d\n",sum);}程序语句C程序由语句组成用“;”作为语句终止符注释/**/为注释,不能嵌套不产生编译代码函数的使用简化了主函数;可以实现模块化程序设计格式特点习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式main(){
……………….………………
…………..…………..
……………….
………………………….
……………….………………..}main(){
inti,j,sum;sum=0;for(i=1;i<10;i++){for(j=1;j<10;j++){sum+=i*j;}}printf(“%d\n”,sum);}优秀程序员的素质之一:使用TAB缩进{}对齐有足够的注释有合适的空行1.表达式语句1.3.2语句(p12)学习C语言程序设计,必须掌握变量、常量和运算符的正确表示方法和使用规则。2.流程控制语句条件语句否是条件语句1语句2否是例1.4
由键盘输入两个数,输出其中的较大数。/*文件名:ex010401.c*/#include<stdio.h>floatmax2(floatx,floaty){ floatmax;if(x>=y) max=x; else max=y;printf("Themaxis:%f\n",max);}intmain(void){floata,b; printf(“Inputtworealnumbers:\n”); scanf("%f%f",&a,&b); max2(a,b); return0;}输入1.2352.345输出Themaxis:2.345000X≥y?max=xmax=y否是输出max例1.5
由求累加和的值。/*文件名:ex010501.c*/#include<stdio.h>intsigma(intn){inti=0,sum=0;while(i<n) {i++;sum=sum+i; }returnsum;}intmain(void){intm,total;scanf("%d",&m);total=sigma(m);printf("total=%d\n",total);return0;}i≤n?sum=sum+1returnsum否是i=0,sum=0i++3.块语句块语句在语法上相当于一条语句。基本输入输出函数简介格式化输出函数printf()printf(格式控制,输出参数1,...,输出参数n);printf("HelloWorld!\n");printf("%d,%d\n",resm,resn);printf("sum=%d\n",sum);格式控制格式控制说明
%…
%d:输出十进制整数%f:输出十进制浮点数%c:输出单个字符普通字符原样输出普通字母数字及符号转义字符\n,\tx=34;y=3.14;printf("X=%d,Y=%f",x,y);输出:X=34,Y=3.14格式化输入函数scanf()scanf(格式控制,输入参数1,...,输入参数n);格式控制说明
%…
普通字符原样输入scanf("%d%d",
&m,
&n);
格式控制变量地址scanf("%d,%d",
&m,
&n);要求输入:5,6scanf("m=%d,n=%d",
&m,
&n);要求输入:
m=5,
n=6
最好直接了当:scanf("%d%d",&m,&n);2.4C程序的上机步骤C程序开发步骤编辑链接编译执行程序代码的录入,生成源程序*.c语法分析查错,翻译生成目标程序*.obj与其它目标程序或库链接装配,生成可执行程序*.exe开始结束编辑编译连接执行有错?结果正确?可执行目标程序*.exe源程序*.c库函数和其他目标程序目标程序*.obj无有正确不正确TurboC2.0的集成环境用F10激活菜单栏Alt+大写字母选择菜单,如Alt+F选择File菜单F9编译源程序,Ctrl+F9连接运行,Alt+F5看运行结果①26个英文字母(大写和小写表示两个不同的字符)②10个阿拉伯数字(0~9)③其它特殊符号,以运算符为主(+、-、*、/、!等)
●
C语言的字符集
在C语言中,变量名、符号名、函数名、数组名、文件名和其它由用户自定义的数据类型名,被统称为标识符。
●标识符
1.3.3名字与声明(p15~17)●标识符的书写规则:①合法的标识符(名字)只能由字母、数字和
下划线组成。②必须以字母或下划线开头。③不能用保留字作为标识符。例:判断下列标识符号合法性sumSumM.D.JohndayDate3daysstudent_name#33lotus_1_2_3chara>b_above$123M.D.John3days
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 吉林艺术学院《时尚影视化装设计》2021-2022学年第一学期期末试卷
- 2024年共同赡养孩子协议书模板
- 香港海关保密协议书范文范本
- 2024年多层小区出租合同范本
- 2024年大型钢企销售合同范本
- 吉林师范大学《微控制器导论》2021-2022学年期末试卷
- 《供应链管理》教案 张静芳 第3章 供应链网络构建;第4章 供应链协调管理
- 农村买卖房屋的契约协议书范文
- 吉林师范大学《曲式与作品分析》2021-2022学年第一学期期末试卷
- 吉林师范大学《建筑给水排水工程》2021-2022学年第一学期期末试卷
- JJF(新) 99-2023 液体流量计现场校准规范
- 2024年海岛旅游行业分析报告及未来发展趋势
- 针刺伤标准预防
- 团播主持人协议
- 跨国企业中方外派人员的跨文化适应
- 国际航空运费计算
- 《静载试验讨论》课件
- 《光伏屋顶系统简介》课件
- 村里建群管理制度
- 消防车事故培训课件模板
- 【城市轨道交通运营安全管理研究5300字】
评论
0/150
提交评论