0.比较字母
#include<stdio.h>
int main()
{
char c;
scanf_s("%c\n", &c);
if (c>='a' && c <= 'z');
{
printf("小写字母");
}
if (c >= 'A' && c <= 'Z')
{
printf("大写字母");
}
else
{
printf("nothing");
}
return 0;
}
1函数的实现:
#include<stdio.h>
int Max(int x,int y)
{
if (x>y)
return x;
else
return y;
}
int main()
{
.....
}
2.宏的定义:
#define MAX(X,Y) (X>Y?X:Y)
3.&取地址:
int a=10;
int* p=&a;//p,取地址,指针变量,指针是一个变量,用来存放地址。
printf("%p\n",&a);//打印出16进制的地址,在内存的地址
return 0;
*p=20;//*-解引用操作符 *p就是a
4.指针例子:
int main()
{
char ch='w';
char* pc=&ch;
*pc='a';
printf("&c\n",ch);
return 0;
}
5.结构体:
//创建一个结构体类型
struct book
{
char name[20];//c语言程序设计
short price;//55
};//‘;’来结束描述书的相关属性
int main()
{
//利用结构体类型来创建一个该类型的结构体变量
struct book b1={“c语言程序设计”,55};
printf(“书名:%s\n",b1.name);
printf("价格:%d\n",b1.price);
return 0;
}
6.结构体加指针:
//创建一个结构体类型
struct book
{
char name[20];//c语言程序设计
short price;//55
};//‘;’来结束描述书的相关属性
int main()
{
//利用结构体类型来创建一个该类型的结构体变量
struct book b1={“c语言程序设计”,55};
struct* pb=&b1;
printf("%s\n",pb->name);
printf("%d\n",pd->price);
return 0;
}
7.if,else if,else
int main()
{
int age =10;
if(age<18) //如果()里为真则执行下列语句。否则跳过该语句。
printf("未成年\n");
else
{
else if(age>=10 && age<25)
printf("青年\n");
else if(age>=25 && age<50)
printf("壮年\n");
else
printf("暮年\n");
}
}
8.输出1-100之间的奇数
int main()
{
int i;
for(i=0;i<=100;i++)
{
if(i%2==1)
printf("%d ",i);
}
return 0;
}
9.switch实现多分支 switch判断case作为入口进去 里面也可存在if语句
int main()
{
int day =0;
scanf("%d",&day);
switch(day) //day必须是整形
{
case 1;
printf("星期一\n");
break; //不然要把后面的打印了
case 2;
printf("星期二\n");
break;
case 3;
printf("星期三\n");
break;
...
default:
printf("输入错误\n");//若前面的都不匹配
break;
}
return 0;
}
10.循环语句
while:
int mian()
{
int i=1;
while(i<=10)
{
if(i==5)
break; //如果为真直接跳出该循环
printf("%d ",i);
i++;
}
}
11.continue经典死循环
int mian()
{
int i=1;
while(i<=10)
{
if(i==5)
continue; //回到while一直经行死循环 所以要放在i++后比较好continue:终止本次循环continue后的代码不在执行。
printf("%d ",i);
i++;
}
}
12.getchar 接受输入字符
int main()
{
int ch =getcahr();
putchar(ch); //和printf效果一样
printf(“%c\n",ch);
return 0;
}
12.循环与读取/n (p8 34分)
int ret=0;
char password[20]={0};
printf("输入密码:>");
scanf("%s",password); 取走后还剩/n
while((ch=getchar())!='/n')
{
;
} //循环加空语句来执行去掉后面所有的非数值字符
printf("亲确认(Y/N):>");
ret = getchar(); 这就可以获取输入的y或n了
if (ret=='y')
{
printf(“确认成功\n");
}
else
{
printf("放弃确认\n");
}
return 0;
13.
int main()
{
int ch=0;
while((ch=getchar())!=EOF)
{
if(ch<'0'||ch>'9')
continue;
petchar(ch);
}
return 0;
}
14.for循环(exp1初始化;exp2判断后进入语句块;exp3调整)
int main()
{
int i=0 //创建初始变量
for(i=1;i<=10;i++)
{
if(i==5)
break;//直接跳出循环
if(i==6)
continue;//跳过打印6
printf("%d",i);
}
15.
int main()
{
for( ; ; )//条件省略,就恒为真
{
printf("hehe\n")
}
return 0;
}
16.用省略带来的错误
int main()
{
int i=0;
int j=0;
for(; i<10;i++)
{
for(;j<10;j++) //第二次j还是10
{
printf("hehe\n");
}
}
return 0;
}
//这就只打印了10次hehe
17.打印两个hehe
int main()
{
int x,y;
for(x=0,y=0;x<2&&y<5;++x,y++)
{
printf("hehe\n");
}
return 0;
}
18.这是一个零,exp2为假,所以不进入循环。
int main()
{
int i=0;
int k=0;
for(i=0,k=0;k=0;i++,k++)
k++;
return 0;
}
19.计算n的阶乘
int main()
{
int i=0;
int sum;
scanf("%d",n)
for(i=1;i<=n;i++)
{
sum=sum*i
}
printf("%d",sum);
}
20.计算1!+2!+...+n!
int main()
{
int j,n,i=0;
int sum=1,ret=0;
scanf("%d",&n);
for(j=1;j<=n;j++)
{
for(i=1;i<=n;i++)
{
sum=sum*i
}
ret=ret+sum;
}
printf("%d",ret);
return 0;
}