‘壹’ c语言编程13
#include"stdio.h"
#include"math.h"
int n=1,sum=0,t;
main()
{
while(sum<1000)
{
n++;
t=pow(n,3);
sum+=t;
}
printf("%d\n",n-1);
}
‘贰’ C语言菜鸟问题(13)
你你你……
运行结果:
a回车
a
b回车;
b
cdef回车
c
解释:
getchar() 是输入一个字符;
putchar() 输出一个字符; 比如putchar(c) 就是输出c,可是c是个变量,即输出c的变量的值……
再说那个循环,k=0开始知道k=5,一共六次。
回车意思是结束输入
(它也是作为一个字符存入缓存的,假如多个相同输入函数一起并列使用的时候,它们是从缓存中调用的,假如回车恰巧排在顺序中,就会调用,比如:
scanf(“%c”,&a);
scanf(“%c”,&b);
这个时候你要是输入: a回车b回车,那么a被赋值a,可是b被赋值为回车符,即空,打印不出东西。
)
那么,继续上面的解释,你输入a回车,这个时候c被赋值a,然后putchar(c) 在屏幕上打印出c的值a;
可是回车也被存在缓存中,这个时候循环继续k++,k=1了,也就是第二次循环了,getchar调用缓存中的回车符,然后打印出回车符,即什么都不打印(不是空格,而是换行!!等效于putchar('\n');)
继续,换行后进入k=2第三次循环了,同上,输出了b,回车符到缓存。
k=3,getchar调用缓存中回车符,打印putchar('\n')
k=4,第五次循环了,你输入cdef 回车,这个时候getchar只能录入字符,从而录入c赋值给变量c。
你可能会问,那么第六次循环是不是应该输出d呢?
错!! 回车号是结束标志也是字符,那么当你输入cdef的时候回车,意味着这次个getchar这个函数的输入结束了,getchar从里面选c这个第一个字符,而字符串cdef未被选中的def字符串则被丢弃。(有点绕吧~~~)
好,我们继续,k=5了,后一次循环了,getchar调用什么东东呢??对了,就是缓存中刚才录入的回车符!
打印putchar('\n') 即换行后循环结束了。
累死我了………………
‘叁’ 我13岁 想学c语言编程 我是真的13岁
你是一个很有前途的小伙子(或小姑娘),很高兴解答你的问题。
要学习C语言,应该从以下几点着手:
1、先看懂程序常用的英文命令,例如if while case int float 等等
2、会操作 c编辑器VC6.0入门就很好,简单易行
3、找一本教程,从最基本的东西开始学起,教程推荐清华大学出版社谭浩强的
4、勤学多练,看是永远不会的,要自己动手写,自己调试
另外 还有不会的 随时问我吧,我这里有各种C语言的电子版教程,你需要可以给我留言,我发给你。
希望你成功。掌握了C语言,就有了一个饭碗。
‘肆’ C语言13
输出的是最后一个表达式的值,由于x已经自减了一次,所以x=1,+--y=3
‘伍’ C语言13 最后一句输出(%d\n,max)
没大的区别,两个输出的结果为(假设max=15):max is 15 (如果后面还有一句,就换行了)
15 (如果后面还有一句,仅接着)
printf函数调用的一般形式为:
printf(“格式控制字符串”,输出表列)
其中格式控制字符串用于指定输出格式(你问题里的%d属于这个,\n属于转义字符)。格式控制串可由格式字符串和非格式字符串两种组成。格式字符串是以%开头的字符串,在%后面跟有各种格式字符,以说明输出数据的类型、形式、长度、小数位数等。如:
“%d”表示按十进制整型输出;
“%ld”表示按十进制长整型输出;
“%c”表示按字符型输出等。
非格式字符串在输出时原样照印,在显示中起提示作用。(你问题里面的max is属于这个)
输出表列中给出了各个输出项,要求格式字符串和各输出项在数量和类型上应该一一对应。
格式字符 意 义
d 以十进制形式输出带符号整数(正数不输出符号)
o 以八进制形式输出无符号整数(不输出前缀0)
x,X 以十六进制形式输出无符号整数(不输出前缀Ox)
u 以十进制形式输出无符号整数
f 以小数形式输出单、双精度实数
e,E 以指数形式输出单、双精度实数
g,G 以%f或%e中较短的输出宽度输出单、双精度实数
c 输出单个字符
s 输出字符串
转义字符如下:
转义字符是一种特殊的字符常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义,故称“转义”字符。例如,在前面各例题printf函数的格式串中用到的“\n”就是一个转义字符,其意义是“回车换行”。转义字符主要用来表示那些用一般字符不便于表示的控制代码。
常用的转义字符及其含义
转义字符 转义字符的意义 ASCII代码
\n 回车换行 10
\t 横向跳到下一制表位置 9
\b 退格 8
\r 回车 13
\f 走纸换页 12
\\ 反斜线符"\" 92
\' 单引号符 39
\” 双引号符 34
\a 鸣铃 7
\ddd 1~3位八进制数所代表的字符
\xhh 1~2位十六进制数所代表的字符
广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。表中的\ddd和\xhh正是为此而提出的。ddd和hh分别为八进制和十六进制的ASCII代码。如\101表示字母"A" ,\102表示字母"B",\134表示反斜线,\XOA表示换行等。追问哪那么多?你复制的吧?回答我自己写还是这样啊,还不是学的啊,复制不复制不重要,重要的是你还懂了,看你问的问题太简单,要不就是刚接触,我第一句就给你解释了,怕你不懂,我就帮你把知识点全部列出来,这样解释起来就简单了,里面涉及的东西我都提出来了,你自己好好看看追问感动啊,我是初学者,神马都在看,我看你懂那么多,不会是老师吧?回答神马老师啊,业余爱好而已,楼上的几个都知道,我只不过是写出来了而已,方便你理解,因为有时我有问题时,问其他人,要不给个答案,要不随便解释几句,看了还是不懂,还要去查资料和书,如果是新接触的,都不知道去哪里查,所以我一般回答问题,都将知识点列出来,例如"\n"属于转义字符,如果是新手,可能就不知道了
‘陆’ C语言中数据类型共有13种,我想问一下都那13种
不知道你会不会嫌多
C语言中数据类型(整形,浮点型,字符型,无值型)
整型(int)
一、整型数说明
加上不同的修饰符, 整型数有以下几种类型; signed short int 有符号短整型数说明。简写为short或int, 字长为2字节共16位二进制数, 数的范围是-32768~32767。
signed long int 有符号长整型数说明。简写为long, 字长为4字节共32位二进制数, 数的范围是-2147483648~2147483647。
unsigned short int 无符号短整型数说明。简写为unsigned int, 字长为2字节共16位二进制数, 数的范围是0~65535。
unsigned long int 无符号长整型数说明。简写为unsigned long, 字长为4字节共32位二进制数, 数的范围是0~4294967295。
二、整型变量定义
可以用下列语句定义整型变量
int a, b; /*a、b被定义为有符号短整型变量*/
unsigned long c; /*c被定义为无符号长整型变量*/
三、整型常数表示
按不同的进制区分, 整型常数有三种表示方法: 十进制数: 以非0开始的数 如:220, -560, 45900 八进制数: 以0开始的数 如:06; 0106, 05788
十六进制数:以0X或0x开始的数 如:0X0D, 0XFF, 0x4e
另外, 可在整型常数后添加一个"L"或"l"字母表示该数为长整型数, 如22L,0773L, 0Xae4l。
浮点型(float) 一、浮点数说明
Turbo C中有以下两种类型的浮点数:
float 单浮点数。字长为4 个字节共32 位二进制数, 数的范围是3.4x10-38E~3.4x10+38E。 double 双浮点数。字长为 8个字节共 64 位二进制数, 数的范围是 1.7x10-308E~1.7x10+308E。 说明:
浮点数均为有符号浮点数, 没有无符号浮点数。
二、浮点型变量定义
可以用下列语句定义浮点型变量:
float a, f; /*a, f被定义为单浮点型变量*/ double b; /*b被定义为双浮点型变量*/
三、浮点常数表示
例如: +29.56, -56.33, -6.8e-18, 6.365 说明:
1. 浮点常数只有一种进制(十进制)。 2. 所有浮点常数都被默认为double。
3. 绝对值小于1的浮点数, 其小数点前面的零可以省略。如:0.22可写为.22, -0.0015E-3可写为-.0015E-3。
4. Turbo C默认格式输出浮点数时, 最多只保留小数点后六位。
字符型(char)
加上不同的修饰符, 可以定义有符号和无符号两种类型的字符型变量, 例如:
char a: /*a被定义为有符号字符变量*/
unsigned char l; /*l被定义为无符号字符变量*/
字符在计算机中以其ASCII码方式表示, 其长度为1个字节, 有符号字符型数取值范围为-128~127, 无符号字符型数到值范围是0~255。因此在Turbo C语言中,字符型数据在操作时将按整型数处理, 如果某个变量定义成char, 则表明该变量是有符号的, 即它将转换成有符号的整型数。
Turbo C中规定对ASCII码值大于0x80的字符将被认为是负数。例如ASCII 值为0x8c的字符, 定义成char时, 被转换成十六进制的整数0xff8c 。 这是因当ASCII码值大于0x80时, 该字节的最高位为1, 计算机会认为该数为负数, 对于 0x8c表示的数实际上是-74(8c的各位取反再加1), 而-74 转换成两字节整型数并在计算机中表示时就是0xff8c( 对0074 各位取反再加1) 。 因此只有定义为unsigned char 0x8c转换成整型数时是8c。这一点在处理大于0x80的ASCII码字符时(例如汉字码)要特别注意。一般汉字均定义为unsigned char(在以后的程 序中会经常碰到)。
另外, 也可以定义一个字符型数组(关于数组后面再作详细介绍), 此时该数 组表示一个字符串。 例如:
char str[10];
计算机在编译时, 将留出连续10个字符的空间, 即str[0]到str[9]共10个变量, 但只有前9个供用户使用。第10个str[9]用来存放字符串终止符NULL即"\0", 但终止符是编编译程序自动加上的, 这一点应特别注意。
二、字符常数表示
能用符号表示的字符可直接用单引号括起来表示, 如'a', '9', 'Z', 也可用
该字符的ASCII码值表示, 例如十进制数85表示大写字母'U', 十六进制数0x5d表示 ']', 八进制数0102表示大写字母'B'。
一些不能用符号表示的控制符, 只能用ASCII码值来表示, 如十进制数10 表示
换行, 下六进制数0x0d表示回车, 八进制数033表示Esc。Turbo C2.0中也有另外一 种表示表示方法, 如'\033'表示Esc, 这里'\ 0' 符号后面的数字表示十六进制的 ASCII值当然这种表示方法也适用于可睦接用符号表示的字符。 另外, Turbo C2.0中有些常用的字符用以下特殊规定来表示: 规定符 等价于 含义 '\f' '\X0C' 换页
'\r' '\X0D' 回车 '\t' '\X09' 制表键 '\n' '\X0A' 换行 '\\' '\X5C' \符 '\'' '\X27' '符 '\"' '\X22' "符
对于字符串常量, 一般用双引号括起来表示, 如"Hello Turbo C2.0
无值型(void)
无值型字节长度为0, 主要有两个用途: 一是明确地表示一个函数不返回任何值; 一是产生一个同一类型指针(可根据需要动态分配给其内存)。 例如:
void *buffer; /*buffer被定义为无值型指针*/
‘柒’ c语言和java的区别
语法不同;
单文件的编译时间java比C语言快;
C语言可以直接操作内存,java不能直接操作;
C语言可以封装动态库,java不行;
C语言的代码不容易跨平台,java的代码容易跨平台;
C语言有指针,java没有指针;
C语言可以直接操作串口,java需要第三方jar包支持;
C语言的线程更加灵活,java的线程都已经封装好了;
C语言做单独功能,可以增加效率,java适用做web应用开发;
unix是C语言编写的,java也是C语言编写的;
JAVA做web开发的时候,已经有很多成型的框架技术,C语言很少,且需要处理底层内容,对应不熟悉计算机原理的开发者难度很大;
JAVA的开源包太多了,C语言也有但是偏少,而且面向某个业务应用领域的框架没java多。
‘捌’ 请问C,C语言,C++,VC++,C#都有什么区别和联系
C 一种编程语言,面向过程的
C++ 一种编程语言,面向对象的语言,由C发展而来
VC++,是指微软的Visual C++,一个C++开发的环境
C#一种编程语言。基于微软的.net框架.
关系就是
c,c++,c#都现在在VC++中开发,建立不同的工程就可以,vc需要2003以上版本才支持c#
‘玖’ 简单C语言问题[13]
FIFE *fp;
fp = fopen("D:\12.txt","r");
函数原型: FILE *fopen(char *name, char *mode);
=================================================
mode有下列几种形态字符串:
r 打开只读文件,该文件必须存在。
r+ 打开可读写的文件,该文件必须存在。
rb+ 读写打开一个二进制文件,只允许读写数据。
rt+ 读写打开一个文本文件,允许读和写。
w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失。若文件不存在则建立该文件。
w+ 打开可读写文件,若文件存在则文件长度清为零,即该文件内容会消失。若文件不存在则建立该文件。
a 以附加的方式打开只写文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留。(EOF符保留)
a+ 以附加方式打开可读写的文件。若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾后,即文件原先的内容会被保留。 (原来的EOF符不保留)
wb 只写打开或新建一个二进制文件;只允许写数据。
wb+ 读写打开或建立一个二进制文件,允许读和写。
wt+ 读写打开或着建立一个文本文件;允许读写。
at+ 读写打开一个文本文件,允许读或在文本末追加数据。
ab+ 读写打开一个二进制文件,允许读或在文件末追加数据。
上述的形态字符串都可以再加一个b字符,如rb、w+b或ab+等组合,加入b 字符用来告诉函数库打开的文件为二进制文件,而非纯文字文件。不过在POSIX系统,包含Linux都会忽略该字符。由fopen()所建立的新文件会具有S_IRUSR|S_IWUSR|S_IRGRP|S_IWGRP|S_IROTH|S_IWOTH(0666)权限,此文件权限也会参考umask 值。
有些C编译系统可能不完全提供所有这些功能,有的C版本不用"r+","w+","a+",而用"rw","wr","ar"等,读者注意所用系统的规定。