目录第一部分简单程序示例: (3)第二部分整型数据 (7)(1)整型常量(整数) (7)(2)整型变量 (8)Ⅰ 二进制数计算: (9)Ⅱ 十进制数(正常数)转换为二进制数: (9)第三部分字符型数据 (11)(1)字符型常量:由一对单引号括起来的单个字符(可打印) (11)(2)转义字符:一个反斜杠(\)后跟限定字符(不可打印) (11)(3)字符型变量:通过保留字char说明 (12)(4) 字符串常量:用一对双引号括起来的零个或者多个字符的序列。
(12)ASCII码例子 (13)第四部分实型数据(浮点型数据) (14)(1)实型常量 (14)(2)实型变量:双精度(double) (14)第五部分格式说明符与数据输入与输出 (16)Ⅰ 几个简单常用的格式说明符: (16)Ⅱ 数据的输入与输出函数: (16)Ⅲ 前格式说明符的扩展说明 (19)第六部分几个简单的表达式讲解 (21)Ⅰ 算术表达式 (21)Ⅱ 赋值表达式 (21)Ⅲ 复合赋值表达式 (22)Ⅳ ++和— (22)Ⅴ 逗号表达式 (23)Ⅵ 条件表达式 (24)第七部分关系运算与逻辑运算 (25)几个简单的关系运算符 (25)几个简单的逻辑运算符 (25)第八部分if语句(条件语句) (26)①格式: (26)②格式: (27)③if的嵌套1 (28)④if的嵌套2 (28)第九部分switch语句(开关语句) (29)第十部分break与continue的作用 (31)Ⅰ break语句,用于跳出当前循环语句或开关语句 (31)Ⅱ continue语句 (32)第十一部分循环结构 (33)Ⅰ while语句 (33)Ⅱ do-while语句 (34)Ⅲ for语句 (35)Ⅳ for语句嵌套 (36)C语言基本构成 (39)Ⅰ标识符 (39)Ⅱ关键字(又叫保留字)(共32个) (39)Ⅲ 特定字(用于预处理程序中) (41)Ⅳ 字符集 (42)Ⅴ 运算符 (42)ASCII码表 (46)ASCII码表二 (53)第一部分简单程序示例:程序代码:#include<stdio.h>int main(void) //打印文字{printf("This is a C programming.\n");return 0;}程序结果如图:程序分析:①#include<stdio.h>是在程序编译之前要处理的内容,称为编译预处理命令;#include叫做预编译指令。
C 语言在真正处理程序的语义之前,先做一遍预编译,包括去掉注释和处理预编译指令。
编译预处理命令还有很多,它们都以“#”开头,并且不用分号结尾,所以不是c语言的程序语句。
②stdio.h是C编译系统提供的一个文件名,stdio是“standard input & output”的缩写,即有关标准输入输出的信息。
③在使用标准函数库中的输入输出函数时,编译系统要求程序提供有关的信息(例如对这些输入输出函数的声明),#include<stdio.h>的作用就是用来提供这些信息的④int main(void)main是C语言程序中主函数的名称。
每一个C语言程序都必须有一个main函数,且main函数是程序执行的起点,程序都是先从main 函数执行。
int是integer的缩写,代表函数的类型为整型。
执行此函数后会产生一个整数的函数值。
void :此例中声明函数无返回值⑤{}每一个函数都要有函数名,也要有函数体(即函数的实体)。
函数体由一对大括号括起来。
⑥printf("This is a C programming.\n");printf函数是C编译系统提供的标准函数库中的输出函数,C语言本身没有输入和输出语句。
本程序实际上只有第四行printf语句是用户来实现功能的。
printf语句中圆括号内双撇号内的字符串原样输出。
\n是换行符,代表跳到下一行。
每个语句后面都必须带有一个分号(;)⑦return 0;把0作为函数的返回值。
⑧int main()和return 0;main函数是由操作系统调用的,函数值提供给操作系统,用来判断main函数是否正常结果。
如果程序没有正常结束就不会执行return 语句,不返回0,系统就会使main函数的值为一个非0值(一般是1)。
操作系统就可以知道程序没有正常结束,并采取相应的措施(如输出一个信息)。
⑨//……表示程序的注释部分,注释可用英文或汉字,注释是给人看,告诉看的人某部分或整个C程序的作用,对程序的编译和运行并不起作用,注释符内容不被执行。
第二部分整型数据(1)整型常量(整数)如:123、123L、123LU①十进制整数:一串连续数字表示,最高位非0.范围(32767,-32768)32767:16为整常数最大的整数。
-32768:16位有符号整数中最小的数。
②八进制整数:以数字零开头,0-7组成的数如:010、011、016错误例子:018(八进制中,不允许出现8)0(0不分进制)③十六进制数:以数字0和字母x开头,a-f不区分大小写。
如:0xde、0xf错误例子:ox10(注意0与o不同)④进制转换例1:八进制转换为十进制010(八进制)8^2+8^1+8^0*08十进制=8例2:十六进制转换为十进制0xde(十六进制) d为13,e为14222(十进制)13*16+14=222有符号(2)整型变量无符号① 有符号型整数int )(短整型(short )长整型(long ) ② 无符号整型 unsigned int )unsigned short )长整型(unsigned long )int 、short 、long 三者的区别在于他们表示的整数范围不同,通常以一个机器字来存放一个int 型数据,三者满足short ≤int ≤long 示例:进制数计算与转换详细讲解Ⅰ 二进制数计算:加法 0+0=0,0+1=1+0=1,1+1=10减法 0-0=0,1-0=1,1-1=0,0-1=-1,10100-1010=1010 乘法 0×0=0,0×1=1×0=0,1×1=1除法 0÷1=0,1÷1=1Ⅱ 十进制数(正常数)转换为二进制数:如十进制10转换为二进制101010÷2=5..................0 5÷2=2.....................1 2÷2=1 01÷2=0 (1)因为是转换为二进制所以除2,如果转换为八进制则除8,其他以此类推Ⅲ二进制转换为十进制如二进制1010转换为十进制10 10102^3 + 2^2 +2^1 + 2^0 =8+0+2+0=10第三部分字符型数据(1)字符型常量:由一对单引号括起来的单个字符(可打印)如:’A’ ‘x’ ‘a’ ‘s’ ‘#’(2)转义字符:一个反斜杠(\)后跟限定字符(不可打印)注意区分斜杠:"/" 与反斜杠:"\"。
转义字符实际上作为一个字符来对待,当反斜杠后面的字符与它不构成转义字符,反斜杠不起作用。
(例子如下)举例:printf(“A\Nbc\Ndef\n”);输出结果如图:(3)字符型变量:通过保留字char说明格式:char c1,c2;每个字符型变量可用来存放一个字符。
(4) 字符串常量:用一对双引号括起来的零个或者多个字符的序列。
如:”I am a student“或者”x”或者””①双引号只充当字符串的分界符,而不是字符串的一部分,所以它并不输出。
②如果在字符串里面要输出双引号,则需要用转义字符。
例:printf("The \042a\042 is an idenf art");输出结果如图:③字符串中所含字符个数称字符串的长度。
如:”XYZ”长度为3。
“”长度为0,称为空串。
④字符串所占的空间=字符串的长度+1增加的那个字节,用来存放字符串’\0’,作为字符串的结尾标识。
⑤转义序列也可以出现在字符串中--只当作一个字符看待。
如:“I am a\n student”⑥“x”在电脑中占两个字节,电脑中它为”x\0“ASCII码例子例:输出大写字母A和它对应的ASCII码值#include<stdio.h>int main(void){char ch = 'A';printf("The alphabet is %c,It is ASCII is %d\n", ch,ch);return 0;}程序结果:第四部分实型数据(浮点型数据)(1)实型常量①非指数型(小数形式):如:+123.+123.45-123.45等②指数型如:.12345e212345.0e-3(e/E之前必须要有数字,之后指数必须为整数,且不能有空格)单精度(float)(2)实型变量:双精度(double)长双精度(longdouble)一般在C语言的编译系统里面,一般它都会自动的把程序中的实常量变成双精度型,以达到更准确的目的。
第五部分基础类型强制类型转换强制类型转换语句格式:(类型名)(表达式)例:#include<stdio.h>int main(void){double a = 23.5654;a=(int) (a);printf("%f",a);return 0;}结果为23.000000程序分析:本例中因为只有一个a转换,所以可以去掉a的括号,写成a=(int)a;第五部分格式说明符与数据输入与输出Ⅰ几个简单常用的格式说明符:①%d:十进制有符号整数②%f:单精度浮点数③%lf:双精度浮点型④%c:输出一个字符⑤%e:以指数形式输出⑥%s:输出一个字符串Ⅱ数据的输入与输出函数:用于用户输入数据函数:scanf、getchar 用于输出的函数:printf、putchar例1:#include<stdio.h>int main(void){int a;float b;char c;scanf("%d%f%d",&a,&b,&c);printf("a=%d,b=%f,c=%c",a,b,c);return 0;}程序结果如图:程序分析:①scanf函数的用法scanf用来让用户自己输入自己想要的数据给变量。
scanf函数的双引号里输入数据对应的格式说明符"%d%f%d"双引号后加&a,&b,&c,代表取址(记住要加&和变量的名字就行,不用管取址是什么意思。