学习日志 | 姓名:孙双 日期:2018/7/10 |
今日学习任务 | 今天学习的是数组和函数 1.一维数组初始化与内存中的存放 2.二维数组赋值 3.字符数组 4.函数的使用及调用过程 5.函数值以及地址的传递 6.变量的存储类型(auto,register,static,extern) 7.预处理 (所有以#开头) 8.include" "以及include<>区别 9.不带参数的宏 |
今日任务完成情况
(详细说明本日任务是否按计划完成,开发的代码量)
| 今天的计划按时完成,开发的代码 1.一维数组的初始化和&a[0],a,&a,输出地址的区别 2.冒泡排序 #include <stdio.h> 3.二维数组的初始化,&a[0][0],a[0],a,&a,输出地址的区别以及*(a+1)=a[1]; 4.输出helloworld以及! 5.自定义函数,没有返回值,没有形参,有返回值,没有形参,有返回值和形参 6.将冒泡排序的程序改用输入,排序,输出三个函数实现。 7.两个值的交换(地址传递) #include <stdio.h> 8.函数的声明和定义(extern,static) 9.static修饰局部变量 10.有参无参宏函数 |
今日开发中出现的问题汇总 | 今天的主要难题在数组这一部分,数组的基础不太好,数组的地址不太明白,冒泡排序的知识点掌握的也不是太好,对函数的话,地址传递还是有难度的。 |
今日未解决问题
| 1.字符数组中在制定位置插入字符 2.设计一个洗牌发牌的程序 |
今日开发收获
| 通过今天的学习,收货颇丰,对数组和函数的更加的了解了。对预处理和宏函数这些没有接触过的知识也有了一定的了解。 |
自我评价
(是否按开发规范完成
既定任务,需要改进的地方,与他人合作效果等) | 虽然今天有一些不太了解的知识点,但总的来说还是可以按时完成任务的。 |
其他
| |
1.字符数组中在制定位置插入字符
#include"stdio.h"
void main(){
char C[100];//原始字符串
char D[100];//最终字符串
char b;//插入的字符
int i = 0;
int s;
char *p = C;
printf("输入字符串,“#”结束\n");
char a = 'a';
//输入字符串,以#结尾,最后将#改为'\0'
while (a != '#')
{
a = getchar();
C[i++] = a;
}
C[i-1] = '\0';
printf("输出字符串\n");
printf("%s\n", C);
printf("输入插入位置,在第?个字符前\n");
scanf("%d", &s);
getchar();//接收回车
printf("输入插入的字符\n");
scanf("%c",&b);
/*将插入位置前的字符复制到D数组中,
然后在D中接着插入要插入的字符,
最后把剩余的字符复制到D中*/
for (i = 0; i <= s - 1; i++)
{
D[i] = C[i];
}
D[i] = b;
while (C[i] != '\0')
{
D[i + 1] = C[i];
i++;
}
D[i + 1] = '\0';
printf("输出字符串\n");
printf("%s\n", D);
}
#include <stdio.h>
#include<stdlib.h>
#include<time.h>
int main()
{
int n,i;
int flag[52]= {0};
srand((unsigned int)time(NULL));
for(i = 0; i < 52; i++)
{
n = rand()%52;
while(flag[n] == 1)
{
n = rand()%52;
}
flag[n] = 1;
if(n >= 0 && n < 13)
{
printf("红心%d ", n + 1);
}
else if(n >= 13 && n < 26)
{
printf("黑桃%d ", n - 12);
}
else if(n >= 26 && n < 39)
{
printf("梅花%d ",n - 25);
}
else
{
printf("方片%d ",n - 38);
}
if((i +1) % 13 == 0)
printf("\n");
}
return 0;
}