国二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);