南开19春学期(1709、1803、1809、1903)《C语言程序设计》在线作业[答案]满分答案
19春学期(1709、1803、1809、1903)《C语言程序设计》在线作业-0003
试卷总分:100 得分:0
一、 单选题 (共 40 道试题,共 80 分)
1.以下对一维整型数组 a 的正确说明是( )
A.int a(10) ;
B.int n=10,a[n];
C.int n;
D.define SIZE 10 int a[SIZE];
2.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )
A.只写
B.追加
C.读或读写
D.答案B和C都正确
3.当不能正确执行文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.EOF
C.TRUE
D.1
4.下面4个选项中,均是不合法的用户标识符的选项是( )
A.A P_0 do
B.float a0 _A
C.b-a 123 int
D._123 temp INT
5.下列关于数组的特征错误的是( )。
A.先定义后使用
B.可以有多维
C.定义数组长度时可以用常量或变量
D.可以作参数传递
6.一个源程序文件由一个或多个什么组成( )
A.语句
B.函数
C.程序块
D.子程序
7.在C语言中,要求运算数必须是整型的运算符是( )。
A./
B.&&
C.!=
D.%
8.struct person {char name[9]; int age;}; struct person class[10]={"John",17,"Paul",19,"Mary"18,"adam",16}; 根据上面的定义,能打印出字母M的语句是( )。
A.printf("%c\n",class[3].name);
B.printf("%c\n",class[3].name[1]);
C.printf("%c\n",class[2].name[1]);
D.printf("%c\n",class[2].name[0])
9.若有以下定义语句:int a[10]={1,2,3,4,5,6,7,8,9,10}; 则下列哪个是对该数组元素的正确引用( )
A.a[10]
B.a[a[3]-5]
C.a[a[9]]
D.a[a[4]+4]
10.已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是:
A.a十=a一=(b= 4)*(a=3)
B.a=a*3=2
C.x%(一3)
D.y=f1oat(i)
11.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。
A.1
B.0
C.-1
D.不确定
12.若定义语句:int a=7;float x=2.5;y=4. 7; 则表达式x+a%3*(int)(x+y)%2/4的值是( )
A.2.500000
B.2.750000
C.3.500000
D.0.000000
13.若有以下定义语句 union data {int l; char c; float f;}a; int n;则以下语句正确的是( )
A.a=5;
B.a={2,'a',1.2};
C.printf("%d\n",a.l);
D.n=a;
14.C语言中规定,if语句的嵌套结构中,else总是与( )配对
A.与最近的if 配套
B.与第一个if 配套
C.按缩进位置相同的if配套
D.与最近的且尚未配对的if 配套
15.main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的输出结果是( )。
A.2 0
B.3 1
C.3 2 1 0
D.2 1 0
16.若有定义char str[]= “very good”,则str的长度为( )
A.8
B.9
C.10
D.11
17.判断字符串a是否大于b,应当使用( )
A.if (a>b)
B.if (strcmp(a,b))
C.if (strcmp(b,a)>0)
D.if (strcmp(a,b)>0)
18.main() {struct date {int year,month,day;}today; printf("%d\n",sizeof(struct date));} 以上程序的运行结果是( )
A.6
B.8
C.10
D.12
19.以下符合C语言语法的赋值表达式是( )
A.d=9+e+f=d+9
B.d=9+e,f=d+9
C.d=9十e,e++,d十9
D.d=9十e++=d十7
20.若已有定义int x=2; int *p=&x;则*p的值为( )
A.2
B.&x
C.*x
D.&p
21.设有如下程序 # include<stdio.h> main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( )
A.程序的输出结果为大写字母A
B.程序的输出结果为小写字母a
C.运行时产生错误信息
D.格式说明符的个数少于输出项的个数,编译出错
22.C语言结构体类型变量在程序执行期间( )。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
23.以下对C语言中共用体类型数据的叙述正确的是( )
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
24.下面正确的字符常量是( )
A."c"
B."\\"
C.'W'
D.''(中间没有空格)
25.设有以下说明语句 struct stu {int a;float b;}stutype; 则以下叙述不正确的是( )
A.stutype 是用户定义的结构体类型名
B.a 和 b 都是结构体成员名
C.struct 是结构体类型的关键字
D.struct stu 是用户定义的结构体类型
26.x=-1; do { x=x*x; } while (x); 以上程序段( )
A.是死循环
B.循环执行2次
C.循环执行1次
D.有语法错误
27.main() {int x=2,y=-1,z=2; if(x<y) if(y<0) z=0; else z+=1; printf("%d\n",z); } 以上程序的输出结果为( )。
A.3
B.2
C.1
D.0
28.int k=1; while (k<=10); 上述语句执行后,变量k的值是( )。
A.10
B.11
C.9
D.无限循环,值不定
29.从用户使用的角度看,函数有两种,它们是( )
A.库函数和用户自定义函数
B.库函数和主函数
C.用户自定义函数和主函数
D.主函数和子函数
30.C程序的执行从哪里开始( )
A.第一条语句
B.第一个函数
C.最后一个函数
D.主函数
31.若调用fputc函数输出字符成功,则其返回值是( )
A.EOF
B.1
C.0
D.输出的字符
32.若执行fopen函数时发生错误,则函数的返回值是( )
A.地址值
B.null
C.1
D.EOF
33.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。
A.由用户自己定义
B.均为2个字节
C.是任意的
D.由所用机器的机器字长决定
34.若已有定义int x;下列说明指针变量p指向x的正确语句是( )
A.int p=&x;
B.int *p=&x;
C.int p=x;
D.int *p=x;
35.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
36.下列哪个是读写文件出错检测函数( )。
A.ferror
B.clearerr
C.feof
D.fwrite
37.for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )
A.2次
B.无限次
C.0次
D.1 次