2023年广州大学实验报告预习题_第1页
2023年广州大学实验报告预习题_第2页
2023年广州大学实验报告预习题_第3页
2023年广州大学实验报告预习题_第4页
2023年广州大学实验报告预习题_第5页
已阅读5页,还剩13页未读 继续免费阅读

下载本文档

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

文档简介

一、实验一:预习题(选择题)1、不对的的C程序描述是BA.每个语句和数据定义的最后必须有个分号一个C程序的书写格式规定严格,一行只能写一个语句C语言的自身没有输入输出语句一个C程序总是从main()函数开始执行2、以下C语言对的结构形式的描述是CA.mair)()函数必须放在程序之首B.每一行只能写一个语句,每个语句之后必须有分号C语言没有输入输出语句C语言的自由度大,可以从任何函数执行3、在C语言系统中,假设int类型数据占2个字节,则double、Iong、unsignedint、char类型数据所占字节数分别多少DA.8,2,4,1B.2,8,4,1C.4,2,8,1D.8,4,2,4、下面叙述不对的的是BC语句末尾必须有分号C语言中无论是整数还是实数都能准确的表达C.运算符“%”只能用于整数运算D.乘除运算符优先级高于加减运笄符5、若有说明语句:inta;fIoatb;,以下输入语句对的的是CA.scanf("%f%f",&a,&b);B.scanf”,&a,&b);scanf("%d,%f",&a,&b);D.scanf("%6.2f%6.2f",&a,&b);6、下面不属于C语言的数据类型是Cchar*s="\ta\O18be";ofor(;*s!='\O';s++)printf("*");A)9B)7C)6D)5.下面能对的进行字符串赋值操作的是5oA)chars[5]={“ABCDE”};B)chars[5]={'A','B','C','D;E'};C)char*s;s二“ABODEM;D)char*s;scanf("%s”,s);.下面程序段的运营结果是Cochar*s="abcde”;s+二2;printf(“%d”,s);A)cdeB)字符'c'C)字符'c'的地址D)不拟定.设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能对的执行的赋值语句是BoA)c=*p1+*p2B)p2=cC)p1=p2D)c=*p1*(*p2)12.设有程序段:chars[]二"china";char*p;p=s;则下面叙述对的的是D。A)s和p完全相同B)数组s中的内容和指针变量p中的内容相等C)s数组长度和p所指向的字符串长度相等D)*p与s[。]相等13.以下与库函数strepy(char*p1,char*p2)功能不相等的程序段是D。A)strcpy1(char*p1,char*p2){whiIe((*p1++=*p2++)!='\00;)B)strcpy2(char*p1,char*p2){whiIe((*p1=*p2)!='\0'){p1++;p2++}}strcpy3(char*p1,char*p2){while(*p1++=*p2++);}strcpy4(char*p1,char*p2){while(*p2)*p1++=*p2++;)(差个'\0')14.下面程序段的运营结果是Cochara[]二"Ianguage",*p:P二a;while(*p!=,iT){printf("%c",*p—32);p++;}A)LANGUAGEB)IanguageC)LANGD)langUAGE15.若有语句:charsl[]="string",s2[8],*s3,*s4="string2”;则库函数strcpy的错误调用是ABCD。A)strcpy(s1,nstring2”);B)strcpy(s4,nstring1;C)strcpy(s3,”string1n);D)strcpy(s1,s2);6.以下与库函数strcmp(char*s,char*t)功能相等的程序段是Costrcmpl(char*s,char*t){for(;*s++=*t++;)if(*s=='\0*)return0;return(*s-*t);)strcmp2(char*s,char*t){for(;*s++=*t++;)if(!*s)return0;return(*s-*t);)strcmp3(char*s,char*t){for(;*t==*s;){if(!*t)return0:t++;s++;}return;)strcmp4(char*s,char*t){for(;*s==*t;s++,t++)if(!*s)return0;return(*t-*s);)17.以下说明不对的的是DoA)chara[10]二"china”;B)chara[10],*p=a;p="china”;char*a;a="china”;D)chara[10],*p;p二a二"china”;8.设有说明语句:chara□二“Itismine";char*p="Itismine";则以下不对的的叙述是Doa+1表达的是字符t的地址p指向此外的字符串时,字符串的长度不受限制C)p变量中存放的地址值可以改变a中只能存放10个字符19.若已定义chars[10];则在下面表达式中不表达s[1]的地址是A)s+1B)s++C)&s[0]+1D)&s[1].若有定义:inta[5],*p=a;则对a数组元素的对的引用是D。A)*&a[5]B)a+2A)s+1B)s++C)&s[0]+1D)&s[1].若有定义:inta[5],*p=a;则对a数组元素的对的引用是D。A)*&a[5]B)a+2C)*(p+5)D)*(a+2).若有定义:inta[5],*p=a;则对a数组元素地址的对的引用是Dop+5(溢出)B)*a+1C)&a+1D)&a[0]22.若有定义:inta[2][3];则对a数组的第i行第j列元素值的对的引用是(a4-i)[j]C)*(a+i+j)D)*(a+i)+j23.若有定义:inta[2][3];则对a数组的第i行第j列元素地址的对的引用是D。(a+i)*(a+j)a[i]+j24.若有程序段:inta[2][3],(*p)[3]:p=a:则对a数组元素地址的对的引用是C*(p+2)p[2]Op[1]+125.若有程序段:25.若有程序段:intp二a;则对a数组元素的对的引用是CoC)*(pC)*(p⑴+1)C)*(p⑴+1)C)*(p⑴+1)26.在C程序中,指针变量可以赋地址值或null值。

.在C语言中,数组名是一个不可改变的地址,不能对它进行赋值运算。.若有定义语句:inta[4]={0,1,2,3},*p;p=&a[1];则++(*p)的值是2o29.若有定义:inta[2][3]={2,4,6,8,10,12};(&a[0][0]+2*2+1)的值是12,*(a[1]+2)的值是12o30若有程序段:int*p[3],a[6],i;for(i=0;i<3;i++)P[i]=&a[2*i];则*p[0]引用的是a数组元素a[0],大(p[1]+1)引用的是a数组元素a[4]。♦程序填空题.下面函数的功能是从输入的十个字符串中找出最大的那个串,请填⑵空使程序完整。voidfun(charstr[10][81],char**sp){inti;*sp=[str[0]];for(i=1;i<10;i++)if(str1en(*sp)<strlen(str[i]))3o[*sp=str[i]];).下面函数的功能是将一个整数字符串转换为一个整数,例如:“7234”转换为1234,请填(3)空使程序完整。intchnum(char*p)(intnum=0,k,1en,j;en=str1en(p);for(;for(;for(;*p!='\0'];P++)k=[*p—'0'];for(;*p!='\0'];P++)aj=(len);while([j—>0])。k=k*10;num=num+k;)return(num);).下面函数的功能记录子串substr在母串str中出现的次数,请填(3)空使程序完整。intcount(char*str,char*substr){inti,j,k,num=0;for(i=0;[str[i]!=,\0z];i++)for([j=i],k=0;substr[k]==str[j];k++,j++)if(substr[[k+l]]=='\0')(num++;«•break;)return(num);}.下面函数的功能是用递归法将•个整数存放到•个字符数组中,存放时按逆序存放,如483存放成“384”,请填(2)空使程序完整。voidconvert(char*a,intn){inti;*a=【n%10+'O'];if((i=n/10)!=0)⑼convert([++a],i);).下面函数的功能是用递归法求数组中的最大值及下标值,请填(2)空使程序完整。voidfindmax(int*a,intn,inti,int*pk){if(i<n){if(a[i]>a[*pk])。。[*Pk=i;];findmax([a,n,i+1,pk]);}).下面函数的功能是将两个字符串si和s2连接起来,请填(3)空使程序完整。voidconj(char*s1,char*s2)(。char*p=sl;while(*sl)[sl++];whi1e(*s2){*s1=[*s2];s1++,s2++;}*sl='\0';【return0];实验五:预习题(判断正误).在PC机也标准输入设备是指键盘(t).一个C语言程序可以包含多个源程序文献(.。函数是C语言的基本单位,当以指针变量作为函数参数时,参数传递就不是值传递了(f);.当定义一个返回指针的函数时,所返回的指针变量可以是自动变量(f).。数组是同类数据的一个集合,数组元素在内存中的存储不一定是连续的(f)6.0C语言中数组名同时也是一个指针变量,且该指针变量可以赋给它一个不同的值(f).。结构体是同类数据的集合(f).贝用体是同类数据的集合(f).。结构体是一种用户定义的数据类型,因此可以定义结构体类型的数组(t)lO.oscanf(…)是一个格式化输入函数,用于从文献中读入数据(f)一、实验六:预习题(判断正误).采用顺序、选择和循环可以实现任意复杂的程序设计(t);.结构化分析方法重要是指分析问题时采用自下而下、逐步求精的思想(t).一个C语言程序可以包含多个源程序文献(t).。在C语言中,以函数作为程序的基本单元,可以保证C语言程序的模块化结构(t);.。函数是C语言的基本单位,当以指针变量作为函数参数时,可以返回函数中经解决的数据,因此此时的函数传递不是值传递(f);.数组是同类数据的一个集合,数组元素在内存中的存储不一定是连续的(f).。结构体是同类数据的集合,结构体内部不能再出现另一结构体变量(f).。共用体是同类数据的集合,一个共用体变量所占的空间等于各个成员所占空间的总和(f).结构体是一种用户定义的数据类型,因此可以定义结构体类型的数组(t).fscanf(…)是一个格式化输入函数,用于从文献中读入数据(t)A.整型B.实型C.逻辑型D.双精度实型分析7、已知a为int型,b为doubIe型,c为float型,d为char型,则表达式a+b^c-d/a结果的类型为CA.int型B.fIoat型C.doubIe型D.char型分析TOC\o"1-5"\h\z8、下面四个选项中,均是不合法的用户标记符的选项是CBA、x_0>doB.float>1aO、_YC.x-y、goto123D._123>tmp、CHAR9、下面对的的字符常量是BA."a"B.'\\*C."\n"D."\376"10、已知itf48,ch='a',n=0;则表达式(m>=n&&ch<'b'&&!n)的值是BA.0B.1C.真D.非0一、实验二:预习题(选择题)1、下面程序段intk=2;whiIe(k=0)(printf(1whiIe(k=0)(printf(1则下面描述中对的的是CA.whiIe循环执行10次C.循环题语句一次也不执行2、以下程序段的循环次数是for(i=2;i==0;)A.无限次B.0次3、下面程序的输出结果是whiIe(k=0)(printf(1则下面描述中对的的是CA.whiIe循环执行whiIe(k=0)(printf(1则下面描述中对的的是CA.whiIe循环执行10次C.循环题语句一次也不执行2、以下程序段的循环次数是for(i=2;i==0;)A.无限次B.0次3、下面程序的输出结果是B.循环是无限循环D.循环体语句执行一次Bprintf("%d”,i-);C.1次D.2次mainmain{charc=,A';intk=0;do{main{charc=,A';intk=0;do{switch(c++){case'A':k++;break;case'B'case'C':k+=2;break;case'D':k%=2;continue;case'E':k*=10;break;default:k/=3;k++;}while(c<'printf("k=%d",k);)k=3k=4k=2k=04、下面程序的输出结果是Bmain(){intx=9;for(;x>0;x—){if(x%3==0){printf("%d",-x);continue;)]7418529638754215、下述程序段的运营结果是Cinta=1,b=2,c=3,t;while(a<b<c){t=a;a=b;b=t;c—;}printf("%d,%d,%dw,a,b,c);A.1,2,0B,2,1,0C.1,2,1D.2,1,16、下面程序的功能是从键盘输入一组字符,从中记录大写字母和小写字母的个数,选择A填空。main(){intm=0,n=0;charc;whiIe(([])!'\rf)(if(c>='A'&&cVFZ')m++;if(c>='a'&&c<=,z')n++;))A.c=getchar()B.getchar()C.c==getchar()D.scanf(“%c”,&c)7、下述语句执行后,变量k的值是Bintk=1;while(k++<10);A.10B.11C.98、下面程序的揄出结果是Bmain(){intk=0,m=0,i,j;for(i=0;i<2;i++)(for(j=0;j<3;J++)k++;k-=j;Im=i+j;printf("k=%d,m=%d,k,m);1A.k=0,m=3B.k=0,m=5m二59、下面for循环语句Binti,k;for(i=0,k=-1;k=1;i++,printf("***”);A.判断循环结束的条件非法0.只循环一次D.无限循环,值不定C.k=1,m=3D.k=1k++)B.是无限循环D.一次也不循环10、执行语句for(i=1;i++V4;)后变量i的值是CA.3B.4C.5D.不定一、实验三:预习题(选择题).以下对的的说法是BoA.用户若需要调用标准库函数,调用前必须重新定义B.用户可以重新定义标准库函数,如若此,该函数将失去原有定义C.系统不允许用户重新定义标准库函数D.用户若需要使用标准库函数,调用前不必使用预解决命令将该函数所在的头文献包含编译,系统会自动调用。.以下对的的说法是AoA.实参和与其相应的形参各占用独立的存储单元B.实参和与其相应的形参共占用一个存储单元C.只有当实参和与其相应的形参同名时才共占用相同的存储单元D.形参时虚拟的,不占用存储单元.以下对的的函数定义是AodoubIefun(intx,inty)doubIefun(intx;inty)doubIefun(intx,inty);doubIefun(intx,y).若调用一个函数,且此函数中没有return语句,则对的的说法是DoA.该函数没有返回值B.该函数返回若干个系统默认值C.能返回一个用户所希望的函数值D.返回一个不拟定的值5.以下不对的的说法是BoA.实参可以是常量,变量或表达式B.形参可以是常量,变量或表达式C.实参可认为任意类型D.假如形参和实参的类型不一致,以形参类型为准6.C语言规定,简朴变量做实参时,它和相应的形参之间的数据传递方式是B_oA.地址传递B.值传递C.有实参传给形参,再由形参传给实参D.由用户指定传递方式7.以下程序有语法错误,有关错误因素的对的说法是Cmain(){intG=5,k;voidprt_char();k=prt_char(G);A.语句voidprt_char();有错,它是函数调用语句,不能用void说明B.变量名不能使用大写字母C.函数说明和函数调用语句之间有矛盾D.函数名不能使用下划线C语言规定,函数返回值的类型是由决定的DA.return语句中的表达式类型.调用该函数时的主调函数类型C.调用该函数时由系统临时D.在定义函数时所指定的函数类型.以下对的的描述是BoA.函数的定义可以嵌套,但函数的调用不可以嵌套B.函数的定义不可以嵌套,但函数的调用可以嵌套C.函数的定义和函数的调用均不可以嵌套D.函数的定义和函数的调用均可以嵌套10.若用数组名作为函数调用的实参,传递给形参的是AoA.数组的首地址B.数组中第一个元素的值C.数组中的所有元素的值D.数组元素的个数二、实验四:预习题(选择题).变量的指针,其含义

温馨提示

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

评论

0/150

提交评论