C之初---日常笔记及练习4

it2022-05-05  112

笔记 选择语句:

if(表达式) { 语句块;//不止可以写1条语句,可以写多条语句 }

注意: 1.如果不写大括号,那么她会默认执行当前if下面的一条语句 2.注意else的匹配,只会和最近的一条if语句匹配 3.什么时候去执行语句块,当表达式为真的时候,只有0为假,任何非零的数字都为真 循环语句:while(); do{}while(); for();

while(表达式) { 语句块; } do{ 语句块(至少执行一次); }while(表达式); for(表达式1;表达式2;表达式3); { 语句块; }

for 表达式1:初始化 表达式2:判断语句 表达式3:步进 注意: 1.for循环的执行顺序: 表达式1(只执行一次)-》表达式2-》语句块-》表达式3 2.do{}while()执行顺序: 先执行语句块,然后进行判断

函数:功能 函数名:首字母大写 Add 多个单词;每个单词首字母大写 AddTwoNum Add_Two_Num

Add(int a,int b) // 函数列表 a,b为形参 {函数体}

数组:存放一组相同数据类型的集合,如果没有被初始化,默认值为随机值(0xccccccc)。(也是一个局部变量) 下标从零开始,注意数组访问不要越界。 局部变量存放在栈中,随机值为0xccccc,堆上的随机值为0xcdcdcd。 sizeof(数组名)/sizeof(a[0])//a[0]数组的首元素大小 << 左移运算符 >> 右移运算符 15>>1 15右移1位:左边补符号位 15<<1 15左移1位:右边统一补零 &:按位与 ^:按位异或 |:按位 ~:二进制按位取反 a+=1; 相当于 a=a+1;和 a++; if(15<=10<=20)—>if(0<=20)

exp1 ? exp2 : exp3 //条件操作符 //过表达式1为真,那么结果为表达式2,否则为表达式3; exp1, exp2, exp3, …expN //逗号表达式 // 整个表达式的结果是最后一个表达式。 int a = (int)3.14;//强制类型转换 void Show(int arr[],int len) { int i = 0; for(i = 0;i < len;i++)// [) { printf("%d ",arr[i]); } printf("\n"); } int main() { int arr[11] = {0}; int i = 0; int len = sizeof(arr)/sizeof(arr[0]); //sizeof-->整个数组求字节大小 //sizeof(arr)--> 数组名 代表整个数组的字节大小 //printf("%d\n",sizeof(arr)); Show(arr,len); for(i = 0;i < len;i++) { scanf("%d",&arr[i]); } Show(arr,len); }

练习

1.将数组A中的内容和数组B中的内容进行交换。

#include <stdio.h> void Change(int a[], int b[]) { int t; int c; for (c = 0; c <5 ; c++) { t = a[c]; a[c] = b[c]; b[c] = t; } } void Show(int x[]) { int d; for (d = 0; d < 5; d++) { printf("%d ", x[d]); } } int main() { int a[5] = { 2, 3, 5, 6, 12 }; int b[5] = { 3, 6, 44, 8, 9 }; Change(a,b); Show(a); printf("\n"); Show(b); }

2.计算1/1-1/2+1/3-1/4+1/5 …… + 1/99 - 1/100 的值。

#include<stdio.h> int main() { int a; double sum = 0; for (a = 1; a <= 100; a++) { if (a % 2 == 0) { sum = sum - (double)1 / a; } else sum = sum + (double)1 / a; } printf("%f", sum); }

3.编写程序数一下1到 100 的所有整数中出现多少个数字9。

#include <stdio.h> int main() { int a; int sum = 0; for (a = 1; a <= 100; a++) { if (a % 10 == 9) sum++; if (a / 10 == 9) sum++; } printf("%d ", sum); }

最新回复(0)