今日刷c语言选择题总结一点知识
- 标识符:字母或下划线开头;只有字母,数字,下划线(至少一种);不含敏感词。
- 常量:包含三种,数值,字符常量,字符串常量。数值分为整型和实型。
整形具体为有符号和无符号两种,包含三种进制(无二进制)
格式转换说明
%d 有符号十进制整数
%f 浮点数(包括float和doulbe)
%e(%E) 浮点数指数输出[e-(E-)记数法]
%g(%G) 浮点数不显无意义的零"0"
%i 有符号十进制整数(与%d相同)%u 无符号十进制整数
%o 八进制整数 e.g. 0123
%x(%X) 十六进制整数e.g. 0x1234
注意:想以0x或者0dd形式输出,需要加#,具体为%#x,%#o
实型包括小数和指数,语法规则:
小数的合法写法:C语言小数点两边有一个是零的话,可以不用写。
1.0在C语言中可写成1.
0.1在C语言中可以写成.1。
3)实型数据的合法形式:
a、2.333e-1 就是合法的,且数据是2.333×10-1。
b、e前e后必有数,e后必有整数
多嘴两句:1.一个字节八个比特
2.short 最短2,long最长4,一般float4,double8,long double16
字符:赋值后将自动转换成ASIIC码值存储。
字符常量两种:
一种是普通字符:‘h’,‘d’
另一种是转义字符: (八进制或者十六进制asiic码)’/056’ ‘/x56’
主要讲一下字符赋值,四种方法
(转义字符:在C程序中使用转义字符\ d d d或者\ x h h可以方便灵活地表示任意字符。\ d d d为斜杠后面跟三位八进制数,该三位八进制数的值即为对应的八进制A S C I I码值。\ x后面跟两位十六进制数,该两位十六进制数为对应字符的十六进制A S C I I码值。)
第一,八进制赋值:c=“/ddd”
第二,十六进制赋值:c=“/xdd”
第三,十进制赋值:c=“/dd”
第四,’'赋值:c=‘h’
注意:所有字符常量都可作为整形量来处理
3.赋值 <变量名>=<表达式>
4.运算符优先级
注意逗号运算符,最低
逗号表达式c=(exp1,exp2)
分别计算exp1的值和exp2的值,最后c等于exp2的值
5.几个小细节:c语句是函数内的语句,语句由分号结尾;c语言中,未对函数类型进行显性说明,函数隐形类型为int而非void!
6.单目运算符-----强转。
7.形参和实参
自己的理解:功能函数被调用时,形参与实参占不同的存储单元,包括数组名做形参。不调用时,形参不占存储单元。(注:网上各种解释都有,关于形参与实参的存储单元的题,大部分不严谨,在此写下自己的思考,遇到这种情况按自己理解处理,仅供大家参考。)
8.关于c源程序预处理:
第一,预处理定义:在编译前对c程序文本操作限制。
第二:预处理可完成三件事:完成宏替换和文件包含中指定的文件调用以及if else选择。
第三,凡以“#”开头的控制行都是预处理指令。
9.几个诡异程序:
解释一下:程序1:%%即%,%d中%被输出,%d失效,故输出%d
程序2:逗号是最低级运算符,程序语句内写一些无关痛痒的语句没有关系
程序3:记住记住
程序4:有一个三目运算符,其优先级高于赋值运算符,三目运算符计算x>y,为0,则y➕➕。y为3,执行z➕=3。z=6
2020 .12.16
补两个知识点:
c语言源程序扩展名是.c
目标程序扩展名是.obj
可执行程序扩展名是.exe
break只能用于循环或者swtich
continue只能用于循环。
不存在什么if语句。。