C语言程序设计 基础入门(认识、描述与计算)

 

  • 一、认识C语言

1.计算机语言种类多,可以分为机器语言、汇编语言和高级语言三大类。

机器语言:由0、1组成的机器指令集合,是第一代计算机语言。二进制是计算机语言基础。缺点:难记、难写、易出错,且不同机型互不兼容。

汇编语言:在机器语言基础上加上改进。汇编语言十分依赖机器硬件,移植性不好,但效率高。

高级语言:这种语言接近数学语言或人的自然语言,同又不依赖计算机硬件,编出程序在机器上通用。1945年FORTRAN问世。这么多年出现很多种,高级语言下一个发展目标是面向应用。高级语言必须转换才能被执行,转换方式分为两类:解释类和编译累。


2.C语言诞生之前,系统软件主要用汇编语言编写的。

1970年美国贝尔实验室的Ken Thompson设计简单且很接近硬件的B语言,并用B语言写第一个UNIX操作系统。

1983年美国国家标准化协会(ANSI)根据C语言问世及C语言发展和扩充,制订新标准称ANSI C

1990年国际标准化组织(ISO)接受了87ANSI C为ISO C的标准。

目前流行C语言编译器有Microsoft C/C++,Borland C/C++,Visual C++6.0、Win–TC,Turbo C/C++for Windows集成实验于学习环境等。


C语言特点

1.简洁、紧凑,C语言共32个关键字,9种控制语句。

2.运算符丰富,C语言共有44种运算符。把括号、赋值、强制类型转换等都作为运算符处理。

3.具有丰富的数据类型。

4.C语言是一种结构化的程序设计语言。

5.语法限制不严格,程序设计灵活。

6.能进行位操作,可以直接对部分硬件进行操作。

7.可移植性好。

8.C语言编译后生成的目标代码质量高,程序的执行效率高。


3.C语言结构特点

一、C程序由函数构成的。一个C源程序至少包含一个main函数,也可以包含一个main函数和若干其他函数。

二、C是函数式的语言,函数是C程序的基本单位。

三、main函数(主函数)是每个程序执行的起始点。一个C程序总是从main函数开始执行,并在main函数中结束,main函数书写位置是任意的。

四、一个函数由函数说明和函数体两部分组成。注:变量声明部分必须书写在执行部分之前。

函数的说明部分包括函数类型、函数名和形参表

函数体中包括变量声明部分和可执行部分。

五、C程序每个语句都以分号;为结束语句符。

六、C程序书写格式自由,一行可以写几个语句,一个语句可以写在多行上。

七、可以用/*……*/对程序任何部分做注释,增加可读性。注释不分仅用于阅读,对程序不起任何作用。注释可用西文也可用中文。注释不允许嵌套

八、C语言本身不提供输入输出语句,输入输出操作是通过调用库函数scanf和printf等。

九、书写规则,用花括号({})标明程序层次结构。采用逐层缩进格式,使程序清晰易读。标识符、关键字之间加空格间隔,使用注释信息增加可读性。

4.C程序开发过程,从编写一个C程序到完成运行到结果一般需要四个步骤。

1.编辑,最后以文本形式保存,文件扩展名为“.c”

2.编译,将已编辑好的源程序翻译成二进制目标代码。扩展名为“.obj”

3.连接,将二进制目标代码与系统标准模板连接处理后,得到可执行文件,扩展名“.exe”

4.运行,直接运行可执行文件得到运行结果。




  • 二、C语言数据描述与计算

1.变量与常量

一、标识符

一、关键字  不能作其他用途只能小写

二、预定义标识符

三、用户标识符(自定义标识符)一般用来给常量、变量、函数、数组、类型、文件等命名

规则有

(1)只能由字母、数字和下划线组成,且第一个字符必须是字母或下划线。

(2)有大小写之分。在C程序中变量名使用小写,常量名用大写,但不绝对。

(3)ANSI C没有限制标识符长度,但各个编译系统都有自己的规定和限制。

(4)标识符不能与关键字同名,最好也不与预定义标识符同名

(5)标识符命名应当有一定的意义,以增加程序的可读性

二、1.常量  其值不能改变的量为常量

常量类型有整型常量、实型常量字符串常量等

整型还可区分短整型常量、长整型常量

整型常量和实型常量又称为数值型常量,有正负之分,基本整型常量用数字表示,不带小数点。实型常量必须用带小数点的数表示。

2.符号常量  在C程序中可以用符号名代表一个常量。为了区分通常用大写字母。

3.变量  在程序的运行过程中,其值可以改变的量

注意:(1)变量名必须符合标识符命名规则,一个标量实质代表内存中的某个储存单元

(2)C语言中变量必须先定义,后使用

一、只有声明过的变量才可以在程序中使用

二、声明的变量属于确定的类型

三、在编译时根据变量类型可以变量分配相应的存储空间

(3)像常量一样,变量也有整型变量、实型变量、字符型变量等不同类型

2.基本数据类型

一、整型

1.数据分类

在C语言中整型有短整型(short int)、基本整型(int)、长整型(long int)、无符号型(unsigned)。

2.整型的常量

值为整数的常量为整型常量,包括正整数、负整数和0。

C语言中有三种表达形式

(1)十进制:例,123,–456,0

(2)八进制:以0开头,后面跟几位数字。(数字由0~7组成)。

(3)十六进制:以0x或0X开头,后面跟几位数字(数字由0~9、A~F组成)

整型常量后可以用u或U明确说明数据为无符号整数,用1或L明确说明为长整型数。

二、实型

1.实型数据分类

实型数据有单精度(float)、双精度(double)和长双精度(long double)三类。

2.实型常量

实型常量又称为实数或浮点数。在C语言中实型常量只能用十进制表示。

(1)十进制小数形式。由数字和小数点组成(必须要有小数点)

(2)指数形式(科学表示法)

注:实型常量注意以下几点

(1)字母e或E之前必须有数字,e后面的指数必须为整数。

(2)规范化指数形式。这种形式要求在字母e或E之前的小数部分,小数点左边应当有且只有一位非0数字。

(3)许多C编译系统将实型常量作为双精度实数处理。在实数后面加字符f或F。

三、字符型数据

1.字符常量

用单引号括起来的单个字符位字符常量。

不合法的:"a",'abc'

字符常量在内存中占1个字节,存放的是字符的ASCII码值,在ASCII中小写字母比对应大写字母大32。

2.转义字符常量

转义字符是以“\”开头的具有特殊含义的字符,这些字符常量也必须括在一对单引号内。

 

使用转义字符需要注意以下几点。

(1)转义字符常量,如‘\n'、\101'、\141'只代表一个字符。

(2)反斜线后的八进制数可以不用0开头,如‘\101'代表的就是字符常量'A'。

(3)反斜线后的十六进制数只能由小写字母x开头,不允许用大写字母X,也不能用(开头,如‘\x41'代表字符常量'A'。

3.字符串常量

字符串常量是由双引号括起来的一串字符,C语言规定:在每个字符串的结尾加一个字符串结束标志,以便系统据此判断字符串是否结束。C语言规定以“\0'(ASCII码为0的字符)作为字符串结束标志。

注意字符常量与字符串常量的区别。

注意:字符串只能是常量,C语言中没有字符串变量。

4.可对字符量进行的运算

字符数据以ASCII码存储的形式与整数的存储形式类似,这使得字符型数据和整型数据之间可以通用(当作整型量)。字符量还可以进行关系运算。

5.字符型变量 

字符型变量用来存放字符数据,同时只能存放一个字符。在C语言中,字符型变量用关键字char进行定义,在定义的同时也可以初始化。

所有编译系统都规定以1字节来存放一个字符,或者说,一个字符型变量在内存中1字节。

具体表现为如下几点。

(1)可以将整型数据赋值给字符型变量,也可以将字符数据赋值给整型变量。

(2)可以对字符数据进行算术运算,相当于对它们的ASCII码进行算术运算。

(3)空篇数据既可以字符形式输出,也可以整数形式输出。

四、运算符和表达式

1.算数运算符和算术表达式

算数运算符包括+、–、*、/、%和正负号。

2.算数表达式

算数表达式是指用算数运算符和括号将运算对象连接起来,符合c语言规则的表达式。

3.运算符的优先级与结合性

C语言规定了进行表达式求值过程中各运算符的优先级和结合性

(1)运算符的优先级

(2)运算符的结合性

(3)注意优先级,确保表达式正确顺序参与运算。

五、赋值运算符和赋值表达式

赋值运算直接为变量提供数据

1.赋值运算符(=)

2.赋值表达式

变量=表达式

3.复合赋值表达式

复合赋值运算符由一个双目运算符和一个赋值运算符构成。

六、自增自减运算符和表达式

++k  --k 先增1  先减1

k++     k--  先取值在增1或减1

自增、自减运算符只用于变量,不用于常量或表达式

七、逗号运算符和逗号表达式

用逗号运算符将两个或多个表达式连接起来,构成一个完整的表达式。

注:逗号表达式的优先级最低,结合顺序为自左向右

八、不同类型数据间转换

1.表达式中数据类型转换

2.强制类型转换表达式

 

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值