姓名:戴宇峰 日期:2018.9.10
今日学习任务:
熟悉安装开发环境 学习指针数组并编译运行。
今日任务完成情况:
完成老师上课要求写的程序 都跟着做了
上课笔记:
cd / 切换到根目录
vim hello.c 写程序 a 插入
esc 退出
shift z z 退回界面
gcc hello.c -o hello 编译文件
./hello 执行该程序
今日开发中出现的问题汇总:
后半课程中很多概念模糊 需要提高
今日未解决问题:
后半部分概念不清楚
今日开发收获:
重新复习了C语言的指针数组等概念
熟悉了嵌入式的安装开发编译环境
自我评价:
复习并熟悉了第一学期C语言的知识点 学习了新的干货知识 希望自己再接再厉
作业:
习题3
int count_substring(char* str,char* sub);
int main()
{
char total[50];
char sub[10];
int num;
printf(“please enter a string(<50):\n”);
fgets(total,50,stdin);
printf(“please the substring(<10) u want find :\n”);
fgets(sub,10,stdin);
num=count_substring(total,sub);
printf(“The number of the substring is :%d\n”,num);
return 0;
}
int count_substring(char* str,char* sub)
{
int i=0;
int j=0;
int str_len = strlen(str) - 1;
int sub_len = strlen(sub) - 1;
int count = 0;
for ( i = 0 ; i < str_len - sub_len + 1 ;i++)
{
for ( j = 0; j < sub_len ; j++)
{
if (sub[j] != str[i+j])
{
break;
}
}
if ( j == sub_len )
{
count++;
}
}
return count;
}
习题4:
void my_strcpy(char *result,char *str,int len) //复制长度为len的字符串
{
while(len)
{
*result = *str;
str++;
result++;
len–;
}
}
void change(char *str,char **a)
{
int i = 0; //记录行数
int j = 0;
int count = 0; //记录每行元素的个素
char *temp = NULL;
temp = (char*)malloc(sizeof(char));
while(*str)
{
if(*str == ’ ‘||*str == ‘\0’)
{
my_strcpy(a[i],str-count,count);
i++;
count = 0;
}
count++;
str++;
}
if(*str == ‘\0’)
{
my_strcpy(a[i],str-count,count);
count = 0;
i++;
}
for(j = 0;j < i/2;j++)
{
strcpy(temp,a[j]);
strcpy(a[j],a[i-j-1]);
strcpy(a[i-j-1],temp);
}
for(j = 0;j < i;j++)
{
printf(“%s “,a[j]);
}
printf(“\n”);
free(temp);
}
int main()
{
int i = 0;
char str[] = “I am from shanghai”;
char *a[4] = {0};
for(i = 0;i < 4;i++)
{
a[i] = (char*)malloc(sizeof(char)*20);
}
change(str,a);
for(i = 0;i < 4;i++)
{
free(a[i]);
}
return 0;
}