二级C语言笔试-40
(总分86,考试时间90分钟)
一、选择题
下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的。
1. 下列对于软件测试的描述中正确的是______。
A. 软件测试的目的是证明程序是否正确
B. 软件测试的目的是使程序运行结果正确
C. 软件测试的目的是尽可能地多发现程序中的错误
D. 软件测试的目的是使程序符合结构化原则
2. 有以下程序
#include <stdio.h>
void WriteStr(char *fn,char *str)
FILE *fp;
fp=fopen(fn,"w");fputs(str,fp);fclose(fp);
main()
WriteStr("t1.dat","start");
WriteStr("t1.dat","end");
程序运行后,文件t1.dat中的内容是______。
A. start B. end
C. startend D. endrt
3. 以下选项中,不能作为合法常量的是______。
A. 1.234e04 B. 1.234e0.4
C. 1.234e+4 D. 1.234e0
4. 有以下程序
main()
char s[]="159",*p;
p=s;
printf("%c",*p++);printf("%c",*p++);
程序运行后的输出结果是______。
A. 15 B. 16
C. 12 D. 59
5. 有以下程序
main()
int a[3][3],*p,i;
p=&a[0][0];
for(i=0;i<9;i++)p[i]=i;
for(i=0;i<3;i++)printf("%d",a[1][i]);
程序运行后的输出结果是______。
A. 0 1 2 B. 1 2 3
C. 2 3 4 D. 3 4 5
6. 有以下程序
字符串长度0到59 main()
int a[]=(1,2,3,4,5,6,7,8,9,0),*p;
for(p=a;p<a+10;p++) printf("%d,",*p);
程序运行后的输出结果是______。
A. 1,2,3,4,5,6,7,8,9,0,
B. 2,3,4,5,6,7,8,9,10,1,
C. 0,1,2,3,4,5,6,7,8,9,
D. 1,1,1,1,1,1,1,1,1,1,
7. 数据独立性是数据库技术的重要特点之一。所谓数据独立性,是指______。
A. 数据与程序独立存放 B. 不同的数据被存放在不同的文件中
C. 不同的数据只能被对应的应用程序所使用 D. 以上三种说法都不对
8. 设有如下说明
typedef struct ST
long a; int b;char c[2]; NEW;
则下面叙述中正确的是______。
A. 以上的说明形式非法 B. ST是一个结构体类型
C. NEW是一个结构体类型 D. NEW是一个结构体变量
9. 有以下程序
int f1(int x,int y)return x>y?x:y;
int f2(int x,int y)return x>y?y:x;
main()
int a=4,b=3,c=5,d=2,e,f,g;
e=f2(f1(a,b),f1(c,d)); f=f1(f2(a,b),f2(c,d));
g=a+b+c+d-e-f;
printf("%d,%d,%d\n",e,f,g);
程序运行后的输出结果是______。
A. 4,3,7 B. 3,4,7
C. 5,2,7 D. 2,5,7
10. 以下选项中可作为C语言合法常量的是______。
A. -80. B. -080
C. -8e1.0 D. -80.0e
11. 已有定义:char a[]="xyz",b[]='x','y','z';,以下叙述中正确的是______。
A. 数组a和b的长度相同 B. a数组长度小于b数组长度
C. a数组长度大于b数组长度 D. 上述说法都不对
12. 有以下程序
main()
int a=1,b;
for(b=1;b<=10;b++)
if(a>=8)break;
if(a%2==1)(a+=5;continue;
a-=3;
printf("%d\n",b);
程序运行后的输出结果是______。
A. 3 B. 4
C. 5 D. 6
13. 以下叙述中正确的是______。
A. 预处理命令行必须位于源文件的开头 B. 在源文件的一行上可以有多条预处理命令
C. 宏名必须用大写字母表示 D. 宏替换不占用程序的运行时间
14. 有以下函数
fun(char *a,char *b)
while((*a!='\0')&&(*b!='\0')&&(*a==*b))
a++; b++;
return(*a-*b);
该函数的功能是______。
A. 计算a和b所指字符串的长度之差
B. 将b所指字符串连接到a所指字符串中
C. 将b所指字符串连接到a所指字符串后面
D. 比较a和b所指字符串的大小
15. 以下对结构体类型变量td的定义中,错误的是______。
A. typedef struct aa
int n;
float m;
AA;
AA td;
B. struct aa
int n;
float m;
td;
struct aa td;
C. struct
int n;
floatm;
aa;
struct aa td;
D. struct
int n;
float m;
td;
16. 以下语句或语句组中,能正确进行字符串赋值的是______。
A. char *sp;*sp="right!";
B. char s[10];s="right!";
C. char s[10];*s="right!";
D. char sp="right!";
17. 为了使模块尽可能独立,要求______。
A. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强
B. 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱
C. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱
D. 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强
18. 有以下程序
main()
char a[7]="a0\0a0\0"; int i,j;
i=sizeof(
A. ; j-strlen(a);<b 19. 若有以下说明和定义
union dt
int a;char b; double c;data;
以下叙述中错误的是______。
A. data的每个成员起始地址都相同
B. 变量data所占的内存字节数与成员c所占字节数相等
C. 程序段:data.a=5;printf("%f\n",data.c);的输出结果为5.000000
D. data可以作为函数的实参
20. 对长度为n的线性表进行顺序查,在最坏的情况下所需要的比较次数为______。
A. log2n B. n/2
C. n D. n+1
21. 以下叙述中正确的是______。
A. 用C语言实现的算法必须要有输入和输出操作
B. 用C语言实现的算法可以没有输出,但必须要有输入
C. 用C程序实现的算法可以没有输入,但必须要有输出
D. 用C程序实现的算法可以既没有输入,也没有输出
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论