四川计算机二级第34次C语言笔试真题答案 联系客服

发布时间 : 星期四 文章四川计算机二级第34次C语言笔试真题答案更新完毕开始阅读

29 (A) tfbfj (B) turbo (C) bffjt (D) java

3. 读下面程序并回答问题:

#include \int func(int x) {

int y=0;

static int z=3; x=z++,y++; return x; }

void main() {

int a=2,i,b;

for(i=0;i<2;i++) b=func(a++); printf(\}

该程序运行的结果是( C )。 30 (A)2 (B) 3 (C) 4

4. 有下列程序(考点:函数(地址参数)、指针运算)

#include \int temp; void main() {

int fun(int n); int num,sum; num=5684; temp=num; sum=fun(num);

printf(\}

int fun(int n) {

int remind;

static int sum=0; if(n>=10) fun(n/10); remind=n; sum+=remind; if(temp>n) printf(\ else printf(\ return sum; }

(1)程序中的fun函数被调用次数为( C )。

(D) 5

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 5 页 共 11 页

31 (A)2 (B) 3 (C) 4 (D) 5 (2)程序的输出结果为( A )。 32 (A)5+6+8+4=23 (B) 5+6+8+4+=23 (C)4+8+6+5+=23 (D) 4+8+6+5=23

5. 读下面程序并回答问题。

#include \

char x[4][8]={\int a[4]={6,7,6,5}; void main() { int i;

char y[4][8]; FILE *fp;

fp=fopen(\ for(i=0;i<4;i++) fputs(x[i],fp); fclose(fp);

fp=fopen(\ for(i=0;i<4;i++) fgets(y[i],a[i],fp); fclose(fp);

for(i=0;i<4;i++) printf(\}

(1)程序运行的结果是( A ) 33 (A) First (B) First (C) “First” (D) Four Second First “Second” Third Third First “Third” Second Four First “Four” First (2)以下哪种说法是正确的( C )。

34 (A) TEST.txt仅在程序运行期间存在,程序结束后就没有了 (B) TEST.txt文件必须在程序运行之前建立好

(C) 如果TEST.txt文件不存在,程序运行中会自动建立TEST.txt文件 (D) TEST.txt始终是无内容的空文件

6. 读下面程序并回答问题。

#include \void main() {

char s[50]=\ int i,b[10]={0},cnt=0; for(i=0;s[i]!='\\0';i++) { if(s[i]>='0'&&s[i]<='9') b[s[i]-'0']++; else cnt++; }

printf(\

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 6 页 共 11 页

for(i=0;i<10;i++) printf(\}

(1)main函数中第一个printf输出cnt的值为( B ) 36 (A) 15 (B) 5 (C) 9 (D) 16 (2)该程序的功能是( C )

37 (A) 取出字符串中的数字子串连接起来

(B) 统计数字子串在字符串中出现的次数 (C) 将数字子串转换为整数并累加

(D) 将字符串中的数字字符转换为数字,结果加起来乘以10

7. 读下面程序,回答问题。

#include \int fun(int *a,int n) { if(n>1) return *a+fun(a+1,n-1); else return *a; }

void main() { int a[10]={1,2,3,4,5,6,7,8,9,10},s; s=fun(a+3,3); printf(\}

(1)函数fun与下面非递归程序等价的是( A )。

37 (A)int fun(int *a,int n) (B) int fun(int *a,int n) { { int i,s=0; int i,s=0; for(i=0;i

s=s+a[i]; s=s+*a;

return s; return s; } }

(C)int fun(int *a,int n) (D) int fun(int *a,int n) { { int i,s=0; int i,s=0; for(i=0;i

(2)程序的输出结果为( C )。

38 (A) 55 (B) 12 (C) 15 (D) 18

8. 读下面程序,回答问题。

#include \void sort(int a[],int n) {

int i,j,t;

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 7 页 共 11 页

for(i=0;ia[i]) {t=a[j];a[j]=a[i];a[i]=t;} }

void main() {

int x[10]={1,0,-76,4,8,12,65,100,-45,123}; int i;

sort(x+5,5);

printf(\}

(1)程序中sort函数的功能是( C )

39 (A)用起泡法对含有n个元素的数组a从小到大的排序 (B)用选择法对含有n个元素的数组a从小到大的排序

(C)用二分法对含有n个元素的数组a从小到大的排序 (D)用起泡法对含有n个元素的数组a从大到小的排序 (2)该程序的运行输出结果为( B ) 40 (A) -76 (B) -45 (C) 8 (D) 123 注意:① 请把下面“程序填空”中各小题答案写在主观题答题纸上 ② 每一个空只填一个语句或一个语句所缺的部分内容

三、程序填空 ( 每空2分,共30分 )

1. 程序中函数fun()的功能是:查找字符串str中指定字符ch出现的次数并返回,并将该字符出现时的下标位置记录于数据组bb中。例如在字符串\中查找字符'1',其结果为3次,下标分别为0,5,6。请填空。

#include \#define N 20

int fun(char *str,char ch,int *bb) { int i=0,n=0; while(*str) { if( str[i]==ch ) bb[ n++ ]=i; str++; i++; } return n ; }

void main() { char str[N],ch; int bb[N]={0},i,n; printf(\

四川省计算机二级考试第三十四次C与C++语言笔试试卷 第 8 页 共 11 页