精华内容
下载资源
问答
  • 在逻辑运算有与、或、非三种基本逻辑运算。 2.C语言如何表示真和假?系统如何判断一个量的真和假? 0代表假,1代表真 0代表假,非0代表真 3.写出下面各逻辑表达式的值。设a=3,b=4,c=5。 (1)a+b>c&&...

    1.什么是算数运算?什么是关系运算?什么是逻辑运算?

    算数运算即“四则运算”,是加法、减法、乘法和除法的统称。
    关系运算是将两个数值进行比较,判断其比较的结果是否符合给定的条件。
    在逻辑运算中有与、或、非三种基本逻辑运算。
    

    2.C语言中如何表示真和假?系统如何判断一个量的真和假?

    0代表假,1代表真
    0代表假,非0代表真
    

    3.写出下面各逻辑表达式的值。设a=3,b=4,c=5。
    (1)a+b>c&&b==c
    (2)a||b+c&&b-c
    (3)!(a>b)&&!c||1
    (4)!(x=a)&&(y=b)&&0
    (5)!(a+b)+c-1&&b+c/2

    (1)0
    (2)1
    (3)1
    (4)0
    (5)1
    

    4.有3个整数a,b,c,由键盘输入,输出其中最大的数。

    #include<stdio.h>
    void main()
    {
        int a,b,c,max;
        scanf("%d%d%d",&a,&b,&c);
        max=(a>=b)?a:b;
        (max>=c)?printf("max=%d\n",max):printf("max=%d\n",c);
    }
    

    在这里插入图片描述
    5.从键盘输入一个小于1000的正数,要求输出它的平方根(如果平方根不是整数,则输出其整数部分)。要求在输出数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输入。

    #include<stdio.h>
    #include<math.h>
    void main()
    {
        double n,t;//t用于计算平方根
        int res;
        printf("请输入一个小于1000的正数:\n");
        scanf("%lf",&n);
        while(n<=0||n>=1000)
        {
            printf("输入的数据不符合规定,请重新输入数据!\n");
            scanf("%lf",&n);
        }
        t=sqrt(n);//计算平方根
        res=(int)t;//取整数部分
        printf("%d\n",res);
        //printf("%2.0lf\n",t);保留两位整数部分
    }
    

    在这里插入图片描述
    6.有一个函数:
    y=x(x<1);y=2x-1(1<=x<10);y=3x-11(x>=10)
    写程序,输入x的值,输出y相应的值。

    #include<stdio.h>
    void main()
    {
        float x,res;
        printf("请输入x的值:");
        scanf("%f",&x);
        if(x<1)
            res=x;
        else if(x>=1&&x<10)
            res=2*x-1;
        else
            res=3*x-11;
        printf("y=%f",res);
    }
    

    在这里插入图片描述
    7.有一函数:
    y=-1(x<0);y=0(x=0);y=1(x>0)
    有人编写了以下两个程序,请分析它们是否能实现题目要求。不要急于上机运行程序,先分析两个程序的逻辑,画出它们的流程图,分析它们的运行情况。然后,上机运行程序,观察和分析结果。

    (1)
    #include<stdio.h>
    int main()
    {
    	int x,y;
    	printf("enter x:");
    	scanf("%d",&x);
    	y=-1;
    	if(x!=0)
    		if(x>0)
    			y=1;
    	else
    		y=0;
    	printf("x=%d,y=%d\n",x,y);
    	return 0;
    }
    (2)
    #include<stdio.h>
    int main()
    {
    	int x,y;
    	printf("enter x:");
    	scanf("%d",&x);
    	y=0;
    	if(x>=0)
    		if(x>0) y=1;
    	else y=-1;
    	printf("x=%d,y=%d\n",x,y);
    	return 0;
    }
    

    在这里插入图片描述

    两个程序都不能实现题目的要求。原因:书写不规范,else和最近的if配对导致结果错误。
    

    8.给出一百分制成绩,要求输出成绩等级’A’、‘B’、‘C’、‘D’、‘E’。90分以上为’A’,80 ~ 89分为’B’,70 ~ 79分为’C’,60 ~ 69分为’D’,60分以下为’E’。

    #include<stdio.h>
    void main()
    {
        int grade;
        scanf("%d",&grade);
        if(grade>=90&&grade<=100)
            printf("%c",'A');
        else if(grade>=80)
            printf("%c",'B');
        else if(grade>=70)
            printf("%c",'C');
        else if(grade>=60)
            printf("%c",'D');
        else
            printf("%c",'E');
    }
    

    在这里插入图片描述
    9.给一个不多于5位的正整数,要求:
    (1)求出他是几位数;
    (2)分别输出每一位数字;
    (3)按逆序输出各位数字。

    #include<stdio.h>
    void main()
    {
        char a[5];//用于存放每位数字
        int count=0;//用于记录数字的位数
        printf("请输入一个不多于5位的正整数:");
        for(int i=0;i<5;i++)
        {
            a[i]=getchar();
            if(a[i]>='0'&&a[i]<='9')
                count++;
            else//当输入不是数字字符时,跳出循环
                break;
        }
        printf("数据为%d位数\n",count);
        printf("分别输出每一位数字:");
        for(int i=0;i<count;i++)//分别输出每一位数字
        {
            printf("%c ",a[i]);
        }
        printf("\n");
        printf("逆序输出每一位数字:");
        for(int i=count-1;i>=0;i--)//逆序输出每一位数字
        {
            printf("%c ",a[i]);
        }
    }
    

    在这里插入图片描述
    10.企业发放的奖金根据利润提成。利润I低于或等于100 000元的,奖金可提成10%;利润高于100 000元,低于200 000元(100000<I≤200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成7. 5%;200000<I≤400000时,低于200000元的部分仍按上述办法提成(下同)。高于200000元的部分按5%提成;400000<<I≤600000元时,高于400000元的部分按3%提成;600000<1≤1000000时,高于600000元的部分按1.5%提成;I>1000000时,超过1000000元的部分按1%提成。从键盘输入当月利润I,求应发奖金总数。
    要求:
    (1) 使用if语句编写程序。
    (2) 使用switch语句编写程序。

    #include<stdio.h>
    void main()
    {
        float I,p;//p为奖金
        printf("请输入当月利润I:");
        scanf("%f",&I);
        if(I<=10000&&I>0)
            p=0.1*I;
        else if(I<=200000)
            p=10000+(I-100000)*0.075;
        else if(I<=400000)
            p=10000+7500+(I-200000)*0.05;
        else if(I<=600000)
            p=10000+7500+10000+(I-400000)*0.03;
        else if(I<=1000000)
            p=10000+7500+10000+12000+(I-600000)*0.015;
        else
            p=10000+7500+10000+12000+6000+(I-1000000)*0.01;
        printf("应发奖金总数=%f\n",p);
    }
    
    #include<stdio.h>
    void main()
    {
        int grade;//等级
        float I,p;//p为奖金
        printf("请输入当月利润I:");
        scanf("%f",&I);
        grade=(int)I/100000;
        switch(grade)
        {
            case 0:
                p=0.1*I;
                break;
            case 1:
                p=10000+(I-100000)*0.075;
                break;
            case 2:
            case 3:
                p=10000+7500+(I-200000)*0.05;
                break;
            case 4:
            case 5:
                p=10000+7500+10000+(I-400000)*0.03;
                break;
            case 6:
            case 7:
            case 8:
            case 9:
                p=10000+7500+10000+12000+(I-600000)*0.015;
                break;
            default:
                p=10000+7500+10000+12000+6000+(I-1000000)*0.01;
        }
        printf("应发奖金总数=%f\n",p);
    }
    

    在这里插入图片描述

    11.输入4个整数,要求按由小到大的顺序输出。

    #include<stdio.h>
    void main()
    {
        int a[4],t;//t为中间变量
        for(int i=0;i<4;i++)
        {
            scanf("%d",&a[i]);
        }
        for(int i=0;i<3;i++)//冒泡法
        {
            for(int j=i+1;j<4;j++)
            {
                if(a[j]<a[i])
                {
                    t=a[i];
                    a[i]=a[j];
                    a[j]=t;
                }
            }
        }
        printf("由小到大的顺序为:");
        for(int i=0;i<4;i++)
        {
            printf("%d ",a[i]);
        }
    }
    

    在这里插入图片描述

    12.有4个圆塔,圆心分别为(2,2)、(-2,2)、(-2,-2)、(2,-2),圆半径为1,见图4.17。这4个塔的高度为10m,塔以外无建筑物。今输入任一点的坐标,求该点的建筑高度(塔外的高度为零)。
    在这里插入图片描述

    #include<stdio.h>
    #include<math.h>
    void main()
    {
        double x,y,a,b,d;//ab为两点之间的横坐标纵坐标之差 d为两点之间的距离
        printf("请输入坐标x、y的值:");
        scanf("%lf%lf",&x,&y);
        a=fabs(x)-2;
        b=fabs(y)-2;
        d=sqrt(a*a+b*b);
        if(d<=1.0)
            printf("高度为10m\n");
        else
            printf("高度为0\n");
    }
    

    在这里插入图片描述

    展开全文
  • 1、什么是算术运算?什么是关系运算?什么是逻辑运算? 算术运算:即“四则运算”,是加法、减法、乘法和除法四种运算统称; 关系运算:所谓“关系运算”就是“比较运算”,将两...C语言编译系统在表示逻辑运算结...

    1、什么是算术运算?什么是关系运算?什么是逻辑运算?

    算术运算:即“四则运算”,是加法、减法、乘法和除法四种运算的统称;

    关系运算:所谓“关系运算”就是“比较运算”,将两个数值进行比较,判断其比较的结果是否符合给定的条件;

    逻辑运算:逻辑运算又称布尔运算,有与、或、非三种基本逻辑运算;

    2、C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

    C语言编译系统在表示逻辑运算结果时,以“1”代表“”,以“0”代表“假”;
    系统判断一个量是以“0”代表“”,以一个非0代表“”;

    3、写出下面各逻辑表达式的值。设a=3、b=4、c=5

    1)a + b > c && b==c

    2)a || b + c && b - c

    3)!(a > b) && !c || 1

    4)!(x = a) && (y = b) && 0

    5)!(a + b) + c - 1 && b + c / 2

    答案:0、1、1、0、1

    4、有三个整数a、b、c,由键盘输入,输出其中最大的数

    #include <stdio.h>
    
    int main(){
    	
    	int a;
    	int b;
    	int c;
    	int max;
    	scanf("%d %d %d",&a ,&b, &c);
    	if(a > b){
    		if(a > c){
    			max = a;
    		}else{
    			max = c;
    		}
    		
    	}else{
    		if(b > c){
    			max = b;
    		}else{
    			max = c;
    		}
    	}
    	printf("最大的数为:%d", max);
    
    	return 0;
    }
    

    5、从键盘输入一个小于1000的正数,要求输出它的平方根(如果平方根不是整数,则输出其整数部分)。要求在输入数据后先对其查是否为小于1000的正数。若不是要求重新输入。

    #include <stdio.h>
    #include <math.h>
    int main(){
    	
    	double a;
    	double result;
    	scanf("%lf", &a);
    	if(a >= 1000 || a <= 0){
    		printf("请重新输入小于1000的正数\n");
    		
    	}else{
    		result = sqrt(a);
    		printf("%lf的平方根为%2.0lf",a ,result);	
    	}
    	
    	return 0;
    }
    

    6、有一个函数:
    y = x (x < 1)
    y = 2x - 1(1 <= x < 10)
    y = 3x - 11(x >= 10)
    写程序,输入x的值,输出y相应的值

    #include <stdio.h>
    
    int main(){
    	
    	double x, y;
    	
    	scanf("%lf",&x); 
    	
    	if(x < 1){
    		y = x;
    	}else if(x >= 1 && x < 10){
    		y = 2*x - 1;
    	} else{
    		y = 3*x - 110;
    	}
    	
    	printf("y的值为:%lf", y);
    	return 0;
    }
    

    懒是罪哇

    展开全文
  • 第4章 最简单的C程序设计——顺序程序设计 6 4.4 若a=3,b=4,c=5,x=1.2,y=2.4,z=-3.6,u=51247,n=128765,c1=’a’,c2=’b’,想得到以下输出格式和结果,请写出程序(包括定义变量类型和设计输出)。 6 ...
  • 逻辑运算就是判断给出条件在逻辑上是否为‘’或‘假’。 //习题2. C语言如何表示”和“假”?系统如何判断一个量”和“假”? C语言,用1表示,用0表示为假。 //习题3.写出下面各逻辑...

    //习题1.什么是算术运算?什么是关系运算?什么是逻辑运算?

    算术运算就是我们数学中的加、减、乘、除,以及取余,一般进行数值的运算。
    关系运算就是判断给出的两个数值是否具有(大于、小于、等于、不等于)的运算。
    逻辑运算就是判断给出的条件在逻辑上是否为‘真’或‘假’。


    //习题2. C语言中如何表示“真”和“假”?系统如何判断一个量的“真”和“假”?

    在C语言中,用1表示为真,用0表示为假。


    //习题3.写出下面各逻辑表达式的值。设:a=3,b=4,c=5。

    (1) a+b>c && b==c
    0
    (2) a||b+c && b一c
    1
    (3) !(a>b) && !c|| 1
    1
    (4) !(x=a) && (y=b) && 0
    0
    (5) !(a+b)+c-1 && b+c/2
    1


    //习题4.有3个整数a,b,c,由键盘输人,输出其中最大的数。
    #include<stdio.h>
    int main()
    {
    	float a,b,c,t;
    	scanf("%f,%f,%f",&a,&b,&c);
    	if(a>b)
    	{
    		t=a; //借助变量t,实现变量a和变量b互换值
    		a=b;
    		b=t;
    	} //互换后,a小于或等于b
    	if(a>c)
    	{
    		t=a; //借助变量t,实现变量a和变量c互换值
    		a=c;
    		c=t;
    	} //呼唤后,a小于或等于c
    	if(b>c) //还要
    	{
    		t=b; //借助变量t,实现变量b和变量c互换值
    		b=c;
    		c=t;
    	} //互换后,b小于或等于c
    	printf("%5.2f,%5.2f,%5.2f\n",a,b,c); //顺序输入a,b,c的值
    	return 0;
    }
    

    //习题5.从键盘输人一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输人数据后先对其进行检查是否为小于1000的正数。若不是,则要求重新输人。
    #include <stdio.h>
    #include <math.h>
    int main()
    {
    	int num,n;//num用来接收输入的数,n用来输出平方根
    	printf("please enter a number:\n");
    	scanf("%d",&num);
    	while(abs(num)>=1000) //判断num是不是一个大于等于1000的正数
    		scanf("%d",&num);
    	n=sqrt(float(num)); //sqrt()为开方函数
    	printf("num的平方根为%d",n);
    	return 0;
    }
    

    //习题6.有一个函数:

    这里是引用

    写程序,输人x的值,输出y相应的值。

    #include <stdio.h>
    int main()
    {
    	int x,y;
    	printf("please enter x:");
    	scanf("%d",&x);
    	if(x<1)
    		y=x;
    	else if((x>1)&&(x<10))
    		y=2*x-1;
    	else
    		y=3*x-11;
    	printf("y=%d\n",y);
    	return 0;
    }
    

    //习题7.有一函数:

    这里是引用

    有人编写了以下两个程序,请分析它们是否能实现题目要求。不要急于上机运行程序,先分析两个程序的逻辑,画出它们的流程图,分析它们的运行情况。然后上机运行程序,观察和分析结果。

    (1)
    #include<stdio.h>
    int main()
    {
    int x,y;
    printf(" enter x:");
    scanf(" %d",&x);
    y=-1;
    if(x!=0)
    if(x>0)
    y=1;
    else
    printf(“x= %d,y= %d\n”,x,y);
    return 0;
    }
    (2)
    #include<stdio.h>
    int main()
    {
    int x,y;
    printf(“enter x!”);
    scanf("%d" ,&x);
    y=0;
    if(x>=0)
    if(x>0)
    y=1;
    else
    y=-1;
    printf(“x= %d,y= %d\n”,x,y);
    return 0;
    }

    (1)流程图
    在这里插入图片描述

    程序1在程序在第运行时会把else和最近的一个if看成一个语句,所以达不到预期的效果

    (2)流程图
    在这里插入图片描述

    程序2也不可以达到预期的效果,原因同程序1


    //习题8.给出一百分制成绩,要求输出成绩等级'A'B'C'D'、'E'。90分以上为'A',80~89分为'B',70~79分为‘C' ,60~69分为'D' ,60分以下为'E"。
    #include <stdio.h>
    int main()
    {
    	int score;
    	printf("please enter score:");
    	scanf("%d",&score);
    	switch(score/10)
    	{
    	case 10:
    	case 9:printf("该成绩为A\n");break;
    	case 8:printf("该成绩为B\n");break;
    	case 7:printf("该成绩为C\n");break;
    	case 6:
    	case 5:
    	case 4:
    	case 3:
    	case 2:
    	case 1:printf("改成绩为D\n");break;
    	}
    	return 0;
    }
    

    //习题9.给一个不多于5位的正整数,要求:

    ①求出它是几位数;

    ②分别输出每一位数字;

    ③按逆序输出各位数字,例如原数为321,应输出123。

    #include <stdio.h>
    int main()
    {
    	int num,n,count=0,m;
    	printf("please enter num:");
    	scanf("%d",&num);
    	while(num>9999)
    	{
    		printf("please enter num:");
    		scanf("%d",&num);
    	}
    	n=num; 
    	while(n!=0)//(1)求输入的数字为几位数
    	{
    		count++;
    		n=n/10;
    	}
    	printf("输入了一个%d位数\n",count);
    	n=num;
    	printf("分别输出每一个数字\n");//(2)分别输出每一位数字
    	if(num>1000&&num<9999)//当它为4位数时
    	{
    		printf("%d\t",n/1000);
    		n=n-n/1000*1000;
    		printf("%d\t",n/100);
    		n=n-n/100*100;
    		printf("%d\t",n/10);
    		n=n-n/10*10;
    		printf("%d\n",n);
    		/*如果是大于五位数的数字也可以改成下面这种形式
    		int i=1000;
    		while(n!=0)
    		{
    			printf("%d\t",n/i);
    			n=n-n/i*i;
    			i=i/10;
    		}
    		printf("\n");
    		*/
    	}
    	else if(num>100&&num<999)//当它为3位数时
    	{
    	
    		printf("%d\t",n/100);
    		n=n-n/100*100;
    		printf("%d\t",n/10);
    		n=n-n/10*10;
    		printf("%d\n",n);
    	}
    	else if(num>10&&num<99)//当它为2位数时
    	{
    		printf("%d\t",n/10);
    		n=n-n/10*10;
    		printf("%d\n",n);
    	}
    	else//当它为1位数时
    		printf("%d\n",n);
    	printf("按逆序输出每一位数字\n");
    	while(num!=0) //(3)按逆序输出每一位数字
    	{
    		printf("%d\t",num%10);
    		num=num/10;
    	} 
    	printf("\n");
    	return 0;
    }
    

    //习题10.企业发放的奖金根据利润提成。利润I低于或等于100000元的,奖金可提成10%;利润高于100000元,低于200000元(100000<I<200000)时,低于100000元的部分按10%提成,高于100000元的部分,可提成7.5%;200000<1≤400000时,低于200000元的部分仍按上述办法提成(下同)。高于200000元的部分按5%提 成;400000<I≤600 000元时,高于400 000元的部分按3%提成;600 000<1<1 000 000时,高于600 000元的部分按1. 5%提成;I>100000时,超过1 000 000元的部分按1%提成。从键盘输人当月利润I,求应发奖金总数。

    要求:

    (1)用if语句编程序;

    #include <stdio.h>
    int main()
    {
    	float I,S;//I、S分别为利润、奖金总数;
    	float n1,n2,n3,n4,n5,n6;
    	printf("请输入利润:");
    	scanf("%f",&I);
    	n1=99999*0.1;//低于100000时的奖金
    	n2=n1+(I-100000)*0.075;//高于100000低于200000的奖金
    	n3=n2+(I-200000)*0.05;//高于200000低于400000的奖金
    	n4=n2+(I-400000)*0.03;//高于400000低于600000的奖金
    	n5=n2+(I-600000)*0.015;//高于600000低于1000000的奖金
    	n6=n2+(I-1000000)*0.01;//高于600000低于1000000的奖金
    	if(I<=100000)
    		S=I*0.1;
    	else if(I>100000&&I<=200000)
    		S=n2;
    	else if(I>200000&&I<=400000)
    		S=n3;
    	else if(I>400000&&I<=600000)
    		S=n4;
    	else if(I>600000&&I<=1000000)
    		S=n5;
    	else
    		S=n6;
    	printf("当利润为%.0f时能拿到%.2f奖金\n",I,S);
    	return 0;
    }
    

    (2)用switch语句编程序。

    #include <stdio.h>
    int main()
    {
    	float I,S;//I、S分别为利润、奖金总数;
    	float n1,n2,n3,n4,n5,n6;
    	printf("请输入利润:");
    	scanf("%f",&I);
    	n1=99999*0.1;//低于100000时的奖金
    	n2=n1+(I-100000)*0.075;//高于100000低于200000的奖金
    	n3=n2+(I-200000)*0.05;//高于200000低于400000的奖金
    	n4=n2+(I-400000)*0.03;//高于400000低于600000的奖金
    	n5=n2+(I-600000)*0.015;//高于600000低于1000000的奖金
    	n6=n2+(I-1000000)*0.01;//高于600000低于1000000的奖金
    	switch(int(I)/100000)
    	{
    	case 0:S=I*0.1;break; //100000以下的奖金
    	case 1:
    	case 2:S=n2;break;//高于100000低于200000的奖金
    	case 3:
    	case 4:S=n3;break;//高于200000低于400000的奖金
    	case 5:
    	case 6:S=n4;break;//高于400000低于600000的奖金
    	case 7:
    	case 8:
    	case 9:S=n5;break;//高于600000低于1000000的奖金
    	case 10:S=n6;break;//高于1000000的奖金
    	}
    	printf("当利润为%.0f时能拿到%.2f奖金\n",I,S);
    	return 0;
    }
    

    //习题11.输人4个整数,要求按由小到大的顺序输出。

    #include<stdio.h>
    int main()
    {
    	int a,b,c,d,t;//t用来交换两个数
    	printf("please enter fours number:");
    	scanf("%d%d%d%d",&a,&b,&c,&d);
    	if(a>b)
    	{t=a;a=b;b=t;}
    	if(a>c)
    	{t=a;a=c;c=t;}
    	if(a>d)
    	{t=a;a=d;d=t;}
    	if(b>c)
    	{t=b;b=c;c=t;}
    	if(b>d)
    	{t=b;b=d;d=t;}
    	if(c>d)
    	{t=c;c=d;d=t;}
    	printf("%d %d %d %d\n",a,b,c,d);
    	return 0;
    }
    

    //习题12.有4个圆塔,圆心分别为(2,2)、(一2,2)、(一2,一2)、(2,一2),圆半径为1,见图4.17。这4个塔的高度为10m,塔以外无建筑物。今输人任一点的坐标,求该点的建筑高度(塔外的高度为零)。
    在这里插入图片描述

    本题解题思路是:这里是引用
    在这里插入图片描述

    以下是代码实现:

    #include <stdio.h>
    #include <math.h> //需要使用到fabs,sqrt函数
    int main()
    {
    	float x,y;
    	printf("please enter x,y:");
    	scanf("%f%f",&x,&y);
    	x=fabs(x-2);y=fabs(y-2);//计算输入坐标距离圆心的位置
    	if(sqrt(x*x+y*y)>1)//判断圆心到输入坐标位置是否大于半径
    	{
    		printf("输入坐标在圆塔外,该点建筑高度为0m");//输出判断结果
    	}
    	else
    		printf("输入坐标在圆塔内,该点建筑高度为10m");
    	printf("\n");
    	return 0;
    }
    	
    
    展开全文
  • 有些人就疑问了,我Ntldr、Osloader、Boot.ini、Ntdetect.com和Windows、system32文件都在C盘,那是怎么回事?这很容易解释,你C盘既是系统分区也是启动分区,只安装一个操作系统计算机大都属于这种情况 ,...
  • C语言程序设计习题

    2020-09-13 12:48:32
    2.C语言如何表示”和“假”?系统如何判断一个量“和”假”?3.写出下面个逻辑表达式值。设a=3,b=4,c=5。4.有3个整数a,b,c,由键盘输入,输出其中最大数。5.从键盘输入一个小于1000正数,要求输出...

    1.什么是算术运算?什么是关系运算?什么是逻辑运算?

    答:算术运算就是指加减乘除和整数的模运算(即取余数运算);
    关系运算指比较,有大于,大于等于,小于,小于等于,等于,不等于六种运算;
    逻辑运算指两个条件进行运算,有逻辑与去,逻辑或,逻辑非三种。

    2.C语言中如何表示“真”和“假”?系统如何判断一个量的“真“和”假”?

    答:在C语言中逻辑常量只有两个,即0和1,用来表示两个对立的逻辑状态,其中0表示假,1表示真。
    对于系统来说,判断一个逻辑量的值,系统会以0作为假,以非0作为真。

    3.写出下面个逻辑表达式的值。设a=3,b=4,c=5。

    (1)a+b>c && b == c 0
    (2)a||b+c && b-c 1
    (3)!(a>b) && !c ||1 1
    (4)!(x=a) &&(y = b) && 0 0
    (5)!(a+b)+c-1 && b+c/2 0

    4.有3个整数a,b,c,由键盘输入,输出其中最大的数。

    #include <stdio.h>
    int main()
    {
    int a,b,c,max;
    printf(“请输入a,b,c的值\n”);
    scanf("%d%d%d",&a,&b,&c);
    max = a>b?a:b;
    max = max>c?max:c;
    printf(“最大值是%d”,max);
    return 0;
    }

    5.从键盘输入一个小于1000的正数,要求输出它的平方根(如平方根不是整数,则输出其整数部分)。要求在输入数据后先对其检查是否为小于1000的正数。若不是,则要求重新输入。

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    int i,j;
    do{
    printf("请输入一个小于1000的正数:\n");
    scanf("%d",&i);
    if(i<0 || i>= 1000)
    printf("请重新输入\n");
    }while(i<0 || i>= 1000);
    j = sqrt(i);
    printf("它的平方根为%d",j);
    return 0;
    }
    

    6.有一个函数: y=x (x<1) y=2x-1 (1<=x<10) y=3x-11 (x>=10) 写程序,输入x的值,输出对应y的值。

    #include 	<stdio.h>
    int main()
    {
    int x,y;
    printf("请输入x的值:\n");
    scanf("%d",&x);
    if(x<1)
    {y=x;
    printf("%d\n",y);}
    else if(1<=x<10)
    {y=2*x-1;
    printf("%d\n",y);}
    else
    {y = 3*x-11;
    printf("%d\n",y);}
    return 0;
    }
    

    8.给出一百分制成绩,要求输出成绩等级’A’,‘B’,‘C’,‘D’,‘E’。90分以上为’A’,80-89为’B’,70-79为‘C’,60-69为‘D’,60以下为‘E’。

    #include <stdio.h>
    int main()
    {
    int i,j;
    char c = 'A';
    printf("请输入成绩:\n");
    scanf("%d",&i);
    j=i/10;
    switch(j)
    {
    case 10:
    case 9:
    break;
    case 8:
    c=c+1;
    break;
    case 7:
    c = c+ 2;
    break;
    case 6:
    c=c+3;
    break;
    default:
    c= c+4;
    break;
    }
    printf("%c",c);
    return 0;
    }
    

    ##9.给一个不多于5位的正整数,要求: (1)求出它是几位数; (2)分别输出每一位数字; (3)按逆序输出各位数字。

    #include <stdio.h>
    #include <math.h>
    int main()
    {
    int i,j,k,l,m,n;
    do{
    printf("请输出一个不多于五位的正整数:\n");
    scanf("%d",&i);
    l = i;
    for(j = 0;i>1;j++)
    {
    	i = i / 10;
    }
    if(j>5)printf("请输入不多于五位数的正整数\n");
    }while(j>5);
    m= j-1;
    for(k = 0;k < j;k++)
    {
    	n = pow(10,m);
    	i = l/n;
    	i = i % 10;
    	printf("%d\n",i);
    	m--;
    }
    printf("--------\n");
    for(j = 0;l>1;j++)
    {
    k = l % 10;
    printf("%d\n",k);
    l = l / 10;
    }
    printf("一共有%d位数字\n",j);
    return 0;
    }
    

    10.略

    11.输入4个整数,要求由小到大的顺序输出。

    #include <stdio.h>
    int main()
    {
    int i, j, k, l,x,sign, temp,max;
    sign =-1;
    printf("请输入四个整数:\n");
    scanf("%d%d%d%d",&i,&j,&k,&l);
    max=i>j?i:j;
    max=max>k?max:k;
    max=max>l?max:l;
    if(max == i)
    {
    i = l;
    l = max;
    }
    if(max == j)
    {
    j = l;
    l = max;
    }
    if(max ==k)
    {
    k = l;
    l = max;
    }
    max=i>j?i:j;
    max=max>k?max:k;
    if(max == i)
    {
    i = k;
    k = max;
    }
    if(max ==j)
    {
    j = k;
    k = max;
    }
    max=i>j?i:j;
    if(max ==i)
    {
    i =j;
    j = max;
    }
    printf("-----\n");
    printf("%d\n",i);
    printf("%d\n",j);
    printf("%d\n",k);
    printf("%d\n",l);
    return 0;
    }
    
    展开全文
  • 本章介绍这些基本语句及其应用,使读者对C程序有一个初步认识, 为后面各章学习打下基础。 C程序的语句 C程序的执行部分是由语句组成。 程序功能也是由执行语句实现。 C语句可分为以下五类: 1....
  • 这种情况程序中是不允许c;不允许使用<code><iframe>、不允许<code><a>直接外跳到其他在线网页、不允许开发者触碰DOM、不允许使用某些未知危险API等。 所以遇到第一个问题是如何禁止用户...
  • 现代C++程序设计

    2012-07-10 23:29:45
    8.4.3 重载构造函数使用参数 8.4.4 基类和派生类析构函数 8.4.5 医生也是人 8.4.6 关于派生类和基类构造函数规则 8.5 多态和虚函数 8.5.1 多态——同一个接口,不同行为 8.5.2 什么是虚函数 8.5.3 虚...
  • 深入地分析了开发不包含逻辑和语法错误代码技巧以及调试程序的基本原理,介绍了开发和调试命令行代码过程和方法,说明了关于定位、分析及修复编程错误方法,介绍了开发 Visual C++程序时所遇到特殊...
  • 8.3.3 计算器中的异常 169 8.4 忠告 173 8.5 练习 173 第9章 源文件和程序 175 9.1 分别编译 175 9.2 连接 176 9.2.1 头文件 178 9.2.2 标准库头文件 179 9.2.3 单一定义规则 180 9.2.4 与非c++代码...
  • C++程序设计语言(特别版)--源代码

    热门讨论 2012-04-23 07:33:51
    提供是书中的源代码,非课后练习源代码。 本版本是高清版,是第1版第18次印刷,是书签最全最好版本。 基本信息 原书名: The C++ Programming Language, Special Edition 原出版社: Addison Wesley 作者: ...
  • 提供是本书课后习题源代码,也就是《C++程序设计语言(特别版)题解》源代码。非书源代码。 本版本是高清版,是第1版第18次印刷,是书签最全最好版本。 基本信息 原书名: The C++ Programming Language...
  • 设计了超过115个完整经过教学测试代码示例,不仅分析了这些示例代码片段,而且还解释了如何把它们组成一个完整的程序。此外,各章后面都提供了大量练习,有助于加强读者对相关内容理解。 本书图文并茂,...
  • Proteus仿真—40个单片机初学程序.

    热门讨论 2009-04-13 13:00:56
    作为单片机指令执行时间是很短,数量大微秒级,因此,我们要求闪烁时间间隔为0.2秒,相对于微秒来说,相差太大,所以我们执行某一指令时,插入延时程序,来达到我们要求,但这样延时程序是如何设计呢...
  • 实现中,assertion就是在程序中的一条语句,它对一个boolean表达式进行检查,一个正确程序必须保证这个boolean表达式值为true;如果该值为false,说明程序已经处于不正确状态下,系统将给出警告或退出。...
  • 枸杞由来和技术栈

    2021-01-02 15:11:32
    不得不说微软工程管理方面真的不知道比某些互联网公司高到哪里去了࿰c;no offense) <p>TypeScript 最近几个版本更新 feature 都相当有诚意࿰c;例如 Generic defaults࿰c;<code>keyof...
  • excel使用

    2012-11-25 17:06:01
    解决办法是:在C行后插入一个空列(如果D列没有内容,就直接在D列操作),在D1输入“=B1&C1;”,D1列内容就是B、C两列和了。选中D1单元格,用鼠标指向单元格右下角小方块“■”,当光标变成"+"后,按住...
  • 而是 web 应用所有数据与状态变化࿰c;几乎都来自「事件」。dom 事件࿰c;ajax 成功或失败事件࿰c;路由 change 事件࿰c; setTimeout 定时器事件࿰c;以及自定义事件。任意事件都可能产生...
  • Protel DXP 是第一套完整板卡级设计系统,真正实现单个应用程序中的 集成。设计从一开始目的就是为了支持整个设计过程,Protel DXP 让你可以 选择最适当设计途径来按你想要方式工作。Protel DXP PCB 线路...
  • LINGO软件学习

    2009-08-08 22:36:50
    LINGO,只有初始部分给出集属性值以后求解可更改。这与前面并不矛盾,初始部分是LINGO求解器需要,并不是描述问题所必须。 2.3.2 定义派生集 为了定义一个派生集,必须详细声明: •集名字 •...
  • 这个目录在VC6Tool-Options-Directories里设置,(当然,如果你知道这一步,也可以不用拷贝文件,直接在这里把oSIP源码包所在目录加进来就可以了),默认如果装在C盘,目录则为 C...
  • 翻译过程,译者感到此言不虚:作者从数据库基本概念到数据库建模,从如何运用规范化原则到如何做成实际数据库表,从如何保护数据库完整性到如何提高数据库性能,从数据库安全机制到并发事务控制,从...
  • 翻译过程,译者感到此言不虚:作者从数据库基本概念到数据库建模,从如何运用规范化原则到如何做成实际数据库表,从如何保护数据库完整性到如何提高数据库性能,从数据库安全机制到并发事务控制,从...
  • 需求分析是当前软件工程中的关键问题,需求分析阶段任务是:可行性分析基础上,进一步了解、确定用户需求。准确地回答 “系统必须做什么?” 问题。获得需求规格说 明书。还涉及到软件系统目标、软件系统...
  • 大量复杂程序在根本上都是建立”与“假”基本逻辑之上 而bool所表示的就是这种最单纯最本质True/Flase,与假,是与非。 来看下面例子: a = 1 < 3 print(a) b = 1 c = 3 print(b > c) 通过用...
  • 8.5 GoF:设计思考什么应该变化并封装会发生变化概念 98 8.6 小结 100 第9章 注重实践 101 9.1 统一编码风格 101 9.1.1 注释 102 9.1.2 命名类、方法和变量 103 9.1.3 编码标准好处 104 9.2 意图导向...

空空如也

空空如也

1 2 3 4 5
收藏数 92
精华内容 36
关键字:

在c程序中什么表示逻辑的真