c语言笔记
1.顺序结构
1.字符类型int允许的取值范围:-32768 ~ 32767 unsigned int的取值范围为0~65535。在表示很大的数时可选用unsigned long long int形式 输出格式为printf("%llu",n);
2.
3.
4.
5.
2.选择结构
1.
2.
3.
4.
5.
3.循环结构
1.
2.
3.
4.
5.
4.函数
1.
2.
3.
4.
5.
5.数组
1.比较两个字符串相等用strcmp 使用方法:strcmp(n,"")如果相等返回值为0 不相等则为1。
2.
3.
4.
5.
6.指针
1.
2.
3.
4.
5.
7.结构体
1.
2.
3.
4.
5.
8.综合实验
1.cmd关机指令shut down -s -t 60 (-t代表延时 60代表60S后关机) , c语言可引用system("shut down -s -t 60") 输入shut down -a可取消关机。
2.
3.
4.
5.
资料类
ASCII码表

c语言关键字
| 关键字 | 说明 |
|---|
| auto | 声明自动变量 |
| short | 声明短整型变量或函数 |
| int | 声明整型变量或函数 |
| float | 声明浮点型变量或函数 |
| unsigned | 声明无符号类型变量或函数 |
| signed | 声明有符号类型变量或函数 |
| extern | 声明变量是在其他文件正声明 |
| register | 声明寄存器变量 |
| static | 声明静态变量 |
| volatile | 说明变量在程序执行中可被隐含地改变 |
| void | 声明函数无返回值或无参数,声明无类型指针 |
| if | 条件语句 |
| else | 条件语句否定分支(与 if 连用) |
| switch | 用于开关语句 |
| case | 开关语句分支 |
| double | 声明双精度变量或函数 |
| char | 声明字符型变量或函数 |
| struct | 声明结构体变量或函数 |
| union | 声明共用数据类型 |
| enum | 声明枚举类型 |
| typedef | 用以给数据类型取别名 |
| const | 声明只读变量 |
| long | 声明长整型变量或函数 |
| for | 一种循环语句 |
| do | 循环语句的循环体 |
| break | 跳出当前循环 |
| default | 开关语句中的“其他”分支 |
| sizeof | 计算数据类型长度 |
| return | 子程序返回语句(可以带参数,也可不带参数)循环条件 |
| while | 循环语句的循环条件 |
| goto | 无条件跳转语句 |
| continue | 结束当前循环,开始下一轮 |
日常学习
好题摘抄
1.

#include<stdlib.h>
#include<math.h>
int main()
{
double x1,x2,y1,y2;
scanf("(%lf,%lf),(%lf,%lf)",&x1,&y1,&x2,&y2);
double distance=sqrt((x1-x2)*(x1-x2)+(y1-y2)*(y1-y2));
printf("%.3lf\n",distance);
return 0;
}
2.

#include <math.h>
int main()
{
float x,a,b,c,d;
scanf("%f%f%f%f%f",&x,&a,&b,&c,&d);
printf("%0.5f",a*pow(x,3)+b*pow(x,2)+c*x+d);
return 0;
}
3.

int main()
{
int n;
scanf("%d",&n);
int a=n%10;
int b=n/10%10;
int c=n/100%10;
int d=a*100+b*10+c;
printf("%d\n",d);
return 0;
}
4.

int main()
{
int n;
scanf("%d",&n);
int a=n%10;
int b=n/10%10;
int c=n/100%10;
printf("sum=%d\n",a*b*c);
return 0;
}
5.

int main()
{
int a;
char b;
scanf("%d",&a);
switch(a/10)
{
case 10:
case 9:
b='A';
break;
case 8:
b='B';
break;
case 7:
b='C';
break;
case 6:
b='D';
break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:
b='E';
break;
}
printf("%c",b);
return 0;
}
6.

#include <stdlib.h>
int main()\
{
float a,b;
char op;
scanf("%f%f %c",&a,&b,&op);
switch(op)
{
case '+':
printf("%.2lf",a+b);
break;
case '-':
printf("%.2lf",a-b);
break;
case '*':
printf("%.2lf",a*b);
break;
case '/':
if(b!=0)
printf("%.2lf",a/b);
else
printf("Divided by zero!\n");
break;
default:
printf("Invalid operator!\n");
break;
}
return 0;
}
7.

#include<math.h>
int main()
{
int a;int u,i;int n;u=1;int zi;
scanf("%d",&a);
for(i=1;u!=0;i++)
{
u=a/pow(10,(double)i);
}
printf("%d\n",i-1);
for(n=i-2;n>=0;n--)
{
int z=a/pow(10,(double)n);zi=z%10;
if(n>=1)
printf("%d ",zi);
else
printf("%d ",zi);
}
printf("\n");
for(n=0;n<i-1;n++)
{
int z=a/pow(10,(double)n);zi=z%10;
printf("%d",zi);
}
}
8.

int main()
{
char a;int n,l,s,o;n=l=s=o=0;
do
{
a=getchar();
if(a>='a'&&a<='z'||a>='A'&&a<='Z')
l++;
else if(a>='0'&&a<='9')
n++;
else if(a==' ')
s++;
else
o++;
}
while(a!='\n');
printf("%d %d %d %d",l,n,s,o-1);
}
9.

int main()
{
float a,b,c,d;int i;a=0;i=1;b=0;
while(scanf("%f",&a)!=EOF)
{
b=b+a;
c=b/(float)i;i++;
if(i==1)
d=a;
else
{
if(a>d)
d=a;
else
d=d;
}
}
printf("max=%.1f\n",d);
printf("average=%.1f",c);
}