C语言程序设计基础

数据类型

        在大学中,许多同学不管是否属于计算机专业,都是需要接触有关C语言的知识,下面是对C语言程序设计的一些基础知识点。

 

https://pan.baidu.com/s/1HGI_--SJCKfimidVRyS69Q
提取码:0711
这是vs2019和devc++,各位可以根据自己的需求下载,个人建议新手下载后者,它会代码的检查没有前者严格,写出来的代码较简洁(个人认为),比较适合初学者。

引例

介绍C语言的基本要素

#include<stdio.h>

int main(){
	printf("Hello World!");
	return 0; 
}

        注释:分为 // 和 /**/ 两种,当时使用后者时,注释内容必须写在/*和*/之间。注释中的内容可以是任何显示字符,注释部分对执行结果没有任何影响。注释出现在一串代码的前方时,说明了这一段代码的功能,出现在这一串代码后面时,说明的时这一行代码的功能。

        注意:1.  “/”和 “*” 之间不能有空格

                   2. 注释不能出现在语句中间

#include<stdio.h>

        预处理命令:书写后就可以调用这个库中的相应的函数。

        注意:C语言中有效的代码都是以#开始的,预处理命令的末尾不加分号。

int main()

        主函数在一个C语言程序中有且只有main函数(),程序运行时,会从main()开始执行

        函数体:一对大括号将函数的所有语句括起来就构成了函数体。本程序中函数体有两条语句

第一条语句为

printf("Hello World!");

        它由函数调用和分号两部分组成。printf("Hello World!")调用了标准输出函数,将引号中的内容原样的输出在屏幕上,语句末尾的分号表示改语句结束

        注意:C语言除了复合语句之外的所有语句都必须以分号结束

        main()函数中的第二条语句是:

return 0;

          它结束main()函数的运行,并向系统返回一个整数0,作为程序的结束状态。如果返回0,说明程序运行正常,返回其他值则表示不同的错误情况。系统会根据返回值判断程序是否运行成功。

#define MAXSIZE 1000

        宏定义:定义了一个符号常量,程序中凡是要用到1000的地方都可以用MAXSIZE替代,用户也可以根据自己的需求进行定义,提高了程序的延续性。

数据类型

        

        1.基本类型还可以分解为其他类型,主要为整型、字符型和浮点型。
        2.构造类型是根据已定义的一个或多个数据类型,用构造的方法来定义的。可以理解为,一个构造类型的值由若干个“成员”或“分量”构成。每个“成员”都是一个基本类型或一个构造类型。
        3.C语言中构造类型包括:数组类型、结构体类型、共用体类型和枚举类型。
        4.指针是C语言中一种特殊的,同时又具有重要作用的数据类型。

C语言中的常量

        常量就是在执行的过程中,数值不发生改变的量,分为直接常量符号常量两种

直接常量

        直接常量又分为整形常量、实型常量、字符常量和字符串常量。

1.整形常量

        整形常量即整数,包括正整数、负数和零,C语言中整数常量可以用是十进制、八进制、和十六进制表示。

        十进制:由数字0~9,正负号组成,如432,-872等。

        八进制:以0(数字0)为前缀,其后由数字0~7组成,如0453,054;八进制一般是无符号数。

        十六进制:以0x或0X为前缀,其后是0~9和字母A~F(字母大小写均可)组成,例如0x12ab,0X34da等。十六进制一般是无符号数

        注意:

        1.在一个整数常量后面加上一个字母u或者U,认为是unsingned int型,如246U.

        2.在一个整形常量后面加上一个字母l或L,认为是long int型,如12L.

        (关于进制转换会在之后的文章进行讲解)

2.实型常量
        实型常量即实数文称浮点数。C语言中,实数只能用十进制形式表示,实数的表示方法有两

种:小数形式和指数形式。

        1.小数形式:由整数部分、小数点和小数部分组成,当整数部分或者小数部分为0时,可以省

略不写,但是小数点不可省略。如12.345,3.,-.123等均为正确的实数。

        2.指数形式:由尾数部分、字母E或e和指数部分组成,格式为:士尾数E指数。如1.23E-2、

3.14E+3等,它们表示的数值分别为1.23×10-2、3.14×10°。注意:

        2.1以小数形式表示实数时,必须有小数点,并且小数点的前、后至少一边要有数字。

        2.2以指数形式表示实数时,字母E(或e)的前后必须有数字,并且指数部分只能是整数。如

12.-E3、1.5E、E6都是不正确的实数。

        在C语言中,实型常量默认为是double型的实数,如果在数的后面加字母f或F(如1.65f、

654.87F),则认为是float型的实数。

3.字符型常量 
        学符常量指单个字符,用一对单引号及其括号所括起的字符来表示。如'a'、'B'、'=!$'、?'都

是合法的字符常量。在C语言中,字符常量有以下特点:

        1.字符常量只能用单引号括起来,不能用双引号或其它括号。

        2.字符常量只能是单个字符,不能是字符串。

        3.字符可以是ASCII字符集中的任意字符。按ASCII码的大小,不同的字符之间存在着次序以

字符的ASCII码值按升序连续排列。如小写字母的ASCI码太于大写字母的ASCII码,大写字母的

ASCII码大于数字字符的ASCII码。

        使用字符常量时,每个字符在内存中占用一个字节,用于存储它的ASCII码值。所以C语言中

的字符常量具有数值特征,可以像整数一样参加运算,此时相当于对字符的ASCI码进行运算。

转义字符

转义字符转义功能ASCII码值
\0空字符0
\a响铃7
\b退格8
\t水平制表符9
\n回车换行10
\v竖向跳格11
\f换页12
\r回车13
\"双引号(“)34
\'单引号(‘)39
\?问好(?)63
\\反斜线(\)92
\ddd1~3位八进制所代表的字符
\xhh1~2位16进制所代表的字符

4.字符串常量
        字符串常量是由一对双引号””括起来的零个或多个字符序列,如:"HelloWorld”。字符事中可

以使用空格字符、转义字符和其他字符,也可以使用汉字等文字符号。如:"china”、"你好

Visual C"、”\tVisual C”等。字符串中还可以使用空字符,如:””表示空串,即不包含任何字符。

        字符串常量在内存中占用一段连续的存储单元,系统自动在每个字符串的尾部加上“\0'作为字

符串的结束标志,因此,n个字符组成的字符串,在内存中要占用n+1个字节空间。可以使

用 sizeof运算符来计算字符串占用的内存空间大小。

        如字符串常量”Hello\nWorld”占用12个字节的内存空间,存储图示如下:

Hello\nWorld\0


        字符串的长度等于该字符串中所包含的有效字符的个数,如"HelloWorld”的长度10.在字符串

中如通到\0'(\0'是字符串结束符)则认为该字符串结束,如"Hello\0Worhd的长度为5。如果字符串中

有转义字符,则一个转义字符作为一个字符,如"HelloWorldly的长度为11。可以使用strlen()函数来

计算字符串的长度。
 

注意:
        字符常量和字符串常量在内存中的存储情况是不同的,如'6'在内存中占1个字节,存储的是其

ASCII码,而"6”在内存中占2个字节,一个字节存储'6',另一个字节存储\0'。可以把一个字符常量

赋予一个字符变量,但不能把一个字符串常量赋予一个字符变量,在C语言中,由于没有提供字符

串类型的变量,字符串一般用字符数组来解决
 

5.符号常量 

        在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须

先定义,其一般形式为:

#define 标识符 常量值

        其中#define是一条编译预处理命令,称为宏定义命令(见11.1节),其功能是把该标识符定义为

其后的常量值,该标识符称为符号常量。一个#define命令只能定义一个符号常量,若要定义多个

符号常量,需使用多个#define命令。

符号常量使用的好处:

        1.增加函数的可读性。

        2.提高函数的可维护性

        3.简化程序代码

        4.方便数组的定义

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

沉迷书籍海洋

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值