


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2021年国家开放大学电大C语言程序设计综合练习答案综合练习1.C语言中的循环类语句有3条,它们是( 正确答案是:for,while,do2.C语言中的跳转类语句有四条,它们是goto,return和( 。正确答案是:break,continue3.当不需要函数返回任何值时,则所使用的返回类型为( 正确答案是在一个函数定义中,函数头包括的3个部分依次为函数类型、函数名和( 正确答案是参数表在一个程序文件的开始,若需要使用一个包含命令包含一个头文件时,则命令标识符为( 正确答案是:#include#include预处理命令中,不可以包含( 正确答案是目标文件在( 。正确答案是:6在函数调用的格式字符串中,若使用格式符为,则规定对应输出的数据中,其小数部分占用的字符位置个数为( 。正确答案是:2在函数调用的格式字符串中,若使用格式符为,则规定对应输出的数据中,其整数部分占用的字符位置个数为( 。正确答案是:3在函数调用的格式字符串中,若使用格式符为,则对应输入的数据类型为( 正确答案是:float在函数调用的格式字符串中,若使用格式符为,则对应输入的数据类型为( 正确答案是:double每个C程序文件在编译时可能出现有严重性错误,其对应的标识符号为( 正确答案是:error在环境下,为运行一个程序而建立的工作区文件的扩展名为( 正确答案是在C在C语言中,标识符中的非首字符可以是英文字母、数字或下划线字符。正3.#include正确#include命令只能包含头文件,不能包含其他任何文件。9.在一条注释语句中,除了注释内容外,不需要使用任何特定的标记符。x的值所占用的显示宽度将大于等于5个字符位置。x6个字符位置。在执行“printf("%8.2f",x);x的值所占用的显示宽度将大于等于8个字符位置。在“scanf("%d和y变量均为整数类型。变量不是字符指针类型。在C在C在Cint类型的长度为( 正确答案是常数-4.25的数据类型为( 正确答案是双精度型一个有符号字符类型的值域范围是( 正确答案是到+127字符串"Its\40\n"的长度为( 正确答案是实数340.25对应的规格化浮点数为( 正确答案是:3.4025e2要利用const保留字定义整型常量ABC的值为10,则对应的定义语句为( 正确答案是:constintABC=10;要利#define命令定义ABC常量的值为100,则对应的命令格式为( 正确答案是:#defineABC==100下列数值中最大值是( 正确答案是在下面运算符中,优先级最高的是( 正确答案是设有语句序列为ta=12;a+=a*a,则执行结束后a的值为( 正确答案是在C语言中,用于比较大小的关系运算符的总数为( 正确答案是x>0&&y<=5的相反表达式为( 正确答案是:x<=0||y>5假定x是一个逻辑量,(x&&和(x||的值分别为( 正确答案是和1假定x=4.6,则函数ceil(x)的值为( 正确答案是表达式floor(2.3457*100+0.5)/100的值为( 正确答案是3.26e4#define使用const(=)x=52+x++7(int)14.6%5。x=x+1x++x=5,则执行“a=(x?10:20);a(a>b||(a>b&&。C语言中,求一个整数的绝对值的数学函数为abs(x)C语言中,退出程序运行的系统函数为exit()若x的值为15,则执行“if(x>10)x++;else语句后的值为( 正确答案是若x的值-10,则执行“if(!x)x++;else语句后的值为( 正确答案是若x的值为10,则执行“switch(x%3){case0:x++;case1:x++;case2:语句后的值为( 正确答案是若x的值为10,则执行“switch(x%3){case0:x++;break;case1:x++;default:语句后的值为( 正确答案是若n的值为10,则执行“for(i=1;i<n;i++)语句的过程中,表达式i=1共被执行的次数为( 正确答案是若n的值为10,则执行“for(i=0;;i++)if(i>n/3)语句后的值为( 正确答案是若n的值为10,则执行“for(i=1;i<n;i++)语句的过程中,表达式i++共被执行的次数为( 正确答案是若n的值为10,则执行“for(i=0;i<n;i++)for(j=i;j<n;j++)语句后,内层循环体S语句的执行总次数为( 正确答案是:n(n+1)/2若n的值为10,则执行“while(n-->0)s+=n;”语句的过程中,循环体被执行的次数为( 正确答案是若n的值为5,s的值为0,则执行“while(n-->0)s+=n;”语句后的值为( 正确答案是在下列的语句中,必须以分号作为结束的语句是( 。若n的值为5,s的值为0,则执行“dowhile(n>0);”语句后的值为( 正确答案是要结束任一种循环语句或switch语句的执行,则在其中使用的语句为( 正确答案是:breakifelsefor3forwhilewhilewhiledo-whiledo-whiledo-whilebreakswitch语句中。returncontinue#include<stdio.h>voidmain(){inta=5,b=8,c=6,d=15,x,y;if(a>=b)x=a;elsex=b;if(c>=d)y=c;elsey=d;if(x>=y)printf("%d\n",x);elseprintf("%d\n",y);}正确答案是:15#include<stdio.h>voidmain(){intx=5,y=8,z=12;if(x>y&&x>z)printf("%d\n",x);elseif(y>x&&y>z)printf("%d\n",y);elseprintf("%d\n",z);}正确答案是:12#include<stdio.h>voidmain(){inta=5,b=8,c;if(3*a>2*b)c=2*a+3*b;elseif(a==b)c=a*a+b*b;elsec=a*b+3;printf("c=%d\n",c);}正确答案是:c=43#include<stdio.h>voidmain(){intx=5,y=0;switch(2*x-3){case4:y+=x;case7:y+=2*x+1;case10:y+=3*x;}printf("y=%d\n",y);}正确答案是:y=26#include<stdio.h>voidmain(){charch;inta,b,c;scanf("%c",&ch);scanf("%d%d",&a,&b);switch(ch){case'+':c=a+b;break;case'-':c=a-b;break;case'*':c=a*b;break;case'/':c=a/b;break;default:printf("Error!\n");}printf("%d%c%d=%d\n",a,ch,b,c);}正确答案是:35=15#include<stdio.h>voidmain(){inti,s=0;for(i=16;i>0;i-=2)if(i%3==0||i%4==0)s+=i;printf("s=%d\n",s);}正确答案是:s=46#include<stdio.h>voidmain(){inti,x,y,s=0;scanf("%d%d",&x,&y);if(x>y){i=x;x=y;y=i;}for(i=x;i<=y;i++)if(i%2==1)s+=i*i;printf("s=%d\n",s);}正确答案是:奇数#include<stdio.h>constintN=100;voidmain(){inta,b;for(a=2;a<=N;a++){for(b=2;b*b<=a;b++)if(a%b==0)break;if(b*b>a)printf("%d",a);}}正确答案是:素数(质数)#include<stdio.h>voidmain(){inti=0,s=0;while(s<50){i+=2;s+=i*i;}printf("s=%d\n",s);}正确答案是:s=56#include<stdio.h>voidmain(){intx,p=2;scanf("%d",&x);while(x>=p)if(x%p==0){printf("%d=%d*%d\n",x,p,x/p);break;}elsep++;}正确答案是:35=57#include<stdio.h>voidmain(){intx,y,a,p=1;scanf("%d%d",&x,&y);if(x<y){a=x;x=y;y=a;}if(x%y==0){printf("%d\n",y);return;}a=2;while(y>=a)if(x%a==0&&y%a==0){x=x/a;y=y/a;p*=a;}elsea++;printf("%d\n",p);}公约数#include<stdio.h>voidmain(){intx=36,y=48,z;do{z=x%y;x=y;y=z;}while(y>0);printf("x=%d\n",x);}正确答案是:x=12#include<stdio.h>voidmain(){intx,i=0,s=0;scanf("%d",&x);do{i+=2;s+=i*i;}while(s<x);printf("n=%d\n",i-2);}正确答案是:最大#include<stdio.h>voidmain(){intx=37,k=2;do{if(x%k==0)break;k++;}while(k*k<=x);if(k*k>x)printf("Yes!\n");elseprintf("No!\n");}正确答案是:Yes!假定有一个元素类型为int的数组a[10],它所占用的存储空间的字节数为( 正确答案是假定一维数组的定义为*a[8],则该数组所占用的存储空间的字节数为( 正确答案是假定有一个定义语句为ta[10]={3,4,2,8,6},则元素a[5的值为( 正确答案是在下面的一维数组定义语句中,有语法错误的是( 正确答案是a[];假定二维数组的定义语句为ta[3][5],则该数组所含元素的个数为( 正确答案是假定有一个定义语句为ta[3][4]={{3,4},{2,8,6}},则元素a[1][2的值为( 正确答案是对于一个长度为n的字符串,保存它至少需要占用的存储字节数为( 正确答案是对于一个二维字符数组a[M][N],存储每个字符串的长度至多为( 正确答案是若需要比较两个字符串的大小,则选用的函数是( 正确答案是:strcmpea[M][N]N之间。使用“typedefcharBB10个元素的一维字符数组。使用“typedefcharBB1050500个元素的二维字符数组类型。一个二维字符数组a[10][20]中存储每个字符串的最大长度为19#include<stdio.h>voidmain(){inta[8]={10,8,6,15,9,21,8,16};inti,x=a[0];for(i=1;i<8;i++)if(a[i]>x)x=a[i];printf("x=%d\n",x);}正确答案是:x=21#include<stdio.h>voidmain(){inta[8]={12,15,20,8,5,9,16,10};inti,s[3]={0};for(i=0;i<8;i++)s[a[i]%3]+=a[i];printf("%d%d%d\n",s[0],s[1],s[2]);}正确答案是:362633#include<stdio.h>voidmain(){inta[3][3]={{3,8,6},{5,9,2},{8,5,12}};inti,j,b[3]={0};for(i=0;i<3;i++)for(j=0;j<3;j++)b[j]+=a[i][j];for(j=0;j<3;j++)printf("%d",b[j]);}正确答案是:162220#include<stdio.h>voidmain(){inta[3][4]={{60,75,83,52},{76,94,88,35},{80,74,46,90}};inti,j,x=a[0][0],y=-1;for(i=0;i<3;i++)for(j=0;j<4;j++)if(a[i][j]>x){y=x;x=a[i][j];}elseif(a[i][j]>y)y=a[i][j];printf("%d%d\n",x,y);}正确答案是:9490#include<stdio.h>#include<string.h>voidmain(){chara[10],b[10],c[10];intc1,c2,c3;scanf("%s%s%s",a,b,c);c1=strlen(a);c2=strlen(b);c3=strlen(c);if(c1>c2&&c1>c3)printf("%s",a);elseif(c2>c1&&c2>c3)printf("%s",b);elseprintf("%s",c);}正确答案是:xucong#include<stdio.h>voidmain(){chara[]="abcdbfbgacd";inti=0,i1=0,i2=0,i3=0;for(i=0;a[i]!='\0';i++){switch(a[i]){case'a':i1++;break;case'b':i2++;break;case'c':i3++;break;}}printf("%d%d%d%d\n",i1,i2,i3,i);}正确答案是:211#include<stdio.h>voidmain(){chara[]="12342345342356";inti,c[7]={0};for(i=0;a[i]!='\0';i++)c[a[i]-48]++; //480ASCII码for(i=1;i<7;i++)printf("%d",c[i]);}正确答案是:4一个指针指向一个数据对象它保存着该数据对象的地址若数据对象为DataType类型则该指针的类型( 正确答案是:DataType*NULL是一个符号常量,通常作为空指针值,它的取值为( 正确答案是若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为( 正确答案是:(char*)p若要定义整型指针p并初始指向x,则所使用的定义语句为( 正确答案是*p=&x;假定p所指对象的值为25,p+1所指对象的值为42,则表达*p++的值为( 正确答案是假定p是一个指针变量,则该变量的地址表示为( 正确答案是已知“o,要使变量p指向s所指向的同一个字符串,则p应定义为( 正确答案是:char*p=s;假定a为一个数组名,则下面表达式中错误的是( 正确答案是已知“””,,的值为( 正确答案是已知“ta[6][5],则元素a[2][4的地址比该数组的首地址大( 正确答案是个字节要使p指向二维整型数组a[10][20],p应定义为( 正确答案是:int(*p)[20]=a;执行“int语句后得到的动态存储空间的字节数为( 正确答案是利用动态存储分配创建具有10个字节的一维数组空间的正确语句是( 正确答案是:char*p=malloc(10);*p,pp;pp具有相同的数据类型。在语句“typedefint*inPointer类型。aa+i&a[i]已知“ta[10],运算是不允许的。a*(a[j]+i)a[i][j]。a是一个二维数组,则数组名aa[0]进行动态存储分配的calloc()用于释放动态存储空间的函数为freeaa+i所指对象的地址比a4*i执行下面程序的输出结果为回答正确答案是:80#include<stdio.h>voidmain(){inta[8];ints1=0,s2=0,*p;printf("请输入8个整数:");for(p=a;p<a+8;p++)scanf("%d",p);for(p=a;p<a+8;p++){if(*p%2)s1+=*p;elses2+=*p;}printf("%d%d\n",s1,s2);}正确答案是:偶数#include<stdio.h>voidmain(){chara[5][10]={"12345","asde45","wer45t","zxc12","89uy78"};char*p;inti,c=0,k=0;for(i=0;i<5;i++){p=&a[i][0];while(*p!='\0'){if(*p>='0'&&*p<='9')k++;c++;p++;}}printf("%d%d\n",k,c);}正确答案是:1528#include<stdio.h>#include<stdlib.h>voidmain(){inti,n,*a;doscanf("%d",&n);while(n<2);a=calloc(n,sizeof(int));for(i=0;i<n;i++)if(i%2)a[i]=2*n+i;elsea[i]=2*n-i;for(i=0;i<n;i++)printf("%d\n",a[i]);}正确答案是:136#include<stdio.h>#include<stdlib.h>voidmain(){inti=0,j,n=10,*a;a=calloc(10,sizeof(int));while(i<n){a[i]=rand()%30+10; //for(j=0;j<i;j++)if(a[i]==a[j])break;if(i==j)i++;}for(i=0;i<n;i++)printf("%d\n",a[i]);}正确答案是:相同(相等)在下面的函数声明语句中存在着语法错误的是( 正确答案是:AA(inta;intb)如果一个函数定义仅允许为所在的程序文件调用,则应在该函数定义的最前面添加的关键字为( 正确答案是:static假定一个函数定义为n*n,表示该函数作用域的关键字为( 正确答案是假定一个函数的原型语句为t*,一个整型数组为a[10,则下面函数调用表达式不正确的是( 正确答案是:ff(a[0])假定一个函数原型语句为tta[],int,与数组参数等价的表示为( 正确答案是:int*a假定一个函数的参数说明为constint则在函数体中不能进行的操作是( 正确答案是:a=10在函数体中定义的变量具有( 正确答案是局部作用域在函数外定义的变量,若带有作用域关键字则它具有( 正确答案是文件作用域在函数体中定义一个静态变量时,选用的存储属性关键字为( 正确答案是:static假定一个函数原型为dta[],int,则对应的函数指针类型为( 正确答案是:void(*ff)(int*a,int)对于标识为static属性的变量,若没有对它进行初始化,则默认的初值为0C在Cvoidxk9(intx){chara[10];inti=0,rem;do{rem=x%8;x=x/8;a[i]=48+rem; //'0'ASCII48i++;}while(x!=0);while(i>0)printf("%c",a[--i]);printf("\n");}正确答案是:八intwr1(inta[],intn,intx){inti;for(i=0;i<n;i++)if(a[i]==x)return1;return0;}正确答案是:查找(顺序查找)voidwr4(inta[],intb[],intn){inti;b[0]=b[1]=0;for(i=0;i<n;i++)if(a[i]%2==0)b[0]++;elseb[1]++;}正确答案是:奇数#include<stdio.h>intwr11(inta[],intn,intk){inti,c=0;for(i=0;i<n;i++)if(a[i]>=k)c++;returnc;}voidmain(){inta[9]={9,5,7,12,4,8,15,10,15};intc=wr11(a,9,8);printf("%d\n",c);}正确答案是:6#include<stdio.h>intc=15;voidm
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论