(1)二级C是区分大小写的,在仔细阅读程序后,发现Null是一个错误的标识符。给a指针赋空值,空值的宏定义符号是NULL,因此应该改为:a = NULL;(2)按照语义是判断r和p指针是否相等,显然是错误的。因为本题是判断子串t是否在串s中出现,应该判定r和p所指内存中字符是否相同,因此应该改为if(*r==*p)。 三、编程题 请编写函数fun,其功能是:比较两个字符串的长度,函数返回较长的字符串。若两个字符串长度相等,则返回第1个字符串(不得使用C语言提供的求字符串长度的函数)。 例如,输入beijing 注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。 #include char *fun(char *s,char *t) { } main() { char a[20],b[10],*p,*q; int i; printf('Input 1th string: '); gets(a); printf('Input 2th string: '); gets(b); printf('%s',fun(a,b)); } 【答案及解析】 (1)本题主要考查for循环语句的概念。根据题意知,需要使用两个循环来实现,即第1个for循环的作用是求字符串s中字符的个数;第2个for循环的作用是求字符串t中字符的个数。然后进行比较即可。由于任何for循环都要控制一条语句,因此在每个for循环条件后面必须要加一个分号。 (2)按上述解析写出的函数是: char *fun(char *s,char *t) { int i,j; for(i=0;s[i]!='\0';i++); /*求字符串s的长度*/ for(j=0;t[j]!='\0';j++); /*求字符串t的长度*/ if(i>=j) return s; else return t; } 第二套: 题库名:程序设计基础总试题库.mdb 题数:167题 1、在语句cin>>data;中,cin是 (判断题) 所属章节:4.C语言二级考试题库 难度系数:1 A. C++的关键字 B. 类名 C. 对象名 D. 函数名 说明: 此写解题要点或对题目做说明。 2、假设整型变量a的值是1,b的值是2,c的值是3,在这种情况下执行下面的语句: u=(a==2)?b+a:c+a; 执行该语句后整型变量u的值为( )。 (单选题) 所属章节:4.C语言二级考试题库 难度系数:1 A. 0 B. 3 C. 4 D. 5 答案: C 说明: 此写解题要点或对题目做说明。 3、分析下面的代码: if(x>20||x<-10) if(y<=100&&y>x) printf('Good'); else printf('Bad'); 如果x=30,y=150,输出为( )。 (单选题) 所属章节:4.C语言二级考试题库 难度系数:1 A. Good B. Bad C. Good Bad D. Bad Good 答案: B 说明: 此写解题要点或对题目做说明。 4、分析下面的代码: #include void main() { |
|