20春北师《高级程序设计(C)》 离线作业Word文档下载推荐.docx
- 文档编号:466404
- 上传时间:2023-04-29
- 格式:DOCX
- 页数:20
- 大小:32.15KB
20春北师《高级程序设计(C)》 离线作业Word文档下载推荐.docx
《20春北师《高级程序设计(C)》 离线作业Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《20春北师《高级程序设计(C)》 离线作业Word文档下载推荐.docx(20页珍藏版)》请在冰点文库上搜索。
2A.1234 B.4321
C.0000 D.4444
4.以下程序的输出结果是Amain()
{intk=4,m=1,p;
p=func(k,m);
printf(“%d,”,p);
printf(“%d”,p);
func(inta,intb);
{staticintm,i=2;
i+=m+1;
m=i+a+b;
return(m);
}分值:
A.8,17 B.8,16
C.8,20 D.8,8
5.以下程序的输出结果是Cvoidfun(int*s)
{staticintj=0;
do
s[j]+=s[j+1];
while(++j<
2);
main()
{intk,a[10]={1,2,3,4,5};
for(k=1;
k<
3;
k++)fun(a);
for(k=0;
5;
k++)printf(“%d”,a[k]);
}分值:
2A.34756
B.23445
C.35745
D.12345
6.以下程序的输出结果是Df(inta)
{intb=0;
staticintc=3;
a=c++,b++;
return(a);
{inta=2,i,k;
for(i=0;
2;
i++)k=f(a++);
printf(“%d”,k);
2A.3
B.6
C.5
D.4
7.以下程序的输出结果是Bintm=13;
intfun2(intx,inty)
{intm=3;
return(x*y–m);
{inta=7,b=5;
printf(“%d”,fun2(a,b)/m);
} 分值:
2A.1 B.2
C.7 D.10
8.C语言中,形参的缺省的存储类说明是A分值:
A.auto(自动)
B.static(静态)
C.register(寄存器)D.extern(外部)
9.以下选项中正确的整型常量是 B 。
A.12.
B.-20
C.1,000
D.456
10.以下选项中正确的实型常量是 B 。
A.0
B.3.1415
C.0.329*102
D..871
11.以下选项中不正确的实型常量是 B 。
A.2.607E-1 B.0.8103e2C.-77.77 D.456e-2
12.以下选项中不合法的用户标识符是 A 。
A.abc.c B.file
C.Main D.PRINTF
13.以下选项中不合法的用户标识符是 C 。
A._123 B.printfC.A$ D.Dim
14.C语言中运算对象必需是整型的运算符是 A 。
A.% B./
C.!
D.**
15.可在C程序中用作用户标识符的一组标识符是 B 。
A.voiddefineWORD
B.as_b3_123If
C.For-abccase
D.2cDOSIG
16.若变量已正确定义并赋值,符合C语言语法的表达式是 B 。
A.a=a+7;
B.a=7+b+c,a++
C.int(12.3%4)
D.a=a+7=c+b
17.以下叙述中正确的是 A 。
A.a是实型变量,C允许进行以下赋值a=10,因此可以这样说:
实型变量允许赋值整型值。
B.在赋值表达式中,赋值号左边既可以是变量也可以是任意表达式。
C.执行表达式a=b后,在内存中a和b存储单元中的原有值都将被改变,
a的值已由原值改变为b的值,b的值由原值变为0。
D.已有a=3,b=5。
当执行了表达式a=b,b=a之后,已使a中的值为5,b中的值为3。
18.以下叙述中正确的是 C 。
A.在C程序中无论整数还是实数,只要在允许的范围内都能准确无误的表示。
B.C程序由主函数组成。
C.C程序由函数组成。
D.C程序由函数和过程组成。
19.若a、b、c、d、都是int类型变量且初值为0,以下选项中不正确的赋值语句是 B 。
A.a=b=c=d=100;
B.d++;
C.c+b;
D.d=(c=22)-(b++);
20.以下合法的C语言赋值语句是 D 。
A.a=b=58 B.k=int(a+b);
C.a=58,b=58 D.--i;
21.若变量已正确说明为int类型,要给 D分值:
2A.read(a,b,c);
B.scanf(“%d%d%d”,a,b,c);
C.scanf(“%D%D%D”,&
a,%b,%c);
D.scanf(“%d%d%d”,&
a,&
b,&
c);
22.若变量已正确定义,要将a和b中的数进行交换,下面不正确的语句组是 C 。
A.a=a+b,b=a-b,a=a-b;
B.t=a,a=b,b=t;
C.a=t;
t=b;
b=a;
D.t=b;
a=t;
23.若有以下程序段,c3中的值是 A 。
intc1=1,c2=2,c3;
c3=c1/c2;
分值:
2A.0 B.1/2C.0.5 D.1
24.若有以下程序段,其输出结果是 B 。
inta=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(“%d,%d,%d”,a,b,c);
分值:
2A.0,0,-10 B.0,0,5
C.-10,3,-10 D.3,0,-10
25.当运行以下程序时,在键盘上从第一列开始输入9876543210(此处代表Enter),则程序的输出结果是 C 。
main()
{inta;
floatb,c;
scanf(“%2d%3f%4f”,&
printf(“a=%d,b=%f,c=%f”,a,b,c);
} 分值:
2A.a=98,b=765,c=4321
B.a=10,b=432,c=8765
C.a=98,b=765.000000,c=4321.000000D.a=98,b=765.0,c=4321.0
26.若int类型占两个字节,则以下程序段的输出是 D 。
inta=-1;
printf(“%d,%u”,a,a);
2A.-1,-1 B.-1,32767
C.-1,32768 D.-1,65535
27.以下程序段的输出是 C 。
floata=3.1415;
Printf(“|%6.0f|”,a);
2A.|3.1415| B.|3.0|
C.|3| D.|3.|
28.以下程序段的输出是 C 。
floata=57.666;
pirntf(“%010.2f”,a);
2A.*0000057.66*
B.*57.66*
C.*0000057.67*
D.*57.67*
29.C语言中的简单类型有B分值:
A.整型,实型,逻辑型
B.整型,实型,字符型
C.整型,字符型,逻辑型
D.整型,实型,逻辑型,字符型
30.C语言中,字符型(char)数据在微机内存中的存储形式是D分值:
A.反码 B.补码
C.EBCDIC码 D.ASCII码
31.C语言中不合法的字符常量是D分值:
A.′\0XFF′ B.‘\65′C.′&
′ D.′\028′
32.C语言中不合法的字符串常量是B分值:
A."
121"
B.′Y=′
C."
"
D."
ABCD\X6d"
33.判断char型变量C是否为大写字母的最简单且正确的表达式是D分值:
A.‘A’<
=C=‘Z’
B.(C>
=′A′)&
(C<
=′Z′)
C.(′A′<
=C)AND(′Z′>
=C)
D.(C>
&
=′Z′)
34.以下程序的输出结果是Dmain()
{charc1=′a′,c2=′y′;
printf("
%d,%d"
c1,c2);
A.因输出格式不合法,无正确输出B.65,90
C.A,Y
D.65,89
35.以下程序的输出结果是Bmain()
{charx=′a′
x=(x>
=′A′&
x<
=′Z′)?
(x+32):
x;
%c"
x);
A.A B.a
C.Z D.z
36.以下各组选项中,均能正确定义二维实型数组a的选项是 C 。
A.floata[3][4];
floata[][4];
floata[3][]={{1},{0}};
B.floata(3,4);
floata[3][4];
floata[][]={{0},{0}};
C.floata[3][4];
staticfloata[][4]={{0},{0}};
autofloata[][4]={{0},{0},{0}};
D.floata[3][4];
floata[3][];
37.以下正确的说法是 A 。
A.实参和与其对应的形参占用独立的存储单元
B.实参和与其对应的形参共占用一个存储单元
C.只有当实参和与其对应的形参同名时才共占用一个存储单元
D.形参是虚拟的,不占用存储单元
38.以下说法中正确的是C
A.C语言程序总是从第一个定义的函数开始执行
B.在C语言程序中,要调用的函数必须在main函数中定义
C.C语言程序总是从main函数开始执行
D.C语言程序中的main函数必须放在程序的开始部分
39.以下函数的类型是Cfff(floatx){ printf("
x*x);
A.与参数x的类型相同 B.void类型
C.int类型 D.无法确定
40.以下程序的输出结果是Cfunc(inta,intb)
{intcc=a+b;
returnc;
}main()
{intx=6,y=7,z=8,r;
r=func((x--,y++,x+y),z--);
r);
}分值:
2A.11 B.20
C.21 D.31
41.以下程序有错,错误原因是 D 。
main()
{int*p,i;
char*q,ch;
p=&
i;
q=&
ch;
*p=40;
*p=*q;
…
A.p和q类型不一致,不能执行*p=*q;
语句
B.*p中存放的是地址值,因此不能执行*p=40;
C.q没有指向具体的存储单元,所以*q没有实际意义
D.q虽然指向了具体的存储单元,但该单元中没有确定的值,所以不能执行*p=*q;
42.以下程序的输出结果是Adoublef(intn)
{inti;
doubles;
s=1.0;
for(i=1;
=n;
i++)s+=1.0/i;
returns;
}main()
{inti,m=3;
floata=0.0;
for(i=0;
i
printf("
%f"
a)L;
}分值:
A.5.500000 B.3.000000C.4.000000 D.8.25
43.若有定义:
intx,*pb;
则在以下正确的赋值表达式是A
A.pb=&
x B.pb=x
C.*pb=&
x D.*pb=*x
44.以下程序的输出结果是B#include"
stdio.h"
main()
{printf("
NULL);
2A.因变量无定义输出不定值
C.-1
D.1
45.有如下语句inta=10,b=20;
*p1=&
a,*p2=&
b;
如果让两个指针变量均指向b,正确的赋值方式是 B 。
A.*p1=*p2;
B.p1=p2;
C.p1=*p2;
D.*p1=*p2;
46.已知指针P的指向如图所示,则表达式*P++的值是Ba[0]a[1]a[2]a[3]a[4]
10 20 30 40 50
P分值:
A.20 B.30
47.已知指针P的指向如图所示,则表达式*++P的值是Ba[0]a[1]a[2]a[3]a[4]
C.21 D.31
48.已知指针P的指向如图所示,则表达式++*P的值Ca[0]a[1]a[2]a[3]a[4]
49.以下能正确进行字符串赋值、赋初值的语句组是B
A.chars[5]={′a′,′e′,′i′,′o′,′u′};
B.char*s;
s="
good!
"
;
C.chars[5]="
D.chars[5];
good"
50.若有以下说明和定义,则对fun函数的正确调用语句是B分值:
A.a=fun;
a(w);
B.a=fun;
(*a)(&
C.b=fun;
*b(w);
D.fun(b);
{
int(*a)(int*),*b(),w[10],c;
:
fun(int*c){...}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高级程序设计C 20春北师高级程序设计C 离线作业 20 春北师 高级 程序设计 离线 作业