武汉地大 计算机高级语言C作业答案Word文档格式.docx
- 文档编号:21178989
- 上传时间:2023-01-28
- 格式:DOCX
- 页数:24
- 大小:29.35KB
武汉地大 计算机高级语言C作业答案Word文档格式.docx
《武汉地大 计算机高级语言C作业答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《武汉地大 计算机高级语言C作业答案Word文档格式.docx(24页珍藏版)》请在冰豆网上搜索。
signedshortint
unsignedlongint
unsignedint
longshort
11.C语言中的基本数据类型包括_____。
(A)整型、实型、逻辑型
(B)整型、实型、字符型
(C)整型、逻辑型、字符型
(D)整型、实型、逻辑型、字符型
12.以下选项中正确的定义语句是_____(4分)
doublea;
b;
doublea=b=7;
doublea=7,b=7;
double,a,b;
13.下列常数中,合法的C语言常量是_____。
(A)’\n’
(B)e-310
(C)’DEF’
(D)’1234’
14.下列符号中,可以作为变量名的是_____。
(A)+c
(B)*X
(C)_DAY
(D)nextday
15.已知intj,i=1;
执行语句j=-i++;
后,j的值是_____。
(A)1
(B)2
(C)-1
(D)-2
16.字符串"
\\\22a,0\n"
的长度_____。
(A)8
(B)7
(C)6
(D)5
17.已知:
chara='
\70'
;
则变量a中_____。
(A)包含1个字符
(B)包含2个字符
(C)包含3个字符
(D)说明非法
18.不能进行++和--运算的数据类型是_____。
指针
double
int
long
19.已知:
floatx=1,y;
则:
y=++x*++x的结果为_____。
(A)y=9
(B)y=6
(C)y=1
(D)表达式是错误的
20.以下_____是错误的转义字符。
(A)'
\\'
(B)'
\'
'
(C)'
\81'
(D)'
\0'
21.下列可以正确表示字符型常数的是_____。
(A)"
a"
\t'
(C)"
\n"
(D)297
22.a、b是整型变量,执行语句scanf("
a=%d,b=%d"
&
a,&
b);
使a和b的值分别为1和2,正确的输入是_____。
(A)12
(B)1,2
(C)a=1;
b=2;
(D)a=1b=2
23.下面程序的输出结果是_____。
mian()
{
intx=2,y=0,z;
x*=3+2;
printf(“%d”,x);
x*=y=z=4;
}(4分)
(A)840
(B)1040
(C)10,4
(D)8,4
24.运行以下程序后,输出_____。
main()
{
intk=-3;
if(k<
=0)printf("
****\n"
)elseprintf("
&
);
}(4分)
(A)****
(B)&
(C)####&
(D)有语法错误不能通过编译
25.已知在ASCII集中,字母A的序号为65,下面程序的输出结果为_____。
main()
charc1=’B’,c2=’Y’;
printf(“%d,%d\n”,++c1,--c2);
(A)输出格式不合法,输出错误信息
(B)67,88
(C)66,89
(D)C,X
1.以下说法中正确的是_____。
(A)C语言程序总是从第一个定义的函数开始执行。
(B)在C语言程序中,要调用的函数必须在main函数中定义。
(C)C语言程序总是从main函数开始执行。
(D)C语言程序中的main函数必须放在程序的开始部分。
2.下列各叙述中,正确的叙述项是_____。
(A)定义函数时,必须要有形参。
(B)函数中可以没有return语句,也可以有多条return语句。
(C)函数f可以用f(f(x))形式调用,这种调用形式是递归调用。
(D)函数必须有返回值。
3.下列各叙述中,不正确的叙述项是_____。
函数调用时,形参只有在被调用时才被创建(分配存储单元)。
函数调用时,实参可以是常量、变量或表达式。
定义局部变量时,省略对变量的存储类别定义,则变量是自动型变量。
语句return(a,b);
则函数可以返回两个值。
4.如果在函数的复合语句中定义一个变量,有关该变量作用域正确的是_____。
(A)只在该复合语句中有效
(B)在该函数中有效
(C)在本程序中有效
(D)为非法变量
5.C语言规定,简单变量作实参,它与对应形参之间的数据传递方式是:
_____。
(A)地址传递;
(B)单向值传递;
(C)双向值传递;
(D)由用户指定传递方式
6.以下关于C语言程序中函数的说法正确的是:
函数的定义可以嵌套,但函数的调用不可以嵌套
函数的定义不可以嵌套,但函数的调用可以嵌套
函数的定义和调用均不可以嵌套
函数的定义和点用都可以嵌套
7.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是_____。
(A)float型
(B)int型
(C)long型
(D)double型
8.若用数组名作为函数调用的实参,传递给形参的是_____。
(A)数组的首地址
(B)数组第一个元素的值
(C)数组中全部元素的值
(D)数组元素的个数
9.以下不正确的说法为_____。
(A)在不同函数中可以使用相同名字的变量
(B)形式参数是局部变量
(C)在函数内定义的变量只在本函数范围内有效
(D)在函数内的复合语句中定义的变量在本函数范围内有效
10.若有定义:
intx,*pb;
,则以下正确的赋值表达式是_____。
pb=&
x
pb=x
*pb=&
*pb=*x
11.下列语句定义p为指向float型变量d的指针,其中正确的是_____。
floatd,*p=d;
float*p=&
d,d;
floatd,*p=&
d;
floatd,p=d;
12.变量的指针,其含义是指该变量的_____。
(A)值
(B)地址
(C)名
(D)一个标志
13.设有说明int(﹡ptr)[M];
其中ptr是_____。
(A)M个指向整型变量的指针
(B)指向M个整型变量的函数指针
(C)一个指向具有M个整型元素的一维数组的指针
(D)具有M个指针元素的一维指针数组,每个元素都只能指向整型量
14.已有定义intk=2,*ptr1,*ptr2;
且ptr1和ptr2均已指向同一个变量k,下面不正确执行的赋值语句是:
k=*ptr1+*ptr2;
ptr2=k;
ptr1=ptr2;
k=*ptr1*(*ptr2);
15.调用strlen("
abcd\0ef\0g"
)的返回值为_____。
(A)4
(B)5
(C)8
(D)9
16.在C语言中,引用数组元素时,其数组下标的数据类型允许是_____。
(A)整型常量
(B)整型表达式
(C)整型常量或整型表达式
(D)任何类型的表达式
17.已知inta[10];
则对a数组元素的正确引用是_____。
a[10]
a[3.5]
a(5)
a[10-10]
18.已知inta[3][4];
则对数组元素引用正确的是_____。
a[2][4]
a[1.3]
a[1+1][0]
a
(2)
(1)
19.下列程序段的运行结果为_____。
chars[]="
ab\0cd"
printf("
%s"
,s);
ab0
ab
abcd
abcd
20.有如下函数调用语句
func(rec1,rec2+rec3,(rec4,rec5);
该函数调用语句中,含有的实参个数是_
(1)_。
(A)3
(B)4
(C)5
(D)有语法错
21.以下错误的描述是_____。
函数调用可以(4分)
(A)出现在执行语句中
(B)出现在一个表达式中
(C)做为一个函数的实参
(D)做为一个函数的形参
22.以下正确的说法是_____。
如果在一个函数中的复合语句中定义了一个变量,则该变量(4分)
(C)在本程序范围内有效
23.对下面函数f,选出f(f(3))的值是_____。
intf(intx)
staticintk=0;
x+=k--;
returnx;
(A)5
(B)3
(C)2
(D)4
24.若有以下定义,则对a数组元素的正确引用是_____。
inta[5],﹡p=a;
(A)﹡&
a[5]
(B)a+2
(C)﹡(p+5)
(D)﹡(a+2)
25.若有以下定义,则﹡(p+5)表示_____。
inta[6],﹡p=a;
元素a[5]的地址
元素a[5]的值
元素a[6]的地址
元素a[6]的值
1.对于基类型相同的两个指针变量之间,不能进行的运算是_____。
<
=
+
–
2.设intx;
,则经过_____后,语句*px=0;
可将x值置为0。
int*px;
int*px=&
x;
float*px;
float*px=&
3.若已定义:
inta[9],*p=a;
并在以后的语句中未改变p的值,则不能表示a[1]地址的表达式是_____。
p+1
a+1
a++
++p
4.已建立一单向链表,指针变量p1指向链表中某一结点,p2指向下一结点,将p2所指结点从链表中删除并释放的语句为_____。
p1=p2;
free(p2);
p1->
next=p2->
next;
*p1.next=*p2.next;
free(p2);
p1=p2->
5.已建立一单向链表,指针变量p1指向链表中某一结点,p2指向下一结点;
指针变量p指向新申请结点,将p所指结点插入到链表中p1与p2之间的语句为_____。
p->
next=p2;
next=p;
p1=p;
p=p2;
p=p2;
p1->
p->
6.fread(buf,64,2,fp)的功能是_____。
从fp文件流中读出整数64,并存放在buf中;
从fp文件流中读出整数64和2,并存放在buf中;
从fp文件流中读出64个字节的字符,并存放在buf中;
从fp文件流中读出2个64个字节的字符,并存放在buf中;
7.系统的标准输出文件stdout是指_____。
键盘
显示器
软盘
硬盘
8.若执行fopen函数时发生错误,则函数的返回值是_____。
(A)地址值
(B)0
(C)1
(D)EOF
9.为了显示一个文本文件的内容,在打开文件时,文件的打开方式应当为_____。
r+"
(B)"
w+"
wb+"
(D)"
ab+"
10.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该是_____。
rb+"
ab"
11.在C语言中,从计算机内存中将数据写入文件中,称为_____。
(A)输入
(B)输出
(C)修改
(D)删除
12.以下定义语句中,错误的是_____。
inta[]={1,2};
char*a[3];
chars[10]="
test"
intn=5,a[n];
13.执行以下程序段后y的值为_____。
staticinta[]={1,3,5,7,9};
inty,x,*ptr;
y=1;
ptr=&
a[1];
for(x=0;
x<
3;
x++)
y*=*(ptr+x);
105
15
945
无确定值
14.执行以下程序段后,m的值为_____。
staticinta[2][3]={1,2,3,4,5,6};
intm,*ptr;
a[0][0];
m=(*ptr)*(*(ptr+2))*(*(ptr+4));
48
24
无定值
15.以下程序的功能是_____。
main()
FILE*fp;
charstr[]=“HELLO”;
fp=fopen(“PRN”,“w”);
fpus(str,fp);
fclose(fp);
在屏幕上显示“HELLO”
把“HELLO”存入PRN文件中
在打印机上打印出“HELLO”
以上都不对
16.若fp是指向某文件的指针,且已读到此文件末尾,则库函数
feof(fp)的返回值是_
(1)_。
EOF
非零值
NULL
17.若fp为文件指针,且文件已正确打开,i为long型变量,以下程序段的输出结果是_____。
fseek(fp,0,SEEK_END);
i=ftell(fp);
printf("
i=%ld\n"
i);
–1
fp所指文件的长度,以字节为单位
2
18.以下对C语言中联合类型数据的叙述正确的是_____。
可以对联合变量名直接赋值
使用联合变量的目的是为了节省内存
对一个联合变量,可以同时引用联合中的不同成员
联合类型定义中不能出现结构类型的成员
19.若有以下说明和语句:
structworker
{intno;
char﹡name;
}work,﹡p=&
work;
则以下引用方式不正确的是_
(1)_。
work.no
(﹡p).no
no
work->
20.有如下定义:
structdate{intyear,month,day;
};
structworklist{
charname[20];
charsex;
structdatebirthday;
}person;
对结构体变量person的出生年份进行赋值时,下面正确的赋值语句是_
(1)_。
year=1958
birthday.year=1958
person.birthday.year=1958
person.year=1958
21.有以下定义浯句:
structnode{intn;
structnode*next;
}x,y,*p=&
x,*q=&
y;
则能将y结点链接到x结点之前的语句为________。
(A)x.next=p;
(B)x.next=q;
(C)y.next=p;
(D)y.next=q;
22.有以下的结构体变量定义语句:
structstudent{intnum;
charname[9];
}stu;
则下列叙述中错误的是________。
结构体名为student
结构体类型名为stu
num是结构体成员名
struct是C的关键字
23.以下程序的输出结果是________。
#include<
stdio.h>
voidmain()
structcmplx{intx;
inty;
}cnum[2]={1,3,2,7};
%d\n"
cnum[0].y/cnum[0].x*cnum[1].x);
(A)0
(B)1
(C)3
(D)6
24.以下程序的输出结果为________。
structnode{intn;
}a[4];
inti;
for(i=0;
i<
i++)
{(a+i)->
n=i+1;
(a+i)->
next=a+i+1;
}
(a+i)->
next=a;
%d,%d\n"
(a[1].next)->
n,a[3].next->
n);
(A)1,2
(B)2,1
(C)1,3
(D)3,1
25.若要利用下面的程序片段使指针变量p指向一个存储整型变量的存储单元,则应向空格处填入以下哪一选项________。
int
int*
(*int)
(int*)
1.下列各语句序列中,能够将变量u、s中最大值赋值到变量t中的是_____。
(5分)
if(u>
s)t=u;
t=s;
if(u>
s)t=s;
elset=u;
t=u;
2.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。
如果格式说明的个数小于输出项的个数,多余的输出项将_____;
如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
(A)不予输出
(B)输出空格
(C)照样输出
(D)输出不定值或0
3.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 武汉地大 计算机高级语言C作业答案 武汉 计算机 高级 语言 作业 答案