计算机二级C语言考试公共基础知识(8)

2020-02-21 23:20

5、

#include

/*************found**************/ int fun(char *str,*substr) {

int i, j, k,num=0;

/*************found**************/ for(i=0,str[i],i++)

for(j=i,k=0;substr[k]==str[j];k++,j++) if(substr[k+1]=='\\0') {

num++; break; }

return num; }

void main()

{ char str[80],substr[80]; printf(\ gets(str);

printf(\ gets(substr);

printf(\}

【参考答案】

(1)int fun(char *str, char *substr) (2)for (i=0; str[i]; i++) 【解题思路】

从字符串s中找出子字符串的方法是:从第1个字符开始,对字符串进行遍历;若s串的当前字符等于t串的第1个字符,两个字符串的指针自动加1,继续比较下一个字符;若比较至字符串的末尾,则跳出循环;若s串的字符和t串的字符不对应相同,则继续对s串的下一个字符进行处理。 6、

36

#include

long fun (int a, int n) { int j ;

/**************found**************/ long s = 0, t = 1 ;

for ( j = 0 ; j < n ; j++) t = t * 10 + a ; s = t ;

for ( j = 1 ; j < n ; j++) { /**************found**************/ t = t % 10 ; s = s - t ; }

return(s) ; }

main( )

{ int a, n ;

printf( \ scanf( \

printf( \}

【参考答案】

(1)long s=0, t=0; (2)t=t/10; 【考点分析】

本题考查:变量赋初值操作;求余运算和除法运算的区别。 【解题思路】 (1) t用来存放每次循环后的多位数,第一次循环时,t应当是个位数,所以t的初始值应为0。 (2) 根据题意,这里不需要求余数,而是要去掉个位数,重新组合一个数,因此应用除法运

算。

【解题宝典】

37

去掉数值n的个位的方法是采用除法运算,如果需要取出个位数才使用求余运算,此知识我们不要混淆。 7、

#include #include

/************found************/ void fun (char s, char t) {

int i, d; d = strlen(s);

for (i = 0; i

for (i = 0; i

main() {

char s[100], t[100];

printf(\ fun(s, t);

printf(\}

【参考答案】

(1)void fun ( char *s , char *t ) (2)t[2]【考点分析】

本题考查:函数定义;指针型变量的使用;字符串结束标识符。 【解题思路】

(1)从调用函数来看,函数传递的是数组,所以函数的形参应为指针。 (2) 循环结束后回文字符的个数为2] 8、 9、

38

程序设计题: 1、

#include #include #include

unsigned fun(unsigned w) { }

void main() {

FILE *wf; unsigned x; system(\

printf(\ scanf (\

printf(\ if(x<10)

printf(\ else

printf (\/******************************/ wf=fopen(\ fprintf(wf,\ fclose(wf);

/*****************************/ }

【参考答案】

unsigned fun(unsigned w) {

if(w>=10000)

return w000; /*求出n位整数w的后n-1位的数*/ if(w>=1000) return w00; if(w>=100) return w0;

39

if(w>=10) return w; }

【考点分析】

本题考查:if语句条件表达式;如何表示数值的各个位的数。 【解题思路】

我们首先应该明白无符号整数的定义形式,若它大于10000(5位)时,用10000对它求余则结果为后4位;当它大于1000(4位)时,用1000对它求余则结果为后3位,依次类推。特别要注意这里所有的if()语句的顺序不能颠倒。 【解题宝典】

在C语言中,无符号基本型的类型说明符为unsigned int或unsigned,其取值范围为0~

16

65535,即0~(2-1),所以我们就可以分为5位数、4位数、3位数、2位数来分别进行判断,采用求余的方法来完成。 代码实现为: if(w>=10000)

return w000; if(w>=1000) return w00; if(w>=100) return w0; if(w>=10) return w; 2、

#include

void fun(int a, int b, long *c) { }

main()

{ int a,b; long c;void NONO (); printf(\ scanf(\ fun(a, b, &c);

printf(\ NONO(); }

void NONO ()

40


计算机二级C语言考试公共基础知识(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Adghgga中小企业财务管理现状及对策

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: