参考解析:
(1)if((tt[i]>=?a?)&&(tt[i]<=?z?))
(2)tt[i]一=32;
【考点分析】
本题考查:if语句条件表达式;小写字母转大写字母的方法。
【解题思路】
(1)分析本题可知,要判断字符是否为小写字母,即判断其是否在a—z之间,所以这里需要进行连续的比较,用&&。(2)从ASCIl码表中可以看出,小写字母的ASCIl码值比对应大写字母的ASCIl值大32。将字符串中的小写字母改为大写字母的方法是:从字符串第一个字符开始,根据ASCIl码值判断该字母是不是小写字母,若是,则ASCIl码值减32即可。
四、程序设计题
43某学生的记录由学号、8门课程成绩和平均分组成,学号和8门课程的成绩已在主函数中给出,请编写函数fun,其功能是:求出该学生的平均分,并放入记录的ave成员中。
例如,学生的成绩是:85.5,76,69.5,85,91,72,64.5,87.5,则他的平均分应为78.875。注意:部分源程序在文件PROGl.C中。
请勿改动主函数main和其他函数中的任何内容,仅在函数fIm的花括号中填入你编写的若干语句。
参考解析:
void fun(STREC*a)
inti:
a一>ave=0.0:
fbr(i=0;iave=a—>ave+·一>s[i];/*求各门成绩的总和}/
a->ave/=N;/}求平均分*/}
【解题思路】
本题考查自定义形参的相关知识点,程序流程是这样的:在如n()函数中求出平均分后,返回到主函数时平均分也要带回,所以只能定义一个指针类型的形参STREC·a,此时,引用成员的方式可以使用指向运算符,即a一>ave和a—>s[i],当然也可用(*a),ave和(*a).S[i]。
模拟试题2
一、选择题
1以下函数实现按每行8个输出W所指数组中的数据:
在横线处应填人的语句是( )。
A.if(i/8==0)printf(”\\n”);
B.if(i/8==O)continue;
C.if(i%8==0)prinff(??\\n”);
D.if(i%8==0)continue;
参考答案:C
参考解析:要按照每行8个输出数据的话,横线处语句的功能应该为:当i是8的倍数时(即i%8==0),输出一个换行符。因此C选项正确。
2有以下程序:
在VC 6.0平台上编译运行,程序运行后的输出结果是( )。
A.10,6B.4,4C.2,4D.4。8
参考答案:D
参考解析:C语言中利用sizeof()函数判断数据类型长度,在VC 6.0平台中,整型int占有4个字节,doable型数据占有8个字节。
3有以下函数:
以下关于aaa函数功能叙述正确的是( )。
A.将串s复制到串t
B.比较两个串的大小
C.求字符串s的长度
D.求字符串s所占字节数
参考答案:C