收藏 分享(赏)

C语言程序设计基础教程new.doc

上传人:dzzj200808 文档编号:2212026 上传时间:2018-09-05 格式:DOC 页数:31 大小:157KB
下载 相关 举报
C语言程序设计基础教程new.doc_第1页
第1页 / 共31页
C语言程序设计基础教程new.doc_第2页
第2页 / 共31页
C语言程序设计基础教程new.doc_第3页
第3页 / 共31页
C语言程序设计基础教程new.doc_第4页
第4页 / 共31页
C语言程序设计基础教程new.doc_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、C 语言程序设计谢利东目录绪论 2第 01 讲 C 语言概述 2第 02 讲 基本数据类型 3第 03 讲 运算符 6第 04 讲 流程控制 10第 05 讲 数组 18第 06 讲 函数 21第 07 讲 算法设计范例 24第 08 讲 自我检测(含答案) 28绪论一、 课程简介课程内容:C 语言程序设计基础知识适用对象:程序设计初学者二、 课程目标1、 了解程序设计的相关知识2、 掌握 C 编程3、 理解程序设计语言的基本构成要素4、 掌握算法设计第 01 讲 C 语言概述一、 程序设计语言的发展1、 机器语言:是唯一能被计算机直接解释和执行的语言2、 汇编语言:与机器语言相似,但加入了助

2、记符 Add a,b a+b3、 面向过程的语言:自助游,需理解细节;Basic、C4、 面向对象的语言:找旅行社,无需理解细节;C+、Java、C#二、 C 语言简介三、 编写实例:Hellomain()printf( “Hello,C! ”);四、 在 Turboc 中编写运行 C 程序的步骤1、 启动 TC2、 执行 Alt+F,进入 File 菜单,执行 New,新建源文件3、 输入代码并保存 编辑执行 Alt+F,进入 File 菜单,执行 Save,保存源文件4、 执行 Alt+C,进入 Compile 菜单,执行“Compile to OBJ”若代码有错,需纠错 编译5、 执行

3、Alt+C,进入 Compile 菜单,执行“Make EXE File”若代码有错,需纠错 连接6、 执行 Alt+R,进入 Run 菜单,执行“Run” 执行7、 执行 Alt+F5,查看运行结果,查看完后按下 Enter,返回编辑环境说明:(1) 编写 C 程序的步骤:P4(2) 实际运行中,可通过快捷键简化一些操作五、 C 程序的基本构成Ctrl+F9第 02 讲 基本数据类型一、 数据类型简介1、 什么是数据类型?对数据的“抽象” 12、13、45、1.2、1.56、0.4e6、RuiLi 、DaLi2、 为什么要有数据类型20040102 可以代表学号,属于字符可以代表整数,属于数

4、值可以代表日期,属于日期时间3、 C 语言中有哪些数据类型?P164、 基本数据类型数值型、字符型、枚举型二、 变量和常量1、 变量:程序运行期间,值可能改变的量(Variation )2、 常量:程序运行期间,值不会改变的量(Const)例如:计算机出 10 道加法练习题形式:7+5=?、8+9=?第 1 个加数 加号 第 2 个加数 等号op1 + op2 = result第 1 次:op1=6,op2=7 :6+7第 2 次:op1=5,op2=8 :5+8控制题目数量:OPNUM=103、 常量类型符号常量:通过#define 定义的常量字面常量(直接常量):与变量相似,字面常理有整型

5、、实型、字符型3.14、3、RuiLi三、 整型类型1、 整型常量形如 3、4、67、890、5632 的数据,可以赋给整型变量2、 整型变量#include “*.h”main() /*注释*/代码包含头文件,即函数库Main 函数,所有 C 程序必须有且只能有一个main 函数(1) 短整型(short)声明: short a ; 声明一个变量的格式:“ 数据类型 变量名 ;”范围:占 16 位,范围为-3276832767(2) 整型(int)声明:int a;范围:占 16 位,范围为-3276832767(3) 长整型(long)声明:long a;范围:占 32 位,范围为-214

6、7483648 21474836473、 实例练习 1main()int a,b,sum ;a=312;b=789;sum=a+b;printf(“ The sum of a add b is : %d n”,sum);4、 实例练习 2对上例的改进main()int a,b,sum; -声明整型变量 a,b,sumprintf (“ Please input two integers(a and b):n”); -提示输入两个整数scanf(“%d,%d”, -要求输入两个整数,分别给 a、b,两数间用逗号隔开,例如 3,5sum=a+b; -计算 a、b 之和printf(“Sum=%dn

7、”,sum); -将结果输出到屏幕上四、 实型类型1、实型常量形如 1.2、0.5、0.0023、1.0、2.0 的数据,可以赋给实型变量2、实型变量(1) 单精度(float)声明:float a;范围:占 32 位, -3.4*10-38 3.4*1038 ,6 位精度(2) 双精度(double )声明:double a;范围:占 64 位,-1.7*10 -3081.7*10308 ,16 位精度3、实型常量的表示十进制小数:如 .123、123.、0.123、123.0、0.0指数形式(规范化):1.23e6 或 1.23E61.23*1060.123e7 或 0.123E7 非规范

8、化12.3e5 或 12.3E5 非规范化Main 函数声明 3 个整型变量,a、b 、sum让 a 的值等于 312让 b 的值等于 789计算 a 加 b 的结果将结果显示到屏幕上4、 实例练习输入 3 个数(整数或小数均可) ,求平均分析:输入的 3 个数可以是整数,也可是小数,故只能声明为实型整数:1.0代码:main()float x1,x2,x3,average; -声明 4 个实型变量,分别输入的 3 个数和平均值printf(“Please input three float data:n”); -提示输入 3 个实型数据scanf (“ %f , %f , %f”, -输入

9、3 个实型数据,分别给 x1、x2、x3,逗号隔开average=(x1+x2+x3)/3; -求平均值printf(“Average=%fn”,average); -输出结果五、 字符型1、字符常量表示:x (用单引号,不能是双引号;只能有一个字符)例如:a、 b表示字符常量 a 和 b转义字符:系统定义,有特殊含义的字符n换行;b退格,前移一列t下跳一制表位,后移 8 列2、字符串常量表示:”a dog” (用双引号,不能用单引号;可以放多个字符)例如:”a dog” 表示字符串 a dog,由 5 个字符组成3、字符变量声明:char c;注意:一个字符变量只能存放一个字符常量,即c=a

10、 ,正确;c=”a dog”,错误4、实例 1字符常量及转义字符的使用main()printf(“nn”); -将当前屏幕换行 2 次,以方便查看结果printf(“no break:a dog”); -不加n 的效果printf(“n”); -换行,以便比较结果printf(“ a break:a n dog”); -加n 的效果printf(“n”); -换行,以便比较结果printf(“no reback:a dog ”); -不加b 的效果 printf(“n”); -换行,以便比较结果printf(“a reback:abdog ”); -加b 的效果printf(“n”); -换行

11、,以便比较结果printf(“a tab:a t dog”)-加t 的效果5、 实例 2字符变量的使用main()char c; -声明字符变量 cc=a; -c 赋值为aprintf(“nchar c=%c”,c); -将变量 c 以字符变量的形式输出,结果应为 aprintf(“nchar c=%d”,c) -将变量 c 以整型变量的形式输出,结果为 97c=c+1;printf(“nchar (c+1)=%c”,c); -将变量 c 以字符变量的形式输出,结果应为 bprintf(“nchar (c+1)=%d”,c) ;-将变量 c 以整型变量的形式输出,结果为 98第 03 讲 运算

12、符一、 运算符简介1、 什么是运算符表示运算形式的符号称为运算符如:1+2、2*3、6/8、7%2对数据的加工称为运算2、 C 语言中有哪些运算符?P29在 C 语言中共有 13 类运算符,约有 45 个二、 算术运算符1、 算术运算符有:+、- 、*(shift+8 ) 、/(除) 、%(求余数)2、 运算规则(1) 优先级:*、/、% 优先级为 3、+、- 、优先级为 4(2) 结合性:自左至右2+6*7-8/2+9%53、 实例练习 1main()int a,b,m,f,n;-a、b 为输入的整数 m=a*b、f=a/b 、n=a%bprintf(“Please input two in

13、tegers(a and b):n”) ;-提示输入整数 scanf(”%d,%d”, -*运算 结果为 15f=a/b; -/ 运算 结果为 1n=a%b; -% 运算 结果为 2printf(“m=a*b=%dn”,m); -输出 mprintf(“f=a/b=%dn”,f); -输出 fprintf(“n=a mod b=%dn”,n); -输出 ngetch(); -Win-TC 额外要求,查看结果对 / 和 % 的理解:/ :结果与承载变量的类型相关int a,b,f; f=a/b;因为承载结果的变量 f 是整型,故结果都是整数,不带有小数如 a=3、b=5,则 f=3/5=0,结果

14、为 0,不是 0.6如果想让除的结果为小数,则需要把 f 声明为 float 型float a,b,f;f=a/b;如 a=3.0,b=5.0,则 f=3.0/5.0,结果为 0.6%:求余,求余运算要求两侧的数据类型必须是整型(int)int a,b,f;f=a%b;如 a=5,b=3,则 f= 5 % 3=2 商 1 余 2如 a=3,b=5,则 f= 3 % 5=3 商 0 余 3float a,b,f;f=a % b;编译出错4、 实例 2除运算练习main()int a,b;int f1;float f2;printf(“Please input two integers:(a an

15、d b):n“);scanf(“%d,%d“,f1=a/b;float c,d;c=(float)a;d=(float)b;f2=c/d;printf(“int f1=a/b=%dn“,f1);printf(“int f2=a/b=%fn“,f2);getch();5、 实例 3求余运算练习main()int a,b,f;printf(“Please input two integers(a and b ):n“);scanf(“%d,%d“,f=a%b;printf(“f=%d“,f);getch();三、 关系运算符1、 关系运算符:(大于) 、=(大于或等于) 、=b ,若 a=4,b=

16、3 则表达式结果为真,即值为 1若 a=3,b=4 则表达式结果为假,即值为 04、 对关系运算的几点理解(1) axb:不能表达为:a1=684:数学中是错误的,而 C 程序设计中是对的91 结果为 1,表达式变为:1=6841=6 结果为 0,表达式变为:0840 8 结果为 0,表达式变为:0404 结果为 05、 实例 1main()int a,b,result ; -声明整型变量, result 用来承接 a、b 运算的结果printf (“Please input two integers(a and b ):n”); -提示输入两整数scanf(“%d,%d”, -接受输入分别给

17、变量 a、b,输入形式为 3,4result=(ab); -ab 运算printf(“result=(ab)=%dn”,result); -输出结果result=(a6) else if(score=80)grade=B;else if(score=70)grade=C;else if(score=60)grade=D;elsegrade=E;printf(“score=%d,grade=%c”,score,grade);6、 实例练习 3ifelse 输入 5 个数字,找出最大值和最小值并输出算法设计:从以下 5 个数 12,3,9,21,4 中找出最大值 max 和最小值 min第一步:m

18、ax=12 min=12第二步:max 、min 和第二个数 3 作比较如果第二个数大于 max,说明 max 应为第二个数,否则不变如果第二个数小于 min,说明 min 应为第二个数,否则不变3 和 max、min(12,12)比较:max=12 min=3第三步:max、min 和第三个数 9 作比较如果第三个数大于 max,说明 max 应为第三个数,否则不变如果第三个数小于 min,说明 min 应为第三个数,否则不变9 和 max、min(12,3)比较:max=12 min=3第四步:max、min 和第四个数 21 作比较如果第四个数大于 max,说明 max 应为第四个数,否

19、则不变如果第四个数小于 min,说明 min 应为第四个数,否则不变21 和 max、min(21,3)比较:max=21 min=3第五步:max、min 和第五个数 4 作比较如果第五个数大于 max,说明 max 应为第五个数,否则不变如果第五个数小于 min,说明 min 应为第五个数,否则不变4 和 max、min(21,3)比较:max=21 min=3第六步:输出结果max=21 min=3源代码:main()int x1,x2,x3,x4,x5,min,max;printf(“Number 1:n“); /* 第一步 */scanf(“%d“,max=min=x1;printf

20、(“Number 2:n“); /*第二步*/scanf(“%d“,if(x2max)max=x2;if(x2max)max=x3;if(x3max)max=x4;if(x4max)max=x5;if(x5max)max=x;if(xmax)max=x;if(xmax)max=x;if(x=1;day-)yesterdayNum=2*(todayNum+1);/*求上一天的桃子数*/todayNum=yesterdayNum; /*上推一天,第九天*/printf(“todayNum=%dn“,todayNum);getch();4、程序设计 p_2三、Fibonaci 数列的求解1、问题描述

21、:有数列 1,1,2,3,5,8,13求第 100 个数的值2、算法设计:数列的规律:i: 1 2 3 4 5 6 7 ai 1 1 2 3 5 8 13 ai= ai-1+ ai-2 i=3a3=a2+a1=1+1=2a4=a3+a2=2+1=33、程序设计 fabinocimain()double fabi100;int i;fabi0=1;fabi1=1;for(i=2;i0); D、if(b=0) m=1;n=2;4、以下 4 个用户定义的标识符中,不合法的一个是( )A、0_num B、num C、max_num D、max_num25、以下叙述中正确的是( )A、C 语言的源程序不

22、必通过编译就可以直接运行B、C 语言中的每条可执行语句最终都将被转换成二进制的机器指令C、C 源程序经编译形成的二进制代码可以直接运行D、C 语言中的函数不可以单独进行编译6、表示换行的转义字符是( )A、b B、t C、f D、n7、下列运算符中不属于算术运算符的是( )A、+ B、 / C、 printf(“%d,%dn”,x,y); 执行后输出结果是( )A、10,01 B、002,12 C、102,12 D、02,1010、已知字符 A 的 ACSII 码值为 65,以下语句的输出结果是( )char ch=A;printf(“%c, %dn”,ch,ch);A、A,65 B、A,A

23、C、65,A D、65,65三、简答题(每题 10 分,共 40 分)1、简述程序设计语言的发展。2、字符常量和字符串常量有什么区别。3、什么是函数? 4、什么是数组?数组有什么样的特点?四、程序设计题(每题 15 分,共 30 分)1、编写一个程序,由键盘输入任意两个实数,计算平均值后输出2、编写一个程序,实现从五个数中取出最大数及最小数的功能。答案:一、填空题(每空 1 分,共 10 分)1、整型、实型、字符型、枚举型。2、算术运算符、关系运算符、逻辑运算符、赋值运算符3、选择结构、循环结构二、选择题(每题 2 分,共 20 分)1-5: C C D A B 6-10:D C D C A三

24、、简答题(每题 10 分,共 40 分)1、简述程序设计语言的发展。答:程序设计语言的发展大致经历了四次升级换代:(1)机器语言:是唯一能被计算机直接理解和执行的语言;(2)汇编语言:与机器语言相似,加入了一些助记符,源程序经翻译后才能执行(3)面向过程的语言:克服了低级语言受硬件限制的特点,程序设计主要关注组织数据和设计算法两个部分(4)面向对象的程序设计语言;是一种结构模拟的方法,把现实世界看成是由许多对象组成,对象间通过消息进行联系,每个对象都是一个数据和方法的封装体抽象数据类型,是当代程序设计的主体2、字符常量和字符串常量有什么区别。答: 字符常量是一个字符,用单引号括起来。字符串常量

25、是由 0 个或若干个字符组合而成,而用双引号把它们括起来,存储时自动在字符串最后加一个结束符号0 ;一个字符常量可以赋给一个字符变量,但不能把一个字符串赋给一个字符变量。3、什么是函数?答:函数就是完成特定功能的一段小程序,具有功能单一,结构清晰、接口简单的特点。利用函数,可以实现模块化程序设计。一个较大的程序通常划分为若干个程序模块,每个模块实现一个特定的功能。在 C 语言中,模块功能就由函数来完成。另外,可将一些常用的功能模块编写成函数,放在函数库中供公共选用,可提高代码复用率。4、什么是数组?有什么样的特点?答: 数组是有序数据的集合。数组中的每一个元素都属于同一个数据类型。用一个统一的数组名和下标来唯一地确定数组中的元素。四、程序设计题(每题 15 分,共 30 分)1、编写一个程序,由键盘输入任意两个实数,计算平均值后输出#include Main()float x,y,a;scanf(“%f,%f”,a=(x+y)/2;printf(”The average is:%f” ,a)2、编写一个程序,实现从五个数中取出最大数及最小数的功能。Main()

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 高等教育 > 大学课件

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报