大连理工大学c语言上机模拟题1.docx
- 文档编号:25048222
- 上传时间:2023-06-04
- 格式:DOCX
- 页数:19
- 大小:19.44KB
大连理工大学c语言上机模拟题1.docx
《大连理工大学c语言上机模拟题1.docx》由会员分享,可在线阅读,更多相关《大连理工大学c语言上机模拟题1.docx(19页珍藏版)》请在冰豆网上搜索。
大连理工大学c语言上机模拟题1
A1.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用
八进制表示的字符常量'\101'是()。
A、字符A
B、字符a
C、字符e
D、非法的常量
C2.下列程序段的输出结果为()。
floatk=0.8567;printf("%4.1f%%",k*100);
A、85.6%
B、85.6%%
C、85.7%
D、.857
A3.下面的scanf函数输入数据,使得a=10,b=15,s1='S',s2='s',x1=1.5,x2=-3.75,x3=67.8,
正确的键盘输入方法是().
(用"[CR]"表示回车,U表示空格)
main()
{inta,b;
floatx1,x2,x3;
chars1,s2;
scanf("%5d%5d%c%c%f%f%*f%f",&a,&b,&s1,&s2,&x1,&x2,&x3);
}
A、10UUU15Ss1.5U-3.75U+1.5U67.8[CR]
B、10UUU15USUs1.5U-3.75U+1.5U67.8[CR]
C、10UUU15USUsU1.5U-3.75U+1.5U67.8[CR]
D、10UUU15Ss1.5U-3.75U+1.5,67.8[CR]
A4.C语言的if语句中,用作判断的表达式为()。
A、任意表达式
B、算术表达式
C、逻辑表达式
D、关系表达式
A5以下程序的输出结果是:
()
main()
{intm=5;
if(m++>5)printf("%d\n",m);
elseprintf("%d\n",m--);
}
A、6
B、5
C、7
D、4
C6以下for循环的执行次数是for(x=0,y=0;(y=123)&&(x<4);x++);()。
A、3次
B、循环次数不定
C、4次
D、是无限循环
B7.以下程序的执行结果是()。
main()
{intnum=0;
while(num<=2){num++;printf("%d,",num);}}
A、0,1,2
B、1,2,3,
C、1,2,3,4,
D、1,2,
A8.以下不能正确进行字符串赋初值的语句是()。
A、charstr[5]="good!
";
B、charstr[5]={'g','o','o','d'};
C、char*str="good!
";
D、charstr[]="good!
";
D9.函数调用:
strcat(strcpy(str1,str2),str3)的功能是()。
A、将串str1复制到串str2中后再连接到串str3之后
B、将串str2连接到串str1之后再将串str1复制到串str3中
C、将串str1连接到串str2之后再复制到串str3之后
D、将串str2复制到串str1中后再将串str3连接到串str1之后
C10.以下函数的类型是()。
fff(floatx)
{
return5;
}
A、void类型
B、与参数x的类型相同
C、int类型
D、无法确定
A11.设有如下函数
fac(intx)
{
floaty=1.0;
return(x*y);
}
则函数的类型为().
A、int型
B、float型
C、无法确定
D、void型
B12.设有宏定义#definePI3.14和#defineS(r)PI*r*r,则S
(2)的值为().
A、6.28
B、12.56
C、3.14
D、9.42
A13.下列关于指针定义的描述,错误的是()。
A、指针是一种变量,该变量用来存放某个变量的值
B、指针是一种变量,该变量用来存放某个变量的地址值
C、指针变量的类型与它所指向的变量类型一致
D、指针变量的命名规则与标识符相同
A14.以下程序的输出结果是().
main()
{charstr[]="ABCD",*p=str;printf("%d\n",*(p+3));}
A、68
B、不确定的值
C、字符D的地址
D、0
B15.对结构体类型的变量的成员的访问,无论成员是何种数据类型都可使用
的运算符是()。
A、&
B、.
C、*
D、->
N1.在C语言中,各种类型的整型数据在内存中都占2个字节。
N2.若有inti=10,j=2;则执行完i*=j+8;后ⅰ的值为28。
N3.格式字符%g选用%e或%f格式中输出宽度较长的一种格式输出实数.
N4.C语言程序中输入一个中间带有空格的字符串时,可以用scanf函数.
N5.设d=1,e=2,f=3,则逻辑表达式!
(d+e)+f&&e+f*2的值为0.
Y6.已知a=4,b=2,c=3,d=5,表达式a>b?
a:
c c: d的值为4. Y7.语句if(a>b)printf("%d",a);elseprintf("%d",b);可以用语句printf("%d",a>b? a: b);取代. Y8.在do-while循环中,任何情况下都不能省略while. N9.break语句能够终止当前进行的多层循环. Y10.continue语句对于while和do-while循环来说,意味着转去计算While表达式. N11.对静态变量的初始化不是在编译阶段完成的. N12.gets函数是用来输入一个字符的函数. N13.设有数组定义: chararray[]="hello";则数组array所占的内存空间为5字节. Y14.当全局变量与局部变量同名时,在局部变量的作用域范围之内,局部变量起作用. N15.C语言中,通过函数调用只能获得一个返回值. N16.数组名作为函数调用时的实参,实际上传递给形参的是数组第一个元素的值. Y17.被包含文件与其所在的文件(即用#include命令的源文件),在预编译后,成为同一个文件. Y18.如果需要向函数内传递多个值,用数组和用指针效果是一样的. Y19.两个类型相同的结构体变量,可以互相赋值. N20.C语言中,在打开文件时,必须说明文件的使用方式,"wb+"只能用于文件的写. 1.intx;x=-3+4%-5*3,则x的值为_____.9 2.下列语句输出的结果是_____.-1 unsignedintb=65535;printf("%d",b); 3.x=5,y=8时,c语言表达式5-2>=x-1<=y-2的值是_____1 4.设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是_____. for(x=0,y=0;y! =123&&x<3;x++) scanf("%d",&y);3 5.连接字符串的函数是_____,只写函数名即可.Strcat 6.从函数的形式上看,函数分为无参函数和_____两种类型.有参函数 7.定义int*p,a[5];将数组a的首地址赋给指针变量p的语句是_____. p=a p=&a[0] p=a; p=&a[0]; 8.设有以下结构类型说明和变量定义,则变量a在内存所占字节数是_____。 structstud{charname[10];floats[4];doubleave;}a,*p;34 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 编写函数fun(str,i,n),从字符串str中删除第i个 字符开始的连续n个字符(注意: str[0]代表字符串 的第一个字符)。 ------------------------------------------------*/ #include"stdio.h" #include"string.h" main() { charstr[81]; inti,n; voidfun(charstr[],inti,intn); voidTestFunc(); printf("请输入字符串str的值: \n"); scanf("%s",str); printf("你输入的字符串str是: %s\n",str); printf("请输入删除位置i和待删字符个数n的值: \n"); scanf("%d%d",&i,&n); while(i+n-1>strlen(str)) { printf("删除位置i和待删字符个数n的值错! 请重新输入i和n的值\n"); scanf("%d%d",&i,&n); } fun(str,i,n); printf("删除后的字符串str是: %s\n",str); TestFunc(); } voidfun(charstr[],inti,intn) { /*********Begin**********/ while(str[i+n-1]) { str[i-1]=str[i+n-1]; i++; } str[i-1]='\0'; 2 /*------------------------------------------------ 【程序设计】 -------------------------------------------------- 功能: 请编一个函数voidfun(inttt[M][N],intpp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最小元素,并依次放入pp所指一维数组中。 二维 数组中的数已在主函数中赋予。 ------------------------------------------------*/ #include"conio.h" #include"stdio.h" #defineM3 #defineN4 voidfun(inttt[M][N],intpp[N]) { /*********Begin**********/ /**********End**********/ } main() { intt[M][N]={{22,45,56,30},{19,33,45,38},{20,22,66,40}}; voidNONO(); intp[N],i,j,k; printf("Theoriginaldatais: \n"); for(i=0;i { for(j=0;j printf("%6d",t[i][j]); printf("\n"); } fun(t,p); printf("\nTheresultis: \n"); for(k=0;k printf("\n"); NONO(); } voidNONO() { inti,j,array[3][4],p[4]; FILE*rf,*wf; rf=fopen("in.dat","r"); wf=fopen("out.dat","w"); for(i=0;i<3;i++) for(j=0;j<4;j++) fscanf(rf,"%d",&array[i][j]); fun(array,p); for(j=0;j<4;j++) { fprintf(wf,"%7d",p[j]); fprintf(wf,"\n"); } fclose(rf); fclose(wf); } inti,j; for(j=0;j { pp[j]=tt[0][j]; for(i=1;i if(tt[i][j] pp[j]=tt[i][j]; } /*------------------------------------------------------ 【程序改错】 -------------------------------------------------------- 功能: 求1到20的阶乘的和。 ------------------------------------------------------*/ #include"stdio.h" voidfun() { intn,j; floats=0.0,t=1.0; for(n=1;n<=20;n++) { /**********ERROR**********/ s=1; for(j=1;j<=n;j++) /**********ERROR**********/ t=t*n; /**********ERROR**********/ s+t=s; } /**********ERROR**********/ printf("jiecheng=%d\n",s); } main() { fun(); } 【参考答案】 t=1; t=1.0; #include"string.h" #include"conio.h" intfun(char*str,char*substr) { /**********ERROR**********/ inti,n=0 /**********ERROR**********/ for(i=0;i<=strlen(str);i++) if((str[i]==substr[0])&&(str[i+1]==substr[1])&&(str[i+2]==substr[2])) /**********ERROR**********/ ++i; returnn; } main() { charstr[81],substr[4]; intn; printf("输入主字符串: "); gets(str); printf("输入子字符串: "); gets(substr); puts(str); puts(substr); n=fun(str,substr); printf("n=%d\n",n); } 【参考答案】 inti,n=0; /*------------------------------------------------------- 【程序填空】 --------------------------------------------------------- 功能: 计算平均成绩并统计90分以上的人数,输入的成绩为负时程序结束。 -------------------------------------------------------*/ #include"stdio.h" main() { intn,m;floatgrade,average; /***********FILL***********/ average=n=m=_____; while (1) { /***********FILL***********/ scanf("%f",&grade); if(_______)break; n++; average+=grade; /***********FILL***********/ if(grade<90)_____; m++; } if(n)printf("%f\n%d\n",average/n,m); } 【空1】正确 【学生答案】 average=n=m=0; 【参考答案】 0 ============================================================ 【空2】错误 【学生答案】 scanf("%f",&grade); 【参考答案】 grade<0 0>grade ============================================================ 【空3】错误 【学生答案】 if(grade<90)return; 【参考答案】 continue ============================================================ /***********FILL***********/ intmax_value(intm,intn,int______) { inti,j,max; max=array[0][0]; for(i=0;i for(j=0;j /***********FILL***********/ if(max return(max); } main() { inta[3][4]={{1,3,5,7},{2,4,6,8},{15,17,34,12}}; /***********FILL***********/ printf("maxvalueis%d\n",_____); } 【空1】错误 【学生答案】 intmax_value(intm,intn,int______) 【参考答案】 array[][4] array[3][4] ============================================================ 【空2】错误 【学生答案】 if(max 【参考答案】 max=array[i][j] ============================================================ 【空3】错误 【学生答案】 printf("maxvalueis%d\n",_____); 【参考答案】 max_value(3,4,a) ============================================================ 【改错1】错误 【学生答案】 for(j=1;j<=n;j++) 【参考答案】 t=1; t=1.0; ============================================================ 【改错2】正确 【学生答案】 t=t*j; 【参考答案】 t=t*j; ============================================================ 【改错3】正确 【学生答案】 s=t+s; 【参考答案】 s=s+t; s+=t; s=t+s; ============================================================ 【改错4】错误 【学生答案】 printf("jiecheng=%d\n",s); 【参考答案】 printf("jiecheng=%f\n",s); ============================================================ 【改错1】错误 【学生答案】 inti,n=0 【参考答案】 inti,n=0; ============================================================ 【改错2】错误 【学生答案】 for(i=0;i<=strlen(str);i++) 【参考答案】 for(i=0;i<=strlen(str)-3;i++) for(i=0;i ============================================================ 【改错3】错误 【学生答案】 ++i; 【参考答案】 n++; n+=1; n=n+1; ++n; ============================================================
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 大连理工大学 语言 上机 模拟
![提示](https://static.bdocx.com/images/bang_tan.gif)