电子科技大学《C语言》自测题答案之欧阳美创编Word格式文档下载.docx
- 文档编号:14432445
- 上传时间:2022-10-22
- 格式:DOCX
- 页数:17
- 大小:138.93KB
电子科技大学《C语言》自测题答案之欧阳美创编Word格式文档下载.docx
《电子科技大学《C语言》自测题答案之欧阳美创编Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《电子科技大学《C语言》自测题答案之欧阳美创编Word格式文档下载.docx(17页珍藏版)》请在冰豆网上搜索。
stdio.h>
main()
{chars[10]={“abc”};
printf(“c1=%c,c2=%s\n”,s[2],s);
}
13、如果a=5,b=2,c=3,d=4,则表达式a<
b?
a:
c<
d?
c:
d的值是3。
14、设a=6,b=2,表达式a*=a+b运算后a的值为48。
15、设x=3.8.,a=9,y=5.3,表达式x+a%2*(int)(x+y)%2/4的值3.8。
二、选择题(每小题2分,共26分)
1、一个C程序的执行是从A
A)本程序的main函数开始,到main函数结束。
B)本程序的第一个函数开始,到本程序最后一个函数结束。
C)本程序的main函数开始,到本程序文件的最后一个函数结束。
D)本程序的第一个函数开始,到本程序main函数结束。
2、下面的四个选项中,均不是合法的用户标识符的选项是B
A)BB)b-aC)floatD)_123
M_0goto2abtemp
Doint_AINT
6、请问:
下面这个程序段的输出是什么?
D
inta=7,b=8,c=9;
if(a<
b){
a=b;
b=c;
c=a;
}
printf("
a=%db=%dc=%d\n"
a,b,c);
A.a=7b=8c=7B.a=7b=9c=7
C.a=8b=9c=7D.a=8b=9c=8
7、以下描述正确的是C
A)goto语句只能用于退缩出多层循环。
B)switch语句中不能出现continue语句。
C)只能用continue语句中来终止本次循环。
D)在循环语句中break语句不独立出现。
8、以下对二维数组a的正确说明是C
A)inta[3][];
B)floata(3,4);
C)inta[3][4]D)floata(3,)(4);
9、有下面的程序段
chara[3],b[]=”student”;
a=b;
printf(“%s”,a);
则D
A)运行后将输出student;
B)运行后将输出b;
C)运行后将输出aD)编译出错
10、若用数组名作为函数调用的实参,传给形参的是A
A)数组的首地址B)数组的第一个元素值
C)数组的全部元素值D)数组中元素的个数
11、在说明语句:
int*f();
中,标识符f代表的是C
A)一个返回值为指针型的函数名
B)一个用于指向整型数据的指针变量
C)一个用于指向函数的指针变量
D)一个用于指向一维数组的行指针
12.变量的指针,其含义是指该变量的___D_____
A)一个标志B)值C)名D)地址
13.已知intb;
则对指针变量正确的说明和初始化是:
__D__
A)int*p=b;
B)intp=b;
C)intp=&
b;
D)int*p=&
三、判断题(在你认为正确的表达式前打√,错误的打×
,每小题1分,共15分)
(×
)1、switch语句中,所有case后的常量表达式可以相同
(√)2、C语言不能嵌套定义函数,但可以嵌套调用。
(√)3、使用宏定义时,宏名可以是大写或者小写,但是常用大写字母表示。
(√4、C语言函数的缺省类型是void型(空类型)。
(×
)5、打印三行输出的C语言程序必须用三条printf语句。
)6、如果a>
b或c<
d为真,那么表达式(a>
b&
&
d)为真。
(√)7、如果有:
intdata[10];
int*p;
则语句p=data
和语句p=&
data[0]等价。
(√)8、联合类型是在同一个存储空间,可以为几个不同数据类型的成员所使用。
)、一个数组能够存储许多不同类型的值。
四、阅读下列程序,请将运行结果写在答题卡上(每题3分,共15分)。
五、编写下列程序,(共15分)
1.试编写一个程序计算a!
+b!
+c!
,并要求有输出结果.
解:
#include<
fact(int);
voidmain()
{
inta,b,c;
printf(”Enterthreenumbers:
”);
scanf(“%d,%d,%d”,&
a,&
b,&
c);
printf(%d!
+%d!
=%d+%d+%d\n”,a,b,c,fact(a),fact(b),fact(c));
return;
fact(intn)
intresult;
if(n==1)return
(1);
result=fact(n-1)*n;
/*递归调用*/
return(result);
2.编写一个程序,将一组数据{6,5,8,1,0,4,7,3,2,9}按从小到大的顺序排列,程序显示排序前和排序后的结果。
#include<
#defineN10
inta[N]={6,5,8,1,0,4,7,3,2,9}
inti,j,t;
printf(“Thearraybeforesorted:
for(i=0;
i<
9;
i++)
for(j=i+1;
j<
10;
j++)
{
if(a[i]>
a[j])
t=a[i];
a[i]=a[j];
a[j]=t;
N;
printf(“%4d”,a[i]);
return0;
自测题2答案
一、填空题
1.设inta=5,b=6,写出表达式a=a+b的值_11__。
2.若有代数式x2÷
(3x+5),则正确的C语言表达式为:
_____x*x/(3*x+5)________。
3.开发一个c语言的源程序要经过的四个阶段_编辑C语言源程序文件,编译源程序,程序连接,程序运行____。
4.inti=5,j,k;
j=i++;
k=i;
则k的值为__6____。
5.已知:
ints[][3]={1,2,3,4,5,6};
此时数组元素s[1][1]的值为____5______。
6.字符串“hello”占用内存____6______字节。
7.程序段floata=65.123;
a=%-10.2f"
a);
执行时输出的结果是____a=65.12UUUUU__________,(用大写字母U表示空格)。
8.执行下面程序段时输出的结果是___7___。
main()
inti=5;
switch(i)
{case5:
case6:
i+=2;
case7:
break;
case8:
printf("
i=%d"
i);
10.c语言中有5种基本数据类型。
它们是字符型,整型,__浮点型_____,____长浮点型(双精度型)__和_无值型_____,其关键字分别是:
char,int,__fload___,__double___和__void___。
二、单项选择题
1.在程序中可以用来作为变量名的合法的标识符是:
___c_____
AstaticB23_b1Cstu_1tD#33
2.下列运算符运算级别最高的是:
______
A&
B+=C>
=D!
三、程序改错
4.include<
inta,b,c,sum;
a=1;
b=2;
scanf(“%d”,&
sum=a+b+c
printf(“sum=”,sum)
改为:
sum=a+b+c;
printf(“sum=%d”,sum);
四、阅读下列程序,写运行结果
五、编写下列程序
1.应用动态存储单元编写一个程序,计算两个浮点数之和。
申请用于存储3个浮点数的动态存储空间。
得到所要求的存储空间后,向里面存储两个数据与他们的和,接着输出这些数据。
然后将所申请的存储空间退回系统。
stdlib.h>
float*prt;
prt=malloc(3*sizeof(float));
if(!
prt)
printf(“outofmemory”);
else{
printf(“\nEntertwonumbers:
scanf(“%d%d”,prt,prt+1);
*(prt+2)=*prt+*(prt+1)
printf(“Thesumis%d\n”,*(prt+2));
free(prt);
2.求下面一元二次方程的根。
ax2+bx+c=0
#include<
math.h>
floatX1,X2,p,q,d;
/*全局变量*/
floatgreater_than_zero(float,float);
floatequal_to_zero(float,float);
floatsmaller_than_zero(float,float);
floata,b,c;
printf(“Entera,b,c:
scanf(“%f%f%f”,&
d=b*b-4*a*c;
if(d>
0)
{greater_than_zero(a,b);
printf(X1=%5.2f\t,X2=%5.2f\n,X1,X2);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言 电子科技大学 语言 自测 答案 欧阳 创编