c语言,,!x与x!分别表示什么意思
C语言中只有!x没有x!。
!x的意思就是x!=0;当X=0时执行while循环;
!即取反,当x!=0时不执行;若x=0,则!x非零;
若x不等于零,则!x=0;一般用if(!x)来做判断式。
c语言 - 搜狗百科c语言是一门面向过程、抽象化的通用程序设计语言,广泛应用于底层开发。C语言具有高效、灵活、功能丰富、表达力强和较高的可移植性等特点,在程序设计中备受青睐。C语言编译器普遍存在于各种不同的操作系统中,其设计也影响了Java、Python等编程语言。C语言是一门面向过程的计算机编程语言,与C++、Java等面向对象编程语言有所不同。c语言中1%2等于多少
首先我们要理解的是%在c语言中是什么运算。在c语言中,%指的是取余数。
有了以上知识作为铺垫,我们来看一下1%2结果到底是什么。
1除以2,商是0,余数是1,所以1%2的结果是1。
拓展资料:
关于“/”的“%”的总结
除法运算符“/”。二元运算符,具有左结合性。参与运算的量均为整型时,结果为整型,舍去小数。如果运算量中有一个为实型,结果为双精度实型。
求余运算符“%”,二元运算符,具有左结合性。参与运算的量均为整型。
求余运算的结果等于两个数相除后的余数。
“%”取模运算符还有一些小的应用,例如:
①当你想要通过rand()获得随机数时,rand()%100;产生0-99的随机数。
假如要产生16-59之间的数,可以这样写:rand()%44+16(这里44由59-16+1得到)。
rand()%44
即可获得0-43的随机数,再加上16即可得到16-59的随机数了;
②除了第一点以外,“%”运算还通常用于N进制的转换。 例如:
如果是二进制转换,那么就可以通过/与%的结合使用则可以得到转换之后的二进制数了(其实就是短除法)
当原数被除至剩余0时,它的上一次模数就是最高位进制数。
30(10)->11110(2)
/与%的结合使用通常都可用于获得最低位数又或者获得所需的某位数。 例如:
“/”通常可以去掉尾数,而“%”通常都用于获得尾数。
参考资料:CSDN博客—【C】“/”与“%”基本用法
C语音中的符号常量的定义方法是什么
符号常量定义: 在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。其特点是编译后写在代码区,不可寻址,不可更改,属于指令的一部分
在c语言中符号常量有3定义的方法
1. 宏定义法,这也是使用最广泛的一种:
使用方法: #define 符号 常量值
实例: #define PAI 3.141592654
2.枚举变量法,
使用方法: enum 符号{
枚举1 = 值,
枚举2 = 值
};
通常如果不定义枚举项的值 枚举项会自动赋予常量 从0累加, 也可以对需要赋值的项 赋 值,但是要注意, 枚举变量也是符号常量,只能在定义是进行赋值,在使用过程中 不能赋值.
使用实例: enum state{ off, on};
enum day {one = 1,
two = 2,
three = 3};
3.const 类型
const 是声明一个常量类型, 只能在定义时赋值, 在使用过程中将不能赋值, 因为 const声明的 常量值会储存在硬盘中,而不是内存.
使用方法; const 类型 符号
使用实例: const int a = 1;
int b = 0;
b = b+a;
如果 用 a += a; 就会出错,因为a是常量
符号常量的形式就是以上这几种, 使用最多的是 宏定义的形式, 通常使用在一些需要以具体含义代替值的地方.
C语言中如何表示数值的范围
在C语言中用到数值范围一般有如下两种情况:
1 逻辑判断中确定某数在某个范围内。
比如判断数c在[a,b]区间内可以写作
(a<=c) && (c <= b)
2 使计算结果处于某个范围内。
比如计算时间时,当前时间为n点,经过m小时后是几点,由于时间仅取值在0点到23点,所以对数值范围需要做约束。对于此可以用模除(%)来限定。
(n+m)%24
其它关于数值范围限定的问题,都可以从这两种情况中延伸获得。
比如下面两个例题就是两种情况的应用。
例一,输入起始天的星期数(1-7),及天数n,计算经过n天后是星期几。
分析,这个是第二种的典型应用,不过数据规模为1到7,与之前说的0起始情况略有不同,可以通过转换达到目的,代码如下:
#include <stdio.h>
int main()
{
int s,n;
scanf("%d%d",&s,&n);
s --;//将s-1;这样用0-6代表星期一到日
s +=n;
s%=7;//通过模除限定结果
s++;//转换回1-7的表示方法
printf("%d
", s);//输出结果
return 0;
}
例二,依照下面的公式计算,直到结果小于0或者大于100为止,f(0)由外部输入。
如果f(n)为奇数,f(n+1)=2f(n)
否则f(n+1) = f(n)/2-10
输出计算结果。
题目很清晰,直接输入并循环计算,直到符合退出条件为止。 对于条件的判断就是第一种情况的简单应用了。
代码如下:
#include <stdio.h>
int main()
{
int r;
scanf("%d",&r);
while(r >= 0 && r <= 100)//对结果进行范围判断
{
if(r & 1) r *= 2; //奇数的情况。
else r=r/2-10;//偶数的情况。
}
printf("%d
", r);
return 0;
}
c语言,输入长方形的长和宽,计算长方形的周长和面积,并输出,输出结果保留2位小数
代码如下:
#include<stdio.h>
int main()
{
float a,b,c,d;
scanf("%f %f",&a,&b);//输入长和宽
c=a*b;
d=2*(a+b);
printf("S=%.2f L=%.2f
",c,d);//S是面积,L是周长
return 0;
}
扩展资料:
C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。
尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MCU)以及超级电脑等作业平台。
二十世纪八十年代,为了避免各开发厂商用的C语言语法产生差异,由美国国家标准局为C语言制定了一套完整的美国国家标准语法,称为ANSI C,作为C语言最初的标准。[1] 目前2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)发布的C11标准是C语言的第三个官方标准,也是C语言的最新标准,该标准更好的支持了汉字函数名和汉字标识符,一定程度上实现了汉字编程。
C语言是一门面向过程的计算机编程语言,与C++,Java等面向对象的编程语言有所不同。
语句"while(!e);" 中的条件!e等价于e==0 为什么?
!是非,e非0,是真值,所以!而是!e==0。
while(!E)中,!E等价于!(E==true),相当于先判断E是否为真,然后再取反。while(!E)中,实际循环执行的条件是E为假。
!称为逻辑非运算符。执行逻辑 NOT 操作,用来逆转操作数的逻辑状态。如果条件为真则逻辑非运算符将使其为假。
扩展资料:
C语言包含的各种控制语句仅有9种,关键字也只有32 个,程序的编写要求不严格且以小写字母为主,对许多不必要的部分进行了精简。
实际上,语句构成与硬件有关联的较少,且C语言本身不提供与硬件相关的输入输出、文件管理等功能,如需此类功能,需要通过配合编译系统所支持的各类库进行编程,故c语言拥有非常简洁的编译系统。
参考资料来源:搜狗百科-c语言
C语言编程,从键盘输入10个学生的成绩,由高到低排序输出成绩。
//如果只有成绩信息就可以用下面的代码
//如果还需要加入学号,姓名之类的信息,可以用结构体然后对成绩排序即可
#include"stdio.h"
int main()
{
int d[10]={0},i,j,t;//数组d存放10个学生的成绩
for(i=0;i<10;i++)//输入10个成绩(空格分开)
scanf("%d",&d[i]);
for(i=0;i<9;i++)//排序 for(j=i+1;j<10;j++) if(d[i]<d[j]) {
t=d[i],d[i]=d[j],d[j]=t;
}
for(i=0;i<10;i++)//输出10个成绩
printf("%d ",d[i]);
getch();
return 0;
}
在C语言中取余时,小的对大的取余时怎么取,如2%5,1%10,3%8等等,求解答。
取余不分大小。 余数=被除数-商*除数 这里的商是整除后的结果 例如2%5 因为25=0 所以取余运算的时候系统做2-25*5=2-0*5=2 例如5%2 取余运算时候系统做5-52*2=5-2*2=5-4=1
c语言用函数从键盘输入10个整数,统计非负数个数,负数个数,并计算非负数之和,负数之和,非负数之积
// c语言,用函数实现从键盘输入10个整数,统计非负数个数,负数个数,并计算非负数之和,负数之和,非负数之积
void func() {
int i = 0;
int arr[10] = { 0 };
int count_a = 0; // 非负整数数量
int count_b = 0; // 负数数量
int sum_a = 0; // 非负整数之和
int sum_b = 0; // 负数之和
long long pro = 1; // 非负数之积
// 读取 10 个整数, 并计算
for (; i < 10; i++) {
scanf("%d", &arr[i]);
if (arr[i] < 0) { // 负数
count_b++;
sum_b += arr[i];
} else { // 非负数
count_a++;
sum_a += arr[i];
pro *= arr[i];
}
}
printf("非负数个数: %d.
", count_a);
printf("负数个数: %d.
", count_b);
printf("非负整数之和: %d.
", sum_a);
printf("负数之和: %d.
", sum_b);
printf("非负数之积: %d.
", pro);
}