预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共144页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

第3章数据类型、运算符与表达式第3章数据类型、运算符与表达式第3章数据类型、运算符与表达式3.1C语言的数据类型3.1C语言的数据类型3.2常量3.2.1整型常量3.2.1整型常量3.2.1整型常量3.2.2浮点型常量3.2.2浮点型常量3.2.3字符常量3.2.3字符常量main() { printf("ab\tcd\n"); printf("12345678\012student\x42\n"); }3.2.4字符串常量3.2.4字符串常量3.2.5符号常量3.2.5符号常量#definePI3.14159 main() { floatr=2,c,s; c=2*PI*r; s=PI*r*r; printf("c=%f,s=%f\n",c,s); }#defineX10-7 main() { inta; a=3*X; printf("a=%d\n",a); }3.3简单变量3.3.1变量的命名3.3.2变量的基本数据类型名称3.3.3变量的类型定义3.3.4变量的初始化整型变量【例3.4】输出变量的值。为得到正确的结果,可将【例3.4】改为:实型变量实型变量【例3.5】不同类型数据的输出比较。字符型变量字符型变量【例3.6】字符型数据的运算。3.4库函数3.4.1库函数的使用方式3.4.4格式化输入输出函数3.4.4格式化输入输出函数printf函数格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符格式控制符3.4.4格式化输入输出函数scanf函数如果格式说明符之间包含其他字符,则输入数据时,应输入与这些字符相同的字符做间隔。 例如:scanf("%d,%d",&x,&y); 输入:1,2 结果为:x=1,y=2 当用%c格式输入时,空格、转义字符都作为有效字符输入。 例如:scanf("%c%c%c",&x,&y,&z); 输入:abc 结果为:x='a',y='',z='b'输入整数时,可以指定数据的宽度。 例如:scanf("%3d",&x); 输入:12345 结果为:x=123 输入实数时,可以指定数据的宽度,但不能指定精度。 例如:scanf("%5f",&x); 输入:123.456 结果为:x=123.4 又如:scanf("%7.2f",&y);是错误的。如果在%后有一个“*”字符,表示输入的数据跳过,不赋给任何变量。 例如:scanf("%d%*d%d",&x,&y,&z); 输入:123 结果为:x=1,y=3,z未赋值,2被跳过 当连续使用多个scanf输入数据时,会发生数据残留问题。 解决上述问题的方法有两种: (i)在第2个scanf的格式控制字符串前加一个空格,以吸收上一行输入的回车。 (ii)使用fflush(stdin)来清除缓冲区的内容。chara,b; scanf("%c",&a); scanf("%c",&b); printf("%d,%d\n",a,b);3.4.2常用数学函数3.4.2常用数学函数【例3.7】计算正弦、余弦和正切值。3.4.2常用数学函数3.4.2常用数学函数3.4.2常用数学函数3.4.2常用数学函数3.4.2常用数学函数【例3.8】用当前机器时间作随机数种子,产生3个随机整数。3.4.3字符输入输出函数3.4.3字符输入输出函数#include<stdio.h> main() { chara='B',b='o',c='k'; putchar(a);putchar(b);putchar(b); putchar(c);putchar('\t'); putchar(a);putchar(b); putchar('\n'); putchar(b);putchar(c); }3.4.3字符输入输出函数#include<stdio.h> main() { charc; c=getchar(); putchar(c); }3.5运算符和表达式3.5.1C运算符的种类、运算优先级和结合性3.5.1C运算符的种类、运算优先级和结合性3.5.1C运算符的种类、运算优先级和结合性3.5.1C运算符的种类、运算优先级和结合性3.5.2算术运算符与算术表达式【例3.11】两个整数相除。3.5.2算术运算符与算术表达式3.5.2算术运算符与算术表达式3.5.2算术运算符与算术表达式3.5.2算术运算符与算术表达式自动转换(隐式转换)两种箭头的含义: 向左的横向箭头,表示即使是同一种数据类型进行运算时,也要进行转换,用于提高计算精度。 如:‘a’+‘b’,先将‘a’和‘b’分别转换为int型,然后再进行运算,运算结果为int型。 向上的纵向箭头,表示当运算对象类型不