本栏目下题库来源于互联网,轻速云承诺对于用户导入平台的题库是严格保密的,不会在此呈现!
轻速云给您提供更好的在线考试系统服务!
2005年9月全国计算机等级考试二级C语言笔试试题
1、【 单选题
有以下程序
 #include
 main()
 { char p[]={'a', 'b', 'c'}, q[10]={'a', 'b', 'c'};
 printf("%d %d\n", strlen(p), strlen(q));
 }
以下叙述中正确的是( )。 [1分]
在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3
由于p数组中没有字符串结束符,长度不能确定;但q数组中字符串长度为3
由于q数组中没有字符串结束符,长度不能确定;但p数组中字符串长度为3
由于p和q数组中都没有字符串结束符,故长度都不能确定
答案:
2、【 单选题
有以下程序,其中函数f的功能是将多个字符串按字典顺序排序
 #include
 void f(char *p[], int n)
 { char *t; int i,j;
 for(i=0; i for(j=i+1; j if(strcmp(p[i],p[j])>0){ t=p[i]; p[i]=p[j]; p[j]=t; }
 }
 main()
 { char *p[5]={"abc","aabdfg","abbd","dcdbe","cd"};
 f(p, 5);
 printf("%d\n", strlen(p[1]));
 }
程序运行后的输出结果是( )。 [1分]
2
3
6
4
答案:
3、【 单选题
有以下程序
 # include
 void f(char *s, char *t)
 { char k;
 k=*s; *s=*t; *t=k;
 s++; t--;
 if (*s) f(s, t);
 }
 main()
 { char str[10]="abcdefg", *p ;
 p=str+strlen(str)/2+1;
 f(p, p-2);
 printf("%s\n",str);
 }
程序运行后的输出结果是( )。 [1分]
abcdefg
gfedcba
gbcdefa
abedcfg
答案:
4、【 单选题
有以下程序
 float f1(float n)
 { return n*n; }
 float f2(float n)
 { return 2*n; }
 main()
 { float (*p1)(float),(*p2)(float),(*t)(float), y1, y2;
 p1=f1; p2=f2;
 y1=p2( p1(2.0) );
 t = p1; p1=p2; p2 = t;
 y2=p2( p1(2.0) );
 printf("%3.0f, %3.0f\n",y1,y2);
 }
程序运行后的输出结果是( )。 [1分]
8, 16
8, 8
16, 16
4, 8
答案:
5、【 单选题
有以下程序
 int a=2;
 int f(int n)
 { static int a=3;
 int t=0;
 if(n%2){ static int a=4; t += a++; }
 else { static int a=5; t += a++; }
 return t+a++;
 }
 main()
 { int s=a, i;
 for( i=0; i<3; i++) s+=f(i);
 printf("%d\n", s);
 }
程序运行后的输出结果是( )。 [1分]
26
28
29
24
答案:
6、【 单选题
有以下程序
 # include
 struct STU
 { int num;
 float TotalScore; };
 void f(struct STU p)
 { struct STU s[2]={{20044,550},{20045,537}};
 p.num = s[1].num; p.TotalScore = s[1].TotalScore;
 }
 main()
 { struct STU s[2]={{20041,703},{20042,580}};
 f(s[0]);
 printf("%d %3.0f\n", s[0].num, s[0].TotalScore);
 }
程序运行后的输出结果是( )。 [1分]
20045 537
20044 550
20042 580
20041 703
答案:
7、【 单选题
有以下程序
 # include
 struct STU
 { char name[10];
 int num; };
 void f(char *name, int num)
 { struct STU s[2]={{"SunDan",20044},{"Penghua",20045}};
 num = s[0].num;
 strcpy(name, s[0].name);
 }
 main()
 { struct STU s[2]={{"YangSan",20041},{"LiSiGuo",20042}},*p;
 p=&s[1]; f(p->name, p->num);
 printf("%s %d\n", p->name, p->num);
 }
程序运行后的输出结果是( )。 [1分]
SunDan 20042
SunDan 20044
LiSiGuo 20042
YangSan 20041
答案:
8、【 单选题
有以下程序
 struct STU
 { char name[10]; int num; float TotalScore; };
 void f(struct STU *p)
 { struct STU s[2]={{"SunDan",20044,550},{"Penghua",20045,537}}, *q=s;
 ++p ; ++q; *p=*q;
 }
 main()
 { struct STU s[3]={{"YangSan",20041,703},{"LiSiGuo",20042,580}};
 f(s);
 printf("%s %d %3.0f\n", s[1].name, s[1].num, s[1].TotalScore);
 }
程序运行后的输出结果是( )。 [1分]
SunDan 20044 550
Penghua 20045 537
LiSiGuo 20042 580
SunDan 20041 703
答案:
9、【 单选题
以下程序的功能是进行位运算
 main()
 { unsigned char a, b;
 a=7^3; b= ~4 & 3;
printf("%d %d\n",a,b);
 }
程序运行后的输出结果是( )。 [1分]
4 3
7 3
7 0
4 0
答案:
10、【 单选题
有以下程序
 #include
 main()
 { FILE *fp; int i, k, n;
 fp=fopen("data.dat", "w+");
 for(i=1; i<6; i++)
 { fprintf(fp,"%d ",i);
 if(i%3==0) fprintf(fp,"\n");
 }
 rewind(fp);
 fscanf(fp, "%d%d", &k, &n); printf("%d %d\n", k, n);
 fclose(fp);
 }
程序运行后的输出结果是( )。 [1分]
0 0
123 45
1 4
1 2
答案:
11、【 填空题
数据管理技术发展过程经过人工管理、文件系统和数据库系统三个阶段,其中数据独立性最高的阶段是 [每空2分]
答案: [""]
12、【 填空题
算法复杂度主要包括时间复杂度和 复杂度。 [每空2分]
答案: [""]
13、【 填空题
在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接模块(桩模块)。其中 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。 [每空2分]
答案: [""]
14、【 填空题
一棵二叉树第六层(根结点为第一层)的结点数最多为 个。 [每空2分]
答案: [""]
15、【 填空题
数据结构分为逻辑结构和存储结构,循环队列属于 结构。 [每空2分]
答案: [""]
16、【 填空题
以下程序运行后的输出结果是
 main()
 { int x=0210; printf("%X\n",x);
 } [每空2分]
答案: [""]
17、【 填空题
以下程序运行后的输出结果是
 main()
 { int a=1,b=2,c=3;
 if(c=a) printf("%d\n",c);
 else printf("%d\n",b);
 } [每空2分]
答案: [""]
18、【 填空题
已有定义:double *p;,请写出完整的语句,利用malloc函数使p指向一个双精度型 的动态存储单元 [每空2分]
答案: [""]
19、【 填空题
以下程序运行后的输出结果是
 main()
 { char c; int n=100;
 float f=10; double x;
 x=f*=n/=(c=50);
 printf("%d %f\n",n,x);
 } [每空2分]
答案: [""]
20、【 填空题
以下程序的功能是计算:s=1+12+123+1234+12345。请填空。
 main()
 { int t=0,s=0,i;
 for( i=1; i<=5; i++)
 { t=i+ ; s=s+t; }
 printf("s=%d\n",s);
 } [每空2分]
答案: [""]
21、【 填空题
已知字母A的ASCII码为65。以下程序运行后的输出结果是
 main()
 { char a, b;
 a='A'+'5'-'3'; b=a+'6'-'2' ;
 printf("%d %c\n", a, b);
 } [每空2分]
答案: [""]
22、【 填空题
有以下程序
 int sub(int n) { return (n/10+n%10); }
 main()
 { int x,y;
 scanf("%d",&x);
 y=sub(sub(sub(x)));
 printf("%d\n",y);
 }
若运行时输入:1234<回车>,程序的输出结果是 [每空2分]
答案: [""]
23、【 填空题
以下函数sstrcat(    )的功能是实现字符串的连接,即将t所指字符串复制到s所指字符串的尾部。例如:s所指字符串为abcd,t所指字符串为efgh,函数调用后s所指字符串为abcdefgh。请填空。
 # include
 void sstrcat(char *s, char *t)
 { int n;
 n= strlen(s);
 while (*(s+n)= ){s++; t++;}
 } [每空2分]
答案: [""]
24、【 填空题
以下程序运行后的输出结果是
 #include
 char *ss(char *s)
 { char *p, t;
 p=s+1; t=*s;
 while(*p) { *(p-1) = *p; p++;}
 *(p-1)=t;
 return s;
 }
 main()
 { char *p, str[10]="abcdefgh";
 p = ss(str) ;
 printf("%s\n",p);
 } [每空2分]
答案: [""]
25、【 填空题
以下程序运行后的输出结果是
 int f(int a[], int n)
 { if (n >= 1) return f(a, n-1)+a[n-1];
 else return 0;
 }
 main()
 { int aa[5]={1,2,3,4,5}, s;
 s=f(aa, 5); printf("%d\n", s);
 } [每空2分]
答案: [""]
26、【 填空题
以下程序运行后的输出结果是
 struct NODE
 { int num; struct NODE *next;
 } ;
 main()
 { struct NODE s[3]={{1, '\0'},{2, '\0'},{3, '\0'}}, *p, *q, *r;
 int sum=0;
 s[0].next=s+1; s[1].next=s+2; s[2].next=s;
 p=s; q=p->next; r=q->next;
 sum+=q->next->num; sum+=r->next->next->num;
 printf("%d\n", sum);
 } [每空2分]
答案: [""]
27、【 填空题
以下程序的功能是输出如下形式的方阵:
 13 14 15 16
 9 10 11 12
 5 6 7 8
 1 2 3 4
请填空。
 main()
 { int i,j,x;
 for(j=4; j ; j--)
 { for(i=1; i<=4; i++)
 { x=(j-1)*4 + ;
 printf("%4d",x);
 }
 printf("\n");
 }
 } [每空2分]
答案: [""]
28、【 填空题
以下函数rotate的功能是:将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中其他数据不变。
 # define N 4
 void rotate(int a[][N], int b[][N])
 { int i, j;
 for (i=0; i { b[i][N-1] = ; = a[N-1][i]; }
 } [每空2分]
答案: [""]
首页 12
2页,共68个题库
2页,共68个题库
轻速云给您提供更好的在线考试系统服务!
推荐
推荐题库
众多企事业单位的信赖之选
36万+企事业单位的共同选择
查看更多合作案例
众多企事业单位的信赖之选
开始使用轻速云组织培训考试
四步组织一场考试答题,一键搭建企业培训平台
免费使用 免费使用 预约演示
咨询热线
400-886-8169
周一到周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1 轻速云科技提供专业的在线考试系统、在线培训系统
联系我们
客服热线客服热线:400-886-8169 | 周一至周日 8:00-22:00
©2025 轻速云 苏ICP备16049646号-1
轻速云科技提供专业的在线考试系统、在线培训系统
在线咨询 400-886-8169