高级语言练习题1Word下载.docx
- 文档编号:19284121
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:14
- 大小:22.20KB
高级语言练习题1Word下载.docx
《高级语言练习题1Word下载.docx》由会员分享,可在线阅读,更多相关《高级语言练习题1Word下载.docx(14页珍藏版)》请在冰豆网上搜索。
一、选择题
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级 语言 练习题