C语言程序设计A形成性考核作业三.docx
- 文档编号:9633085
- 上传时间:2023-02-05
- 格式:DOCX
- 页数:11
- 大小:17.24KB
C语言程序设计A形成性考核作业三.docx
《C语言程序设计A形成性考核作业三.docx》由会员分享,可在线阅读,更多相关《C语言程序设计A形成性考核作业三.docx(11页珍藏版)》请在冰豆网上搜索。
C语言程序设计A形成性考核作业三
《C语言程序设计A》形成性考核作业三
一、选择题
1.在下面的()函数声明语句存在语法错误。
A.AA(inta,intb);B.AA(int,int)C.AA(inta;intb)D.AA(inta,int)
2.在下面的()不能作为函数的返回类型。
A.voidB.intC.newD.long
3.下面正确的函数原型语句是()。
A.intFunction(voida);B.voidFunction(int);
C.intFunction(a);D.voidint(doublea);
4.函数调用func(exp1,exp2),exp3*exp4-exp5)中所含实参的个数为()个。
A.1B.2C.4D.5
5.下面的标识符中,()是文件级作用域。
A.函数形参B.语句标号C.外部静态类标识符D.自动类标识符
6.下面的标识符中,()具有全局级作用域。
A.函数形参B.全局变量C.内部静态类标识符D.自动变量符
7.假定p是一个指向float型数据的指针,则p+1所指数据的地址比p所指数据的地址大()字节。
A.1B.2C.4D.8
8.假定a为一个字符数组名,则a[8]的地址比该数组的首地址大()个字节。
A.4B.8C.16D.32
9.假定a为一个数组名,则下面的()表示有错误。
A.a[i]B.*a++C.*aD.*(a+1)
10.用calloc函数创建具有10个整型元素的一维数组的正确语句是()。
A.int*p=calloc(10,2);B.int*p=callo(10;
C.int*p=calloc(10,4);D.int*p=malloc(10);
11.假定变量m定义为“intm=7;”,则定义p的正确语句为()。
A.intp=&m;B.int*p=&m;C.int&p=*m;D.int*p=m;
12.假定k是一个double类型的变量,则定义指向k的变量p的正确语句为()。
A.doublep=&k;B.double*p=&k;
C.double&p=*k;D.char*p=”Thankyou!
”;
13.假定一条定义语句为“inta[10],x,*pa=a;”,若要把数组a中下标为3的元素赋值给x,则不正确的语句为()。
A.x=pa[3];B.x=*(a+3);C.a=a[3];D.x=*pa+3;
14.假定有定义“intb[10];int*pb;”,则不正确的赋值语句为()。
A.pb=b;B.pb=&b[0];C.pb=b+2;D.pb=b[5];
15.假定指针变量p定义为“int*p=newint(100);”,要释放p所指向的动态内存,应使用语句()。
A.delete[p];B.delete*p;C.delete&p;D.delete[]p;
16.假定指针变量p定义为“int*p=calloc(30,sizeof(int));”,要释放p所指向的动态内存,应使用语句()。
A.delete[p];B.deldete(p);C.free[]p;D.free(p);
二、填空题
1.在C语言中,一个函数由函数头和__________组成。
2.在函数外定义的变量称为全局变量,若没有被初始化则系统隐含对它所赋的初值为_________。
3.如果一个函数只允许同一程序文件中的函数调用,则应在访函数定义前加上的C保留字为为___________。
4.如果一个函数直接或间接地调用自身,这样的调用被称为_________调用。
5.调用系统函数时,要先使用#include命令包含该函数的原型语句所在________文件。
6.函数形参的作用域是该函数的_________。
7.假定p所指对象的值为25,p+1所指对象的值为46,则*p++的值为_________。
8.假定p所指对象的值为25,p+1所指对象的值为46,则*++p的值为___________。
9.假定p所指对象的值为25,p+1所指对象的值为46,则执行“*(p++);”语句后,p所指对象的值为__________。
10.假定a是一个指针数组,则a+1所指对象的地址比a地址大________字节。
11.若要把一个整型指针p转换为字符指针,则采用的强制转换表达式为_____________。
12.假定一个数据对象为int*类型,则指向该对象的指针类型为__________。
13.假定p是一个指向整数对象的指针,则用_________表示指针变量p的地址。
14.若p指向x,则________与x的等价的。
15.NULL是一个符号常量,通常作为空指针值,它值为_________。
三、写出下列每个程序运行后的输出结果
1.#include
voidSB(charch){
switch(ch){
case'A':
case'a':
printf("WW");break;
case'B':
case'b':
printf("GG");break;
case'C':
case'c':
printf("PP");break;
default:
printf("BB");break;
}
}
voidmain(){
chara1='b',a2='C',a3='f';
SB(a1);SB(a2);SB(a3);SB('A');
printf("\n");
输出结果为:
2.#include
#include
doubleSD(inta,intb,charop){
doublex;
switch(op){
case'+':
x=a+b;break;
case'-':
x=a-b;break;
case'*':
x=a*b;break;
case'/':
if(b)x=(double)a/b;
elseexit
(1);
break;
default:
{("运算符错!
\n");exit
(1);}
}
returnx;
}
voidmain(){
intx=20,y=8;
printf("%3.2lf",SD(x,y,'-'));
printf("%3.2lf",SD(x,y,'*'));
printf("%3.2lf",SD(x,y,'/'));
}
输出结果为:
3.#include
voidWF(intx,inty){
x=x+y;
y=x+y;
printf("subs:
x,y=%d,%d\n",x,y);
}
voidmain(){
intx=18,y=23;
printf("main:
x,y=%d,%d\n",x,y);
WF(x,y);
x=2*x;
printf("main:
x,y=%d,%d\n",x,y);
输出结果为:
4.#include
#include
voidfun(charss[]);
voidmain(){
chars[15]="";
fun(s);
printf("%s\n",s);
}
voidfun(charss[]){
inti,n=strlen(ss);
for(i=0;i charc=ss[i]; ss[i]=ss[n-1-i]; ss[n-1-i]=c; } } 输出结果为: 5.#include voidInsertSort(inta[],intn) { inti,j,x; for(i=1;i x=a[i]; for(j=i-1;j>=0;j--)//为x顺序向前寻找合适的插入位置 if(x>a[j])a[j+1]=a[j]; elsebreak; a[j+1]=x; } } voidmain() { inti; inta[6]={20,15,32,47,36,28}; InsertSort(a,6); for(i=0;i<6;i++)printf("%d",a[i]); printf("\n"); } 输出结果为: 6.#include voidmain(){ inta[8]={3,5,7,9,11,13,15,17}; inti,*p=a; for(i=0;i<8;i++){; printf("%5d",*p++); if((i+1)%4==0)printf("\n"); } } 输出结果为: 7.#include intLA(int*a,intn){ inti,s=0; for(i=0;i s+=a[i]; returns; } voidmain(){ inta[]={5,10,15,20,25,30}; intb=LA(a,4); intc=LA(a+2,3); printf("%d%d\n",b,c); } 输出结果为: 8.#include intLB(int*a,intn){ inti,s=1; for(i=0;i returns; } voidmain(){ inta[]={1,2,3,4,2,4,5,2}; intb=LB(a,4)+LB(&a[3],4); printf("b=%d\n",b); } 输出结果为: 四、写出下列每个函数的功能 1.#include intWB(inta[],intn,intx){ for(inti=0;i if(a[i]==x)return1; return0; } 函数功能为: 2.#include intWC(inta[],intn,intk){ intc=0;for(inti=0;i if(a[i]>=k)c++; returnc; } 函数功能为: 3.#include #include #include constintN=10; intff(intx,inty){ intz; printf("%d+%d=",x,y); scanf("%d",&z); if(x+y==z)return1;elsereturn0; } voidmain() { inti,a,b,c=0; srand(time(0));//初始化随机数系列 for(i=0;i a=rand()%20+1;//rand90函数产生0-32767之间的一个随机数b=rand()%20+1; c+=ff(a,b); } printf("得分: %d\n",c*10); } 函数功能为: 4.intfun6(intm,intn,intb=2) { if(m elseif(m%b==0&&n%b==0)returnb*fun6(m/b,n/b,b); elsereturnfun6(m,n,++b); } 函数功能为: 5.#include #include voidLI(intn){ int*a=(int*)malloc(n*sizeof(int)); inti; for(i=0;i for(i=n-1;i>=0;i--)printf("%d",*(a+i)); printf("\n"); free(a); } 函数功能为: 6.#include intLK(doublea[],intn){ doubles=0;inti,m=0; for(i=0;i s/=n; for(i=0;i returnm; } 函数功能为:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 形成 考核 作业