//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;
}
复习:
- 算术运算符:+4;-4;*3;%3;/3;(-)2;
- ++ -- 自增自减
- 强制类型转换,优先级为2
- 关于运算符 >6;>=6;<=6;<6;==7;!=7;
- 逻辑运算符 && 11;||12; !2;
- 三目运算符:?=3;
- 赋值运算符:左侧一定是变量,右侧都可以,只要类型匹配
1.赋值运算符分两种:
- 简单赋值运算符: =
- 复合赋值运算符: 如 +=、-=、*=、/=、%= 等
- 优先级14,右结合性。
- 赋值表达式: 由赋值运算符连接起来式子
- 作用: 将表达式的值赋给变量
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个字节
- 数组名作为函数形参,
退化成指针变量;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个数,求它们中最大值和平均值并输出。