C语言--学习笔记--第六课
先有逻辑在有代码;========================================main()
{
int i = 0;
i = i++ + ++i + ++i + 10;
printf("i = %d",i);
}
这段代码可以视作不可读代码,逻辑不清楚,在不同的平台或编译器下结果不同!
程序 = 人的逻辑 + 计算机语言描述
==============================================================
main()
{
int i = 5;
if( i )
{
printf("5 \n");
}
}
在计算机的世界里只有0和1(非0既是1),所以if(i)系统也会执行;
===================================================================
main()
{
int a;
int i = 0;
for(; i < 5 ;)
{
printf("%d ",a);
i++;
}
}
申请五个空间如果没有赋初值的话,空间里面是随机的数据;
main()
{
int a = {0};
int i = 0;
for(; i < 5 ;i++);
{
printf("i = %d\n",i);
printf("%d ",*(a+i));
}
}
输出的结果
i = 5
-26
这句int a = {0};先把申请的五个空间的初始值都赋值为0;for();语句后面加了;号,这时候i的值为5,*(a+i)已经指向第六个单元地址的内容了,这个程序已经出问题了,但是编译器不会报错。
======================================================================
main()
{
int a;
int i = 0;
for(; i < 5 ;)
{
scanf("%d",a+i);
i++;
}
for(i = 0; i < 5; i++)
{
if((!(a%4) && (a%100)) || !(a%400))
{
break;
}
}
if( i < 5)
{
printf("leap year!");
}
else
{
printf("No!");
}
}
break;这个语句用法是在循环语句当中,当达到满足条件既跳出循环;
输入5个数,判断这5个数里哪些是润年。scanf("%d",a+i); 默认的输入5个数的时候,输入完每个数都加一个空格,这个代码属于正常显示;如果scanf("%d ",a+i); %d后面要是多加一个空格,输入每个数的时候也都加空格,但是在回车显示的时候,需要多输入一个非0的字符才可以显示结果;等于号: ==;不等于号: !=;
=================================================================================
搭建简便的TC环境
==============================================================================
main()
{
printf("%d",0x41);
}
(开始介绍ASCII码表)
在内存存入0x41十六进制的41,按十进制%d读取为65,也可以按关系对应表%c读取为A;%u按无符号格式输出;
==============================================================================
临时作业题
main()
{
int i = 0;
int j ;
scanf("%d",&i);
if(i < 5)
{
i = 5;
}
if(i > 10)
{
i =10;
}
if(!(i%3))
{
i = i+1;
}
printf("i = %d\n",i);
printf("@>");
for(j = 0;j < i;j++ )
{
if(!(j%2))
{
printf("*");
}
else
{
printf("#");
}
}
printf("=-");
}
页:
[1]