计算机二级C题目考察哪些呢?以下是小编整理的计算机二级C语言笔试题目,欢迎参考。
1. 下列叙述中正确的是
A 线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的
B 线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构
C 线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构
D 上述三种说法都不对 答案:B
2. 下列叙述中正确的是
A 在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化
B 在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化
C 在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化
D 上述三种说法都不对 答案:C
3. 软件测试的目的是
A 评估软件可靠性 B 发现并改正程序中的错误 C 改正程序中的错误
D 发现程序中的错误 答案:B
4. 下面描述中,不属于软件危机表现的是
A 软件过程不规范 B 软件开发生产率低 C 软件质量难以控制
D 软件成本不断提高 答案:A
5. 软件生命周期是指
A 软件产品从提出、实现、使用维护到停止使用退役的过程
B 软件从需求分析、设计、实现到测试完成的过程 C 软件的开发过程
D 软件的运行维护过程 答案:A
6. 面向对象方法中,继承是指
A 一组对象所具有的相似性质 B 一个对象具有另一个对象的性质 C 各对象之间的共同性质 D 类之间共享属性和操作的机制 答案:D
7. 层次型、网状型和关系型数据库划分原则是
A 记录长度 B 文件的大小 C 联系的复杂程度
D 数据之间的联系方式 答案:D
8. 一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是
A 一对一B 一对多C 多对多D 多对一 答案:C
9. 数据库设计中反映用户对数据要求的模式是
A 内模式B 概念模式C 外模式D 设计模式 答案:C
10. 有三个关系R、S和T如下:则由关系R和S得到关系T的操作是
A 自然连接B 交C 投影D 并 答案:A
11. 以下关于结构化程序设计的叙述中正确的是
A 一个结构化程序必须同时由顺序、分支、循环三种结构组成
B 结构化程序使用goto语句会很便捷 C 在C语言中,程序的模块化是利用函数实现的
D 由三种基本结构构成的程序本文由论文联盟https://www.LWLm.coM收集整理只能解决小规模的问题 答案:C
12. 以下关于简单程序设计的步骤和顺序的说法中正确的是
A 确定算法后,整理并写出文档,最后进行编码和上机调试
B 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C 先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构 答案:D
13. 以下叙述中错误的是
A C程序在运行过程中所有计算都以二进制方式进行 B C程序在运行过程中所有计算都以十进制方式进行 C 所有C程序都需要编译链接无误后才能运行
D C程序中整型变量只能存放整数,实型变量只能存放浮点数 答案:B
14. 有以下定义:inta; longb; doublex,y;则以下选项中正确的表达式是
A a%(int)(x-y) B a=x!=y; C (a*y)%b D y=x+y=x 答案:C
15. 以下选项中能表示合法常量的是
A 整数:1,200 B 实数:1.5E2.0 C 字符斜杠:‘\’ D 字符串:"\007" 答案:C
16. 表达式a+=a-=a=9的值是
A 9 B _9 C 18 D 0 答案:D
17. 若变量已正确定义,在if (W)printf(“%d\n,k”);中,以下不可替代W的是
A a<>b+c B ch=getchar() C a==b+c D a++ 答案:A
18. 有以下程序
#include
main()
{inta=1,b=0;
if(!a) b++;
elsEif(a==0)if(a)b+=2;
elseb+=3;
printf(”%d\n”,b);
}
程序运行后的输出结果是
A 0 B 1 C 2 D 3 答案:C
20. 有以下程序
#include
main()
{int a=1,b=2;
while(a<6){b+=a;a+=2;b%二10;}
printf(”%d,%d\n”,a,b);
}
程序运行后的输出结果是
A 5,11 B 7,1 C 7,11 D 6,1 答案:D
21. 有以下程序
#include
main()
{int y=10;
while(y--);
printf(”Y=%d\n”,Y);
}
程序执行后的输出结果是
A y=0 B y= -1 C y=1 D while构成无限循环 答案:B
22. 有以下程序
#include
main()
{char s[」=”rstuv";
printf(”%c\n”,*s+2);
}
程序运行后的输出结果是
A tuv B 字符t的ASCII码值 C t D 出错 答案:D
23. 有以下程序
#include
#include
main()
{char x[]=”STRING”;
x[0」=0;x[1]=’\0’;x[2」=’0’;
printf(”%d%d\n”,sizeof(x),strlen(x));
}
程序运行后的输出结果是
A 61 B 70 C 63 D 71 答案:B
24. 有以下程序
#include
Int f(intx);
main()
{intn=1,m;
m=f(f(f(n)));printf(”%d\n”,m);
}
intf(intx)
{returnx*2;}
程序运行后的输出结果是
A 1 B 2 C 4 D 8 答案:D
25. 以下程序段完全正确的是
A int *p;scanf("%d",&p); B int *p;scanf(“%d”,p);
C int k, *p=&k;scanf("%d",p); D int k, *p:;*p= &k; scanf(“%d”,p); 答案:D
26. 有定义语句:int *p[4];以下选项中与此语句等价的是
A intp[4]; B int**p; C int*(p「4」); D int (*p)「4」; 答案:D
27. 下列定义数组的语句中,正确的是
A B C intx[0..10]; D int x[]; 答案:B
28. 若要定义一个具有5个元素的整型数组,以下错误的定义语句是
A inta[5]=﹛0﹜; B intb[]={0,0,0,0,0}; C intc[2+3]; D inti=5,d[i]; 答案:A
29. 有以下程序
#include
voidf(int *p);
main()
{inta[5]={1,2,3,4,5},*r=a;
f(r);printf(”%d\n”;*r);
}
void f(int *p)
{p=p+3;printf(”%d,”,*p);}
程序运行后的输出结果是
A 1,4 B 4,4 C 3,1 D 4,1 答案:D
【考点1】结构体类型的说明
结构体是若干个类型数据的集合,
结构体类型说明格式:
struct 类型名 {类型1 成员名1;类型2 成员名2;……};,以上整个部分是一个数据类型,与整型的int是同样地位。可用typedef把结构体类型替换成一个只有几个字母的简短标识符。
【考点2】结构体变量的定义
结构体变量是用说明的结构体类型所定义的一个变量,与结构体类型不是一回事。一个结构体变量所占字节数为其所有成员所占字节数之和。如struct stu{char name[10];int age;} a,b;则表明定义了两个结构体变量a,b,每个变量占14个字节。a,b与int i,j;中的变量i,j是同样地位。typedef 考的很多(教材150页例6)。
【考点3】结构体成员的引用
引用成员可用以下3种方式:(1)结构体变量名.成员名;(2)指针变量名->成员名:(3)(*指针变量名).成员名。点(.)称为成员运算符,箭头(->)称为结构指向运算符。
【考点4】共用体
共用体的使用格式与结构体相似,共用体定义的关键字为union,共用体所占字节数是所有成员中字节数最大的那个。
union TT
{ int a;
char ch[2];} t1 ;
main()
{t1.a=0x1234;
printf("%x\n",t1.ch[0] );
printf("%x\n",t1.ch[1] );}
考点一: sizeof (struct TT) = 2;
考点二: TT t1 ; t1.a=0x1234;
那么 ch[0]=0x 34; ch[1]=0x12
结构体和共用体以及链表要掌握最简单的。typedef 考的很多,而且一定要知道如何引用结构体中的各个变量,链表中如何填加和删除节点,以及何如构成一个简单的链表,一定记住链表中的节点是有两个域,一个放数值,一个放指针。
【考点5】链表
链表是由一个个结点构成的,一个结点就是一个结构体变量。每个结点可以分为数据域与指针域两个部分,数据域用来存放要存储的数据,指针域用来指向下一个结点。链表是考试中的难点,在C语言和公共基础部分都会考到,要掌握,链表中如何增加和删除节点(每年都考),以及何如构成一个简单的链表,一定记住链表中的节点是有两个域,一个放数值,一个放指针。