C语言基础

一、标准程序:

#include  <stdio.h>   /*include是预处理指令,stdio.h是编译包的标准部分,对关键字输入和显示输出提供支持*/
int main()            /*第一个被调用的函数*/
{   
    
    return 0;         /*暂时理解为正确书写main()函数所做的要求*/
 } 

二、复合运算符

+= -= *= /= %=
a+=2 a-=b a*=b+c a/=b+c a%=5
a=a+2 a=a-b a=a*(b+c) a=a/(b+c) a=a%5

三、自增自减运算符

自增运算符:++
自减运算符:--
i++ 或 ++i 都是表达式,表达的值都是i,只不过两个i的值并不相同。
① i++ :先给i加1,再取i值 i=1 ---> i++=2 ---> i=2
② i-- :先取i值,再给i加1 i=1---> i++=1 ---> i=2
自减运算符同理

三、函数:

printf("hello\n");   /*输出*/
scanf("%d",&a);      /*输入*/
image.png

双精度是double,单精度是float

1、if语句:

在if 或else后面总是用{},即使只有一条语句的时候,使代码更加易读。
带{}和不带{}的
①带{}

if ()
{
语句;
}

②不带{}

if()
语句;

③嵌套的if-else 判断三个数的最大值:

#include <stdio.h>

int main()
{    
    int a, b, c;

    scanf("%d %d %d", &a, &b, &c);
    
if(a>b)
{
    if(a>c)
    printf("max=%d",a);
    else
    printf("max=%d",c);
}


else
{
    if(b>c)
    printf("max=%d",b);
    else
    printf("max=%d",c); 
}
  
    return 0;
}

④级联的if-else 、分段函数

#include <stdio.h>
int main()
{    
    int x,f;
    scanf("%d", &x);
    
if(x<0)
  {
    f=-1;
  } 
else if(x==0)
  {
    f=0;
  }
else 
  {
    f=2.0*x;
  }
    
    
printf("f(x)= %d\n", f);

return 0;
}
image.png

image.png

2、switch-case
#include <stdio.h>

int main()
{    
 int type;
 scanf("%d",&type); 
 switch(type)
 {
   case 1: printf("你好");   break;
   case 2: printf("早上好"); break;
   case 3: printf("晚上好"); break;
   case 4: printf("再见");   break;
   default: printf("啊,什么啊?");
}
return 0;
}

switch语句可以看作是一种基于计算的跳转,计算控制表达式的值后,程序会跳转到相匹配的case(分支标号)处。分支标号只是说明switch内部位置的路标,在执行完分支中的最后一条语句后,如果后面没有break,就会顺序执行到下面的case里去,直到遇到一个break,或者switch结束为止。case只是一个路牌并不能阻止程序的运行,只有遇到break,程序才会跳出。

image.png
3、while循环
image.png

循环体内要有改变条件的机会,否则循环出不去。

  • 如果我们把while翻译作“当”,那么一个while循环的意思就是:当条件满足时,不断地重复循环体内的语句。
  • 循环执行之前判断是否继续循环,所以有可能循环一次也没有被执行;
  • 条件成立是循环继续的条件。
int main ()
{
   int x;
   int n=0;
   scanf("%d",&x);
   n++;
   x /= 10;
   while ( x> 0 )
    {
        n++;
        x /= 10;
        }
    printf("%d\n",n);
    return 0;   
}
4、do while循环

在进入循环的时候不做检查,而是在执行完一轮循环体的代码之后,再来检查循环的条件是否满足,如果满足则继续下一轮循环,不满足则结束循环。


image.png

do-while循环和while循环很像,区别是在循环体执行结束的时候才来判断条件。也就是说,无论如何,循环都会执行至少一遍,然后再来判断条件。与while循环相同的是,条件满足时执行循环,条件不满足时结束循环。

do
{
<循环体语句>
}
while(<循环条件>);
5、for循环
  • for循环像一个计数循环:设定一个计数器,初始化它,然后在计数器到达某值之前,重复执行循环体,而每执行一轮循环,计数器值以一定步进进行调整,比如加1或者减1
for (i=0; i<5; i=i+1)
{
  printf("%d", i);
}

for = 对于
for (count = 10; count > 0; count-- )

就读成:“对于一开始的count=10,当count>0时,重复做循环体,每一轮循环在做完循环体内语句后,使得count--。”

做求和的程序时,记录结果的变量应该初始化为0,而做求积的变量时,记录结果的变量应该初始化为l


image.png

for(初始动作;条件;每轮的动作){ }

for中的每一个表达式都是可以省略的。

for(;条件;)== while(条件)


image.png
Tips for loops
  • 如果有固定次数,用for
  • 如果必须执行一次,用do_while
  • 其他情况用while
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容