C程序设计(4)共3页第1页/*********************填空**************************/1、.函数调用时的实参和形参之间的数据是单向的【1】传递.答案2、如果函数不要求带回值,可用【1】来定义函数返回值为空.答案3、结构体是不同数据类型的数据集合,作为数据类型,必须先说明结构体【1】,再说明结构体变量.答案4、执行以下程序段后,s的值是【1】答案inta[]={5,3,7,2,1,5,3,10},s=0,k;for(k=0;k8;k+=2)s+=*(a+k);5、将数组a的首地址赋给指针变量p的语句是【1】.答案/********************选择****************************/1、变量的指针,其含义是指该变量的()。A:值B:地址C:名D:一个标志2、若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是()。A:fopen(A:\user\abc.txt,r)B:fopen(A:\\user\\abc.txt,r+)C:fopen(A:\user\abc.txt,rb)D:fopen(A:\\user\\abc.txt,w)3、C语言中函数调用的方式有()。A:函数调用作为语句一种B:函数调用作为函数表达式一种C:函数调用作为语句或函数表达式两种D:函数调用作为语句、函数表达式或函数参数三种4、设p1和p2是指向同一个字符串的指针变量,c为字符变量,则以下不能正确执行的赋值语句是()。A:c=*p1+*p2;B:p2=c;C:p1=p2;D:c=*p1*(*p2);设有以下语句,若0k4,下列选项中对字符串的非法引用是()。charstr[4][2]={aaa,bbb,ccc,ddd},*strp[4];intj;for(j=0;j4;j++)strp[j]=str[j];A:strpB:str[k]C:strp[k]D:*strp5、fwrite函数的一般调用形式是()。A:fwrite(buffer,count,size,fp);B:fwrite(fp,size,count,buffer);C:fwrite(fp,count,size,buffer);D:fwrite(buffer,size,count,fp);6、若要说明一个类型名STP,使得定义语句STPs等价于char*s,以下选项中正确的是()。A:typedefSTPchar*s;B:typedef*charSTP;C:typedefstp*char;D:typedefchar*STP;7、C语言中的文件类型只有()。A:索引文件和文本文件两种B:ASCII文件和二进制文件两种C:文本文件一种D:二进制文件一种8、打开文件时,方式“w”决定了对文件进行的操作是()。A:只写盘B:只读盘C:可读可写盘D:追加写盘/********************程序改错************************/C程序设计(4)共3页第2页#includestdio.hvoidstrcopy(char*str1,char*str2,intm)/**********FOUND**********/charp1,p2;inti,j;/**********FOUND**********/=str1+m;p2=str2;/**********FOUND**********/if(*p1);*p2++=*p1++;*p2='\0';}main(){inti,m;char*p1,*p2,str1[80],str2[80];p1=str1;p2=str2;gets(p1);scanf(%d,&m);/**********FOUND**********/strcat(str1[0],str2[0],m);puts(p1);puts(p2);}2、题目:输入一行英文文本,将每一个单词的第一个字母变成大写。例如:输入ThisisaCprogram.,输出为ThisIsACProgram.。#includestring.h#includestdio.h#includeconio.h/**********FOUND**********/fun(charp){intk=0;/**********FOUND**********/dowhile(*p=='\0'){if(k==0&&*p!=''){*p=toupper(*p);/**********FOUND**********/k=0;}elseif(*p!='')k=1;elsek=0;/**********FOUND**********/*p+;}}main(){charstr[81];clrscr();printf(pleaseinputaEnglishtextline:);gets(str);printf(Theoriginaltextlineis:);puts(str);fun(str);printf(Thenewtextlineis:);puts(str);}/********************程序设计***********************/1、请编写一个函数fun,函数的功能是:输入一个字符串,过滤此串,只保留串中的字母字符,并统计新生成串中包含的字母个数。例如:输入的字符串为ab234$df4,新生成的串为abdf。#includestdio.h#includeconio.h#defineN80main(){C程序设计(4)共3页第3页charstr[N];ints;clrscr();printf(inputastring:);gets(str);printf(Theoriginalstringis:);puts(str);s=fun(str);printf(Thenewstringis:);puts(str);printf(Thereare%dcharinthenewstring.,s);yzj();}fun(char*ptr){/**********Program**********//**********End**********/}2、编写函数fun求一个字符串的长度,在main函数中输入字符串,并输出其长度。#includestdio.hintfun(char*p1){/**********Program**********//**********End**********/}main(){char*p,a[20];intlen;p=a;printf(pleaseinputastring:\n);gets(p);len=fun(p);printf(Thestring'slengthis:%d\n,len);}