学习日志 姓名:张蓉婷 日期:2018.7.9
今日学习任务:回顾c语言的知识,主要学习了c语言的数据类型和这些类型的长度范围,运算符和表达式
今日任务完成情况:本日任务按老师计划完成
1.用sizeof求int,short,long,char,float,double的字节数
用sizeof求 char a[1000];int i;for(i=0;i<1000;i++) { a[i]=-1-i; printf("%d",a[i]); }printf("\n");
printf("%d",strlen(a));
2.int i=-20;unsigned int j=10;求i+j
3.const int a=1;const修饰符修饰只读变量,不能通过变量a去修饰对应内存的值
4.将1234转换为4321
5.将字符转换为二进制,其中有几个1
6.continue和break的区别
7.用switch求两个数相加,相减,相乘,相除,一个case结束时都要有break
今日开发中出现的问题汇总:
1.int和unsigned int都是4字节存储,区别是int最高位是符号位,用来表示正负。负数用补码存储,-20存储为11111111111111111111111111101100,这个东西转为unsigned int后就是一个很大的数4294967276了,所以最后结果是4294967286
2.const修饰符修饰只读变量,不能通过变量a去修饰对应内存的值
3. 在循环结构中,应用break语句使流程跳出本层循环体,从而提前结束本层循环。 continue作用是结束本次循环,即跳过本次循环体中余下尚未执行的语句,接着再一次进行循环的条件判定。
今日未解决问题:无
今日开发收获:学过c语言以及其他编程,都会发现c语言是所有语言的基础,打好基础很重要,今天我们从基础开始学起,老师给我们讲了一些二级考试中很重要并且很容易弄错的问题,本来c语言也没有学好二级也没有过,通过今天的学习,有些老师上课没有讲过的内容得到了了解,相信通过这一个月的学习,能有很大的收获。
自我评价:今天是第一天上课,带着一种新奇感,上课听得很认真,
按开发规范完成既定任务,同学之间也相互帮助合作,很好
其他: 无
3.求两个数的最大公约数,最小公倍数
#include<stdio.h>
int main(){
int zuida(int,int);
int zuixiao(int,int,int);
int a,b,m,n;
printf("请输入两个数:");
scanf("%d%d",&a,&b);
m=zuida(a,b);
printf("最小公约数为:%d\n",m);
n=zuixiao(a,b,m);
printf("最小公倍数为:%d\n",n);
return 0;
}
int zuida(int m,int n){
int temp;
if(m<n)
int main(){
int zuida(int,int);
int zuixiao(int,int,int);
int a,b,m,n;
printf("请输入两个数:");
scanf("%d%d",&a,&b);
m=zuida(a,b);
printf("最小公约数为:%d\n",m);
n=zuixiao(a,b,m);
printf("最小公倍数为:%d\n",n);
return 0;
}
int zuida(int m,int n){
int temp;
if(m<n)
{
temp=m;
m=n;
n=temp;
}
if(m%n==0)
return n;
else
return zuida(n,m%n);
}
int zuixiao(int m,int n,int h)
temp=m;
m=n;
n=temp;
}
if(m%n==0)
return n;
else
return zuida(n,m%n);
}
int zuixiao(int m,int n,int h)
{
return m*n/h;
}
return m*n/h;
}
8.200~300之间不能被3整除的数,5个一行输出
#include<stdio.h>
void main()
{
int i,j=0;
for(i=200;i<300;i++)
{
if(i%3!=0)
{
j++;
printf("%5d",i);
if(j%5==0)
printf("\n");
}
}
}