根据提供的文件内容,我们可以归纳总结出以下几个主要的知识点: ### C语言基础 1. **基本数据类型** - `int`:整型变量。 - `float`:浮点型变量。 2. **输入输出** - `printf`:用于格式化输出。 - `scanf`:用于格式化输入。 3. **指针** - 声明与使用:如 `inta,b,*pa=&a,*pb=&b,*p;`。 - 指针运算:如通过 `p=pa; pa=pb; pb=p;` 进行指针间的数据交换。 4. **条件语句** - `if...else`:用于条件判断。 5. **函数定义与调用** - 函数声明与实现:如 `float min(float x, float y)` 和 `int *sum(int x, int y)`。 - 函数调用:如 `c=sum(a,b);`。 6. **数组** - 定义:如 `int num[10]={6,4,7,2,9,1,5,3,4,8};`。 - 数组元素的访问:如 `for(i=0;i<10;i++) printf("%d",num[i]);`。 - 数组排序算法:如选择排序 `void sort(int *a)`。 7. **静态变量** - 局部静态变量:在函数内部声明为 `static` 的变量,在函数执行完毕后不会释放空间,下次调用时仍保留上次的值。 - 全局静态变量:在函数外部声明为 `static` 的变量,只在本文件可见,其他文件不可见。 8. **内存分配** - 动态内存分配:如 `prt=malloc(4*sizeof(int));`。 ### 代码分析 #### 1. 交换两个整数的值 - 使用指针交换两个整数的值,通过比较指针指向的值来决定是否交换。 - 代码示例: ```c if(*pa>*pb) { p=pa; pa=pb; pb=p; } ``` #### 2. 找到两个数中的最小值 - 定义了一个 `min` 函数,该函数接受两个浮点数作为参数,并返回其中的较小值。 - 如果两个数相等,则输出提示并返回其中一个数。 - 代码示例: ```c float min(float x, float y) { if(x==y) { printf("theyareequal."); return x; } else if(x<y) return x; else return y; } ``` #### 3. 计算两个整数的和 - 定义了一个 `sum` 函数,接受两个整数作为参数,并返回这两个整数的和。 - 代码示例: ```c int *sum(int x, int y) { int z; z = x + y; return &z; } ``` #### 4. 字符交换 - 定义了一个 `swap` 函数,用于交换两个字符的值。 - 代码示例: ```c void swap(char *x, char *y) { char ch; ch = *x; *x = *y; *y = ch; } ``` #### 5. 数组排序 - 实现了一个简单的选择排序算法,对一个整数数组进行排序。 - 代码示例: ```c void sort(int *a) { int temp, i, j; for (i = 0; i < 9; i++) for (j = i + 1; j < 10; j++) if (a[i] > a[j]) { temp = a[i]; a[i] = a[j]; a[j] = temp; } } ``` #### 6. 静态变量的应用 - 在函数内使用静态局部变量,每次调用函数时,该变量都会保持上一次的值。 - 代码示例: ```c f(a) { static int c = 3; c++; return (a + b + c); } ``` #### 7. 内存分配与释放 - 使用 `malloc` 函数动态分配内存,并计算三个整数的和。 - 代码示例: ```c main() { int *prt; prt = malloc(4 * sizeof(int)); if (!prt) printf("outofmemory"); else { printf("\nEnt3nums:"); scanf("%d%d%d", prt, prt + 1, prt + 2); *(prt + 3) = *prt + *(prt + 1) + *(prt + 2); printf("thesumis%d\n", *(prt + 3)); } } ``` 以上内容涵盖了从基本的数据类型、输入输出操作到更高级的指针使用、函数定义与调用以及动态内存管理等多个方面,这些都是学习C语言过程中非常重要的知识点。
printf("ent two num:");
scanf("%d %d",&a,&b);
printf("*pa=%d,*pb=%d\n",a,b);
if(*pa>*pb)
{
p=pa;
pa=pb;
pb=p;
}
printf("*pa=%d,*pb=%d\n",*pa,*pb);
printf("a=%d,b=%d\n",a,b);
/********************************************/
main()
{
float a,b;
printf("ent 2 num:");
scanf("%f %f",&a,&b);
printf("the min num=%f",min(a,b));
}
float min(float x,float y)
{
if(x==y)
{
printf("they are equal.");
return x;
}
else if(x<y) return x;
else return y;
/*********************************************/
int *sum(int x,int y)
{
int z;
z=x+y;
return &z;
}
main()
{
int a,b;
int *c;
printf("ent 2 num:");
scanf("%d,%d",&a,&b);
c=sum(a,b);
printf("the sum is%d\n",*c);
}
/*********************************************************************/
/*void swap(char*,char*);*/
void swap(char*x,char*y)
{
char ch;
ch=*x;
*x=*y;
*y=ch;
}
main()
{
char ch1='a',ch2='b';
剩余9页未读,继续阅读
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助