80分求C语言高手帮助解答以下若干问题?
1.sizeof(double)是:A一种函数调用B一种双精度表达式C一个整形表达式D一个不合法的表达式(注:最好能给个解释)2.表示“整数x的绝对值大于5”时值为“真”...
1. sizeof(double)是:
A 一种函数调用 B一种双精度表达式
C 一个整形表达式 D一个不合法的表达式 (注:最好能给个解释)
2. 表示“整数x的绝对值大于5”时值为“真”的C语句表达式是()
(注:这是一个填空题,希望语句能简练,我会写,但感觉比较复杂, 所以想让高手帮忙写一个简练的。)
3. 数组名是一个不可变的( )量,不能对其进行加减和赋值运算。
4.在C语言中,初始化又叫做赋初值,指在对量进行定义或说明时赋初值。
可以初始化( )和( )和结构体。(我脑中有好几个答案,但不知那个准。)
5. 什末是空指针?是否可以间接引用一个空指针?
(这是一个简答题?关键是后面那问,课本没找到相关说明,望会的人给个解释。)
6. 设n为2和3,使用函数重载编写一个程序求n个整数中的最大数?
(程序题,帮忙写一下,最好能给小弟解释一下什末是函数重载?C++用过函数重载,不过C语言上怎末用还不是很会,希望高手指点下。)
若回答的好的话,小弟可以追加50分的,望高手帮忙一下。
可以把答案发我邮箱里,邮箱为:879272012@qq.com 展开
A 一种函数调用 B一种双精度表达式
C 一个整形表达式 D一个不合法的表达式 (注:最好能给个解释)
2. 表示“整数x的绝对值大于5”时值为“真”的C语句表达式是()
(注:这是一个填空题,希望语句能简练,我会写,但感觉比较复杂, 所以想让高手帮忙写一个简练的。)
3. 数组名是一个不可变的( )量,不能对其进行加减和赋值运算。
4.在C语言中,初始化又叫做赋初值,指在对量进行定义或说明时赋初值。
可以初始化( )和( )和结构体。(我脑中有好几个答案,但不知那个准。)
5. 什末是空指针?是否可以间接引用一个空指针?
(这是一个简答题?关键是后面那问,课本没找到相关说明,望会的人给个解释。)
6. 设n为2和3,使用函数重载编写一个程序求n个整数中的最大数?
(程序题,帮忙写一下,最好能给小弟解释一下什末是函数重载?C++用过函数重载,不过C语言上怎末用还不是很会,希望高手指点下。)
若回答的好的话,小弟可以追加50分的,望高手帮忙一下。
可以把答案发我邮箱里,邮箱为:879272012@qq.com 展开
4个回答
展开全部
1: sizeof(..)是系统内的一个函数,用于算出括号内数据所占字节数,可以是int,char等...也可以是你定义的变量;
补充:该函数可以分为两种类型使用,
1:sizeof(a); a为任意一个变量,该函数的返回值为int型,
代表该变量所占字节个数;
2:sizeof(类型名);类型名可以只double,char,int等,如
sizeof(int)==2;代表int型的变量占两个字节,这里没有定义int
型变量,只是一个int,但也有返回值,返回值就是该类
型变量共占几个字节。sizeof(char)==1 ;sizeof(float)==4;
2:简单举个例子吧,
if((a>5)&&(a*-1>5))....
这是自己解决绝对值问题,还有就是调用库函数
最前面写头文件 include<math.h>
然后库函数调用:如果变量a是整数,则是用abs(a),若a是实数,则用fabs(a)
补充:你写的表达式正确,但注意加头文件math.h
3:地址常量 书上写的数组名表示该数组的首地址,可以直接调用该地址,但不能修改,如果要操作地址可以定义指针等;
补充:我觉得你同学说的更准确些,应该是指针常量,不过书中明确
说过地址就是指针,所以应该写哪个都对。考试的话还是写
指针常量更好些吧。
4:变量,共用体 结构体和共用体在第11章,有介绍。
补充:这个问题我觉得变量好些吧,数组不也是一组变量吗,
不过这个问题暂时还是不确定,最好能再找找答案
我也不能随便下结论了。
毕竟考试太死板,所以有时间看看二级C语言考试题,
上面很多概念题,你看一遍把不确定的都按照答案确定
一遍。
5:空指针是只没有指向任何一个地址的指针, 不能调用,因为没有只想内存中任意一个地址单元,要主意区分定义了一个指针变量但没有给初值,这种没赋值的指针系统会默认给一个地址,一般地址定义时就赋值,否则容易在运行中乱改内存,系统混乱!
补充:这个解释是自己的,但是我看过不少语言关于NULL的解释,
当然也听过不少老师的讲解,所以要深刻理解空是只什么也
没有,与未赋初值是根本不同的。
这个是关于void的一些讲解。
http://www.linuxsky.org/doc/dev/200712/193.html
6:这个题。。。C不支持函数重载吧,我查了一下不支持的,C中核心就是用指针,只要会指针了就能解决所有C要解决的基本问题了(当然文件是另一个话题)。
函数重载:百度百科 http://baike.baidu.com/view/534068.htm
补充:下面是程序--你输入一个数值n,然后再输入n个数值,
找出n个书中最大数。
include<stdio.h>
void main()
{
int n,i,max;
scanf("%d",&n);//输入n值
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);//输入n个数字
}
max=a[0];//max为最大值,此为给定初值
for(i=0;i<n;i++)
{
if(max<a[i])max=a[i];
}
//这个循环找出最大值max
}
额,如果C中有重载的话还是我才疏学浅,不好意思没帮上忙...宁愿不要积分!
但希望前面的题能帮助你了,我想你是自学的吧,所以才回有这些问题,呵呵,我也自学了不少语言,以后可以相互帮助,交个朋友吧!
我很欣赏像你这样不断学习的人的!
补充:该函数可以分为两种类型使用,
1:sizeof(a); a为任意一个变量,该函数的返回值为int型,
代表该变量所占字节个数;
2:sizeof(类型名);类型名可以只double,char,int等,如
sizeof(int)==2;代表int型的变量占两个字节,这里没有定义int
型变量,只是一个int,但也有返回值,返回值就是该类
型变量共占几个字节。sizeof(char)==1 ;sizeof(float)==4;
2:简单举个例子吧,
if((a>5)&&(a*-1>5))....
这是自己解决绝对值问题,还有就是调用库函数
最前面写头文件 include<math.h>
然后库函数调用:如果变量a是整数,则是用abs(a),若a是实数,则用fabs(a)
补充:你写的表达式正确,但注意加头文件math.h
3:地址常量 书上写的数组名表示该数组的首地址,可以直接调用该地址,但不能修改,如果要操作地址可以定义指针等;
补充:我觉得你同学说的更准确些,应该是指针常量,不过书中明确
说过地址就是指针,所以应该写哪个都对。考试的话还是写
指针常量更好些吧。
4:变量,共用体 结构体和共用体在第11章,有介绍。
补充:这个问题我觉得变量好些吧,数组不也是一组变量吗,
不过这个问题暂时还是不确定,最好能再找找答案
我也不能随便下结论了。
毕竟考试太死板,所以有时间看看二级C语言考试题,
上面很多概念题,你看一遍把不确定的都按照答案确定
一遍。
5:空指针是只没有指向任何一个地址的指针, 不能调用,因为没有只想内存中任意一个地址单元,要主意区分定义了一个指针变量但没有给初值,这种没赋值的指针系统会默认给一个地址,一般地址定义时就赋值,否则容易在运行中乱改内存,系统混乱!
补充:这个解释是自己的,但是我看过不少语言关于NULL的解释,
当然也听过不少老师的讲解,所以要深刻理解空是只什么也
没有,与未赋初值是根本不同的。
这个是关于void的一些讲解。
http://www.linuxsky.org/doc/dev/200712/193.html
6:这个题。。。C不支持函数重载吧,我查了一下不支持的,C中核心就是用指针,只要会指针了就能解决所有C要解决的基本问题了(当然文件是另一个话题)。
函数重载:百度百科 http://baike.baidu.com/view/534068.htm
补充:下面是程序--你输入一个数值n,然后再输入n个数值,
找出n个书中最大数。
include<stdio.h>
void main()
{
int n,i,max;
scanf("%d",&n);//输入n值
int a[n];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);//输入n个数字
}
max=a[0];//max为最大值,此为给定初值
for(i=0;i<n;i++)
{
if(max<a[i])max=a[i];
}
//这个循环找出最大值max
}
额,如果C中有重载的话还是我才疏学浅,不好意思没帮上忙...宁愿不要积分!
但希望前面的题能帮助你了,我想你是自学的吧,所以才回有这些问题,呵呵,我也自学了不少语言,以后可以相互帮助,交个朋友吧!
我很欣赏像你这样不断学习的人的!
参考资料: http://baike.baidu.com/view/534068.htm
展开全部
你可以到饭客网络免费咨询
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1A 2. x != 0 3.常量 4. 变量 数组 指针 引用 向量
5。
不知道指向什么地方的指针且其值是随机的得到的!
6。
int fun( int & str[] ,int n )
{
int temp = str[0] ;
for(int i = 1 ; i < n ; i++ )
{
if( str[i] > temp )
{
temp = str[i] ;
}
}
return temp;
}
5。
不知道指向什么地方的指针且其值是随机的得到的!
6。
int fun( int & str[] ,int n )
{
int temp = str[0] ;
for(int i = 1 ; i < n ; i++ )
{
if( str[i] > temp )
{
temp = str[i] ;
}
}
return temp;
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
1.C一个整形表达式
2.x > 5 || x < -5
3.指针常量
4.数组 、字符串
5.空指针是指一个指针不指向任何内存单元,即NULL一般定义为(void*)0 或 0,是为了与各种不同类型的指针做比较而存在的。间接引用一个空指针有可能导致内存读取错误。
6.请给出更详尽的说明
2.x > 5 || x < -5
3.指针常量
4.数组 、字符串
5.空指针是指一个指针不指向任何内存单元,即NULL一般定义为(void*)0 或 0,是为了与各种不同类型的指针做比较而存在的。间接引用一个空指针有可能导致内存读取错误。
6.请给出更详尽的说明
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询