声明:本课件在电脑上可正常浏览,在手机或平板电脑上只能浏览到简介。

C语言语法基础的内容简介:

一、.标识符

一个名字,对常量、变量、类型、语句、标号和函数进行命名 标识符的种类: 关键字 预定义标识符 C语言系统提供的库函数名和编译预处理命令等构成了预定义标识符。 如果程序中没有相应的库文件包含,用户可以定义与系统预定义标识符名称一样的标示符,但应该避免这样做。 用户定义标识符 用户可以根据需要对程序中用到的变量、符号常量、用户函数、标号等进行命名,成为用户标识符。 在TurboC2.0中,用户标示符必须满足的规则: 课本P9 注意事项: 避免使用预定义标识符; 不能出现全角字符、空格,不要把下划线_写成减号-; 标识符必须定义后才能使用; 最好做到见名知义,以增加程序的可读性并且方便维护; 例:P9正确与不正确使用标识符 举例 在C语言中,用户能使用的正确标识符是[1]。 A)5fB)_for C)structD)_f.5

二、.数据类型

C语言提供的数据结构,是以数据类型形式出现的。具体分类如下: 基本类型 分为整型、实型(又称浮点型)、字符型和空类型四种。 构造类型 分为数组、指针、结构体、共用体、枚举和用户定义几种。 C语言中的数据,有常量和变量之分,它们分别属于上述这些类型。 本章将介绍基本类型中的整型、实型和字符型三种数据。 C语言的数据类型 基本类型 字符型(char)1字节 整型短整型(shortint)2字节 基本型(int)2字节(-32768-32767) 长整型(longint)4字节(-21亿) 实型—单精度(float)4字节6-7位有效数字 长单精度(longfloat)8字节15-16位有效数字 双精度(double)8字节15-16位有效数字 长双精度(longdouble)10字节20位有效数字

三、常量

1.整型常量 十进制数12-12l或-12L700000ul 八进制数012-012l 十六进制数0x12-0x12l

2.实型常量 十进制形式123.452.0(必有小数点) 指数形式2.45e-41.13E3(e或E前为数,后为整数) 实型常量本身无单或双精度,其机内精度取决于赋给那类变量(影响有效数字位数,见P15示例)

3.字符常量/字符串常量 字符常量 普通字符(可显示字符) A?(只能单字符单引号) 错误:ABCA\ 转义字符(在单引号或双引号中以\开头) 如回车符、单引号、反斜杠等 在程序中这些符号用表3.3所示的转义字符表示。 字符串(用双引号括起) A?(以\0为字符串结束标志) 注意:用char定义的字符变量只能接受字符常量,而不能接受字符串常量(C语言中无字符串变量) chara=U;charb=U;(b被置为某随机值) 什么时候要使用转义字符? 转义字符只在特殊情况下才使用: C程序中需要实现某些特定打印或显示动作时 如printf(123\t56\n); C程序中需要打印或显示以下三个字符时 \(斜杠)"(双引号)'(单引号) 如printf(Yourea\abadegg\); C程序中需要打印或显示ASCII表中非键盘字符时 如printf(Look\16and\x80);

4.字符串常量 若干个字符用双引号括起来就构成了字符串常量,如hello,a,123 C语言中在存储字符串常量时,除了存储双引号中的所有字符外,在字符串的最后还要存放一个字符\0,表示该字符串常量到此结束,字符\0也称为字符串的结束标志。它也占用一个字节。 字符串中字符的个数称为字符串长度。长度为0的字符串(即一个字符都没有的字符串)称为空串,表示为(一对紧连的双引号)

5.符号常量 C语言中可以用一个标识符来代表一个常量,称为符号常量,有两种定义方式: 利用宏定义#define来定义符号常量: 如#definePI3.14159;#defineAB34;(则PI和AB是符号常量) 利用const来定义符号常量,此方法在定义符号常量的同时也定义了该常量的数据类型 格式为:const数据类型符号常量1=常量1,符号常量2=常量2, 如constintMAX=5000;

四、变量

1.变量的定义与初始化 在C语言中,要求对所有用到的变量,必须先定义、后使用;在定义变量的同时进行赋初值的操作为变量初始化。 变量定义的一般格式 数据类型变量名[,变量名2]; 例如,floatradius,length,area; 变量初始化的一般格式 数据类型变量名[=初值][,变量名2[=初值2]]; 2.变量必须先定义后使用 变量名必须符合标识符命名规则

五、数据存储

1.内存的概念 计算机内存是由一片连续的存储单元组成,每个单元有相应的编号,称为内存单元的地址(简称地址)。 地址通常由一组连续的整数组成,编号小的称内存低地址,编号大的称内存高地址。 每个单元占1个字节(byte),因此每个字节都有相应的编号。

2.输入、输出函数 主要内容 格式化输出函数:printf() 格式化输入函数:scanf() 单个字符的输入、输出函数

3.printf()函数的一般格式 printf(格式字符串[,输出列表]); 格式字符串,包含三种 输出格式说明,一般形式是 %[标志][宽度][.精度][长度修饰符][格式字符] 常用的标志字符有-、+、0、; 长度修饰符如表2.7所示(page18); 格式字符如表2.6所示(page18)。 格式输出函数printf() 格式: printf(,输出项1,输出项2,,输出项n); 例:printf(x=%d,y=%f\n,x,x+3);

4.输出项表--常量、变量或表达式 输出项表是可选的。如果要输出的数据不止1个,相邻2个之间用逗号分开。 格式字符串中的格式字符,必须与输出项表中输出项的数据个数一致并且类型一致,否则会引起输出错误。

5.printf()函数使用说明 printf()可以输出常量、变量和表达式的值。但格式控制中的格式说明符,必须按从左到右的顺序,与输出项表中的每个数据一一对应,否则出错。 printf(); 错误:个数不一致,类型不匹配 格式字符x、e、g可以用小写字母,也可以用大写字母。使用大写字母时,输出数据中包含的字母也大写。除了x、e、g格式字符外,其它格式字符必须用小写字母。 例如,%f不能写成%F 格式字符紧跟在%后面就作为格式字符,否则将作为普通字符使用(原样输出)。 printf();中的第一个c和f,都是普通字符 格式化输入函数:scanf() 注意: scanf()函数没有输出功能(即不会向屏幕显示任何字符) 也不能规定小数位数(m.n) 赋值抑制字符 表示本输入项对应的数据读入后,不赋给相应的变量(该变量由下一个格式指示符输入)。

6.类型修饰符--l,L l--用于输入长整型(d、i、o、u、x)或双精度实型数据(f、e) L--用于输入长双精度实型数据(f、e) 数据输入操作 如果相邻2个格式指示符之间,不指定数据分隔符(如逗号、冒号等),则相应的2个输入数据之间,至少用一个空格分开,或者用Tab键分开,或者输入1个数据后,按回车,然后再输入下1个数据。 提高人机交互性建议:为改善人机交互性,同时简化输入操作,在设计输入操作时,一般先用printf()函数输出一个提示信息,再用scanf()函数进行数据输入。 遇到非法输入。例如,在输入数值数据时,遇到字母等非数值符号(数值符号仅由数字字符0-9、小数点和正负号构成)。 使用格式说明符%c输入单个字符时,空格和转义字符均作为有效字符被输入。

六、数据输出

(1)、字符输出函数 格式: putchar(c) 其中c为字符型或整型的常量、变量及其表达式 功能: 每次向屏幕输出一个字符供显示。 [putchar()函数说明] putchar()函数的格式:putchar(ch); 其中ch可以是一个字符变量或常量,也可以是一个转义字符。 putchar()函数的作用:向终端输出一个字符。 putchar()函数只能用于单个字符的输出,且一次只能输出一个字符。另外,从功能角度来看,printf()函数可以完全代替putchar()函数:printf(); 在程序中使用putchar()函数,务必牢记:在程序(或文件)的开头加上编译预处理命令(也称包含命令),即:#includestdio.h (2).字符输入函数 格式: getchar() getche() getch() 功能: 从键盘上读入一个字符,但后两个函数输入后无需回车。getch()还有一个功能,即不把读入的字符回显到屏幕上,常用于密码输入或菜单选择。getchar()包含在stdio.h中,getche()和getch()包含在conio.h中。 [getchar()函数说明] getchar()函数的格式:getchar(); getchar()函数的作用:从系统标准输入设备(如键盘)输入一个字符。另外,从功能角度来看,scanf()函数可以完全代替getchar()函数:scanf(%c,&ch); getchar()函数只能用于单个字符的输入,一次输入一个字符。 程序中要使用getchar()函数,必须在程序(或文件)的开头加上编译预处理命令:#includestdio.h [getch()和getche()函数说明] getch()函数的格式:getch(); getch()函数的作用:从系统标准输入设备(如键盘)输入一个字符,但不显示在屏幕上。 getche()函数的格式:getche(); getche()函数的作用:从系统标准输入设备(如键盘)输入一个字符,并显示在屏幕上。 getch()函数和getche()函数只能用于单个字符的输入,一次输入一个字符 程序中要使用getch()和getche()函数,必须在程序(或文件)的开头加上编译预处理命令:#includestdio.h getch()函数和getche()函数输入字符时不需要按回车键才结束。

七、运算符与表达式

算术运算 逗号运算 关系、逻辑和条件运算 长度运算 位运算 类型转换 赋值运算

(1)算术运算(P29) ①算术运算符 关于优先级和结合方向: C语言规定了运算符的优先级和结合性。在表达式求值时,先按运算符的优先级别高低次序执行。如果在一个运算对象两侧的运算符的优先级别相同,则按规定的结合方向处理。 ③自加、自减运算符(P30)        a、前缀形式 b、后缀形式 ④逗号运算 (P39)    C语言中逗号可作分隔符使用,将若干变量隔开 如inta,b,c; 又可作运算符使用,将若干独立的表达式隔开,并依次计算各表达式的值。其一般形式 表达式1,表达式2,,表达式n; 逗号表达式的求解过程:先求表达式1的值,再求表达式2的值,最后求表达式n的值。整个逗号表达式的值是最后一个表达式n的值。 在C语言所有运算符中,逗号表达式的优先级最低。 ⑤关系运算(比较运算)P(31)  关系运算符: 关系表达式:含有关系运算符的表达式 特别注意 ⑥逻辑运算(P31)  逻辑运算符: 逻辑运算符的任一端如果为非0数,则视为真,为0则视为假。 ⑦条件运算(P32) ⑧sizeof(长度运算符) sizeof运算符是一个单目运算符,用以计算操作数在内存中占用的字节数。它的操作数可以是以下两种情况:

(2)、类型转换 格式:(类型名)(表达式) 功能:将一个表达式的值转换为所需的数据类型 1/2的值为0,(double)1/2的值为0.5 类型转换并不改变变量的数据类型

(3)、赋值运算 赋值运算符及其表达式 一般形式:变量名=表达式 功能:先计算右边表达式的值,然后把这个值赋值给左边的变量 赋值表达式也有值,其值等于右边表达式的值 赋值运算符的结合方向是从右到左 如:i=j=3+5; 先计算3+5的值,然后赋值给j,最后把赋值表达式j=3+5的值赋值给i,所以j=8,i=8。相当于用连等的方式给多个变量赋同一个值。 优先级:仅高于逗号运算符

C语言有四种基本常量,C语言语法基础相关推荐

  1. C语言有四种基本常量,第2章-C语言的基础知识.ppt

    第2章-C语言的基础知识.ppt 第二章 编制C程序的基础知识,本章重点内容 2.1 常量与变量 2.2 C语言的基本数据类型 2.3 C语言的常用运算符和表达式,运行程序,第二章 编制C程序的基础知 ...

  2. c语言饿结构_C语言的四种程序结构

    C语言的四种程序结构 尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电 ...

  3. 简单介绍C语言使用四种方法初始化结构体

    这篇文章说明了什么是结构体,介绍了结构体的概念和使用优点,在C语言中如何使用和初始化结构体方法,通过详细的代码展开进行说明,希望该篇文章对你有所帮助 什么是结构体 在实际问题中,一组数据往往有很多种不 ...

  4. SQL语言的四种类型

    SQL语言的四种类型 SQL包含四种程序设计语言类别的语句: 数据定义语言(DDL).数据操作语言(DML).数据控制语言(DCL)和事物控制语言(TCL). Data Definition Lang ...

  5. C语言:一种通用的程序设计语言

    点击上方蓝字关注我,了解更多咨询 语言是一种通用的程序设计语言.它同UNIX系统之间具有非常密切的关系.C语言是在UNIX系统上开发的,且无论是UNIX系统本身还是其上运行的大部分程序,都是C语言编写 ...

  6. 下面关于java语言说法不正确的是_数据库应用技术复习 求解1下面关于JAVA语言的说法,错误的是(  )。A.JAVA语言是一种面向对象的程序设计语言。B...

    数据库应用技术复习 求解1下面关于JAVA语言的说法,错误的是( ).A.JAVA语言是一种面向对象的程序设计语言.B 数据库应用技术复习 求解 1下面关于JAVA语言的说法,错误的是( ). A.J ...

  7. 【Kotlin】Kotlin 类的继承 二 ( 属性覆盖 | 属性覆盖的四种情况 | 常量 / 变量 属性覆盖 | 子类初始化与属性覆盖 )

    文章目录 I . 属性覆盖基本方式 II . 属性覆盖的四种情况 III . 常量 ( val ) / 变量 ( var ) 属性覆盖 IV . 子类初始化时考虑覆盖属性的使用 I . 属性覆盖基本方 ...

  8. 前辈学习C语言的四种方法,实际上不管学什么语言,都行之有效!

    如果新手要学习编程,一些学长学姐都会建议从Python.PHP.Java开始学. 不过,作为工作多年的一名程序员,我还是建议你从C语言开始,为什么这么说,我相信你以后会慢慢的明白. 那么,如何学习C语 ...

  9. datatable的数据进行组内排序_Spark实现分组Top-k排序的四种方案(scala语言)

    Spark中实现分组排序(取Top-k)的四种方法. 以求每个学科最受欢迎的老师为例,假设学科下每个老师的主页访问量的多少代表该老师的受欢迎程度. 截取log日志文件中的网址数据的格式为: 数据格式: ...

最新文章

  1. 3.1、final、finally、 finalize
  2. win10 uwp DataContext
  3. tinyMce在线编辑器内JavaScript实现按Ctrl+S无刷新保存
  4. 1.2.3 TCP/PI参考模型(应用层、传输层、网际层、网络接口层)、五层参考模型(应用层、传输层、网络层、数据链路层、物理层)、OSI与TCP/IP参考模型比较
  5. java下载文件跳转页面_java servlet笔记:设置编码集、文件下载和两种服务器跳转-java下载文件...
  6. 关于OpenMesh在Vs2008下编译与安装
  7. 漫画TCP——一个悲伤的故事
  8. (网页)parseFloat在工作中遇到的错误
  9. 基于tcp connect的端口扫描程序
  10. 点击删除表格中的行并提交到数据库
  11. java 字节乱码_Android/Java 字节读取出现乱码问题
  12. 为什么表数据删掉一半,表文件大小不变?
  13. 计算机上的mrc功能,计算器上的MRC有什么功能?
  14. 找到多个与名为“Login”的控制器匹配的类型
  15. android xml红心圆,Android自定义View圆形图片控件代码详解
  16. 使用Xshell重启远程服务器指令
  17. 把海水变得更蓝更透!关键在调整-曝光度
  18. MySQL期末复习题和答案
  19. 录音棚的基本搭建//2021-1-31
  20. Centos 6.9 Install dubbokeeper

热门文章

  1. tmux 命令使用汇总
  2. 企业战略的历史和重要性
  3. device(device)
  4. oracle用户迁移数据
  5. coreelec 下载app_DY的瞎折腾系列 篇十五:N1多媒体系统CoreELEC 百度云下载指南...
  6. 御坂美琴(入门bfs+STL)
  7. 下一代计算机机房,下一代数据中心
  8. 手机摄像头不可思议的3个功能,普通人一定不知道!
  9. RiProV2定制导航条
  10. c# 线程Thread的IsBackground属性