高级语言练习题1Word下载.docx

上传人:b****5 文档编号:19284121 上传时间:2023-01-05 格式:DOCX 页数:14 大小:22.20KB
下载 相关 举报
高级语言练习题1Word下载.docx_第1页
第1页 / 共14页
高级语言练习题1Word下载.docx_第2页
第2页 / 共14页
高级语言练习题1Word下载.docx_第3页
第3页 / 共14页
高级语言练习题1Word下载.docx_第4页
第4页 / 共14页
高级语言练习题1Word下载.docx_第5页
第5页 / 共14页
点击查看更多>>
下载资源
资源描述

高级语言练习题1Word下载.docx

《高级语言练习题1Word下载.docx》由会员分享,可在线阅读,更多相关《高级语言练习题1Word下载.docx(14页珍藏版)》请在冰豆网上搜索。

高级语言练习题1Word下载.docx

一、选择题

1.在C语言中,(A)既不是保留字,也不是合法的标识符。

A.x*yB.forC.longD.x2

2.若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)。

A.x=y==5;

B.x=n%2.5;

C.x+n=i;

D.x=5=4+1;

3.下面标识符中,合法的用户标识符为(A)。

A.charB.Sum2C.3xD.f(x)

4.以下能正确地定义整型变量a、b并为它们赋初值0的语句是()。

A.inta=b=0;

B.inta,b=0;

C.inta=0,b=0;

D.inta,b

5.表达式()的值是整数类型。

A.15/2+2.0B.15/2C.25/5.0D.0.5*10

6.当调用函数时,实参是一个数组名,则向函数传送的是(B)。

A.数组的长度B.数组的首地址

C.数组每一个元素的地址D.数组每个元素中的值

7.以下选项中,不能作为合法常量的是()。

A.1.23e04B.1.23e0.4C.1.23e+4D.1.23e0

8.当用户要求输入的字符串中含有空格时,应使用的输入函数是()。

A.scanf()B.gets()C.getchar()D.getc()

9.C语言规定,在一个源程序中,main函数的位置()。

A.必须作为第一个函数B.必须作为最后一个函数

C.可以任意位置D.必须在它所调用的函数之后

10.用十进制数表示表达式12|012的运算结果是()。

A.1B.0C.14D.12

11.下列语句定义x为指向int类型变量a的指针,正确的是()。

A.inta,*x=&

a;

B.inta,*x=a;

C.int*x=&

a,a;

D.inta,x=a;

12.在一个源文件中定义的全局变量的作用域为()。

A.从定义变量开始至本文件结束B.本文件的全部范围

C.本程序的全部范围D.本函数的全部范围

13.在VC++中,若指针p已正确定义,要使p指向10个连续的整型动态存储单元,不正确的语句是()。

A.p=10*(int*)malloc(sizeof(int));

B.p=(int*)malloc(10*4);

C.p=(int*)malloc(10*sizeof(int));

D.p=(int*)calloc(10,sizeof(int));

14.设有定义“int 

k=0;

”,以下选项的四个表达式中与其他三个表达式的值不相同的是(D)。

A.k++ 

B.k+=1 

C.++k 

 

D.k+1

15.下面程序段的输出结果是()。

intj;

for(j=0;

j<

10;

j+=2)printf("

%d"

j);

A.123456789B.12468C.13579D.02468

16.以下定义语句中,错误的是()。

A.inta[]={1,2};

B.inta[][3]={{1,2},{3}};

C.chars[10]="

test"

;

D.intn=5,a[n];

17.下面程序的输出结果是(C)。

main()

{inta[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

printf("

*++p);

}

A.非法B.9C.3D.7

18.已有定义:

union

{charc[2];

intx;

}s;

s.x=0x1011;

语句printf("

\n%d,%d"

s.c[0],s.c[1]);

的输出结果为()。

A.17,16B.16,17C.10,11D.11,10

19.若有结构体employee的说明如下,则在下面的scanf()函数调用语句

中不能够为结构体变量成员正确读入数据的是()。

structemployee{charname[8];

intage;

charsex;

}s[50],*p=s;

A.scanf("

%s"

s[0].name);

B.scanf("

&

s[0].age);

C.scanf("

%c"

p->

sex);

D.scanf("

(p->

sex));

20.设有以下程序段

struct

{intnum;

floatscore;

}student,*p;

p=&

student;

若要引入结构体变量的num成员,写法错误的是()。

A.p->

numB.student.numC.student->

numD.(*p).num

21.在C语言的程序中,下列叙述错误的是()。

A.形参是局部变量

B.不同的函数中,可以使用相同名称的变量

C.在一个函数的内部,可以在复合语句中定义变量

D.main()函数中定义的变量在整个文件或程序中都有效

22.在C语言程序中,若对函数类型未加显示说明,则函数的隐含类型是()。

A.voidB.doubleC.intD.char

23.下面的程序段后,变量k中的值为(  )。

intk=3,s[2];

 s[0]=k;

k=s[1]*10;

A.不定值B.33C.10D.30

24.是int型变量,y是float型变量,所用的scanf调用格式为:

scanf(“x=%d,y=%f”,&x,&y)则为了将数据10和66.6分别赋给x和y,正确的输入为()。

A.x=10,y=66.6(回车)B.1066.6(回车)

C.10()66.6(回车)D.x=10(回车)y=66.6

25.程序的输出结果是()。

{chara[10]={9,8,7,6,5,4,3,2,1,0},*p=a+5;

*--p);

}

A.非法B.a[4]的地址C.5D.3

26.int型变量,则执行下列语句后x的值为( )。

x=6;

x+=x-=x*x;

A.36B.-60

C.60D.-24

27.有如下函数调用语句

func(rec1,rec2+rec3,(rec4,rec5));

该函数调用语句中,含有的实参个数是(A)

A.3B.4C.5D.有语法错

28.若m、x、y、z均为int型变量,则执行下面语句后的m的值是( A )。

m=1;

x=2;

y=3;

z=4;

m=(m<

x)?

m:

x;

y)?

y;

z)?

z;

A.1B.4    C.2D.3

29.若有定义inta[8];

则以下表达式中不能代表数组元素a[1]的地址的是(C)

A.&

a[0]+1B.&

a[1]C.&

a[0]++D.a+1

30.调用strlen("

abcd\0ef\ng\0"

)的结果为(A)。

A.4B.5C.10 D.12

31.以下函数不能向文件写入数据的是(B)。

A.fseekB.fwriteC.fputs D.fprintf

32.设变量说明为:

inta=30,b=20,c=10,d=a>

b>

c;

则d的值是(A)。

A.0B.1C.30D.10

33.下列叙述中正确的是(D)。

 A.break语句只能用于switch语句。

 B.在switch语句中必须使用default。

 C.break语句必须与switch语句中的case配对使用。

 D.在switch语句中,不一定使用break语句。

34.(B )不是C语言的标准函数名。

A.printfB.sinxC.powD.gets

35.以下语句序列中do…while循环的结束条件是()。

intn=0,p;

do{scanf(“%d”,&

p);

n++;

}while(p!

=12345&

&

n<

10);

A.p的值不等于12345并且n的值小于10。

B.p的值等于12345并且n的值大于等于10。

C.p的值不等于12345或者n的值小于10。

D.p的值等于12345或者n的值大于等于10。

36.以下程序的输出结果是()

main()

{charch[3][5]={"

AAAA"

"

BBB"

CC"

};

\"

%s\n"

ch[1]);

A."

B."

C."

BBBCC"

D."

37.当调用函数时,实参是一个数组名,则向函数传送的是()

A.数组的长度B.数组的首地址

38.执行下面程序中的输出语句后,a的值是()。

#include<

stdio.h>

main()

{inta;

%d\n"

(a=5,a*4,a*=4));

A.5B.10C.20D.80

39.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量‘\103’是()

A.’A’B.’B’C.’C’D.’D’

40.在C语言程序中,以下说法正确的是( )。

A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义不可以嵌套,但函数的调用可以嵌套

C.函数的定义和函数的调用都不可以嵌套

D.函数的定义和函数的调用都可以嵌套

41.设有以下定义

inta=0;

doubleb=1.25;

charc='

A'

#defined2

则下面语句中错误的是()。

A.a++;

B.b++C.c++;

D.d++;

42.使文件指针重新定位到文件读写的首地址的函数是(C)。

A.ftell()B.fseek()C.rewind()D.ferror

43.要判断char型变量m是否是数字,可以使用下列表达式()。

A.0<

=m&

m<

=9B.'

0'

<

='

9'

C."

0"

="

9"

D.以上答案均是错误的

44.下面函数的功能是(B)。

intsss(char*s,char*t)

{while((*s)&

(*t)&

(*t++==*s++));

return(*s-*t);

A.将字符串s接续到字符串t中B.比较两个字符串的大小

C.将字符串s复制到字符串t中D.求字符串的长度

45.以下有关宏替换的说法错误的是(A)。

A.宏替换是在运行时进行的B.宏名无类型

C.宏替换只是字符串替换D.宏替换不占用运行时间

参考答案:

1-5AABCB6-10BBBCC11-15AAADD16-20DCADC

21-25DCAAC26-30BAACA31-35AADBD36-40BBCCB41-45DCBBA

二、填空题

1.三个正实数a、b、c构成一个三角形的条件是。

2.若有声明:

chars[l0]=“remind”;

则执行"

puts(s+2);

后的输出结果是。

3.当a=4,b=3,c=2时,表达式a>

c的值是。

4.表示条件10<

x<

100或者x<

0的C语言表达式是。

5.表达式“xy+xy”在C语言中应表示为。

6.若有定义longx,y;

则从键盘给,y输入数据的语句应写为。

7.若inti,j;

则以下程序段中内循环体总的执行次数是__________。

for(i=5;

i>

0;

i--)

for(j=0;

2;

j++)

{...}

8.若有定义inta=10,b=20,c;

则执行c=a++||b++;

语句后,变量b的值为。

9.表达式(a=4*5,a*4,a)的值是。

10.表达式(x=4,x++,x*4,x*=4)的值是。

11.调用strlen("

IBM\n012\t\"

\\\0"

)的结果为。

12.若有定义“inta=15,c;

c=a<

变量c的值为。

13.若有定义“inta=64;

”,则执行语句“c=a>

>

”后变量c的值为。

14.设有说明语句“chars1[20],s2[20];

”,欲将s1中的字符串复制到s2中,则需要执行的语句是。

15.设有定义“inta[][3]={{0},{1},{2}};

”,则a[1][2]的初始值为。

16.设有定义

struct person

{ int ID;

char name[12];

}p;

请将scanf("

);

语句补充完整,使其能够为结构体变量p的成员ID正确读入数据。

17.定义以下结构体数组

struct

{intnum;

charname[10];

}x[3]={{1,"

China"

},{3,"

USA"

},{4,"

England"

}};

\n%d:

,x[0].num,x[0].name)的输出结果为。

18.设已有定义

s.x=0x4241;

\n%d,%d"

的输出结果为。

19.设已有定义

s.x=0x3231;

20.使文件指针重新定位到文件读写的首地址的函数是。

21.以下程序的输出结果是

#include<

string.h>

{char*p="

programming"

*q;

q=p;

strcpy(q,p);

printf("

%c%c"

p[1],q[3]);

free(p);

getch();

22.下面程序的运行结果是。

#defineDIV(x,y)x%y

{inti=10;

i=DIV(i+1,i+1);

i);

23.下面程序的输出结果是____________________。

intmain()

{inti,m=0,n=0;

for(i=1;

i<

=2;

i++)

switch(i%2)

{case0:

m++,n++;

break;

case1:

n++;

default:

m++;

}

%d%d\n"

m,n);

24.下面程序的输出结果是____________________。

intmain(void)

{

intx=1,a=0,b=0;

switch(x)

{

case0:

b++;

case1:

a++;

case2:

b++;

}

a=%d,b=%d\n"

a,b)

25.下面程序的输出结果是____________________。

intsum_diff(intx,inty,int*ps,int*pd)

*ps=x+y;

*pd=x-y;

intmain(void)

{inta,b,sum,diff;

a=4;

b=3;

diff(a,b,&

sum,&

diff);

%d,%d\n"

sum,diff);

26.下面程序的输出结果是____________________。

voidfun(int*x,int*y)

{intt;

t=*x

*x=*y;

*y=t

{inta,b;

a=1;

b=0

fun(&

a,&

b);

%d,%d\n"

a,b);

27.下面程序的输出结果是____________________。

#include<

intf(intn)

{if(n==1)return1;

elseif(n==2)return2;

elsereturnf(n-1)+f(n-2);

intmain(void)

{printf("

f(5));

return0;

28.下面程序的输出结果是____________________。

intfun(intn)

{if(n==0||n==1)return1;

elsereturnn*f(n-1);

29.以下程序的输出结果是。

intFun(intx)

staticinty=0;

y+=x;

returny;

}

{intk;

for(k=0;

k<

3;

k++)

printf("

%d"

Fun(k));

30.下面程序的输出结果是____________________。

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

inti,s=0;

for(i=0;

i<

4;

i++)

s+=aa[i][1];

s=%d\n"

s);

1._a+b>

c&

b+c>

a&

c+a>

b_2.mind3.04.x>

10&

x<

100||x<

0

5.pow(x,y)+x*y6.scanf(“%ld,%ld”,&

b)7.108._209.20

10.2011.1012.6013.1614.strcpy(s2,s1);

15.0

16.&

p.ID17.1:

china18.65,6619.49,5020.rewind()21.rg

22.1223.1224.a=2,b=125.7,126.0,127.828.12029.013

30.19

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

当前位置:首页 > 党团工作 > 入党转正申请

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

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