网站添加搜索关键字,wordpress表格编辑,传奇发布网站排行,上海企业网站优化公司第一题 1. 设a和b均为double型变量#xff0c;且a5.5、b2.5#xff0c;则表达式(int)ab/b的值是#xff08; #xff09; A#xff1a;6.500000 B#xff1a;6 C#xff1a;5.500000 D#xff1a;6.000000 答案及解析 D 本题考查的是不同数据类型之间的变量进行运算时…第一题 1. 设a和b均为double型变量且a5.5、b2.5则表达式(int)ab/b的值是 A6.500000 B6 C5.500000 D6.000000 答案及解析 D 本题考查的是不同数据类型之间的变量进行运算时发生的类型转换 不涉及强制类型转换的规则 1. char -- int -- float -- double 2. 有符号会转换为无符号 强制类型转换只针对一个变量括号后面是谁就针对谁 本题为(int)a b / b 首先a被强制类型转换为int类型会直接保留整数部分a 5 b / b 1.000000 因为b为double类型 所以(int)a b / b 5 1.000000 int 隐式类型转换为double (int)a b / b 6.000000 第二题易错题 2. s1和s2已正确定义并分别指向两个字符串。若要求当s1所指串大于s2所指串时执行语句S。则以下选项中正确的是 Aif(s1s2) S; Bif(strcmp(s1,s2)) S; Cif(strcmp(s2,s1)0) S; Dif(strcmp(s1,s2)0) S; 答案及解析 D 这里考的一方面是对strcmp函数的认识另一方面考的就是在if语句中的真假 strcmp函数比较两个字符串的大小通过两个字符串的第一个字符的ASCII值比较若相等就继续往下比左操作数的大就是左字符串大反之亦然 if中的真假0为假非0为真 所以本题的B选项是最容易错的选项如果s1 s2 返回值为负数但是在if语句中负数也为真值所以会执行SB选项错误 第三题易错题 3. i 1j 0 是正确的吗 char c 48;
int i 1, j 10;
j !(c j)i; A正确 B错误 答案及解析 A 本题中一是要看优先级二是考查结合性 相关博客 C语言操作符优先级表格建议收藏每次看一下-CSDN博客 首先优先级括号 ! 所以先算括号里的是必然的j !1 i; 那之后就是要根据优先级去算i了吗 当然不是因为这时候我们的 !1和i是的两个操作数 先要遵守结合性的结合性也就是运算顺序从左到右 所以会先算!1 0 j 0 i 而左边算完之后为0又因为是有0就是0岁月右边的i不会计算 最后i 1 j 0 第四题 4. 若a是float型变量b是unsigned型变量以下输入语句中合法的是 Ascanf(%6.2f%d, a, b); Bscanf(%f%n, a, b); Cscanf(%f%3o, a, b); Dscanf(%f%f, a, b); 答案及解析 C 单独的unsigned是unsigned int的缩写表示无符号整数 A%6.2f在scanf中不需要精度所以错误 B%n是用来统计字符个数的不参加输入输出语句 C正确八进制也是一个整数 D格式不匹配 第五题 5. 下面程序执行后的输出值为 #define SUM(x) 3*x*x1
int main()
{int i5, j8;printf(%d\n, SUM(ij));return 0;
} A64 B508 C420 D其他几项都不对 答案及解析 A 记住一点define就是替换不要自己添加符号 所以SUM(ij) 被替换为 3 * i j * i j 1 3 * 5 8 * 5 8 1 64