第8题一个 C 程序总是从【 1 】开始执行。答案: main() 第9题当 a=1,b=2,c=3 时, 执行以下程序段后 a=【1】. if (a>c) b=a; a=c; c=b; 答案: 3第10题表达式 3&&0 的值是【 1】答案: 0第11题为了避免嵌套条件语句的二义性,C 语言规定 else 与其前面最近的【1 】语句配对. 答案: if 第12题以下程序运行的输出结果是【 1】. #includefun(int x) { if(x/2>0) fun(x/2); printf("%d ",x); } main() {fun(6);} 答案: 136第13题语句:x++; ++x; x=x+1; x=l+x; 执行后都使变量 x 中的值增 1, 请写出一条同一功能的赋值语句【1】. 答案: x+=1 第14题已知 x=2,y=2 则表达式 x*=y+8 的值为【 1】. 答案: 20 第15题C程序在执行过程中, 不检查数组下标是否【 1】. 答案:越界二、单项选择第1题设j和k 都是 int 类型,则下面的 for 循环语句( )。 for(j=0,k=0;jb!=c 和a>(b!=c) 的执行顺序是一样的 B:!a!=(b!=c) 表达式的值为 1 C:a||(b=c) 执行后 b 的值为 0 D:a&&b>c 的结果为假答案: B第7题已知 p, p1 为指针变量, a 为数组名, j 为整型变量,下列赋值语句中不正确的是( )。 A:p=&j,p=p1; B:p=a; C:p=&a[j]; D:p=10; 答案: D第8题以下选项中合法的用户标识符是( )。 A:long B:_2Test C:3Dmax D:A.dat 答案: B第9题若有说明: int a[][4]={0,0}; 则下面不正确的叙述是( )。 A: 数组 a 的每个元素都可得到初值 0 B: 二维数组 a 的第一维大小为 1 C: 因为二维数组a 中第二维大小的值除经初值个数的商为 1, 故数组a 的行数为 1 D: 有元素 a[0][0] 和a[0][1] 可得到初值 0, 其余元素均得不到初值 0 答案: D第10题以下标识符中,不能作为合法的 C 用户定义标识符的是( )。 A:answer B:to C:signed D:_if 答案: C第11题若从终端输入以下数据, 要给变量 c 赋以 283.19, 则正确的输入语句是 A:scanf(%f",c) B:scanf(%8.4f", &c); C:scanf(%6.2f", &c); D:scanf(%8f", &c); 答案: D第12题若有定义: char *p1,*p2,*p3,*p4,ch; 则不能正确赋值的程序语句为( )。 A:p1=&ch; scanf("%c",p1); B:p2=(char *)malloc(1);scanf("%c",p2); C:*p3=getchar(); D:p4=&ch;*p4=getchar(); 答案: C第13