- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
例21符号常量的值是如何处理的
PAGE
PAGE 9
【例2.1】符号常量π的值是如何处理的?
#include stdio.h
#define PI 3.14159
main()
{
float r,h,v;
scanf(%f,%f,r,h);
v=PI*r*r*h;
printf(Volume=%f,v);
}
运行时输入:3,2↙
运行结果为: Volume=56.548618
【例2.2】b是什么存储类型的变量,有什么特点?
#include stdio.h
main()
{
register b; /*定义变量b为寄存器型变量*/
b=3;
printf(b=%d,b);
}
运行结果为:
b=3
【例2.3】哪个变量为静态局部变量?叙述它的作用域和生存期?
f()
{
static int a=1; /* 变量a 是静态局部变量,在此函数中有效*/
auto b=0;
a=a+1;
b=b+1;
printf(a=%d,b=%d\n,a,b);
}
main()
{
f();
f();
f();
}
运行结果为:
a=2,b=1
a=3,b=1
a=4,b=1
程序执行过程如表2.5所示。
【例2.4】在程序中使用了静态全局变量,说明它的作用域。
#include stdio.h
static int a=1; /* 变量a 在此文件中有效,其它文件不可以使用*/
main()
{
auto b=0;
a=a+1;
b=b+1;
printf(\na=%d,b=%d\n,a,b);
}
【例2.5】参照下列程序说明内存单元中同一个数据按有符号和无符号的数据表示范围。
#include stdio.h
main()
{
unsigned int a=65535;
int b=a;
printf(a=%u\n,a);
printf(b=%d\n,b);
printf(a=%d,%o,%x,%u\n,a,a,a,a);
}
运行结果为:
a=65535
b=-1
a=-1,177777,ffff,65535
【例2.6】字符型变量在内存中存入的是字符?还是其对应的ASCII码?
#include stdio.h
main()
{
char c1,c2;
c1=getchar( );
putchar(c1);
c2=c1+32;
putchar(c2);
printf(\n%d,%d\n,c1,c2);
}
程序运行时输入:
A↙
运行结果为:
Aa
65,97
【例2.7】说明”%”运算符主要用途?观察运算结果的符号?
#include stdio.h
main()
{
printf(%d,%d,%d,%d,7%3,7%(-3),-7%3,-7%(-3));
}
运行结果为:
1,1,-1,-1
【例2.8】自增自减运算只对变量而不能用于表达式。在第3章的学习中你发现这种运算主要用于哪里?
#include stdio.h
main()
{
int x=10;
printf(%d\n,-x++); /*x内存单元存放的是10,输出x的相反数*/
printf(%d\n,x); /*x使用过后在10的基础上自增1*/
}
运行结果为:
-10
11
【例2.9】长度运算符实质上是一个函数形???,()中有参数它可对表达式进行长度计算。
#include stdio.h
main()
{
int i;
short s;
unsigned u;
long int l;
float f;
char ch;
double d;
printf(%d,%d,%d,%d,%d,%d,%d,sizeof(i),sizeof(s),sizeof(u),sizeof(l),sizeof(f),sizeof(ch),sizeof(d));
}
运行结果为:
2,2,2,4,4,1,8
【例2.10】学习按位运算,注意它是对二进制位进行的.和逻辑运算区分开.
下列是书上例题,设a和b均为无符号整型变量,且a=3(取低字节, b=5 (取低字节,进行按位非、按位与、按位或、按位异或运算。
#include stdio.h
main()
{
int a=3,b=5;
printf(~a=%d\n, ~a);
printf(ab=%d\n,ab);
printf(a|b=%d\n,a|b);
printf(a∧b=%%d\n,a∧b
文档评论(0)