C语言程序设计第2阶段练习题答案 江南大学2022年秋机考_第1页
C语言程序设计第2阶段练习题答案 江南大学2022年秋机考_第2页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第14页/共NUMPAGES\*ARABIC14页江南大学网络教育第二阶段练习题答案,答案在最后一页。考试科目:《C语言程序设计》第章至第章(总分100分)__________学习中心(教学点)批次:层次:专业:学号:身份证号:姓名:得分:一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)1.下述对C语言字符数组的描述中错误的是()。(2分)A.字符数组可以存放字符串B.字符数组的字符串可以整体输入、输出C.可以在赋值语句中通过赋值运算符"="对字符数组整体赋值D.不可以用关系运算符对字符数组中的字符串进行比较2.有以下程序voidf(intv,intw){intt;t=v;v=w;w=t;}main(){intx=1,y=3,z=2;if(x>y)f(x,y);elseif(y>z)f(y,z);elsef(x,z);printf(“%d,%d,%d\n”,x,y,z);}执行后输出结果是()。

(2分)A.1,2,3B.3,1,2C.1,3,2D.2,3,13.有语句charstr1[10],str2[10]={"books"};则能将字符串books赋给数组str1的正确语句是()。(2分)A.str1={"Books"};B.strcpy(str1,str2);C.str1=str2;D.strcpy(str2,str1);4.若有变量说明:chars,s1[20];执行语句:s="student";s1=s;正确的叙述是()。(2分)A.二个语句都不正确B.s所指向的字符串和s1的值都是"student"C.第一个语句正确,而第二个语句不正确D.第二个语句正确,而第一个语句不正确5.C语言的编译系统对宏命令是()时候处理的。(2分)A.在程序运行B.在程序连接时C.和源程序其它C语言同时进行编译时D.对源程序其它成份正式编译之前进行处理的6.下列说法不正确的是()。(2分)A.宏替换不占用运行时间B.宏无类型C.宏替换只是字符替换D.宏名必须用大写字母表示7.若有以下说明和语句,则输出结果是()。charsp[]="\x69\082\n";printf("%d",strlen(sp));(2分)A.3B.5C.1D.字符串中有非法字符,输出值不定8.以下函数调用中有()个实参。expd((a1,a2,a3),(a4,a5),a7,a8)

(2分)A.4个B.3个C.8个D.5个9.执行完下面的程序段后,屏幕显示的内容为()。main(){inta=2,i;for(i=0;i<3i=""printf=""d=""f=""a="">}f(inta){intb=0;staticintc=3;b++;c++;return(a+b+c);}

(2分)A.777B.777C.789D.78910.若有宏定义与变量说明如下:#defineX5#defineYX+1#defineZY*X/2inta;a=Y;则执行以下printf语句后输出的结果是()。Printf("%d%d\n",Z,--a);(2分)A.75B.126C.125D.7611.函数调用可以……,以下错误的是()。(2分)A.出现在执行语句中B.出现在一个表达式中C.作为一个函数的实参D.作为一个函数的形参12.C语言中函数能否嵌套调用和递归调用?以下说法正确的是()。(2分)A.二者均不可B.前者可,后者不可C.前者不可,后者可D.二者均可13.C语言允许函数值类型缺省定义,此时该函数值隐含的类型是()。(2分)A.float型B.int型C.long型D.double型14.有两个字符数组a,b,则以下正确的输入语句是()。(2分)A.gets(a,b);B.scanf("%s%s",a,b);C.scanf("%s%s",&a,&b);D.gets("a"),gets("b");15.数组名作为参数传递给函数,此时作为实在参数的数组名被处理为()。(2分)A.该数组的长度B.该数组的元素个数C.该数组中各元素的值D.该数组的首地址16.以下能正确定义一维数组的选项是()。(2分)A.intnum[];B.#defineN100intnum[N];C.intnum[0..100];intnum[N];D.intN=100;17.若程序中定义了以下函数doublemyadd(doublea,doubleB){return(a+B);}并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是()。

(2分)A.doublemyadd(doublea,B);B.doublemyadd(double,double);C.doublemyadd(doubleb,doubleA);D.doublemyadd(doublex,doubley);18.以下描述中,正确的是()。(2分)A.调用函数时,实参可以是表达式B.调用函数时,将为形参分配内存单元C.调用函数时,实参与形参的原型必须一致D.调用函数时,实参与形参可以用内存单元19.在C语言中,引用数组元素时,其下标的数据类型允许是()。(2分)A.整型常量B.整型表达式C.整型常量或整型表达式D.任何类型的表达式20.变量的有效范围与其定义位置有关,(),其作用域在整个源程序文件中都有效。(2分)A.在第一个函数中定义的变量B.在定义第一个函数之前所定义的变量C.在主函数中定义的变量D.在函数中定义的静态变量二填空题(共7题,总分值28分)21.以下程序运行后的输出结果是_________。#defineSQR(x)x*xmain(){inta,k=3;a=++SQR(k+1);printf("%d\n",a);}(4分)22.有以下程序voidswap1(intc[]){intt;t=c[0];c[0]=c[1];c[1]=t;}voidswap2(intc0,intc1){intt;t=c0;c0=c1;c1=t;}main(){inta[2]={3,5},b[2]={3,5};swap1(A);swap2(b[0],b[1]);printf(“%d,%d,%d,%d\n”,a[0],a[1],b[0],b[1]);}其输出结果是_________。

(4分)23.在C语言中,二维数组元素在内存中的存放顺序是按_________存放的。(4分)24.凡是函数中未指定存储类别的局部变量,其隐含的存储类别为_________。(4分)25.以下函数的功能是删除字符串s中的所有数字字符。请填空。void

dele(chars[]){

intn=0,i;for(i=0,s[i];i++)if(_________)s[n++]=s[i];s[n]=_________;}

(4分)26.执行以下程序后,输出的结果是_________。intm=10;intf(intx,inty){intm=5;m+=x*y;returnm;}main(){inta=6,b=7;printf(“%d\n”,f(a,b)/m);}(4分)27.以下程序实现从键盘上输入一个字符,用折半查找法找出该字符在已排序的字符串a中的位置。若字符不在,则打印**。请完善以下程序。#include”stdio.h”#include”string.h”main(){charstr[100],ch;intbot=0,top,mid,flag=0;gets(str);getchar(ch);top=_________;while((top-bot)>=0){mid=_________;if(str[mid]==c){_________;_________;}elseif(str[mid]bot=_________;elsetop=_________;}if(flag)printf(“%c字符在已知字符串中位置是%d\n”,c,mid+1);elseprintf(“**”);}(4分)三编程题(共2题,总分值32分)28.编写程序将下标为奇数的数组元素从数组中删除,然后排序输出。(16分)29.编写程序实现输入一个十进制数,将其转化为指定进制的数制字符。(16分)

一单选题(共20题,总分值40分,下列选项中有且仅有一个选项符合题目要求,请在答题卡上正确填涂。)1.本题正确的答案选项为:C解析过程:2.本题正确的答案选项为:C解析过程:3.本题正确的答案选项为:B解析过程:4.本题正确的答案选项为:A解析过程:5.本题正确的答案选项为:D解析过程:6.本题正确的答案选项为:D解析过程:7.本题正确的答案选项为:B解析过程:8.本题正确的答案选项为:A解析过程:9.本题正确的答案选项为:C解析过程:10.本题正确的答案选项为:A解析过程:11.本题正确的答案选项为:D解析过程:12.本题正确的答案选项为:D解析过程:13.本题正确的答案选项为:B解析过程:14.本题正确的答案选项为:B解析过程:15.本题正确的答案选项为:D解析过程:16.本题正确的答案选项为:B解析过程:17.本题正确的答案选项为:A解析过程:18.本题正确的答案选项为:A解析过程:19.本题正确的答案选项为:C解析过程:20.本题正确的答案选项为:B解析过程:二填空题(共7题,总分值28分)21.本题正确的答案选项为:9解析过程:22.本题正确的答案选项为:5,3,3,5解析过程:23.本题正确的答案选项为:行解析过程:24.本题正确的答案选项为:auto(动态存储)解析过程:25.本题正确的答案选项为:s[i]<’0’>’9’<!--’0’-->,‘\0’<!--’0’-->解析过程:26.本题正确的答案选项为:4解析过程:27.本题正确的答案选项为:strlen(str)-1,(top+bot)/2,flag=1,break,mid+1,mid-1解析过程:三编程题(共2题,总分值32分)28.本题正确的答案选项为:#defineN10voidsort(inta[],intn){intI,j,t;

for(I=1;I<=n-1;I++)for(j=0;j<n-I;j++)

if(a[j]>a[j+1])

{t=a[j];a[j]=a[j+1];a[j+1]=t;}}main(){inta[N],I,k=0;

for(I=0;I<N;I++)

scanf("%d",&a[I]);

for(I=0;I<N;I++)if(I%2==0)a[k++]=a[I];sort(a,k);for(I=0;I<k;I++)

printf("%d

",a[I]);}解析过程:29.本题正确的答案选项为:#include"string.h"#include"stdio.h"voidf(intm,intr,chara[]){

inti=0,k;

charb[17]="0123456789ABCDEF",t;

while(m!=0)

{

a[i++]=b[m%r];

m=m/r;

}

a[i]='\0';

puts(a);

k=strlen(a

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论