导航菜单
首页 >  » 正文

C语言编程题 for循环语句 c语言,,!x与x!分别表示什么意思

C语言编程题 for循环语句

s=0; for(i=200;i<=300;i++) { if(i%7==0)   s=s+i; } printf(s);

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语言 基类型

指针的基类型是什么?
问题:下面的循环是对数组a的第i列清零:
int a[NUM_ROWS] [NUM_COLS], (*P) [NUM_COLS];
...
for (p= &a[0]; p<&a[NUM_ROWS]; P++)
(*P) [i] = 0;
书上说这里讲p声明为指向长度为NUM_COLS 的整形数组的指针,我想问下,这个指针和普通的指针有区别嘛?有的话是声明区别,没有的话那为什么p++就把p移到了下一行呢?大写字母里面的是定义好的宏,不重要。
这个问题已经有答案了,但是答案我都看不懂:
我们这么理解。
int *p;
p++ 就是将p向下移动4个字节。
cha* p;
p++ 就是将p移动一个字节。
反正就是p++就是将p移动p指向的内容所占的内存大小。
你可以看到例子中,p指向的内容占了一行所需的内容,所以p++就指向下一行了。//p指向的内容占了一行所需的内容是什么意思?
虽然看不懂答案,但是我继续百度,又发现了下面这些东西:
因此,对于二维数组,象a[0]++这样的表达式是非法的。若有表达式a[0]+1,表达式中1的单位应当是2个字节。在以上定义中,指针变量p的基类型与a[i](0≤i<3)相同,因此,赋值语句p=a[i];是合法的。我们已知a[i]也可以写成:*(a+i),故以上赋值语句也可写成:p=*(a+i);。
我感觉到这里提到的基类型可能是上面问题的答案。但是,指针的基类型到底是什么东西?我搜索了一下,完全搜不到一点资料。

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语言%.20s什么意思 主要是那个点

不带点:%20s 当字串长度小于20,左边补空格,大于或等于20,则全部输出
不带点:%-20s 右边补空格
带点:%.20s 输出字串前20个字符,不足20则全部输出
带点:%5.4s 输出前4个字符,不足5个字符,左边补空格
带点:%-5.4s 输出前4个字符,不足5个字符,右边补空格
带点:%5.6s 输出前6个字符,超出5个字符,不补空格
带点:%-5.6s 输出前6个字符,超出5个字符,不补空格

关于c语言中的问题 z=(x%y,x/y))

x%y表示x除以y的余数。这里10%3得1。
x/y表示x整除以y的商。这里10/3得3。
最后(,)为逗号表达式,逗号表达式的值是表达式右边的值。这里得3。

C语言(x++)+(++x)+(x++)?

LZ和Computer 举例经过测试其结果没有错。 根据其运算结果推测: 一元运算符参与赋值运算 ++i 与 i++是有区别的。前者先运算后赋值,后者直接赋值 举例: int i = 2 , l = 2 ; int x = ++i ; int y = l++ printf("x:d% y:%d",x,y) ; /*结果是: x:3 y:2*/ 在 int y=(++x)+(++x)+(x++) 中 (x = 3) a:执计算Y的值时x执行了这样的过程: x = x + 1 x = x + 1 x = x y = 15 b:在计算X的值时X执行的过程是: x = x +1 x = x+1 x = x + 1 x = 6 y=(++x)+(++x)+(++x) ; (x = 3) a:执计算Y的值时x执行了这样的过程: x = x + 1 x = x + 1 x = x + 1 y = 18 b:在计算X的值时X执行的过程是: x = x +1 x = x+1 x = x + 1 x = 6

c语言(a++)+(a++)+(a++)和(++a)+(++a)+(++a)

a=3时,
因为a++是变量a先参与其他运算再加1,所以(a++)+(a++)+(a++)实际上是3+3+3=9,运算后a的值是6.
++a则是先求a=a+1,然后再做其他运算,所以(++a)+(++a)+(++a)实际上是5+5+6=16,运算后a的值是6.

C语言编写程序,输入一个正方形的边长,输出其周长和面积

#include <stdio.h>
int main()
{
int l = 0;
print("请输入边长: ");
scanf("%d", &l);
int s = l * l;
int c = 4 *l;
printf("面积:%d 周长:%d ", s, c);
return 0;
}

C语言程序设计:分解素因子

首先写一个求素数的函数:
f(x)
{int i;
for(i=2;iif(x%i==0)return 0; return 1; } main() {int a[10],k,i,j; scanf("%d",&K); printf(" "); for(i=0;i scanf("%d",&a[i]); for(i=0;i {for(j=2;j if(a[i]%j==0 && f(j)==1) printf("%d *",j); printf(" "); } } 百度很垃圾,程序中有些地方打了空格,但是发表出来就没有空格了,由于格式问题,所以你看起来比较吃力

相关推荐: