版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
/C语言程序设计课程形成性考核册(保留版)第一次作业一、选择题1.A2.D3.B4.D5.B6.A7.C8.A9.B10.C11.C12.A13.B14.D15.B16.D17.A二、填空题1.;(或分号)2.}(或右花括号)3.//4.*/5.#include6.用户7.函数头8.printf()9.void10.43-18=2511.warning12.error13.0x1914.’\n’15.D16.7217.418.119.420.421.int22.double23.const24.初始化25.626.727.6.2528.429.++x30.y=y+131.(x)32.x+y<=533.a<=b&&b!=534.035.136.1037.DataType38.整型常量39.switch40.不停止41.1042.break43.return44.主(或main)三、写出下列每个程序运行后的输出结果1.1114switchend.2.s=913.25204.y=215.112358132134556.2357111317197.10648.157111337其次次作业一、选择题1.C2.C3.C4.A5.C二、填空题1.82.323.604.M*N5.0~M-16.0~N-17.BB8.19.010.111.1112.n+113.比较14.拷贝(复制)15.1016.19三、写出下列每个程序运行后的输出结果1.642.workercadre3.4224334.23115.21126.12358132134四、写出下列每个函数的功能1.比较两个整数a和b的大小,若a>b则返回1,若a==b则返回0,若a<b则返回-1。2.求出a,b,c三个数中的最大值并返回。3.计算1+x/2+x2/3+...+xn/(n+1)的值并返回。4.推断x是否为一个素数,若是则返回1,否则返回0。5.此函数用于把十进制整数x转换为十六进制数字串输出五、依据下列每个题目要求编写程序1.voidfun4(char*a,intb[]){inti;for(i=0;i<10;i++)b[i]=0;//对b数组初始化while(*a){intj=*a-'0';if(j>=0&&j<=9)b[j]++;a++;}}2.doubleMean(doublea[M][N],intm,intn){inti,j;doublev=0.0;for(i=0;i<m;i++)for(j=0;j<n;j++)v+=a[i][j];v/=m*n;returnv;}3.intFF(inta[],intn){if(n==1)returna[n-1];elsereturna[n-1]*FF(a,n-1);}4.#include<stdio.h>voidmain(){inti=0;doubles=0;//或inti=1;doubles=1;while(s<5)s+=(double)1/++i;printf("n=%d\n",i);}5.#include<stdio.h>voidmain(){inti=0;//用i作为依次取值偶数的变量ints=0;//用s作为累加变量do{i+=2;s+=i*i;}while(s<1000);printf("n=%d\n",i-2);}6.#include<stdio.h>voidmain(){inti;//用i作为计数(循环)变量ints=0;//用s作为累加变量intn;printf("输入一个自然数:");scanf("%d",&n);for(i=1;i<=n;i++)s+=i*i;printf("s=%d\n",s);}第三次作业一、选择题1.C2.C3.B4.B5.C6.B7.C8.B9.B10.C11.B12.D13.D14.D15.A16.D二、填空题1.函数体2.03.static4.递归5.头6.函数体7.258.469.4610.4*i11.(char*)**13.&p14.*p15.0三、写出下列每个程序运行后的输出结果1.GGPPBBWW2.12.00160.003.503.main:x,y=18,23subs:x,y=41,64main:x,y=36,234.4321987655.4736322820156.3579111315177.50608.b=184四、写出下列每个函数的功能1.从数组a中依次查找值为x的元素,若查找胜利则返回1,否则返回0。2.统计出数组a中大于等于值为k的元素个数并返回。3.让计算机产生出10道操作数为20以内随机整数的加法题供用户计算,每道题10分,计算完成后打印出得分。4.一个递归函数过程,求出两个自然数m和n的最小公倍数。5.把从键盘上输入的n个整数按和输入的相反次序显示出来。6.求出并返回数组a的n个元素中大于等于平均值的元素个数。第四次作业一、选择题1.A2.B3.C4.D5.B6.D二、填空题04.calloc(n,sizeof(structWorker));5.*(x.a)6.*(p->b)7.fp->score三、写出下列每个程序运行后的输出结果1.wanghua522350.00wanghua532370.002.liouting39986.003.def58638.00四、写出下列每个函数的功能1.从键盘输入n个Worker类型的记录到一维数组a中。2.建立一个具有n个结点的链表,每个结点的字符串值由键盘输入,链表的表头指针由函数返回。3.从表头指针f指向的、由IntNode类型的结点所构成的链表中查找出data域的值最小的结点并返回指向该结点的指针。4.统计出以表头指针为f的链表中结点的个数。5.依据从键盘上输入的n个整数建立以一个链表,链表中的结点次序和输入值的次序相反,表头指针由函数返回。6.从键盘上输入一组字符串到d:\xxk\xuxk1.txt字符文件中,存入文件时每个字符串后添加一个换行符,当从键盘上输入结束标记字符串"end"时程序结束。第一次作业一、选择题1.在每个C语言程序中都必需包含有这样一个函数,该函数的函数名为(A)。A.mainB.MAINC.nameD.funtion2.C语言原程序文件的缺省扩展名为(A)。A.cppB.exeC.objD.C3.由C语言目标文件连接而成的可执行的缺省扩展名为(B)。A.cppB.exeC.objD.C4.程序运行中须要从键盘输入多于一个数据时,各数据之间应运用(D)符号作为分隔符。A.空格或逗号B.逗号或回车C.回车或分号D.空格或回车5.每个C语言程序的编译错误分为(B)类。A.1B.2C.3D.46.设x和y均为逻辑值,则x&&y为真的条件是(A)。A.它们均为真B.其中一个为真C.它们均为假D.其中一个为假7.设有语句“inta=12;a+=a*a;”,则执行结束后,a的值为(C)。A.12B.144C.156D.2888.x>0&&x<=10的相反表达式为(A)。A.x<=0||X>10B.x<=0&&x>10C.x<=0||x<=10D.x>0&&x>109.字符串“a+b=12\n”的长度为(B)。A.6B.7C.8D.910.在下列符号常量定义中。错误的定义语句格式为(C)。A.constM1=10;B.constintM2=20;C.constM310D.constcharmark=’3’;11.带有随机函数的表达式rand()%20的值在(C)区间内,A.1~19B.1~20C.0~19D.0~2012.当处理特定问题时的循环次数已知时,通常采纳(A)循环来解决。A.forB.whileC.do-whileD.switch13.在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句简洁被改写为(B)语句。A.forB.ifC.doD.while14.for语句能够被改写为(D)语句。A.复合B.ifC.switchD.while15.下面循环语句执行结束后输出的i值为(B)。for(inti=0;i<n;i++)if(i>n/2){cout<<i<<endl;break;}A.n/2B.n/2+1C.n/2-1D.n-116.在下面循环w语句中内层循环体S语句的执行次数为(D)。for(inti=0;i<n;i++)for(intj=i;j<n;j++)S;A.n2B.(n+1)/2C.n(n-1)/2D.n(n+1)/217.在下面的do循环语句中,其循环体被执行的次数为(A)。inti=0;doi++;while(i*i<10);A.4B.3C.5D.2
二、填空题1.C语言中的每条简洁语句以___;_______作为结束符。2.C语言中的每条复合语句以___}_______作为结束符。3.在C语言程序的每个程序行后面或单独一行的起先运用注释的标记符为___//___。4.单行或多行注释的结束标记符为__*/_____。5.在一个C程序文件中,若要包含另外一个头文件或程序文件,则应运用以__#include___标识符起先的预处理吩咐。6.在#include吩咐中所包含的头文件,可以是系统定义的头文件,也可以是__用户___定义的头文件。7.一个函数定义由__函数头______和函数体两部分组成。8.用于输出表达式的标准输出函数是_printf()_________。9.当不须要函数返回任何值时,则应运用__void_______标识符定义函数类型。10.执行“printf(“%d-%d=%d”,43,18,43-18);”语句后得到的输出结果为__43-18=25_______。11.每个C程序文件在编译时可能出现有警告性错误,其对应的标识符为__warning______。12.每个C程序文件在编译时可能出现有致命性错误,其对应的标识符为__error______。13.十进制数25表示成符合C语言规则的十六进制数为___0x19___。14.在C语言中,转义字符序列___\n___表示一个换行符。15.执行“printf(“%c”,’F’-2);”语句后得到的输出结果为__D___。16.已知’A’~’Z’的ASCII码为65-90,当执行“intx=’C’+5;”语句所x的值为___72___.17.假定一个枚举类型的定义为“enumRB{ab,ac=3,ad,ae}x=ad;”,则x的值为___4___.18.char类型的大小为__1__个字节。19.int类型的大小为__4__个字节。20.float类型的大小为__4__个字节。21.十进制数28类型为___int___。22.十进制数3.26类型为___double___。23.若须要定义一个符号常量,并且使C语言能够进行类型检查,则应在定义语句的起先运用保留字____const___。24.运用const语句定义一个符号常量时,则必需对它同时进行__定义类型和赋初值__。25.执行“intx=45,y=13;printf(“%d”,x%y);”语句序列后得到的输出结果为___6__。26.假定x=5,则表达式2+x++的值为__7__。27.表达式(float)25/4的值为___6.25___。28.表达式(int)14.6%5的值为___4___。29.表达式x=x+1表示成增量表达式为__x++___。30.增量表达式++y表示成赋值表达式为___y+=1__。31.关系表达式(x!=0)的等价表达式为____x___。32.假定不允许运用逻辑非操作符,则关系表达式x+y>5的相反表达式为___x+y<=5__。33.假定不允许运用逻辑非操作符,则逻辑表达式a>b||b==5的相反表达式为___a<=b&&(b>5||b<5)____。34.若x=5,y=10,则x>y逻辑值为___false___。35.若x=5,y=10,则x<=y逻辑值为___true___。36.假定x=5,则执行“a=(x?10:20);”语句后a的值为__10__。37.执行“typedefintDataType;”语句后,在运用int定义整型变量的地方都可以运用___DataType___来定义整型变量。38.在switch语句中,每个语句标号所含保留字case后面的表达式必需是__整型__。39.作为语句标号运用的C保留字case和default只能用于__switch__语句的定义体中。40.在switch语句时,在进行作为条件的表达式求值后,将从某个匹配的标号位置起向下执行,当遇到下一个标号位置时(停止/不停止)___不停止__执行。41.若do循环的“尾”为“while(++i<10)”,并且i的初值为0,同时在循环体不会修改i的值,由循环体将被重复执行__10___次后正常结束。42.当在程序执行到___break___语句时,将结束本层循环语句或switch语句的执行。43.在程序中执行到__return__语句时,将结束所在函数的执行过程,返回到调用该函数的位置。44.在程序执行完__主(main)__函数调用后,将结束整个程序的执行过程,返回到操作系统或C语句集成开发环境界面窗口。三、写出下列每个程序运行后的输出结果1.#include<stdio.h>voidmain(){intx=5;switch(2*x-3){case4:printf("%d",x);case7:printf("%d",2*x+1);case10:printf("%d",3*x-1);break;default:printf("%s","default\n");}printf("%s\n","switchend.");}输出结果为:1114switchend.Pressanykeytocontinue2.#include<stdio.h>voidmain(){inti,s=0;for(i=1;i<=6;i++)s+=i*i;printf("s=%d\n",s);}输出结果为:s=91.Pressanykeytocontinue3.#include<stdio.h>voidmain(){inti,s1=0,s2=0;for(i=0;i<10;i++)if(i%2)s1+=i;elses2+=i;printf("%d%d\n",s1,s2);}输出结果为:2520.Pressanykeytocontinue4.#include<stdio.h>voidmain(){intn=10,y=1;while(n--){y++;y++;}printf("y=%d\n",y);}输出结果为:y=21.Pressanykeytocontinue5.#include<stdio.h>voidmain(){intf,f1,f2,i;f1=f2=1;printf("%d%d",f1,f2);for(i=3;i<=10;i++){f=f1+f2;printf("%d",f);if(i%5==0)printf("\n");f1=f2;f2=f;}printf("\n");}输出结果为:11235813213455Pressanykeytocontinue6.#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<=temp;i++)if(n%i==0)break;if(i>temp)printf("%d",n);}printf("\n");}输出结果为:235711131719Pressanykeytocontinue7.#include<stdio.h>#include<math.h>constintM=20;voidmain(){inti,c2,c3,c5;c2=c3=c5=0;for(i=1;i<=M;i++){if(i%2==0)c2++;if(i%3==0)c3++;if(i%5==0)c5++;}printf("%d%d%d\n",c2,c3,c5);}输出结果为:1064Pressanykeytocontinue8.#include<stdio.h>#include<math.h>constintM=20;voidmain(){inti,s;for(i=1,s=0;i<15;i++){if(i%2==0||i%3==0)continue;printf("%d",i);s+=i;}printf("%d\n",s);}输出结果为:157111337Pressanykeytocontinue其次次作业一、选择题1.在下面的一维数组定义中,(C)语句有语法错误。A.inta[]={1,2,3};B.inta[10]={0};C.inta[];D.inta[5];n2.在下面的二维数组定义中,(C)语句是正确的。A.inta[5][];B.inta[][5];C.inta[][3]={{1,3,5},{2}};D.inta[](10)3.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[1][2]的值为(C)。A.2B.4C.6D.84.假定一个二维数组的定义语句为“inta[3][4]={{3,4},{2,8,6}};”,则元素a[2][1]的值为(A)。A.0B.4C.8D.65.将两个字符串连接起来组成一个字符串时,选用(C)函数。A.strlen()B.strcap()C.strcat()D.strcmp()二、填空题1.假定一维数组的定义为“char*a[8];”,则该数组所含元素的个数为___8_______。2.假定一维数组的定义为“char*a[8];”,则该数组所占存储空间的字节数为___32______。3.假定二维数组的定义为“inta[3][5]”,则该数组所占存储空间的字节数为___60______。4.假定二维数组的定义为“chara[M][N];”,则该数组所所含元素的个数为__M*N_____。5.假定二维数组的定义为“doublea[M][N];”,则每个数组元素的行下标取值范围在__0~M-1___之间。6.假定二维数组的定义为“doublea[M][N];”,则每个数组元素的列下标取值范围在__0~N-1___之间。7.运用“typedefcharBB[10][50];”语句定义__BB______为含有10行50列的二维字符数组类型。8.存储字符’a’须要占用存储器的_1_____个字节空间。9.空字符串的长度为__0_______。10.存储一个空字符串须要占用__1___个字节。11.字符串”a:\\xxk\\数据”的长度为___11______。12.用于存储一个长度为n的字符串的字符数组的长度至少为__n+1______。13.strcmp函数用于进行两个字符串之间的___大小比较___。14.Strcpy函数用于把一个字符串___复制到___另一个字符数组空间中。15.一个二维字符数组a[10][20]能够存储__10___个字符串。16.一个二维字符数组a[10][20]能够存储的每个字符串的长度至多为___19___.三、写出下列每个程序运行后的输出结果1.#include<stdio.h>voidmain(){inta[10]={12,39,26,41,55,63,72,40,83,95};inti,i1=0,i2=0;for(i=0;i<10;i++)if(a[i]%2==1)i1++;elsei2++;printf("%d%d\n",i1,i2);}输出结果为:64Pressanykeytocontinue2.#include<stdio.h>#include<string.h>voidmain(){inti;char*a[5]={"student","worker","cadre","soldier","peasant"};char*p1,*p2;p1=p2=a[0];for(i=0;i<5;i++){if(strcmp(a[i],p1)>0)p1=a[i];if(strcmp(a[i],p2)<0)p2=a[i];}printf("%s%s\n",p1,p2);}输出结果为:workercadrePressanykeytocontinue3.#include<stdio.h>inta[10]={4,5,6,15,20,13,12,7,8,9};voidmain(){inti,s0,s1,s2;s0=s1=s2=0;for(i=0;i<10;i++){switch(a[i]%3){case0:s0+=a[i];break;case1:s1+=a[i];break;case2:s2+=a[i];break;}}printf("%d%d%d\n",s0,s1,s2);}输出结果为:422433Pressanykeytocontinue4.#include<stdio.h>voidmain(){chara[]="abcdbfbgacd";inti1=0,i2=0,i=0;while(a[i]){if(a[i]=='a')i1++;if(a[i]=='b')i2++;i++;}printf("%d%d%d\n",i1,i2,i);}输出结果为:2311Pressanykeytocontinue5.#include<stdio.h>voidmain(){inta[3][4]={{1,2,7,8},{5,6,10,6},{9,12,3,4}};intm=a[0][0];intii=0,jj=0;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]);}输出结果为:2112Pressanykeytocontinue6.#include<stdio.h>voidmain(){inta,b;for(a=1,b=2;b<50;){printf("%d%d",a,b);a=a+b;b=a+b;}printf("\n");}输出结果为:12358132134Pressanykeytocontinue四、写出下列每个函数的功能1.#include<stdio.h>intSA(inta,intb){if(a>b)return1;elseif(a==b)return0;elsereturn-1;}函数功能为:依据实参a大于、等于或小于实参b,返回1,0或-12.#include<stdio.h>intSC(inta,intb,intc){if(a>=b&&a>=c)returna;if(b>=a&&b>=c)returnb;returnc;}函数功能为:返回实参a、b、c中的最大数3.doubleSF(doublex,intn){//n为大于等于0的整数doublep=1,s=1;for(i=1;i<=n;i++){p*=x;s+=p/(i+1);}returns;}函数功能为:计算x+x2/2+x3/3+……+xn/(n+1)的值4.#include<math.h>intSC(intx){inta=(int)sqrt(x);inti=2;while(i<=a){if(x%i==0)break;i++;}if(i<=0)return0;elsereturn1;}函数功能为:推断一个整数是否是素数5.#include<stdio.h>voidtrans(intx){chara[10];inti=0,rem;do{rem=x%16;x=x/16;if(rem<10)a[i]=48+rem;//'0'字符的ASCII码为48elsea[i]=65+rem;//'A'字符的ASCII码为55i++;}while(x!=0);while(i>0)printf("%c",a[--i]);printf("\n");}函数功能为:将一个整数化成十六进制数五、依据下列每个题目要求编写程序1.编写一个函数,函数头格式为“voidfun4(char*a,intb[])”,分别求出由字符指针a所指向的字符串中包含的每种十进制数字出现的次数,把统计结果保存在数组b的相应元素。#include<stdio.h>voidfun4(char*a,intb[]){do{if(*a>='0'&&*a<='9')b[*a-48]++;}while(*a++);}/*voidmain(){intb[10]={0};fun4(a,b);for(inti=0;i<10;i++)printf("%d",b[i]);}*/2.编写一个函数,函数头格式为“doubleMean(doublea[M][N],intm,intn)”,要求返回二维数组a[m][n]中全部元素的平均值,假定在计算过程是采纳变量v存放平均值。#include<stdio.h>constintM=2,N=3;doubleMean(doublea[M][N],intm,intn){doublev=0;for(inti=0;i<m;i++)for(intj=0;j<n;j++)v+=a[i][j];returnv/(m*n);}/*voidmain(){doublea[2][3]={1,2,3,4,5,6};printf("%lf\n",Mean(a,2,3));}*/3.编写一个递归函数“intFF(inta[],intn)”,求出数组a中全部元素n个元素之积并返回。#include<stdio.h>intFF(inta[],intn){intmul=1;if(n==1)mul*=a[0];elsemul=a[n-1]*FF(a,n-1);returnmul;}/*voidmain(){inta[6]={1,2,3,4,5,6};printf("%d\n",FF(a,6));}*/4.编写一个主函数,利用while循环,求出并显示满意不等式1+1/2+1/3+……+1/n>5的最小n值。#include<stdio.h>voidmain(){doublesum=0;intn=1;while(true){if(sum+1/(double)n>5)break;elsesum+=1/(double)n;n++;}printf("%d,%lf\n",n,sum);}5.编写一个主函数,求满意不等式22+42+……+n2<1000的最大n值,假定分别用i和s为取偶数值和累加值的变量,并限定运用do循环编程。#include<stdio.h>voidmain(){ints=0,i=2;do{s+=i*i;if(s+(i+2)*(i+2)>=1000)break;elsei+=2;}while(true);printf("i=%d,s=%d",i,s);}6.编写一个主函数,计算并输出n的值,其中n值由键盘输入。#include<stdio.h>voidmain(){ints=0,n;printf("请输入n的值:");scanf("%d",&n);for(inti=1;i<=n;i++)s+=i*i;printf("n=%d,s=%d",n,s);}第三次作业计算机操作员高级理论学问练习卷答案(三)一、填空题1.ALT2.Printscreen3.快捷键4.滚动条5.段落6.文件7.属性8.格式9.工作簿10.等号11.算术算符字符连接关系运算12.字符型13.$A$1+$A$4+$B$414.编辑15.重命名16.数据运算器17.指令二、推断题(正确的请在括号内打√,错误的请在括号内打×,每题1分,共30分)1.)√2.)√3.)√4.)√5.)×6.)×7.)√8.)×9.)√10.)×11.)×12.)×13.)√14.)×15.)√16.)√17.)√18.)×19.)×20.)×21.)×22.)√23.)√24.)√25.)√26.)√27.)×28.)×29.)×30.)×三、选择题(请将正确答案的代号填入括号内,每题1分,共70分)1.)D2.)A3.)C4.)A5.)D6.)A7.)C8.)D9.)A10.)B11.)A12.)D13.)D14.)A15.)D16.)A17.)D18.)D19.)A20.)C21.)D22.)C23.)C24.)B25.)C26.)A27.)C28.)A29.)C30.)B31.)B32.)C33.)A34.)A35.)B36.)D37.)B38.)C39.)D40.)B41.)D42.)C43.)A44.)B45.)A46.)D47.)B48.)A49.)B50.)A51.)C52.)B53.)A54.)D55.)C56.)B57.)A58.)D59.)A60.)D61.)B62.)B63.)C64.)D65.)A66.)B67.)D68.)A69.)C70.)D四、问答题(15分)1、自动批处理文件AUTOEXEC.BAT的作用是什么?[答]:AUTOEXEC.BAT是一个特别的批处理文件,每次启动DOS时,吩咐处理程序就会产在启动DOS的磁盘的根书目中找寻这个文件,假如找到,就自动执行,这个文件特别适于实现每次启动系统后就自动进入用户所希望的工作状态。2、什么是计算机病毒?如何预防计算机病毒?[答]:关于计算机病毒目前没有一个公认的定义,我国公安部计算机平安检察司对病毒的定义是:计算机病毒是指编制或者在计算机程序中插入的破坏计算机功能或者毁坏数据,影响计算机运用,并能自我复制的一组计算机指令或者程序代码。计算机病毒的预防:①常常做文件备份,重要的文件要多做几份;②一旦确认系统被病毒感染,先关闭系统,然后用带有写爱护标签的原始DOS盘引导,并用该DOS盘上的FORMAT.COM程序将硬盘格式化,再重新安装系统,然后将新近做的数据和文件备份考入硬盘;③对不进行写操作的软盘都应当用写爱护标签爱护起来;④将全部扩展名为COM和EXE文件赋以“只读”属性;⑤把C0MMAND.COM文件隐藏到子书目里,并把它从根书目中删去,重新编辑CONFIG.SYS文件,在该文件中增加一行:SHELL=C:\HIDDENDCOMMAND/P,其中HIDDEND是隐藏COMMAND.COM文件的子书目名;⑥不要随意将盘片借给他人,尤其是原始系统盘;⑦能从硬盘引导系统,就绝不用软盘引导;⑧不要让人随意运用你的系统,更不要随意让人运用未经检测的软盘;第四次作业一、选择题1.假定有“structBOOK{chartitle[40];floatprice;};structBOOK*book;”,则不正确的语句为(A)。A.structBOOK*x=malloc(book);B.structBOOKx={“C++Programming”,27.0};C.structBOOK*x=malloc(sizeof(BOOK));D.structBOOK**x=&book;2.假定有“structBOOK{chartitle[40];floatprice;}book;”,则正确的语句为(B)。A.structBOOKx=&book;B.structBOOK*x=&book;C.structBOOKx=calloc(BOOK);D.structBOOK*x=BOOK;3.表示文件结束的符号常量为(C)。A.eofB.EofC.EOFD.feof4.C语言中系统函数fopen()是(D)一个数据文件的函数。A.读取B.写入C.关闭D.打开5.从一个数据文件中读入以换行符结束的一行字符串的函数为(B)。A.gets()B.fgets()C.getc()D.fgetc()6.向一个二进制文件写入信息的函数fwrite()带有(D)参数。A.1B.2C.3D.4二、填空题1.假定一个结构类型的定义为“structA{inta,b;A*c;};”,则该类型的大小为___12_______字节。2.假定一个结构类型的定义为“structB{inta[5],char*b;};”,则该类型的大小为___24_______字节。3.假定一个结构类型的定义为“structD{inta;union{intb;doublec;};structD*d[2];};”,则该类型的大小为__________字节。4.假定要动态安排一个类型为structWorker的具有n个元素的数组,并由r指向这个动态数组,则运用语句的表达式为structWorker*r=__(Worker*)malloc(n*sizeof(Worker));_____。5.假定要访问一个结构x中的由a指针成员所指向的对象,则表示方法为__x.(*a)___。6.假定要访问一个结构指针p所指向对象中的b指针成员所指的对象,则表示方法为_____*(p->b)___7.和结构成员访问表达式(*fp).score等价的表达式是__fp->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.age,y.pay);printf("%s%d%6.2f\n",p->name,p->age,p->pay);}输出结果为:wanghua5223.50wanghua5223.50Pressanykeytocontinue2.#include<stdio.h>#include<string.h>structWorker{charname[15];//姓名intage;//年龄floatpay;//工资};voidmain(){structWorkerx;char*t="louting";intd=38;floatf=493;strcpy(,t);x.age=d;x.pay=f;x.age++;x.pay*=2;printf("%s%d%6.2f\n",,x.age,x.pay);}输出结果为:louting39986.00Pressanykeytocontinue3.#include<stdio.h>#include<string.h>structWorker{charname[15];//姓名intage;//年龄floatpay;//工资};intLess(structWorkerr1,structWorkerr2){if(r1.age<r2.age)return1;elsereturn0;}voidmain(){structWorkera[4]={{"abc",25,420},{"def",58,638},{"ghi",49,560},{"jkl",36,375}};structWorkerx=a[0];inti;for(i=1;i<4;i++)if(Less(x,a[i]))x=a[i];printf("%s%d%6.2f\n",,x.age,x.pay);}输出结果为:def58638.00Pressanykeytocontinue四、写出下列每个函数的功能1.voidQA(structWorkera[],intn){inti;for(i=;i<n;i++)scanf("%s%d%f",&a[i].name,a[i].age,a[i].pay);}假定结构structWorker的定义如下:#include<stdio.h>#include<stdlib.h>#include<string.h>structWorker{
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025江西省电子信息工程学校工作人员招聘考试试题
- 2025江城哈尼族彝族自治县职业高级中学工作人员招聘考试试题
- 城市地下人行通道施工方案
- 2026年智能安防AI人脸识别创新报告
- 2026年制造业领域智能制造技术创新报告
- 智能研修模式中问题导向教学在心理健康教育中的应用与实践教学研究课题报告
- 幼儿园教师观察记录工具使用熟练度影响研究-基于观察记录质量与培训记录关联数据分析
- 2026年数码配件生产管理创新报告
- 2026年生物识别安全技术行业创新报告
- 2025年城市智慧停车管理系统与城市交通一体化可行性研究
- 上海铁路局招聘笔试考什么内容
- 北师大版七年级数学下册-第一章-名校检测题【含答案】
- 浙二医院胸外科护士进修汇报
- DGTJ08-2323-2020 退出民防序列工程处置技术标准
- 党支部书记讲廉洁党课讲稿
- 广东省佛山市华英学校2024-2025学年上学期七年级入学分班考试英语试卷
- 猴痘培训课件
- 施工试验送检方案(3篇)
- YY 0267-2025血液净化体外循环系统血液透析器、血液透析滤过器、血液滤过器及血液浓缩器用体外循环血路/液路
- 2025年四川省泸州市中考英语真题 (原卷版)
- 房屋被淹赔偿合同协议书
评论
0/150
提交评论