C语言学习日记第二篇

1.字面常量: 指的是直接输入到程序中的值 比如:in myAge=26; myAge是一个int类型变量,而26是一个字面常量

2.const常量:具有常属性,用来修饰常变量,列子中的num本质依然是变量

 1 int main(){
 2 
 3 const int num =4;//(此条语句中num相当于常量)
 4 
 5 printf("%d",num);
 6 
 7 int num=8;    // (不可改变值)
 8 
 9 printf("%d",num);
10 
11 return 0;
12 
13 }

3.#define定义的标识符常量

#define MAX 10

{

int arr[MAX]={0};

}

其中MAX的值就是10

4.枚举变量

关键词enum

enum sex

{

MALE,    (0)

FEMALE   (1)[其中列举的变量都有一个数值,从0开始]

};

int main(){

enum sex s = MALE;  (其中的s是一个变量eg:enum Color color = RED;)

printf("%d",MALE);  (结果为0)

return 0;

}

5.字符串

是由””双引号引起”1234”,”abcd”,””(空字符串)

字符串结束的标志\0,字符串自带一个\0

 1 int main(){
 2 
 3 char arr1[]=”abc”;
 4 
 5 char arr2[]={’a’,’b’,’c’};
 6 
 7 printf(“%s\n”,arr1);  //结果为(abc)  (‘\0’等同于0)
 8 
 9 printf(“%s\n”,arr2);  //(abc加一些乱码)要将其改成char arr2[]={‘a’,’b’,’c’,’\0’或0};
10 
11 return 0;
12 
13 }
 1 int main(){
 2 
 3 char arr1[]=”abc”;
 4 
 5 char arr2[]={‘a’,’b’,’c’};
 6 
 7 printf(“%d\n”,strlen(arr1)); //结果为(3)
 8 
 9 printf(“%d\n”,strlen(arr2));//arr2的结果其实是随机的,因为在arr2中排在字符串abc后的字符也是随机的,不一定那个位置
10 
11 return 0;   //strlen(string lenth)/是\0,只有遇见\0,此次的计算长度才会停止。
12 
13 }          //用来计算字符长度 所以,改成{‘a’,’b’,’c’,’\0’或0},\0不进去计算结果

6.求字符串长度 strlen 头文件#include <string.h>

则代码中头文件为

1 #include  <stdio.h> 
2 #include  <string.h>
3 int main(){
4 printf(“%d\n”,strlen(“c:\test\32\test.c”));
5 }//结果为13

因为转义字符为1个(其中\t,\32都是转义字符)

7.字符

是由’’单引号引起’a’=97,’A’=65,’0’=0

char ch=’a’;

8.if条件语句if(input==1)做判断时用两个=    (input输入)

9.转义字符(转变原来的意思)

eg:\n(换行)  \t(水平制表符)   \?(书写多个问号时,防止被解析为三字母词)

\ddd(dd表示1-3个八进制数,如\130)  \xdd(dd表示2个十六进制数,如\x32)

二进制数由0-1组成  八进制数由0-7组成,列如\328就是错误表达法

三字母词??+其他字符

eg:printf(“(ok??)”);  结果为(ok]

若要正常打印改为printf(“(ok\?\?)”); 结果为(ok)

10.while语句

 1 int main(){
 2 
 3 int line=0;
 4 
 5   while (line < 200)
 6 
 7 {
 8 
 9 printf("输入代码%d\n", line);
10 
11 line++;
12 
13 }
14 
15 if (line >= 200)
16 
17 printf("good");
18 
19    return 0;
20 
21 }

11.左移<<  右移>>  按位与&  按位或|  按位异或^  /取商  %取模

 1 int main(){
 2 
 3 int a=1;
 4 
 5 int b;
 6 
 7 b=a<<2;
 8 
 9 printf(“%d\n”,b);  //为4(因为1的二进制0001,左移两位后变成0100,即4)
10 
11 printf(”%d\n”,a);//为1(这说明左移,右移是不改变其本身,除非改变后又赋值给本身)
12 
13 return 0;
14 
15 }

5/2为2取商    5%2为1取模(只可能是1或0,余数)[易错点]

真为1,假为0

&按位与(有假则假)

|按位或(有真则真)

^按位异或(相同为0,不同为1)

eg:

3二进制 0011

5二进制 0101

&       0001

|       0111

^       0110

12.!逻辑反操作

将真变假,假变真(真为1,假为0)

int a=10;

printf(“%d\n”,a);为10

printf(“%d\n”,!a)为0

当a=0时

!a为1

13.数组

int arr[]={1,2,3};

int arr[]={‘a’,’b’,’c’};

int arr[8]={0};

char ch[10]={hello bit};

int a=10; int arr[a]={0};是错误的,因为a是变量

posted @ 2021-11-28 19:39  郑雅文呀  阅读(59)  评论(0)    收藏  举报