7月13日学习

今天上午学习了shell的一些基本用法,下午听老师讲了c语言的基本数据类型。
关于shell
shell就是个命令行解释器,作用就是遵循一定的语法将输入的命令加以解释并传给系统。
shell可以启动,挂起,停止甚至是编写一些程序。
shell是用户使用Linux的桥梁。
shell写的程序是脚本程序,也在vim中编写。
必须以#!/bin/sh开头,要使脚本可运行:chmod 777 filename(给权限),之后./filename执行脚本。

例、

#!/bin/sh
#对变量赋值
a="hello world"
#打印变量a的内容
echo "a is:"
echo $a

输出

a is:
hello world

野指针
1.什么是野指针?
野指针指向一个已删除的对象或未申请访问受限内存区域的指针。与空指针不同,野指针无法通过简单地判断是否为 NULL避免,而只能通过养成良好的编程习惯来尽力减少。对野指针进行操作很容易造成程序错误。
2.产生的原因
(1)指针在定义时没有初始化。
(2)指针被释放时没有被置空。
(3)指针操作超越变量作用域。
3.危害
指针指向的内容已经无效了,而指针没有被置空,解引用一个非空的无效指针是一个未被定义的行为,就是说不一定是段错误,那就很难找到这个错误点在哪儿,很难查出问题原因,调试时间就会加长,很麻烦。
4.解决方法
(1)初始化指针时将其置为NULL,在对其操作。
(2)释放指针时,将其置为NULL。
(3)最好的办法就是养成良好的编程习惯。

写的一些作业
1.题目:编写程序,打印出9×9乘法表

#include <stdio.h>

int main()
{
    int i,j;
    for(i=1;i<=9;i++)
    {
        for(j=1;j<=i;j++)
        {
            printf("%d*%d=%d\t",i,j,i*j);
        }
        printf("\n");
    }
    return 0;
}

2.题目:编写程序,实现strcmp()相同功能myStrcmp()函数

#include <stdio.h>
int myStrcmp(char a[],char b[])
{
    int i=0,t;
    while(a[i]!='\0'||b[i]!='\0')
    {
        if(a[i]==b[i])
        {
            t=0;
        }
        else if(a[i]>b[i])
        {
            t=1;
        }
        else
        {
            t=-1;
        }
        if(t!=0)
        {
            break;
        }
        i++;
    }
    return t;
}
int main()
{
    int q=0;
    char a[100],b[100];
    fgets(a,100,stdin);
    fgets(b,100,stdin);
    q=myStrcmp(a,b);
    printf("若输出0为相等,1为第一个大,2为第二大   %d\n",q);
    return 0;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值