华清远见作业第三天

思维导图

上课代码

三目运算符

#include 
int main(int argc, const char *argv[])
{
    int a,b;
    scanf("%d%d",&a,&b);
    printf("%d\n",a>b?a:b);
    return 0;
}

getchar()的使用

#include 
int main(int argc, const char *argv[])
{
    char c1,c2;
    //利用getchar吸收垃圾字符
    //如果利用getchar吸收垃圾字符,
    //两个字符变量的获取,必须是两条语句
    scanf("%c",&c1);
    getchar();
    scanf("%c",&c2);
    printf("%c\n",c1);
    printf("%c\n",c2);
    return 0;
}

putchar()的使用 

#include 
int main(int argc, const char *argv[])
{
    char c = 'p';
    printf("%c\n",c);
    putchar(c);
    putchar(10);  //输出ascii值为10的字符,换行
    putchar(65);  //A
    putchar('\n');
    return 0;
}

C语言中产生垃圾字符的原因以及处理方法

 原因:一个常见的原因是格式字符串中的换行符。当用户输入数据后按下回车键,回车键会发送一个换行符到输入流中。如果格式字符串中没有指定匹配该换行符,则scanf函数会将其留在输入流中,作为下一个输入的一部分,从而导致垃圾字符的产生。

处理方法:

利用空格解决这个问题:

代码:

#include 
int main(int argc, const char *argv[])
{
    char c1,c2;
    //利用scanf严格控制格式的特点,
    //用空格吸收掉,tab、空格和回车
    printf("请输入两个字符\n");
    scanf("%c %c",&c1,&c2);
    printf("字符打印\n");
    printf("%c\n",c1);
    printf("%c\n",c2);
    return 0;
}

运行效果:

华清远见作业第三天_第1张图片

利用%*c抑制字符吸收垃圾字符

代码:

#include 
int main(int argc, const char *argv[])
{
    char c1,c2;
    //利用%*c抑制字符,但是抑制字符一定要吃掉一个字符,不建议使用
    printf("请输入两个字符\n");    
    scanf("%c%*c%c",&c1,&c2);
    printf("字符打印\n");
    printf("%c\n",c1);
    printf("%c\n",c2);
    return 0;
}

运行效果:

华清远见作业第三天_第2张图片

利用getchar()吸收垃圾字符

代码:

#include 
int main(int argc, const char *argv[])
{
    char c1,c2;
    //利用getchar吸收垃圾字符
    //如果利用getchar吸收垃圾字符,
    //两个字符变量的获取,必须是两条语句
    printf("请输入两个字符\n");
    scanf("%c",&c1);
    getchar();
    scanf("%c",&c2);
    printf("字符打印\n");
    printf("%c\n",c1);
    printf("%c\n",c2);
    return 0;
}

运行效果:

华清远见作业第三天_第3张图片

终端输入一个四位数,输出该数个位、十位、百位和千位的结果,以及每位相加的和

代码:

#include
int main(int argc, const char *argv[])
{
	int a;
	int x,y,z,j,sum;
	printf("请输入一个四位数\n");
	scanf("%d",&a);
	x=a/1000;       //万位
	y=a/100%10;     //百位
	z=a/10%10;      //十位
	j=a%10;         //个位
	sum=x+y+z+j;    //求和
	printf("%d的\n万位数是%d\n百位数是%d\n十位数是%d\n个位数是%d\n",a,x,y,z,j);
	printf("%d的各个位求和是%d\n",a,sum);
	return 0;
}

运行效果:

华清远见作业第三天_第4张图片

你可能感兴趣的:(华清远见作业,算法,c语言,开发语言)