C语言程序设计模拟试卷(09级)
1.2.4.5.9.11.12.13.15.19.20.22 24 25 26 28 29 30
一、单选题(、共30小题,每小题1分,共30分) 1、设a、b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是( )。 A. a < =b
B. !((a〈b)&&!c||1) C. 'a'&&'b' D. a||b+c&&b-c
2、设有语句char a='\\72';则变量a( )。 A. 包含1个字符 B. 包含2个字符 C. 包含3个字符 D. 说明不合法
3、有以下程序: void main( ) { ;
; ; }
程序运行后的结果是( ): A.编译时有警告错误 B.编译时有语法错误
C.编译没有错误,但是运行时出错 D.程序正常运行,但是无任何输出
4、x为int型变量,执行以下语句后,x的值为( )。 x=10;
x+=x-=x-x; A.10 B.20 C.30 D.40
5、若有输入语句\;\,欲使x的值为10,y的值为20,z的值为30,则正确的输入应为( ): A. 10 , 20 ,30〈回车〉 B. 10 20 30〈回车〉 C. 10,20,30〈回车〉
D. 10〈回车〉20〈回车〉30〈回车〉
6、以下不正确的if语句是( )。 A. if (a
C. if (a=b) printf(\
D. if (a>b) && (b>c) printf(\
7、关于if后面一对圆括号中的表达式,叙述正确的是( )。 A. 只能用关系表达式 B. 只能用逻辑表达式
C. 只能用关系表达式或逻辑表达式 D. 可以使用任意合法的表达式
8、以下运算符中,优先级最高的是( )。 A. ! B. [ ] C. ++ D. %
9、假设有两个字符数组a[80],b[80],则正确的输出语句是( )。 A.puts(a,b);
B.printf(\C.putchar(a,b);
D.puts(a); puts(b);
10、对定义\的正确描述是( )。 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)三个元素
11、在引用数组元素时,其下标表达式的类型必须是( )。 A. 字符型 B. 整型
C. 整型或字符型 D. 整型常量
12、feof(fp)函数是用来测试fp所指的文件是否结束,如果文件结束,则feof(fp)返回的值是( ): A. 0 B. 1 C. NULL
D. 以上答案都不对
13、调用fopen函数打开一个文件失败时,函数返回的值是( ): A. -1 B. EOF C. NULL D. 1
14、在对文件进行操作时,读文件的含义是( ):
A. 将内存中的信息存入磁盘 B. 将磁盘中的信息输入到内存 C. 将CPU中的信息存入磁盘 D. 将磁盘中的信息输入到CPU
15、在C程序中,不合法的浮点型常量是( ): A.3.4E2.5 B..456 C.0.820000 D.100.3e5
16、C程序中,合法的关键字是( ): A. int B. integer C. Int D. Integer
17、设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是( ) A.P2=k; B.P1=P2; C.k=*P1+*P2; D.k=*P1*(*P2);
18、以下选项中,对指针变量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;
19、设有如下的程序段: char str[]=\char *ptr; ptr=str;
执行上面的程序段后,*(ptr+5)的值为( )。 A. 'o' B. '\\0'
C. 不确定的值 D. 'o'的地址
20、While 语句中循环结束的条件是while后面表达式的值是( )。 A. 0 B. 1 C. -1 D. 非0
21、有以下程序段: int t=0;
while(t=1) t--;
while循环执行的次数是( )。 A. 一次也不执行 B. 只执行一次 C. 无限次 D. 执行2次
22、执行循环语句\后,变量i的值是( )A. 9 B. 10 C. 11 D. 不确定
23、C语言中while和do-while循环的主要区别为( )。 A. do-while的循环体至少无条件执行一次
B. while的循环控制条件比do-while的循环控制条件严格 C. do-while允许从外部转到循环体内 D. do-while的循环体不能是复合语句
24、以下关于函数调用的描述中错误的是( )。 A.实参可以是常量、表达式或有确定值的变量 B.实参和形参共用同一内存单元 C.实参和形参的类型、个数必须一致
D.只有发生函数调用时,系统才为形参分别存储空间
25、以下正确的描述是( )。
A.函数的定义可以嵌套,但函数的调用不可以嵌套 B.函数的定义不可以嵌套,但函数的调用可以嵌套 C.函数的定义和函数的调用均不可以嵌套 D.函数的定义和函数的调用均可以嵌套
26、已经有以下函数定义: fun (char a)
{ printf((“a=%c\\n”, a); }
该函数的返回值类型是( )。 A.void B.char C.int D.不确定
27、以下叙述中正确的是( )。
A.在C语言中静态变量在未赋值时,其值为0
。 B.在C语言中任何变量在未赋值时,其值为0 C.外部变量在程序的任何函数中均有效
D.函数中任何一个局部变量均无法保留上一次调用时的运行结果
28、在VC++6.0中,若有以下说明: struct st { int x; float y; };
则:sizeof(struct st) 的值为( ): A. 6 B. 8 C. 10 D. 12
29、在下列结构变量st的定义中,不正确的是( )。 A. struct student { int num; float score; }st;
B. struct student { int num; float score; }; student st; C. struct { int num; float score; }st;
D. struct student{ int num; float score; }; struct student st;
30、在VC 6.0中,若有以下共用体说明: union uu { float x; double y; char z; } luck;
luck所占存储单元字节数为( ): A. 8 B. 4 C. 13 D. 1
二、填空题(共5小题,每小题3分,共15分)
1、下面程序是实现1+1/2+1/4+1/6+…+1/50的值,请填空: main()
{ int i=2; float sum=1; while (i<=50) {
sum=sum+1/(float)i; i++;__________; }
printf(“sum=%f\\n”,sum)
}
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库C模拟考试题及参考答案(09级)在线全文阅读。
相关推荐: