A、 书写风格良好的程序执行效率高
B、 书写风格良好的程序易读性好
C、 C程序可以在一行上写多条语句
D、 C程序允许将一条语句分写在多行上
答案:A
解析:【解析】书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,但书写风格会深刻地影响软件的质量和可维护性,良好的程序设计风格可以使程序结构清晰合理。良好的书写习惯一般一行写一条语句,这样方便阅读,但是一行写多条语句或者将一条语句分写在多行上是符合C程序编写规则的。答案选择A选项。
A、 书写风格良好的程序执行效率高
B、 书写风格良好的程序易读性好
C、 C程序可以在一行上写多条语句
D、 C程序允许将一条语句分写在多行上
答案:A
解析:【解析】书写风格与程序执行效率无关,程序执行效率与程序的数据结构有关,由算法的时间复杂度和空间复杂度决定,但书写风格会深刻地影响软件的质量和可维护性,良好的程序设计风格可以使程序结构清晰合理。良好的书写习惯一般一行写一条语句,这样方便阅读,但是一行写多条语句或者将一条语句分写在多行上是符合C程序编写规则的。答案选择A选项。
A. if(i/8==0) printf("\n");
B. if(i/8==0) continue;
C. if(i%8==0) printf("\n");
D. if(i%8==0) continue;
解析:【解析】每行输出8个数组数据后输入一个换行,所以应该采取对8取余的方法,余数循环一次便换行一次,所以语句为if(i%8==0) printf("\n");
A. 1012
B. 810
C. 1028
D. 1016
解析:【解析】因为int是全局变量,所以它的值在整个程序结束时才会消失。for循环第一次i=2,a[i]=3,所以fun(&a[i])=3+2=5,这时b为5,所以b=fun(&a[i])+b=5+5=10。第二次循环时,b=10,然后fun(&a[i]),代入a[i]=4,这时fun(&a[i])=10+4=14,所以b=fun(&a[i])+b=14+14=28。答案选择C选项。
A. y=sqrt(x); if(x<0)y=sqrt(-x);
B. if(x>=0)y=sqrt(x); else y=sqrt(-x);
C. if(x>=0)y=sqrt(x); if(x<0)y=sqrt(-x);
D. y=sqrt(x>=0?x:-x);
解析:【解析】sqrt函数是math.h文件中用来计算平方根的库函数。A项错误,当x小于零时,A项会出现运行时错误。B项使用if-else语句实现功能;C项使用两条if语句实现;D项使用三目运算符实现,结果等价于BC两项。
A. if(a>b){printf("x=%d,",x);j++}else{printf("y=%d,",y);i++}
B. if(a>b){printf("x=%d,",x);i++}else{printf("y=%d,",y);j++}
C. if(a<=b){printf("x=%d,",x);i++}else{printf("y=%d,",y);j++}
D. if(a>=b){printf("x=%d,",x);i++}else{printf("y=%d,",y);j++}
解析:【解析】程序段执行过程为:如果a>b,输出x,否则输出y;如果a否则j加1。A项如果a>b,输出x且j加1,否则输出y且i加1,与题目中功能相同,A项正确。B项如果a>b,输出x且i加1,否则输出y且j加1,与题目中功能不相同,B项错误。C项如果a<=b,输出x且i加1,否则输出y且j加1,与题目中功能不相同,C项错误。D项判断条件为a>=b,多了a=b,D项错误。答案选择A选项。
A. 项错误,关系运算符不能比较字符串大小,可以用函数库中的字符串比较函数来比较字符串的大小;
B. 项错误,空字符串占用一个字节的内存;
C. 项错误,字符常量是用单引号把一个字符括起来;
D. 项正确,两个连续的双引号是一个字符串常量,称为空串。答案选择D选项。
解析:【解析】
A. 项错误,双向链表不是二叉链表,但也是有两个指针域;
B. 项错误,循环链表与循环队列是不同的存储结构,循环队列是一种顺序存储结构。
C. 项错误,带链的栈是单链表,结点只有一个指针域。答案选择
D. 选项。
解析:【解析】
A. 算法和数据
B. 程序和数据
C. 程序和文档
D. 程序、数据及相关文档
解析:【解析】计算机软件由两部分组成:①机器可执行的程序和数据;②机器不可执行的,与软件开发、运行、维护、使用等有关的文档。答案选择D选项。
A. 10,64
B. 10,10
C. 64,10
D. 64,64
解析:【解析】
A. 1,3
B. 2,3
C. 1,4
D. 1,2
解析:【解析】语句p=p+1;只改变指针p的地址,与p的内容无关,所以m值没有改变,而语句*q=*q+1;是改变该指针所指地址中的内容,所以n变为3,m不变,仍为1,答案选择A选项。
A. DBACEF
B. CBFDEA
C. FDAEBC
D. DFABEC
解析:【解析】本题前序遍历结果是ABCEDF,所以A为根结点。中序遍历根结点在左右子树之间,所以CB和EDF分别为左右子树的中序遍历结果。同理,在CB子树中,B为父结点,C为左子树,在EDF子树中,E为父结点,DF为右子树,DF中D为父结点,F为右子树。所以后续遍历结果为CBFDEA。答案选择B选项。