C语言入门第七天字符串输入输出函数和控制语句

一:字符串输入输出函数

1:字符串输入函数gets

a:格式:char*gets(char*s)现在指针不懂的可以直接写成gets(s)

b:功能:从键盘输入一以回车结束的字符串放入字符数组中,并自动加'\0',

c:输入串长度应小于字符数组维数

d:与scanf函数不同,gets函数并不以空格作为字符串输入结束的标志

e:代码展示

#include
int main()
{
    char a[5];
    gets(a);
    printf("%s \n",a);
    return 0;

}

2:字符串输出函数put

a:格式:int puts(const char *s)一般可以写成puts(s)

b:功能:向显示器输出字符串(输出完,自动换行不需要\n)

c:说明:字符串必须以'\0'结束

d:代码展示

#include
int main()
{
    char a[5];
    char b[5];
    gets(a);
    gets(b);
    puts(a);
    puts(b);
    printf("%s",a);
    printf("%s",b);
    return 0;

}

有puts和printf是为了编译时看出puts输出完自动换行

二:控制语句

1:if-else语句

a:if语句概述

if(表达式)

{语句块1;}

else

{语句块2; }

2:常见模式

简化形式,阶梯形式和嵌套形式

a:阶梯形式一般表示为:

if(表达式1){语句块1}

else

{ if(表达式2){语句块2}

else

{if(表达式3){语句块3}

else

{if(表达式4){语句块4}

}

}

}

b:代码展示(成绩等级代码)

#include
int main()
{
    float scont;
    printf("please intput scont: \n");
    scanf("%f",&scont);
    if(scont>100||scont<0)
    {
        printf("error");
        return 0;
    }
    else
    {
        if(scont>=90)
        {
            printf("A \n");
        }
        else
        {
            if(scont<90&&scont>=70)
            {
                printf("B \n");
            }
            else
            {
                if(scont>=60)
                {
                    printf("C \n");
                }
                else
                {
                    if(scont<60)
                    {
                        printf("D \n");
                    }
                }
            }
        }
    }
    return 0;
}

c:语句块,当有诺干条语句的时候,必须用{}括号括起来

d:表达式

1:一般情况下为逻辑表达式和关系表达式

如:if(a==b&&x==y){printf("%d \n",x);}

2:也可以是任意类型(包括整形,实型,字符型,指针类型)

如:if('a'){printf("%d \n",a);}

3:区分if(x=1)和if(x==1)的不同

if(x=1)是将x赋值为1,所以括号内为1为真,if(x==1)是用x的值和1比较相同为真不同为假

f:小作业输入三个数,从小到大排

#include
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,%b,&c);
    if(a>b&&b>c)
    printf("%d-%d-%d"c,b,a);
    else
    {
        if(a>c&&c>b)
        printf("%d-%d-%d",b,c,a);
        else
        {
            if(b>c&&c>a)
            printf("%d-%d-%d",a,c,b);
            else
            {
                if(b>a&&a>c)
                printf("%d-%d-%d",c,a,b);
                else
                {
                    if(c>a&&a>b)
                    printf("%d-%d-%d",b,a,c);
                    else
                    {
                        if(c>b&&b>a)
                        printf("%d-%d-%d",a,b,c);
                    }
                }
            }
        }
    }
    return 0;
}

2:switch语句

a:switch语句的基本形式

switch(表达式)(表达式一般为变量)

{

case常量表达式1:语句块1;break;

case常量表达式2:语句块2;break;

case常量表达式3:语句块3;break;

default:语句块

}

b:每个常量表达式必须各不相同否则出现矛盾报错

c:当表达式的值和常量表达式的值相等时,就会执行case后的语句

d:case常量:只起语句标号的作用

f:break语句用于强行跳出switch体,一般一个case后接一个break,default分支后的break可以省去

e:多个case可以执行一条语句

g:switch中的表达式可以是整形,字符型表达式或枚举。

h:代码展示

1:基础switch代码

#include
int main()
{
    int tep=1;
    switch(tep)
    {
        case 1:
        printf("kobe \n");
        printf("forever \n");
        break;
        case 2:
        printf("xuexi \n");
        break;
        case 8:
        printf("juan \n");
        break;
        default:
        printf("not 1 2 8 /n");
    }
    return 0;

}

成绩等级代码

#include
int main()
{
    float scont;
    printf("please intput scont: \n");
    scanf("%f",&scont);
    if(scont>100||scont<0)
    printf("error \n");
    else
    {
        switch((int)scont/10)
        {
            case 9:
            printf("A \n");
            break;
            case 8:
            printf("B \n");
            break;
            case 7:
            printf("B \n");
            break;
            case 6:
            printf("C \n");
            break;
            default:
            printf("D \n");

        
        }
    }
        return 0;
}

一定要记得case后接break

你可能感兴趣的:(算法,c#,c语言,linux)