(1).算术运算符和圆括号有不同的运算优先级,对于表达式:a+b+c*(d+e),关于执行步骤,以下说法正确的是【A】
(A).先执行a+b的r1,再执行(d+e)的r2,再执行c*r2的r3,最后执行r1+r3的表达式最后结果
(B).先执行(d+e)的r2,再执行c*r2的r3,再执行a+b的r1,最后执行r1+r3的表达式最后结果
(C).先执行(d+e)的r2,再执行c*r2的r3,再执行b+r3的r4,最后执行a+r4的表达式最后结果
(D).先执行a+b的r1,再执行r1+c的r5,再执行(d+e)的r2,最后执行r5*r2的表达式最后结果
分析:计算机的计算和人的大脑计算方式不一样
(2).以下选项中叙述正确的是【A】
(A).函数体必须从{开始
(B).C程序必须由main语句开始
(C).C程序中的注释可以嵌套
(D).C程序中的注释必须在一行完成
分析:C程序必须由main语句开始执行,注释不可以嵌套
(3).设有语句:printf(“%2d\n”,2010);则以下叙述正确的是【C】
(A).程序运行时输出10
(B).程序运行时输出20
(C).程序运行时输出2010
(D).指定的输出宽度不够,编译出错
分析:当printf输出宽度不够时,就会输出原来的数。
(4).设有定义:
int n=1234;
doule x=3.1415;
则语句:printf(“%3d,%1.3f\n”,n,x);【C】
(A).1234,3.141
(B).123,3.142
(C).1234,3.142
(D).123,3.141
分析:%1.3:保留3位小数,对第四位四舍五入。
(5).设有如下语句:
int k=0;
k=printf(“ok\n”);
则以下叙述中正确的是【A】
(A).变量k得到的是输出字符的总个数3
(B).变量k得到的是输出的可见字符个数2
(C).printf必须作为独立语句出现
(D).变量k仍保持初值0
(6).以下叙述错误的是【A】
(A).任何能通过编译和运行的算法都一定能得到所期望的结果
(B).一个算法所包含的操作步骤应该是有限的//算法具有有穷性
(C).算法中每一条必须于确切的含义
(D).算法可以用各种描述方法来进行描述
(7).若有定义:int a=1234,b=-5678;用语句printf(“%+-6d%+-6d”);输出,以下正确的是【B】
(A).+1234 -5678(最前面有一个空格,中间有一个空格)
(B).+1234 -5678(中间有一个空格,最后有一个空格)
(C).+-1234+-5678(最前面和最后均无空格)
(D).1234 -5678(中间有两个空格,最后有一个空格)
分析:%+:是打印出+,-:是左对齐,6d是宽度为6
(8).以下可以正确且安全的用作用户标识符的一组选项是【B】
(A).Switch,unsigned
(B)._32int,long64
(C).Abc,getch
(D).3break,enter
隐藏考法:3break就不是用户标识符,数字不能再前面。