C语言概述及数据类型

一、C程序设计的思想及意义:
1.用C语言完成一个案例:
/* 输出Hello word! /
#include “stdio.h”
void main()
{
printf(“Hello word!\n”);
}
以上是一个C语言的源代码程序,大家可以在自己的C语言工具软件上试下,看一下输出结果,有的同学可能会说,老师看不懂什么意思,没关系,重要的不是代码本身,而是其它的,那什么最重要?我会说,不管是学业,还是家业;也不管是事业,还是国业,正确的思想观念才是最重要的。只有在正确思想的指引下,才能结出所谓的“好果子”。同样,程序设计和代码编写的精髓也是程序思想的培养、强化和壮大. 学习一门语言或开发工具,语法结构、功能调用是次要的,了解它的思想后,就可以利用工作,实现代码了。对于不同的工具我们也可以做到触类旁通。
二、计算机程序设计语言
在介绍C语言之前,先对程序语言进行大概的了解。
1.机器语言
机器语言是计算机所认识的语言,也称为二进制代码语言。计算机使用的是由0和1组成的二进制数组成的一串指令来表达计算机操作的语言。机器语言的特点是:计算机可以直接识别,不需要进行任何的翻译。
2.汇编语言
汇编语言是面向机器的程序设计语言。为了减轻使用机器语言编程的痛苦,用英文字母或符号串来替代机器语言的二进制码,这样就把不易理解和使用的机器语言变成了汇编语言。这样一来,使用汇编语言就比机器语言便于阅读和理解程序。
3.高级语言
由于汇编语言依赖于硬件体系,并且该语言中的助记符号数量比较多,所以其运用起来仍然不够方便。为了使程序语言能更贴近人类的自然语言,同时又不依赖于计算机硬件,于是产生了高级语言。这种语言,其语法形式类似于英文,并且因为远离对硬件的直接操作,而易于被普通人所理解与使用。其中影响较大、使用普遍的高级语言有Fortran、ALGOL、Basic、COBOL、LISP、PROLOG、C、 C++ 、VC 、VB、 Delphi、Java等。
三、C语言的历史
C语言是由UNIX的 研制者丹尼斯•里奇(Dennis Ritchie)和肯•汤普逊(Ken Thompson) 于1970年研制出的BCPL语言(简称B语言)的基础上发展和完善起来的。19世纪70年代初期,AT&T Bell实验室程序员丹尼斯•里奇第一次把B语言改为C语言。
C语言是一种面向过程的语言,同时具有高级语言和汇编语言的优点。C语言可以广泛应用于不同的操作系统,如UNIX、MS-DOS、Microsoft Windows及linux等。
在C语言的基础发展起来的有支持多种程序风格的C++语言、网络上广泛使用的Java、JavaScript以及微软的C#语言等。也就是说,学好C语言之后,再学习其他语言时就会比较轻松。
四、简单的小程序
在通往c语言程序世界之前,首先不要对c语言产生恐惧感,觉得这种语言都应该是学者或研究人员的专利。c语言是人类共有的财富,是普通人只要通过努力学习就可以掌握知识。下面通过一个简单的程序来看一看c语言程序是什么样子。
本实例程序实现的功能只能显示一条信息“hello word!”初窥c程序样貌。虽然这个简单的小程序很短,却充分说明了c程序是由什么位置开始、什么位置结束的。
/
输出hello word! */
#include “stdio.h”
void main()
{
printf(“hello word!\n”); /输出要显示的字符串/
}

  1. #include “stdio.h”
    这个语句的功能是进行有关的预处理操作。include称为文件包含命令,后面尖括号的内容称为头文件或首文件。当然如上双引号也可以用尖括号。
    2.空行
    实例代码中的第二行。
    c语言是一个较灵活的语言,因此格式并不是固定不变、拘于一格的。也就是说,空格、空行、跳格并不会影响程序。有的读者就会问:“为什么要有这些多余的空格和空行呢?”其实这就像生活中在纸上写字一样,虽然拿来一张白纸就可以在上面写字,但是通常还会在纸的上面印上一行一行的方格和段落隔开每一段文字,自然就更加美观和规范。合理使用这些空格、空行可以使编写出来的程序更加规范,对日后的阅读和整理发挥着重要的作用。
    3.main函数声明
    void main()
    这一行代码代表的意思是声明main函数为无参无返回值函数(参考13单元),其中void为关键字,这个关键字代表空的意思。函数是构成程序的基本单位。
    在函数中这一部分称为函数头部分。在每一个程序中都会有一个main函数,那么main函数的作用是什么呢?main函数就是一个程序的入口部分。也就是说,程序都是从main函数头开始执行的,然后进入到main函数中,执行main函数中的内容。
    4.函数体
    在上面介绍main函数时,提到了一个名词—函数头,,那么联想一下,既然有函数头,那也应该有函数的身体吧?没错,一个函数分为两个部分:一是函数头,一是函数体。
    程序中{}这两个大括号就构成了函数体,函数体也可以称为函数的语句块。
    5.执行语句
    printf(“hello word!\n”);
    执行语句就是函数体中要执行的动作内容。每一个执行语句都以“;”结尾。这一行代码是这个简单的例子中最复杂的。该行代码虽然看似复杂,其实也不难理解,printf是产生格式化输出的函数,可以简单理解为向控制台进行输出文字或符号的作用。括号中的内容称为函数的参数,括号内可以看到输出的字符串“hello word!\n”,其中\n称之为转义字符。
    6.代码的注释
    要建立这样的概念:程序是为别人编的,让人家看懂是第一位。特别是将来你可能参加一个团队,几十个人甚至几百个人一起合作编程,相互协同,就更应将注释写的清清楚楚明明白白。
    printf(“hello word!\n”); /输出要显示的字符串/
    这行中/**/之间的内容就是注释。编写良好的代码格式规范和添加详细的注释,是一个优秀程序员应该具备的好习惯。
    五、常量:
    C语言处理的数据有常量和变量两种形式
    1.常量
    顾名思义,常量就是在程序中不能改变其值的量。按照类型划分有以下几种:整型常量、实型常量、字符常量、字符串常量和枚举常量(这里我们知道枚举就行,不做讲解)。
    常量的类型 实例 备注
    整型常量 10,-30,0 包括正整数、负整数和零在内的所有整数
    实型常量 3.14,-0.56,18.0 由于计算机中的实型数是以浮点形式表式的,即小数点位置可以是浮动的,因些实型常量即可以称为实数,也可以称为浮点数
    字符型常量 ‘X’,’x’,’0’,’9’ 用一对单引号括起来的任意字符
    字符串常量 “Hello!”,”K88”,”9” 用一对双引号括起来的零个或多个字符
    六、变量
    1.为什么要使用变量
    /* 输入一个数,输出是奇数还是偶数 */
    #include “stdio.h”
    void main()
    {
    int n;
    printf(“请输入一个数:”);
    scanf("%d",&n);
    if(n%2==0)
    {
    printf(“偶数\n”);
    }
    else
    {
    printf(“奇数\n”);
    }
    }
    以上是一个C语言的源代码程序,大家可以在自己的C语言工具软件上试下,看一下执行效果:你会发现当你随便输入一个整数,就可以判断出该数是奇数还是偶数。那么你输入的这个数其实它是不确定的,可以是11也可以是12也就是说是可以变化的,要完成它就只能设置变量,变量的存在,使得我们的程序实用型变得更完善。
    还有就是现在有10个数,依次使用,比方这10个数为1,2,3,4,5,6,7,8,9,10那么就需要在存储空间上占据10个空间,但是如果是有一个变量,让它每次使用时是一个数,使用完后再换另一个数,那么我们就只占用一个空间。所以使用变量可以在程序执行时减少空间使用量。
    2.变量能解决什么问题
    从以上的案例及说明中,其实我们也可以看出变量其实可以帮助我们节省空间,而且也可以根据程序的执行,用到不同的数值,求出程序要在某个语句下所得出的正确结果。
    3.变量和常量区别
    变量是可以用来存放数据的,它是计算机分配的一段内存。也就是所谓的一个空间,而常量是在程序执行过程中不可以改变的量,可以不经过说明直接使用,例如:3,‘a’,”abc”等。那到底什么是变量,怎么使用变量,请继续往下看。
    4.变量及命名规则
    变量是相对于常量而言的,在程序执行过程中其值可以改变的量称为变量。
    变量名就是内存存储单元一个符号名。通过引用符号名来访问其所对应的存储单元。
    变量名的命名应遵守以下基本的命名规则
    (1).变量名只能由英文字母、数字和下划线组成
    (2).变量名的必须以字母或下划线开头
    (3).变量名不充许使用关键字
    (4).变量名中字母区分大小写。例如sum,Sum和SUM是三个不同的变量名
    (5).变量名可以包含任意多个字符,但一般会有最大长度限制,与编译器相关,不过大多数情况下不会达到此限制。
    关键字:程序设计语言系统保留用来代表特定意义的符号名。如int 、float、char等
    5.变量的定义的及赋值
    在C语言中,变量在使用之前必须先定义。在定义变量时,需要声明变量的类型和变量名。定义变量的一般形式为:
    类型关键字 变量名;
    例1:
    void main()
    {
    int a; /用关键字int指定变量a的类型/
    float b; /用关键字float指定变量a的类型/
    char c; /用关键字char指定变量a的类型/
    a=1; /为int型变量a赋值整型常量1/
    b=2.5; /为float型变量b赋值整型常量2.5/
    C=’A’; /为char型变量c赋值整型常量’A’/
    }
    用标准的C语言编写的程序都是以main()作为开头的,它指定了C程序执行的起点,在C程序中只能出现一次。一个C程序必须有且只能有一个用main()作为名字的函数,这个函数称为主函数。C程序总是从主函数开始执行,与它在程序中的位置无关。一般情况下,C语句是以分号结尾的。
    例2:
    void main()
    {
    int a;
    a=1; /第一条可执行语句/
    float b; /错误!因为变量b必须在第一条可执行语句之前定义/
    b=2.5;
    char c; /错误!因为变量b必须在第一条可执行语句之前定义/
    C=’A’;
    }
    C语言允许在定义变量的同时对变量初始化(为其赋初值)。如下
    例3:
    void main()
    {
    int a=1; /定义整型变量a并对其初始化/
    float b=2.5; /定义实型变量b并对其初始化/
    char c=’A’; /定义字符型变量c并对其初始化/
    }
    如果定义了一个变量,但未对其进行初始化,那么该变量的值是一个随机数(静态变量和全局变量除外)。
    注意,在该程序中,用//包含起来的内容,称为注释。注意左斜线和星号之间不能有空格。C++风格的注释则以//开始,到本行末尾结束,且只能占一行,需要跨行书写时,每一行都必须以//开始。
    注释不可以嵌套,即不能在一个注释中添加另一个注释。
    在一条语句中,可同时定义多个相同类型的变量,多个变量之间用逗号作分隔符,其书写的先后顺序无关紧要。例如,可以按如下方式定义三个整型变量:
    int a,b,c;
    若要在定义变量的同时将其初始化为0,则为
    int a=0,b=0,c=0;
    但是不能写成
    int a=b=c=0;
    变量是相对于常量而言的,在程序执行过程中其值可以改变的量称为变量。
    每一个变量要有一个与其他变量不相同的名字,称为变量名。
    变量名的第一个字符必须是字母或下划线,其后的字符只能是字母、数字和下划线,且所用的名字不得与C语言或相关程序设计语言系统所保留的关键字相同(关键字见附录B)
    七、简单的屏幕输出
    变量被赋值以后,如何在屏幕上显示这些变量的值呢?这就要用到printf()函数。C的标准输入/输出函数printf()的作用是输出一个字符串,或者按指定格式和数据类型输出若干变量的值,如下面程度所示。
    例:如何输出a、b、c三个变量的值
    #include “stdio.h”
    main()
    {
    int a=1;
    float b=2.5;
    char c=’A’;
    printf(“a=%d\n”,a);/按整型格式输出变量a的值/
    printf(“b=%f\n”,a);/按实型格式输出变量b的值/
    printf(“c=%c\n”,a);/按字符型格式输出变量c的值/
    printf(“End of program \n”); /输出一个字符串/
    }
    运行结果如下:
    a=1
    b=2.500000
    c=A
    End of program
    程序中%d、%f、%c都是格式字符。
    %d:表示按十进制整型格式输出变量的值
    %f:表示按十进制小数格式输出变量的值,特别指定,否则隐含输出6位小数。
    %c: 表示输出字符型变量的值(一个字符);
    \n表示输出一个换行,即将光标移到下一行的起始位置。
    最后一行的输出,没有要输出值的变量,直接将位于双引号内(不包括\n)的字符串送到屏幕显示。在C语言中,用一对双引号括起来的若干字符,称为字符串。

八、基本数据类型的分类
程序中的变量取什么数据类型是由工程任务的需要决定的。C语言中的数据类型可以分为以下两大类:第一类基本数据类型,包括整型、浮点型和字符型;第二类是构造类型,包括数组、结构、联合、枚举等。所谓构造数据类型,是指这种类型是由若干个基本数据类型的变量按特定的规律组合构造而成的。
所以我们学习重点是数据的基本数据类型。
整型。即整数类型,它又可以分为4种
int 整型占用4个字节 ,数的表示范围-2147483648~2147483647
unsigned int 无符号整型占用4个字节 ,数的表示范围0~4294967295
long int 长整型占用4个字节 ,数的表示范围-2147483648~2147483647
unsigned long int 无符号长整型占用4个字节 ,数的表示范围0~4294967295
实型。即实数类型又称浮点型: float(在内存中占用4个字节) 例如 float score
float 浮点型 占用4个字节,小数点后有效位7位
double 双精度型占用8个字节,小数点后有效位15位
long double 长双精度型占用16个字节,小数点后有效位19位
char字符型:占用1字节。

你可能感兴趣的:(编程语言)