前言

我呢,学的语言很少,几乎没有,高中的时候粗略的学过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);
}

好了好了,回归主题,然后后面学的就很混,好多基本的知识点就不稳固,因为这种知识点我没有练过,我还沾沾自喜觉得自己学的还行,还好老师给了两套测试卷,让我发现了很多不够的地方,接下来来讲讲题目中踩过的坑,然后把正确的理解也说一下,方便日后查阅

正文

未掌握内容

  1. 标识符命名规则不熟悉
  2. 布尔值和逻辑运算符的混合使用不熟悉
  3. 逗号运算符不熟
  4. 零碎基本知识
  5. 未把ASCII值放在心上(最开始不知道怎么用)
  6. 未完待续...

遇到的题目

完整测试卷已托管至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”;

​ 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,||后面的就不用看啦
  • 零碎知识
    1. ASCII值的运用,比如上面的N7,就可以把字母(字符型)强制转换成整型,输出的就是对应的整型,暂时记住常见的字母对应的ASCII值和顺序(比如A和a)
    2. 求字符串长度的时候记住\0(结束符),字符中遇到\0就截止了,比如上面的N6

结语

C语言的学习时间是短暂的,两个多月就结课了,进度也只到函数,指针也没讲,除了懂了一些基本的写法和方法外,其余讲真啥都不会,也没能力参加团队项目,结课了,期末考了,不代表我会停止对它的学习,趁闲暇时间对C语言较为深度的学习一下,如果有幸,结合单片机来学也是不错的。

版权属于:奥秘Sir(除特别注明外)
本文链接:https://blog.say521.cn/archives/477.html
本站文章采用 知识共享署名4.0 国际许可协议进行许可,请在转载时注明出处及本声明!

活动地址
Last modification:February 20th, 2021 at 11:01 pm
If you think my article is useful to you, please feel free to appreciate