创客学院9天C语言二

①运算符:
%取余
&&逻辑与
||逻辑或
位运算符:
unsigned char x=0x17,y;
y=~x;结果x=11101000.
%#X是带格式输出,效果为在输出前加0X;
八进制加0表示,例如076。
^异或运算符,相异为真。

unsigned char a =0xe4,b;
b=a<<3;则b=0x20.

②条件运算符“?:”
<表达式1>?<表达式2>:<表达式3>
int x=82,y=101;
x>=y?x+18:y-100 //运算结果为1
x<(y-11)?x-22:y-1 // 运算结果为60

逗号运算符:
float x=10.5,y=1.8,z=0;
z=(x+=5,y=x+0.2)从左到右

③sizeof 只针对数据类型,而不针对变量。

{int a = 5;
long b = 3;
long long c = 9;
printf ("%d %d %d\n",sizeof(a),sizeof(b),sizeof(c));
printf ("%d %d %d\n",sizeof(int),sizeof(long),sizeof(long long));
} 结果为4 4 8,4 4 8.

④int x=1,y=0,z=0;
x++ && y++ || ++z //结果为1(2 1 1)
!(x+1>0) && y++ || ++z //结果为1(1 0 1):y++不执行
x +=y==z,y=x+2,z=x+y+x>0 // x为2,y为4,z为1

⑤字符输入函数

#include <stdio.h>
int main ()
{
  int c;
  printf ("Enter a character :");
  c = gerchar ();
  printf ("%c--%d->hex%x\n",c,c,c);
}
运行结果:
Enter a character :A
A--65->hex41

⑥格式输入函数:
例1

scanf ("%4d%2d%2d",&yy,&mm,&dd);
若输入为19991915
则yy为1999,mm为10,dd为15

例2

scanf ("%2d %*3d %2d",&a,&b);
若输入12 345 67
则a为12,b为67.

清除
getchar()

⑧字符串输入函数

int main ()
{
 char string [15];
 printf ("Input a string :");
 gets (string);
 printf ("%s\n",string);
 return 0;
}

"x"相当于'x'和空字符\0.

gets()函数不检查目标数组是否能够容纳输入

int main ()
{
   float score;
   printf ("请输入成绩:");
   scanf ("%f\n",&score);
   if(score<0||score>100)
      printf("不在范围内");
   else if (score>=90&&score<=100)
	  printf ("youxiu\n");
   else if (score>=60&&score<90)
     printf ("hege\n");
   else
    printf ("bujige\n");   
 return 0;
}

int main (int argc,char *argv[])
{
 int x = -1;
 if (x)
    printf ("if:x=%d\n",x);
  else
    printf ("else:x=%d\n",x);
  return 0;	
}  运行结果为 if……

switch语句
switch(表达式一般是整型)
default

①①while语句
while(表达式)
{
statatments;
}
例子;

{int i =1;
int sum =0;
while(i<=100){
 sum+=i;
 i++;
}
printf ("1+2+^+%d\n",i,sum);
return 0;

①②do {
statatments;
}while();

①③水仙花数:

{int n =100;
int a,b,c;
while (n<=999)
{
  a=n/100;
  b=(n/10)%10;
  c=n%10;
  if(a*a*a+b*b*b+c*c*c==n)
    printf("%d\n",n);
   n++;
}
return 0;
}

①④九九乘法表:

int i,j;
for (i=1,i<=9;i++)
  {
         for (j=1;j<=i;j++)
	     printf("%d*%d=%d\t",j,i,i*j);
		 puts(**);
  }

猜你喜欢

转载自blog.csdn.net/weixin_42068537/article/details/83448741
今日推荐