一个想要学好网络安全的小白

C语言随笔

基本格式:

#include <stdio.h>

int main()

{

printf("Hello, World! \n");

return 0; }

 

 

输出字符串:%s 输出地址:%p

 

数据类型和所占字节:

Char

1 字节

-128 127 0 255

unsigned char

1 字节

0 255

signed char

1 字节

-128 127

Int

2 4 字节

-32,768 32,767 -2,147,483,648 2,147,483,647

unsigned int

2 4 字节

0 65,535 0 4,294,967,295

Short

2 字节

-32,768 32,767

unsigned short

2 字节

0 65,535

Long

4 字节

-2,147,483,648 2,147,483,647

unsigned long

4 字节

0 4,294,967,295

条件运算符:

exp1 ?exp2 :exp3

exp1是条件表达式 真 返回exp2 假 返回exp3

举一个三目(元)运算的例子:

 sum=buy=='A'?A*number:B*number;

先是右边运算,如果buy为字符&apos;A&apos;,则sum为A*number,如果不为&apos;A&apos;,sum为B*number

 

if(a>b)等价于 max = a>b?a:b

goto 语句(跳转语句)

goto 标签;(不要轻易使用)

 

#define NUM 10;(宏定义)可以对多次出现的数据进行定义方便修改

数组

格式:

数据类型 数组名【元素个数】

int a [ ]

 

初始化数组(默认初始值为0)

#include <stdio.h>

int main ()

{

int n[ 10 ]; /* n 是一个包含 10 个整数的数组 */

int i,j; /* 初始化数组元素 */

for ( i = 0; i < 10; i++ )

{

n[ i ] = i + 100; /*设置元素 i i + 100 */

}/*输出数组中每个元素的值*/

for (j = 0; j < 10; j++ )

{

printf("Element[%d] = %d\n", j, n[j] );

} return 0;

}

二维数组

数组名 [ ] [ ] = { }

可以不设定 必须设定

实例:

int a [3][4] = {

{0, 1, 2, 3} , /* 初始化索引号为 0 的行 */

{4, 5, 6, 7} , /* 初始化索引号为 1 的行 */

{8, 9, 10, 11} /* 初始化索引号为 2 的行 */

};

指针

数据类型 *指针变量名

int *ip; /* 一个整型的指针 */

double *dp; /* 一个 double 型的指针 */

float *fp; /* 一个浮点型的指针 */

char *ch; /* 一个字符型的指针 */

 

实例:

#include <stdio.h>

int main ()

{

int var = 20; /* 实际变量的声明 */

int *ip; /* 指针变量的声明 */

ip = &var; /* 在指针变量中存储 var 的地址 */

printf("Address of var variable: %p\n", &var ); /* 在指针变量中存储的地址 */

printf("Address stored in ip variable: %p\n", ip ); /* 使用指针访问值 */

printf("Value of *ip variable: %d\n", *ip ); return 0; }

避免访问未初始化的指针

 

取地址运算符 :& 取值运算符:* (数组名是数组元素的第一个地址)

posted @ 2019-10-09 16:28  爅宇  阅读(224)  评论(0)    收藏  举报