#includeint main(void) { printf("Programming is fun.n"); printf("Programming in C is even more fun!n"); return 0; } [点击并拖拽以移动]
第一节:
c语言的数据类型:
c语言提供了四种数据类型:1.基本类型 2.构造类型 3.指针类型 4.空类型 。
1.基本类型还可以分解为其他类型,主要为整型、字符型和浮点型。
2.构造类型包括:数组类型、结构体类型、共用体类型和枚举类型。
3.指针是c语言中一种特殊的,同时又具有重要作用的数据类型。
第二节:
c语言的常量:
1. 直接常量:直接常量有分为整型常量、实用常量、字符型常量和字符串常量。整型常量即整数,包括正整数、负整数和零。C语言中,整型常量可以用十进制、八进制和十六进制表示。
2. 实型常量
实型常量即实数,又称为浮点数。C语言中,实数只能用十进制形式表示,实数的表示方法有两种:小数形式和指数形式。
3. 字符型常量
字符型常量指单个字符,用一对单引号及其括号所语起的字有来表示,如写‘a’、'B'、'='、'$'、'?”都是合法的字符常量。
#includeint main() { char b, c, d, e; b = '43'; c = '103'; d = 'x2a'; e = 'x41'; printf("b=%c,c=%c,d=%c,e=%cn", b, c, d, e); printf(""good40morning!bn"); printf("123456"); return 0; } [点击并拖拽以移动] [点击并拖拽以移动]
4.字符串常量
字符串常量是由一对双引号"”括起来的零个或多个字符序列,如:"HelloWorld”。字符串中可以使用空格字符、转义字符和其他字符,也可以使用汉字等文字符号。
符号常量:在c语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量在使用之前必须先定义,其一般形式为:#define 标识符 常量值
符号常量的使用,可以为编写程序提供很多好处:1.增加程序的可读性 2.提高程序的可维护性 3.简化程序的可维护性 4.方便数组的定义。
#include#define PRICE 20 int main() { int num, total; num = 10; total = num * PRICE; printf("总价格为:%dn,total"); return 0; }
第三节
c语言的变量
变量是指在程序运行期间其值可以发生变化的量。
1.变量的定义与使用
在c语言中,所有的变量必须先定义后使用。
1.变量的定义
其定义格式:
类型说明符 变量名表;
其中:
(1)类型说明符必须是C语言中的有效数据类型,如int、float、double、char等,用于指定变量的类型,该类型决定了编译时分配给变量的内存单元的多少。
(2)变量名表可以由一个或多个变量名组成,各变量名之间用“,”分隔。变量名必须是合法的C语言标识符,变量名一般使用小写字母。
(3)变量的定义必须放在变量的使用之前,一般在函数体的开头部分进行定义。
2.变量的初始化
C语言允许在定义变量的同时对变量赋值,这个过程称为变量的初始化。
3.变量的使用
变量定义之后,就可以在程序中使用。在程序中使用变量,称为变量的引用,如进行数值计算、数据处理等。使用变量时,应该先赋值,后引用。
#includeint main() { int a, b, c; char ch = 'A'; a = 10; b = a + ch; scanf_s("%d", &c); printf("%d,%d,%d,%cn", a, b, c, ch); return 0; }
3. 整型变量
一个整型变量用来保存整数。在C语言中,整型又可分为:短整型(short int)、整型(in)、长整型(long int)、无符号整型(unsiened int),无符号短整型(unsigned short int)和无符号长整型(unsigned long int)六种。
#includeint main() { short int a, b; a = 32767; b = a + 1; printf("a=%d,b=%dn", a, b); return 0; }
4.实型变量
c语言中实型变量分单精度(float型)和双精度(double型)两类
#includeint main() { float a = 1234.56789; double b = 1234.567895678; printf("a=%f,b=%fn", a, b); return 0; }
5.字符型变量
字符型变量的值是字符常量,即用单引号引起来的单个字符。字符型变量的类型说明符是char,其类型说明的格式和命名规则与整型变量相同。
#includeint main() { char c1, c2; c1 = 'A'; c2 = 65; printf("%c,%cn", c1, c2); printf("%d,%dn,c1,c2"); return 0; }
#includeint main() { char c1, c2; c1 = 'A'; c2 = 'B'; c1 = c1 + 32; c2 = c2 + 32; printf("%c,%cn", c1, c2); printf("%d,%dn", c1, c2); return 0; }
第四节
运算符和表达式
1.赋值运算符和赋值表达式
C语言中赋值运算符有“=”、“+=”、“-=”、“*=”、“/=”和“%=”等。用赋值运算符将运算对象连接而成的表达式称为赋值表达式.
1.简单赋值运算符
最简单的赋值运算符就是“=”,它的作用是将一个数值赋给一个变量。
2.复合赋值运算符
在简单赋值运算符前面加上算术运算符就构成复合赋值运算符
3. 赋值表达式
在C语言中,赋值语句属于表达式语句。赋值表达式是由赋值运算 符将一个变量和一表达式连接起来的式子所组成。它的一般形式为 变量=表达式
算术运算符和算术表达式
1.基本的算术运算符
基本算术运算包括加、减、乘、除和求余等运算,其中加、减、乘、除和求余运算均为双目运算符。
2.自增、自减运算符
C语言有两个特殊运算符“十十”和“一”。
3. 算术运算符的优先级和结合性
C语言规定了运算符的优先级和结合性,单日运算符是右结合的,双目算术运算符是左结合的。算术运算符的优先级为:‘’++、--、-”>"*、/、%、”>"+、-”,即单目运算符的优先级高于双目运算符,双目算术运算符中 *、/、% 优先级高于十、一。在优先级相同的情况下,按规定的“结合性”进行处理。
4.算术表达式
算术表达式是由算术运算符、运算对象和括号连接起来的式子,运算对象可以是常量、变量和函数等。如a+b、3*(x+y)都是算术表达式。
#includeint main() { int number, a, b, c; number = 123; printf("输入的3位数为:%dn", number); a = number / 100; b = (number - a * 100) / 10; c = number % 10; printf("反序数是:%d%d%dn", c, b, a); return 0; }
5.号运算符和逗号表达式
C语言中逗号“,”也是一种运算符,称为逗号运算符,其功能是把多个表达式连接起来组成一个表达式,称为逗号表达式。逗号表达式的一般形式为:表达式1,表达式2,···,表达式n 逗号表达式的执行顺序是:从左到右依次计算每个表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。
如对于表达式“a=4,b=5,c=a+b”,首先计算a=4的值,结果为4,再计算b=5的值,结果为5,最后计算c=a+b的值,结果为9,则整个逗号表达式的值为9,该表达式执行完后,a=4,b=5,c=9。
(2)逗号运算符是双目运算符,其优先级最低,是左结合的。
(3)并非所有出现逗号的地方都为逗号表达式,如在变量说明语句中,以及函数参数表中逗号只是用作各变量之间的分隔符。
#includeint main() { int i, j = 7; float k = 5; i = (j = j + 2, j / k); printf("i=%dn", i); return 0; }
5. 求字节数运算符
运算符 sizcof用于计算数据类型所占的字节数,它是一个单目运算符,优先级高于双目运算符,其一般格式如下:
(1)sizeof(表达式)或sizeof 表达式
(2)sizeof(数据类型名)
#includeint main() { printf("char类型占%d字节n", sizeof(char)); printf("short int类型占%d字节n", sizeof(short int)); printf("int类型占%d字节n", sizeof(int)); printf("float类型占%d字节n",sizeof(float)); printf("double类型占%d字节n", sizeof(double)); return 0; }
#includeint main() { int a, b; a = sizeof(3 + 5.0); b = sizeof 3 + 5.0; printf("%d,%d,%d\", a, b, sizeof("china")); return 0; }
第五节
数据类型转换
1 自动类型转换
不同类型的数据在一起运算时,编译系统会自动进行类型转换。进行自动转换的规则是:把占用内存空间少的(低级)类型向占用空间多的(高级)类型转换,以保证运算的精度,
2强制类型转换
强制类型转换是采用强制类型转换运算符将某种数据类型强制转换成指定的数据类型,其一般形式为
#includeint main() { int a = 3, b = 4; float c; c = (float)(a + b) / 2; printf("c=%fn", c); return 0; }
(类型说明符)(表达式)
功能:把表达式的运算结果强制转换成类型说明符指定的类型。
进行强制类型转换时需注意:
(1)需强制类型转换中的表达式一定要括起来,否则只对紧随括号后的量进行类型转换。
(2)强制类型转换是一种不安全的转换,如果是从高级类型转换成低级类型,则会损失数据的精度。
(3)强制类型转换并不改变表达式中变量的类型和值。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)