一、单选题(共 10 道试题,共 30 分。)V 1. 若有下面的说明和定义: struct test { int m1;char m2float 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 aint b) { return (a+b);} main() {int x=2,y=5z=8,r r=func(func(x,y),z); printf("%d\n"r); } 该程序的输出结果是 ( )
A. 12
B. 13
C. 14
D. 15
5.下列程序 main() { int xyz x=y=2z=3 y=z++1 printf(“%d\t%d\t”xy) y=++x1 printf(“%d \t%d\n”xy) y=z1 printf(“%d\t%d\t”zy) y=z1 printf(“%d\t%d\n”zy) } 运行后输出的数据为( )。
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 ijchar *ac a=”computer” printf(“%s”a) for(i=0j=7i<ji++j) { c=a[i] *(a+i)=*(a+j) a[j]=c } printf(“>%s\n”a) c=a[j1i=2+j] printf(“a[%d]=%c\n”ic) } 运行后输出的数据为( )
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=1sum=0; while(i<10) sum=sum+1 i++ printf("i=%dsum=%d",isum); }
A. i=10,sum=9
B. i=9sum=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 [34]
D
3.以下关于数组描述错误的是( )
A. 数组的大小是固定的,但可以有不同的类型的数组元素
B. 数组的大小是可变的,但所有数组元素的类型必须相同
C. 数组的大小是固定的,所有数组元素的类型必须相同
D. 数组的大小是可变的,可以有不同的类型的数组元素
BD
4.对dowhile语句描述正确的是( )
A. dowhile语句构成的循环可以使用break语句退出循环
B. dowhile语句构成的循环必须使用break语句退出循环
C. dowhile语句构成的循环,当while中的表达式值为非零时结束循环
D. dowhile语句构成的循环,当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. 正确