6[单选题] 有以下程序:
程序运行后的输出结果是( )。
A.0 3 0 4B.2 0 5 0C.3 3 4 4D.3 0 4 0
参考答案:D
参考解析:第一次循环i为0,i%2为o,执行switch(a[O]%2)中的ca∞0语句后内容即a[0]++,a[0]的值变成3;第二次循环i的值为l,i%2为1,执行ca∞1:a[i]=0;所以a[1]的值变成0;第三次循环i的值为2,i%2为0,执行switch(a[2]%2)中的ca∞1语句后的内容a[2]一一,8[2]的值变成4;第四次循环i的值为3,i%2为1,执行casel:a[i]=0;所以a[3]的值变成0。
7[单选题] 有以下程序
程序运行后的输出结果是
A.7B.6C.9D.2
参考答案:A
参考解析:宏定义只作简单的替换,输出中D(i+j)表达式执行运算为2*i+j+3,代人i,j,答案为A选项。
8[单选题] 有以下程序-
程序运行后的输出结果是( )。
A.4B.2C.8D.1
参考答案:C
参考解析:在c语言中,需要在main函数后面定义函数,需要提前声明,否则调用报错,无法找到该函数。HI=f(f(f(n))),一共调用3次f()函数,f()函数是对n:it2,因此,结果是n}2}2$2,得到结果为8。故答案为c选项。
9[填空题]下列给定程序中,函数fun的功能是:从形参SS所指字符串数组中,删除所有串长超过k的字符串,函数 返回剩余字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。
请在程序的下划线处填入正确的内容并将下划线删除,使程序得出正确的结果。注意:部分源程序在文件BLANKl.C中。
不得增行或删行.也不得更改程序的结构!
参考解析:
(1)N
(2)k
(3)ss[i]
【考点分析】
本题考查:for循环语句;ff语句条件表达式;字符串拷贝 函数strcpy的使用。
【解题思路】
填空1:for循环语句作用是遍历字符串数组中的每一个字符串,所以循环变量i的循环条件是i
填空2:题目要求删除串长度小于k的字符串,所以if条件语句的条件表达式是len<=k。。填空3:通过字符串拷贝函数将串长不大于k的字符串另存,并记录个数。
【解题宝典】
字符串拷贝函数strcpy,其格式为:strcpy(字符数组名1,字符数组名2)功能:把字符数组2中的字符串拷贝到字符数组l中。字符串结束标识‘、0’也一同拷贝。字符数名2,也可以是一个字符串常量。这时相当于把一个字符串赋予一个字符数组。
10[简答题]请编写函数fun,其功能是分别统计形参t所指二维数组中字母A和c的个数。
注意:部分源程序存在PROGl.C中,请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所缩写的若干语句。
试题程序:
参考解析:
int i=0,j=0;//循环统计的下标
【考点分析】
主要考察考生对多重循环的理解与使用,以及字符串的比较。
【解题思路】
对二维数组的行列分别循环,行优先,查找数组中元素为A或者C,分别对其进行计数。
相关推荐:
北京 | 天津 | 上海 | 江苏 | 山东 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
广东 | 河北 | 湖南 | 广西 | 河南 |
海南 | 湖北 | 四川 | 重庆 | 云南 |
贵州 | 西藏 | 新疆 | 陕西 | 山西 |
宁夏 | 甘肃 | 青海 | 辽宁 | 吉林 |
黑龙江 | 内蒙古 |