当前位置:   article > 正文

C语言程序设计基础

c语言程序设计

发展及特点:

发展
创始人:美国的丹尼斯.里奇(DennisRitchie)

特点
C语言是高级语言
C语言是结构语言
C语言简洁灵活、易于学习和应用
C语言具有很强的构造数据类型的能力
C语言生成的目标代码质量高,程序执行效率高

C语言是结构化程序设计语言:有用于选择结构的if语句和switch语句;用于循环结构的while语句和for语句;C语言的源程序由函数组成,每个函数都是独立的模块,可单独编译,生成目标代码,也可以与其他语言连接生成可执行文件,而且调试、维护起来比较方便。

C语言具有丰富的数据类型:整型、实型、字符型、数组类型、指针类型、结构体类型、共用体类型等,能用来实现各种复杂的数据类型的运算,并引入了指针概念,使程序效率更高。
C语言简洁易读,运算符和库函数丰富。
C语言限制不太严格,程序设计自由度大。

C程序移植性好:C语言程序本身独立于机器硬件,可从一种环境到另一种环境中运行,被广泛地移植到各类计算机上,从而形成了多种版本的C语言。

源程序书写格式

C语言程序中每行可写一条语句,也可写多条语句,一般一行写一条语句。
C语言程序的书写要注意适当的缩进,以便使程序更加清晰易读。
C语言程序中的花括号必须成对出现。
在书写程序时,要习惯使用注释。

源程序的基本结构(重)

一个C语言源程序至少一个有main函数,定义函数必须指定 4 个元素:返回类型、函数名、圆括号内的形参表(可能为空)和函数体。源程序的结构特点:
1、一个C语言源程序可以由一个或多个源文件组成。
2、每个源文件可由一个或多个函数组成。
3、一个源程序不论由多少个文件组成,都有一个且只能有一个main函数,即主函数。
4、源程序中可以有预处理命令(include 命令仅为其中的一种),预处理命令通常应放在源文件或源程序的最前面。
5、每一个说明,每一个语句都必须以分号结尾。但预处理命令,函数头和花括号“}”之后不能加分号。
6、标识符,关键字之间必须至少加一个空格以示间隔。若已有明显的间隔符,也可不再加空格来间隔。
7、C语言中,有一组相关的控制语句,用以实现选择结构与循环结构:选择控制语句:if; switch、case。循环控制语句:for、while、do…while。转移控制语句:break、continue、goto。

C语言各种数据类型及其定义方法

标识符
  C语言中,变量、符号常量、函数、数组、类型和文件等都需要有一个名称,这个名称就叫做标识符。
C语言标识符命名规则如下:
  标识符由字母(A-Z, a-z)、下划线( _ )或数字(0-9)组成。标识符必须以字母((A-Z, a-z)、下划线( _ )开头。C语言中标识符严格区分字母大小写。
标识符不能使用C语言的关键字。
关键字
  关键字是C语言编译程序本身所规定使用的专用词,它们有特定的含义。所有的C语言关键字不能用作标识符,关键字必须用小写字母表示。
在这里插入图片描述分隔符
  分隔符用来使编译器确认代码在何处分隔,C语言中分隔符包括以下三种:
注释符
  空白符:空白符包括空格、回车、换行和制表符(Tab键), 用来分隔程序的各基本成分。一个或多个空白符的作用完 全一样。
  普通分隔符:普通分隔符的作用也是用来分隔程序的各成 分,在程序中有特定的含义,不能省略。普通分隔符见下:
在这里插入图片描述

基本类型:

数值类型
  整型:短整型(short)、基本整形(int)、长整形(long);
  实型(浮点型):单精度实型(float)、双精度实型(double);
字符型(char);
枚举类型(enum);
构造类型(组合类型):
  数组类型、结构体类型(struct)、共用体类型(union)、文件类型(FILE);
指针类型;
空类型;

定义方法:

整型:
  常量:
十进制整数
如:2, -98;
八进制整数:以0开头,0~7构成
如:012表示八进制整数12
十六进制整数:以0x开头,由0-9和A-F或a-f构成
如:0x12A,表示十六进制整数12A
  变量:
类型说明符 变量名1 [,变量名2,…];
如:int a;

实型:
  常量:
十进制小数形式:由数字和小数点组成;
如:57, 5.2等
指数形式:由尾数、e(或E)及指数三部分组成;
  变量:
1、类型说明符 变量名1 [,变量名2,…];
如:float x,y;
2、float(long或double) 变量名表;
如:float data=0.43f,data2=6f
double total,devide;

字符型:
  常量:
定义:由单引号引起来的一个字符或转义字符
如:‘A’, ‘%’
字符常量的值:该字符的ASCII码值
如:‘a’——97,‘A’——65
转义字符:反斜杠“\”后面跟一个字符或一个代码值表示
如: “\n”
定义格式:char 变量名=值
如 char a=65;
char a=‘A’;
char a=‘\101’;这三中定义是等效的
  变量:
定义形式:char 变量名表;
如:char char1,char2=‘&’;
  特殊:字符串常量
定义:用双引号引起来的字符序列
如:“hello world ”
存储:每个字符串的结尾自动加一个‘\0’作为字符串结束标志。

注意:
  整型:
在存储有符号数时,存储单元的最高位代表符号位,0为正,1为负。
而存储无符号数时,存储单元全部用作存放数本身,个无符号整型变量只能存放不带符号的整数。
在定义变量时,方括号内的部分是可以省略不写的,般省略方括号中的标识符。如: short data; unsigned data2=9887;
在设计程序时,应该注意变量类型的取值范围,当赋值超过其取值范围时,会出现溢出错误。
  实型:
字母e(或E)之前必须有数字
小数点左边有且只有一位非零数字,指数部分则必须为整数。
如: 1.e1, 9. 8E0, 9. 8E0, -5.43E4, 5.4E, .E, e-6, 3e3.1
  字符型:
字符常量与字符串常量不同
在c语言中没有字符创这种数据类型,因此没有专门的字符串变量来存放字符串常量,只能使用字符数组来存放。

运算符和表达式的应用(重)

运算符:用来表示各种不同运算的符号
表达式:将运算符与操作数连接起来,就构成了表达式,有算术、逻辑、关系表达式等等。
优先级:算术运算符、关系运算符、逻辑运算符、条件运算符、赋值运算符、逗号运算符优先级依次递减

1、算术运算符和算术表达式:
算术运算符:基本算术运算符(+,-,*,/,%),自增(++)、自减(–)运算符

自增、自减运算符:
作用:是变量值加一或减一
种类:前置(++i,–i)先执行i+1或i-1,再使用i值,后置(i++,i–)先使用i值,再执行i+1或i-1
如:x=1,y=1
y=++x; y=x++ 为 y = 2, x = 2; y = 1, x = 2;
y = --x; y= x- -为 y = 0, x = 0; y = 1, x = 0;

注意:
两整数相乘,结果为整数
有负整数时,多数机器采取“向零取整”原则
%要求两侧均为整型数据
+,-,*, / 运算的两个数中有一个数为实数,结果是double型

2、赋值运算符和赋值表达式
基本赋值运算符: =
复合赋值运算符:+=、-=、*=、/=、>>=、<<=、&=、^=、|=
如:x+=3 等价于 x=x+3;

3、关系运算符和关系表达式
关系表达式的值非真即假。当关系表达式成立时,关系表达式的值为1(真); 当关系表达式不成立时,其值为0(假)。
如:a=(b>=3) //a等于1。

4、逻辑运算符和逻辑表达式
! 逻辑非 (单目运算符)
&& 逻辑与(双目运算符)
|| 逻辑或(双目运算符)

逻辑表达式的值只有“真”和“假”,当逻辑关系成立时,逻辑表达式的值为1(真),当逻辑关系不成立时,逻辑表达式的。值为0(假)

5、逗号运算符和逗号表达式
形式:表达式1,表达式2,…表达式n
用途:常用于循环for语句中
如: a=23, a=4, a-6。 //a=24,表达式值18

6、条件运算符和条件表达式
C语言中的条件运算符由问号“?”和冒号“:”组成。
它是C语言中唯一的一个3目运算符。
形式:表达式1?表达式2:表达式3
结合性: 从右向左 如,x=ab!=0 ? a+1 : b>2?3:b/2;
相当于x=(a
b!=0)? (a+1) : ((b>2?3: (b/2))

7、类型转换
转换原则:运算对象数据类型不同时,字节短的数据类型自动转换成字节长的数据类型
char、short——int整数,int—— unsigned(字符串类型),float——double
强制类型转换:
如:int a=3555;
char b;
b=(char)a;

指针


(*和++优先级相同默认从右向左运算)

++*p相当于++(*p),表示先给p指向的变量值加1,然后取该变量的值。

(*p)++相当于先取p指向的变量,然后该变量值加1。

*p++相当于*(p++),表示取p所指向变量的值,然后p增1。

*++p相当于*(++p),表示p增1,然后取p所指向变量的值。

 

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/爱喝兽奶帝天荒/article/detail/927754
推荐阅读
相关标签
  

闽ICP备14008679号