实训第一天---c语言基础学习


今日学习任务

c语言基础知识:基本数据类型,算术运算符、循环语句、及breakcontinue语句。

 

 

 

日任务完成情况

详细说明本日任务是否按计划完成,开发的代码量。)

 

1、学习了c语言中的三种数据类型,其中主要是对整型数的掌握。

2、学习了数据的基本运算规则,在混合运算中掌握了数据类型的转换规则。

3、掌握了关键字sizeof以及库函数strlen的用法。

4、理解了两种数据的表现形式即常量与变量,进而掌握constvolatile修饰变量时的意义。

5、掌握c语言中的基本运算符,如/%<<>>~|&a++++a等。

6、学会使用breakcontinue语句。


 

 

 

 

今日开发中遇到的问题汇总

1、数值转换时,不清楚当有符号数与无符号数进行混合运算时,其输出的数据类型。

2、singed char的表示范围中0000000010000000

3、const修饰的变量不能通过其修改对应内存的值是否说明不能改变那一段内存地址的值?

4、左右移表达式类似于ch=ch>>1

5、a++所谓的先执行,再加一,是指先执行a所在的语句。

6、break,continue结束本层循环但对外层循环并无影响。

7、getchar()等语句的使用。

 

日未解决问题

 volatile的具体使用方法


 

 

 

日开发收获

1、反码补码的运算,知道了补码最后一位的意义

2、const修饰的变量不能通过其修改对应内存的值。但可以通过地址修改对应内存的值。

3、while(1)表示死循环。

4、break结束本层循环,continue结束本次循环。

自我评价

(是否规范完成指定任务,需要改进的地方,与他人合作等。)

感觉今天听到的东西挺多的,需要及时的复习感觉学到的东西也多了不少,以前虽然也学了,但现在又听了一遍许多忘掉的东西又重新记起来了之前不清楚的也明白了

            其他

                  无

程序1、求两个数的最大公约数,最小公倍数。

#include<stdio.h>

 

int main()

{

int num1,num2,t,i,j,k;

 

printf("pless input two numbers:\n");

scanf("%d%d",&num1,&num2);

    

if(num1>num2)

{

        t=num1;

num1=num2;

num2=t;

}

 

for(i=num1;i>1;i--)

{

        if(num2%i==0&&num1%i==0)

{

printf("最大公约数是:%d\n",i);

    break;

}

}

 

for(j=1;j<=num1;j++)

{

k=num2*j;

if(k%num1==0)

{

            printf("最小公倍数是:%d\n",k);

    break;

}

}

 

return 0;

}

程序2200~300之间不能被3整除的数,5个一行输出。

#include<stdio.h>

 

int main()

{

int i,k=0;

 

for(i=200;i<=300;i++)

{

 

if(i%3!=0)

{

printf("%4d",i);

k++;

 

     if(k%5==0)

{

      printf("\n");

}

 

}

 

}

 

return 0;

}


猜你喜欢

转载自blog.csdn.net/weixin_42653222/article/details/80978617