当前位置:首页 » 编程语言 » c语言双蛋问题
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

c语言双蛋问题

发布时间: 2022-07-28 09:34:27

c语言问题 C语言中 ||的优先级高于== !b==c||d<a 等价于 ((!b)==c)||(d<a)而不是(!b)==(c||(d<a))

是哪个混·蛋告诉你,逻辑或 || 的优先级 高于 恒等于 == 运算符的,拉出去枪毙!!

❷ 本年度最有挑战性的5道C语言难题(个人看法)

第2题解不出来。因为素数不可以表示出来,是无理数列。
世界上绝对正确的事物是一元本真世界。也就是终极世界,终极真理。
一元本真世界是有素数数列构成的:2、3、5、7、11、13、17......
一元本真世界属于虚拟世界。我们所有可以看见的东西都属于二元以上阐释世界,即至少有两个因子阐释的,比如我们说动物园有:6只猴子,黑熊(黑和熊),母狮子(母和狮子)......
世界上很多事物都具备了对称性,但对称性只是二元阐释世界的一个表现形式。例如鸡和蛋,善与恶,对与错。二元阐释世界实际上是素数数列中的2与另一个素数数列的重叠,即1+1,任何一个不小于4的偶数都属于二元阐释世界。因此必然等于1+1。

❸ C语言学习

写给C语言初学者的话(转帖)

学习C语言不要心急,要循序渐进,须知欲速则不达的道理。千万不要盲目的写大量的代码,这样做只会堆出大量的低档次代码,同时使你形成不好的代码习惯。先买本基础的教材来看看,使得对C语言有个初步的认识,其实我现在手头上还放着《The C Programming Language》和《C程序设计(第二版)》(大学教材)呢,有些时候我还会为了一些基本性的概念来翻翻看呢。

如果你的身边有高水平的开发人员,那么再好不过了,多多向别人请教。但是就我了解的情况来看,大部分的初学者并没有在进入IT行业后得到一个资深的软件工程师的指导,而恰恰是在入公司后就被推向前线,替老板们骗取客户口袋里的钱,在这个过程中很多人都是在苦苦的堆代码,赚着可怜的薪资。尽管我也是在拿着可怜的钱,但是有一点我是幸运的,因为我在我的第一家公司里遇到了带领我走向Unix和C语言领域的导师,正是他的一句“Unix和C语言是你一生都要去学习的技术”让我狂热的爱上了它们,正是他的一句“你有root口令,并不是你有root口令这么简单,更多的是一种责任”(说这句话的前提是我用root口令进入SUN服务器后删除了别人的东西,因为我认为这些是无用的东西)使我对责任这两个字有一个非常具体的认识。所以在这里请广大读者允许我用一些篇幅来对我neusoft的导师yuhj表示深深的感谢。同时也对CU的朋友们表示深深的感谢,可以说,你们是我的第二导师,我已经离不开你们了。

希望大家都比我幸运,没有得到幸运之神垂青的朋友们也不要灰心,多上CU上来和大家交流交流,讨论讨论吧,但是注意在论坛上讨论的时候不要刨根问底,很多事情不是一句话就说的清楚的,别人只能给你一个指引,再具体的只有靠自己多研究研究、琢磨琢磨。闲暇的时候去精华区看看,你会有意外的收获的。

千万不要一看到英文就头大,尽管我也是这样,并不是看不懂(毕竟也接受过CET4、6级哑巴英语的教育,还是能看懂的)。man的帮助是最好的教材并且很多国外的论坛对技术的描述是很清楚的,也是很简单的,更重要的是,你会在上面看到些在国内论坛上看不到的东西(计算机的技术一直都是由西方向东方传递,希望有朝一日老外都到我们中国的论坛上来寻找技术资料)。

学习C语言有一件事情也是必须要学的,而且最好是同时学,有的朋友可能已经猜出来了,没错,是Unix。Unix和C语言可以说大家提的很多了,有Unix的地方就有C语言,同时也正是有了C语言,才有了Unix(我们还是先讨论讨论鸡生蛋还是蛋生鸡的哲学问题吧,谁拿西红柿打我),甚至有人说C语言就是为了Unix而设计的,可见Unix和C语言之间的非同寻常的关系。学习Unix现在容易多了,以前Unix都是运行在大型的服务器上的,可是现在有了Linux(按照GNU的意思,Linux就是Linux还不能叫Unix),大家可以在自己的PC上装一套Linux来学习,注意学习Linux不要拿Linux和Windows来比较,它们不可同日而语。Linux会让你知道什么是经典,永远让你在一个方向上大展宏图,Windows只会让你在别人的套子里耍上大刀,不时的还要换一个套子耍耍。下面罗列了一些我在学习Unix的一些经验:

1、学习Unix和C语言,先向大家推荐一本书《Unix高级环境编程》,这本书是学习Unix和C的经典之作,尽量把书中提到的系统调用都写个练习程序,先感性的认识一下Linux系统提供给用户的系统调用都是干什么的,怎么用。系统调用是内核提供给用户的功能用以申请内核服务,对于Linux内核的学习,从系统调用入手是个不错的办法。学习过程可以参看Linux的联机帮助,和网络上的资料。当你觉得差不多了的时候,那我给大家出一道联系题目吧:实现一个ftp服务器和客户端的功能,完全可以自己定义一些应用层的协议,只要能实现用简单的命令传输文件就可以了。这个题目可以使你练习到TCP/IP的基本编程方法和文件操作的基本方法对于后面学习内核的文件系统会有帮助的。

2、当你对Unix系统有了些了解后,同时对于大部分的系统调用(关键是关于文件的系统调用,对于Linux系统的内核来说从文件系统入手相对容易一些)也有了清楚的认识后,再推荐你一本书《Linux内核情景分析》,该书是关于Linux内核的经典之作唯一美中不足的是没有关于网络子系统的详细介绍。你可以从文件系统的系统调用入手,慢慢的你就会对Linux有了一个更深入的认识。同时注意很多经典的方法和思想在Linux中的运用。你会认识到为什么Unix把所有的东西都看成文件,对什么东西操作都是对文件操作,你会慢慢体会到Unix的经典之处了。

3、当你对Linux内核有了些了解后,你就可以找个方向来专门发展了,如果你想对眼下流行的网络编程感兴趣,那么再推荐你一本书《TCP/IP详细解释》,这本书是关于TCP/IP协议的经典之作。你会学习到TCP/IP协议栈是如果实现的,为什么,各层协议之间是如何工作的。你看完了这本书后,你就可以自己写一个dos攻击程序和sniffer了。

我说的简单,其实我提到的每本书至少都够你研究很长时间的,所以希望初学者别着急不骄不躁,相信只要努力过,一定会成为高手的。

在写代码的时候大家要注意养成好的代码习惯和风格还有抽象能力。下面给出大家在写代码的时候的20字方针:

函数要小 尽量的把函数弄的通用点,代码行少点,一个函数只完成一个简单的功能,一眼就能看出来此函数有没有代码错误,每个函数都是健壮的,那么你的程序就是健壮的。

代码要少 完成一个功能的时候在逻辑清楚的情况下代码越少越好,千万不要比代码谁写的多啊。

算法要好 在完成一个功能的时候要考虑效率,目前计算机的内存很大,所以内存已经不是首要考虑的因素了,但是在某些特殊的地方效率还是很重要的。有效率高的算法,就不用效率低的算法,看看本版有一篇精华贴子是关于把一个字符窜两边的空格去掉的帖子(trim),很多人都提出了算法,但是有一个算法是最好的,效率最高,代码最少,是算法要好的最好体现

命名要清 命名要清楚,最要用汉语中的谓宾结构如set_buffsize()

文件要多 尽量把一个大的程序安功能分成多个文件,一个文件尽量不要超作1000行,这样就很清楚的知道那个文件代码是健壮的,那个文件有可能有隐患,在代码检查的时候可以有针对性的检查某几个文件

❹ c语言高手看看这样编哪里错了

/*
错的有点离谱了,题目都没读清楚啊!
*/
#include <stdio.h>
int main(int argc, char *argv[])
{
int i,j;
/*
你怎么确定题目的解释在 50 以内的?
实际上第一个结果是 59 个鸡蛋
*/
for(i=0;i <=50;i++)
{
/*
题目的核心语句是:
两个一数,三个一数,四个一数,五个一数时,余数分别为1,2,3和4。

(i+1) 是当前枚举的鸡蛋数,也就是要:
(i+1)%2==1
(i+1)%3==2
(i+1)%4==3
(i+1)%5==4

而你做的判断是:
(i+1)%0== 0(错误多余,而而且被除数为0,结果已经溢出了)
(i+1)%1==0(错误且多余)
(i+1)%2==0(错误,应该判断==1)
(i+1)%3==0(错误,应该判断==2)
(i+1)%4==0(错误,应该判断==3)
(i+1)%5==0(错误,应该判断==4)

*/
for(j=0;j<=5;j++)
{
if((i+1)%j!=0)
break;
}

if(j==5)
{
/*
这里怎么又变成了 i 个鸡蛋了?
上面还是 i+1 的呢?
*/
printf( "有蛋%d个。 ",i);
}

}
return 0;
}

###################################################
示例程序:
###################################################

#include <stdio.h>
int main(int argc, char *argv[])
{
int i;
for(i=1;;i++)
{
if(i%2==1 && i%3==2 && i%4==3 && i%5==4)
{
printf( "有蛋%d个。\n",i);
break;
}
}
return 0;
}

❺ C语言问题

这么麻烦干什么啊。
#include<stdio.h>
main()
{ int i,j max,hang,lie,a[3][4];
printf("input number:");
for(i=0;i<3;i++)
{ for(j=0;j<4;j++) { scanf("%d",&a[i][j]); } }
max=a[0][0];
for(i=0;i<3;i++)
{ for(j=0;j<4;j++)
{ if(a[i][j]>max)
{ max=a[i][j];
hang=i+1;
lie=j+1;
}
}
}
printf("max=%6d,hang=%6d,lie=%6d",max,hang,lie);
}

❻ 用c语言编程,最后输出结果为笨蛋这两个字,最好过程不要含这两个字

把笨蛋保存在文件中,打开文件读取并直接输出即可

❼ [高分悬赏]求助:有关一个C语言编程题目

{ int i,thun,hun,ten,data,count=0;
for(i=0;i<300;i++)
{
thun=a[i]/1000; //多此一举了
hun=a[i]/100%10; //多此一举了,感觉好像错了.没深究.
ten=a[i]%100/10; //多此一举了
data=a[i]%10; //多此一举了
a[i]=thun*1000+hun*100+ten*10+data; //多此一举了
if (isP(a[i])){cnt++;pjz1+=a[i];} //这句没错.
else {count++;pjz2+=a[i];} }
if(cnt==0) pjz1=0; //没素数pjz1=0,也没错.可0~300之间肯定有素数存在的.没必要的句子
else pjz1/=cnt; //对.
if (count==0) pjz2=0; //你用得着算不是素数吗?0~300之间肯定有不是素数的数了.
else pjz2/=count;//越来越啰嗦了.
}
//感觉你写的太啰嗦了.很多不必要的语句都写上了.呵呵.可见你很心细啊.可惜程序不单要心细,还要效率啊.

❽ C语言代码问题

现在宽度是4 ,这时候,你比方说要输出50,就会显示为" 50",50前边有两个空格,占满四位。如果 你所要输出的数字大于4位,就没什么用了

❾ C语言基本类型的问题

下面是我从我的讲义上复制下来的,你看看吧,应该能有些帮助。
第2章 数据类型、运算符与表达式
本章主要介绍C语言的各种数据类型、运算符和表达式。
2.1 C语言的数据类型
C语言的数据类型具体分类如下:
 基本类型:分为整型、实型(又称浮点型)、字符型和枚举型四种。
 构造类型:分为数组类型、结构类型和共用类型三种。
 指针类型
 空类型
2.2 常量和变量
2.2.1 常量
1、常量的概念:在程序运行过程中,其值不能被改变的量称为常量
2、 常量的分类:
 整型常量
 实型常量
 字符常量
 符号常量
3、常量的类型,可通过书写形式来判别。
2.2.2 变量
1、变量的概念:在程序运行过程中,其值可以被改变的量称为变量
2、变量名:每个变量都必须有一个名字——变量名,变量命名遵循标识符命名规则
3、变量值:在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值
4、标识符命名规则:
 只能由字母、数字和下划线组成,且以字母或下划线开头
 有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃
 C语言的关键字不能用作变量名
 注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。
习惯上,变量名和函数名中的英文字母用小写,以增加可读性。
5、变量的定义与初始化
在C语言中,要求对所有用到的变量,必须先定义、后使用;且称在定义变量的同时进行赋初值的操作为变量初始化。
(1)变量定义的一般格式
数据类型 变量名[, 变量名2……];

例如,float radius, length, area;
(2)变量初始化的一般格式
数据类型 变量名[=初值][, 变量名2[=初值2]……];
例如,float radius=2.5, length, area;
2.3 整型数据
2.3.1 整型变量
1、分类
根据占用内存字节数的不同,整型变量又分为4类:
(1)基本整型(类型关键字为int)。
(2)短整型(类型关键字为short [int])。
(3)长整型(类型关键字为long [int])。
(4)无符号整型。无符号型又分为无符号基本整型(unsigned [int])、无符号短整型(unsigned short)和无符号长整型(unsigned long)三种,只能用来存储无符号整数。
2、占用内存字节数与值域
上述各类型整型变量占用的内存字节数,随系统而异。在16位操作系统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型(2字节)≥short型(2字节)。
显然,不同类型的整型变量,其值域不同。占用内存字节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-1-1);无符号整型变量的值域为:0~(2n*8-1)。
例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-1-1),即-32768~32767;一个unsigned型变量的值域为:0~(22*8-1),即0~65535。
第2章 数据类型、运算符与表达式
本章主要介绍C语言的各种数据类型、运算符和表达式。
2.1 C语言的数据类型
C语言的数据类型具体分类如下:
 基本类型:分为整型、实型(又称浮点型)、字符型和枚举型四种。
 构造类型:分为数组类型、结构类型和共用类型三种。
 指针类型
 空类型
2.2 常量和变量
2.2.1 常量
1、常量的概念:在程序运行过程中,其值不能被改变的量称为常量
2、 常量的分类:
 整型常量
 实型常量
 字符常量
 符号常量
3、常量的类型,可通过书写形式来判别。
2.2.2 变量
1、变量的概念:在程序运行过程中,其值可以被改变的量称为变量
2、变量名:每个变量都必须有一个名字——变量名,变量命名遵循标识符命名规则
3、变量值:在程序运行过程中,变量值存储在内存中。在程序中,通过变量名来引用变量的值
4、标识符命名规则:
 只能由字母、数字和下划线组成,且以字母或下划线开头
 有效长度:随系统而异,但至少前8个字符有效。如果超长,则超长部分被舍弃
 C语言的关键字不能用作变量名
 注意:C语言对英文字母的大小敏感,即同一字母的大小写,被认为是两个不同的字符。
习惯上,变量名和函数名中的英文字母用小写,以增加可读性。
5、变量的定义与初始化
在C语言中,要求对所有用到的变量,必须先定义、后使用;且称在定义变量的同时进行赋初值的操作为变量初始化。
(1)变量定义的一般格式
数据类型 变量名[, 变量名2……];

例如,float radius, length, area;
(2)变量初始化的一般格式
数据类型 变量名[=初值][, 变量名2[=初值2]……];
例如,float radius=2.5, length, area;
2.3 整型数据
2.3.1 整型变量
1、分类
根据占用内存字节数的不同,整型变量又分为4类:
(1)基本整型(类型关键字为int)。
(2)短整型(类型关键字为short [int])。
(3)长整型(类型关键字为long [int])。
(4)无符号整型。无符号型又分为无符号基本整型(unsigned [int])、无符号短整型(unsigned short)和无符号长整型(unsigned long)三种,只能用来存储无符号整数。
2、占用内存字节数与值域
上述各类型整型变量占用的内存字节数,随系统而异。在16位操作系统中,一般用2字节表示一个int型变量,且long型(4字节)≥int型(2字节)≥short型(2字节)。
显然,不同类型的整型变量,其值域不同。占用内存字节数为n的(有符号)整型变量,其值域为:-2n*8-1~(2n*8-1-1);无符号整型变量的值域为:0~(2n*8-1)。
例如,PC机中的一个int型变量,其值域为-22*8-1~(22*8-1-1),即-32768~32767;一个unsigned型变量的值域为:0~(22*8-1),即0~65535。
实型数据
2.4.1 实型变量
C语言的实型变量,分为两种:
(1)单精度型:类型关键字为float,一般占4字节(32位)、提供7位有效数字。
(2)双精度型:类型关键字为double,一般占8个字节、提供15~16位有效数字。
2.4.2 实型常量
1、表示形式
实型常量即实数,在C语言中又称浮点数,其值有两种表达形式:
(1)十进制形式:例如3.14、9.8。
(2)指数形式:<尾数>E(e)<整型指数>。例如3.0E+5等。
2、关于类型
实型常量不分float型和double型。一个实型常量,可以赋给一个实型变量(float型或double型)。
2.5 字符型数据
2.5.1 字符常量
1、字符常量的定义
用一对单引号括起来的单个字符,称为字符常量。
例如,‘A’、‘1’、‘+’等。
2、转义字符
C语言还允许使用一种特殊形式的字符常量,就是以反斜杠“\ ”开头的转义字符。
注意:如果反斜杠或单引号本身作为字符常量,必须使用转义字符:‘\\’、‘\’‘。
[案例2.1] 用转义字符输出可打印字符和不可打印字符。
main()
{
printf(“\x4F\x4B\x21\n”); /* 等价于printf(“OK!\n”); */
printf(“\x15 \xAB\n”);
}

程序运行结果如下:
OK!
2.5.2 字符变量
字符变量的类型关键字为char,一般占用1字节内存单元。
1.变量值的存储
字符变量用来存储字符常量。将一个字符常量存储到一个字符变量中,实际上是将该字符的ASCII码值(无符号整数)存储到内存单元中。

例如,
char ch1, ch2; /*定义两个字符变量:ch1,ch2*/
ch1=’a’; ch2=’b’; /*给字符变量赋值*/
2.特性
字符数据在内存中存储的是字符的ASCII码—— 一个无符号整数,其形式与整数的存储形式一样,所以C语言允许字符型数据与整型数据之间通用。
(1)一个字符型数据,既可以字符形式输出,也可以整数形式输出。
[案例2.2] 字符变量的字符形式输出和整数形式输出。
main()
{
char ch1,ch2;
ch1='a'; ch2='b';
printf(“ch1=%c,ch2=%c\n”,ch1,ch2);
printf(“ch1=%d,ch2=%d\n”,ch1,ch2);
}
程序运行结果:
ch1=a,ch2=b
ch1=97,ch2=98
(2)允许对字符数据进行算术运算,此时就是对它们的ASCII码值进行算术运算。
[案例2.3] 字符数据的算术运算。
main()
{
char ch1,ch2;
ch1=‘a’; ch2=‘B’;
printf(“ch1=%c,ch2=%c\n”,ch1-32,ch2+32); /*字母的大小写转换*/
/*用字符形式输出一个大于256的数值*/
printf("ch1+200=%d\n", ch1+200);
printf("ch1+200=%c\n", ch1+200);
printf("ch1+256=%d\n", ch1+256);
printf("ch1+256=%c\n", ch1+256);
}

程序运行结果:
ch1=A,ch2=b
ch1+200=297
ch1+200=)
ch1+256=353
ch1+256=a