《C语言程序设计》模拟试题2(08级) 1、下面程序的输出结果是____。 main()
{ int i,j,k=10; for(i=0;i<2;i++) { k++;
{ int k=0;
for(j=0;j<=3;j++) { if(j%2) continue; k++; } } k++; }
printf(\ }
A. k=18 B. k=14 C. k=8 D. k=4
2、以下选项中,对指针变量p不正确的操作是( )。 A.int a[6],*p; p=&a; B.int a[6],*p; p=a;
C.int a[6]; int *p=a=1000;
D.int a[6]; int *p1,*p2=a; *p1=*p2;
3、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是( ) A.P2=k; B.P1=P2; C.k=*P1+*P2; D.k=*P1*(*P2);
4、若“int a[4][10],*p,*q[4];”,且0<=i<4,则下面选项中( )是错误的赋值。 A.p=a B. q[i]=a[i] C.p=a[i][0] D.q[i]=&a[2][0]
5、以下关于函数调用的描述中错误的是( )。 A.实参可以是常量、表达式或有确定值的变量 B.实参和形参共用同一内存单元 C.实参和形参的类型、个数必须一致
D.只有发生函数调用时,系统才为形参分别存储空间
6、以下正确的描述是( )。
A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和函数的调用均可以嵌套 7、已经有以下函数定义: fun (char a)
, printf((“a=%c\\n”, a); -
该函数的返回值类型是( )。 A.void B.char C.int D.不确定
8、以下叙述中正确的是( )。
A.在C语言中静态变量在未赋值时,其值为0 B.在C语言中任何变量在未赋值时,其值为0 C.外部变量在程序的任何函数中均有效
D.函数中任何一个局部变量均无法保留上一次调用时的运行结果 9、在对文件进行操作时,读文件的含义是( ): A. 将内存中的信息存入磁盘 B. 将磁盘中的信息输入到内存 C. 将CPU中的信息存入磁盘 D. 将磁盘中的信息输入到CPU
10、调用fopen函数打开一个文件失败时,函数返回的值是(): A. -1 B. EOF C. NULL D. 1
11、feof(fp)函数是用来测试fp所指的文件是否结束,如果文件结束,则feof(fp)返回的值是(): A. 0 B. 1 C. NULL
D. 以上答案都不对
12、下述程序的正确运行结果是()。 #include
if (x==0||x==1) return 3; else
p=x-fun(x-2); return p;
}
void main() {
printf(“\\n%d”,fun(9)); }
A. 8 B. 7 C. 10 D. 9
13、以下不正确的if语句是( )。 A. if (a
C. if (a=b) printf(\
D. if (a>b) && (b>c) printf(\
14、关于if后面一对圆括号中的表达式,叙述正确的是( A. 只能用关系表达式 B. 只能用逻辑表达式
C. 只能用关系表达式或逻辑表达式 D. 可以使用任意合法的表达式
15、C程序中,合法的关键字是( ): A. int B. integer C. Int D. Integer
16、在C程序中,不合法的浮点型常量是( ): A.3.4E2.5 B..456
C.0.820000 D.100.3e5
17、在引用数组元素时,其下标表达式的类型必须是( A. 字符型 B. 整型
C. 整型或字符型 D. 整型常量
18、以下运算符中,优先级最高的是( )。 A. ! B. [ ] C. ++ D. %
19、对定义\ a[2]; \的正确描述是( )。 A. 定义一维数组a,包含a[1]和a[2]两个元素 B. 定义一维数组a,包含a[0]和a[1]两个元素
C. 定义一维数组a,包含a[0]、a[1]和a[2]三个元素
)。)。 D. 定义一维数组a,包含a(0)、a(1)和a(2)三个元素
20、C语言中while和do-while循环的主要区别为( )。 A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句 21、有以下程序段: int t=0;
while(t=1) t--;
while循环执行的次数是( )。 A. 一次也不执行 B. 只执行一次 C. 无限次 D. 执行2次
22、While 语句中循环结束的条件是while后面表达式的值是( )。A. 0 B. 1 C. -1 D. 非0
23、执行循环语句\后,变量i的值是( )。 A. 9 B. 10 C. 11
D. 不确定
24、若变量x和y均为整型,且x=y=1,则表达式y+=x+1的值为( A. 3 B. 2 C. 1
D.无正确结果
25、表示关系x<=y<=z的c语言表达式为( )。 A. (X<=Y<=Z)
B. (X<=Y)AND(Y<=Z) C. (X<=Y)&&(Y<=Z) D. (X<=Y)&(Y<=Z)
26、下面程序的输出结果是( )。 #include
{ int n[3][3], i, j; for(i=0;i<3;i++ ) for(j=0;j<3;j++ ) n[i][j]=i+j; for(i=0;i<2;i++ ) for(j=0;j<2;j++ )
n[i+1][j+1]+=n[i][j];
)。 printf(\ }
A. 14 B. 0 C. 6 D. 不确定
27、下面程序的输出结果是____。 #include
char *p = \; main( )
{ int i=0;
while( *p++!='e' ); printf(\; } A.c B.d C.e D.f
28、下面程序的输出结果是____。 #include \struct str1
{ char c[5]; char *s; }; main( )
{ struct str1 s1[2]={ {\,{\; struct str2
{ struct str1 sr; int d;
}s2={\; struct str1 *p[2]; p[0]=&s1[0]; p[1]=&s1[1];
printf(\,++p[1]->s); }
A.LMN B.MN C.N D.IJK
29、设有以下宏定义: