C语言入门1


第一章:C语言概述及如何上机运行C程序
1.C语言概述
1.1C语言的发展过程
    C语言是在70年代初问世的。一九七八年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。同时由B.W.Kernighan和D.M.Ritchit合著了著名的"THE C PROGRAMMING LANGUAGE"一书。通常简称为《K&R》,也有人称之为《K&R》标准。但是,在《K&R》中并没有定义一个完整的标准C语言,后来由美国国家标准协会(American National Standands Institute)在此基础上定制了一个C语言标准,于一九八三年发表。通常称之为ANSI C。
1.2当代最优秀的程序设计语言
    早期的C语言主要是用于UNIX系统。由于C语言的强大功能和各方面的优点逐渐为人们认识,到了八十年代,C开始进入其它操作系统,并很快在各类大、中、小和微型计算机上得到了广泛的使用,成为当代最优秀的程序设计语言之一。
1.3C语言的特点
 1. C语言简洁、紧凑,使用方便、灵活。ANSI C一共只有32个关键字:
    auto break case char const continue
     default
    do double else enum extern float
    goto if int long register return
     short 
    signed static sizeof struct switch
     typedef union
    unsigned void volatile while
    9种控制语句,程序书写自由,主要用小写字母表示,压缩了一切不必要的成分。
 2.运算符丰富。共有34种。C把括号、赋值、逗号等都作为运算符处理。从而使C的运算符类型极为丰富,可以实现其它高级语言难以实现的运算。
 3.数据结构类型丰富。
 4.具有结构化的控制语句。
 5.语法现在不太严格,程序设计自由度大。
 6.C语言允许直接访问物理地址,能进行位(bit)操作,能实现汇编语言的大部分功能,可以直接对硬件进行操作。因此有人把它称为中级语言。
 7.生成目标代码质量高,程序执行效率高。
 8.与汇编语言相比,用C语言写的程序可移植性好。
  但是,C语言对程序员要求也高,程序员用C写程序会感到限制少、灵活性大,功能强,但较其它高级语言在学习上要困难一些。
1.4面向过程和面向对象的程序设计思想
 面向过程:"面向过程"是一种以事件为中心的编程思想。就是分析出解决问题所需要的步骤,然后用函数吧这些步骤一步一步实现,使用的时候一个一个依次调用就可以了。
 面向对象:"面向对象"(Object Oriented,简称OO)是一种以事物为中心的编程思想。
1.5简单的C程序介绍
 【例1.1】
 void main()
 {
    printf("hello world!\n");
 }
 main是主函数的函数名,表示这是一个主函数。
 每一个C源程序都必须有,且只能有一个主函数(main函数)。
 函数调用语句,printf函数的功能是把要输出的内容送到显示器去显示。
 printf函数是一个由系统定义的标准函数,看在程序中直接调用。
 【例1.2】
 #include <math.h>
 #include <stdio.h>
 
 main()
 {
    double x,s;
    printf("input number:\n");
    scanf("%lf",&x);
    s=sin(x);
    printf("sine of %lf is %lf\n",x,s);
 }
 include称为文件包含命令
 扩展名为.h的文件称为头文件
 定义两个实数变量,已被后面程序使用
 显示提示信息
 从键盘获得一个实数x
 求x的正弦,并把它赋值给变量s
 显示程序运算结果
 main函数结束

第二章:数据类型、运算符和表达式
C数据类型
 1.基本类型:整形、字符型、实型(浮点型)[单/双精度型]、枚举类型
 2.指针类型
 3.构造类型:数组类型、结构体类型、共用体类型
 4.空类型

 关于数据类型
 1.基本数据类型:基本数据类型最主要的特点是,其值不可以再分解为其它类型。也就是说,基本数据类型是自我说明的。
 2.构造数据类型:构造数据类型是根据已定义的一个或多个数据类型用构造的方法来定义的。也就是说,一个构造类型的值可以分解成若干个"成员"或"元素"。每个"成员"都是一个基本数据类型或又是一个构造类型。在C语言中,构造类型有以下几种:
   数组类型、结构体类型、共用体类型结构体类型
   共用体(联合)类型
 3.指针类型:指针是一种特殊的,同时又是具有重要作用的数据类型。其值用来表示某个变量在内存储器中的地址。虽然指针变量的取值类似于整型量,但这是两个类型完全不同的量,因此不能混为一谈。
 4.空类型:在调用函数值时,通常应向调用者返回一个函数值。这个返回的函数值是具有一定数据类型的,应在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为:int max(int a,int b);其中"int"类型说明符即表示该函数的返回值为整形量。但是也有一类函数,调用后并不需要向调用者返回函数值,这种函数可以定义为"空类型"。其类型说明符为void。在后面函数中还要详细介绍。
 注:在本章中,我们先介绍基本数据类型中的整型、浮点型和字符型。其余类型在以后各章中陆续介绍。
 常量与变量
  对于基本数据类型量,按其取值是否可以改变又分为常量和变量两种。
  在程序执行过程中,其值不发生改变的量称为常量,其值可变的量称为变量。
  它们可与数据类型结合起来分类。例如,可分为整型常量、整型变量、浮点常量、浮点变量、字符常量、字符变量、枚举常量、枚举变量。在程序中,常量是可以不经说明而直接引用的,而变量则必须先定义以后使用。
  (整型量包括整型常量、整型变量。)

 常量和符合常量
 在程序执行过程中,其值不发生改变的量称为常量。
 符号常量:用标识符代表一个常量。在C语言中,可以用一个标识符来标示一个常量。
 符号常量在使用之前必须先定义,其一般形式为:
 
 #define 标识符 常量与变量
 
 其中#define也是一条预处理命令(预处理命令都以#开头),称为宏定义命令(在后面预处理程序中将进一步介绍),其功能是把该标识符定义为其后的常量值。一经定义,以后在程序中所有出现该标识符的地方均代之以该常量值。
 习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。
 【例3.1】符号常量的使用
 #define PRICE 30    //用标识符代表一个常量,称为符号常量。
 void main()        //符号常量与变量不同,它的值在其作用域内不能改变,也不能再被赋值。
 {
    int num,total;
    num=10;                        //使用符号常量
    total=num*PRICE;            //1.含义清楚
    printf("total=%d",total);    //2.能做到"一改全改"
 }
 
 再来说说变量
 其值可以改变的量称为变量。一个变量应该有一个名字,在内存中占据一定的存储单元。变量定义必须放在变量使用之前。一般放在函数体开头部分。要区分变量名和变量值是两个不同的概念。
 例如:int k = 3;
 k        <—— 变量名称
 3        <—— 变量的值
 0x0010ff <—— 变量的地址

 整型数据
 1.整型常量的表示方法
  整型常量就是整常数。在C语言中,使用的整常数有八进制、十六进制、和十进制三种。
  1)十进制整常数:十进制整常数没有前缀。其数码为0~9.
  以下各数是合法的十进制整常数:237、-568、65536、1627;
  在程序中是根据前缀来区分各种进制数的。因此在书写常数时不要把前缀弄错早餐结果不正确。
  2)八进制整常数:八进制整常数必须以0开头,即以0作为八进制的前缀。数码取值为0~7.八进制数通常是无符号数。
  以下各数是合法的八进制数:015(十进制为13)、0101(十进制为65)、0177777(十进制为65535);
  3)十六进制整常数:十六进制整常数的前缀为0X或者0x。其数码取值为0~9,A!F或a~f。
  以下各数是合法的十六进制整常数:0X2A(十进制为42)、0XA0(十进制为160)、0XFFFF(十进制为65535);
  4)整

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值