-
类型转化
5/3=1
5/3=1.000000
5.000000/3.000000=1.666667
5.000000/3=1.666667
----隐式转化:当赋值号两边类型不同时,自动转化为精度比较高的类型。
int sum=i/j;
----显示转化:强制类型转化,不会改变变量的类型,只做临时一次转化(float只转化了 i)
float sum1=(float)i/j;
-
位运算符
(针对二进制数:&位与,|位或,~位非,^异或,<<左移,>>右移)
----&(位与 都为真才为真)讲十进制数,八进制数或十六进制数转化为二进制数进行位与
----|(位或 有一为真则为真)讲十进制数,八进制数或十六进制数转化为二进制数进行位或
----~(位非 每位取反) 计算机是补码存储,原码输出。可以简单理解记忆为 该数的相反数减一
----^ (按位异或 对应位不相同则为一)
----<< (左移)>>(右移)
-
赋值操作符
(=,+=,-=,*=,/=,%=,&=,|=,<<=,>>=)
-
逻辑运算符和条件运算符
----&& (如果a++<j&&a++>j a++<j为假,则&&后面的运算不会再进行)
----?: (条件运算符) 表达式1?表达式2:表达式3 若表达式1为真,则执行表达式2;否则执行表达式3;。
-
运算符优先级
----括号成员第一,全体单目第二,乘除余地三,加减第四,位移第五,关系六,等与不等第七,位与,异或和位或第八九十,逻辑或和逻辑与十一十二,条件条件高于赋值,逗号运算符最低
-
c语言的三大结构
顺序结构
分支结构
----if
----循环结构
*###作业
- 用while循环实现字母三角形
include <stdio.h>
include <windows.h>
int main(int argc,char *argv)
{
int i,j,n;
char string='A';
while(1)
{
printf(" 请输入想要金字塔的高度\n");
printf(" 输入范围在(1-25)\n");
printf(" 输入'0'可以退出:");
scanf("%d",&n);
if(n>0&&n<26) ;
else if(n==0)
exit(0);
else
{
printf("非法输入!");
getch();
system("cls");
continue;
}
printf("\n");
i=0;
while(i<n)
{
j=n-i;
while(j>0)
{
printf(" ");
--j;
}
j=0;
while(j<((i+1)2-1))
{
printf("%c",string+i);
++j;
}
++i;
printf("\n");
}
getch();system("cls");
}
return 0;
}
- for循环三角形
include <stdio.h>
include <windows.h>
int main(int argc,char *argv)
{
int i,j,n;
char string='A';
for(;;)
{
printf(" 请输入想要金字塔的高度\n");
printf(" 输入范围在(1-25)\n");
printf(" 输入'0'可以退出:");
scanf("%d",&n);
if(n>0&&n<26) ;
else if(n==0)
exit(0);
else
{
printf("非法输入!");
getch();
system("cls");
continue;
}
printf("\n");
for(i=0;i<n;i++)
{
for(j=n-i;j>0;j--)
printf(" ");
for(j=0;j<((i+1)2-1);j++)
printf("%c",string+i);
printf("\n");
}
getch();system("cls");
}
return 0;
}
- 模拟电子时钟
include <stdio.h>
include <windows.h>
int H,F,s=0;
void time(int h,int f)
{
int i;
while(1)
{
if(s==60)
{
++f;s=0;
}
if(f==60)
{
++h;f=0;
}
if(h==24)
{
h=0;f=0;s=0;
}
Sleep(250);
system("cls");
printf("\t\t====================\n");
printf("\t\t= %.2d %.2d %.2d =\n",h,f,s);
printf("\t\t====================\n");
Sleep(250);
system("cls");
printf("\t\t====================\n");
printf("\t\t= %.2d:%.2d:%.2d =\n",h,f,s);
printf("\t\t====================\n");
Sleep(250);
system("cls");
printf("\t\t====================\n");
printf("\t\t= %.2d %.2d %.2d =\n",h,f,s);
printf("\t\t====================\n");
Sleep(250);
++s;
}
}
int main(int argc,char **argv)
{
while(1)
{
printf("模拟时钟初始化!请输入当前时间(24小时制)\n");
printf("(输入格式为12点12分)\n");
scanf("%d点%d分",&H,&F);
if((H>=0&&H<=23)&&(F>=0&&F<=59))
break;
else
continue;
}
time(H,F);
return 0;
}
4.阶梯问题
int main(int argc,char **argv)
{
int i,n=0;
printf("阶梯问题所得的值:\n");
for(i=100;i<=999;i++)
{
if((i%2==1)&&(i%3==2)&&(i%5==4)&&(i%6==5)&&(i%7==0))
{
printf("{ %d } ",i);
++n;
}
if(n==10)
printf("\n");
}
printf("\n总共找到%d个。\n\n",n);
getch();
}```