最新二级C语言100道经典选择题及答案Word下载.docx

上传人:b****5 文档编号:18082194 上传时间:2022-12-13 格式:DOCX 页数:24 大小:30.17KB
下载 相关 举报
最新二级C语言100道经典选择题及答案Word下载.docx_第1页
第1页 / 共24页
最新二级C语言100道经典选择题及答案Word下载.docx_第2页
第2页 / 共24页
最新二级C语言100道经典选择题及答案Word下载.docx_第3页
第3页 / 共24页
最新二级C语言100道经典选择题及答案Word下载.docx_第4页
第4页 / 共24页
最新二级C语言100道经典选择题及答案Word下载.docx_第5页
第5页 / 共24页
点击查看更多>>
下载资源
资源描述

最新二级C语言100道经典选择题及答案Word下载.docx

《最新二级C语言100道经典选择题及答案Word下载.docx》由会员分享,可在线阅读,更多相关《最新二级C语言100道经典选择题及答案Word下载.docx(24页珍藏版)》请在冰豆网上搜索。

最新二级C语言100道经典选择题及答案Word下载.docx

long 

i=32768;

执行语句printf("

%d"

i);

-32768 

32768

【1.11】已知 

i=65539;

65539 

-3 

程序不能执行

【1.12】在C语言中,整数-8在内存中的存储形式是 

1111 

1000 

0000 

1000

0111

【1.13】C语言中字符型(char)数据在内存中的存储形式是____。

原码 

补码 

反码 

ASCII码

【1.14】将字符g赋给字符变量c,正确的表达式是 

c=\147 

c="

\147"

c=’\147’ 

c=’0147’

【1.15】下列转义字符中错误的一个是____。

’\000’ 

’\0014’ 

’\x111’ 

’\2’

【1.16】将空格符赋给字符变量c,正确的赋值语句是____。

c=’\0’ 

c=NULL 

c=0 

c=32

【1.17】已知:

char 

a=’\70’;

则变量a中 

包含1个字符 

包含2个字符 

包含3个字符 

说明非法

【1.18】字符串"

\"

EOF\n=-\61\"

"

的长度是____。

14 

非法字符串

【1.19】字符串"

【1.20】已知:

a;

b;

float 

c;

double 

d;

执行语句"

c=a+b+c+d;

后,变量c的数据类型是 

double

【1.21】温度华氏和摄氏的关系是:

C=5/9*(F-32)。

已知:

C,F;

由华氏求摄氏的正确的赋值表达式是____。

C=5/9(F-32) 

C=5*(F-32)/9 

C=5/9*(F-32) 

三个表达式都正确

【1.22】逗号表达式"

(a=3*5,a*4),a+15"

的值是____。

15 

60 

30 

不确定

【1.23】如果int 

a=1,b=2,c=3,d=4;

则条件表达式"

a<

b?

a:

c

4

【1.24】为求出s=10!

的值,则变量s的类型应当为 

unsiged 

以上三种类型均可

【1.25】已知int 

i=10;

表达式"

20-0<

=i<

=9"

19 

20

【1.26】已知int 

x=1,y;

执行下述语句后变量x的值是____。

y=++x>

5&

&

++x<

10;

【1.27】为判断字符变量c的值不是数字也不是字母时,应采用下述表达式____。

c<

=48||c>

=57&

=65||c>

=90&

=97||c>

=122

!

(c<

=122)

c>

=48&

=57||c>

=65&

=90||c>

=97&

(c>

【1.28】已知 

a[3][2]={3,2,1};

则表达式"

a[0][0]/a[0][1]/a[0][2]"

0.166667 

错误的表达式

【1.29】已知 

x=1,y=1,z=1;

x+++y+++z++"

表达式错误

【1.30】用十进制表示表达式"

12|012"

12 

14

【1.31】已知以下程序段:

a=3,b=4;

a=a^b;

0011

0100 

b=b^a;

0100

则执行以上语句后a和b的值分别是____。

a=3,b=4

a=4,b=3 

a=4,b=4 

a=3,b=3

【1.32】在位运算中,操作数每右移一位,其结果相当于____。

操作数乘以2 

操作数除以2 

操作数除以16 

操作数乘以16

【1.33】已知 

a=222;

执行语句a=a&

052;

后,变量a的值是____。

222 

10 

244 

254

【1.34】已知二进制数a是00101101,如果想通过整型变量b与a做异或运算,使变量a的高4位取反,低4位不变,则二进制数b的值应是____。

11110000 

00001111 

11111111 

00000000

【1.35】已知 

a=15,执行语句a=a<

<

2以后,变量a的值是____。

20 

40 

80

【1.36】已知int 

x=5,y=5,z=5;

执行语句x%=y+z;

后,x的值是____。

6

【1.37】使用语句scanf("

x=%f,y=%f"

&

x,&

y);

输入变量x、y的值(□代表空格),正确的输入是____。

1.25,2.4 

1.25□2.4 

x=1.25,y=2.4 

x=1.25□y=2.4

【1.38】下列循环语句中有语法错误的是____。

while(x=y) 

5;

while(0) 

do 

2;

while(x==b);

x++ 

while(x==10);

【1.39】已知int 

x=(1,2,3,4);

变量x的值是____。

【1.40】表达式sizeof(double)是 

函数调用 

double型表达式 

int型表达式 

非法表达式

【1.41】执行语句printf("

2:

%d,"

printf("

1:

scanf("

x)));

以后的输出结果是____。

1,1:

1, 

1,2:

4,1:

4,

【1.42】已知:

x,y;

z;

则以下语句中错误的函数调用是 

scanf 

("

%d,%lx,%le"

y,&

z);

-*%d%lf"

%x%*d%o"

%x%o%6.2f"

【1.43】与条件表达式"

(n)?

(c++):

(c--)"

中的表达式(n)等价的表达式是____。

(n==0) 

(n==1) 

(n!

=0) 

=1)

【1.44】已知int 

i=1,j=0;

执行下面语句后j的值是____。

while(i)

switch(i)

case 

i+=1;

j++;

break;

i+=2;

j3:

i+=3;

++;

default:

i--;

}

死循环

【1.45】求取满足式 

12+22+32+ 

…… 

+n2 

≤1000的n,正确的语句是____。

for(i=1,s=0;

(s=s+i*i)<

=1000;

n=i++) 

n=++i) 

(s=s+i*++i)<

n=i) 

(s=s+i*i++)<

【1.46】下面的for语句 

for(x=0,y=10;

(y>

0)&

(x<

4);

x++,y-- 

) 

是无限循环 

循环次数不定 

循环执行4次 

循环执行3次

【1.47】已知int 

i=1;

执行语句while 

(i++<

4) 

后,变量i的值为____。

【1.48】已知int 

x=12,y=3;

执行下述程序后,变量x的值是____。

do

x/=y--;

}while(x>

程序运行有错误

【1.49】已知

a[][20]={"

Beijing"

"

shanghai"

tianjin"

chongqing"

语句printf("

%c"

a[30]);

的输出是____。

空格>

不定 

数组定义有误

【1.50】若用数组名作为函数调用时的实参,则实际上传递给形参的是 

数组首地址 

数组的第一个元素值

数组中全部元素的值 

数组元素的个数

【1.51】对二维数组的正确说明是____。

a[][]={1,2,3,4,5,6};

a[2][]={1,2,3,4,5,6};

a[][3]={1,2,3,4,5,6};

a[2,3]={1,2,3,4,5,6};

【1.52】对字符数组s赋值,不合法的一个是____。

s[]="

s[20]={"

beijing"

};

s[20];

s="

s[20]={’B’,’e’,’i’,’j’,’i’,’n’,’g’};

【1.53】对字符数组str赋初值,str不能作为字符串使用的一个是____。

str[]="

str[]={"

str[9]={’s’,’h’,’a’,’n’,’g’,’h’,’a’,’i’};

str[8]={ 

’s’,’h’,’a’,’n’,’g’,’h’,’a’,’i’};

选项缺少字符串结束标志。

【1.54】对函数形参的说明有错误的是____。

a(float 

x[],int 

n) 

*x,int 

n)

x[10],int 

x,int 

此处函数形参是一个指针变量,接受实参的地址,而不是一个数组。

【1.55】如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类型应该被说明为____。

静态变量 

动态变量 

外部变量 

内部变量

【1.56】在一个C源程序文件中,若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使用的存储类别是 

extern 

auto 

static

【1.57】在C语言中,函数的数据类型是指____。

函数返回值的数据类型 

函数形参的数据类型

调用该函数时的实参的数据类型 

任意指定的数据类型

【1.58】已知如下定义的函数:

fun1(a)

\n%d"

a);

则该函数的数据类型是____。

与参数a的类型相同 

void型

没有返回值 

无法确定

【1.59】定义一个函数实现交换x和y的值,并将结果正确返回。

能够实现此功能的是____。

swapa(int 

y) 

函数swapa是值传递,函数的执行结果不能返回

swapb(int 

*y)

temp;

temp=x;

x=y;

y=temp;

swapc(int 

*y) 

swapd(int 

*temp;

temp=*x;

*x=*y;

*y=temp;

【1.60】求一个角的正弦函数值的平方。

能够实现此功能的函数是____。

sqofsina(x) 

x;

return(sin(x)*sin(x));

sqofsinb(x)

return(sin((double)x)*sin((double)x));

sqofsinc(x)

return(((sin(x)*sin(x));

sqofsind(x)

return(double(sin(x)*sin(x)));

【1.61】一个函数内有数据类型说明语句如下:

x,y,z(10);

关于此语句的解释,下面说法正确的是____。

z是一个数组,它有10个元素。

z是一个函数,小括号内的10是它的实参的值。

z是一个变量,小括号内的10是它的初值。

语句中有错误。

【1.62】已知函数定义如下:

fun1(int 

y)

z=(float)x/y;

return(z);

主调函数中有int 

a=1,b=0;

可以正确调用此函数的语句是____。

%f"

fun1(a,b));

fun1(&

a,&

b));

fun1(*a,*b));

调用时发生错误(y不能为0)

【1.63】下面函数的功能是____。

a(s1,s2)

s1[],s2[];

while(s2++=s1++) 

字符串比较 

字符串复制 

字符串连接 

字符串反向

【1.64】在下列结论中,只有一个是错误的,它是 

C语言允许函数的递归调用

C语言中的continue语句,可以通过改变程序的结构而省略

有些递归程序是不能用非递归算法实现的 

C语言中不允许在函数中再定义函数

【1.65】已知:

a, 

*y=&

则下列函数调用中错误的是 

scanf("

 

a);

【1.66】说明语句"

(*p)( 

);

的含义是 

p是一个指向一维数组的指针变量

p是指针变量,指向一个整型数据

p是一个指向函数的指针,该函数的返回值是一个整型

以上都不对

【1.67】设有说明int 

(*p)[4];

其中的标识符p是 

4个指向整型变量的指针变量

指向4个整型变量的函数指针

一个指向具有4个整型元素的一维数组的指针

具有4个指向整型变量的指针元素的一维指针数组

【1.68】已知:

s[10], 

*p=s,则在下列语句中,错误的语句是 

p=s+5;

s=p+s;

s[2]=p[4];

*p=s[0];

【1.69】已知:

s[100];

i;

则引用数组元素的错误的形式是 

s[i+10] 

*(s+i) 

*(i+s) 

*((s++)+i)

【1.70】已知:

s[6], 

*ps=s;

则正确的赋值语句是 

12345"

*s="

ps="

*ps="

【1.71】已知:

a[3][10]={"

BeiJing"

ShangHai"

TianJin"

}, 

*pa=a;

不能正确显示字符串"

的语句是 

%s"

a+1);

*(a+1));

*a+1);

a[1][0]);

【1.72】已知:

a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};

(*ptr)[3]=a,*p=a[0];

则以下能够正确表示数组元素a[1][2]的表达式是 

*(*(a+1)+2) 

*(*(p+5)) 

(*ptr+1)+2 

*((ptr+1)[2])

【1.73】已知:

a[ 

]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a;

则值为3的表达式是 

p+=2,*(p++) 

p+=2,*++p 

p+=2,*p++ 

p+=2,++*p

【1.74】已知:

a[]={1,2,3,4}, 

y, 

*p=a;

则执行语句y 

(*++p)--;

之后, 

数组a各元素的值变为______。

0,1,3,4 

1,1,3,4 

1,2,2,4 

1,2,3,3

变量y的值是____。

【1.75】已知:

]={1,3,5,7}, 

*p= 

为使变量y的值为3,下列语句正确的是____。

y=++*p++;

y=++(*p++);

y=(++*p)++;

y=(*++p)++;

【1.76】已知:

x[ 

]={ 

1,3,5,7,9,11 

},*ptr=x;

则能够正确引用数组元素的语句是 

*(ptr--) 

x[6] 

*(--ptr)

【1.77】函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。

能正确执行此功能的函数是 

funa 

(int 

*x, 

B) 

funb 

x, 

*p;

t;

p=x;

*y=*p;

t=x;

y=t;

func 

*y=*x;

*x=*x+*y;

*y=*x-*y;

*x=*x-*y;

【1.78】有定义如下:

struct 

sk

}data 

*p;

如果 

p=&

data;

则对于结构变量data的成员a的正确引用是____。

A)(*).data.a 

(*p).a 

p->

data.a 

p.data.a

【1.79】已知:

st

n;

st 

*next;

static 

a[3]={1,&

a[1],3,&

a[2],5,&

a[0]},*p;

如果下述语句的显示是2,则对p的赋值是____。

++(p->

next->

n));

a[0];

a[1];

a[2];

a[3];

【1.80】已知:

person

name[10];

age;

}class[10]={"

L

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 英语

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1