C语言程序一定是从mian函数开始的;在主函数中,一次又一次调用了其他函数,但不代表程序是在代码行的最后一个函数结束;而是在主函数中,遇到了return 0 才会程序结束。
标识符:在编程语言中,标识符是用户编程时使用的名字,变量、常量、函数、语句块都有名字。是用来标识某个实体的一个符号,是对变量名、函数名、标号和其他各种用户定义的对象命名。
C语言中标识符的命名规范:
- 1.标识符由字母、数字、下划线组成,并且首字母不能是数字。
- 2.不能把C的关键字作为用户的标识符,例如:if、for、while等。(注:标识符不能和C语言的关键字相同,也不能和用户自定义的函数或C语言库函数同名)
- 3.标识符长度是由机器上的编译系统决定的,一般的限制为8字符,(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
- 4.标识符对大小写敏感,即严格区分大小写。
C、D两项并没有这种运算形式,因此直接舍去。
B选项最后结果应该是6,2 * (2+1)
因此最后结果为A。
|| 代表只需要左右两式,只需要有一者为真即为真;&&代表需要左右两式都为真,才最后结果为真。
a为2,进入switch的default(类似于 else-if 语句中的 else),最后a的结果5。
3 - 2 = 1,第一次循环;1 - 2 = -1,第二次循环。
y 是静态局部变量,因此进行运算之后不会恢复初始化时的值。5 + 3 + 4 = 12。
本题是对字符串数组的考察。
首先,数组初始化不能用变量,因此D选项去除;B选项、C选项表达的含义一致,只是B选项省略了行,二维数组能省略行、但不能省略列;因此以B选项为例,由于B选项数组的每一行只有4列,1234四个字符就已经占满了,无处存放 '\0',因此出现了1234abcd的打印结果。A选项中,是字符串数组的指针形式,即指针数组;str数组存放了2个指针,分别指向了"1234"和"abcd"两个字符串,注意:此处指向的是字符串,而非字符串的首字符,因此出现了下图2中的打印为空的情况。
p指针初始化时,被赋予的是数组名,即数组的首元素地址。
对p解引用,结果为1;A选项 1 + 6 = 7,C选项 1 + 5 =6,因此结果为C。
p + 6 的含义为p指针在数组中,向后走了6位。因此B选项解引用后,结果为7。
比较的是两个结点的数据域,因此直接用 data 来进行比较。
函数传参时,传的如果是数组名,那么传输的就是数组首元素地址。
a(add)为追加,r(read)为只读,w(write)为只写。
scanf函数除了字符串以外,都需要进行取地址操作;break是跳出循环,continue是结束本次循环。
自定义函数初次定义需要声明参数类型。
1.e-5 和 1e-5 代表的都是 10^-5 。
嘟嘟嘟~
2020C场原题,原题链接:上海市高等学校信息技术水平考试 C程序设计(2020C场)全解-CSDN博客
此处略过。