c语言模拟题目第二十套docx.docx
- 文档编号:5482657
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:24
- 大小:59.94KB
c语言模拟题目第二十套docx.docx
《c语言模拟题目第二十套docx.docx》由会员分享,可在线阅读,更多相关《c语言模拟题目第二十套docx.docx(24页珍藏版)》请在冰豆网上搜索。
c语言模拟题目第二十套docx
第二十套
下列程序段的输出结果为()0
floatx=213.82631;printf(〃%3d〃,(int)x);
A、213.82
B、213.83
C、213
D、3.8
【参考答案】错误
C
【学生答案】
[未答此题]
a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。
A、a/b*b+a%b==a
B、a/b*b==a
C、a*b/a*b==l
D、a/b*b/a==l
【参考答案】错误
A
【学生答案】
[未答此题]
inta=l,b=2,c=3;if(a>b)a=b;if(a>c)a=c;贝!
fa的值为()。
A、3
B、2
C、1
D、不一定
【参考答案】错误
C
【学生答案】
[未答此题]
C语言的switch语句中。
8$6后()o
A、可为任何量或表达式
B、町为常量或表达式或有确定值的变量及表达式
C、只能为常量或常量表达式
D、只能为常量
【参考答案】错误
C
【学生答案】
[未答此题]
设j和k都是int类型,则下面的for循环语句()。
for(j=0,k=0;j<=9&&k!
=876;j卄)scanf&k);
A、最多执行9次
B、是无限循环
C、循环体一次也不执行
D、最多执行10次
【参考答案】错误
D
【学生答案】
[未答此题I
以下程序中,while循环的循环次数是().
main()
{
inti=0;
while(i<10)
{
if(i if(i==5)break; i++; A、1 B、6 C、死循环,不能确定次数 D、4 【参考答案】错谋 C 【学生答案】 [未答此题] 以下不能对二维数组a进行正确初始化的语句是()。 A、inta[2][3]={{1,2},{3,4},{5,6}}; B、inta[][3]二{{1,2},{0}}; C、inta[2][3]={0}; D、inta[][3]={l,2,3,4,5,6}; 【参考答案】错谋 A 【学生答案】 [未答此题] 下面函数调用语句中,fun含有实参的个数为().fun((x,y),(x+y,z,x/y)); A、1 B、4 C、5 D、2 【参考答案】错误 D 【学生答案】 [未答此题] 在〃文件包含〃的预处理中,被包含的文件应是(). A、源文件 B、可执行文件 C、目标文件 D、批处理文件 【参考答案】错误 A 【学生答案】 [未答此题]以下程序的输出结果是(). #include voidmain() {inta[]={2,4,6,8},*p=a,i; for(i=0;i<4;i++)a[i]=*p++; printf(/,%d\n,/,a⑵);} A、2 13、6 C、8 D、4 【参考答案】错误 B 【学生答案】 [未答此题I printf函数的一般格式为: printf(格式控制,输出表列). 【学生答案】错谋 未答此题 【参考答案】 正确若a=3,b=2,c=l则关系表达式"(a>b)=c〃的值为〃真〃。 【学生答案】错误 未答此题 【参考答案】 正确 语句if(a>b)printf("%d",a);elseprintfb);可以用条件表达式a>b? a: b取代. 【学生答案】错谋 未答此题 【参考答案】 错误 若有说明intc;则while(c=getchar());没有语法错误。 【学生答案】错误 未答此题 【参考答案】 正确 C语言屮三种基本结构: 顺序、选择、循环,其结构内的每个部分都会被执行到.. 【学生答案】错误 未答此题 【参考答案】 错误 数值型数组整体不参加数据处理(即不参加各种运算),参加数据处理的只能是数组的元素. 【学生答案】错课 未答此题 【参考答案】 正确 没有初始化的数值型静态局部变量的初值是不确定的值. 【学生答案】错误 未答此题 【参考答案】 错误 一个include命令可以指定多个被包含的文件。 【学生答案】错谋 未答此题 【参考答案】 错误 定义inta[]={1,2,3,4},y,*p=&a[l]则执行y=(*~p)++后,y的值是2・ 【学生答案】错误 未答此题 【参考答案】 错误 共用体变量使用过程中,可在同一内存段中存放几种不同类型的成员. 【学生答案】错课 未答此题 【参考答案】 正确 若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+二n++后x的值为,n的值 为・ 【空11错误 【学生答案】 [无] 【参考答案】 10 【空2]错误 【学生答案】 [无] 【参考答案】 当a=3,b=2,c=l;时,执行以下程序段后b=.if(a>b)a=b;if(b>c)b=c;elsec=b; c=a; 【空1]错误 【学生答案】 [无] 【参考答案】 设i,j,k均为int型变暈,则执行完下而的for循环后,k的值为for(i=0,j=10;i<=j;i++,j—)k=i+j; 【空1]错谋 【学生答案】 [无] 【参考答案】 10 C语言屮,二维数组在内存中的存放方式为按优先存放. 【空1]错谋 【学生答案】 [无] 【参考答案】 行 设有以下共用体类型说明和变量定义,则变量d在内存所占字节数是ounionstud {shortintnuiti;charname[8];floatscore[3];doubleave;}d,stu[3]; 【空1]错误 【学生答案】 [无] 【参考答案】 12 /* 【程序设计】功能: 求n阶方阵主、副对角线上的元素之积。 注意: 请在Begin和End注释行Z间填写代码, 所有注释语句都不能删除。 */ #defineN4 #inelude"stdlib.h"#inelude"stdio.h"floatmul(intarr[][N]) /*********Bogin**********/ /**********End**********/ } voidmain() { inta[N][N],i,j; voidTestFunc(); for(i=0;i a[i][j]=rand()%10;for(i=0;i for(j=0;j printf(z/%4dz/,a[i][j]);printf(z/\n,z); } printf("Thesumis%f\nz,,mul(a)); TestFunc(); voidTestFunc() { FILE*IN,*0UT; intm,n; inti[4][4];floato; IN=fopen("in.dat","r"); if(IN==NULL) { printf("ReadFileError"); } OUT二fopen("out.datzz,"w"); if(OUT==NULL) { printf("WriteFi1eError"); } for(m=0;in<100;m++) for(n=0;n<100;n++) { fscanf(IN,"%d: &i[m][n]); } o=mul(i); fprintf(OUT,"%f\n",o);fclose(TN); fclose(OUT); } 【参考代码】 inti,j; floatt=l; for(i=0;i if(i==j||i+j二二NT) t=t*arr[i][j]; return(t); 【考生代码】 /* 【程序改错】 功能: 为一维数组输入10个整数;将其中最小的数与第一个数对换,将最大的数与最后一个数对换,输出数组元素。 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */#include"stdio.h"voidmain() { inta[10]; voidinput(); voidoutput(); voidmax_min(); input(a,10); max_min(a,10); output(a,10); voidinput(intarrintn) inti; printf("pleaseenter10integers: \n");for(i=0;i scanf("%cT: arr[i]); voidmax_min(intarr[],intn) intmax,min,t,i; min=max=0; for(i=l;i if(arr[i] max=i; elseif(arr[i] /**********error**********/ if(max=0)max二min;t=arr[n-l]; arr[n-l]=arr[max];arr[max]=t; voidoutput(intarr[],intn) printfC'Thechangedarrayis: \n〃); while(i=0;i printf(〃\n〃); 【改错1】正确 【学生答案】 scanfarr[i]); 【参考答案】 scanf("%cT,arr[i]); 【改错2】错误 【学生答案】 if(arr[i] 【参考答案】 if(arr[i]>arr[max])if(arr[max] 【改错3】错谋 【学生答案】 if(max=0)max二min; 【参考答案】 if(max==0) if(0==max) 【改错4】错误 【学生答案】 while(i=0;i 【参考答案】 for(i二0;i for(i=0;n>i;i++) for(i=0;i<=n-l;i++) for(i=0;n-l>=i;i++) /* 【程序填空】 功能: 以下程序的功能如(图1)。 计算s=K址1.0)+艮5.0))的值°其中: 20+3x+4x<=2 ・20+3x・4x>2 当程序正确时,函数值应为2488.000000o 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意: 不得增行或删行,也不得更改程序的结构! */^include"stdio.h" doublef() /***********FILL***********/ y=2.0*x*x+3.0*x+4・0; y二一2.0*x*x+3.0*x-4.0; else 【空1】错谋 【学生答案】 double f() voidmain() printf(,z%f\nz,,f(f(T.0)+f(5.0))); 【参考答案】 floatx doublex 【空2】错课 【学生答案】 【参考答案】 doubley floaty 【空3】错误 【学生答案】 if() 【参考答案】 x<=2 2>二x 【空4】错误 【学生答案】 【参考答案】 returnyreturn(y) 若己定义x和y为double类型,则表达式x二1,y二x+3/2的值是()。 A、2.0 B、2.5 C、1 D、2 【参考答案】错误 A 【学生答案】 [未答此题] 执行下面程序中的输出语句后,输出的值是: (), main(){inta二5;printf("%d\rT,(a=3*5,a*4,a+5));} A、20 B、65 C、10 D、15 【参考答案】错误 A 【学生答案】 [未答此题] 以下不正确的if语句形式是()。 A、if(x B、if(x! =y)scanf("%cT,&x)elsescanf&y); C、if(x>y&&x! 二y); D、if(x—y)x+二y; 【参考答案】错误 B 【学生答案】 [未答此题] 执行下面程序段后,s的值是()。 ints=5; switch(十+s) {case6: case7: s+=2; case8: case9: s+二2; A、8 B、7 C、10 D、6 【参考答案】错谋 C 【学生答案】 [未答此题] 下面程序段运行的结果是(). x=-l; do{ x二x*x; }while(! x); A、循环执行一次 B、有语法错误 C、死循环 D、循环执行两次 【参考答案】错谋 A 【学生答案】 [未答此题] 程序main()(chars[10];s二"abed";printf("%s\n",s);}的运行结果(以下U代表空格)是(). A、输illabed B、输出abcdUUUUU C、编译不通过 D、输出a 【参考答案】错误 C 【学生答案】 [未答此题] 函数的形式参数系统默认存储类型说明是()O A、static extern C、register D、auto 【参考答案】错误 D 【学生答案】[未答此题I 若filel中包含file2,file2中要用到file3,若filo2中不用^include"file3・h〃,则在filel.c中应进 行如下定义(). ^include ^include C^#include D、#include 【参考答案】 D 〃file2.h〃和^include〃file3.h〃 "file2.h,file3.h/z 〃f订e2・h〃,〃file3.h〃 "file3.h"和#include〃f订e2.h"错误 【学生答案】 [未答此题] 若有说明: intn=2,*p=&n,*q=p;,则以下非法的赋值语句是()。 *p二*q; n=*q; C>p二n; D、p二q; 【参考答案】错谋 c 【学生答案】 [未答此题] for循环的三个表达式中间用逗号相分隔. 【学生答案】错误 未答此题 【参考答案】 错误 在C程序屮,逗号运算符的优先级最低 【学生答案】错谋 未答此题 【参考答案】 正确设i=l,j=2,k二3,则逻辑表达式! (i>j)||! k&&l的值为0. 【学生答案】错误 未答此题 【参考答案】 错误 「or循环的三个表达式都可以省略. 【学生答案】错谋 未答此题 【参考答案】 正确 do-whi1e循环的whilejn的分号不可以省略• 【学生答案】错误 未答此题 【参考答案】 正确 若定义intarray[5],*p;则赋值语句p二array;是正确的. 【学生答案】错误 未答此题 【参考答案】 正确 函数调用语句: func(recl,rec2+rec3,(rec4,rec5));中,含有的实参个数是5. 【学生答案】错课 未答此题 【参考答案】 错误 用一个#include命令可以同时指定数个被包含文件. 【学生答案】错误 未答此题 【参考答案】 错误 下列的语句是正确的: int**p; 【学生答案】错谋 未答此题 【参考答案】 正确 两个类型相同的结构体变量,可以互相赋值. 【学生答案】错误 未答此题 【参考答案】 正确 已知: inti二&j二10,m,n;m二++i;n=j++;问语句执行后m二,n二 【空1]错谋 【学生答案】 [无] 【参考答案】 【空2]错误 【学生答案】 [无] 【参考答案】 10 当a=l,b=2,c=3时,执行以下程序段后b二.if(a>c)b=a;a=c;c=b; 【空1]错误 【学生答案】 [无] 【参考答案】 以下程序的输出结果为, #include"stdio.h" voidmain() {inta;for(a=0;a<10;a++);printfa);}【空1]错课 【学生答案】 [无] 【参考答案】 10 复制字符串的库函数是,只写函数名即可. 【空1]错误 【学生答案】 [无] 【参考答案】 strcpy 将file_point定义为文件指针的语句为,写出应包含的头文件语句 【空1]错误 【学生答案】 [无] 【参考答案】 FILE*file_point; FILE*file_point 【空2]错课 【学生答案】 [无] 【参考答案】 ^include ^include"stdio.h" /* 【程序设计】 功能: 从键盘输入一个大于3的整数,调用函数firn判断其是否素数,然后在main函数中输出相应的结论信息。 例如: 7是素数,8不是素数。 请编写fun函数。 素数是仅能被1和自身整除的数。 注意: 请在Bogin和End注释行之间填写代码,所有注释语句都不能删除。 如果是素数返回1,否则返回0 */ #inelude"stdio.h〃 #inelude"math,h"intfun(intn) /*********Bcgin**********/ /**********End**********/ } voidmain() { voidTestFunc(); intm,flag; printf("inputaninteger/'); scanf("%d: &m); flag=fun(m); if(flag) printf(z,%disaprime.\rT,ni); else printf(z/%disnotaprime.\n",m);TestFunc(); } voidTestFunc() { FILE*IN,*OUT; int订N,iOUT,i; IN二fopen("5.in","r"); if(IN==NULL) { printf("PleaseVerifyTheCurrerntDir..ItMayBeChanged"); } OUT二fopen("5.out","w"); if(OUT二二NULL) { printf("PleaseVerifyTheCurrentDir..ItMayBeChanged"); } for(i=0;i<10;i++) { fscanf(IN,〃%d〃,&ilN); iOUT二fun(ilN); fprintf(OUT,〃%d\n〃,1OUT); } fclose(IN); fclose(OUT); } 【参考代码】 inti; intj; j=1; for(1=2;i {if(n%i==0)j=0; } returnj; 或 inti,k,flag; k=sqrt(n); for(i=2;i<=k;i++) if(n%i=0)breeik; 辻(i>k)flag=l; elseflag=0; 【考生代码】 /* 【程序改错】 功能: 找出大于m的最小素数,并将其作为函数值返回。 注意: 不可以增加或删除程序行,也不可以更改程序的结构。 */#include"math,h" #include"stdio.h" intfun(intm) inti,k; for(i=m+l;;i++) for(k=l;k if(i%k! =0)break; /**********error**********/ returnk; voidmain() { intn; scanf("%d",&n); printfCz%d\n/z,fun(n)); 【改错1】错课 【学生答案】 for(k=l;k 【参考答案】 for(k=2;kk;k++) for(k=2;k<=i-l;k++)for(k=2;kk;k++) for(k=2;k<=sqrt(i);k++) for(k=2;sqrt(i)>=k;k++) 【改错2】错谋 【学生答案】if(i%k! =0)break; 【参考答案】if(i%k==0)break;if(! (i%k))break: 【改错3】错误 【学生答案】if(k 【参考答案】 if(i<=k)if(k>=i)if(k=i)if(k>=i/2)if(k=i/2)if(k>sqrt(i)) 【改错4】错谋 【学生答案】returnk; 【参考答案】 returni;return(i); /* 【程序填空】 功能: 将一个字符串中下标为m的字符开始的全部字符复制成为另一个字符串。 请在程序的下划线处填入正确的内容,并把下划线删除,使程序得出正确的结果。 注意: 不得增行或删行,也不得更改程序的结构! */^include"stdio.h" voidstrcopy(char*strl,char*str2,intm) char*pl,*p2; p2=str2; while(*pl) /***********FILL***********/ main() inti,m; charstr1[80],str2[80]; gets(strl); scanf("%d〃,&m); puts(strl);puts(str2); 【空1】错误 【学生答案】 【参考答案】 pl二strl+m 【空2】错谋 【学牛答案】 【参考答案】 *p2++=*pl++ *(p2++)=*(pl++)*p2=*pl,p2++,pl++ *p2二*pl++,p2++
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 模拟 题目 第二十 docx