C语言程序设计A课程形成性考核作业_第1页
C语言程序设计A课程形成性考核作业_第2页
C语言程序设计A课程形成性考核作业_第3页
C语言程序设计A课程形成性考核作业_第4页
C语言程序设计A课程形成性考核作业_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

教育部人才培养模式

改革和开放教育试点

C语言程序设计A

形成性考评册

学校名称:___________________

学生姓名:___________________

学生学号:___________________

班级:

C语言程序设计A

姓名:___________

形考作业1

学号:__________

得分:___________

姓府署幺.

一、选择题:(第1〜13小题每小题2分,第14〜17小题每小题3分,共38分)

1.在每个C语言程序中都必须包含有这么一个函数,该函数函数名为()。

A.mainB.MAINC.nameD.funtion

2.C语言原程序文件缺省扩展名为()。

A.cppB.exeC.objD.C

3.由C语言目标文件连接而成可执行缺省扩展名为()。

A.cppB.exeC.objD.C

4.程序运行中需要从键盘输入多于一个数据时,各数据之间应使用()符号作为分隔符。

A.空格或逗号B.逗号或回车C.回车或分号D.空格或

回车

5.每个C语言程序编译错误分为()类。

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

6.设x和y均为逻辑值,则x&&y为真条件是()。

A.它们均为真B.其中一个为真C.它们均为假D.其中

一个为假

7.设有语句“inta=12;a+=a*a;",则执行结束后,a值为()。

A.12B.144C.156D.288

8.x>0&&x<=10相反表示式为()。

A.x<=0I|X>10B.x<=0&&x>10C.x<=0||x<=10D.x>0

&&x>10

9.字符串字+b=12\n”长度为()o

A.6B.7C.8D.9

10.在以下符号常量定义中。错误定义语句格式为)

A.constMl=10;B.constintM2=20;C.constM310D.const

charmark='3';

11.带有随机函数表示式rand()%20值在()区间内,

A.T19B.「20C.0~19D.0~20

12.当处埋特定问题时循环次数一知时,通常采取()循环来处埋。

A.forB.w1i1eC.do-whileI),switch

13.在switch语句每个case块中,假定都是以break语句结束,则此switch语句轻易被改写

为()语句。

A.forB.ifC.doD.while

14.for语句能够被改写为()语句。

A.复合B.ifC.switchI),while

15.下面循环语句执行结束后输出i值为()。

for(inti=0;i<n;i++)if(i>n/2){cout<<i«endl;break;}

A.n/2B.n/2+1C.n/2-1D.n-1

16.在下面循环w语句中内层循环体S语句执行次数为()。

for(inti=0:i<n;i++)

for(intj=i;j<n;j++)S;

A.n2B.(nM)/2C.n(n-l)/2D.n(n+l)/2

17.在下面do循环语句中,其循环体被执行次数为()。

inti=0;doi++;while(i*i<10);

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

二、填空题:(每空0.5分,共22分)

1.C语言中每条简单语句以作为结束符。

2.C语言中每条亚合语句以作为结束符。

3.在C语言程序每个程序行后面或单独一行开始使用注释标识符为。

4.单行或多行注释结束标识符为。

5.在一个C程序文件中,若要包含另外一个头文件或程序文件,则应使用以标识符

开始预处理命令。

6.在淅4111(1€命令中所包含头文件,能够是系统定义头文件,也能够是定义头文件。

7.一个函数定义由__________和函数体两部分组成。

8.用于输出表示式标准输出函数是。

9.当不需要函数返回任何值时,则应使用标识符定义函数类型。

10.执行“printf(个dfd=%d",43,18,43-18);”语句后得到输出结果为。

11.每个C程序文件在编谙时可能出现有警告性错误,其对应标识符为。

12.每个C程序文件在编语时可能出现有致命性错误,其对应标识符为_________o

13.十进制数25表示成符合C语言规则十六进制数为。

14.在C语言中,转义字符序列表示一个换行符.

15.执行“print行“枇",'F'-2);”语句后得到输出结果为。

16.已知‘A'Z'ASCII码为65-90,当执行“intx='C'+5;”语句所x值为.

17.假定一个枚举类型定义为"enumRB{ab,ac=3,ad,ae)x=ad;M,则x值为_______.

18.char类型大小为____个字节。

19.int类型大小为个字节。

20.float类型大小为个字节。

21.1进制数28类型为。

22.十进制数3.26类型为。

23.若需要定义一个符号常量,而且使C语言能够进行类型检验,则应在定义语句开始使用保留

字o

24.使用const语句定义一个符号常量时,则必须对它同时进行o

25.执行“intx=45,y=13;printf(“知i",x%y);”语句序列后得到输出结果为_____。

26.假定x=5,则表示式2+x++值为。

27.表示式(float)25/4值为。

28.表示式(ini)14.6%5值为。

29.表示式x=x+l表示成增量表示式为o

30.增量表示式++y表示成赋值表示式为。

31.关系表示式(x!=0)等价表示式为八

32.假定不允许使用逻辑车操作符,则关系表示式x+y>5相反表示式为。

33.假定不允许使用逻辑非操作符,则逻辑表示式a>b11b=5相反表示式为。

34.若x=5,y=10,则x>y逻辑值为________。

35.若x=5,y=10,则x<=y逻辑值为。

36.假定x=5,则执行“a=(x?10:20);”语句后a值为。

37.执行“typcdofintDataTypo;”语句后,在使用int定义整型变量地方都能够使用

来定义整型变量。

38.在switch语句中,每个语句标号所含保留字case后面表示式必须是。

39.作为语句标号使用C俣留字case和default只能用于语句定义体中。

40.在switch语句时,在进行作为条件表示式求值后,将从某个匹配标号位置起向下执行,当

碰到下一个标号位置时(停顿/不停顿)_________执行。

41.若do循环“尾”为“加ile(++i<10)”,而且i初值为0,同时在循环体不会修改i值,由

循环体将被重复执行____次后正常结束。

42.当在程序执行到语句时,将结束本层循环语句或switch语句执行。

43.在程序中执行到语句时,将结束所在函数执行过程,返回到调用该函数位置。

44.在程序执行完________函数调用后,将结束整个程序执行过程,返【可到操作系统或C语句

集成开发环境界面窗口。

三、写出以下每个程序运行后输出结果:(每小题5分,共40分)

1.#include<stdio.h>

voidmain()

(

intx=5:switch(2*x-3)(

case4:printf(,z%d”,x);

case7:printf(,z%d”,2*x+l);

case10:printf(*%d”,3*xT);break;

default:printf(,z%s","default\n");

)

printf"switchend.〃);

)

输出结果为:

2.#include<stdio.h>

voidmain()

(

inti,s=0;

for(i=l;i<=6;i++)

s+=i*i;

printf("s=%d\n",s);

)

输出结果为:

3.#include<stdio.h>

voidmain()

(

inti,sl=0,s2=0;

for(i=0;i<10;i++)

if(i%2)sl+=i;

elses2+=i;

printf(飞d%d\n”,si,s2):

)

输出结果为:

4.#include<stdio.h>

voidmain。

(

intn=10,y=l;

while(n―){y++;y++;}

printf(,,y=%d\n,z,y);

}

输出结果为:

5.#include<stdio.h>

voidmain()

(

intf,fl,f2,i;

fl=f2=l;

printf(,z%d%d〃,f1,f2);

for(i=3;i<=10;i++){

f=fl+f2;

printfC%d”,f);

if(i%5==0)printf("\n");

fl=f2;

f2=f;

)

printfC\n");

}

输出结果为:

6.#include<stdio.h>

#include<math.h>

voidmain()

(

inti,n;

for(n=2;n<=20;n++){

inttemp=(int)sqrt(n);//sqrt(n)求出n平方根并取整

for(i=2;i<=tcmp;i++)

if(n%i=0)break;

if(i>temp)printf”,n);

)

printf('\rT);

}

输出结果为:

7.#include<stdio.h>

#include<math.h>

constintM=20;

voidmain()

inti,c2,c3,c5;

c2=c3=c5=0;

for(i=l;i<=M;i++){

if(i%2==0)c2++;

if(i%3==0)c3++;

if(设5=0)c5++;

)

printf("%d%d%d\n”,c2,c3,c5);

}

输出结果为:

8.#include<stdio.h>

#include<math.h>

constintM=20;

voidmain()

(

inti,s;

for(i=l,s=0;i<15;i++){

if(i%2==0||i%3==0)continue;

printf("兆d”,i);

s+=i;

)

printfs);

)

输出结果为:

C语言程序设计A

姓名:__________

形考作业2

学号:__________

得分:___________

一、选择题:(每小题1分,共5分)

1.在下面一维数组定义中,()语句有语法错误。

A.inta[]={l,2,3);B.inta[10]=(0);C.inta[];D.int

a[5];n

2.在下面二维数组定义中,()语句是正确。

A.inta[5][];B.inta[][5];C.int

a[][3]={{1,3,5},{2}};I),inta[](10)

3.假定一个二维数组定义语句为“inta[3][4]={{3,4},{2,8,6}};",则元素值为()。

A.2B.4C.6D.8

4.假定一个二维数组定义语句为“inta[3][4]={{3,4},(2,&6}};”,则元素a[2][1]值为().

A.0B.4C.8D.6

5.将两个字符串连接起来组成一个字符串时,选取()函数。

A.strlenOB.strcapOC.strcat()D.strcmpO

二、填空题:(每空1分,共16分)

1.假定一维数组定义为“char*a[8];w,则该数组所含元素个数为。

2.假定一维数组定义为“char*a[8];",则该数组所占存放空间字节数为。

3.假定二维数组定义为“inta[3][5]”,则该数组所占存放空间字节数为。

4.假定二维数组定义为“char则该数组所所含元素个数为。

5.假定二维数组定义为“doublea[M][N];v,则每个数组元素行下标取值范围在______之

间。

6.假定二维数组定义为“doublea[M][N];w,则每个数组元素列下标取值范围在之

间。

7.使用“typedefcharBB[10][50];"语句定义为含有10行50列二维字符数组类型。

8.存放字符'a'需要占用存放器个字节空间。

9.空字符串长度为。

10.存放一个空字符串需要占用个字节。

11.字符串"a:\\xxk\\数据”长度为。

12.用于存放一个长度为n字符串字符数组长度最少为o

13.stremp函数用于进行两个字符串之间。

14.Strepy函数用于把一个字符串_________另一个字符数组空间中。

15.一个一维字符数组近10][20]能够存放个字符串-

16.一个二维字符数组a[10][20]能够存放每个字符串长度至多为o

三、写出以下每个程序运行后输出结果:(每小题4分,共24分)

1.#include<stdio.h>

voidmain()

(

inta[10]={12,39,26,41,55,63,72,40,83,95);

inti,il=0,i2=0;

for(i=0;i<10;i++)

if(a[i]%2==l)il++;elsei2++;

printf(,z%d%d\n,,»il,i2):

}

输出结果为:

2.#include<stdio.h>

#include<string.h>

voidmain()

(

inti;

char*a[5]={"student","worker","cadre","soldier","peasant"};

char*pl,*?2;

pl=p2=a[0];

for(i=0;i<5;i++){

if(stremp(a[i],pl)>0)pl=a[i];

if(stremp(a[i],p2)<0)p2=a[i];

)

printf(*%s%s\nw,pl,p2);

)

输出结果为:

3.#include<stdio.h>

inta[10]={4,5,6,15,20,13,12,7,8,9};

voidmain()

(

inti,sO,si,s2;

s0=sl=s2=0;

for(i=0;i<10;i++){

switch(a[i]%3){

case0:s0+=a[i];break;

case1:sl+=ci[i];break;

case2:s2+=a[i];break;

)

)

printf("%d%d%d\n”,sO,si,s2);

}

输出结果为:

4.#include<stdio.h>

voidmain()

(

chara[]=/,abcdbfbgacd,z;

intil=0,i2=0,i=0;

while(a[i]){

if(a[i]==,a*)il++;

if(a[i]==,b')i2++;

i++;

)

printf(*%d%d%d\n",il,i2,i);

)

输出结果为:

5.#include<stdio.h>

voidmain()

(

inta[3][4]={{l,2,7,8},{5,6,10,6),{9,12,3,4}};

intm=a[0][0];

intii=0,jj=O;

inti,j;

for(i=0;i<3;i++)

for(j=0;j<4;j++)

if(a[i][j>m){m=a[i][j];ii=i;jj=j;}

printf(*%d%d%d\n”,ii,jj,a[ii][jj]);

)

输出结果为:

6.#include<stdio.h>

voidmain()

(

inta,b;

for(a=l,b=2;b<50;){

printfC*%d%d”,a,b);

a=a+b;

b=a+b;

)

printfC\nv);

)

输出结果为:

四、写出以下每个函数功效。(每小题4分,共2c分)

1.#include<stdio.h>

intSA(inta,intb){

if(a>b)return1;

elseif(a==b)return0;

elsereturn1;

)

函数功效为:

2.#include<stdio.h>

intSC(inta,intb,intc){

if(a>=b&&a>=c)returna;

if(b>=a&&b>=c)returnb;

returnc;

)

函数功效为:

3.doubleSF(doublex,intn){//n为大于等于0整数

doublep=l,s=l;

for(i=l;i<=n;i++)(

p*=x;

s+=p/(i+l);

)

returns;

)

函数功效为:

4.ttinclude<math.h>

intSC(intx){

inta=(int)sqrt(x);

inti=2;

while(i<=a){

if(x%i==O)break;

i++;

)

if(i<=0)returnO;elsereturn1;

}

函数功效为:

5.#include<stdio.h>

voidtrans(intx)

(

chara[10];

inti=0,rem;

do{

rcm=x%16;

x=x/16;

if(rem<10)a[i]=48+rem;//'O'字符ASCII码为48

elsea[i]=65+rem;〃'A'字符ASCII码为55

i++;

(while(x!=0);

while(i>O)”intf(“枇",a[-i]);

printf(〃\n");

}

函数功效为:

五、依照以下每个题目要求编写程序。(第1~5小题每小题6分,第6小题5分,共

35分)

1.编写一个函数,函数头格式为“voidfun4(char,intb[])”,分别求出由字符指针a所

指向字符串中包含每种十进制数字出现次数,把统计结果保留在数组b对应元素。

2.编写一个函数,函数头格式为adoubleMean(doublea[M][N],intm,intn)”,要求返

回二维数组a[m][n]中全部元素平均值,假定在计算过程是采取变量v存放平均值。

3.编写一个递归函数“intFF(inta[],intn)”,求出数组a中全部元素n个元素之积并返

回。

4.编写一个主函数,利用while循环,求出并显示满足不等式1+1/2+1/3+……+l/n>5最小n值。

5.编写一个主函数,求满足不等式22+42+……+n2<1000最大n值,假定分别用i和s为取偶数值

和累加值变量,并限定使用do循环编程。

6.编写一-个主函数,计算并输出n值,其中n值由键盘输入。

C语言程序设计A

姓名:___________

形考作业3

学号:___________

得分:___________

勃府署8.

一、选择题

1.在下面()函数申明语句存在语法错误。

A.AA(inta,intb);B.AA(int,int)C.AA(inta;int

b)D.AA(inta,int)

2.在下面()不能作为函数返回类型。

A.voidB.intC.newD.long

3.下面正确函数原型语句是().

A.intFunction(voida);B.voidFunction();

C.intFunction(a);D.voidint(doublea);

4.函数调用func(expl,exp2),exp3*exp4-exp5)中所含实参个数为()个。

A.1R.2C.4D.5

5.下面标识符中,()是文件级作用域。

A.函数形参B.语句标号C.外部静态类标识符I).自动类标识符

6.下面标识符中,()具备全局级作用域。

A.函数形参B.全局变量C.内部静态变量D.自动变量

7.假定P是一个指向float型数据指针,则p+1所指数据地址比p所指数据地址大()字节。

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

8.假定a为个字符数组名,则元素a[8]地址比该数组首地址大()个字节。

A.4B.8C.16D.32

9.假定a为一个数组名,则下面()表示有错误。

A.a[i]B.*a++C.*aI).*(a+i)

10.用calloc函数创建具备10个整型元素一维数组正确语句是()。

A.int*p=calloc(10,2);B.int*p=calloc(10);

C.int*p=calloc(10.4);D.int*p=malloc(10)

11.假定变量m定义为“Stm=7;",则定义变量p正确语句为()。

A.intp=&m;B.int*p=&m;C.int&p=*n;D.int*p=m;

12.假定k是一个double类型变量,则定义变量p正确语句为()。

A.doublep=&k;B.double*p=&k;

C.double&p=*k;D.char*p="Thankyou!”;

13.假定一条定义语句为“inta[10],x,*pa=a;",若要把数组a中下标为3元素赋值给x,则

不正确语句为()。

A.x=pa[3];B.x=*(a+3);C.a=a[3';I).x=*pa+3;

14.假定有定义“intb[10];int*pb;w,则不正确赋值语句为()。

A.pb=b;B.pb=&b[0];C.pb=b+2;D.pb=b[5];

15.假定指针变量p定义为“int*p=ncwint(100),要释放p所指向动态内存,应使用语句

)0

A.delete[p];B.delete*p;C.delete&p;D.delete[]p;

16.假定指针变量p定义为“int*p=calloc(30,sizeof(int));w,要释放p所指向动态内存,

应使用语句()。

A.delete[p];B.deldete(p);C.free[]p;I),free(p);

二、填空题

1.在C语言中,一个函数由函数头和组成.

2.在函数外定义变量称为全局变量,若没有被初始化则系统隐含对它所赋初值为。

3.假如一个函数只允许同一程序文件中函数调用,则应在访函数定义前加上C保留字为为

4.假如一个函数直接或间接地调用本身,这么调用被称为调用。

5.调用系统函数时,要先使用风M1遍6命令包含该函数原型语句所在_____文件。

6.函数形参作用域是该函数_____。

7.假定p所指对象值为25,p+1所指对象值为46,则*p++值为。

8.假定p所指对象值为25,p+】所指对象值为46,贝ij*++p值为。

9.假定p所指对象值为25,p+1所指对象值为46,则执行“*(p++);”语句后,p所指对象值为

O

10.假定a是一个指针数组,则a+1所指对象地址比a地址大____字节。

11.若要把一个整型指针p转换为字符指针,则采取强制转换表示式为o

12.假定一个数据对象为int*类型,则指向该对象指针类型为

13.假定p是一个指向整数对象指针,则用表示由针变量p地址。

14.若p指向x,则与x等价。

15.NULL是一个符号常量,通常作为空指针值,它值为______o

三、写出以下每个程序运行后输出结果

1.#include<stdio.h>

voidSB(charch){

switch(ch){

case'A*:case'a*:

printf("WW");break;

case'B':casc'b':

printf("GG");break;

case'C':case'c':

printf("PP");break;

default:printf;break;

)

)

voidmain()(

charal=*b',a2='C',a3='f';

SB(al);SB(a2);SB(a3);SB(,AJ);

printf('\n");

)

输出结果为:

2.#include<stdio.h>

#include<stdlib.h>

doubleSD(inta,intb,charop){

doublex;

switch(op){

case'+':x=a+b;break;

case'-':x=a-b;break:

case':x=a*b;break;

caseif(b)x=(double)a/b;

elseexit(l);

break;

default:{("运算符错!\n");cxit(l);)

)

returnx;

)

voidmain(){

intx=20,y=8;

printfC%3.21f”,SD(x,y,'」));

printf(*%3.21f”,SD(x,y,'*'));

printf21f”,SD(x,y,'/'));

)

输出结果为:

3.#include<stdio.h>

voidWF(intx,inty){

x=x+y;

y=x+y;

printf("subs:x,y=%d,%d\n”,x,y);

)

voidmain(){

intx=18,y=23;

printf("main:x,y=%d,%d\n”,x,y);

WF(x,y);

x=2*x;

printf(''main:x,y=%d,%d\n,z,x,y);

)

输出结果为:

4.#include<stdio.h>

#include<string.h>

voidfun(charss[]);

voidmain(){

chars[15]="”;

fun(s);

printf("%s\n",s);

)

voidfun(charss[]){

inti,n=strlen(ss);

for(i=0;i<n/2;i++){

charc=ss[i];

ss[i]=ss[n-l-i];

ss[n-l-i]=c;

)

}

输出结果为:

5.#include<stdio.h>

voidInsertSort(inta[],intn)

inti,j,x;

for(i=l;i<n;i++){〃进行n次循环

x=a[i];

for(j=iT;j>=0;j—)〃为x次序向前寻找适宜插入位置

if(x>a[j])a[j+l]=a[j];

elsebreak;

a[j+l]=x;

)

)

voidinainO

(

inti;

inta[6]={20,15,32,47,36,28);

InsertSort(a,6);

for(i=0;i<6;i++)printf(^d”,a[i]);

printf(〃\rT);

)

输出结果为:

6.#include<stdio.h>

voidmain(){

inta[8]={3,5,7,9,11,13,15,17);

inti,*p=a;

for(i=0;i<8;i++){;

printfC%5d*,*p++);

if((i+l)%4==0)printf(*\n*);

)

(

输出结果为:

7.#include<stdio.h>

intLA(int*a,intn){

inti,s=0;

for(i=0;i<n;i++)

s+=a[i];

returns;

}

voidmain(){

inta[]=[5,10,15,20,25,30);

intb=LA(a.4);

intc=LA(a+2,3);

printf(,z%d%d\n,,,b,c);

}

输出结果为:

8.#include<stdio.h>

intLB(int*a,intn){

inti,s=l;

for(i=0;i<n;i++)s*=*a++;

returns;

)

voidmain()(

inta[]=(l,2,3,4,2,4,5,2);

intb=LB(a.4)+LB(&a[3],4);

,/,,

printf(b=%d\n>b);

)

输出结果为:

四、写出以下每个函数功效

1.#include<stdio.h>

intWB(inta[],intn,intx){

for(inti=0;i<n;i++)

if(a[i]==x)return1;

return0;

)

函数功效为:

2.4include<stdio.h>

intWC(inta[],intn,intk){

intc=0;for(inti=0;i<n;i++)

if(a[i]>=k)c++;

returnc;

)

函数功效为:

3.#include<stdio.h>

#include<stdlib.h>

#include<timc.h>

constintN=10;

intff(intx,inty){

intz;

printf(?,%d+%d=",x,y);

scanf(线d",&z);

if(x+y==z)return1;elsereturn0;

)

voidmain()

inti,a,b,c=0;

srand(time(O));〃初始化随机数系列

for(i=0;i<N;i++){

a=rand()%20+l;//rand90函数产生0-32767之间一个随机

b=rand()%20+l;

c+=ff(a,b);

)

printf("得分:%d\nw,c*10);

}

函数功效为:

4.intfun6(intm,intn,intb=2)

if(m<b&&n<b)returnm*n;

elseif(m%13==0&&n%b==O)returnb*fun6(m/b,n/b,b);

elsereturnfun6(rn,n,++b);

)

函数功效为:

5.#include<stdio.h>

#include<stdlib.h>

voidLI(intn)(

int*a=malloc(n*sizeof(int));

inti;

for(i=0;i<i;i++)scanf(飞d”,a+i);

for(i=n-l;i>=0;i--)printf(*%d",*(a+i));

printf('\n");

free(a);

)

函数功效为:

6.#include<stdio.h>

intLK(doublea[],intn){

doubles=0;inti,m=0;

for(i=();i<n;i++)s+=a[i];

s/=n;

for(i=0;i<n;i++)if(a[i]>=s)m++;

rctui'nm;

)

函数功效为:

C语言程序设计A

姓名:___________

形考作业4

学号:___________

得分:___________

劾府巽夕.

一、选择题

1.假定自"structBOOK{chartitle[4U];floatprice;};structBOOK*book;",则不正确

语句为()。

A.structBOCK*x=malloc(book);B.structBOOKx={"C++

Programming”,27.0};

C.structBOOK*x=malloc(sizeof(BOOK));D.structBOOK**x=&book;

2.假定有astructBOOK(chartitle[40];floatprice;}book;",则正确语句为()。

A.structBOOKx=&book;B.structBOOK*x=&book;

C.structBOOKx=calloc(BOOK);D.structBOOK*X=BOOK;

3.表示文件结束符号常量为()。

A.eofB.EofC.EOFD.feof

4.C语言中系统函数fopeM)是()一个数据文件函数。

A.读取B.写入C.关闭D.打开

5.从一个数据文件中读入以换行符结束一行字符串函数为()。

A.gets()B.fgetsOC.getc()I),fgetc()

6.向一个二进制文件写入信息函数fwriteO带有()参数。

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

二、填空题

1.假定一个结构类型定义为“structA{inta,b;A*c;};",则该类型大小为字节。

2.假定一个结构类型定义为“slruclB{inta[5],char*b;};",则该类型大小为

字节。

3.假定一个结构类型定义为astructD{inta;union{intb;doublec;};structD*d[2];);w,

则该类型大小为__________字节。

4.假定要动态分配一个类型为structWorker具备n个元素数组,并由r指向这个动态数组,

则使用语句表示式为。

5.假定要访问一个结构x中由a指针组员所指向对象,则表示方法为o

6.假定要访问一个结构指针p所指向对象中b指针组员所指对象,则表示方法为。

7.与结构组员访问表示式(*巾).score等价表示式是。

三、写出以下每个程序运行后输出结果

1.#include<stdio.h>

structWorker{

charname[15];〃姓名

intage;〃年纪

floatpay;//工资

};

voidmain(){

structWorkerx={"wanghua”,52,23.50};

structWorkery,*p;

y=x;p=&x;

printf("%s%d%6.2f\n”,y.name,y.age,y.pay);

printfC%s%d%6.2f\n”,p->namc,p->age,p->pay);

)

输出结果为:

2.#include<stdio.h>

#include<string.h>

structWorker{

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论