本文目录一览:
- 1、c语言 整型是什么意思
- 2、(入门级)C语言程序 看不懂,求详细讲解注释
- 3、c语言讲解!
- 4、C语言,谁能讲解一下
- 5、大话C与Lua(五) 面向对象的数据结构——userdata
- 6、C语言高手来讲解
c语言 整型是什么意思
C语言中的整形,是计算机中的一个基本专业术语,指没有小数部分的数据。整型值可以用十进制,十六进制或八进制符号指定,前面可以加上可选的符号(- 或者 +)。如果用八进制符号,数字前必须加上 0(零),用十六进制符号数字前必须加上 0x。
在C语言中,整型包括整型常量和整型变量,整型变量又包括短整型、基本整型、长整型,它们都分为有符号和无符号两种版本,是一种智能的计算方式。
整型变量的值可以是十进制,八进制,十六进制,但在内存中存储着是二进制数。变量顾名思义是数值可以变的量,整型变量表示的是整数类型的数据。
扩展资料:
整型常量分类
1、八进制整常数:必须以0开头,即以0作为八进制数的前缀。数码取值为0~7。八进制数通常是无符号数。以下各数是合法的八进制数:
015(十进制为13) 0101(十进制为65) 0177777(十进制为65535)。
2、十六进制整常数:十六进制整常数的前缀为0X或0x。其数码取值为0~9,A~F或a~f。以下各数是合法的十六进制整常数:
0X2A(十进制为42) 0XA0 (十进制为160) 0XFFFF (十进制为65535)。
3、十进制整常数:十进制整常数没有前缀。其数码为0~9。以下各数是合法的十进制整常数:
237 -568 65535 1627
在程序中是根据前缀来区分各种进制数的。因此在书写常数时不要把前缀弄错造成结果不正确。
整型变量分类
1、基本型
类型说明符为int,根据计算机的内部字长和编译器的版本,在内存中可能占2或4个字节(通常分别在16位机和32位机上),其取值为基本整常数。
2、短整型
类型说明符为short int或short,在内存中占2个字节,其取值为短整常数。
3、长整型
类型说明符为long int或long,在内存中占4个字节,其取值为长整常数。
4、无符号型
类型说明符为unsigned。它可以单独使用代表unsigned int,也可以作为前缀,都表示无符号整数,即永远为非负的整型变量,大于0的数据范围约扩大为原来的2倍。各种无符号类型量所占的内存空间字节数与相应的有符号类型量相同。但由于省去了符号位,故不能表示负数。
参考资料来源:百度百科-整型(计算机语言)
(入门级)C语言程序 看不懂,求详细讲解注释
#includestdio.h
int main()
{ chars[ ]="GFEDCBA"; //一个字符串s
int p=6; //p为6
while(s[p]!=‘D’) //s[6]开始循环,即从A开始满足条件打印。接着是s[5]即B也满足,然后是s[4]即C也满足。然后是D不满足退出循环
{ printf("%c ", s[p]); //打印s[p]字符
p=p-1; } //p减少1,即往前面移动
return 0;
}
输出是ABC,我看不懂程序意思,求每行注释。
还有一题:
main()
{ int n1,n2; //两个整数
scanf("%d",n2); //输入n2
while(n2!=0) //当n2不为0
{ n1=n2%10; //n1为n2的个位数字
n2=n2/10; //n2/10消除掉个位
printf("%d ",n1); } } //打印n1即n2的个位数字
//整个程序的含义就是将数字123打印成 3 2 1
c语言讲解!
//头文件载入
#include math.h //数学支持
#include graphics.h //图形支持
#include stdlib.h //输入输出支持
#include time.h //时间处理支持
//主函数部份
void main(void)
{
//图形驱动设定
int gdriver=DETECT,gmode ;
//变量声明
int ran_number ;
float a,b,c,d,e,f ;
float x,y,x_pre,y_pre ;
float disp_x,disp_y ;
//图形驱动初始化
initgraph(gdriver,gmode,"\\tc");
/* setfillstyle(SOLID_FILL,RED);//设定样式*/
randomize(); //随机数处理
setbkcolor(BLUE); //设定背景颜色为蓝色
setcolor(14); //设定前景色为红色
x=y=x_pre=y_pre=0 ; //初始变量值
ran_number=90 ;
while(kbhit()==0)
{
ran_number=random(100)+1 ; //从1-100中取随机数
if(ran_number==1)
{
a=0 ;
b=0 ;
c=0 ;
d=0.15 ;
e=0 ;
f=0 ;
}
else if(ran_number1ran_number=86)
{
a=0.87 ;
b=0.014 ;
c=-0.014 ;
d=0.87 ;
e=0 ;
f=1.6 ;
}
else if(ran_number86ran_number=93)
{
a=0.26 ;
b=0.472 ;
c=0.772 ;
d=0.34 ;
e=0 ;
f=1.6 ;
}
else
{
a=0.28 ;
b=0.867 ;
c=-0.478 ;
d=0.4 ;
e=0 ;
f=0.44 ;
}
x=a*x_pre*cos(b)-d*sin(c)*y_pre+e ;
y=c*x_pre*sin(b)+d*cos(c)*y_pre+f ;
x_pre=x ;
y_pre=y ;
disp_x=(x+5)*639/12 ;
disp_y=350-y*28 ;
putpixel((int)disp_x,(int)disp_y,GREEN); //在屏幕上(disp_x,disp_y)的位置上画绿色的点。这里都换成了整形的。
}
getch();
getch(); //暂停
closegraph(); //关闭图形驱动
}
这是我所知的部分,至于他画的是什么我就不晓得了,好感像是数学图形吧,弧的可能是最大的,不过这个表达式我没见过,数学没学好
C语言,谁能讲解一下
用[4,1,3,2]作例子吧
(1)找出最小的元素-----(4,1),即用4和1比较,是有效排序,比较结果是1比较小,因此1再和3,2比较,(1,3),(1,2)这两次比较就不是有效比较了(1在3,2前面且比它们小)
因此第一轮排序为[1,4,3,2] 最小元素和第一个元素互换
(2)在剩余序列中继续找最小的元素(即排除了1)-----(4,3)比较,是有效排序。3比较小,因此3再和2比较,(3,2)是有效排序。找出最小的元素2。
第二轮排序为[1,2,3,4] 2和第二个元素4互换
(3)依次类推,(3,4)不是有效排序了。
因此,最后结果为[1,2,3,4] 有效排序为(4,1) (4,3) (3,2)
程序这东西要自己想,况且这个应该挺容易想出来的。。。。
大话C与Lua(五) 面向对象的数据结构——userdata
如何实现面向对象?
熟悉Lua的同学都知道!在Lua内部已经实现了面向对象的基本机制(table), 同时也为宿主语言(在这里是C语言)提供了一套接口来实现自定义数据结构(userdata)。在此,我们可以简单的利用metatable与__index的访问机制,为userdata实现一套简单的面向对象的访问方式。
stu.c
main.lua
运行结果:
运行结果很简单。现在,我们简要分析一下具体实现步奏。
首先我们在注册表创建了一个metatable,并且起名"stu"。然后为这个元表添加一个__index元方法,然后将自身作为键值查找域。最后使用setfuncs为元表注入方法。
上述步奏等效于lua中如下操作:
这里需要注意的是:
C语言高手来讲解
先说各种教材,其实内容都差不多,就是表达形式不一样
建议你看 The C Programming Language
作者之一的Ritchie 也是C语言的创造者人之一
我第一遍也是看谭浩强的书,是不是也感觉上来就要记住很多东西,特别费劲啊?这是中国所谓“专家”的所谓“著作”的一大特点,先给你介绍定义一大堆,然后就开始用无数专业术语跟你讲,看着看着就得翻翻前面找定义什么的……一章一章的,数据类型啊,运算符表达式啊,控制流啊,指针啊什么的,看上去倒是有条有理……实际上一块一块的很散……
看TCPL吧,第一张就叫你怎么写出一个程序的全部要素,让你对程序有一个初步认识。而且到后来,好多前面的例子反复用后面新的知识重写,像记得最清楚的是strcpy()这个函数,不断简化,最后用指针写到只有两行代码实现!!!艺术!!!
学习过程吧:
要没有对编程的兴趣学起来是比较枯燥,硬着头皮看呗,看不懂的先做标记,一遍一遍的看。我计算机系大三了,大一学到现在看了四五遍C,而且还要看好多别的技术资料……
还有,看书是必要的,动手是必须的!!!写代码,只有写代码才能有提高,当初我们即使照着书上的代码输也经常出问题。不要眼高手低,起码要把TCPL上所有的程序运行一遍,习题都要做会(当然不是让你第一遍就都做出来),这样你的基础就应该算不错了。
扯远点,这儿仅仅教你怎么学C,如果想继续发展,还有好多东西要学……把C当作爱好来学吧!
最后,热爱C!热爱编程!热爱技术!
———USTB 微软俱乐部 imsonic