- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验三 运行符与表达式
实验四 运行符与表达式
一、目的和要求
1、理解常用运行符的意义。
2、掌握C语言表达式的运行规则。
二、实验内容和步骤
1、编写一个C语言程序,测试下列各表达式
i , j
i + 1, j + 1
i + + , j + +
+ + i, + + j
i +++j , i + + + + + j
+ + i + + + + + j + +
(提示:通过下例即可测试“i+++j”的计算过程。
#include stdio.h
main()
{
int i=1,j=1;
printf(i+++j = %d\n, i+++j);
printf(i=%d,i);
printf(j=%d,j);
}
)
要求在各表达式中i和j都分别有相同的初值。在实验中注意下列问题:
(1)哪些表达式是错误的?为什么?
(2)认真分析并理解+,++,++i,i++的意义和优先级别。
2、通过下例分析总结运算符的优先级。
可能有如下程序:
#include stdio.h
void main(void)
{
int i, j;
i = 1;
j = 101;
printf(i = %d, and j = %d\n, i, j);
printf(i++ = %d, and j++ = %d\n, i++, j++);
printf(++i = %d, and ++j = %d\n, ++i, ++j);
printf(i+1 = %d, and j+1 = %d\n, i+1, j+1);
printf(i+++j = %d\n, i+++j);
printf(++i+++j++= %d\n, (++i)+++(j++));
printf(i = %d, and j = %d\n, i, j); //注意i,j的值,分析i+++j的执行过程。
printf(i-- = %d, and j-- = %d\n, i--, j--);
printf(--i = %d, and --j = %d\n, --i, --j);
printf(i-1 = %d, and j-1 = %d\n, i-1, j-1);
printf(i---j = %d\n, i---j);
printf(--i---j--= %d\n, (--i)---(j--));
}
3、输入并运行下面的程序
#include stdio.h
main()
{
int a,b;
unsigned c,d;
long e,f;
a=100;
b=-100;
e=50000;
f=32767;
c=a;d=b;
printf(%d%d\n,a,b);
printf(%u%u\n,a,b);
printf(%u%u\n,c,d);
c=a=e;
d=b=f;
printf(%d%d\n,a,b);
printf(%u%u\n,c,d);
}
请对照程序和运行结果分析:
将一个负整数赋给一个无符号的变量,会得到什么结果。
将一个长整数赋予无符号变量,会得到什么结果(分别考虑大于或等于65535以及小于65535的情况)。
将一个大于32767的长整数赋给整型变量,会得到什么结果。
4、编写程序:
输入一个四位正整数,将它们倒排, 例如输入1234,输出4321。 (提示:分别应用/ 求整数部分, %求余数部分。例如7/5=1,7%5=2)
5、输入下面程序:
#includestdio.h
void main( )
{
int i,j,m,n ;
i=8 ;
j=10 ;
m=++i ;
n=j++;
printf(%d,%d,%d,%d,i,j,m,n);
}
(1)运行程序,注意 i,j,m,n各变量的值,分别作以下改动并运行。
(2)将第3 行中 m, n 的值改为:m=i++; n=++j; 再运行。
(3)将程序改为:
#include stdio.h
void main( )
{ int i, j;
i=8; j=10;
printf(“ %d,%d” , i++, j++);
}
运行并分析结果。
(4)在(3)的基础上,将 printf语句改为:
printf(“ %d,%d” , ++i, ++j); 运行并分析结果。
(5)再将printf 语句改为:
printf(“ %d,%d,%d,%d” , i, j, i++, j++); 运行并分析结果。
(6)将程序改为:
#include stdio.h
void main( )
{
int i,j,m=0,n=0 ;
j=10 ;
i=8 ;
m+=i++;
n-=--j
您可能关注的文档
最近下载
- 日立电梯LGE无机房乘客电梯电气规格表电气原理图纸K3500415(2018-8).pdf
- 制药工程制图习题集(第二版)于颖_课后习题答案解析.pdf
- 水表计量检定站被授权水表检定资格.doc VIP
- 万圣节英语习俗介绍.ppt VIP
- 《JTS 120-1-2018 跨越和穿越航道工程航道通航条件影响评价报告编制规定》.pdf
- 2023-2024学年人教PEP版六年级上册英语期中测试卷 (含答案).pdf
- Halloween万圣节英介绍.ppt VIP
- 学生心理健康辅导记录表(18篇).pdf
- 2024-2025学年初中英语六年级上册(2024)沪教版(五四学制)(2024)教学设计合集.docx
- 2024年大学各专业就业率情况和分析研究.pdf
文档评论(0)