南开大学20秋《C语言程序设计》在线作业1参考答案.docx
《南开大学20秋《C语言程序设计》在线作业1参考答案.docx》由会员分享,可在线阅读,更多相关《南开大学20秋《C语言程序设计》在线作业1参考答案.docx(9页珍藏版)》请在冰豆网上搜索。
![南开大学20秋《C语言程序设计》在线作业1参考答案.docx](https://file1.bdocx.com/fileroot1/2023-3/31/9b9301f5-48f1-441a-8fce-f0ccc3ad34fa/9b9301f5-48f1-441a-8fce-f0ccc3ad34fa1.gif)
南开大学20秋《C语言程序设计》在线作业1参考答案
1.以下符合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
答案:
B
2.若有以下定义语句:
inta[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]
答案:
D
3.一个源程序文件由一个或多个什么组成?
()
A.语句
B.函数
C.程序块
D.子程序
答案:
B
4.for(i=2;i=0;)printf(“%d”,i--);以上程序段的循环次数是()。
A.2次
B.无限次
C.0次
D.1次
答案:
B
5.structperson{charname[9];intage;};structpersonclass[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])
答案:
D
6.如果在C语言中一个int型数据在内存中占2个字节,则unsignedint型数据的取值范围为()。
A.0~255
B.0~32767
C.0~65535
D.0~2147483647
答案:
C
7.已知学生记录描述为structstudent{intno;charname[20];charsex;struct{intyear;intmonth;intday;}birth;};structstudents;设变量s中的“生日”应该是“1984年11月11日”,下列对“生日”的正确赋值方式是()。
A.year=1984;month=11;day=11
B.birth.year=1984;birth.month=11;birth.day=11
C.s.year=1984;s.month=11;s.day=11
D.s.birth.year=1984;s.birth.month=11;s.birth.day=11
答案:
D
8.设有以下说明语句structstu{inta;floatb;}stutype;则以下叙述不正确的是()。
A.stutype是用户定义的结构体类型名
B.a和b都是结构体成员名
C.struct是结构体类型的关键字
D.structstu是用户定义的结构体类型
答案:
A
9.判断字符串a是否大于b,应当使用()。
A.if(a>b)
B.if(strcmp(a,b))
C.if(strcmp(b,a)>0)
D.if(strcmp(a,b)>0)
答案:
D
10.以下叙述中错误的是()。
A.变量的作用域取决于变量定义语句出现的位置
B.同一程序中,全局变量的作用域一定比局部变量的作用域大
C.局部变量的作用域是在定义它的函数体内
D.全局变量的作用域是从定义位置开始至源文件结束
答案:
B
11.x=-1;do{x=x*x;}while(x);以上程序段()。
A.是死循环
B.循环执行2次
C.循环执行1次
D.有语法错误
答案:
D
12.若执行fopen函数时发生错误,则函数的返回值是()。
A.地址值
B.null
C.1
D.EOF
答案:
B
13.下列哪个是字符写函数?
()
A.fgetc
B.fputc
C.fgets
D.fwrite
答案:
B
14.#includestdio.hmain(){union{longa;intb;charc;}m;printf(“%d\n”,sizeof(m));}以上程序的运行结果是()。
A.2
B.4
C.6
D.8
答案:
B
15.main(){intx,y,z;scanf(“%d%d%d”,&x,&y,&z),printf(“x+y+z=%d\n”,x+y+z);}输入数据的形式是25,13,10回车,则程序的输出结果是()。
A.x+y+z=48
B.x+y+z=35
C.x+z=35
D.不确定值
答案:
A
16.下面4个选项中,均是C语言关键字的选项是()。
A.autoenuminclude
B.switchtypedefcontinue
C.signedunionscanf
D.ifstructtype
答案:
B
17.fwrite函数的一般调用形式是()。
A.fwrite(buffer,count,size,fp)
B.fwrite(fp,size,count,buffer)
C.fwrite(fp,count,size,buffer)
D.fwirte(buffer,size,count,fp)
答案:
D
18.for(i=2;i==0;)printf(“%d”,i--);以上程序段的循环次数是()。
A.2次
B.无限次
C.0次
D.1次
答案:
C
19.#include“stdio.h”voidmain()intsum=0,a=1;while(a=10){sum=sum+a;a++;}printf(“sum=%d\n”,sum);}以上程序段的运行结果是()。
A.sum=0
B.sum=55
C.sum=10
D.sum=11
答案:
B
20.若有以下定义语句uniondata{intl;charc;floatf;}a;intn;则以下语句正确的是()。
A.a=5
B.a={2,‘a’,1.2}
C.printf(“%d\n”,a.l)
D.n=a
答案:
C
21.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式()。
A.从左起输出该字串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字串,左补空格
D.输出错误信息
答案:
B
22.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是()。
A.k%2
B.k%2==0
C.(k%2)!
=0
D.!
(k%2==0)
答案:
B
23.main(){structdate{intyear,month,day;}today;printf(“%d\n”,sizeof(structdate));以上程序的运行结果是()。
A.6
B.8
C.10
D.12
答案:
D
24.以下对一维整型数组a的正确说明是()。
A.inta(10)
B.intn=10,a[n]
C.intn
D.defineSIZE10inta[SIZE]
答案:
D
25.若以“a+”方式打开一个已存在的文件,则以下叙述正确的是()。
A.文件打开时,原有文件内容不被删除,位置指针移到文件末尾,可作添加和读操作
B.文件打开时,原有文件内容被删除,位置指针移到文件开头,可作重新写和读操作
C.文件打开时,原有文件内容被删除,只可作写操作
D.以上各种说法皆不下确
答案:
A
26.在C语言中,char型数据在内存中的存储形式是()。
A.补码
B.反码
C.原码
D.ASCII码
答案:
D
27.已有定义:
inta=-2;和输出语句:
printf(“%8lx”,a);以下正确的叙述是()。
A.整型变量的输出格式符只有%d一种
B.%x是格式符的一种,它可以适用于任何一种类型的数据
C.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
答案:
D
28.以下正确的叙述是()。
A.在C语言中,每行只能写一条语句
B.若a是实型变量,C程序中允许赋值a=10,因此实型变量中允许存放整型数
C.在C程序中,无论整数还是实数,都能被准确无误的表示
D.在C程序中,%是只能用于整数运算的运算符
答案:
D
29.下列关于数组的特征错误的是()。
A.先定义后使用
B.可以有多维
C.定义数组长度时可以用常量或变量
D.可以作参数传递
答案:
C
30.putchar函数可以向终端输出一个()。
A.整型变量表达式值
B.实型变量值
C.字符串
D.字符或字符型变量值
答案:
D
31.已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2=‘A’+‘6’-‘3’;后,c2中的值为()。
A.D
B.68
C.不确定的值
D.C
答案:
A
32.C语言结构体类型变量在程序执行期间()。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
答案:
A
33.当不能正确执行文件关闭操作时,fclose函数的返回值是()。
A.-1
B.EOF
C.TRUE
D.1
答案:
B
34.下面程序段:
intk=2;while(k==0){printf(“%d”,k);k--;}则下面描述中正确的是()。
A.while循环执行10次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
答案:
C
35.下列函数调用中,不正确的是()。
A.max(a,b)
B.max(3,a+b)
C.max(3,5)
D.intmax(a,b)
答案:
D
36.若调用fputc函数输出字符成功,则其返回值是()。
A.EOF
B.1
C.0
D.输出的字符
答案:
D
37.设有如下程序:
#includestdio.hmain(){charch1=‘A’,ch2=‘a’;printf(“%c\n”,(ch1,ch2));}则下列叙述正确的为()。
A.程序的输出结果为大写字母A
B.程序的输出结果为小写字母a
C.运行时产生错误信息
D.格式说明符的个数少于输出项的个数,编译出错
答案:
B
38.以下对C语言中共用体类型数据的叙述正确的是()。
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
答案:
C
39.设以下变量均为int类型,则值不等于7的表达式是()。
A.(x=y=6,x+y,x+1)
B.(x=y=6,x+y,y+1)
C.(x=6,x+1,y=6,x+y)
D.(y=6,y+l,x=y,x+1)
答案:
C
40.判断字符串a是否大于b,应当使用()。
A.if(a>b)
B.if(strcmp(a,b))
C.if(strcmp(b,a)>0)
D.if(strcmp(a,b)>0)
答案:
D
41.C语言中没有依存于硬件的I/O语句。
()
A.错误
B.正确
答案:
B
42.在TurboC++中,存储字符串常数时所占内存空间是不固定。
()
A.错误
B.正确
答案:
B
43.按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时一行的信息完全相同。
()
A.错误
B.正确
答案:
B
44.赋值表达式c=b=a=3是错误的。
()
A.错误
B.正确
答案:
A
45.C语言采用解释方式将源程序转换为二进制的目标代码。
()
A.错误
B.正确
答案:
A
46.被main函数调用的函数只能是库函数。
()
A.错误
B.正确
答案:
A
47.C语言中的标识符以字母或下划线开头,可跟任何字符。
()
A.错误
B.正确
答案:
A
48.在VisualC中,实型数据在内存中占4个字节。
()
A.错误
B.正确
答案:
B
49.C语言中的任何类型数据都可进行四则运算。
()
A.错误
B.正确
答案:
A
50.在VisualC中,整型数据在内存中占2个字节。
()
A.错误
B.正确
答案:
A