C语言学习文档 32页

  • 276.50 KB
  • 2022-08-23 发布

C语言学习文档

  • 32页
  • 当前文档由用户上传发布,收益归属用户
  1. 1、本文档由用户上传,淘文库整理发布,可阅读全部内容。
  2. 2、本文档内容版权归属内容提供方,所产生的收益全部归内容提供方所有。如果您对本文有版权争议,请立即联系网站客服。
  3. 3、本文档由用户上传,本站不保证质量和数量令人满意,可能有诸多瑕疵,付费之前,请仔细阅读内容确认后进行付费下载。
  4. 网站客服QQ:403074932
计算机导论与C语言西安邮电学院计算机学院王小银第一章C语言概述\n发展过程B语言:Bell实验室,1970年在PDP机器上用其编写UNIX系统CPL语言:剑桥大学,1963年BCPL语言:剑桥大学,1967年C语言:Bell实验室,1972~1973年用其改写UNIX系统经简化进一步简化保持精练、接近硬件的优点,克服数据类型过少的不足1.1C语言的发展和特点\nC标准与版本1983年:ANSIC1987年:87ANSIC:1990年:国际标准的ANSIC从软件类型来看面向过程:常用—TurboC(PC机版)VisualC(可视化)面向对象:常用—C++/VisualC(可视化)最新:为Windows和Web应用程序提供动态开发环境的VisualC++.NET(C#)1.1C语言的发展和特点\n1.1C语言的发展和特点学习编程好比学习写作学语基:学习数据类型、控制结构、语法规则等写文章:掌握程序分析、算法与编程等循次渐进阅读/分析程序→摹仿编程→掌握常见程序模块→简单程序→复杂编程多看参考书和现有程序重视上机,切实掌握程序调试技术\n语言简洁,表达能力强,易于理解只有32个关键字,9种控制语句数据构造能力强运算符和数据结构丰富程序书写格式自由程序设计结构化、模块化可直接访问物理地址,实现对硬件和低层系统软件的访问语言生成的代码质量高可移植性好增加学习难度1.1C语言的发展和特点\n例1.1第一个程序Hello,World!/*ThefirstCProgram*/#includemain(){printf(“Hello,World!”);}注释编译预处理函数语句输出:Hello,World!1.2C语言的程序结构printf(“Hello,World!\n”);\nC程序的上机步骤用户C源程序.c文件目标程序.OBJ文件可执行程序.exe文件结果编辑编译连接运行编译出错连接出错运行出错对源文件进行语法和逻辑结构检查将目标程序、库函数或其他目标程序连接成一个可执行文件\n程序设计语言处理流程名词:【源程序】用汇编语言或高级语言编写的程序【目标程序】经翻译程序翻译生成的程序【可执行程序】经连接程序处理过的程序\n/*Calculatethesumoftwointegers*/#includemain(){inta,b,sum;printf(“Pleaseinputtwointergers:”);scanf(“%d%d”,&a,&b);sum=a+b;printf(“sum=%d”,sum);}输入:510输出:sum=15例1.2求两个整数之和\n例1.3求两个整数的最大值/*Getthemax-valueoftwointegers*/#includeintGetMax(inta,intb){intmax;if(a>=b)max=a;elsemax=b;returnmax;}main(){inta,b,max;printf(“Pleaseinputtwointergers:”);scanf(“%d%d”,&a,&b);max=GetMax(a,b);printf(“max=%d”,max);}输入:510输出:max=10函数语句预处理命令注释\nintGetMax(inta,intb){intmax;if(a>=b)max=a;elsemax=b;returnmax;}函数类型函数名(形参类型说明表){说明语句;执行语句;}\n例求两个实数的最大值#includefloatGetMax(floata,floatb){floatmax;if(a>=b)max=a;elsemax=b;returnmax;}main(){floata,b,max;printf("Pleaseinputtwofloatnumber:");scanf("%f%f",&a,&b);max=GetMax(a,b);printf("max=%f",max);}输入:5.610.8输出:max=10.8\n格式特点习惯用小写字母,大小写敏感不使用行号,无程序行概念可使用空行和空格常用锯齿形书写格式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.2C语言的程序结构\n函数与主函数程序由一个或多个函数组成必须有且只能有一个主函数main()程序执行从main开始,在main中结束,其它函数通过嵌套调用得以执行。程序语句C程序由语句组成,用“;”作为语句终止符注释/**/为注释,不能嵌套,不产生编译代码例:/*Thisisthemain/*ofexample1.1*/*/编译预处理命令例#include非法1.2C语言的程序结构\n字符集字符是可以区分的最小符号,是构成程序的基础。包括三方面:英文字母:a~z和A~Z;数字:0~9;特殊字符:空格!#%等由字符集可构成进一步的语法成分,例:标识符、关键字和特殊运算符等。1.3C语言的基本语法成分 主要分为:基本字符,标识符两种。\n标识符标识符在程序中用来标识各种程序成分,命名程序中的一些实体。包括三方面:字母;2.数字;3.下划线:“_”注意:开头:必须是英文字母或下划线;大小写敏感:大小写字母是不同的字符;长度:一般系统规定标识符的长度<=8。标识符的选择要有意义:例如,name,city,data,sum,average等1.3C语言的基本语法成分-标识符\n1.系统定义标识符具有固定名字和特定含义的标识符分为关键字和预定义标识符2.用户定义标识符用于对用户使用的变量、数组、函数等操作对象进行命名标识符的分类1.3C语言的基本语法成分-标识符\n32个关键字:(由系统定义,不能重作其它定义)数据类型:int、char、float、double、short、long、void、signed、unsigned、enum、struct、union、const、typedef、volatile存储类别:auto、static、register、extern语句命令字:if、else、switch、case、default、for、dowhile、goto、break、continue、return运算符:sizeof1.3C语言的基本语法成分-标识符关键字,预定义标识符,用户标识符\n1.3C语言的基本语法成分-标识符关键字,预定义标识符,用户标识符9种控制语句:1.条件判断语句if()…else…switch(){…}2.循环控制语句for()…while()…do…while()3.转移语句break、continue、gotoreturn\n1.3C语言的基本语法成分-标识符关键字,预定义标识符,用户标识符系统标准库函数scanf、printf、putchar、getchar、strcpy、strcmp、sqrt等编译预备处理命令include、define等\n1.3C语言的基本语法成分对用户定义标识符的规定不能含有除字母、数字和下划线“_”外的其他字符必须以字母或下划线“_”开头标识符中大小写字母含义不同长度:一般系统规定标识符的长度<=8。标识符的选择要有意义:例如,name,city,data,sum,average等不能使用关键字\n1.3C语言的基本语法成分对标识符的规定关键字必须用小写字母。不允许使用关键字为变量、数组、函数等操作对象命名预定义标识符允许用户对它们重新定义,当重新定义后将改变它们原来的含义\n算术运算符:+-*/%++--关系运算符:<<===>>=!=逻辑运算符:!&&||位运算符:<<>>~|^&赋值运算符:=及其扩展条件运算符:?:逗号运算符:,指针运算符:*&求字节数:sizeof1.3C语言的基本语法成分 运算符----34种运算符:强制类型转换:(类型)分量运算符:.->下标运算符:[]其它:()-\n记忆C语法规则,C关键字记忆各种数据类型名称及取值范围记忆变量、函数等命名规则记忆常用的库函数(名称、功能、参数含义及返回值含义)养成良好的编程风格:层次缩进显示程序流程独立、认真完成作业和上机任务大量的上机编程练习1.4如何学习C语言\n练习:编写一个area.c程序,输入半径,求圆面积。#definePI3.14159#includemain(){floatr,s;scanf(“%f”,&r);s=PI*r*r;printf(“半径R=%f时,面积S=%f\n”,r,s);}/*编译预处理--宏替换*//*编译预处理--文件包含*//*主函数*//*定义变量r、s类型为单精度实型*//*变量r赋值*//*计算圆面积s*//*输出结果*/\n练习:编写一个area.c程序,输入半径,求求圆面积。#definePI3.14159#includemain(){floatr,s;scanf(“%f”,&r);s=PI*r*r;printf(“R=%f,S=%f\n”,r,s);}程序的不足:输入变量时候没有提示语句;如果半径r为负值,也会有正常的s值输出。输出结果的小数位数为6位,与习惯不符。\n练习:编写一个area.c程序,输入半径,求求圆面积。#definePI3.14159#includemain(){floatr,s;printf(“Pleaseinputther:”);scanf(“%f”,&r);if(r<0)printf(“theradiusisnegative!”);else{s=PI*r*r;printf(“R=%.3f,S=%.3f\n”,r,s);}}\n练习:求三个整数的平均值。#includemain(){inta,b,c;floataver;printf("pleaseinputthea,b,c:");scanf("%d%d%d",&a,&b,&c);aver=(a+b+c)/3.0;printf("theaverageis%f.\n",aver);}\n练习:求三个整数的平均值。#includefloataverage(intx,inty,intz){floatav;av=(x+y+z)/3.0;returnav;}main(){inta,b,c;floataver;printf("pleaseinputthea,b,c:");scanf("%d%d%d",&a,&b,&c);aver=average(a,b,c);printf("theaverageis%f.\n",aver);}\n学习要点:程序设计语言的概念和发展。了解C语言的发展、标准以及特点。熟练掌握C语言的基本语法成分,(字符集、标识符、运算符)。熟悉C语言程序的结构和书写要求。重点:掌握标识符构成规则,熟记关键字。\n教材P77,2~7补充:1.已知以下若干字符,分别写出哪些是合法标识符,哪些是不合法标识符;其中合法标识符中哪些是关键字,哪些是预定义标识符,哪些是用户定义标识符。Abcdefine2xdoublestudentm+ya#b-4_1Whileintletx%ynamedoπwtmCtrlswicthinclude作业\n补充:2.编写一个C语言程序,从键盘输入x,y,z三个整型变量,并输出其中的最小值。作业

相关文档