2022年10月13日,一个特别的日子。在综合考虑多方面因素下,我决定学习一门计算机语言,以为以后课程以及职业发展打下铺垫。在此记录一下自己的学习日常和一些总结,亦或者是读书感悟以及笔记,以便往后回想起这些 奋斗过的日子,还能激起自己心中的狂热。时刻记得那句话:以后的自己,一定感谢现在奋斗的你!!!
一、第一个C语言入门程序,从hello world 起。
#include<stdio.h>
int main()
{
printf(“hello world \n ”);
return 0;
}
在这个程序中:
main叫主函数,是程序的入口,在C语言代码中必须有主函数,但是有且仅有一个main函数。归纳为一句话就是一个工程(项目)中可以有多个.c文件,但是多个.c文件中只能有一个main函数.在下面会归纳一下main()函数的其他一些用法。
include是包含的意思,<stdio.h>中的stdio是standard input output 的缩写,h是header的缩写,方括号里面的内容意思是标准输入输出头文件的英文缩写。
printf();是打印函数,这个函数是库函数里面自带的函数,使用的时候只需要引用头文件就可以了;函数printf()和函数scanf()均调用头文件#include<stdio.h>
归纳一下main()函数的其他一些写法:
1、void main() ;
这种方法在一些比较老的教科书中能够见到,现在已经很少使用。
2、int main(void);
void写到这里表示main函数不需要参数.
3、int main(int argc, char* argv[])
这里表明main函数有两个参数,一个参数是int argc;另外一个参数是char*argv[];这给了我一点启发,main函数说到底本质只是一个函数,是函数就得符合函数的定义,有返回值,参数,函数名,返回类型等。也就是说在这里,是不是可以把c语言的主体
int main(int argc, char* argv[])
{
return 0;
}
看成一个函数,他的函数名叫main;返回值为0;返回值类型为int;参数有两个,一个参数是int argc;另外一个参数是char*argv[];给自己留一个小问题,待以后系统学习完C语言后,我想我会得到自己想要的答案的。
\n是转义字符,表示换行的意思,通常可以使得打印出来的内容比较美观。
二、回顾数据类型
char ————字符数据类型
short————短整型
int————整形
long————长整形
long long————更长的整形
float————单精度浮点型
double————双精度浮点型
思考: 1、为啥会出现这么多的类型欧?
2、每种类型的大小又是多少啊?
答案:
1、因为生活中,计量每个事物所用的精度不一样
2、用sizeof()算一算就知道了
#include<stdio.h>
int main()
{
printf("char大小为%d字节\n", sizeof(char));
printf("shor大小为%d字节\n", sizeof(short));
printf("int大小为%d字节\n", sizeof(int));
printf("long大小为%d字节\n", sizeof(long));
printf("long long大小为%d字节\n", sizeof(long long));
printf("float大小为%d字节\n", sizeof(float));
printf("double大小为%d字节\n", sizeof(double));
return 0;
}
这里注意一点:sizeof()在计算长度时候,返回类型为unsigned int
可以看到显示结果为:
学习了数据的类型之后,就可以进行一些加减运算了,具体如下:
三、简单的加减运算
#include<stdio.h>
int main()
{
int num1 = 0;
int num2 = 0;
int sum = 0;
print("请输入两个数");
scanf("%d%d",&num1,&num2);
sum = num1 + num2;
printf("这两个数的和为:%d\n",sum);
return 0;
}
scanf()函数是输入函数,在书写scanf()函数时候,除了注意函数括号内两个%d不能有空格隔开外,还应该注意刚开始输入scanf()函数时候,会出现报错,这是因为scanf()函数是C标准规定的,而scanf_s是vs自己的库函数,为了能够正常使用,我们在.c文件的第一行,加上:#define _CRT_SECURE_NO_WARNINGS ;为了一劳永逸的解决以后的问题;可以在newc++file.cpp 这个文件中加入:
#define _CRT_SECURE_NO_WARNINGS 1;
以后新建的文件中都会自动加上:
#define _CRT_SECURE_NO_WARNINGS 1
int num1 = 0;这条语句是对变量num1的初始化,如果不初始化,电脑会赋随机值给变量num1。 除了注意变量的初始化之外,还得注意局部变量与全局变量的区别:
例如下面的代码:
#include<stdio.h>
int a = 30;
int main()
{
int a = 20;
printf("a=%d\n",a);
return 0;
}
在这里,main()函数括号在大括号以外的变量叫全局变量,以内的变量称为局部变量,它有生命周期(创建时出生,出main()函数大括号以外时消亡。当局部变量和全局变量名字冲突的时候,秉承局部优先原则,但是还是建议尽量不要冲突。
下面汇总一些输出时候,使用到的一些输出形式:
%d是以十进制的方式的整数输出
%ld是长整形输出
%c是用来输出一个字符
%p是输出地址
%s是输出字符串
%f输出实数,以小数形式输出
%lf是输出double类型的浮点型
%u是输出无符号10进制整形
%e是以指数形式输出实数