弄了近2小时 脑袋痛,看来是太久没考试了……
一、选择:4、对于如下程序段,何时执行后的结果为true?(B)(南师大04)
if(i=0)printf("true");
else printf("false");
A. 总是 B. 绝不会 C. 当i为0时 D. 当i不为0时
6、设int a=0,b=5;执行表达式++a||++b,a+b后,a,b和表达式的值分别是( B)。(南师大05)
A、1,5,7 B、1,6,7 C 、1,5,6 D、0,5,7 为什么++b不执行
7、使用C语言描述关系表达式a<=x<b,正确描述是( C )。(南师大05)
A、a<=x<b B、x>=a&x<b C、x>=a&&x<b D、a<=x&&<b
9、表达式 -1<=3<=-5 的值是: (B )(南师大08)
(a) 0 (b) 1 (c) 3 (d) 表达式语法有错
10、若有以下说明和语句,则输出结果是哪一项?(南师大08)
Char str[30]="nanjing Normal University!";
Str[7]='\0';
Printf("%d",strlen(str));
(a) 6 (b) 7 (c) 8 (d) 26 为什么会是7?“\0 ”是什么意思?
3.若有“int i;”,下列与“for(i=0;i<10;i++)printf(“%d”,i);”的输出结果相同的循环语句是 E 。(不定项选择)
(南师大09)
(A)for(i=0;i<10;i++,printf(“%d”,i)); (B)for(i=0;i<10;printf(“%d”,i++));
(C)for(i=0;i<10; printf(“%d”,i),i++); (D)for(i=0;i<10; printf(“%d”,++i));
(E)for(i=0;i<10; ++i)printf(“%d”,i);
二、填空:
1. 与语句 if (x>y) m=y; else m=x; 等效的表达式语句是: (_m=(a>b?a:b)_)_。(南师大06)
4、为表示关系x<y<z,应使用C语言表达式( y>x&&y<z )。(南师大07)
5、若有int i=5,j=0;则执行完语句
if(j=0) //因为j=0 不是应该执行语句1么?为什么执行的是else 语句2?
i++;
else i--;后,
i的值为( 6 )。(南师大07) 为什么i=4 ?
6、下列程序的执行结果为a=( ),z=( )。(南师大07)
main (){
int a=-1,b=-1,z=0;
if(a>0)if(b>0) z=1;
else z=-1;
if(b) –a;
else ++a;
printf(“a=%d,z=%d”,a,z);} 不会做…… A=0,Z=-1 为什么会是a=-2,z=0??
9.下面两个文件包含预处理语句:(南师大08)
#include<stdio.h> 与 #include "stdio.h"的主要区别是( ) 不知道…… 。
三、给程序写结果:
1、(东师大,04年)
main()
{int n,i,j;
n=6;
for(i=1;i<=n;i++)
{for(j=1;j<=20-j;j++)printf(" ");
for(j=1;j<=2*i-1;j++)
if((j==1)||(j==2*j-1)||(i==4))printf("*");
else printf(" ");
printf("\n"); }
} 这个题直接 把我循蒙了,弄的我头疼,请大大们帮我断句,谢谢
2、(东师大,05年)
main()
{
unsigned a,b,c;
int n=3;
a=0x000f;
b=a<<(16-n); // a>(16-n) 所以b=0
c=a>>n; // a>n 所以 c=1
c=c||b; //c=1,b=0 所以c||b=0
printf("%d\n%x",a,c);
}
我个认为a=16,c=1 ,
为什么a=15 c=e0001??
以上是我不确定对错,和做错的题,请解答谢谢