《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("k=%d\n",k);
}
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.只有发生函数调用时,系统才为形参分别存储空间
6fopen函数失败、以下正确的描述是( )。
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 <stdio.h>
int fun(int x)
{
int p;
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<b) t=a ;
B. if (a !=b && b) ;
C. if (a=b) printf("equal" ) ;
D. if (a>b) && (b>c) printf("max=%d",a);
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.
D.100.3e5
17、在引用数组元素时,其下标表达式的类型必须是( )。
A. 字符型
B. 整型
C. 整型或字符型
D. 整型常量
18、以下运算符中,优先级最高的是( )。
A. !
B. [ ]
C. ++
D. %
19、对定义"int 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、执行循环语句"for (i=1; i<10; i++) a++;"后,变量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 <stdio.h>
main( )
{ 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("%d\n", n[i][j]);
}
A. 14
B. 0
C. 6
D. 不确定
27、下面程序的输出结果是____。
#include <stdio.h>
char *p = "abcdefghijklmnopq" ;
main( )
{ int i=0;
while( *p++!='e' );
printf("%c\n", *p);
}
A.c
B.d
C.e
D.f
28、下面程序的输出结果是____。
#include "stdio.h"
struct str1
{ char c[5];
char *s;
};
main( )
{ struct str1 s1[2]={ {"ABCD","EFGH"},{"IJK","LMN"} };
struct str2
{ struct str1 sr;
int d;
}s2={"OPQ","RST",32767};
struct str1 *p[2];
p[0]=&s1[0];
p[1]=&s1[1];
printf("%s",++p[1]->s);
}
A.LMN
B.MN
C.N
D.IJK
29、设有以下宏定义:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论