|
华师《高级语言程序设计》在线作业
一、单选题(共 10 道试题,共 30 分。) V 1. 若有下面的说明和定义: struct test { int m1;char m2;float m3; union uu{ char u1[5];int u2[2];}ua; } myaa; 则sizeof(struct test)的值是 ( )
A. 12
B. 16
C. 14
D. 9
2. 在循环中使用break 语句的功能是( )
A. 使程序的执行跳出break所在的那一重循环
B. 使程序执行结束
C. 跳出包含此break语句的所有循环
D. 终止本次循环,继续下次循环
3. 下列数据中,为字符串常量的是( )
A. ‘A’
B. “house”
C. How do you do.
D. ’$abc’
4. 有如下程序 int func(int a,int b) { return (a+b);} main() {int x=2,y=5,z=8,r; r=func(func(x,y),z); printf("%d\n",r); } 该程序的输出结果是 ( )
A. 12
B. 13
C. 14
D. 15
5. 下列程序 main() { int x,y,z; x=y=2;z=3; y=z++-1; printf(“%d\t%d\t”,x,y); y=++x-1; printf(“%d \t%d\n”,x,y); y=z---1; printf(“%d\t%d\t”,z,y); y=--z-1; printf(“%d\t%d\n”,z,y); } 运行后输出的数据为( )。
A. 3 1 4 2 2 4 1 3
B. 3 1 3 3 2 4 2 2
C. 2 2 3 2 3 3 2 1
D. 2 1 3 2 1 3 1 2
6. 下列语句执行后的结果是( )。 y=5;p=&y;x=*p++;
A. x=5,y=5
B. x=5,y=6
C. x=6,y=5
D. x=6,y=6
7. 下列程序 main() { int i,j;char *a,c; a=”computer”; printf(“%s”,a); for(i=0,j=7;i<j;i++,j--) { c=a[i]; *(a+i)=*(a+j); a[j]=c; } printf(“->%s\n”,a); c=a[j-1,i=2+j]; printf(“a[%d]=%c\n”,i,c); } 运行后输出的数据为( )
A. computer->computer a[3]=u
B. computer->retupmoc a[5]=m
C. computer->retupmoc a[4]=p
D. computer->retupmoc a[2]=t
8. 语句while(!E) { ……}中的条件!E等价于( )
A. E==0
B. E!=1
C. E!=0
D. ~E
9. 若要打开:A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用是( )
A. fopen("A:\\user\\abc.txt","r")
B. fopen("A:\\user\\abc.txt","r+")
C. fopen("A:\\user\\abc.txt","rb")
D. fopen("A:\\userl\\abc.txt","w")
10. 以下程序的运行情况是( ) 。 main() {int i=1,sum=0; while(i<10) sum=sum+1; i++; printf("i=%d,sum=%d",i,sum); }
A. i=10,sum=9
B. i=9,sum=9
C. i=2,sum=l
D. 运行出现错误
华师《高级语言程序设计》在线作业
二、多选题(共 10 道试题,共 40 分。) V 1. 若以下选项中的变量已正确定义,则不正确的赋值语句是( )
A. x1=26.8%3
B. x=3*x+x
C. x3=0x12
D. x4=1+2=3;
D
2. 下列语句定义数组正确的是( )
A. int a(10);
B. int a[2+9];
C. int arr[0 to 3][0 to 4];
D. int arr[3][4];
E. int [3,4];
D
3. 以下关于数组描述错误的是( )
A. 数组的大小是固定的,但可以有不同的类型的数组元素
B. 数组的大小是可变的,但所有数组元素的类型必须相同
C. 数组的大小是固定的,所有数组元素的类型必须相同
D. 数组的大小是可变的,可以有不同的类型的数组元素
BD
4. 对do-while语句描述正确的是( )
A. do-while语句构成的循环可以使用break语句退出循环
B. do-while语句构成的循环必须使用break语句退出循环
C. do-while语句构成的循环,当while中的表达式值为非零时结束循环
D. do-while语句构成的循环,当while中的表达式值为零时结束循环
D
5. C语言提供的逻辑运算符有( )
A. and
B. ||
C. or
D. &&
E. !
DE
6. 以下选项中,合法的字符常量是( )
A. '\t'
B. '\17'
C. "n"
D. '\xaa'
BD
7. 下列选项中是C语言合法标志符的有( )
A. good_morning
B. main
C. stdio.h
D. 8abc
B
8. 若a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是( )
A. a=b=c=d=100;
B. d++;
C. c+b;
D. d=(c=22)-(b++);
BD
9. 以下对C语言中的函数描述不正确的有( )
A. 可以嵌套定义,不可以嵌套调用
B. 不可以嵌套定义,可以嵌套调用
C. 可以嵌套定义,也可以嵌套调用
D. 嵌套定义和嵌套调用都不允许
CD
10. 以下关于typedef的叙述正确的是( )
A. 用typedef可以定义各种类型名,但不能用来定义变量
B. 用typedef可以增加新类型
C. 用typedef只是将已存在的类型用一个新的名字来代表
D. 使用typedef便于程序的通用
CD
华师《高级语言程序设计》在线作业
三、判断题(共 10 道试题,共 30 分。) V 1. 十进制数15的二进制数是1111
A. 错误
B. 正确
2. char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"
A. 错误
B. 正确
3. C语言中"%"运算符的运算对象必须是整型
A. 错误
B. 正确
4. C程序中有调用关系的所有函数必须放在同一个源程序文件中
A. 错误
B. 正确
5. 在C程序中 , 函数既可以嵌套定义 , 也可以嵌套调用
A. 错误
B. 正确
6. 若有int ⅰ=10, j=0;则执行完语句if (j=0)ⅰ+ +; else ⅰ- -; ⅰ的值为11
A. 错误
B. 正确
7. 通过return语句,函数可以带回一个或一个以上的返回值
A. 错误
B. 正确
8. 若i =3,则printf("%d",-i++);输出的值为 -4
A. 错误
B. 正确
9. 因为用字符数组和字符指针变量都能实现字符串的存储和运算,因此它们二者是完全等价的
A. 错误
B. 正确
10. 共同体变量所占的内存长度等于最长的成员的长度
A. 错误
B. 正确
|
|