1.概念填空题
(1)文字描述:
1.定义三个整数变量m,n,w,把m赋值23,n赋值5;
2.根据表达式得出的值赋值给w;
3.输出w,此时w是表达式的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int m = 23, n = 5, w;
w = !m + m % n;
printf("w=%d", w);
return 0;
}
(6)
1.定义三个整数变量x,y,z,分别赋值1,2和0;
2.若(x>y)&&(--x>0)转第三步,否则转第四步;
3.把x的值赋给z,再把z的值赋给x;
4.输入x,此时就是判断式子的值;
5、结束。
流程图
#include<stdio.h>
int main()
{
int x = 1, y = 2, z = 0;
if ((x > y) && (--x > 0))
{
z = x;
x = z;
}
printf("x=%d", x);
return 0;
}
(15)
1.定义三个整型变量a,b,c,分别赋值0,3和2;
2.判断a++&&b++,转第三步,否则转第四步;
3.c的值自减一个数;
4.判断a+1==b||b--,转第五步,否则转第六步;
5.c的值自加一个数;
6.输入a,b,c此时就是判断式子的值;
7、结束。
流程图
#include<stdio.h>
int main()
{
int a = 0, b = 3, c = 2;
if (a++ && b++)
{
c--;
}
else if (a + 1==6 || b--)
{
c++;
}
printf("a=%d,b=%d,c=%d", a, b, c);
return 0;
}
(16)
1.定义四个整型变量a,b,c,d,前三位分别赋值33,22和11;
2.判断sqrt(fabs(a))!=4*a/b/c是否成立,成立转第三步,否则转第四步;
3.把a的值赋值给d;
4.把c的值赋值给d;
5.输出d,此时d就是表达式的值;
6、结束。
流程图
#include<stdio.h>
#include<math.h>
int main()
{
int a = 33;
int b = 22;
int c = 11, d;
if (sqrt(fabs(a)) != 4 * a / b / c)
{
d = a;
}
else
{
d = c;
}
printf("d=%d", d);
return 0;
}
(17)
1.定义三个整数变量a,b,c分别赋值0,0和0;
2.判断根据表达式分别给a,b,c变量赋值;
3.输出a,b,c,此时就是表达式的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int a = 0, b = 0, c = 0;
if (a++ && (b += a) || ++c)
printf("a=%d,b=%d,c=%d\n", a, b, c);
return 0;
}
2.单项选择题
(8)
1.定义四个整数变量下x,y,a,b,给x,y分别赋值0,0;
2.定义一个输入函数,并把x和y输入;
3.若x>y,转第四步,否则转到第五步;
4.把x的值赋值给a,把y的值赋值给b;
5.把y的值赋值给a,把x的值赋值给b;
6.输入a,b,此时a就是较大值,b就是较小值;
7、结束。
流程图
#include<stdio.h>
int main()
{
int x = 0, y = 0, a, b;
scanf_s("%d%dd", &x, &y);
if (x > y)
{
a = y;
b = y;
}
else
{
a = x;
b = x;
}
printf("较大的数a=%\n", a);
printf("较小的数b=%d\n", b);
return 0;
}
(10)
1.定义四个整数变量a,b,c,x,给a,b,c分别赋值3,3,2;
2.将表达式(!a&&!b&&c)赋值给x;
3.输出x,此时就是以上式子的值;
4.将表达式(!a||!b||c)赋值给x;
5.输出x,此时就是以上式子的值;
6.将表达式(a>=b&&b>c)赋值给x;
7.输出x,此时就是以上式子的值;
8.将表达式(a>=b&&b>c)赋值给x;
9.输出x,此时就是以上式子的值;
10、结束。
流程图
#include<stdio.h>
int main()
{
int a = 3, b = 3, c = 3,x;
x = (!a && !b && c);
printf("%d\n", x);
x = (!a || !b || c);
printf("%d\n", x);
x = (a == b && b >= c);
printf("%d\n", x);
x = (a >= b && b > c);
printf("%d\n", x);
return 0;
}
(17)
1.定义一个整数变量n,并赋值为8;
2.根据表达式把赋值给n;
3.输出n,此时就是表达式的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int n = 8;
n %= n - 2;
printf("n=%d", n);
return 0;
}
(18)
1.定义三个整型变量x,a,b,给a,b赋值为3,2;
2.根据表达式把赋值给x;
3.输出x,此时就是表达式的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int x, a = 3, b = 2;
x = a > b++ ? a++ : b++;
printf("x=%d,a=%D,d=%d", x, a, b);
return 0;
}
(20)
1.定义三个整数变量x,y,z并分别赋值为4,3,5;
2.判断x是否大于y,并进行赋值运算;
3.输出x,y,z,此时就是表达式的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int x = 4, y = 3, z = 5;
if (x > y)z + x; x = y; y = x;
printf("x=%d,y=%d,z=%d\n", x, y, z);
return 0;
}
(24)
1.定义两个整数变量a和b,并分别赋值0和2;
2.把表达式得出来的赋值给b;
3.输出b,此时就是表达的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int a = 0, b = 2;
b = --a || ++b;
printf("b=%d", b);
return 0;
}
(25)
1.定义两个整型变量分x,s给x赋值为0;
2.把表达式得出来的赋值给s;
3.输出s,此时就是表达式的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int x = 0, s;
s = x <= 0 ? -1 : (x == 0) ? 0 : 1;
printf("s=%D\n", s);
return 0;
}
3.阅读程序题
(1)
1.定义整数变量分x,y,z,分别赋值为0,1和10;
2.判断x是否为0和非0,此时x为0,不执行下列语句;
3.输出z,此时就是判断的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int x = 0, y = 1, z = 10;
if (x)
if (y)
z = 20;
else
z = 30;
printf("%d\n", z);
return 0;
}
(3)
1.定义整数变量分x,y,z分别赋值为0,0,0;
2.根据逻辑运算符进行赋值运算;
3.输出x,y,z,此时就是运算的值;
4、结束。
流程图
#include<stdio.h>
int main()
{
int x = 0, y = 0, z = 0;
if (x++ && (y += x) || ++z);
printf("%d,%d,%d\n", x, y, z);
return 0;
}
4.编程题
(1)
1.定义整数变量a并赋值为0;
2.声明一个输出函数,将a的值输入;
3.判断输入的值是否能被2取余为0;
4.能输出就是偶数字样,否则不能输出不是偶数字样;
5、结束。
流程图
#include<stdio.h>
int main()
{
int a = 0;
scanf_s("%d", &a);
if (a % 2 == 0)
printf("%d是偶数", a);
else
printf("%d不是偶数", a);
return 0;
}
(2)
1.定义双精度浮点型变量a,b,c,并分别赋值0.0;
2.声明一个输入函数,并且存入a,b,c中;
3.判断a的值是否大于CV常量,不大于就输出“该方程不是一元二次方程”;
4.根据比表达式将得出来的值赋值给disc;
5.判断disc和CV的值得大小,大于就输出一个解的值;
6.再次吧判断disc和CV的值得大小, 声明一个输出函数,输出这个一元二次方程两个解时的值;
7.以上判断都为否输出“无解”,此时该式子无解;
8、结束。
流程图
#include<stdio.h>
#define CV 0.1
int main()
{
double a = 0.0, b = 0.0, c = 0.0;
scanf_s("%lf %lf %lf", &a, &b, &c);
if ((a > -CV) && (a < CV))
{
printf("该方程不是一元二次方程\n");
}
else
{
double disc = b * b - 4 * a * c;
if ((disc) > -CV && (disc < CV))
{
printf("一个解:%lf\n", -b / (2 * a));
}
else if (disc >= CV)
{
printf("两个解:%lf%lf\n", (-b + disc) / (2 * a), (-b - disc) / (2 * a));
}
else
{
printf("无解\n");
}
}
return 0;
}