c语言程序设计试题答案Word文档格式.docx
《c语言程序设计试题答案Word文档格式.docx》由会员分享,可在线阅读,更多相关《c语言程序设计试题答案Word文档格式.docx(5页珍藏版)》请在冰豆网上搜索。
,0};
以下程序段的输出结果是:
____D_________
chara=\char*p=NULL;
for(p=a;
p
A)ABCDE B)A B C D E C)E D C B A D)ABCDEBCDECDEDEE
下列程序是对字符串的相关操作,正确的是____D____。
A)
#includemain(){staticchara[5];
a=\
printf(\}
B)
#includemain(){staticchara[7]=\ printf(\}
C)
#includemain(){chara[5]=\ printf(\}
D)
#includemain(){staticchara=\ printf(\
1
}
阅读下列函数,函数功能为___A_____。
voidExchange(int*p1,int*p2){intp;
p=*p1;
*p1=*p2;
*p2=p;
}
A)交换*p1和*p2的值B)正确,但无法改变*p1和*p2的值C)交换*p1和*p2的地址 D)可能造成系统故障
设有语句:
intarray[3][4];
则在下面几种引用下标为i和j的数组元素的方法中,不正确的引用方式是:
___D_____。
A)array[i][j] B)*(*(array+i)+j)C)*(array[i]+j) D)*(array+i*4+j)
阅读下列程序,写出运行结果。
#includemain(){staticintx={1,2,3};
int s,i,*p=NULL;
s=1;
p=x;
for(i=0;
imain(){inta={1,2,3,4,5};
int*p=NULL;
p=a;
printf(\printf(\printf(\printf(\printf(\printf(\printf(\printf(\}
答案:
1,2,3,3,2,3,4,4,
#includecharb=\char*a=\main(){inti=0;
2
printf(\while(putchar(*(a+i))){ i++;
}printf(\while(--i){ putchar(*(b+i));
}printf(\}答案:
Program
PROGRAMi=7margorgram
/*源文件名为*/
main(intargc,char*argv){inti;
for(i=0;
i
假设该文件及其可执行程序位于E盘的TC目录下,则当命令行参数为Thisisaprogram,则运行结果应为什么?
Thisisa
program
阅读程序,按要求,在空白处填写适当的表达式或语句,使程序完整,并符合题目要求。
下面函数实现strlen函数的功能,即计算指针p所指向的字符串中的实际字符个数。
unsignedintMyStrlen(char*p)
{intlen;
len=0;
for(;
*p!
=‘\\0’ ;
p++){len++ ;
}returnlen ;
下面函数也是实现strlen函数功能的,但计算字符串s中的实际字符个数的方法与上一道题有所不同。
unsignedintMyStrlen(chars){char*p=s;
while(*p!
= ‘\\0’ ){
3
p++;
}return p-s ;
[提示:
移动指针p使其指向字符串结束标志,此时指针p与字符串首地址之间的差值即为字符串中的实际字符个数。
]
下面函数实现strcmp函数的功能,即比较两个字符串的大小,将两个字符串中第一个出现的不相同字符的ASII码值之差作为比较的结果返回,返回值大于0表示第一个字符串大于第二个字符串,返回值小于0表示,表示第一个字符串小于第二个字符串,当两个字符串完全一样时,返回值为0。
intMyStrcmp(char*p1,char*p2){for(;
*p1==*p2;
p1++,p2++){if(*p1=='
\\0'
)return 0 ;
}return *p1-*p2 ;
在下面使用指针数组的程序中,存在一个错误,试分析这个程序,并上机运行,观察运行结果,找到这个错误,并分析错误的原因。
#include
voidPrint(char*arr,intlen);
voidmain{
char*pArray={\ int num=sizeof(pArray)/sizeof(char);
printf(\ Print(pArray,num);
voidPrint(char*arr,intlen){
inti;
ia[i]){ *pMinIndex=i;
}}}
不用strcat函数编程实现字符串连接函数strcat的功能,将字符串t连接到字符串s的尾部。
参考例,用i和j分别作为字符数组s和字符数组t的下标,先将i和j同时初始化为0,然后移动i使其位于字符s的尾部即字符串结束标志处,再将字符数组t中的字符依次拷贝到字符数组s中。
]答案:
voidstrcat(char*s,char*t){
while(*s)s++;
while(*s++=*t++);
编程从键盘输入一个字符串,将其字符顺序颠倒后重新存放,并输出这个字符串。
5
#include#include
intmain{
chars[100]={0};
scanf(\,s);
intstart=0;
intend=strlen(s)-1;
for(;
start#include
intflag=1;
start
voidTranspose(int*arrDest,int*arrSource,intm,intn){
for(inti=0;
i
char*months={
\,\,\,\,\,\,
\,\,\,\,\,\,};
intm;
scanf(\,&
m);
if(m12){
printf(\);
else{
printf(\,months[m-1]);
}}
*用指针数组编程改写例中的两个函数DayofYear和MonthDay。
答案:
于函数原型和用途都不知,故此题没有答案。
8