c语言中point的用法_全国计算机等级考试二级C语言

435753bfb76d33759f04ec7f006efe04.png

61. 若int a[][4] = {1,1,1,1,1,1,1,1,1,1,1,1,1};,则a数组第一维的大小的是( )

(提示:数组未初始化部分自动初始化为0)

A) 3

B) 4

C) 无法确定

D) 6

正确答案:B

62. C语言规定,调用一个指针参数时,实参变量和形参变量之间的数据传递是( )

A) 地址传递

B) 值传递

C) 由实参传给形参,并由形参传给实参

D) 由用户指定传递对象

正确答案:A

63. 若用数组名作为函数调用的实参,传递给形参的是( )

A) 数组的首地址

B) 数组第一个元素的值

C) 数组中全部元素的值

D) 数组元素的个数

正确答案:A

64. 以下程序的正确运行结果是( )

void showvalue(int, int);

void main(void)

{

int x = 100, y = 200;

showvalue(y, x);

printf("x = %d, y = %dn", x, y);

}

void showvalue(int x, int y)

{

printf("x = %d, y = %dn", x , y);

x = 400;

y = 800;

}

(1) x = 100, y = 200 (2) x = 100, y = 200

x = 100, y = 200 x = 400,y = 800;

(3) x = 200,y = 100 (4) x = 200, y = 100

x = 400,y = 800 x = 100,y = 200

A) (1)

B) (2)

C) (3)

D) (4)

正确答案:D

65. 以下程序运行的正确结果是( )

#include <stdio.h>

int func( int a, int b );

void main(void)

{

int k = 4, m = 1, p;

p = func( k , m); printf("%d ,", p);

p = func( k , m); printf("%dn" , p);

}

int func(int a, int b)

{

static int m = 0, i = 2;

A) 8, 17

B) 8, 16

C) 8, 20

D) 8, 8

正确答案:B

66. 以下有关变量使用范围不正确的说法是( )

A) 在不同函数中可以使用同名的变量

B) 形式参数是局部变量

C) 在函数内定义的变量只在本函数内有效

D) 在函数外的全局变量默认初始化值为1

正确答案:D

67. 以下程序运行的正确结果是( )

void main(void)

{

int a = 2, i;

for (int i = 0; i < 3; i++)

printf(" %4d", f(a));

}

int f(int a)

{

int b = 0;

static int c = 3;

b ++;

c ++;

rerurn (a+b+c);

}

A) 7 7 7

B) 7 10 13

C) 7 9 11

D) 7 8 9

正确答案:D

68. 下面程序段,正确的判断( )

#define A 3

#define B(a) ((A + 1) * a)

……….

X = 3 * (A + B(7));

A) 程序错误,不许嵌套定义

B) X = 93

C) 程序错误,宏定义不许有参数

D) X = 21

正确答案:B

69. 若有宏定义如下:

#define m 5

#define n m + 1

#define 1 n * m / 2

则执行以下语句后,输出结果是( )

printf("%d,%d",l,m);

A) 7, 6

B) 12, 6

C) 12, 5

D) 7, 5

正确答案:D

70. 已知:int *p,a; 则语句p = &a中的运算符"&"的含义是( )

A) 位于运算

B) 逻辑与运算

C) 取指针内容

D) 取变量地址

正确答案:D

71. 已知:int a, x; 则正确的语句是( )

A) a = (a[1] + a[2]) / 2;

B) a *= *a + 1;

C) a = (x = 1,x++,x + 2);

D) a = "good";

正确答案:C

72. 在高级语言中,对文件操作的一般步骤是( )

A) 打开文件-----' 操作文件------' 关闭文件

B) 操作文件-----' 修改文件------' 关闭文件

C) 读写文件----' 打开文件-----' 关闭文件

D) 读文件------' 写文件--------'关闭文件

正确答案:A

73. 要打开一个已存在的非空文件"file"用于读取,正确的语句是( )

A) fp = fopen ("file" , "r");

B) fp = fopen ("file" , "a");

C) fp = fopen ("file" , "w");

D) fp = fopen ("file" , "t");

正确答案:A

74. 当顺利执行了文件关闭操作时,fclose函数的返回值是( )

A) -1

B) TRUE

C) 0

D) 1

正确答案:C

75. 按照"先进后出"原则组织数据的数据结构是( )

A) 队列

B) 栈

C) 双向链表

D) 二叉树

正确答案:B

76. 下列虚函数说明不正确的是( )

A) 从虚基类继承的函数都是虚函数

B) 虚函数不能是静态成员函数

C) 只能通过指针或引用调用虚函数

D) 抽象类中的成员函数都是虚函数

正确答案:D

77. 下列语句中错误的是( )

A) const int buffer = 256;

B) const int temp;

C) const double* point = NULL;

D) int na = 19;

const int * rt = &na;

正确答案:B

78. 有如下类定义:

class Foo

{

public:

Foo(int v):value(v){} ①

~Foo(){} ②

private:

Foo(){} ③

int value = 0; ④

};

其中存在语法错误的行是( )

A) ①

B) ②

C) ③

D) ④

正确答案:D

79. 有如下类定义:

class Point

{

int pos_x,pos_y;

public:

Point():pos_x(0),pos_y(0){}

Point(int x, int y):pos_x(x),pos_y(y){}

};

若执行语句

Point a, b[3];

则Point类的构造函数被调用的次数是( )

A) 2次

B) 3次

C) 5次

D) 4次

正确答案:D

80. 有如下类定义:

class Test

{

public:

Test(){a = 0, c = 0;} //①

int f(int a) const

{this->a = a; } //②

static int g(){return a;} //③

void h(int b){ Test :: b = b;} //④

private:

int a;

static int b;

const int c;

};

int Test :: b = 0;

在标注号码的行中,能被正确编译的是( )

A) ①

B) ②

C) ③

D) ④

正确答案:D

81. 下列关于栈的叙述正确的是 ( )

A) 栈是非线性结构 

B) 栈是一种树状结构

C) 栈具有先进先出的特征

D) 栈具有后进先出的特征

正确答案:D

82. C++语言的跳转语句中,对于break和continue说法正确的是( )

A) break语句只应用与循环体中 

B) continue语句只应用与循环体中

C) break与continue作用一样

D) break和continue的跳转方式不同

正确答案:D

83. for(int x=0,y=0;!x&&y<=5;y++)语句执行循环的次数是( )

A) 0

B) 5

C) 6

D) 无次数

正确答案:C

84. 考虑函数原型void test(int a,int b=7,char='*'),

下面的函数调用中,属于不合法调用的是( )

A) test(5);

B) test(5,8);

C) test(6,2,'#')

D) test(0,,'a');

正确答案:D

85. 下面有关重载函数的说法中正确的是( )

A) 重载函数必须具有不同的返回值类型;

B) 重载函数形参个数必须不同;

C) 重载函数必须有不同的形参列表

D) 重载函数名可以不同;

正确答案:C

86. 下列关于构造函数的描述中,错误的是( )

A) 构造函数可以设置默认参数;

B) 构造函数在定义类对象时自动执行

C) 构造函数可以是公共成员函数;

D) 构造函数不可以重载

正确答案:D

87. 若有说明:char s2[]="1";则s2中( )

A) 包含3个字符

B) 包含2个字符

C) 包含1个字符

D) 无定值,说明不合

正确答案:B

88. 若有以下类型说明语句char w; int x; float y; double z;则表达式w*x+z-y的结果是( )类型。

A) float

B) char

C) int

D) double

正确答案:D

89. 以下( )是不正确的转义字符。

A) ''

B) '''

C) '081'

D) '0'

正确答案:C

90. 在C语言中,字符型数据在内存中是以( )形式存放的。

A) 原码

B) BCD码

C) 反码

D) ASCII码

正确答案:D

91. 若有以下调用语句,则不正确的fun函数的首部是( )

void main(void)

{ …

int a[50],n;

fun(n, &a[9]);

}

A) void fun(int m, int x[])

B) void fun(int s, int h[41])

C) void fun(int p, int *s)

D) void fun(int n, int a)

正确答案:D

92. 设有数组定义: char array []="China"; 则数组 array所占的空间为( )

A) 4个字节

B) 5个字节

C) 6个字节

D) 7个字节

正确答案:C

93. int nA=1,nB = false,nC;

nC = nA = nB;问nA、nB、nC的值分别是多少?

A) nA=1,nB=false,nC=1;

B) nA=1,nB=false,nC=0;

C) nA=0,nB=0,nC=0;

D) nA=1,nB=false,nC=false;

正确答案:C

94. 设已有定义: char *st="how are you"; 下列程序段中正确的是( )

A) char a[11], *p;

strcpy( p = a + 1, &st[4]);

B) char a[11];

strcpy( ++ a, st);

C) char a[11];

strcpy( a, st);

D) char a[], *p;

strcpy( p = &a[1], st + 2);

正确答案:C

95. 在C++中一个完整的语句必须以()终止。

A) ,

B) .

C) ;

D) 无

正确答案:C

96. 下列四组选项中,均不是C语言关键字的选项是

A) define IF type

B) getc char printf

C) include scanf case

D) while go pow

正确答案:A

97. 下列程序执行后的输出结果是( )

#define MA(x) x * ( x - 1 )

void main(void)

{

int a = 1 , b = 2;

printf("%d n", MA( 1 + a + b ));

}

A) 6

B) 8

C) 10

D) 12

正确答案:B

98. 已知int nX=123,double dbY=1.23456789,那么printf("%8d,%lf,%-8d,%13.8lf")的输出结果是()。(下划线代表空格)

A) _____123,1.234567,123_____,___1.23456789

B) 123,1.23456789,123,1.23456789

C) _____123,1.234567,_____123,__1.23456789

D) _____123,1.234567,_____123,_______1.23456

正确答案:A

99. 下列四个选项中,均是C语言关键字的选项是

A) auto enum include

B) switch typedef continue

C) signed union scanf

D) Dif struct type

正确答案:B

100. 下列运算符中,不属于关系运算符的是( )

A) <

B) >=

C) ==

D) !

正确答案:D

101. 使用scanf("x=%d,y=%lf", &nX,&dbY)输入,则下列哪个输入能获得正确结果。

A) 5 5.3

B) 5,5.3

C) x=5 y=5.3

D) x=5,y=5.3

正确答案:D

102. 在printf函数中用来输出十六进制无符号整数的格式字符是( )

A) d格式符

B) x格式符

C) u格式符

D) o格式符

正确答案:B

103. 若在fopen函数中使用文件的方式是″wb+″,该方式的含义是( )

A) 为读打开一个文本文件

B) 为写打开一个文本文件

C) 为读/写建立一个新的文本文件

D) 为读/写建立一个新的二进制文件

正确答案:D

104. 已知各变量的类型说明如下:

int nA, nB;

double dbA, dbB=1.42;

则以下不符合C语言语法的表达式是:

A) nA= nB%dbA

B) nA = dbA + dbB

C) nA = dbA/ nB

D) nA = dbA/dbB

正确答案:A

105. 下面四个选项中,均不合法的用户标识符的选项是

A) A) P_0 do

B) float la0 _A

C) b-a goto int

D) _123 temp INT

正确答案:C

106. 设a=12、b=12345,执行语句printf(″%4d,%4d″,a,b);的输出结果为( )

A) 12,123

B) 12,12345

C) 12,1234

D) 12,123456

正确答案:B

107. 逻辑运算符两侧运算对象的数据类型_______

A) 只能是0或1

B) 只能是0或非0正数

C) 只能是整型或字符型数据

D) 可以是任何类型的数据

正确答案:D

108. C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符

A) 必须为字母

B) 必须为下划线

C) 必须为字母或下划线

D) 可以是字母、数字和下划线中任一种字符

正确答案:C

109. 已知int x =43; char ch='A'; int y=0则表达式(x > = y && ch<'B') 的值是

A) 0

B) 语法错

C) 1

D) 假

正确答案:C

110. 为了避免在嵌套的条件语句If一else中产生二义性,C语言规定else子句总是与( )配对。

A) 缩排位置相同的if

B) 其之前最近的if

C) 之后最近的if

D) 同一行上的if

正确答案:B

111. 在下列叙述中,正确的一条是( )

A) 语句"int *pt;"中的*pt是指针变量名

B) 语句"int *p=a;"等价于"int *p;p=&a[0];"(a是整型数组)

C) 运算符*和&都是取变量地址的运算符

D) 已知指针变量p指向变量a,则a和*p值相同,都是变量a的值

正确答案:D

112. 下面四个选项中,均是合法整型常量的选项是

A) 160

-0xffff

011

B) -0xcdf

01a

0xe

C) -01

986,012

066

D) -0x48a

2e5

0x

正确答案:A

113. 若已定义x为int型变量,说明指针变量p的正确语句是( )

A) int p = &x;

B) int *p = x;

C) int *p = &x;

D) *p = *x;

正确答案:C

114. 判断char型变量ch是否为大写字母的正确表达式是

A) 'A' <=ch<='Z'

B) (ch> = 'A')&(ch<=' Z' )

C) (ch>=' A' )&&(ch<='Z')

D) ('A' < = ch)AND('Z'> = ch)

正确答案:C

115. 合法的数组定义是( )

A) int a[] = ″string″

B) int a[5] = {0,1,2,3,4,5};

C) char a = ″string″;

D) int a[] = {0,1,2,3,4,5};

正确答案:D

116. 下面四个选项中,均是不合法的整型常量的选项是

A) --0f1 -0xffff 0011

B) -0Xcdf 017 12,456

C) -018 999 5e2

D) -0x48eg -068 03f

正确答案:D

117. 若希望当A的值为奇数时,表达式的值为"真",A的值为偶数 表达式的值为"假"。则以下

A) A%2==1

B) !(A%2 = =0)

C) !(A%2)

D) A%2

正确答案:C

118. 设a=5,b=6,c=7,d=8,m=2,n=2,执行(m = a > b)后m的值为().

A) 0

B) 1

C) 2

D) 3

正确答案:A

119. 以下不正确的if语句形式是:

A) if(x>y && x!=y);

B) if(x==y) x+=y;

C) if(x != y)

scanf("%d",&x )

else

scanf("%d",&y);

D) if(X<Y) {X++;Y++;}

正确答案:C

120. 下面四个选项中,均是不合法的浮点数的选项是

A) 160. 0.12 e3

B) 123 2e4.2 .e5

C) -.18 123e4 0.0

D) -e3 .234 1e3

正确答案:B

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值