《C语言程序设计》模拟试题
一、单项选择题(每小题2分,共30分,请将每小题答案填在下面对应的横线上)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
11 | 12 | 13 | 14 | 15 |
1、已知字符’A’的ASCII码值为65,若变量x为char型,以下不能正确判断出x为大写字母的表达式是( )。
A、x >= ‘A’ && x = ‘Z’ B、!(x >= ‘A’ || x <= ‘Z’)
C、(x + 32) >= ‘a’ && (x + 32) <= ‘z’ D、x >= 65 && x <= 90
2、下列关系表达式中,结果为“假”的是( )。
A、3 + 4 >= 6 B、(3 != 4) > 2 C、(1<= 2) || 0 D、3 < 4 == 1
3、下列名称中不能作为变量名或函数名的是( )。
A、hot_dog B、cat001 C、_pri D、2ab
4、设有定义语句int a[][3]={{0},{1},{2}};则数组元素a[1][1]的值是( )。
A、0 B、1 C、2 D、不确定
5、以下选项中,当整型变量x为大于1的奇数时,值不为0的表达式为( )。
A、x % 2 == 0 B、x / 2 == 0 C、2 / x D、x % 2
6、以下不合法的实数是( )。
A、1. B、1.23e+4 C、3e+0.5 D、.123
7、设有变量定义为:int a=0, b=1, c=2;,则下面的表达式中,值为1的表达式是( )。
A、a && b B、a >= b C、a || c && b > c D、a || b
8、设有变量定义为:a=1, b=2, c=3, d=4;,则表达式:“a < b ? a : c<d ? a : d”的值是( )。
A、1 B、2 C、3 D、4
9、表达式“3.6 - 1 / 4 + 1.5 - 5 % 2”的值是( )。
A、2.85 B、3.1 C、4.1 D、3.85
10、表达式“2 != 3 && 3 > 2”的值是( )。
A、true B、非零值 C、真 D、1
11、可以正确表达数学关系“x≥y≥z”的C语言表达式是( )。
A、x >= y && y >= z B. (x >= y) And (y >= z)
C、x >= y >= z D. (x >= y) & (y >= z)
12、下面正确的函数原型定义是( )。
A、void func(x, y) B、void func(int x, int y)
C、int func(int, int); D、int func(int x, y);
13、设有输入语句:scanf(“%d,%d”, &a, &b);,下面正确的输入是( )。
A、12 34 B、12,34 C、1234 D、a=12,b=34
14、设有变量定义为:int a=10, b=20, *p=&a, *q=&b;,则printf(“%d %d”, *p, *q);的输出结果是( )。
A、10 10 B、20 20 C、10 20 D、20 10
15、若a=3,则语句b=a++执行后a和b的值分别为( )。
A、3、4 B、4、3 C、4、4 D、3、3
二、程序阅读题(每小题2分,共20分,请将每小题答案填在下面对应的横线上)
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1、下面程序段的运行结果是( )。
void main() {
int x = 10, y = 10;
printf(“%d %d\n”, x–, --y);
}
A、10 10 B、9 9 C、9 10 D、10 9
2、有以下程序:
void main() {
int s;
scanf(“%d”, &s);
while (s > 0) {
switch (s) {
case 1:
printf(“%d”, s + 5);
case 2:
printf(“%d”, s + 4);
break;
case 3:
printf(“%d”, s + 3);
default:
printf(“%d”, s + 2);
break;
}
scanf(“%d”, &s);
}
}
运行时,若输入1 2 3 4 5 0<回车>,则输出结果是( )。
A、6566567 B、66656 C、66666 D、6666656
3、下列程序执行后的输出结果是( )。
void main() {
int i, a[6] = { 1,2,3,4,5,6 };
for (i = 5; i >= 0; i–)
a[i] *= 10 - i;
printf(“%d %d %d”, a[1], a[3], a[5]);
}
A、9 27 45 B、30 28 18 C、18 28 30 D、19 37 55
4、下面程序段的运行结果是( )。
void main() {
int k = 11;
printf(“%d %o %X\n”, k, k + 1, k + 2);
}
A、l1 12 13 B、ll 14 13 C、l1 014 0xD D、l1 14 D
5、下面程序段的运行结果是( )。
void main() {
int a = 2, b = -1, c = 2;
if (a < b)
if (b < 0)
c = 0;
else
c++;
printf(“%d”, c);
}
A、0 B、1 C、2 D、3
6、下面程序段的运行结果是( )。
void f(int* p) {
*p = 50;
}
void main() {
int a = 10, *q;
q = &a;
f(q);
printf(“%d”, a);
}
A、10 B、50 C、15 D、0
7、下面程序段的运行结果是( )。
void swap(int a, int b) {
int t;
t = a, a = b, b = t;
}
void main() {
int x = 10, y = 20;
swap(x, y);
printf(“%d %d\n”, x, y);
}
A、20 10 B、10 20 C、不确定结果 D、程序错误
8、下面程序段的运行结果是( )。
void main() {
int num = 1234, s = 1;
while (num != 0) {
s *= num % 10;
num /= 10;
}
printf(“%d”, s);
}
A、0 B、1 C、10 D、24
9、已经字符’A’的ASCII码是65,以下程序的输出结果是( )。
void main() {
double a = 5, x = 3.14;
x *= a + (‘E’ - ‘A’);
printf(“%lf\n”, x);
}
A、28.000000 B、19.000000 C、28.260000 D、19.700000
10、以下程序段的输出结果是( )。
void main() {
for (int k = 1; k < 5; k++) {
if (k % 2 != 0)
printf(“#”);
else
printf(“*”);
}
}
A、## B、## C、#### D、****
三、填空题(每空2分,共20分,请将每小题答案填在下面对应的横线上)
① | ② | ③ | ④ | ⑤ | |||||
---|---|---|---|---|---|---|---|---|---|
⑥ | ⑦ | ⑧ | ⑨ | ⑩ |
1、下面程序的功能是输入一个正整数n,并判断它是否为素数。
int main() {
int i, n;
printf("请输入一个大于1的正整数: ");
scanf(“%d”, ① );
for (i = 2; i <= n / 2; i++) {
if ( ② )
③ ;
}
if (i > n / 2 && n > 1)
printf(“%d 是素数!\n”, n);
④
printf(“%d 不是素数!\n”, n);
return 0;
}
2、下面程序的功能是求1到100中所有奇数的和,最后输出累加和的值。
void main() {
int sum, i;
⑤ ;
for (i = 1; i <= 99; ⑥ )
sum += i;
printf(“sum=%d\n”, ⑦ );
}
3、下面程序实现从键盘上输入10个整数,求其最大值。
void main() {
int i, n, max;
scanf( ⑧ , &n);
max = n;
for (i = 1; ⑨ ; i++) {
scanf(“%d”, &n);
if ( ⑩ )
max = n;
}
printf(“max=%d\n”, max);
}
四、程序设计题(每小题10分,共30分)
1、从键盘上输入一个正整数 n,计算并输出下面数列前 项的和,输出结果保留5位小数。
2、从键盘上输入10个整数存入一维数组中,然后计算并输出这10个数的最小值、最大值和平均值,其中输出的平均值保留2位小数。
3、从键盘上输入10个字符,统计其中的英文字母、数字、空格以及其他字符的个数。
输入样例:ab *1 3#(A
输出样例:
英文字母个数:3
数字个数:2
空格个数:2
其他字符个数:3。
《C语言程序设计》模拟试题参考答案
一、单项选择题(每小题2分,共30分)
1—5:B B D A D 6—10:C D A C D 11—15:A C B C B
二、程序阅读题(每小题2分,共20分)
1—5:D A C D C 6—10:B B D C A
三、填空题(每空2分,共20分)
① &n
② n%i==0
③ break
④ else
⑤ sum=0
⑥ i+=2 或者 i=i+2
⑦ sum
⑧ “%d”
⑨ i<=9 或者 i<10
⑩ max<n 或者 max<=n
四、程序设计题(每空小题10分,共30分)
1、数列前 n项和。从键盘上输入一个正整数 ,计算并输出下面数列前n项的和,输出结果保留5位小数。
参考代码:文章来源地址https://www.toymoban.com/news/detail-500437.html
int main() {
int i, n, b, f;
double s;
do {
printf("input n:");
scanf("%d", &n);
} while (n < 1);
f = 1, b = 1, s = 0;
for (i = 1; i <= n; i++) {
s += f * i * 1. / b;
f = -f;
b = 2 * i + 1;
}
printf("s=%.5lf", s);
return 0;
}
2、从键盘上输入10个整数存入一维数组中,然后计算并输出这10个数的最小值、最大值和平均值,其中输出的平均值保留2位小数。
参考代码:
int main() {
int a[10];
int i, max, min;
double avg;
printf("input 10 int:");
for (i = 0; i < 10; i++)
scanf("%d", &a[i]);
avg = min = max = a[0];
for (i = 1; i < 10; i++) {
if (a[i] < min)
min = a[i];
if (a[i] > max)
max = a[i];
avg += a[i];
}
avg /= 10;
printf("max is: %d, min is: %d, avg is: %.2lf\n", max, min, avg);
return 0;
}
3、从键盘上输入10个字符,统计其中的英文字母、数字、空格以及其他字符的个数。
输入样例:ab *1 3#(A
输出样例:
英文字母个数:3
数字个数:2
空格个数:2
其他字符个数:3文章来源:https://www.toymoban.com/news/detail-500437.html
参考代码:
int main() {
int a, b, c, d, i;
char ch;
a = b = c = d = 0;
for (i = 0; i < 10; i++) {
ch = getchar();
if (ch <= 'Z' && ch >= 'A' || ch <= 'z' && ch >= 'a')
a++;
else if (ch <= '9' && ch >= '0')
b++;
else if (ch == ' ')
c++;
else
d++;
}
printf("英文字母个数:%d\n数字个数:%d\n空格个数:%d\n其他字符个数:%d", a, b, c, d);
return 0;
}
到了这里,关于《C语言程序设计》模拟试题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!