国二C语言选择题28套
- 格式:doc
- 大小:2.32 MB
- 文档页数:315
第一套
1. 下面叙述正确的是______。
A、算法的执行效率与数据的存储结构无关B、算法的空间复杂度是指算法程序中指令(或语句)的条数
C、算法的有穷性是指算法必须能在执行有限个步骤之后终止D、以上三种描述都不对
2.在一棵二叉树上第5层的结点数最多是______。
A、8B、16C、32D、15
3.在软件开发中,下面任务不属于设计阶段的是______。
A、数据结构设计B、给出系统模块结构C、定义模块算法D、定义需求并建立系统模型
4.对建立良好的程序设计风格,下面描述正确的是______。
A、程序应简单、清晰、可读性好B、符号名的命名要符合语法C、充分考虑程序的执行效率D、程序的注释可有可无
5.下面对对象概念描述错误的是______。
A、任何对象都必须有继承性 B、对象是属性和方法的封装体C、对象间的通讯靠消息传递D、操作是对象的动态性属性
6.下面不属于软件工程的3个要素的是______。
A、工具 B、过程 C、方法 D、环境
7.程序流程图(PFD)中的箭头代表的是______。
A、数据流B、控制流C、调用关系D、组成关系
8.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立性最高的阶段是______。
A、数据库系统B、文件系统C、人工管理D、数据项管理
9.用树形结构来表示实体之间联系的模型称为______。
A、关系模型B、层次模型C、网状模型D、数据模型
10.关系数据库管理系统能实现的专门关系运算包括______。
A、排序、索引、统计B、选择、投影、连接C、关联、更新、排序D、显示、打印、制表
11.以下程序的输出结果是______。
main()
{ char a[10]={'1','2','3','4','5','6','7','8','9',0},*p;
int i ;i=8;p=a+i;
printf("%s\n",p-3);
}
A、6 B、6789 C、'6' D、789
12.设有说明int(*ptr)[M];,其中的标识符ptr是______。
A、M个指向整型变量的指针 B、指向M个整型变量的函数指针
C、一个指向具有M个整型元素的一维数组的指针
D、具有M个指针元素的一维指针数组,每个元素都只能指向整型变量
13.以下程序的输出结果是______。
main()
{ int n=4;
while(n--)printf("%d ",--n);
}
A、2 0 B、3 1 C、3 2 1 D、2 1 0
14.设有以下语句:char str1[]="string",str2[8],*str3,*str4="string"; 则下列选项中,______不是对库函数strcpy的正确调用,此库函数用来复制字符串。
A、strcpy(str1,"HELLO1"); B、strcpy(str2,"HELLO2"); C、strcpy(str3,"HELLO3");D、strcpy(str4,"HELLO4");
15.下面程序
#include
#include
main()
{ char *p1="abc",*p2="ABC",str[50]="xyz";
strcpy(str+2,strcat(p1,p2) );
printf("%s\n",str);
}
的输出是______。
A、xyzabcABC B、zabcABC C、yzabcABC D、xyabcABC
16.C语言中,下列叙述正确的是______。
A、不能使用do-while语句构成的循环
B、do-while语句构成的循环,必须用break语句才能退出
C、do-while语句构成的循环,当while语句中的表达式值为非零时结束循环
D、do-while语句构成的循环,当while语句中的表达式值为零时结束循环
17.下面程序
main()
{ int x=100, a=10, b=20, ok1=5, ok2=0;
if(a
if(b!=15)
if(!ok1) x=1;
else if(ok2) x=10;
x=-1;
printf("%d\n",x);
}
的输出是______。
A、-1 B、0 C、1 D、不确定的值
18.以下程序的输出结果是______。
main()
{ int i,x[3][3]={9,8,7,6,5,4,3,2,1},*p=&x[1][1];
for(i=0;i<4;i+=2) printf("%d",p[i]);
}
A、52 B、51 C、53 D、97
19.若有说明:long *p,a;则不能通过scanf语句正确给输入项读入数据的程序段是______。
A、*p=&a;scanf("%ld",p);
B、p=(long *)malloc(8);scanf("%ld",p);
C、scanf("%ld",p=&a);
D、scanf("%ld",&a);
20.请读程序:
#include
main() {
int num=0;
while( num <=2){
num++; printf("%d\n",num);
}
}
上面程序的输出结果是______。
① 1 ② 1 ③ 1 ④ 1
2 2 2
3 3
4
A、① B、② C、③ D、④
21.请选出合法的C语言赋值语句______。
A、a=b=58 B、i++; C、a=58,b=58; D、k=int(a+b);
22.请选出以下程序的输出结果______。
#include
sub(x,y,z)
int x,y,*z;
{ *z=y-x;}
main(){
int a,b,c;
sub(10,5,&a);sub(7,a,&b);sub(a,b,&c);
printf("%d,%d,%d\n",a,b,c);
}
A、5,2,3 B、-5,-12,-7 C、-5,-12,-17 D、5,-2,-7
23.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是______。
A、pb=&x; B、pb=x; C、*pb=&x; D、*pb=*x
24.若执行下面程序时从键盘上输入5,
main()
{
int x;
scanf("%d",&x);
if(x++>5) printf("%d\n",x);
else printf("%d\n",x--);
}
则输出是______。
A、7 B、6 C、5 D、4
25.若执行下面的程序时从键盘上输入3和4,
main()
{ int a,b,s;
scanf("%d %d",&a,&b);
s=a;
if(a
s=s*s; printf("%d\n",s);
}
则输出是______。
A、14 B、16 C、18 D、20
26.设a、b和c都是int型变量,且a=3、b=4、c=5,则下面的表达式中,值为0的表达式是______。
A、'a'&&'b' B、a<=b C、a||+c&&b-c D、!((a
27.设ch是char型变量,其值为A,且有下面的表达式
ch=(ch>='A'&&ch<='Z')?(ch+32):ch
上面表达式的值是______。
A、A B、a C、Z D、z
28.设int a=12,则执行完语句a+=a-=a*a后,a的值是______。
A、552 B、264 C、144 D、-264
29.以下for语句构成的循环执行了______次。
#include
#define N 2
#define M N+1
#define NUM (M+1)*M/2
main()
{ int i,n=0;
for(i=1;i<=NUM;i++) {
n++; printf("%d",n);
}
printf("\n");
}
A、5 B、6 C、8 D、9
30.以下程序的输出结果是______。
#include
#define FUDGE(y) 2.84+y
#define PR(a) printf("%d",(int)(a) )
#define PRINT1(a) PR(a);putchar('\n')
main()
{ int x=2;
PRINT1(FUDGE(5)*x);