第三章.顺序结构程序设计

文章目录

第三章.顺序结构程序设计

1.选择题

(1)已知int a,b;则执行语句scanf(“%d%d”),&a,&b);时,从键盘输入数据,不能作为分隔符的是(C.,)。

(2)执行语句printf(“%d\n”,(int)(6.4+2)/3);的结果是(B.2)。

(3)找出下面程序的错误并改正

在这里插入图片描述

3.分析下面的程序运行的结果

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

4.问答题

(1)什么是变量?变量的命名规则是什么?

变量:在程序运行期间能被改变的量。
命名规则
  1.标识符只能由字母、数字、下划线组成,首字母必须:字母或下划线。
  2.区分大小写
  3.不允许用关键字作标识符
  4.有最大长度限制,与编译器有关

(2)字符常量与字符串常量的区别是什么?

字符常量: 单引号括起来的一个字符。
字符串常量: 双引号括起的若干个字符。
其他:区别

(3)++k和k++在使用时的区别是什么?如有下面定义:int x=1,y=-1;,则语句printf(“x=%d”,x- -&&++y);的输出结果是什么?

++k:先计算再赋值
k++:先赋值再计算
输出结果:0。**&&:**且,相同返回1,不同返回0。
在这里插入图片描述

5.程序设计题

(1)从键盘读入矩形的长和宽的值,编程计算矩形的周长和面积,并将结果显示到屏幕上。

int main() {
	int a, b;
	int x, y;
	printf("键入长宽:");
	scanf("%d%d", &a, &b);
	x = 2 * a + 2 * b;
	y = a * b;
	printf("矩形的周长=%d,面积=%d", x, y);
	return 0;
}

在这里插入图片描述

(2)从键盘读入一个英文大写字母,将其转换成小写字母,并且将转换前后的字母及其ASCII码都显示到屏幕上。

int main() {
	char a;
	printf("输入一个大写字母:");
	scanf("%c", &a);
	printf("其小写字母:%c\n大写的ASCII码:%d\n小写的ASCII码:%d", a + 32, a, a + 32);
	return 0;
}

在这里插入图片描述

(3)编写一个程序实现以下功能:从键盘读入五个数num1、num2、num3、num4、num5,输出:(num1/num2的商)*num3+num4-num5,不需要考虑num2为0和计算结果溢出的情况。要求输出的结果中,整数部分宽度为6(不足6时以0补足)、小数部分宽度为8。

int main() {
	int num1, num2, num3, num4, num5;
	printf("键入5个数:");
	scanf("%d%d%d%d%d", &num1, &num2, &num3, &num4, &num5);
	printf("结果:%d", (num1 / num2) * num3 + num4 - num5);
	return 0;
}

在这里插入图片描述

(4)编写一程序实现以下功能:从键盘读入4个数据(一次为1个整数、2个字符、1个实数),然后按示例格式倒叙输出这4个数据。

int main() {
	int a;
	char b, c;
	float d;
	printf("键入数据:");
	scanf("%d%c%c%f", &a, &b, &c, &d);
	printf("其倒序:%f%c%c%d", d, c, b, a);
	return 0;
}

在这里插入图片描述

(5)编写一段程序实现以下功能:从键盘输入一日期,年月日之间以“-”分隔,并以同样的形式但以“/”作为分隔符输出。

int main() {
	char arr[10];
	int i;
	printf("键入年月日:");
	scanf("%s", arr);
	printf("输出:");
	for (i = 0; i <= 9; i++) {
		if (arr[i] == '-')
		{
			arr[i] = '/';
		}
		printf("%c", arr[i]);
	}
	return 0;
}

在这里插入图片描述

疑问:在这里插入图片描述

(6)编写一段程序实现以下功能:从键盘输入一个3位整数,逆序输出这个3位数。并且计算各个位上的数字之和。

int A(int x,int* y) {
	printf("%d", x % 10);
	if (x > 9) {
		A(x / 10, y);
	}
	*y = *y + (x % 10);
	return *y;
}
int main() {
	int a, b = 0;
	printf("输入3位的整数:");
	scanf("%3d", &a);
	printf("逆序:");
	b = A(a, &b);
	printf("\n和:%d", b);
	return 0;
}

在这里插入图片描述

(7)已知直角三角形的两条直角边,求第三条边。

int main() {
	int a, b;
	printf("两直角边:");
	scanf("%d%d", &a, &b);	
	printf("第三边:%.0lf", sqrt(a * a + b * b));
	return 0;
}

在这里插入图片描述

(8)分别用getchar()和scanf()函数输入2个不同的字符,用putchar()和printf()函数将这两个数输出,比较这几个函数对字符操作的不同。

scanf和getchar的区别
printf与putchard的区别

int main() {
	char a = 'a';
	char b = 'b';

	printf("输入两个字符:");
	a = getchar();
	scanf("%c", &b);
	
	printf("输出:");
	putchar(a);
	printf("%c", b);
	return 0;
}

在这里插入图片描述

(9)计算圆环面积:小圆和大圆的半径从键盘读入,输出要有文字说明,精确到小数点后三位。

#define p 3.14 //宏常量
int main() {
	float n, m, s;
	printf("一次输入内、外圆半径:\n");
	scanf("%f%f", &n, &m);
	s = p * ((m * m) - (n * n));
	printf("%.3f", s);
	return 0;
}

在这里插入图片描述

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值