- 1、本文档共7页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
C语言标准输入函数与if选择结构课程4编辑作者张进杰 2012.10.23提示:当我们在多次使用完Microsoft Visual C++ 6.0编译执行程序,再使用它写程序时,编译链接可能会出现错误,这并不是原程序的错误,是许多中间临时文件造成的,此时,关闭Microsoft Visual C++ 6.0,再打开编程,编译链接没有错误。如有错误,再去查错,修改程序。Scanf函数是标准输入函数,将键盘数据输入设备读入内存,并赋予指定变量。调用格式为scanf(“输入控制符,地址表列”);地址表列相邻两个地址之间用“,”隔开,地址表列与输入格式控制符一一对应实例1:#include stdio.hvoid main(){int x ,y,z;scanf (%d%d%d,x,y,z);printf(%d,%d,%d\n,x,y,z);}执行后效果,出现 _ 在屏幕一闪一闪,此时用户没有输入数据使用scanf,程序在运行过程中,可以由用户指定变量的值。接着我们随便输入几个数,比如21 34 7回车后,观察显示器效果分析:程序中scanf语句的含义是:从键盘上输入三个数分别赋值给变量x、y、z。其中x指变量x在内存中的地址,%d%d%d表示按十进制整数形式输入数据,输入数据时两个数据之间应分隔一个或多个空格,或以回车键、跳格键Tab来分隔使用scanf编写出高质量代码1使用scanf之前最好先使用printf提示用户以什么样的方式输入2 scanf中尽量不要使用非输入控制符,尤其是不要用\n3 应该编写代码对用户的非法输入做适当的处理实例2# include stdio.hint main(void){inti, j, k;printf(请输入三个值,中间以逗号分隔: );scanf(%d,%d,%d, i, j, k);printf(i = %d, j = %d, k = %d\n, i, j, k);return 0;}运行赋值,显示器返回结果下面讨论,流程控制语句中的选择结构程序设计,条件判断if语句。课程3中,提到C语言基本语句分为:数据定义语句,数据处理语句数据处理语句又可分为:表达式语句,函数调用语句,空语句(;),复合语句,流程控制语句。流程控制:指程序代码执行的顺序。流程的分类:顺序、选择、循环。C语言的if语句有三种形式:单分支if语句、双分支if语句、多分支if语句。着重分析双分支if语句if程序属于选择结构语句,什么叫选择?某些代码可能执行,也可能不执行,有选择性的去执行某些代码最简单的单分支if语句的形式: if (表达式)注意反括号后面没有分号功能:表达式为真,执行语句;为假,不执行。实例3# include stdio.hint main(void){if (2 3)printf(正确\n);return 0;}点击编译链接执行结果,截图如下:if执行的范围问题:if (表达式)语句A;语句B;if默认只能控制语句A的执行或不执行,无法控制语句B,语句B一定会执行。如果想控制多个语句的执行或不执行,就必须把这些语句用{}括起来。实例4# include stdio.hint main(void){if (4 2){printf(AAAA\n);printf(BBBB\n);}printf(CCCC\n);return 0;}编译链接:编译器的临时中间5.obj造成6.obj出错,即要执行的文件6被文件5干扰出错。解决办法:关闭软件,再打开使用,没有出现问题。关闭打开后,再使用:没有错误,执行输出分析:if的大括号包含两个语句,控制它们的执行,为真,输出AAAA BBBB,if的大括号以外,printf(CCCC\n);一定执行,输出CCCC。总的结果,就是显示器上的结果。双分支if语句 if (表达式)语句1; else语句2;功能:如果表达式为真,则执行语句1,否则执行语句2。实例5猜数游戏。if程序在magic中掩藏着一个三位数,设置为123,要求用户通过键盘输入自己猜的数。若用户猜对,程序屏幕显示**Right**,若用户猜错,屏幕显示**Wrong**。设计程序如下:#include stdio.hvoid main(){int magic=123,guess; //定义两个变量printf(“Enter your guess:”); //先输出这一段话scanf(“%d”, guess); //从键盘上输入定义的未知变量if (guess=magic)printf(“**Right**\n”); //如果从键盘上输入变量的值等于magic,输出Rightelseprintf(“**Wrong**\n”); //否则输出Wrong}编译链接我输入猜的数为789,结果屏
文档评论(0)