高级语言程序设计答案(华南理工大学高级语言程序设计C++随堂练习(求答案谢谢))

本文目录
华南理工大学高级语言程序设计C++随堂练习(求答案谢谢)
1,C
2,C
3,A
4,C
5,B
6,B
7,B
8,B
9,A
10,D
11,A
12,D
13,A
14,A
15,B
自考高级语言程序设计大题,考点是编写函数和调用,求标准答案,跪求答案,回答得好追加悬赏
1(1)
float temp(float c)
{
return (9.0/5.0*c+32);
}
(2)
#include “stdio.h“
void main()
{ float temp(float c);
float c,f;
printf(“请输入一个摄氏温度:“);
scanf(“%f“,&c);
f=temp(c);
printf(“华氏温度为:%5.2f\n“,f);
}
float temp(float c)
{
return (9.0/5.0*c+32);
}
2
#include “stdio.h“
void main()
{ int total=1020;
int day=0;
while(total》=0)
{total=total/2-2;
day++;
}
printf(“day=%d\n“,day);
}
3(1)
void swap(int *p1,int *p2)
{int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
(2)
void main()
{void swap(int *p1,int *p2);
int a,b,*q1,*q2;
scanf(“%d %d“,&a,&b);
q1=&a
q2=&b
swap(q1,q2);
printf(“%d,%d\n“,a,b);
}
void swap(int *p1,int *p2)
{int temp;
temp=*p1;
*p1=*p2;
*p2=temp;
}
4
#include “stdio.h“
void main()
{void inv(int x,int n);
int i,a;
for(i=0;i《10;i++)
scanf(“%d“,&a[i]);
printf(“移动前:\n“);
for(i=0;i《10;i++)
printf(“%d“,a[i]);
printf(“\n“);
inv(a,10);
printf(“移动后:\n“);
for(i=0;i《10;i++)
printf(“%d“,a[i]);
printf(“\n“);
}
void inv(int x,int n)
{int i,j=x[n-1];
for(i=n-2;i》=0;i--)
{
x[i+1]=x[i];
} x=j;
return;
}
//皆调试运行正确!!
C+高级语言程序设计 急~~~~~~~~~~~~~~~
执行下列程序段后,*p的值是
char *p=“asdf“;
printf(“%c“,*(p+strlen(p)));
答案是a
(p+strlen(p)是什么意思 strlen不是测试字符串长度么 答案为什么是a啊???
我的解释:答案是错误的,应该显示空格。
strlen(p)是返回字符串有效字符长度,所以应该为4,而非5
p为字符串指针,其值为字符串内存地址首地址,即指向’a’;
p + strlen(p)会对指针p加上偏移量strlen(p),即p + 4*sizeof(char), 这时指向“asdf“后面一个字符,这个字符应为系统添加的那个字符串结束符’/0’,屏幕显示应该为空格。
有以下程序
#include《stdio.h》
main()
{char s=“159“,*p;
p=s;
printf(“%c“,*p++);
printf(“%c“,*p++);
程序运行后的结果是_______
答案是15 怎么算的?????
我的解释:答案应该为15,
p=s; // 首先字符串指针p指向字符串数组s首地址,即’1’
printf(“%c“,*p++); // 由于是后置++,此时p的值仍然为s首地址,
// 所以*解引用指针p,输出字符串第一个字符’1’
printf(“%c“,*p++); // 现在p的值已经增加了1*sizeof(char)了,同理是后置++
// 所以输出第二个字符’5’,此函数运行完后,p的值再增加1*sizeof(char)
分别用十进制表示整形常量-ox1f为
答案是-31 怎么算的????
我的解释: -0x1f为16进制常量-1f(注意前面的0x表示16进制),转换为10进制:
-(1*16 + 15) = -31
以下由for语句构成的循环执行了______次
#include《stdio.h》
#difine N 2 // 定义宏常量N为2
#difine M N+1 // 定义宏M 为 N+1,即为3
#difine NUM(M+1)*N/2 //定义宏NUM 为(M+1)*N/2,即为4
main()
{int i,n=o;
for(i=1;i《=NUM;i++)
{n++;printf(“%d“,n);}
printf(“\n“);}
我的解释:
4次循环,输出结果为:
1
2
3
4

更多文章:
html select 事件(html中select标签的onChange属性是干什么用的)
2026年10月10日 13:00
虚拟主机和服务器有什么区别(云服务器和云虚拟主机有什么区别吗)
2026年10月10日 12:30
grasshoppers(grasshopper是什么意思)
2026年10月10日 11:10
direct object是什么意思(急急!!!direct object和indirect object怎么用)
2026年10月10日 08:40
struts2 el表达式(EL表达式和struts 2 OGNL区别)
2026年10月10日 08:30






