《C语言程序设计》模拟试题

《C语言程序设计》模拟试题

一、单项选择题(每小题2分,共30分,请将每小题答案填在下面对应的横线上)

12345678910
1112131415

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分,请将每小题答案填在下面对应的横线上)

12345678910

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位小数

参考代码:

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

参考代码:

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;
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值