文章目录
- 第三章.顺序结构程序设计
- 1.选择题
- 3.分析下面的程序运行的结果
- 4.问答题
- 5.程序设计题
- (1)从键盘读入矩形的长和宽的值,编程计算矩形的周长和面积,并将结果显示到屏幕上。
- (2)从键盘读入一个英文大写字母,将其转换成小写字母,并且将转换前后的字母及其ASCII码都显示到屏幕上。
- (3)编写一个程序实现以下功能:从键盘读入五个数num1、num2、num3、num4、num5,输出:(num1/num2的商)*num3+num4-num5,不需要考虑num2为0和计算结果溢出的情况。要求输出的结果中,整数部分宽度为6(不足6时以0补足)、小数部分宽度为8。
- (4)编写一程序实现以下功能:从键盘读入4个数据(一次为1个整数、2个字符、1个实数),然后按示例格式倒叙输出这4个数据。
- (5)编写一段程序实现以下功能:从键盘输入一日期,年月日之间以“-”分隔,并以同样的形式但以“/”作为分隔符输出。
- (6)编写一段程序实现以下功能:从键盘输入一个3位整数,逆序输出这个3位数。并且计算各个位上的数字之和。
- (7)已知直角三角形的两条直角边,求第三条边。
- (8)分别用getchar()和scanf()函数输入2个不同的字符,用putchar()和printf()函数将这两个数输出,比较这几个函数对字符操作的不同。
- (9)计算圆环面积:小圆和大圆的半径从键盘读入,输出要有文字说明,精确到小数点后三位。
第三章.顺序结构程序设计
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;
}