C语言程序设计习题

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;
}
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值