首页 > 全部 > 二级C语言 > 国家二级C语言机试(选择题)模拟试卷568

国家二级C语言机试(选择题)模拟试卷568

本单篇文档共11929字,内容预览3600字,预览为有答案版,源文件无水印,下载后包含无答案空白卷版和有答案版,同时也有计算机类NCRE全国计算机二级整科真题模拟题,讲义课件,思维导图,易错高频题等下载。
二级C语言 章节练习 1665人下载
价格: 1.10 原价:¥7.00
收藏

国家二级C语言机试(选择题)模拟试卷568

公共基础选择题

1.若有定义“int x[10],*pt=x;”,则对x数组元素的引用正确的是( )。(D)

A. pt+3

B. *&x[10]

C. *(pt+10)

D. *(x+3)

解析:选项A中,“pt+3”使指针变量pt移动3个单元,指向第4个元素,不能正确引用。运算符“*”与“&”放在一起,其作用相互抵消,且下标10超出了数组下标范围,所以B选项错误。“*(pt+10)”表示引用指针pt所指元素后的第10个元素,引用数组第11个元素,所以C选项错误。故本题答案为D选项。

2.有以下程序:

#include

main( )

{

int i,s=0,t[ ]={1,2,3,4,5,6,7,8,9};

for(i=0;i<9;i+=2)

s+=*(t+i);

printf("%d\n",s);

}

程序的运行结果是( )。(B)

A. 20

B. 25

C. 45

D. 36

解析:程序的功能为统计1~9这9个数中的奇数和。此题考查指向数组的指针。C语言中规定数组名代表数组的首地址,也就是第1个元素的地址,因此“*(t+i)”代表数组的第i+1个元素。程序的运行结果是1+3+5+7+9=25。故本题答案为B选项。

3.有以下程序:

#include

main( )

{

int s[12]={1,2,3,4,4,3,2,1,1,1,2,3},e[5]={0},i;

for(i=0;i<12;i++)

c[s[i]]++;

for(i=1;i<5;i++)

printf("%d",c[i]);

printf("\n");

程序的运行结果是( )。(B)

A. 2 3 4 4

B. 4 3 3 2

C. 1 2 3 4

D. 1 1 2 3

解析:在“for(i=0;i<12;i++)c[s[i]]++;”中,数组元素s[i]的值作为数组c的下标。当退出循环时,数组c的4个元素的值分别为4、3、3、2。故本题答案为B选项。

4.下列定义数组的语句中正确的是( )。(A)

A. #define N 10

int x[N];

B. int N=10;

int x[N];

C. int x[0.10];

D. int x[ ];

解析:数组定义的一般形式:类型说明符数组名[常量表达式]。B选项中N是变量,不能用变量定义数组长度。C选项中数组长度是一串非法的数字。定义数组时必须为其指明长度,D选项中的数组长度为空,所以非法。故本题答案为A选项。

5.下列选项中能正确定义数组的语句是( )。(D)

A. int num[0...2008];

B. int num[];

C. int N=2008;

int num[N];

D. #define N=2008

int num[N];

解析:C语言不允许定义动态数组,定义数组的大小必须为常量表达式。A选项错误,C语言中的数组没有此类型的定义方法;B选项错误,定义数组应指明数组大小,如果不指明数组大小,需要给定元素的个数;C选项错误,N为变量,不能用来定义数组大小。故本题答案为D选项。

6.若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是( )。(B)

A. #define n 5

int a[2*n];

B. int n=10,a[n];

C. int a[5+5];

D. #define N 10

int a[N];

解析:一维数组定义的一般形式:类型说明符数组名[常量表达式]。注意定义数组时,元素个数不能是变量。故本题答案为B选项。

7.设有定义“double a[10],*s=a;”,以下能够代表数组元素a[3]的是( )。(B)

A. (*s)[3]

B. *(s+3)

C. *s[3]

D. *s+3

解析:题干中,首先定义了double型的数组a,并将数组首地址赋给指针s。“(*s)”表示“a[1]”,“s[3]”不是指针变量,不能使用间址运算符“*”,故选项A、C不能表示“a[3]”;选项D中的“*s+3”等于“a[0]+3”。故本题答案为B选项。

8.有以下程序:

#include

main( )

{

int i,t[ ][3]={9,8,7,6,5,4,3,2,1};

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

printf("%d",t[2-i][i]);

程序的运行结果是( )。(A)

A. 3 5 7

B. 7 5 3

C. 3 6 9

D. 7 5 1

解析:二维数组t[][3]即t[3][3]={{9,8,7},{6,5,4},{3,2,1}}。执行for循环语句,当i=0时,t[2][0]=3;当i=1时,t[1][1]=5;当i=2时,t[0][2]=7;当i=3时,循环结束。故本题答案为A选项。

9.下列定义语句中错误的是( )。

B

解析:二维数组定义的一般形式:类型说明符数组名[常量表达式1][常量表达式2]。其中常量表达式1表示第1维长度,常量表达式2表示第2维长度。若对二维数组的全部元素赋初值,第1维长度可以不给出。但如果只确定行数,而不确定列数,就无法正确赋值。故本题答案为B选项。

10.下列定义数组的语句中错误的是( )。

D

解析:D选项中“x[2][3]”定义的是一个2行3列的二维数组,而在给数组元素赋值时却赋成了3行,所以D选项错误。故本题答案为D选项。

11.下列定义数组的语句中错误的是( )。

B

解析:B选项中定义的数组为2行4列,而赋值时却赋成了3行,所以B选项错误。故本题答案为B选项。

12.若有定义语句“char s[10]=”1234567\0\0”;”,则strlen(s)的值是( )。(A)

A. 7

B. 8

C. 9

D. 10

解析:strlen函数计算字符串长度时,遇到结束标识为止,且长度不包括结束标识。本题中的字符串从第1个字符开始,遇到第1个结束标识“\0”为止,注意“\0”不占字符串长度,所以字符串长度为7。故本题答案为A选项。

13.有以下程序(strcat函数用于连接两个字符串):

#include

本文档预览:3600字符,共11929字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载

剩余未完,查看全文
收藏
国家二级C语言机试(选择题)模拟试卷568

推荐资源

客服

扫码添加客服微信

热线

官方客服

如遇问题,请联系客服为您解决

电话客服:

客服微信:pujinet

工作时间:9:00-18:00,节假日休息

公众号

扫码关注微信公众号