2020年9月全国计算机等级考试真题(C语言二级)
第1题
有下列程序:
#include
main()
{
FILE*fp;int k,n,a[6]={1,2,3,4,5,6};
fp=fopen("d2.dat","w");
fprintf(fp,"%d%d%d\n",a[0],a[1],a[2]);
fprintf(fp,"%d%d%d\n",a[3],a[4],a[5]);
fclose(fp);
fp=fopen("d2.dat","r");
fscanf(fp,"%d%d",&k,&n);
printf("9%d%d\n",k,n);
fclose(fp);
}
程序运行后的输出结果是
A. 1 4
B. 123 456
C. 123 4
D. 1 2
正确答案:B
第2题
以下叙述中正确的是
A. 在赋值表达式中,赋值号的右边可以是变量,也可以是任意表达式
B. a是实型变量,a=10在C语言中是允许的,因此可以说:实型变量中可以存放整型数
C. 若有int a=4,b=9;执行了a=b后,a的值已由原值改变为b的值,b的值变为0
D. 若有int a=4,b=9;执行了a=b;b=a;之后,a的值为9,b的值为4
正确答案:A
第3题
已知字符‘A’的ASCII代码值是65,字符变量c1的值是A,c2的值是'D'。则执行语句 printf("%d,%d",c1,C2-2);的输出结果是
A. A:68
B. A,B
C. 65,66
D. 65,68
正确答案:C
第4题
设有定义:int a=1,b=2,c=3;以下语句中执行效果与其它三个不同的是
A. if(a>b)c=a;a=b;b=c;
B. if(a>b){c=a,a=b,b=c}
C. if(a>b)c=a,a=b,b=c;
D. if(a>b){c=a;a=b;b=c;}
正确答案:A
第5题
若有定义语句:double x,y,*px,*py;执行px=&x;py=&y;正确的输入语句是
A. scanf("%f%f"&x,&y);
B. scanf("%f%f",x,y);
C. scanf("%If%le",px,py);
D. scanf("9%lf%If",x,y);
正确答案:C
第6题
有三个关系R,S和T如下图所示,关系T违反了哪一类完整性约束()
A. 实体完整性约束
B. 参照完整性约束
C. 用户定义的完整性约束
D. 以上三项
正确答案:B
第7题
下列叙述中错误的是
A. 循环链表中有一个表头结点
B. 循环链表的存储空间是连续的
C. 循环链表实现了空表与非空表运算的统一
D. 循环链表的表头指针与循环链表中最后一个结点的指针均指向表头结点
正确答案:B
第8题
以下叙述中正确的是
A. "a"表示一个字符常量
B. '\0'表示字符0
C. 字符常量'a’、b'不能直接比较
D. '\" '是非法的
正确答案:D
第9题
下列叙述中正确的是
A. 算法的时间复杂度与运行算法时特定的输入有关
B. 算法的时间复杂度与计算机的运行速度有关
C. 算法的时间复杂度与算法程序中的语句条数成正比
D. 算法的时间复杂度与算法程序编制者的水平有关
正确答案:A
第10题
在数据库的三级模式中,可以有任意多个
A. 外模式
B. 模式
C. 内模式
D. 外模式和内模式
正确答案:A
第11题
循环队列的存储空间为Q(1:100),初始状态为front=rear=100。经过一系列正常的入队与退队操作后,front=rear=99,则循环队列中的元素个数为
A. 0或100
B. 1
C. 2
D. 99
正确答案:A
第12题
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是
A. 一对一
B. 一对多
C. 多对一
D. 多对多
正确答案:B
第13题
在希尔排序法中,每经过一次数据交换后
A. 能消除多个逆序
B. 只能消除一个逆序
C. 不会产生新的逆序
D. 消除的逆序个数一定比新产生的逆序个数多
正确答案:A
第14题
下列叙述中正确的是
A. 有的二叉树也能用顺序存储结构表示
B. 有两个指针域的链表就是二叉链表
C. 多重链表一定是非线性结构
D. 顺序存储结构一定是线性结构
正确答案:A
第15题
有以下程序段
int a,b,c;
a=10;b=50;c=30;
if(a>b)
a=b,b=c;c=a;
printf("a=%d b=%d c=%d\n",a,b,c);
程序的输出结果是
A. a=10 b=50 c=30
B. a=10 b=30 c=10
C. a=10 b=50 c=10
D. a=50 b=30 c=50
正确答案:C
第16题
有三个关系R,S和T如下图所示,则由关系R和S得到关系T的操作是:
A. 选择
B. 差
C. 交
D. 并
正确答案:C
第17题
下列叙述中正确的是
A. 两个连续的单引号(")是合法的字符常量
B. 可以对字符串进行关系运算
C. 两个连续的双引号(“ ”)是合法的字符串常量
D. 空字符串不占用内存,其内存空间大小是0
正确答案:C
第18题
有以下程序
#include
void main()
{
int a[]={2,3,5,4},i;
for(i=0;i<4;i++)
switch(i%2)
{
case 0:
switch(a[i]%2)
{case 0:a[i]++;break;
case 1:a[i]--;}
break;
case 1:a[i]=0;
}
for(i=0;i<4;i++)
printf("%d",a[i]);
printf("\n");
}
程序运行后的输出结果是
A. 2 0 5 0
B. 3 3 4 4
C. 3 0 4 0
D. 0 3 0 4
正确答案:C
第19题
有以下程序
#include
void main()
{
char b, c;
int i;
b='a';
c='A';
for (i=0; i<6; i++)
{
if(i%2) putchar(i+b);
else putchar(i+c);
}
printf("\n");
}
程序运行后的输出结果是
A. ABCDEF
B. aBcDeF
C. abcdef
D. AbCdEf
正确答案:D
第20题
有下列程序
#include
main()
{
FILE *fp; int a[10]={1, 2, 3}, i, n;
fp=fopen("d1.dat", "w");
for(i=0; i<3; i++)
fprintf (fp, "%d", a[i]);
fprintf (fp, "\n");
fclose (fp);
fp=open ("d1.dat", "r");
fscanf (fp, "%d" ,&n);
fclose(fp);
printf("%d\n",n);
}
程序的运行结果是
A. 12300
B. 123
C. 1
D. 321
正确答案:B
答案和更多内容请查看网站:
网站链接 【试卷中心 ---C/C++ ---二级】
青少年软件编程历年真题模拟题实时更新