- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验02 数据类型、运算符和简单的输入输出
班级:
学号:
姓名:
一、实验目的
1.掌握
C语言的数据类型,熟悉如何定义一个整型、字符型和实型的变量,以及对它们赋值的方法;
学会C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和自减(--)运算符的使用。
输入输出函数的应用
2.了解字符型数据和整型数据的内在关系。
进一步熟悉C程序的编辑、编译、连接、运行和调试的过程。
二、实验要求
请在实验课前复习课堂上所讲授的第三章的内容;
请在实验课前将本实验要求编写的程序打好草稿(将设计好的程序直接写在该文档相应题目的后面即可),课前提交预习报告;
实验课后请将该文档和最后一题的源程序文件(文件名为exp2_4_3.c)压缩为一个文件(文件名改为:学号姓名.rar),并在作业空间提交。
三、实验内容和步骤
输入并运行教材第3章第4题给出的程序:
#includestdio.h
int main()
{
char c1, c2;
c1 =97;
c2 =98;
printf(“%c %c\n”,c1,c2);
printf(“%d %d\n”,c1,c2);
return 0;
}
运行以上程序,分析为什么会输出这些信息。
结果是:
a b
97 98
原因:
分别按照两种形式输出,第一行输出字符型,第二行输出十进制整数型
如果将程序第5,6行改为:
c1=197;
c2=198;
运行程序并分析结果。
结果是:
??
-59 -58
原因:
定义c为字符型变量并使初始值为字符‘?’没有初始化,只是超出标准ASCII范围,结果会变得和机器有关。,197和198超过了char变量的数值允许范围
没有初始化,只是超出标准ASCII范围,结果会变得和机器有关。
如果将程序第4行改为
int c1, c2;
运行程序并分析结果。
结果是:
??
197 198
原因:
C1和c2被定义为整型变量
输入第3章第5题的程序。即:
用下面的scanf函数输入数据,使a=3,b=7,x=8.5,y=71.82,c1=’A’,c2=’a’。问在键盘上如何数入?
#include stdio.h
int main()
{
int a,b;
float x,y;
char c1,c2;
scanf(“a=%d b=%d”,a,b); //“%d”和“b”中间有一个空格
scanf(“%f%e”,x,y); //a改为x
scanf(“%c%c”,c1,c2);
printf(“a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);
return 0;
}
运行时分别按以下方式输入数据,观察输出结果,分析原因。
a=3,b=7,x=8.5,y=71.82,A,a //逗号分隔
a=3 b=7 x=8.5 y=71.82 A a //空格分隔
a=3 b=7 8.5 71.82 A a //空格分隔
a=3 b=7 8.5 71.82Aa //71.82Aa为连续输入,其他空格分隔
3 7 8.5 71.82Aa //71.82Aa为连续输入,其他空格分隔
a=3 b=7↙ //空格分隔
8.5 71.82↙ //空格分隔
A↙
a↙
a=3 b=7↙ //空格分隔
8.5 71.82↙ //空格分隔
Aa↙ //无分隔符
a=3 b=7↙ //空格分隔
8.5 71.82Aa↙ //71.82Aa为连续输入,其他空格分隔
通过此题,总结输入数据的规律和容易出错的地方。
总结:
在格式字符串中除了有格式声明外,还有一些普通字符。在赋值时应按指定格式输入;在输入数据时,应在对应位置上输入同样的字符;如果scanf函数中两个%d之间有两个空格,输入时,两个数据间应有两个或更多的空格字符;不同语句中间应有‘;语句的结束标志,而非分隔符。’分割。
语句的结束标志,而非分隔符。
输入以下程序
#includestdio.h
int main( )
{ int i,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf(“%d,%d,%d,%d\n”,i , j , m , n);
return 0;
}
运行程序,注意i、j、m、n各变量的值。
结果:
9,11,9,10
原因:
第六行和第七行分别表示i+1赋给i,再将i的值赋给m,所以m=i=9;将j的值赋给n,再将j+1赋给j.
将第6、7行改为:
m=i++;
n=++j;
再编译运行。
结果:
9,11,8,11
原因:
第六行和第七行分别表示将i的值赋给m,再将i
文档评论(0)