我呢,学的语言很少,几乎没有,高中的时候粗略的学过PHP,但当时脑袋里没有很强的意识,也没实操过,只记得几个常见的知识,可以说是连门都没入,HTML也学过一点点,后来败在了css和js的理解上,也没那么多少时间可以实践,只会写写小页面(特别垃圾的那种),高考后的暑假,跟着哔哩哔哩自学了一段时间Python,大学开学就学的C语言,然后就有了现在的这篇文章。
学习C语言的过程中,最大的感触就是太别扭了,因为最系统学习过一点点的语言是Python,怎么说呢,Python的语法和C语言的还是有很大的差距的,比如说Python不需要写头文件和主函数啥的,Python对数据类型的要求是很严格的,个人觉得C语言对数据类型相对不那么严格,还有C语言的输入也要格式化数据,阿这,Python又不一样了,然后两节课下来就有点懵了,还好我Python没学多少,不然。。。对比一下
这是Python的
#通过输入语句给变量num赋值
num = input("请输入一个值")
这是C语言的
/*通过通过输入语句给变量num赋值*/
include <stdio.h>
int main(void){
int num;
printf("请输入一个值");
scanf("%d",&num);
}
好了好了,回归主题,然后后面学的就很混,好多基本的知识点就不稳固,因为这种知识点我没有练过,我还沾沾自喜觉得自己学的还行,还好老师给了两套测试卷,让我发现了很多不够的地方,接下来来讲讲题目中踩过的坑,然后把正确的理解也说一下,方便日后查阅
未掌握内容
遇到的题目
完整测试卷已托管至GitHub,自行访问查阅 点击查看
1.下面四个选项中,均为常量的选项是__。 A.E-5——good——'a'——012 B."a"——112——0abc——2e2.3 C.123——0xad——0.——25 D.'ab'——3.14——2.e2——.5
2.若以下变量均是整型,且m=n=2;则执行语句m--,m=m+(++n),m+2;后m的值为__。 A.2 B.3 C.4 D.6
3.若有定义语句int a=1,b=2,c=3,d=4,m=5,n=6;,则执行语句(m=a>b)&&(n=c>d);后n的值是__。 A.3 B.4 C.5 D.6
4.若有定义语句:float x=1.0,y=2.0;,当执行语句printf(“%f”,(x,y));后,其输出结果为__。 A.1.0 B.2.0 C.1.000000 D.2.000000
5.已知x、y、z均为整型变量,且值均为2,则执行语句++x||++y&&++z后,表达式x+y+z的值为__。 A.6 B.7 C.8 D.9
6.下面程序段的输出结果是__。 char c[]=”\x2a\0ab\0”;undefined printf(“%d”,strlen(c)); A.1 B.2 C.3 D.4
7从键盘输入一个字符,判断它是否为大写字母,如果是,将它转换成小写字母,否则,则不转换,最终将结果输出。
8阅读程序写出运行后的输出结果 int main(){ int i,j; float x,y; i=4; j=8; x=4.0; y=1.0+i/j+x; printf("y=%f",y); }
理解与收获
从上面的题目中我是有很多的收获的,比如:
1. 标识符中不能有空格,但可以用下划线隔开
2. 下划线和英文字母开头常量的表示
1. 整型常量:十进制、八进制或十六进制,也可以带U和L表示无符号和长整型,比如112L,118U,122UL
2. 浮点常量:常见小数形式(必须要有小数点),还有对指数形式:2.1E5=2.1乘10的5次方【E前后必须要有数字】
3. 字符串常量:必须放置在""里面逗号运算符(顺序求值运算符)的运算
1. 逗号运算符是从左到右依次运算,但只取最后的一次,比如x=(m=1,m++,++m);,从左到右运算,再将最后一次的运算赋值给x
2. 逗号运算符的表达式,不是运算的直接跳过,比如x=(m=1,m+1,++m);输出为2,因为m+1运算后的结果没有赋值的对象,但++m有布尔值的理解
1. 真-1,假-0(老是记不住)布尔值及与逻辑运算符混合使用的理解
1. 使用!(非)时候,只是判断这个值的真假,只要不是0(假)就是真的,那值就是1
2. 逻辑运算符的短路:例如上面的N5,++x的值为2,非0,||后面的就不用看啦零碎知识 ASCII值的运用,比如上面的N7,就可以把字母(字符型)强制转换成整型,输出的就是对应的整型,暂时记住常见的字母对应的ASCII值和顺序(比如A和a)求字符串长度的时候记住\0(结束符),字符中遇到\0就截止了,比如上面的N6
C语言的学习时间是短暂的,两个多月就结课了,进度也只到函数,指针也没讲,除了懂了一些基本的写法和方法外,其余讲真啥都不会,也没能力参加团队项目,结课了,期末考了,不代表我会停止对它的学习,趁闲暇时间对C语言较为深度的学习一下,如果有幸,结合单片机来学也是不错的。
版权属于:奥秘Sir(除特别注明外)
本文链接:https://cloud.tencent.com/developer/article/1793224
本站文章采用 知识共享署名4.0 国际许可协议进行许可,请在转载时注明出处及本声明!