历年二级C语言笔试真题及答案
链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空#include <stdio.h>
struct node
{int data; struct node *next;}; typedef struct node NODETYPE;
main()
{NODETYPE a,b,c,*h,*p;
a.
data=10;b.data=20;c.data=30;h=&a;
b.
next=&b;b.next=&c;c.next=’\0’;
p=h;
while(p){printf(“&d”,p->data);【15】;} }
2008年9月二级C语言笔试真题及答案
(1)一个栈的初始状态为空。现将元素1、2、3、4、5、A、B、C、D、E 依次入栈,然后再依次出栈,则元素出栈的顺序是()。A)12345ABCDE B)EDCBA54321 C)ABCDE12345 D)54321EDCBA
(2)下列叙述中正确的是()。
A)循环队列有队头和队尾两个指针,因此,循环队列是非线性结构
B)在循环队列中,只需要队头指针就能
反映队列中元素的动态变化情况
C)在循环队列中,只需要队尾指针就能
反映队列中元素的动态变化情况
D)循环队列中元素的个数是由队头指针
和队尾指针共同决定
3)在长度为n的有序线性表中进行二分
查找,最坏情况下需要比较的次数是()。
A)O(n) B)O(n2) C)O(log2n) D)O(n log2n)
4)下列叙述中正确的是()。
A)顺序存储结构的存储一定是连续的,
链式存储结构的存储空间不一定是连续
的
B)顺序存储结构只针对线性结构,链式
存储结构只针对非线性结构
C)顺序存储结构能存储有序表,链式存
储结构不能存储有序表 D)链式存储结
构比顺序存储结构节省存储空间
5)数据流图中带有箭头的线段表示的是()。
A)控制流 B)事件驱动 C)模块调用 D)数据流
6)在软件开发中,需求分析阶段可以使
用的工具是()。
A)N-S 图 B)DFD 图 C)PAD 图 D)程
序流程图
7)在面向对象方法中,不属于“对象”
基本特点的是()。
A)一致性 B)分类性 C)多态性 D)标
识唯一性
(8)一间宿舍可住多个学生,则实体宿
舍和学生之间的联系是()。A)一对一 B)一对多 C)多对一 D)多
对多
(9)在数据管理技术发展的三个阶段中,
数据共享最好的是()。
A)人工管理阶段 B)文件系统阶段 C)
数据库系统阶段 D)三个阶段相同
(10)有三个关系R、S 和T 如下:
R S T
A B B C A B C
m 1 1 3 m 1 3
n 2 3 5
由关系R 和S 通过运算得到关系T,则所
使用的运算为()。 A)笛卡尔积 B)
交 C)并 D)自然连接
(11)以下叙述中正确的是()。
A)C 程序的基本组成单位是语句 B)
C 程序中的每一行只能写一条语句
C)简单C 语句必须以分号结束 D)C
语句必须在一行内写完
12)计算机能直接执行的程序是()。 A)
源程序 B)目标程序 C)汇编程序 D)可
执行程序
13)以下选项中不能作为C 语言合法常量
的是()。 A)'cd' B)0.1e+6 C)
"\a" D)'\011'
14)以下选项中正确的定义语句是()。
A)double a; b; B)double a=b=7; C)
double a=7, b=7; D)double, a, b;
15)以下不能正确表示代数式2ab cd
的C 语言表达式是()。
A)2*a*b/c/d B)a*b/c/d*2 C)a/c/d*b*2
D)2*a*b/c*d
16)C 源程序中不能表示的数制是()。
A)二进制 B)八进制 C)十进制 D)十
六进制
17)若有表达式(w)?(--x):(++y),则其
中与w 等价的表达式是()。A)w==l B)
w==0 C)w!=l D)w!=0
18)执行以下程序段后,w 的值为()。
int w='A', x=14, y=15;
w=((x || y)&&(w<'a')); A)-1
B)NULL C)l D)0
19)若变量已正确定义为int 型,要通过
语句scanf("%d, %d, %d", &a, &b, &c);
给a 赋值
1、给b 赋值
2、给c 赋值3,以下输入
形式中错误的是(ò代表一个空格符)
()。
A)òòò1,2,3<回车> B)1 ò 2 ò3<
回车> C)1,òòò2,òòò3<回车>
D)1,2,3<回车>
(20)有以下程序段
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=10 B)a=10 b=50 c=30 C)
a=10 b=30 c=10 D)a=50 b=30 c=50
(21)若有定义语句:int
m[]={5,4,3,2,1},i=4;,则下面对m 数组
元素的引用中错误的是()。
A)m[--i] B)m[2*2] C)m[m[0]] D)m[m[i]]
(22)下面的函数调用语句中func 函数
的实参个数是()。
func (f2(v1, v2), (v3, v4, v5), (v6,
max(v7, v8))); A)3 B)4 C)5 D)8
(23)若有定义语句:double
x[5]={1.0,2.0,3.0,4.0,5.0}, *p=x;则
错误引用x 数组元素的是()。
A)*p B)x[5] C)*(p+1) D)*x
(24)若有定义语句:char
s[10]="1234567\0\0";,则strlen(s)的
值是()。 A)7 B)8 C)9 D)10
(25)以下叙述中错误的是()。
A)用户定义的函数中可以没有return 语
句
B)用户定义的函数中可以有多个return
语句,以便可以调用一次返回多个函数值
C)用户定义的函数中若没有return 语
句,则应当定义函数为void 类型 D)
函数的return 语句中可以没有表达式
(26)以下关于宏的叙述中正确的是()。
A)宏名必须用大写字母表示 B)宏
定义必须位于源程序中所有语句之前
C)宏替换没有数据类型限制 D)宏
调用比函数调用耗费时间
*****(27)有以下程序
#include<stdio.h>
main()
{ int i, j;
for(i=3; i>=l; i--)
{ for(j=1; j<=2; j++) printf("%d",
i+j);
printf("\n");
} } 程序的运行结果是()。
A)2 3 4 B)4 3 2 3 4 5 5 4 3 C)
2 3 D)4 5 3 4 3 4 4 5 2 3
(28)有以下程序
#include <stdio.h>
main()
{ int x=l, y=2, z=3;
if(x>y)
if(y<z) printf("%d", ++z);
else printf("%d", ++y);
printf("%d\n", x++);
} 程序的运行结果是()。
A)331 B)41 C)2 D)1
(29)有以下程序
6
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库历年二级C语言笔试真题及答案(6)在线全文阅读。
相关推荐: