苏嵌 项目实战
学习日志 姓名: 日期:
今日学习任务
空语句
基础语句
语句if
循环语句
Break和continue
Switch语句
今日任务完成情况
基本完成
自我评价
无
其他
无
问题一:什么是空语句?空语句有什么用?
答:只有分号“;”组成的语句成为空语句。空语句有很多用途。比如代码while(getchar()!=’\n’);这个语句后面加了“;”,这样表示这个循环只有在输入回车才会结束,不是回车这要重新输入。另外空语句可以达到代码规范,留下空间为以后扩充功能做准备。
问题二:语句if的作用?
答:语句if是一个条件语句,相当于如果,if()并表示如果()中的表达式成立或为真,这执行if后面的代码。
问题三:使用if语句要注意的问题?
答:代码:
int x=-1;
if(x>0);
{
printf(“x is positive.\n”);
}
上述代码编译能通过哟,但执行结果错误。这是因为if(x>0)后面跟了分号“;”,这样语句在执行玩括号中的x>0后就结束了,并且分号使得{}中的printf语句不受条件if的控制,而是作为一个单纯的语句输出。如果去掉分号,则printf语句要受到if的影响,是由if为真才能输出。
问题四:if语句()中的表达式要注意的问题?
答:在if()的()中进行==比较的时候,容易少些一个=,这个时候就不是比较而是赋值了,这是很容易出现的错误,所以在使用if语句()中药师使用==比较,则要格外留心。
问题五:while语句和do{}while语句的区别?
答:whlie语句是条件为真则执行,条件为假则不执行。而do while则是先执行{}中的语句,然后再判断while()中的条件是否为真。
问题六:如何提升for语句的效率?
答:在多重for循环中,如果有可能,应当将最长循环放在内层,最短循环放在外层,这样可以减少CPU跨切循环层的次数。
低效率代码:
for(i=0;i<100;i++)
for(j=0;j<5;j++)
{//语句}
高效率代码:
for(i=0;i<5;i++)
for(j=0;j<100;j++)
{//语句}
问题七:break和continue的区别?
答:break和continue两者都是跳出循环的语句,不过两者区别也是很大的。break语句跳出的是整个循环,如果是for循环的话,如果循环还没有执行完就有break的话,则后面的循环全部不执行了。直接退出整个循环。而continue则是跳出本次循环,进入下一次循环并且continue后面的语句不执行。
代码:
for(i=0;i<5;i++)
for(j=0;j<2;j++)
{printf("%d\n",i);continue; printf("%d\n",j);}
这段代码只执行输出i的值,而不执行输出j的值。
问题八:switch语句和if语句区别及其用法?
答:switch语句是多分枝选择语句,if语句只有两个分支可选择。
用法:
switch(表达式)
{
case 常量1 :语句1
case 常量2 :语句2
.
.
.
case 常量n :语句n
default : 语句n+1
}
问题九:switch语句注意点?
答:
switch后面括号内的表达式,其值的类型应位整数类型,包括字符型。
case后面跟一个常量或一个常量表达式,例如case ‘A’,。
每一个case出现的次序不影响执行结果,并且每一个case的常量必须互不相同,否则就会出现相矛盾的情形。
case后面的语句通常要跟一个break来跳出循环,可以多个case语句用一个break。
最后记得加一个default来处理错误。
问题十:goto语句用法
代码:
goto state;
char s1,s2;
int m=0;
state:
这样就直接执行state后面的语句。state是一个有效标识符,可以是任意字母组合,标识符后面应该跟一个:,这样goto才能跳到标识符处,执行标识符后面的语句。