关于c语言if else语句格式语句格式

您当前所在位置: &
C语言用if语句构成的选择结构章节练习二
编辑:jz_liy2
现在关于等级考试的习题例题很多,题海战术不是最有效的,根据考试大纲,精品学习网对C语言用if语句构成的选择结构进行了适当分类整理,希望大家喜欢。
1、设变量x和y均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )。{Page}
A)if(x++);
B.if(x&y&&y!=0);
C.if(x&y)&x-&-
D.if(y&0)&{;}
else&y++;&else&x++;
2、if语句的基本形式是:if(表达式)语句,以下关于&表达式&&值的叙述中正确的是(  )。
A.必须是逻辑值
B.必须是整数值
C.必须是正数
D.可以是任意合法的数值
3、有以下程序
{&int&a=5,b=4,c=3,d=2;
printf(&%d\n&,D);
else&if((c-1&=D)==1)
printf(&%d\n&,d+1);
printf(&%d\n&,d+2)
执行后输出结果是(& )
D.编译时有错,无结果
4、有如下程序
{&float&x=2.0,y;
if(x&0.0)y=0.0;
else&if(x&10.0)y=1.0/x;
else&y=1.0;
printf(&%f\n&,y);}
该程序的输出结果是
A.0.000000
B.0.250000
C.0.500000
D.1.000000
5、下列程序执行后的输出结果是
void&func1(int&i);
void&func2(int&i);
char&st[]=&hello,friend!&;
void&func1(int&i)
{&printf(&%c&,st[i]);
if(i&3){i+=2;func2(i);}}
void&func2(int&i)
{&printf(&%c&,st[i]);
if(i&3){i+=2;func1(i);}}
{&int&i=0;&func1(i);&printf(&\n&);}
6、以下是if语句的基本形式:
if(表达式)语句其中&表达式&(  )
A.必须是逻辑表达式
B.必须是关系表达式
C.必须是逻辑表达式或关系表达式
D.可以是任意合法的表达式
7、阅读下面语句,则程序的执行结果是&【7】&。
#include&&stdio.h&
{&int&a=-1,b=1,k;
if((++a&&0)&&!(b--&=0))
printf(&%d,%d\n&,a,b);
else&printf(&&%d,%d\n&,b,a);}
精品学习网关于C语言用if语句构成的选择结构就整理到这,预祝考生考试顺利!
● 相关推荐 15:32:09 15:03:40 14:48:54 14:30:45 14:06:12 13:50:41 13:38:23 13:05:03 12:18:29 11:33:10
精品学习网(51edu.com)在建设过程中引用了互联网上的一些信息资源并对有明确来源的信息注明了出处,版权归原作者及原网站所有,如果您对本站信息资源版权的归属问题存有异议,请您致信qinquan#51edu.com(将#换成@),我们会立即做出答复并及时解决。如果您认为本站有侵犯您权益的行为,请通知我们,我们一定根据实际情况及时处理。
◇ 热点关注
12345678910
○ 各省计算机等级考试热讯豆丁微信公众号
君,已阅读到文档的结尾了呢~~
c语言if语句的练习题答案
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
c语言if语句的练习题答案
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='http://www.docin.com/DocinViewer--144.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口欢迎加入我们,一同切磋技术 &
用户名: &&&
密 码: &
共有 453 人关注过本帖
标题:关于if 语句求助!
等 级:论坛游侠
帖 子:111
专家分:154
结帖率:100%
&&已结贴√
&&问题点数:20&&回复次数:9&&&
关于if 语句求助!
程序代码:
void draw(int pen,int dir,int step,int arrayDir[],int arrayTotal[][<font color=#])
&&&&&&&&int i=<font color=#;
&&&&&&&&if (dir%<font color=#==<font color=#)
&&&&&&&&&&&&&&& if(pen==<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for (i=<font color=#;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]][arrayDir[<font color=#]+i]+=<font color=#;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&arrayDir[<font color=#]+=
&&&&&&&&&&&&}
&&&&&&&&if (dir%<font color=#==<font color=#||-<font color=#)
&&&&&&&&&&&&if (pen==<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=<font color=#;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]+i][arrayDir[<font color=#]]+=<font color=#;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[<font color=#]+=
&&&&&&&&&&&&}
&&&&&&&&&&&& if (dir%<font color=#==<font color=#||-<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&if (pen==<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=<font color=#;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]-i][arrayDir[<font color=#]]+=<font color=#;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[<font color=#]-=
&&&&&&&&&&&&}
&&&&&&&&&&&& if (dir%<font color=#==<font color=#||-<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&if (pen==<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=<font color=#;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]][arrayDir[<font color=#]-i]+=<font color=#;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[<font color=#]-=
&&&&&&&&&&&&}
&&&&&&&&&&&&}
无论dir是什么,比如(0),都会在每个if中运行,好像无论什么情况 dir%4都是成立的!
来 自:恍惚窈冥
等 级:城市猎人
帖 子:1543
专家分:5367
用switch吧
善人者,不善人之师;不善人者,善人之资。不贵其师,不爱其资,虽智大迷。
来 自:陕西省延安市
等 级:新手上路
小菜我看不懂.
等 级:新手上路
&&这全是IF&&ELSE勒?
等 级:论坛游侠
帖 子:111
专家分:154
程序代码:#include&stdio.h&
#include&stdlib.h&
#include&math.h&
/*logo海龟画图游戏*/
void draw(int pen,int dir,int step,int arrayDir[],int arrayTotal[][<font color=#]);
int main(void)
&&& int penStatus=<font color=#;&&/*determine the pen status down or up*/
&&& int dir=<font color=#;&&/*detemine the direction*/
&&& int command=<font color=#;&&/*first input command*/
&&& int command2=<font color=#;&&/*steps */
&&& int array1[<font color=#][<font color=#]={<font color=#};
&&& int arrayDir[<font color=#]={<font color=#};
&&& int a=<font color=#;
&&& int i=<font color=#;
&&& int j=<font color=#;
&&& while(a!=-<font color=#)
&&& printf(&Enetr the command:&);
&&& scanf(&%d&, &command);
&&& switch(command)
&&& case <font color=#:
&&&&&&&&penStatus=<font color=#;
&&&&&&&&break;
&&& case <font color=#:
&&&&&&&&penStatus=<font color=#;
&&&&&&&&break;
&&& case <font color=#:
&&&&&&&&dir+=<font color=#;
&&&&&&&&break;
&&& case <font color=#:
&&&&&&&&dir-=<font color=#;
&&&&&&&&break;
&&& case <font color=#:
&&&&&&&&printf(&dir:%d\n&,dir);
&&&&&&&&scanf(&,%d&, &command2);
&&&&&&&&draw(penStatus,dir,command2,arrayDir,array1);
&&&&&&&&printf(&poisition now is %d %d\n&,arrayDir[<font color=#],arrayDir[<font color=#]);
&&&&&&&&break;
&&& case <font color=#:
&&&&&&&&for(i=<font color=#;i&<font color=#;i++)
&&&&&&&&&&&&for (j=<font color=#;j&<font color=#;j++)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& if (array1[i][j]==<font color=#)
&&&&&&&&&&&&&&&&&&&&printf(&*&);
&&&&&&&&&&&&&&& else
&&&&&&&&&&&&&&&&&&&&printf(& &);
&&&&&&&&&&&&}
&&&&&&&&&&&&printf(&\n&);
&&&&&&&&&&&&
&&&&&&&&break;
&&& case <font color=#:
&&&&&&&&a=-<font color=#;
&&&&&&&&break;
&&& default:
&&&&&&&&printf(&Wrong Input&);
&&& void draw(int pen,int dir,int step,int arrayDir[],int arrayTotal[][<font color=#])
&&&&&&&&int i=<font color=#;
&&&&&&&&int
&&&&&&&&x=dir%<font color=#;
&&&&&&&&printf(&%d\n&,x);
&&&&&&&&if (dir%<font color=#==<font color=#)
&&&&&&&&&&&&&&& if(pen==<font color=#)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&for (i=<font color=#;i&=i++)
&&&&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]][arrayDir[<font color=#]+i]+=<font color=#;
&&&&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&&&&arrayDir[<font color=#]+=
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&
&&&&&&&&if (dir%<font color=#==<font color=#||-<font color=#)
&&&&&&&&&&&&if (pen==<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=<font color=#;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]+i][arrayDir[<font color=#]]+=<font color=#;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[<font color=#]+=
&&&&&&&&&&&&}
&&&&&&&&if (dir%<font color=#==<font color=#||-<font color=#)
&&&&&&&&&&&&if (pen==<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=<font color=#;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]-i][arrayDir[<font color=#]]+=<font color=#;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[<font color=#]-=
&&&&&&&&&&&&}
&&&&&&&&&if (dir%<font color=#==<font color=#||-<font color=#)
&&&&&&&&&&&&if (pen==<font color=#)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=<font color=#;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[<font color=#]][arrayDir[<font color=#]-i]+=<font color=#;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[<font color=#]-=
&&&&&&&&&&&&}
这是完整的程序
下面是 题目
4.23(龟图)Logo语言在个人计算机用户中非常流行,该语言形成了龟图的概念。
假设有两个机器海龟,通过C++程序控制在房子中移动。在两个方向之一打开画笔,即向上或向下。画笔向下时,海龟跟踪移动的形状并留下移动的路径,画笔向上时,海龟自由移动不写下任何东西。在这个问题中,要模拟海龟的操作和生成计算机化的草图框。
&&&用20*20数组floor,初始化为0。从数组中读取命令。跟踪任何时候海龟的当前位置和画笔的向上或向下状态。假设海龟总是从位置0,0开始,画笔向上。程序要处理的海龟命令如下:
&&&&&&&&&&&命令 含义
5,10 前进10格(或几格)
6 打印20*20数组
9 数据结束(标记)
假设海龟接近平面中心。下列“程序”绘制和打印12*12正方形并让画笔向上:
画笔向下并移动海龟时,将数组floor的相应元素设置为1。指定命令6(打印)时,只要数组中右1,就显示星号或选择的其他符号,画一些有趣的图形。增加其他命令以增加龟图语言的功能
等 级:小飞侠
帖 子:1114
专家分:2611
看不懂楼主想表达啥意思
等 级:论坛游侠
帖 子:111
专家分:154
在函数draw()中,如果dir=0的时候 :
程序代码:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if (dir%<font color=#==<font color=#)&&&&&&&&成立
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if(dir%<font color=#==<font color=#||-<font color=#)&&&&&不成立
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if (dir%<font color=#==<font color=#||-<font color=#)&&& 不成立
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&if (dir%<font color=#==<font color=#||-<font color=#)&&& 不成立
而实际在运行dir=0的时候,上面4个if内的内容全部运行了一遍。
等 级:小飞侠
帖 子:1114
专家分:2611
回复 7楼 oszc
在第二到第四个if前面加一个else试试
等 级:论坛游侠
帖 子:111
专家分:154
没想到是语法错误,编译器也没提醒
程序代码:
&if(dir%<font color=#==<font color=#||-<font color=#)
&if(dir%<font color=#==<font color=#||dir%<font color=#==-<font color=#)
绝对是一个教训!!!花了我4个小时调试。
来 自:天津
等 级:论坛游民
帖 子:58
专家分:24
void draw(int pen,int dir,int step,int arrayDir[],int arrayTotal[][50])
&&&&&&&&int i=0;
&&&&&&&&if (dir%4==0)
&&&&&&&&&&&&&&& if(pen==2)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for (i=0;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[0]][arrayDir[1]+i]+=1;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&&&&&&&arrayDir[1]+=
&&&&&&&&&&&&}
&&&&&&&&else if (dir%4==1||-3)
&&&&&&&&&&&&if (pen==2)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=0;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[0]+i][arrayDir[1]]+=1;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[0]+=
&&&&&&&&&&&&}
&&&&&&&&&&&&else if (dir%4==3||-1)
&&&&&&&&&&&&{
&&&&&&&&&&&&if (pen==2)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=0;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[0]-i][arrayDir[1]]+=1;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[0]-=
&&&&&&&&&&&&}
&&&&&&&&&&&&else if (dir%4==2||-2)
&&&&&&&&&&&&{
&&&&&&&&&&&&if (pen==2)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&& for(i=0;i&=i++)
&&&&&&&&&&&&&&& {
&&&&&&&&&&&&&&&&&&&&arrayTotal[arrayDir[0]][arrayDir[1]-i]+=1;
&&&&&&&&&&&&&&& }
&&&&&&&&&&&&&&& arrayDir[1]-=
&&&&&&&&&&&&}
&&&&&&&&&&&&}
我在每个大的if前面加个else 我运行了一下!不知道是不是你要的结果你试试吧
版权所有,并保留所有权利。
Powered by , Processed in 0.055226 second(s), 7 queries.
Copyright&, BCCN.NET, All Rights Reserved当前位置&#xe65a;&#xe65a;&#xe65a;浏览文章
C语言是面向过程的,而C++是面向对象的C和C++的区别:C是一个结构化语言,它的重点在于算法和数据结构。C程序的设计首要考虑的是如何通过一个过程,对输入(或者环境条件)进行运算解决得到输出(或者实现过程(事务)控制)。C++,首要考虑的是如何构造一个对象模型,让这个模型可以够契合与之对应的问题域,这样即可以通过获取对象的状态信息得到输出或者实现过程(事务)控制。 所以C与C++的最大区别在于它们的使用于处理问题的思想方法不一样。之所以说C++比C更先进,是由于“ 设计这个概念已经被融入到C++之中 ”。C与C++的最大区别:在于它们的使用于处理问题的思想方法不一样。之所以说C++比C更先进,是由于“ 设计这个概念已经被融入到C++之中 ”,而就语言本身而言,在C中更多的是算法的概念。那么是不是C就不重要了,错!算法是程序设计的基础,好的设计假如没有好的算法,一样不行。而且,“C加上好的设计”也可以写出非常好的东西。6、if 语句对出错的解决———————————这有什么好说的呢?还是先看一段程序代码吧。if ( ch &= 0 && ch &= 9 ){/ 正常解决代码 /}else{/ 输出错误信息 /printf("error ...... ");return ( FALSE );}这种结构很不好,特别是假如“正常解决代码”很长时,对于这种情况,最好不要使用else。先判断错误,如:if ( ch & 0 || ch & 9 ){/ 输出错误信息 /printf("error ...... ");return ( FALSE );}/ 正常解决代码 /......这样的结构,不是很清楚吗?突出了错误的条件,让别人在用你的函数的时候,第一眼就可以看到不合法的条件,于是就会更下意识的避免。7、头文件中的#ifndef——————————千万不要忽略了头件的中的#ifndef,这是一个很关键的东西。比方你有两个C文件,这两个C文件都include了同一个头文件。而编译时,这两个C文件要一同编译成一个可运行文件,于是问题来了,大量的公告冲突。还是把头文件的内容都放在#ifndef和#endif中吧。不论你的头文件会不会被多个文件引使用管你的头文件会不会被多个文件引使用,你都要加上这个。一般格式是这样的:#ifndef &标识&#define &标识&............#endif&标识&在理论上来说能是自由命名的,但每个头文件的这个“标识”都应该是唯一的。标识的命名规则一般是头文件名全大写,前后加下划线,并把文件名中的“.”也变成下划线,如:stdio.h#ifndef _STDIO_H_#define _STDIO_H_......#endif(BTW:预编译有多很有使用的功可以。以后单独说)8、在堆上分配内存—————————可可以许多人对内存分配上的“栈 stack”和“堆 heap”还不是很明白。包括少量科班出身的人也不明白这两个概念。能参考我发过的文章,就不在细说。简单的来讲,stack上分配的内存系统自动释放,heap上分配的内存,系统不释放,哪怕程序退出,那一块内存还是在那里。stack一般是静态分配内存,heap上一般是动态分配内存。由malloc系统函数分配的内存就是从堆上分配内存。从堆上分配的内存肯定要自己释放。使用free释放,不然就是术语——“内存泄露”(或者是“内存漏洞”)—— Memory Leak。于是,系统的可分配内存会随malloc越来越少,直到系统崩溃。还是来看看“栈内存”和“堆内存”的差别吧。栈内存分配—————charAllocStrFromStack(){char pstr[100];}}小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都能来理解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!堆内存分配—————charAllocStrFromHeap(int len){if ( len &= 0 ) return NULL;return ( char ) malloc( len );}对于第一个函数,那块pstr的内存在函数返回时就被系统释放了。于是所返回的char什么也没有。而对于第二个函数,是从堆上分配内存,所以哪怕是程序退出时,也不释放,所以第二个函数的返回的内存没有问题,能被用。但肯定要调使用free释放,不然就是Memory Leak!在堆上分配内存很容易造成内存泄漏,这是C/C++的最大的“克星”,假如你的程序要稳固,那么就不要出现Memory Leak。所以,我还是要在这里千叮咛万嘱付,在用malloc系统函数(包括calloc,realloc)时千万要小心。记得有一个UNIX上的服务应使用程序,大约有几百的C文件编译而成,运行测试良好,等用时,每隔三个月系统就是down一次,搞得许多人焦头烂额,查不出问题所在。只好,每隔两个月人工手动重启系统一次。出现这种问题就是Memery Leak在做怪了,在C/C++中这种问题总是会发生,所以你肯定要小心。一个Rational的检测工作——Purify,能帮你测试你的程序有没有内存泄漏。即便一个做过许多C/C++的工程的程序员,都会对malloc或者是new有些感冒。当你什么时候在用malloc和new时,有一种轻度的紧张和惶恐的感觉时,你就具有了这方面的修养了。对于malloc和free的操作有以下规则:1) 配对用,有一个malloc,就应该有一个free。(C++中对应为new和delete)2) 尽量在同一层上用,不要像上面那种,malloc在函数中,而free在函数外。最好在同一调使用层上用这两个函数。3) malloc分配的内存肯定要初始化。free后的指针肯定要设置为NULL。小编推荐一个学C语言/C++的学习裙【 六九九,四七零,五九六 】,无论你是大牛还是小白,是想转行还是想入行都能来理解一起进步一起学习!裙内有开发工具,很多干货和技术资料分享!注:尽管现在的操作系统(如:UNIX和Win2k/NT)都有进程内存跟踪机制,也就是假如你有没有释放的内存,操作系统会帮你释放。但操作系统仍然不会释放你程序中所有产生了Memory Leak的内存,所以,最好还是你自己来做这个工作。(有的时候不知不觉就出现Memory Leak了,而且在几百万行的代码中找无异于海底捞针。后面会详情如何检测Memory Leak。这些是C/C++可以做的服务器开发工程师、人工智可以、云计算工程师、信息安全(黑客反黑客)、大数据 、数据平台、嵌入式工程师、流媒体服务器、数据控解、图像解决、音频视频开发工程师、游戏服务器、分布式系统、游戏辅助等《好看》依托百度技术,精准推荐优质短视频内容,懂你所好,量身打造最适合你的短视频客户端!

我要回帖

更多关于 if语句格式 的文章

 

随机推荐