当前位置:文档之家› C语言 3套 选择题

C语言 3套 选择题

A) 0 B) 1 C) 10 D) 4 (27)若有以下定义
int x[10], *pt=x; 则对x数组元素的正确引用是()。 A) pt+3 B) *&x[10] C) *(pt+10) D) *(x+3) (28)有以下程序
#include <stdio.h> main()
{ int a[4][4]={ {1,4,3,2},{8,6,5,7},{3,7,2,5},{4,8,6,1}}, i, k, t; for (i=0; i<3; i++) for (k=i+1; k<4; k++) if (a[i][i] < a[k][k]) { t=a[i][i]; a[i][i]=a[k][k]; a[k][k]=t;} for (i=0; i<4; i++) printf("%d,", a[0][i]);
的输出结果是
A) 1234,3.142 B) 123,3.142 C) 1234,3.141 D) 123,3.141 (21)设变量均已正确定义,若要通过
scanf("%d%c%d%c",&a1,&c1,&a2,&c2); 语句为变量a1和a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中正确的 是(注:□代表空格字符) A) 10□X<回车>
程序运行后,若从键盘输入(从第1列开始) 123<回车> 45678<回车>
则输出结果是()。 A) 1245 B) 1256 C) 1278 D) 1267 (20)设有定义:
int n = 1234;
double x = 3.1415;
则语句
printf("%3d,%1.3f\n", n, x);
(1)设数据集合为D={ 1,3,5,7,9 },D上的关系为R,下列数据结构B=(D,R)中为非线性结构的是 A)R={ (5,1), (7,9), (1,7), (9,3) } B)R={ (9,7), (1,3), (7,1), (3,5) } C)R={ (1,9), (9,7), (7,5), (5,3) } D)R={ (1,3), (3,5), (5,9) } (2)设栈的顺序存储空间为S(1: 50),初始状态为top=0。现经过一系列入栈与退栈运算后,top=20,则
for( i=0; i<3; i++ ) for( j=0; j<2; j++ ) k=k+*(*(p+i)+j);
printf("%d\n", k ); }
程序运行后的输出结果是 A)clude <stdio.h> #include <string.h> main( ) { char a[] = "TEXT", *b = "++", c[3] = "1";
A)abcdef B)cbcdef C)cdef D)ab (32)以下叙述中正确的是()。 A) 函数名允许用数字开头 B) 函数调用时,不必区分函数名称的大小写 C) 调用函数时,函数名必须与被调用的函数名完全一致 D) 在函数体中只能出现一次return语句
(33)有以下程序 #include <stdio.h> int f(int x); main() { int n=1,m; m=f(f(f(n))); printf("%d\n",m); } int f(int x) { return x*2; }
C) a=1,b=1 D) a=1,b=0
(25) 有以下程序 #include <stdio.h> main( ) { int m,n;
scanf("%d%d", &m,&n); while(m!=n) { while(m>n) { m=m-n; }
while(n>m) { n=n-m; } } printf("%d\n",m); } 该程序的功能是()。
A) 计算m和n的最小公倍数 B) 计算m和n的最大公约数 C) 计算m和n的差值 D) 找出m和n中的较大值
(26)有以下程序 #include <stdio.h> main( ) { int a=1, b=0;
for(; a<5; a++) { if (a%2 == 0) break;
continue; b += a; } printf("%d \n", b); } 程序运行后的输出结果是()。
此执行++c
D) 先执行++b,表达式++b的值为1,由此可确定(++a || ++b)值为1,因此执行++c (17)若有定义语句:
int a=3,b=2,c=1; 以下选项中错误的赋值表达式是()。 A) a=(b=4)=3; B) a=b=c+1; C) a=(b=4) +c; D) a=1+(b=c=4); (18)有以下程序
front=15,rear=15,则循环队列中的元素个数为
A)15 B)16 C)20 D)0或35 (5)面向对象方法中,继承是指( )。 A)一组对象所具有的相似性质 B)一个对象具有另一个对象的性质 C)各对象之间的共同性质 D)类之间共享属性和操作的机制
(6)下面不属于对象基本特点的是
A)标识唯一性 B)可复用性 C)多态性 D)封装性 (7)数据流图中带有箭头的线段表示的是( )。 A)控制流 B)事件驱动 C)模块调用 D)数据流 (8)耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是( )。 A)提高耦合性降低内聚性有利于提高模块的独立性 B)降低耦合性提高内聚性有利于提高模块的独立性 C)耦合性是指一个模块内部各个元素间彼此结合的紧密程度 D)内聚性是指模块间互相连接的紧密程度 (9)某系统结构图如下图所示
#include <stdio.h>
int sub(double a, double b)
{
return (int)(a - b - 1.3);
}
main( )
{
printf("%d\n", sub(3.2, 4.1));
}
程序运行后的输出结果是()。
A) -2 B) 1.7 C) -3 D) 2.0 (16)若有定义:int a=0,b=0,c=0,d=0;,以下关于C语言表达式:(++a || ++b) ? ++c : ++d 执行顺
#include <stdio.h> main() { int x=1, y=0, a=0, b=0;
switch (x) { case 1:
switch(y) { case 0: a++; break;
case 1: b++; break; }
case 2: a++; b++; break; case 3: a++; b++; } printf("a=%d, b=%d\n", a, b); } 程序的运行结果是( )。 A) a=2,b=2 B) a=2,b=1
序的叙述正确的是()。
A) 先执行++a,表达式++a的值为1;再执行++b,表达式++b的值为1,由此可确定(++a || ++b)值为1,因
此执行++c
B) 先执行++a,表达式++a的值为1,由此可确定(++a || ++b)值为1,因此执行++c C) 先执行++b,表达式++b的值为1;再执行++a,表达式++a的值为1,由此可确定(++a || ++b)值为1,因
(31)有以下程序 #include <stdio.h>
#include <string.h> main( ) { char a[20]="ab",b[20]="cdef";
int k=0; strcat(a,b); while(a[k]!='\0') { b[k]=a[k]; k++;} puts(b); } 程序的运行结果是()。
#include <stdio.h> main() { int i=0;
i = ~ i; printf("%d\n",i); } 程序运行后的输出结果是()。 A) 8 B) 0 C) 1 D) -1
(19)有以下程序 #include <stdio.h> main() { char c1,c2,c3,c4,c5,c6; scanf("%c%c%c%c", &c1,&c2,&c3,&c4); c5=getchar(); c6=getchar(); putchar(c1); putchar(c2); printf("%c%c\n",c5,c6); }
} 程序运行后的输出结果是()。 A) 1,1,2,6, B) 6,2,1,1, C) 6,4,3,2, D) 2,3,4,6, (29)有以下程序
相关主题