2024年4月15日发(作者:查骊艳)
二级C语言笔试-340
(总分77,考试时间90分钟)
一、选择题
1. 没有关系R和S,关系代数表达式为R-(R-S)表示的是
A) RDS B) R-S C) RUS D) R÷S
2. 下列叙述中正确的是
A) 栈是“先进先出”的线性表
B) 队列是“先进后出”的线性表
C) 循环队列中元素的个数是由队头指针和队尾指针共同决定的
D) 循环队列中队头指针是固定不变的
3. 以下正确的程序段是
A) char str1[]="12345",str2[]="abcdef";
B) char str[10],*st="abcde";strcat(str,st);
C) charstr[10]=" "。*st="abcde";strcat(str,st);
D) char*st1="12345",*st2="abcde";strcat(st1,st2);
4. 结构化程序设计的核心和基础是( )。
A) 结构化分析方法 B) 结构化设计方法
C) 结构化设计理论 D) 结构化编程方法
5. 设有定义:int a,+pa=&a;,以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf("%d",pa ); B) scanf("%d",a );
C) scanf(%d",&pa ); D) scanf("%d",*pa );
6. 下列叙述中正确的是( )。
A) 一个算法的空间复杂度大,则其时间复杂度必定大
B) 一个算法的空间复杂度大,则其时间复杂度必定小
C) 一个算法的时间复杂度大,则其空间复杂度必定小
D) 上述三种说法都不对
7. 若希望下列的程序运行后输出25,程序空白处的正确选项是( )。
main()
int i,j=50,a[]=7,4,10,5,8;
for( )
j+=a[i];
primf("%d,j-40);
A) i=1;i<4;++i B) i=1;i<3;++i C) i=4;i>2;i-- D) i=2;i<4;++i
8. 下述函数功能是______。
int fun(char*x)
char *y=x;
while(*y++);
return y-x-1;
A) 求字符串的长度 B) 求字符串存放的位置
C) 比较两个字符串的大小 D) 将字符串x连接到字符串y后面
9. 待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增
的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放
到第( )个位置。
A) 3 B) 5 C) 7 D) 9
10. 以下程序运行后的输出结果是
void f(int n,int *r)
int r1=0;
if(n%3==0) r1=n/3;
else if(n%5==0) r1=n/5;
else f(--n,&r1);
*r=r1;
main()
int m=7,r;
f(m,&r);
printf("%dn",r);
A) 2 B) 1 C) 3 D) 0
11. 下列叙述中正确的是( )。
A) 在面向对象的程序设计中,各个对象之间具有密切的联系
B) 在面向对象的程序设计中,各个对象都是公用的
C) 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
D) 上述3种说法都不对
12. 当执行下面的语句后,表达式+ + x>b?x:b- ->+ + x? + + b:x的值为( )
int x=5,b=5;
A.5
B.25
C.6
D.10
13. 以下关于逻辑运算符两侧运算对象的叙述中正确的是______。
A) 只能是整数0或1 B) 只能是整数0或非0整数
C) 可以是结构体类型的数据 D) 可以是任意合法的表达式
14. 用链表表示线性表的优点是( )。
A) 便于插入和删除操作 B) 数据元素的物理顺序与逻辑顺序相同
C) 花费的存储空间较顺序存储少 D) 便于随机存取
15. 下面这个程序段的时间复杂度是( )。
for (i=1; i<n; i++)
y=y+3;
for (j=0;j<=(2*n);j++)
x++;
A) O(10g2n) B)O(n) C) O(nlog2n) D) O(n2)
16. 下列能正确定义一维数组的选项是( )。
A) int a[5]=0,1,2,3,4,5; B) char a[]=0,1,2,3,4,5;
C) char a='A','B','C'; D) int a[5]="0123";
17. 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是( )。
A) c1^c2 B) c1&c2 C) ~c2 D) c1|c2
18. 有定义语句:int*p[4];以下选项中与此语句等价的是( )。
A) int p[4]; B) int **p;
C) int*(p[4]); D) int(*p)[4];
19. 程序段:int i=65536;prinff("%dn",i);,则输出结果是______。
A.65536 B.0 C.有语法错误,无输出结果 D.-1
20. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的
字符常量'101'是
A) 字符A B) 字符a C) 字符e D) 非法的常量
21. 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为
A) TYPE
B) TYPE/H
C) TYPE/*
D) TYPE/?
22. 下列叙述中正确的是______。
(A) 线性链表是线性表的链式存储结构
(B) 栈与队列是非线性结构
(C) 双向链表是非线性结构
(D) 只有根结点的二叉树是线性结构
23. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是______。
A) 函数的实参和其对应的形参共占同一存储单元
B) 形参只是形式上的存在,不会占用具体存储单元
C) 同名的实参和形参占同一存储单元
D) 函数的形参和实参分别占用不同的存储单元
24. 若变量a、i已正确定义,且i已正确赋值,合法的语句是______。
A) a==1 B) ++i; C) a=a++=5; D) a=int(i);
25. 下列程序的输出结果是( )。
main()
int p[8]=11,12,13,14,15,16,17,18,i=0,j=0;
while(i++<7)
if(p[i]%2) j+=p[i];
printf("%dn",j);
A) 42 B) 45 C) 56 D) 60
26. 下列程序执行后的输出结果是 ( )
#define MA(x) x*(x-1)
main()
int a=1,b=2;
printf("%dn",MA(1+a+B ) );
A) 5 B) 6 C) 7 D) 8
27. 若有以下程序:
#include<stdio.h>
void f(int n);
main( )
void f(int n);
f(5);
void f(int n) printf("%dn",n);
则下列叙述中不正确的是
A) 若只在main中对函数f进行说明,则只能在main中正确调用函数f
B) 在main前对函数f进行说明,则在main和其后的其他函数中都可以正确调用函数f
C) 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明
D) 函数f无返回值,所以可用void将其类型定义为无返回值型
2024年4月15日发(作者:查骊艳)
二级C语言笔试-340
(总分77,考试时间90分钟)
一、选择题
1. 没有关系R和S,关系代数表达式为R-(R-S)表示的是
A) RDS B) R-S C) RUS D) R÷S
2. 下列叙述中正确的是
A) 栈是“先进先出”的线性表
B) 队列是“先进后出”的线性表
C) 循环队列中元素的个数是由队头指针和队尾指针共同决定的
D) 循环队列中队头指针是固定不变的
3. 以下正确的程序段是
A) char str1[]="12345",str2[]="abcdef";
B) char str[10],*st="abcde";strcat(str,st);
C) charstr[10]=" "。*st="abcde";strcat(str,st);
D) char*st1="12345",*st2="abcde";strcat(st1,st2);
4. 结构化程序设计的核心和基础是( )。
A) 结构化分析方法 B) 结构化设计方法
C) 结构化设计理论 D) 结构化编程方法
5. 设有定义:int a,+pa=&a;,以下scanf语句中能正确为变量a读入数据的是( )。
A) scanf("%d",pa ); B) scanf("%d",a );
C) scanf(%d",&pa ); D) scanf("%d",*pa );
6. 下列叙述中正确的是( )。
A) 一个算法的空间复杂度大,则其时间复杂度必定大
B) 一个算法的空间复杂度大,则其时间复杂度必定小
C) 一个算法的时间复杂度大,则其空间复杂度必定小
D) 上述三种说法都不对
7. 若希望下列的程序运行后输出25,程序空白处的正确选项是( )。
main()
int i,j=50,a[]=7,4,10,5,8;
for( )
j+=a[i];
primf("%d,j-40);
A) i=1;i<4;++i B) i=1;i<3;++i C) i=4;i>2;i-- D) i=2;i<4;++i
8. 下述函数功能是______。
int fun(char*x)
char *y=x;
while(*y++);
return y-x-1;
A) 求字符串的长度 B) 求字符串存放的位置
C) 比较两个字符串的大小 D) 将字符串x连接到字符串y后面
9. 待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增
的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码33被放
到第( )个位置。
A) 3 B) 5 C) 7 D) 9
10. 以下程序运行后的输出结果是
void f(int n,int *r)
int r1=0;
if(n%3==0) r1=n/3;
else if(n%5==0) r1=n/5;
else f(--n,&r1);
*r=r1;
main()
int m=7,r;
f(m,&r);
printf("%dn",r);
A) 2 B) 1 C) 3 D) 0
11. 下列叙述中正确的是( )。
A) 在面向对象的程序设计中,各个对象之间具有密切的联系
B) 在面向对象的程序设计中,各个对象都是公用的
C) 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小
D) 上述3种说法都不对
12. 当执行下面的语句后,表达式+ + x>b?x:b- ->+ + x? + + b:x的值为( )
int x=5,b=5;
A.5
B.25
C.6
D.10
13. 以下关于逻辑运算符两侧运算对象的叙述中正确的是______。
A) 只能是整数0或1 B) 只能是整数0或非0整数
C) 可以是结构体类型的数据 D) 可以是任意合法的表达式
14. 用链表表示线性表的优点是( )。
A) 便于插入和删除操作 B) 数据元素的物理顺序与逻辑顺序相同
C) 花费的存储空间较顺序存储少 D) 便于随机存取
15. 下面这个程序段的时间复杂度是( )。
for (i=1; i<n; i++)
y=y+3;
for (j=0;j<=(2*n);j++)
x++;
A) O(10g2n) B)O(n) C) O(nlog2n) D) O(n2)
16. 下列能正确定义一维数组的选项是( )。
A) int a[5]=0,1,2,3,4,5; B) char a[]=0,1,2,3,4,5;
C) char a='A','B','C'; D) int a[5]="0123";
17. 设有定义语句:char c1=92,c2=92;,则以下表达式中值为零的是( )。
A) c1^c2 B) c1&c2 C) ~c2 D) c1|c2
18. 有定义语句:int*p[4];以下选项中与此语句等价的是( )。
A) int p[4]; B) int **p;
C) int*(p[4]); D) int(*p)[4];
19. 程序段:int i=65536;prinff("%dn",i);,则输出结果是______。
A.65536 B.0 C.有语法错误,无输出结果 D.-1
20. 已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的
字符常量'101'是
A) 字符A B) 字符a C) 字符e D) 非法的常量
21. 在DOS环境下,为了得到TYPE命令的帮助信息,正确的DOS命令为
A) TYPE
B) TYPE/H
C) TYPE/*
D) TYPE/?
22. 下列叙述中正确的是______。
(A) 线性链表是线性表的链式存储结构
(B) 栈与队列是非线性结构
(C) 双向链表是非线性结构
(D) 只有根结点的二叉树是线性结构
23. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是______。
A) 函数的实参和其对应的形参共占同一存储单元
B) 形参只是形式上的存在,不会占用具体存储单元
C) 同名的实参和形参占同一存储单元
D) 函数的形参和实参分别占用不同的存储单元
24. 若变量a、i已正确定义,且i已正确赋值,合法的语句是______。
A) a==1 B) ++i; C) a=a++=5; D) a=int(i);
25. 下列程序的输出结果是( )。
main()
int p[8]=11,12,13,14,15,16,17,18,i=0,j=0;
while(i++<7)
if(p[i]%2) j+=p[i];
printf("%dn",j);
A) 42 B) 45 C) 56 D) 60
26. 下列程序执行后的输出结果是 ( )
#define MA(x) x*(x-1)
main()
int a=1,b=2;
printf("%dn",MA(1+a+B ) );
A) 5 B) 6 C) 7 D) 8
27. 若有以下程序:
#include<stdio.h>
void f(int n);
main( )
void f(int n);
f(5);
void f(int n) printf("%dn",n);
则下列叙述中不正确的是
A) 若只在main中对函数f进行说明,则只能在main中正确调用函数f
B) 在main前对函数f进行说明,则在main和其后的其他函数中都可以正确调用函数f
C) 对于以上程序,编译时系统会提示出错信息:提示对f函数重复说明
D) 函数f无返回值,所以可用void将其类型定义为无返回值型