吉林大学网络教育秋《C语言程序设计》作业答案.docx
- 文档编号:4374121
- 上传时间:2023-05-07
- 格式:DOCX
- 页数:58
- 大小:41.29KB
吉林大学网络教育秋《C语言程序设计》作业答案.docx
《吉林大学网络教育秋《C语言程序设计》作业答案.docx》由会员分享,可在线阅读,更多相关《吉林大学网络教育秋《C语言程序设计》作业答案.docx(58页珍藏版)》请在冰点文库上搜索。
吉林大学网络教育秋《C语言程序设计》作业答案
C语言程序设计
1:
在C语言中,文件的存取是以()为单位的,这种文件被称作()文件。
字符、流式
2:
设x=10100011,若要通过x^y使x的高4位取反,低4位不变,则y的二进制数是()。
11110000
3:
若a是int型变量,且a的初值为6,则计算表达式后a的值为()a+=a-=a*a-60
4:
与表达式x^=y-2等价的另一书写形式是( ).x=x^y一2或X=x^(y一2)
5:
在C语言中,一个函数一般由两个部分组成,它们是()和()。
函数说明部分、函数体
6:
以下程序的功能是将磁盘文件的内容在打印机上输出。
请在【】处填入适当的内容。
#include
#defineSIZE256
main(intargc,char*argv[argv[1]])
{
charbuff[SIZE];
FILE*fpr,*fpd;
if(argc!
=2)
{
puts(“\7Usege:
typefilename”);
exit();
}
while(fgets(【】)!
=NULL)
fputs(【】);
fclose(fpr);
fclose(fpd);
}buff,SIZE,fpr、buff,fpd
7:
若x和n均是int型变量,且x的初值为12,n的初值为5,则计算表达式后x的只为()。
x%=(n%=2)0
8:
若有定义:
intx=3,y=2;floata=2.5,b=3.5;则下面表达式的值为()。
1
9:
若有定义:
intb=7;floata=2.5,c=4.7;则下面表达式的值为().
a+(int)(b/3*(int)(a+c)/2)%45.500000
10:
表达式10%3的结果是()1
11:
把以下多项式写成只含七次乘法运算,其余皆为加、减运算的表达式().
5X^7+3X^6-4X^5+2X^4+X^3-6X^2+X+10
x*〔X*(x*(x*(x*(X*(5*x十3)一4)十2)十1)一6)十1)十10
12:
下面程序的运行结果是()。
#include
main()
{inty,a;
y=2;a=1;
while(y--!
=-1)
{do{a*=y;a++;}while(y--);}
printf(“%d,%d”,a,y);
}1,-2
13:
当调用函数read从磁盘文件中读数据时,若函数的返回值为10,则表明读入了10个字符;若函数的返回值为0,则是( );若函数的返回值为-1,则意味着()。
遇到了文件结束符、读文件出错
14:
以下程序的功能是用“追加“的形式打开gg.txt查看文件指针的位置;然后向文件中写入”data”再查看文件指针的位置。
其中ftell(*FILE)返回long型的文件指针位置。
程序执行前gg.txt内容为:
sample。
请在【】处填入适当的内容。
#include
Voidmain(void)
{【 】
longposition;
fp=fopen(【 】);
position=ftell(fp);
printf(“position=%ld\n”,position);
fprintf(【 】);
position=ftell(fp);
printf(“position=%ld\n”,position);
fclose(fp);
fclose(fp);
}FILE*fp、"gg.txt","a"、fp,"data"
15:
在C语言中(以16位PC机为例),一个float型数据在内存中所占用的字节数为();一个double型数据在内存中所占用的字节数为()。
4、8
16:
执行下列语句后,a的值是()
inta=12;a+=a-=a*a;-264
17:
以下程序的运行结果是( )。
main()
{increment();
increment();
increment();
}
increment();
{intx=0;
x+=1;
printf(“%d”,x);
}111
18:
以下程序的运行结果是().
main()
{structEXAMPLE{struct{
intx;
inty;
}in;
inta;
intb;
}e;
e.a=1;e.b=2;
e.in.x=e.a*e.b;
e.in.y=e.a+e.b;
printf(“%d,%d”,e.in.x,e.in.y);
}2,3
19:
若a、b和c均是int型变量,则计算表达式后,a值为(),b值为(),c值为()。
a=(b=4)+(c=2)6、4、2
20:
设有chara,b;若要通过a&b运算屏蔽掉a中的其它位,只保留第2和第8位(右起为第1位),则b的二进制数是().10000010
21:
下面程序段的运行结果是( )。
i=1;s<3;
do{s+=i++;
if(s%7==0)continue;
else++i;
}while(s<15);
printf(“%d”,i);8
22:
若x和y都是double型变量,且x的初值为3.0,y的初值为2.0,则表达式pow(y,fabs(x))的值为()。
8.000000
23:
下面程序运行结果是( )。
chars[20]=”abcd”;
char*ssp=s;
sp++;
puts(strcat(sp,”ABCD”));bcdABCD
24:
下面程序段的运行结果是( )。
chars[80],*sp=”HELLO!
”;
sp=strcpy(s,sp);
s[0]=’h’;
puts(sp);hELLO!
25:
以下程序的运行结果是().
mian()
{
unsigneda,b;
a=0*9a;
b=a;
printf(“a:
%x\nb:
%x\n”,a,b);
}a:
9ab:
ff65
26:
假设所有变量均为整型,则表达式(a=2,b=5,a++,b++,a+b)的值为()。
9
27:
下面程序的运行结果是( )。
#include
main()
{inti,k=0;
for(i=1;;i++)
{k++;
while(k
{k++;
if(k%3==0)gotoloop;
}
}
loop:
printf(“%d,%d,i,k”);
}2,3
28:
以下的运行结果是()。
#include”string.h”
int*P;
main()
{inta=1,b=2,c=3;
p=&b;
pp(a+c,&b);
printf(“(!
)%d%d%d\n”,a,b,*p);
}
pp(inta,int*b)
{intc=4;
p=*b+c;
a=*p-c;
printf(“
(2)%d%d%d\n”,a,*b,*p);
}266,166
29:
以下程序的运行结果是().
structn{
intx;
charc;
};
main()
structna={10,‘x’};
func(a);
printf(%d,%c,a.x,a.c);
}
func(structnb)
{b.x=20;
b.c=’y’;
}10,x
30:
以下程序的运行结果是( )。
main()
{inti=2,x=5,j=7;
fun(j,6);
printf(“i=%d;j=%d;x=%d\n”,i,j,x);
}
fun(inti,intj)
{intx=7;
printf(“i=%d;j=%d;x=%d\n”,i,j,x);
}i=7;j=6;x=7(打)
1:
下面有关for循环的正确描述是()4.for循环体语句中,可以包含多条语句,但要用花括号括起来
2:
下面程序段的运行结果是()。
char*s=”abcde”;
s+=2;printf(“%d”,s);3.字符’c’的地址
3:
已有程序和输入数据的形式,程序中输入语句的正确形式应当为()。
(注:
?
表示空格,
main()
{inta;floatf;
printf(“\nInputnumber:
”);
输入语句
printf(“\nf=%f,a=%d\n”,f,a);
}
Inputnumber:
4.5?
?
2
4:
下面四个选项中,均是合法整形常量的选项是().
1.
160
-0xffff
011
5:
C语言共用体型变量在程序运行期间()。
2.只有一个成员驻留在内存中
6:
以下程序的运行结果是()...
typedefunion{longa[2];
intb[4];
charc[8];
}TY
TYour;
main()
{printf(“%d\n”,sizeof(our));
}3.8
8:
在C语言中,要求运算数必须是整形的运算符是().4.%
9:
若有说明:
inta[3][4];则对a数组元素的非法引用是()。
4.a[0][4]
10:
若有以下定义和说明:
#include“stdio.h”
structstd
{charnum[6];
charname[8];
floatmark[4];
}a[30];
FILE*fp;
设文件中以二进制形式存有10个班的学生数据,且已正确打开,文件指针定
位于文件开头。
若要从文件中读出30个学生的数据放入a数组中,以下不能
此功能的语句是()。
4.for(i=0;i<30;i++)
fread(a[i],sizeof(structstd),1L,fp);
11:
设有以下结构体类型:
structst{charname[8];intnum;floats[4];}student[50];并且结构体数组student中的元素都已有值,若要将这些元素写到硬盘文件fp中,以下不正确的形式是()。
3.fwrite(student,25*sizeof(structst),25,fp);
12:
设有以下说明,则下面不正确的叙述是()。
Uniondata
{inti;
charc;
floatf;
}un;
3.un可以作为函数参数
13:
请读程序:
#defineADD(x)x+x
main()
{
intm=1,n=2,k=3;
intsum=ADD(m+n)*k;
printf(“sum=%d”,sum);
}
上面程序的运行结果是()。
2.sum=10
14:
fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()。
3.读或读写
15:
若有语句int*point,a=4;和point=&a;下面均代表地址的一组选项是()。
4.&a,&*point,point
16:
C语言结构体类型变量在程序执行期间().1.所有成员一直驻留在内存中
17:
设位段的空间分配由右到左,则以下程序的运行结果是().
structpacked_bit
{unsigneda:
2;
unsignedb:
3;
unsignedc:
4;
intI;
}data;
main()
{data.a=8;data.b=2;
printf(“%d\n”,data.a+data.b);
}
2.2
18:
已有变量定义和函数调用语句:
inta=25;print_value(&a);下面函数的正确输出结果是()。
voidprint_value(int*t)
{print(“%d\n”,++*x);}4.26
19:
在位运算中,操作数每左移一位,其结果相当于().1.操作数乘以2
20:
以下C程序正确的运行结果是().
main()
{inty=2456;
printf(“y=%3o\n”,y);
printf(“y=%8o\n”,y);
printf(“y=%#8o|n”,y);
}
4.y=4630
y=4630
y=04630
21:
下面不正确的字符串常量是()1.’abc’
22:
以下关于运算符优先顺序的描述中正确的是().3.以赋值运算符<逻辑与运算符<关系运算符<算术运算符
23:
以下正确的叙述是().4.在C程序中,%是只能用于正数运算的运算符
24:
已知学生记录描述为
structstudent
{intno;
charname[20];
charset;
struct
{intyear;
intmonth;
intday;
}birth;
};
structstudents;
设变量s中的“生日”应是“1984年11月11日”,下列对生日的正确赋值方式是( ).4.s.birth.year=1984;s.birth.month=11;s.birth.day=11;
25:
下面程序段的运行结果是().for(x=3,x<6;x++)printf((x%2)?
(“##%d\n”),x);4.**3##4**5
26:
以下不正确的叙述是()4.当从键盘输入数据时,对于整形变量只能输入整形数值,对于实型变量只能输入实型数值
27:
下面四个选项中,均是合法浮点数的选项是().2.-.6012e-4-8e5
28:
表达式~0x13的值是().1.0xFFEC
29:
一个c程序是由()。
2.一个或多个函数组成
30:
以下对二维整形数组a进行正确初始化的语句是()。
2.inta[][3]={{1,2,3},{4,5,6}};
1:
若有定义:
inte=1,f=4,g=2;floatm=10.5,n=4.0,k;则计算赋值表达式k=(e+f)/g+sqrt((double)n)*1.2/g+m后k的值是().
回答:
13.700000
3:
请读程序片段:
intm=20,n=025;
elseprintf(“nnn\n”)
以上程序片段的输出结果是().
回答:
mmm
5:
请读程序片段:
intx=1;
printf(“%d\n”,x);
上面程序片段的输出结果是().
回答:
-2
6:
若输入的值是-125,以下程序的运行结果是()。
#include“math.h”
main()
{intn;
scanf(“%d”,&n);
printf(“%d=”,n);
if(n<0)printf(“-”);
n=fabs(n);
fun(n);
}
fun(intn)
{intk,r;
for(k=2;k<=sqrt(n);k++)
{r=n%k;
while(r==0)
{printf(“%d”,k);
n=n/k;
if(n>1)printf(“*”);
r=n%k;
}
}
if(n!
=1)printf(“%d\n”,n);
}
回答:
?
125=?
5*5*5(打印)
10:
以下程序的运行结果是().
main()
{
chara=-8;unsignedcharb=248;
printf(“%d,%d”,a>>2,b>>2);
}
回答:
-2,62
11:
若有以下定义,则计算表达式y+=y-=m*=y后y值是()
回答:
-6
12:
以下程序的运行结果是( )。
#include
main()
{inta=1,b=2,c;
c=max(a,b);
printf(“maxis%d\n”,c);
}
max(intx,inty)
{intz;
z=(x>y)?
x:
y;
return(z);
}
回答:
maxis2
13:
请读程序片段:
unsigneda=16;
printf(“%d,%d,%d\n”,a>>2,a=a>>2,a);
以上程序片段的输出结果是().
回答:
1,4,16
14:
与表达式x^=y-2等价的另一书写形式是( ).
回答:
x=x^y一2或X=x^(y一2)
15:
设x=10100011,若要通过x^y使x的高4位取反,低4位不变,则y的二进制数是()。
回答:
11110000
16:
面程序段的运行结果是( )。
char[]=”12345’,*p;
ints=0;
for9p=a;*p!
=`\0`;p++)s=10*s+*p-`0`;
printf(“%s”,P+5);
回答:
12345
17:
在C语言中(以16位PC机为例),一个char型数据在内存中所占用的字节数为();一个int型数据在内存中所占用的字节数为( )。
回答:
4、8
18:
在C语言中,&运算符作为单目运算符时表示的是();作为双目运算符时表示的是()运算.
回答:
取地址、按位与
21:
以下程序的运行结果是( )。
main()
{increment();
increment();
increment();
}
increment();
{intx=0;
x+=1;
printf(“%d”,x);
}
回答:
111
22:
已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-‘3’的值为()。
回答:
f
24:
下面程序段的运行结果是( )。
harstr[]=”abc\0def\0ghi”,*p=str;
printf(“%s”,p+5);
回答:
ef
25:
设intx;当x的值分别为1、2、3、4时.表达式(x&l==1)?
1:
o的值分别是(),(),(),().
回答:
1、0、1、0
26:
在C语言中,一个int型数据在内存中占用2个字节,则int型数据的取值范围为( )
回答:
-32768~+32767或-32768~+32767
27:
若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为(),n的值为()。
x+=n++
回答:
10、6(打)
28:
以下程序的运行结果是().
main()
{
unsignedchara,b;
a=0*1b;
printf(“0x%x\n”,b=a<<2);
}
回答:
0x6c
3:
C语言中的标识符只能由三种字符组成,它们是(),(),()。
回答:
字母、数字、下划线
18:
若a是int型变量,则计算表达式后a的值为()
a=25/3%3
回答:
2
19:
定义intx,yl执行y=(x=1,十十x,x十2)5语句后,y的值是()
回答:
4
20:
以下的运行结果是()。
#include
main()
{intI,k;
for(I=0;I<4;I++);
{k=sub(&I);
printf(“%3d”,K);
}
printf(“\n”);
}
sub(int*s)
{staticintt=0;
t=*s+t;
}
回答:
0136
21:
若有定义:
charc=’\010’;则变量c中包含的字符个数为().
回答:
1个
26:
若s是int型变量,且s=6,则下面表达式的值为()。
s%2+(s+1)%2
回答:
1
29:
测试char型变量a第六位是否为1的表达式是()(设最右位是第一位)
回答:
a&040或a&0x20或a&32
1:
若有以下说明和语句,则对中域的正确引用方式是()。
Structpupil
{charname[20;
intsex;
}pup,*p;
p=&pup;
4.(*p).sex
2:
以下for循环是()。
for(x=0,y=0;(y!
=123)&&(x<4);x++);
3.执行4次
3:
若I为整型变量,则以下循环执行次数是().
for(I=2;I==1)printf(“%d”,I--);
2.0次
4:
一个C语言程序是由()。
2.函数组成
5:
设有下面的程序段:
chats[]=”china”;char*p;p=s;
则下列叙述正确的是()。
4.*p与s[0]相等
6:
利用fseek函数的正确调用形式是().4.以上答案均正确
7:
fwrite函数的一般调用形式是()。
4.fwrite(buffer,size,count,fp);
8:
在16位IBM-PC机上使用C语言,若有如下定义:
structdata
{inti;
charch;
doublef;
}b;
则结构变量b占用内存的字节数是().
4.4
9:
函数rewind的作用是().
1.使位置指针重新返回文件的开头
10:
以下对C语言中共用体类型数据的叙述正确的是()。
3.一个共用体变量中不可能同时存放其所有成员
11:
下面四个选项中,均是不合法转义字符的选项是().
2.’\1011’
‘\’
‘\a’
12:
若已定义inta=5;下面对
(1),
(2)两个语句的正确解释是()。
(1)int*p=&a;
(2)*p=a;
4.
(1)在对p进行说明的同时进行初始化,使p指向a
(2)将变量a的值赋于*p
13:
以下符合C语言语法的赋值表达式是().
2.d=9+e,f=d+9
14:
以下程序的运行结果是()。
#defineMIN(x,y)(x)<(y)?
(x):
(y)
main()
{inti=10,j+15,k;
k+10*MIN(i,j);
printf(“%d\n”,k);
}
2.15
15:
下面不正确的字符串常量是()
1.’abc’
16:
下面程序运行结果是().
#include
main()
{inta=1,b=10;
do
{b-=a;a++;}while(b--<0);
printf(“a=%d,b=%d\n”,a,b);
}
2.a=2,b=8
17:
在一个c源程序文件中,若要定义一个只允许本源文件中所有
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 吉林大学 网络 教育 语言程序设计 作业 答案