




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、程序设计基础程序设计基础学习邮箱:学习邮箱:c_ 密码:密码:cisfun2022-4-12信息工程系12022-4-12信息工程系2编写一个简单的编写一个简单的C程序程序/*A first program in C */#include main( ) printf( To C, or not to C: that is the question!n);2022-4-12信息工程系3程序的执行过程程序的执行过程l预处理预处理l编译编译l链接链接l运行运行2022-4-12信息工程系4简单简单C程序的通用形式程序的通用形式指令指令main( ) 语句语句2022-4-12信息工程系5P1-1/
2、*A program for 1+2*/#include main() printf(“%dn”, 1+2);实验实验1:计算:计算3+4的值的值实验实验2:计算:计算56的值的值实验实验3:计算:计算84的值的值实验实验4:计算:计算85的值的值2022-4-12信息工程系6P1_1#include main() printf(“%dn”, 8/5);printf(“%.1lfn”, 8.0/5.0);实验实验5:将将%.1lf修改为修改为%.2lf、%lf实验实验6:将将8.0/5.0修改修改为为8/5实验实验7:将:将%.lf修改为修改为%d2022-4-12信息工程系7P1_1告诉我们
3、什么?告诉我们什么?lC程序的基本结构程序的基本结构lC语言中的数据处理语言中的数据处理2022-4-12信息工程系8 p1_1中中main( ) 表示表示“主函数主函数”。每一每一个个C程序都必须有一个程序都必须有一个main 函数函数。函数。函数体由大括号体由大括号 括起来括起来. 本例中主函数只有一条语句,本例中主函数只有一条语句,printf( )是是C语言中的输出函数语言中的输出函数。双引号内的。双引号内的n是是换行符。即在输出计算结果后回车换行。换行符。即在输出计算结果后回车换行。 每条语句必须以分号结尾每条语句必须以分号结尾。观其大略观其大略2022-4-12信息工程系9l超级无
4、敌考考你:超级无敌考考你:如何把如何把“hello”和和“world” 分别打印在两分别打印在两行?行?2022-4-12信息工程系10P1_2 任意输入两个整数,求其和任意输入两个整数,求其和/*求任意两个整数的和求任意两个整数的和*/main( ) int a, b; scanf(“%d%d”, &a, &b); printf(“%dn”, a+b);若删除若删除“&”会怎么样?会怎么样?变量定义语句变量定义语句2022-4-12信息工程系11C语言中的数据语言中的数据l整数整数l实数实数- 严格讲称:浮点数严格讲称:浮点数%d %lf %f2022-4-12信息工程系12P1-3 求圆柱
5、体的表面积:输入底面半径求圆柱体的表面积:输入底面半径和高,输出表面积,保留和高,输出表面积,保留3位小数,位小数,格式如下:格式如下: 输入:输入:3.5 9 输出:输出:Area= 274.8892022-4-12信息工程系13/*输入底面半径和高,求圆柱体的表面积输入底面半径和高,求圆柱体的表面积*/#include main( ) double r, h , s1 , s2 , area; double pi = 3.141526; scanf (“%lf %lf”, &r, &h); s1 = r * r * r; s2 = 2 * pi * r * h; area = 2 * s1
6、 + s2; printf(“Area = %.3lfn”, area );3.141526s2 = 2 * PI * r * h;2022-4-12信息工程系14P1_4 输入一个三位数,分离出输入一个三位数,分离出其百、十、个位,反转后输出。其百、十、个位,反转后输出。l样例:样例:输入:输入:123输出:输出:3212022-4-12信息工程系15#include main( ) int n; scanf(“%d”, &n); printf(“%d%d%dn”, n%10, n/10%10, n/100);若输入了两位数若输入了两位数 25,会怎样?,会怎样?若输入了三位数若输入了三位数
7、 250,会怎样?,会怎样?2022-4-12信息工程系16P1_5 输入两个整数,交换二者输入两个整数,交换二者的值,然后输出。的值,然后输出。l样例:样例:l输入输入 824 16l输出输出 16 8242022-4-12信息工程系17/*输入两个整数,交换二者的值,然后输出*/#include main( ) int a, b ,t; scanf(“%d%d”, &a, &b); t = a; a = b; b = t; printf(“%d ,%dn”,a,b);2022-4-12信息工程系18代码风格代码风格2022-4-12信息工程系19没有代码风格没有代码风格#include m
8、ain()int fahr,celsius;int lower,upper,step;lower=0;upper=300;step=20;fahr=lower;while (fahr=upper)celsius=5*(fahr-32)/9;printf(%dt%dn,fahr,celsius);fahr=fahr+step;2022-4-12信息工程系20本程序中的本程序中的/*/表示注释部分表示注释部分.第四行是声明部分第四行是声明部分,定义变量定义变量 a 和和 b ,指定指定 a 和和b 为整型变量为整型变量.第五、六行是两个赋值语句第五、六行是两个赋值语句,使使 a 和和 b 的值分别
9、为的值分别为123 和和 456 .第七行使第七行使 sum的值为的值为a+b. 输出一行信息为:输出一行信息为: sum is 579例例:求两个整数求两个整数a 和和 b之和之和 ./*求两个整数之和求两个整数之和*/#include main( ) int a, b, sum; a = 123; b = 456; sum = a+b; printf (“sum is %dn”,sum);2022-4-12信息工程系21函数函数l前面使用了系统提供的函数:前面使用了系统提供的函数:printf,scanfl使用函数时,我们不用知道这个函数内部是如何使用函数时,我们不用知道这个函数内部是如何
10、运作的,只需按照我们的需要和它的参数形式调运作的,只需按照我们的需要和它的参数形式调用它即可用它即可l我们也可以定义自己的函数我们也可以定义自己的函数l“一个程序应该是轻灵自由的,它的函数就象串一个程序应该是轻灵自由的,它的函数就象串在一根线上的珍珠。在一根线上的珍珠。”(编程之道)(编程之道)2022-4-12信息工程系22本程序包括两个函数:主函数本程序包括两个函数:主函数main 和被调用的函数和被调用的函数max。max 函数函数的作用是将的作用是将x和和 y 中较大中较大者的值赋给变量者的值赋给变量z。 return 语句将语句将z的值返回给主调函数的值返回给主调函数main。返回值
11、是通过函数名返回值是通过函数名max带回到主带回到主函数函数max的调用处。的调用处。例例:求两个整数的最大值求两个整数的最大值#include int max(int x, int y) /*max函数用于求两整数的最大值函数用于求两整数的最大值*/ int z; if (xy) z=x; else z=y ; return (z); /*返回最大值返回最大值*/ main() int a,b,c; scanf (“%d,%d”,&a,&b); c=max (a,b); /*调用调用max函数函数*/ printf (“max =%d”,c); 2022-4-12信息工程系23例例:求两个整
12、数的最大公约数和最小公倍数求两个整数的最大公约数和最小公倍数#include int gy(int m, int n) /*gy函数用于求两整数的最大公约数函数用于求两整数的最大公约数*/ int x, r; if (m n) x = m; m = n ; n = x; r= m% n; while( r!=0) m = n; n=r; r = m%n; return n; /*返回最大公约数返回最大公约数*/ void main() int a, b, t; printf(“input 2 numbers:n”); scanf (“%d%d”,&a,&b); t=gy (a,b); /*调用
13、调用gy函数函数*/ printf (“max common divisor is%d”, t ); printf (“min common multiple is%d”, a*b/t ); 2022-4-12信息工程系24通过以上几个例子通过以上几个例子,可以看到可以看到: (1)C程序是由函数构成的程序是由函数构成的.一个一个C源程序至少包含一个源程序至少包含一个main函函数数,也可以包含一个也可以包含一个main函数和若干个其他函数。函数和若干个其他函数。因此,因此,函数是函数是C程程序的基本单位序的基本单位。 C的这种特点使得容易实现程序的模块化。的这种特点使得容易实现程序的模块化。
14、 (2)一个函数有两部分组成:一个函数有两部分组成: 1函数首部函数首部,即函数的第一行即函数的第一行.包括函数名包括函数名,函数类型函数类型,函数属性函数属性,函函数参数名数参数名,参数类型参数类型. 例如例如, max函数的首部为函数的首部为 int max (int x, int y ) 函数类型函数类型 函数名函数名 函数参数类型函数参数类型函数参数类型函数参数类型 函数参数名函数参数名一个函数名后面必须跟一个圆括弧,函数参数可以没有,如一个函数名后面必须跟一个圆括弧,函数参数可以没有,如main()函数参数名函数参数名2022-4-12信息工程系25 2函数体,即函数首部下面的大括弧
15、内的部分函数体,即函数首部下面的大括弧内的部分函数体一般包含:函数体一般包含: .声明部分声明部分:在这部分中定义所用到的变量和函数声明. .执行部分执行部分:由若干个语句组成. (3)一个一个C程序总是从程序总是从main函数开始执行的函数开始执行的,而不论而不论main函数在整函数在整个程序中的位置如何个程序中的位置如何. (4)C程序书写格式自由程序书写格式自由,一行内可以写几个语句一行内可以写几个语句,一个语句可以分一个语句可以分写在多行上写在多行上. (5)每个语句和数据定义的最后必须有一个分号。每个语句和数据定义的最后必须有一个分号。分号是分号是C语句的必要组成部分。语句的必要组成
16、部分。 (6)C语言本身没有输入输出语句。语言本身没有输入输出语句。输入和输出的操作是由库函输入和输出的操作是由库函数数scanf和和printf等函数来完成的。等函数来完成的。 (7)可以用可以用/*/对对C程序中的任何部分作注释程序中的任何部分作注释。一个。一个好的,有使用价值的源程序都应当加上必要的注释,以增加程序的好的,有使用价值的源程序都应当加上必要的注释,以增加程序的可读性可读性。2022-4-12信息工程系26C程序的开发环境及执行过程程序的开发环境及执行过程 计算机只能识别和执行由计算机只能识别和执行由0和和1组成的二进制的指令,而组成的二进制的指令,而不能识别和执行用高级语言
17、写的指令。为了使计算机能执不能识别和执行用高级语言写的指令。为了使计算机能执行高级语言源程序,必须先用一种称为行高级语言源程序,必须先用一种称为“编译程序编译程序”地软地软件件,把源程序翻译成二进制形式的把源程序翻译成二进制形式的“目标程序目标程序”,然后将,然后将该目标程序与系统的函数库和其他目标程序连接起来,形该目标程序与系统的函数库和其他目标程序连接起来,形成可执行的目标程序。成可执行的目标程序。上机输入与上机输入与编辑编辑源程序源程序 ;对源程序进行对源程序进行编译编译 ;与库函数与库函数连接连接 ;运行运行目标程序目标程序2022-4-12信息工程系27有无正确可执行目标程序f.ex
18、e开始编辑编译有错?执行连接结果 正确?结束不正确源程序f.c目标程序f.obj库函数和其他目标程序2022-4-12信息工程系282022-4-12信息工程系292022-4-12信息工程系302022-4-12信息工程系312022-4-12信息工程系32C语言中使用的词汇分为:语言中使用的词汇分为:标识符、关键字、运算符、常量、注释符等标识符、关键字、运算符、常量、注释符等(1 1)标识符)标识符 v在程序中使用的变量名、函数名、标号等在程序中使用的变量名、函数名、标号等统称为标识符。统称为标识符。v标识符只能是字母、数字、下划线组成的标识符只能是字母、数字、下划线组成的字符串,并且其第
19、一个字符必须是字母或字符串,并且其第一个字符必须是字母或下划线。下划线。 2022-4-12信息工程系33使用标识符时需注意:使用标识符时需注意:v 字母的大小写有区别。字母的大小写有区别。 如:如:BOOK BOOK 与与 bookbook是两个不同的标识符是两个不同的标识符 v 为便于使用,标识符的命名应尽量有相应为便于使用,标识符的命名应尽量有相应意义。意义。 2022-4-12信息工程系34下划线和大小写通常用来增强可读性下划线和大小写通常用来增强可读性 variablename variable_name、VARIABLE_NAME VariableNamev 某些功能的变量采用习惯命名某些功能的变量采用习惯命名 如:如:for语句所采用的循环变量习惯用语句所采用的循环变量习惯用i, j, k2022-4-12信息工程系35(2 2)关键字)关键字 又称为保留字,又称为保留字,C C语言中预先规定的具语言中预先规定的具有固定含义的一些单词有固定含义的一些单词. . 用户定义的标识符不应与关键字相同,用户定义的标识符不应与关键字相同,关键字分为如下几类:关键字分为如下几类: 类型说
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 实践应用2025年软件设计师试题及答案
- 如何培养学生的自主学习能力计划
- 2024年河北省文化和旅游厅下属事业单位真题
- 湖北省武汉市江岸区2025年八下数学期末学业质量监测模拟试题含解析
- 2024年贵州省商务厅下属事业单位真题
- 2024年南大奥宇高级中学招聘笔试真题
- 风险管理建议与企业应对措施试题及答案
- 打造高效学习计划软件设计师考试的试题及答案
- 2025年软考网络管理员考试复习笔记和试题及答案
- 代码注释与文档对照的作用试题及答案
- 事业单位考试职业能力倾向测验(综合管理类A类)试题与参考答案(2024年)
- 2015-2024年十年高考数学真题分类汇编专题23 导数及其应用大题综合(学生版)
- 四川盆地果树病虫害绿色防控-终结性考核-国开(SC)-参考资料
- 水土保持方案投标文件技术部分
- 钻井及井下作业井喷事故典型案例
- 《新能源汽车》课件 课题四 纯电动汽车
- GB/T 15934-2024电器附件电线组件和互连电线组件
- CQI-23模塑系统评估审核表-中英文
- 2023年重庆市中考化学试卷(B卷)及答案解析
- 湖北省2024年中考生物试卷
- 基于机器学习的腐蚀监测
评论
0/150
提交评论