大学C语言第1讲C语言基础知识

上传人:油条 文档编号:31363355 上传时间:2018-02-07 格式:PPT 页数:47 大小:479KB
返回 下载 相关 举报
大学C语言第1讲C语言基础知识_第1页
第1页 / 共47页
大学C语言第1讲C语言基础知识_第2页
第2页 / 共47页
大学C语言第1讲C语言基础知识_第3页
第3页 / 共47页
大学C语言第1讲C语言基础知识_第4页
第4页 / 共47页
大学C语言第1讲C语言基础知识_第5页
第5页 / 共47页
点击查看更多>>
资源描述

《大学C语言第1讲C语言基础知识》由会员分享,可在线阅读,更多相关《大学C语言第1讲C语言基础知识(47页珍藏版)》请在金锄头文库上搜索。

1、第1讲 C语言基础知识,一、计算机系统与计算机知识体系二、程序设计与程序设计语言三、C程序的基本结构和运行过程 四、数据类型、常量、变量五、赋值运算符和赋值表达式六、基本的输入输出七、算术运算符和算术表达式八、数学标准函数九、数据类型转换,一、计算机系统与计算机知识体系,操作系统,支撑软件,应用软件(各种语言开发的应用软件系统),计算机系统,典型的计算机硬件组成,内存,中央处理器,外围设备,外存,输入/输出,总线,软盘、硬盘、光盘、U盘、,键盘、显示器、鼠标、,计算机知识体系,计算机硬件组成原理,操作系统,编译程序,数据库管理系统,高级语言(C,C+,Java等)数据结构软件工程,人(用、编程

2、序),软件,什么是ASCII码?,计算机中用得最广泛的字符集及其编码,是由美国国家标准局(ANSI)制定的ASCII码(American Standard Code for Information Interchange,美国标准信息交换码)分析1位二进制数可以表示2种状态7位二进制数可以表示128种状态 (0127)计算机中用8位(一个字节)存储ASCII码,其最高位(b7)用作奇偶校验位。ASCII对应键盘值,数的进制,10进制2进制8进制16进制,二、程序设计与程序设计语言,什么是程序?可以连续执行的一条条指令的集合。对计算任务的处理对象和处理过程的描述。用什么写出程序? 很多种计算机语

3、言,比较熟悉的高级语言,如:C、Basic、C+、Java等,还有汇编语言等。高级语言接近自然语言的习惯,容易编写,容易理解和交流,是给人看的语言。计算机只能接受和处理由0和1的代码构成的二进制指令或数据,称为“机器语言”。高级语言程序一定要转换(如编译)成机器语言程序才能在计算机中被执行。,编译程序与开发环境,编译程序你知道的开发环境?(环境包括编写、编译、连接、运行程序)Microsoft CTurbo CBorland CQuick C通常C+编译系统兼容C, 我们用Visual C+ 6.0,C语言源程序.c,C语言编译程序,二进制机器指令.obj,连接程序,可执行程序.exe,C语言

4、,C语言的产生语言是贝尔实验室于70年代初研制出来的,用于编写UNIX。后来又被多次改进,并出现了多种版本。80年代初,美国国家标准化协会(ANSI),根据语言问世以来各种版本对语言的发展和扩充,制定了ANSI C标准(1989年再次做了修订)。C语言的特点中间语言的特点:C语言同时具有汇编语言和高级语言的优势。面向过程,结构化程序设计语言应用非常广泛,体现程序员的水平语言简洁、紧凑,使用方便、灵活。运算符极其丰富,表达能力强。可移植性好区别C语言与C语言开发环境,程序设计,程序设计的发展面向计算机的程序设计二进制形式、汇编面向过程的程序设计按功能划分,自顶向下,逐步求精面向对象的程序设计按对

5、象划分,研究对象之间的关系,三、C程序的基本结构和运行过程,一个简单的C程序,是由函数组成的。仅且仅有一个主函数 main() ,程序总是从主函数开始运行。还可以有多个其它函数自己编的别人编的系统提供的库函数。,#include int main() printf(Hello,World.n); return 0;,语句,函数体由语句组成。语句: 常量、变量、运算符一行可以写多个语句,一个语句也可以写在多行上。,写各种表达式:算术表达式、关系表达式、赋值表达式、,语句,加注释的方法:/* */ 或者 / 只有 ; 的语句叫“空语句”,什么都不执行。main() ; /什么时候用?复合语句:用

6、括起来的多个语句,什么时候用?main() /*复合语句。注意:右括号后不需要分号。*/ ,集成开发环境,很多产品可以用上课暂用Microsoft Visual c+ 6.0你当然可以用别的什么,比如Turbo C 2.0, Turbo C+ 3.0 等等打开Microsoft Visual c+ 6.0FilenewprojectsWin32 Console Application选好工程名和位置,依向导指示做试着进行调试(书附录C)单步运行,设断点,运行中查看变量值等。,The Build Process,调试例子,int main()int x,y,sum; /* 定义变量 */scan

7、f(%d%d, ,关键字,数据类型关键字:char, double, enum, float, int, long, short, signed, struct, union, unsigned, void控制语句关键字:break, case, continue, default, do, else, for, goto, if, return, switch, while存储类型关键字:auto, extern, register, static其它关键字:const, sizeof, typedef,四、数据类型、常量、变量,存什么样的数据(基本数据类型)整型实型字符型,数据的存储空间与

8、取值范围8位(1个字节)16位(2个字节)32位(4个字节)64位(8个字节),数据是否带符号有符号型无符号型,数据值是否会改变常量变量(必须先定义再使用),不同的数据集合上定义了不同的运算长度和精度的限制,基本数据类型,常量,在程序运行过程中其值始终保持不变的量。,字符串常量,用双引号括起来的字符串,如“Whats your name?”, “ ”字符串在内存中占的空间为:字符串长度+1,因为字符串后面默认有0,问题,为什么10和10.0不同?123和123L有什么不同?0634与634有什么不同?0x10是多少?“A”和A的区别?“1234”和1234的区别?,符号常量,程序代码中多处用到

9、某个数据,且程序逻辑中为常量针对问题变化,可能维护和修改。可以把这种数据定义为符号常量,即用一个标识符代表一个常量。 #define PRICE 100 /*define是一条预处理命令作用是把标识符定义为后面的常量*/int main(int argc, char* argv)int a,b;a=100;b=a*PRICE;printf(b=%dn,b);return 0;,可懂度更好。维护和修改程序方便。,符号常量,符号常量不可以修改 #define PRICE 100 /*define是一条预处理命令作用是把标识符定义为后面的常量*/int main()int a,b;a=100;PRI

10、CE=10; /错误语句b=a*PRICE;printf(b=%dn,b);return 0;,C预定义的转义字符序列(P13),变量,必须先定义,再使用注意大小写敏感定义的格式: ,int num;char ch;float pay1, pay2;,定义变量就是在内存中申请空间存放变量值定义之后立即初始化是好的编程风格。不然你引用它时,可能是随机值,没有错误提示。例: int a; printf(%dn,a); /a值随机,int num;char ch;,num,5,一个整型数大小,ch,a,一个字符大小,变量命名:字母,数字,下划线第1个字符必须是字母或下划线区分大小写取个好的名字变量赋

11、初值定义时赋初值int data1=0;int data2(0);赋值操作赋初值 f = 0.0 ; f = data1+1;键盘输入赋初值,取个对名字,赋值号“=”是一个运算符,称为赋值运算符。赋值表达式: 变量名=表达式 ;/右边的值赋给左边说明:(1)赋值号左边必须是一个代表某一存储单元的变量名。(2)赋值号右边必须是C语言中合法的表达式。功能:先求出右边表达式的值然后把此值赋给赋值号左边的变量。优先级与结合性优先级:只高于逗号运算符,比任何其他运算符的优先级都低。结合性:自右向左,五、赋值运算符和赋值表达式,例,x = 2+73;y=x; /将x变量当前值赋给y变量。y=x+1 /y为

12、x+1的值,x值不变。x=x+1; /将x变量当前值加1再赋给x变量。x=x; /*将x变量当前值赋给x变量。合法的表达式,但无意义。*/a=b=7+1; /正确的表达式。7+1的值8先赋给b,再赋给a。a+b=c; /*错误的表达式。左边只能是变量名。*/x=1,y=2;,复合赋值运算符,+= 例:n += 1; 等价于:n=n+1;-= 例:n -= 1; 等价于:n=n-1;*= 例:n *= 1; 等价于:n=n*1;= 例:n /= 1; 等价于:n=n/1;%= 例:n%=1; 等价于:n=n%1;注意:两个符号之间不可以有空格优先级:与赋值运算符相同;结合性:自右至左例:已有变量

13、a,其值为9,计算表达式a+=a-=a+a; 的值。结果:a为 -18,六、基本的输入输出,标准的输入设备-键盘标准的输出设备-显示器标准的输入输出函数实现数据流的输入输出需要包含头文件:stdio.h#include /多用于系统头文件#include “stdio.h” /另一写法,非格式化输入输出,getchar()char ch ;ch = getchar() ;putchar()putchar(ch) ;,char ch ;ch = getchar() ;putchar(ch) ;putchar(n);,格式化输入输出,scanf(,)int x,y ;float f1, f2 ;

14、scanf(%d%d%f%f,部分格式说明符,输出格式控制,%m 场宽 输出数据在屏幕上占的列数%m.n n为输出实型数时为小数点后位数,输出整型数时为最少显示的位数。控制对其齐方式:%后加 - 为左对齐,缺省为右对齐作业:阅读P25,算术运算符:+ - * / %23+90 8.8-7 a*2.7 4%4不同的数据类型上定义了不同的操作% 只用于整型数。当数据类型不同时如何运算,结果如何保存?二进制位数少的数据类型自动转换为二进制位数多的数据类型(即向精度到的数据类型转换),再进行运算。作业:阅读P26,七、算术运算符和算术表达式,提问,int i=5;float f=1.0; double

15、 d=1.0;char c=A; i+10结果是什么?i+f结果是什么?i+d结果是什么?printf(%cn,c+25);12/i结果是什么?12.0/i结果是什么?自学P26,例1-8, P27,例1-9,上机调试这两个程序。,运算符学习总结,弄清的关键问题运算符的意义适用的数据集合优先级结合性,自加、自减运算符,运算符“+”和“-”是单目运算符(1)后缀形式:i+。i先参与运算,再自加。(2)前缀形式:+i。i先自加,再参与运算。一种特殊的赋值运算,比赋值效率高。i+,相当于i=i+1;i-,相当于i=i-1。例1:int a=5; a = a*(a+); /结果:a 为26 例2:int a=5; a = a*(+a); /结果:a 为36注意:运算对象可以是整型、实型、字符型变量,不可以是常量和其他的表达式。例如,3+、(i+j)+都是错误的。,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号