C语言---day02学习笔记

day02

补充:标识符

标识符:C语言规范,只能有字母(a-z,A-Z),数字(0-9),下划线(_)构成,不能为数字。

命名的时候,要做到见明知意。
大小写是有区别的,比如tedu和TEDU是两个不同的标识符。 C语言中虽然没有规定正式的长度,但是一般也会受到不同编译器的限制,也会受到操作系统的限制。

标识符的判断:

3p ss*qq -6p

二、运算符

1.自增自减

如果,运算符放在数字的前面,先进行自增或者减运算,再进行其他运算; 如果,运算符放在数字的后面,先进行其他运算,再进行自增或者减的运算。

#include <stdio.h> 
extern void opr1(); 
extern void sopr();

extern void switch_case();

//for循环
void for_demo(){

/*
//1 +3 + 5 + 7 + ...+ 99 int i, sum;
sum = 0;
for (i = 1; i < 100; i+=2) {

sum += i; }

printf("%d", sum);*/
int i, j;//用来表示i - 行与j - 列 for (i = 0; i < 9; i++)//控制行 {

for (j = 0; j < 9; j++)//控制列 {

printf("%s", "*"); }

printf("\n");//换行 }

printf(" * "); printf("***");

}

void test(){ /*

int x = 10;
int y = 20;
++x;//11
--y;//19 printf("%d,%d",x, y); x++;

y--; printf("%d,%d",x, y);

int x = 12, y = 1;
int p = x - (y--);//1
int q = (x++) - (--y);//2

printf("%d,%d",p, q);//11, 13 //14
*/

}

void while_demo(){

int i = 1; int sum = 0; do
{

sum += i; i ++; //语句块

} while (i <= 100); printf("sum = %d", sum);

/*
int i = 1;
int sum = 0; while (i <= 100) {

sum = sum + i;

i++; }

printf("sum = %d", sum); */
/*
while (0)

{
printf("峰哥很牛逼!!!");

}*/ }

int main() {

for_demo(); //while_demo();

//opr1(); //sopr(); //switch_case();

return 0; }

2.除法运算
如果除数和被除数都为整数的时候,那么结果也是一个整数。 如果运算中有浮点型数据参与运算,那么得到的结果是一个浮点型。系统会将整型隐式的转化为浮点类型。

3.取模运算 取模运算的结果正负取决于我们被模运算%左边的符号,与模运算右边的数的符号没有关系。 重点:不能对小数进行取模运算。

#include <stdio.h>

/*三目运算符*/ void sopr()
{

/*
int a = 25, b = 38; int max;

if (a > b) {

max = a; }

else {

max = b; }

max = a > b ? a : b;

printf("max = %d\n", max); */

int year, day; printf("请输入一个年份:"); scanf_s("%d", &year);

/*
if ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) {

printf("%d是闰年", year); }

(year % 400 == 0) || (year % 4 == 0 && year % 100 != 0) ? "闰年":"平年"; */

day = ((year % 400 == 0) || (year % 4 == 0 && year % 100 != 0)) ? 29 : 28; printf("%d", day);

}

4.三目运算符 一般形式:表达式1?表达式2:表达式3 ||“或”
&& “且”
!“非”

#include <stdio.h>

void opr1() {

//int a = 10, b = 20; //int x = a / b; //printf("%d", x);//0 //double x = a * 1.0 / b; //printf("%lf", x);//0.5 /*

int result; result = a result = a result = a */

- b; + b; * b;

int x = 9;
int y = 5;
int result;
result = x % y;//2
//result = -x % y;
printf("%d\n", -9 % 5);//-2 //printf("%d\n", 9.5 % -5);//-2 2 printf("%d\n", -9 % -5);//2 -2

}

三、分支结构-循环
1.if-else 在使用if语句的时候,我们需要注意以下两点:

在使用if的时候,判断条件要用括号括起来; 语句块是由{}包围起来,但是注意一般后面不需要加分号了,如果加上也没关系,但是一般不建议这样去使用。

2.switch-case

switch是另外一种选择分支语句,用来代替我们之前使用的if-else的多个分支的语句,基本格式是下面的写法:

switch(表达式){
case 整型数值1:语句1; case 整型数值2:语句2; case 整型数值3:语句3; ...
case 整型数值n:语句n; default:语句 n + 1;}

#include <stdio.h>

void switch_case() {

//定义一个年、月、日的基本数据类型int

int year, month, day = 31; printf("请输入一个年月:"); scanf_s("%d", &year); scanf_s("%d", &month);

if(month < 1 || month > 12) {

printf("输入正确的月份:1-12"); }

switch (month) {

/* case 1: case 3: case 5: case 7: case 8:

case 10: case 12:

day = 31;

break;*/ case 4:

case 6: case 9: case 11:

day = 30;

break; case 2:

//优化----
//day = (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)) ? 29:28; day = 28 + (year % 400 == 0 || (year % 4 == 0 && year % 100 != 0)); break;

}

printf("%d\n", day); }

 

3.while循环 while的一般格式如下:

while(表达式){ 语句块;

}

int main(){
int i=1, sum=0;

while(i<=100){ sum+=i;

i++; }

printf("%d\n",sum);

return 0; }

代码分析:

1) 程序运行到 while 时,因为 i=1,i<=100 成立,所以会执行循环体;执行结束后 i 的值变为 2,sum 的值变为 1。

2) 接下来会继续判断 i<=100是否成立,因为此时 i=2,i<=100 成立,所以继续执行循环体;执行结束后 i 的值变为 3,sum 的值变为3。

3) 重复执行步骤 2)。

4) 当循环进行到第100次,i 的值变为 101,sum 的值变为5050;因为此时 i<=100 不再成立,所以就退出循环,不再执行循环体,转而执行while循环后面 的代码。

如果循环条件中不包含变量,会发生什么情况呢?
1) 循环条件成立时的话,while 循环会一直执行下去,永不结束,成为“死循环”。

2) 循环条件不成立的话,while 循环就一次也不会执行。运行程序,什么也不会输出。

while(1){ printf("qqq");

}

while(0){ printf("qqqq");

}

4.do-while循环 do-while循环的一般格式看下面:

do-while与while的区别如下: 它会先执行一下“语句块”,如果为真,就会继续执行循环;如果是假,则终止循环。不管如何,do-while总会至少执行一次“语 句块”;

在实际开发中,while的应用要比do-while要多。

5.for循环

执行顺序 作业:

1.设计一个百分制的成绩评定:
0-59分: D 60-80分:C 80-90分:B 91-100分:A 要求:不能输入小于0的数,也不能输入大于100的数字。 2.闰年的判断,如果是闰年,则输入月份后,打印出对应的天数。利用三目运算符结合使用。 3.画菱形。

do
{

//语句块
} while (表达式);

int i = int

do {

} while (i <= 100); printf("sum = %d", sum);

1;
sum = 0;

sum += i; i ++; //语句块

for(表达式1;表达式2;表达式3){ 语句块;

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章