学习日志 姓名: 王晨晨 日期:7.10
今日学习任务
一维数组
二维数组
冒泡排序法排序
函数类型
宏函数
今日任务完成情况
for (i=0; i < sizeof(a) / sizeof(a[0]); i++); //固定的求数组的长度
*和[]是一个意思,a[1]====*(a+1)(取值)
1、 通过函数名找到函数的入口地址(函数名就是地址)
2、 给形参分配空间
3、 传值(实参传给形参)(形参传给实参)
4、 执行函数体
5、 返回
6、 释放空间(栈空间)
swap(&a,&b); //地址传递(当涉及修改内存里面的值时)
//static修饰局部变量:改变变量的声明周期,直到程序运行结束才被释放
原因:存放的地方不一样,如果不加static修饰,(普通局部变量)存放在栈(内存的一种)上面;加上static修饰(静态变量),存放在数据段
#define SQR(x) x*x //预处理 只做简单的替换
PRI; //无参宏函数
PRINT; //有参宏函数
今日开发中出现的问题汇总
对老师讲的内容似懂非懂
今日未解决问题
无
今日开发收获
学习了很多C语言知识
自我评价
知识掌握不透彻,需更多的学习
其他
作业1
字符数组中在指定位置插入字符
#include<stdio.h>
#include<string.h>
void main()
{
char a[80], ch;
int i, k;
printf("请输入字符串:");
gets(a);
printf("请输入要插入的字符串:");
ch=getchar();
printf("请输入要插入的位置k:");
scanf("%d",&k);
for(i=strlen(a)+1;i>=k;i--)
a[i+1]=a[i];
a[k]=ch;
printf("插入后的字符串为:");
puts(a);
while(1);
}
作业2
设计一个洗牌发牌的程序
#include<stdio.h>
#include<time.h>
#include<stdlib.h>
int main()
{
int a[4][13],d,i,j,m,num=0,b[52]={0};
srand(time(NULL));
for(i=0;i<4;i++)
{
for(j=0;j<13;j++)
{
a[i][j]=j+1;
}
}
for(;num<=52;)
{
d=rand()%52;
for(m=0;m<num;m++)
{
if(d==b[m])
{
break;
}
}
if(m==num)
{
b[num]=d;
switch(d/13)
{
case 0:
printf("红桃");break;
case 1:
printf("方块");break;
case 2:
printf("草花");break;
case 3:
printf("黑桃");break;
}
num++;
printf("%2d\%c",a[d/13][d%13],num%13==0 && num!=0?'\n':' ');
}
}
return 0;
}