注:int,short int,long int是根据编译环境的不同,所取范围不同。
注:C语言中不存在字串符变量,字串符只能在字符数组中。
4.自动类型转换
如:
char c = ‘a’ ;
int x ;
double d ;
x = c ;
d = x ;
注:字节小的可以向字节大的自动转换,但字节大的不能像字节小的自动转换。
5.强制转换
其一般形式为:
(数据类型)(表达式)
其作用是把表达式的运算结果强制转换成类型说明符所表示的类型,例如:
double tempone = 6.777 ;
int tempone = (int)tempone; //强制转换成int类型
printf("%f\n",tempone);
printf("%d\n",temptwo);
在使用强制转换时应注意以下问题:
(1)数据类型和表达式都必须加括号。
(2)转换后不会改变原数据的类型及变量值只在本次运算中临时性转换。
(3)强制转换后的运算结果不遵循四舍五入原则。
三.运算符
1.C语言中的运算符
*算术运算符
*赋值运算符
*关系运算符
*逻辑运算符
三目运算符
2.算术运算符
3.自增与自减运算符
自增自减运算符有以下几种形式:
例如:
#include<stdio.h>
int main()
{
int a=100;
printf("%d\n",a++);
printf("%d\n",++a);
printf("%d\n",–a);
printf("%d\n",a–);
printf("%d\n",a+1);
printf("%d\n",a);
return 0;
}
运行结果为100
102
101
101
101
100
4.赋值运算符
如:
int a,b,c;
a = 10;//给a赋值为10
b = 7;//给b赋值为7
c = a+b;//计算a+b的值赋值给c
注意:复合运算符中运算符和等号之间是不存在空格的。
5.关系运算符
下面是C语言中的关系运算符:
关系表达式的值式“真”和“假”,在C程序中用整数1和0表示。
注意:>=,<=,==,!=这种符号之间不能存在空格。
6.逻辑运算符
下面我们看一下C语言中的逻辑运算符:
7.三目运算符
C语言中的三目运算符,其格式为:
表达式1?表达式2:表达式3;
我们来看一个例子:
8.运算符之优先级比较
我们来看一下运算符的运算顺序吧!
从上至下依次降低。
四.C程序结构语句
1.循环结构之while循环
while(表达式)
{
执行代码块
}
如:
int i = 0;//抄写次数
while(i<10)
{
i++;
printf(“第%d遍书写:computer\n”,i);
}
使用while循环语句应注意以下几点:
(1)while语句中的表达式一般是关系表达式或逻辑表达式,当表达式的值为假时不执行循环,反之,循环体则一直执行。
(2)一定要记着在循环体中改变循环变量的值,否则会出现死循环。
(3)循环体如果包含有一个以上的语句,则必须用{}括起来,组成复合句。
2.循环结构之do-while循环
其一般形式为:
do
{
执行代码块
}while(表达式);//注意:这里有分号
do-while循环语句的语义是:先执行循环中的代码块,然后判断while中表达式是否为真,如果为真则继续执行循环;如果为假,则终止循环。因此,do-while循环至少要执行一次循环语句。
注意:使用do-while结构语句时,while括号后必须有分号。
3.循环结构之for循环
其一般形式为:
for(表达式1;表达式2;表达式3)
{
执行代码块
}
它的执行过程如下:
(1)执行表达式1,对循环变量做初始化;
(2)判断表达式2,若其值为真,则执行for循环体中执行代码块,然后向下执行,若其值为假,则结束循环;
(3)执行表达式3;
(4)执行for循环中执行代码块后执行第二步;
(5)循环结束,程序继续向下执行。
其执行过程可用下图表示:
使用for语句应该注意:
(1)for循环中的“表达式1,2,3”均可可以省略,但分号(;)不能缺省。
(2)表达式1和表达式3可以是一个简单表达式也可以是多个表达式以逗号分隔。
(3)表达式2一般是关系表达式或逻辑表达式,只要其值非零,就执行循环体。
(4)各表达式中的变量一定要在for循环之前定义。
4.循环结构之三种循环比较
(1)在知道循环次数的情况下更适合使用for循环;
(2)在不知道循环次数的情况下适合使用while或者do-while循环,如果有可能一次都不循环应考虑使用while循环,如果至少循环一次应考虑使用do-while循环。