Bootstrap

2024.7.22每日笔记,有错望指出

//5、求125之内自然数中偶数之和。
#include <stdio.h>
int main(){
    int i = 0;
    int sum = 0;
    for(i=0;i<=125;i++)
    {
        if(i%2 == 0) {
            sum = sum+i;
            printf("%d\n", sum);
        }
    }
    return 0;
}
//7、编程计算1*2*3+3*4*5+5*6*7+...+99*100*101的值。
#include <stdio.h>
int main(){
    int i = 0;
    int sum = 0;
    for(i=1;i<=99;i+=2){
        sum = sum+((i)*(i+1)*(i+2));
    }
    printf("%d",sum);
    return 0;
}

复习:

  1. 算术运算符:+4;-4;*3;%3;/3;(-)2;
  2. ++ -- 自增自减
  3. 强制类型转换,优先级为2
  4. 关于运算符 >6;>=6;<=6;<6;==7;!=7;
  5. 逻辑运算符 && 11;||12; !2;
  6. 三目运算符:?=3;
  7. 赋值运算符:左侧一定是变量,右侧都可以,只要类型匹配

1.赋值运算符分两种:

  1. 简单赋值运算符: =
  2. 复合赋值运算符:  如 +=、-=、*=、/=、%= 等
  3. 优先级14,右结合性。
  4. 赋值表达式:  由赋值运算符连接起来式子
  5. 作用:  将表达式的值赋给变量

2.字符集:

  1.小写

  2.大写

  3.0-9

  4.运算符

3. 赋值运算的类型转换,  规则为:

1.实型数据赋给整型变量时,只取整数部分。

2.整型数据赋给实型变量时,以浮点形式取值。

3.字符型数据赋给整型变量时, 整型变量的高位补的数与char的最高位相同,  低八位为字符的ASCII码值。

4.整型数据赋给字符型时,只把低8位赋给字符变量

 4.复合赋值符及表达式

复合赋值运算符是在简单赋值运算符前加双目运算符构成。

  共10种: +=, -= *=、/=、%= 等。

 5.逗号运算符和逗号表达式

 逗号运算符运算符:  “ , ”

优先级15级  最低,左结合

 用逗号运算符将各表达式连接起来的式子为逗号表达式。

格式:

            如:               a=3*5, a*10, a+8

求解过程:   先求表达式1的值, 再求表达式2的值, 最后求表达式n的值, 表达式n的值作为整个逗号表达式的值。             

注意:

计算时把逗号看成分号;即可

因为逗号表达式是多条语句表达式的写法。

逗号表达式的运算结果,以最后表达式的运算结果,为整个

Sizeof(运算符):

1.关于sizeof:能测试常量,变量,数组,类型

2.所占或应占内存空间的大小,单位是字符。

3.测试字符串,就是字符个数+1.

4.测试变量,就是变量比照类型的内存空间大小。

5.测试数组各就是数组所占的空间大小

6.测试指针变量,在32系统下

都是4个字节,64位系统下,都8个字节

  1. 数组名作为函数形参,

退化成指针变量;sizeof(指针变量),64位系统8个字节;32位系统4个字节

#include <stdio.h>
#include <string.h>
int main() {

  char*p="abc\08\x0gh";
    char str[]="abc\08\x0gh";
    printf("%d\n",sizeof(p));
    printf("%d\n",sizeof(str));
    printf("%d\n",strlen(p));
    printf("%d\n",strlen(str));
    printf("%d\n",strlen(str+4));
}

位运算符:

&

|

 ^

<<

 >>

 ~

【】

*

&

8

10

9

5

5

2

2

2

2

这个对应比特位运算

&:位与,两个为1则为1,其他为0;

| :位或,只要有1,则为1,否则为0;

^ :异或,相同为0,不同为1;

<< :左移,左移n位,等于原数乘以2的n次方;

>>:右移,,右移n位,等于原数除以2的n次方;

~ :按位取反

[]下标运算符,优先级为1;

取值和取址运算符,*和&

*:根据地址找对应类型内存块(点找块)

作业:


9、编写程序,将一个一维数组的元素逆序存放并输出。例如,原顺序为1,2,3,4,5,逆序后为5,4,3,2,1。
11、编程判断输入的整数的正负性和奇偶性。如果为正数,输出z;如果为负数,输出f;如果为偶数,输出o;如果为奇数,输出j

12、计算并输出1-200之间不能被5整除的整数的和。

13、从键盘输入n和a的值,计算a+aa+aaa+...+aa...a(n个a)的值。

14、输入5个数,求它们中最大值和平均值并输出。

;