0
点赞
收藏
分享

微信扫一扫

初识C语言(2)

在初识C语言的基本概念之后,还需要了解函数,数组,循环,等一系列初始概念。

函数与常量

函数就是类似于高中所学f(x)=x*y的概念,给一个x和y的值,就有一个f(x)的值产生,那么同样的,不同的x和y就有不同的f(x)的值产生。

#include<stdio.h>
int main()
{
int num1 = 10;
int num2 = 20;
//scanf_s("%d%d",&num1,&num2);
int sum = 0;
sum = Add(num1, num2);
printf("sum=%d\n",sum);
return 0;
}
int Add(int x,int y)
{
int z = x + y;
return z;
}

在上述代码中,将Add作为外部调用函数,当程序所求不同的方法,可以通过更改Add函数中的表达式,使程序的更改更见简单。

常量分为 字面常量 const修饰的常变量  #define定义的标识符常量  枚举常量

#include<stdio.h>
#define MAX 10//define 定义的标识符常量
int main()
{

//3;4;//字面常量
//const int num = 6;//const修饰的常变量
const int n = 10;//n是变量,但是又有常属性
int arr[n] = { 0 };
//当const之后,无法再对num进行赋值,无法改变num的值
//printf("%d\n", num);

int arr[MAX] = { 0 };
printf("%d\n", MAX);
return 0;
}
*/

//枚举常量 枚举,一一枚举
/*
#include<stdio.h>
enum Sex//枚举类型
//enum :枚举关键字
//男 女 保密
{
male
female,
SECRET
};
//MALE,FEMLE,SECRET为枚举常量
int main()
{
//enum Sex s = FEMLE;
{
printf("%d\n",MALE);//0
printf("%d\n",FEMLE);//1
printf("%d\n",SECRET);//2
};
return 0;
enum Color
{
RED,//0
YELLOW,//1
BLUE//2
};
int main()
{
printf("%d",RED);
return 0;
}
}*/

在初步对枚举常量的了解中,我认识到枚举常量是enum它是计算机编程中的一种数据类型,而对于他输出的值,通常是枚举值。

字符串

#include<stdio.h>
int main()
{
" hello bit ";//字符串
"";//空字符串
printf("adcdef");
return 0;

在C语言程序中,使用""括起来的字符被称作字符串,而“”中不存在任何数值,也被称作字符串,其命名为空字符串。

数组

#include<stdio.h>
int main()
{
char arr1[] = "abc";//数组 打印结果abc 但其中隐藏包含一个\0
//"abc"中有'a','b','c','\0'。\0字符串的结束标志
char arr2[] = { 'a','b','c' };//打印结果abc烫烫烫bc
// { 'a','b','c' }无结束标志,所以会乱码,更改程序为:主动加上\0

//注:字符串的结束标志是一个\0的转义字符。在计算字符串长度的时候、0是结束标志,不算做字符串内容。
printf("%s\n",arr1);//%s在C语言中代表字符串型格式符
printf("%s\n",arr2);//
return 0;
}

#include<stdio.h>
int main()
{
int arr[10] = {0,1,2,3,4,5,6,7,8,9};//定义一个存放10个整数数字的数组
//打印下标的方式为如下:
//printf("%d\n",arr[4]);//以下标的方式访问元素,数组元素从0开始,如:数组中有n个数,那最后一个数的下标为n-1;
//char ch[20];
//float f[5];
int i = 0;
while (i < 10)
{
printf("%d\n",arr[i]);
i++;
}

return 0;
}

在基础了解数组的过程中,我还另外了解了strlen函数的使用

#include<stdio.h>
#include<string.h>//使用strlen定义的函数时,需要添加本条头文件
int main()
{
char num1[] = "abc";
char num2[] = {'a','b','c','\0'};
char num3[] = "c:\test\32\test.c";
printf("%d\n",strlen(num1));//strlen -string length - 计算字符串长度
printf("%d\n",strlen(num2));
printf("%d\n", strlen(num3));
//输出结果为3 和随机值 ,因为num2 无结束字符,对于后续可能输出的字符时随机的
//当讲,'\0'添加到num2数组中时,num2在数abc后结束,该值为3/3
return 0;
}

如上程序所示,strlen是用来输出数组元素个数的一个函数,是c语言内部规定好了的函数,其在使用时需要先将头文件#include<string.h>引入程序中。

‘\0’在C语言的程序中,是数组结束标志位,但‘\0’不计算在数组长度和下标中。

转义字符

c语言中常用的转义字符

"\?" 在书写连续多个问号时使用,防止他们被解析成三字母词

"//" 用于表示一个反斜杠,防止他被解释为一个转义序列符

"\ddd" ddd用于表示1-3个八进制的数字。如:\130x

"\xdd" dd用于表示2个16进制的数字。如:\x30 0

#include<stdio.h>;
int main()
{
printf("c:\test\32\test.c");//\t 水平制表符
// \32 -- 32时3和2的八进制数字
//32作为八进制代表的那个十进制数字,作为ASCLL码值,对应的字符
//将32(八进制O)转为十进制数字为:26,对应的ASCLL码值为:→
printf("%c\n", '\32');//打印结果为:→
printf("%c\n",'/132');//打印结果为:Z
printf("abc\n");// “n”变为“\n”

printf("%c\n", '\x61');
// X61转为十进制为:97
//97的ASCLL码为:a
return 0;
}

问题1:在屏幕上打印一个单引号‘,怎么做?

问题2:在屏幕上打印一个字符串,字符串的内容是一个“,怎么做?

#include<stdio.h>
int main()
{
printf("%c\n",'\'');
printf("%s\n","\"");
return 0;
}

循环

初步了解中循环有:whlie循环 if循环   do whlie循环

#include<stdio.h>
int main()
{
int input=0;
printf("你要好好学习吗(0/1)?\n");
scanf_s("%d",&input );
if (input == 1)
{
printf("拿个好offer,走上人生巅峰");
}
else
{
printf("回家卖红薯");
}
}

#include <stdio.h>
int main()
{
int line = 0;
printf("开始学习C语言\n");
while (line<20000)
{
printf("敲一行代码: %d\n",line);
line++;
}
if (line>=20000)
{
printf("一个好offer\n");
line = 0;
}
return 0;
}

操作符

算数操作符  +加 -减 *乘 /除 %取余(取模)

移位操作符 <<左移 >>右移 移动的位是二级制位

其意义在于按位左移或按位右移

位操作符 按位与& 按位或| 按位异或^  

赋值操作符 =  +=  -=  *=  /=  &=  ^=  |=  >>=  <<=

单目操作符    sizeof是计算变量或类型所占空间的大小,单位是字节

双目操作符 三目操作符

#include <stdio.h>
#include<string.h>
int main()
{
//int a = 5 / 2;
//printf("%d\n",a);

//int a = 1;//十进制在二级制中为01
//整型1占4个字节-35bit位
//开始时:00000000 00000000 00000000 00000001
//左移后:00000000 00000000 00000000 00000010
//int b =a<<1;
//printf("%d\n", b);

//int a = 3;//011
//int b = 5;//101
//与之后 001(与运算:有0为0,同1为1)
//int c = a & b;
//printf("%d\n", c);

//int a = 13;//1101
//int b = 12;//1100
//或之后1101(或运算:有1为1,同0为0)
//int c = a | b;
//printf("%d\n", c);

//int a = 10;//1010
//int b = 6;// 0110
//异或之后1100(异或运算:相同为0,不同为1)
//int c = a ^ b;
//printf("%d\n",c);
//return 0;

//复合赋值符
//int a = 10;
//a = 20;
//a =a + 10;//1
//a += 10;//2
//以上1/2两种方式完全等价

int arr[10] = { 0 };
int sz = 0;
printf("% d\n", sizeof (arr));
//计算数组的元素个数
//个数=数组总大小/每个元素的大小
sz = sizeof(arr) / sizeof(arr[0]);
printf("sz=%d\n", sz);

//! -- 在c语言中我们用0表示假 非0表示真
int arr1 = 10;
printf("%d\n%d\n",!arr1,arr1);
return 0;

}

举报

相关推荐

初识C语言-2

初识C语言2

1-2-初识C语言

【C语言】初识C语言

c语言初识

初识C语言

# 初识C语言

0 条评论