编程答案请参考:https://blog.csdn.net/Ares_song/article/details/107026084
一、2019年
选择
1.C 2.D 3.A 4.C 5.B 6.C 7.A 8.D 9.A 10.B
判断
11.对 12.错 13.错 14.对 15.错 16.错 17.对 18.错 19.错 20.错
注:
12题,字符串有’\0′,有效字符+1
16题,以形参为准
20题,只有定义变量的时候才会去分配存储空间
分析
21.
功能分析:寻找年龄最大的人,输出其姓名和年龄
运行结果: Liming,58
22.
功能分析:字符串str2是否在字符串str1中,在输出Yes!,不在输出No!
运行结果:(1)No! (2)Yes!
23.
功能分析:将输入的字符串中的大写字母改成小写,小写字母改成大写
运行结果:tHIS IS A TEST OF c pROGRAM lANGUAGE!
二、2018年
选择
1.B 2.C 3.A 4.D 5.A 6.D 7.B 8.C 9.C 10.B
判断
11.错 12.对 13.对 14.错 15.对 16.错 17.错 18.错 19.错 20.错
注:
11题,分号;是语句的一部分,不是语句的分割符
18题,循环嵌套中,外层循环成立后再进入内循环
19题,一个指针变量只能指向同一类型的变量
分析
21.
功能分析:先统计输入的字符串中各个字母的个数(不区分大小写),最后根据字母表顺序依次输出大写字母和对应的个数(这里的字母个数是大写加小写)
运行结果:
A - 2
E - 1
G - 1
H - 1
I - 2
K - 1
M - 1
O - 2
P - 1
R - 2
S - 3
T - 3
22.
功能分析:分别输出成绩最高与最低的学生的姓名与分数。
运行结果:
Max is: Wanghai, 93
Min is: Liuhong, 62
23.
功能分析:将输入的数据逆序输出
运行结果:54321
三、2017年
选择
1.C 2.A 3.D 4.A 5.D 6.A 7.C 8.B 9.A 10.D
注:
第8题,从右到左运算,先算a*a=9,此时a=3,a=a-9=-6,此时a=-6,最后运行a=a+a,即-6-6=-12
判断
11.错 12.错 13.错 14.对 15.错 16.错 17.错 18.对 19.错 20.对
分析
21.
功能分析:将输入的数降序排列
运行结果: 67 56 48
22.
功能分析:输出每个人的名字和对应的总分。
运行结果:
name: Zhangwei total=170.000000
name: Wangfeng total=150.000000
注:题目中的
k1
和k2
写错了,分别对应的是score1
和score2
23.
功能分析:输入15个数存入一个二维数组中,输出这15个数中的最大值和对应的下标。
运行结果:a[2][1]=92
四、2016年
选择
1.A 2.C 3.A 4.A 5.A 6.D 7.B 8.A 9.D 10.B
注:第四题,赋值语句必须有一个‘=’号,C中i- -严格来说不是,但他实现了i=i-1的功能,这样在功能上来说,算是赋值语句。但在选项中A更合适。B中少了分号,D强制转换错误,应该是y=(int) x;
判断
11.错 12.对 13.错 14.对 15.错 16.错 17.对 18.对 19.对 20.错
注:
16题,结构体成员可以是指针类型(比如链表)
19题,strlen()函数不计算’\0′,字符串实际多长就是多长;而sizeof求字符串大小的时候需要加上’\0′
分析
21.
功能分析:对两个数进行四则运算,其中若除数为0或运算符不为 + ,- ,*,/ 中的一种,则结果为 0。
运行结果:
(1)12 + 120 = 132
(2)60 / 3 = 20
22.
功能分析:对输入的 10个数进行由小到大升序排列(冒泡排序)
运行结果:
13 27 32 38 49 55 61 76 86 87
23.
功能分析:将字符串中小写字母转换成大写字母
运行结果:
Output: INTRODUCTION OF C++ LANGUAGE
五、2015年
填空
(1) 1
(2) test1.txt
(3) int FindMax(int x[N][M])
(4) max = FindMax(x);
(5) return max;
(6) printf(“%c”, a[i]);
(7) 字符型
(8) 变量 a, b 的值互换
(9) c = 10 + 2 * ( n – 1 )
(10) age(n)
(11) 题目有误,s1 为字符串常量,常量的值是不能被改变的(若将*s1,*s2改为s1[],s2[];则答案为4)
(12) 3
改错
10.
(1) char * p_str;
(2) if ((p_str=(char *)malloc(100)) == NULL)
(3) free(p_str);
11.
(4) void input(struct person * x);
(5) input(&y);
(6) void input(struct person * x)
12.
(7) double result = 0;
(8) result += 1.0 / fac;
13.
(9) int i;
(10) printf("*****\n");
分析
14.
功能分析:判断数组 a 和数组 b 对应位置是否相当,若相等,则结束;若不等,则输出 a 对应位置的元素
运行结果: 12 4 17 24 27
15.
功能分析:将字符串两两之间进行比较,升序排列
六、2014年
选择
1.B 2.A 3.A 4.C 5.B
判断
1.错 2.对 3.错 4.错 5.对
分析
1.
功能分析:求1~10中的偶数和与奇数和
2.
功能分析:将数组a中元素按从小到大的次序进行排序
3.
99101:89.3
99102:85.5
99103:96.8
99104:78.6
4.
功能分析:
打开文件 fname.dat ,如果打开失败则提示错误,并结束程序;如果成功打开该文件,则统计该文件中字符的个数并输出字符的个数。
5.
(1) person + 3
(2) old < p->age
6.
(1) i
(2) +(*(a+i))
7.
(1) x[i][i]
(2) x[i-1][j-1] + x[i-1][j]