一个刚开始学编程的菜鸟自述
觉得博客里都是大神,没有我这样的渣渣,所以先写一些简单的代码,与其他新人共勉。
刚上大学,学习了计算机专业,学了才发现进了一个好大的坑,这半年也没学啥,就赶着放假重新学一遍C语言了,在博客里记录一些学到的东西,让自己记得。
我用的是code::blocks,代码可以运行才粘到这里来
学到了break和continue,来区分一下。
break语句是结束整个循环。break语句不能用于循环语句和switch语句之外的任何其他语句中。
注意:
1)break语句对if-else的条件语句不起作用。
2)在多层循环中,一个break语句只向外跳一层。
continue语句是结束本次循环而不是整个循环。
跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判定。
来看一个程序(然而我并不知道这个程序是干啥的......不过有我不懂的地方):
#include<stdio.h>
#include<conio.h>
int main()
{
int i=0;
char c;
while(1) //设置循环
{
c='\0'; //变量赋初值
while(c!=13&&c!=27) //键盘接收字符直到按回车或ESC键
{
c=getch();
printf("%c\n",c);
}
if(c==27)
break; //判断若按ESC键则退出循环
i++;
printf("The No.is %d\n",i);
}
printf("The end");
}
在这个程序中,我看见了这些东西
1、头文件conio.h是什么鬼;
2、while(1)是什么意思;
3、c='\0'又是啥;
4、getch()没见过啊;0
啊,我自己解答一下,咳咳,不要笑。
百度了一下,不知道对不对,就先这么认为吧。
1、getch()函数
这个函数的头文件是conio.h。
这个函数是一个不回显函数,当用户按下某个字符时,函数自动读取字符,无需按回车,返回值是读取的字符,有的C语言命令行程序会用到此函数做游戏,但是这个函数并
非标准函数,要注意移植性。
这样解决了两个问题。
2、while(1)
设置了循环,while(1)的意思与while(ture)一样,就是一直循环,类似的还有for( , , )。
3、c='\0'
\0是字符串结束符,在ASCII码中对应数字0。
下面这道题我知道是干啥的
显示输入的字符,如果按的是Esc键,则退出循环:
如果按的是Enter键,则不做任何处理,继续输入下一个字符。
代码如下:
#include <stdio.h>
#include <conio.h>
int main()
{
char c;
while(1)
{
c=getch(); //字符输入函数
if(c==27) //Esc键的ASCII码为27
break; //退出循环
if(c==13)
continue; //按的是Enter键,跳过字符输出语句
putch(c); //显示输入的字符
}
getch(); //让程序停一下,按任意键继续
}
例题:把100~200之间的不能被3整除的数输出。
提示:当n能被3整除时,执行continue语句,结束本次循环(即跳过printf函数语句),只有n不能被整除时才执行printf函数。
#include <stdio.h>
int main()
{
int n;
for(n=100;n<=200;n++)
{
if(n%3==0)
continue;
printf("%d\n",n);
}
}