奥鹏南开20春学期《C语言程序设计》在线作业1标准答案文档格式.docx
《奥鹏南开20春学期《C语言程序设计》在线作业1标准答案文档格式.docx》由会员分享,可在线阅读,更多相关《奥鹏南开20春学期《C语言程序设计》在线作业1标准答案文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
![奥鹏南开20春学期《C语言程序设计》在线作业1标准答案文档格式.docx](https://file1.bdocx.com/fileroot1/2022-12/15/4289a9f6-081b-4664-96a1-baa7fed582a5/4289a9f6-081b-4664-96a1-baa7fed582a51.gif)
C
3.在C语言中,引用数组元素时,其数组下标的数据类型允许是()。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
4.判断字符串a是否大于b,应当使用()
A.if(a>
b)
B.if(strcmp(a,b))
C.if(strcmp(b,a)>
0)
D.if(strcmp(a,b)>
5.若已有定义intx;
下列说明指针变量p指向x的正确语句是()
A.intp=&
x;
B.int*p=&
C.intp=x;
D.int*p=x;
B
6.main(){intx=2,y=-1,z=2;
if(x<
y)if(y<
0)z=0;
elsez+=1;
printf("
%d\n"
z);
}以上程序的输出结果为()。
A.3
B.2
C.1
D.0
7.已知各变量的类型说明如下:
inti=8,k,a,b;
unsignedlongw=5;
doublex=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)
A
8.若定义语句:
inta=7;
floatx=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
9.已有定义inta=-2;
和输出语句:
printf("
%8lx"
a);
以下正确的叙述是:
A.整型变量的输出格式符只有%d一种
B.%x是格式符的一种,它可以适用于任何一种类型的数据
C.%x是格式符的一种,其变量的值按十六进制输出,但%8lx是错误的
D.%8lx不是错误的格式符,其中数字8规定了输出字段的宽度
10.main(){structdate{intyear,month,day;
}today;
sizeof(structdate));
}以上程序的运行结果是()
A.6
B.8
C.10
D.12
11.当不能正确执行文件关闭操作时,fclose函数的返回值是()。
A.-1
B.EOF
C.TRUE
D.1
12.若已有定义intx=2;
int*p=&
则*p的值为()
A.2
B.&
x
C.*x
D.&
p
13.以下对C语言中共用体类型数据的叙述正确的是()
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
14.在C语言中,要求运算数必须是整型的运算符是()。
A./
C.!
=
D.%
15.for(i=2;
i==0;
)printf(“%d”,i--);
以上程序段的循环次数是()
A.2次
B.无限次
C.0次
D.1次
16.从用户使用的角度看,函数有两种,它们是()
A.库函数和用户自定义函数
B.库函数和主函数
C.用户自定义函数和主函数
D.主函数和子函数
17.下列哪个是字符写函数()。
A.fgetc
B.fputc
C.fgets
D.fwrite
18.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是
A.k%2
B.k%2==0
C.(k%2)!
=0
D.!
(k%2==0)
19.下面4个选项中,均是不合法的用户标识符的选项是()
A.AP_0do
B.floata0_A
C.b-a123int
D._123tempINT
20.一个源程序文件由一个或多个什么组成()
A.语句
B.函数
C.程序块
D.子程序
21.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数()。
A.由用户自己定义
B.均为2个字节
C.是任意的
D.由所用机器的机器字长决定
22.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)
23.C语言的函数中,()。
A.必须有形参
B.形参必须是变量名
C.可以有也可以没有形参
D.数组名不能作形参
24.以下对一维整型数组a的正确说明是()
A.inta(10);
B.intn=10,a[n];
C.intn;
D.defineSIZE10inta[SIZE];
25.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按方式()
A.从左起输出该字串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字串,左补空格
D.输出错误信息
26.x=-1;
do{x=x*x;
}while(x);
以上程序段()
A.是死循环
B.循环执行2次
C.循环执行1次
D.有语法错误
27.structperson{charname[9];
intage;
};
structpersonclass[10]={"
John"
17,"
Paul"
19,"
Mary"
18,"
adam"
16};
根据上面的定义,能打印出字母M的语句是()。
A.printf("
%c\n"
class[3].name);
B.printf("
class[3].name[1]);
C.printf("
class[2].name[1]);
D.printf("
class[2].name[0])
28.已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='
A'
+'
6'
-'
3'
;
后,c2中的值为()
A.D
B.68
C.不确定的值
D.C
29.以下叙述中错误的是:
A.变量的作用域取决于变量定义语句出现的位置
B.同一程序中,全局变量的作用域一定比局部变量的作用域大
C.局部变量的作用域是在定义它的函数体内
D.全局变量的作用域是从定义位置开始至源文件结束
30.若有定义charstr[]=“verygood”,则str的长度为()
A.8
B.9
D.11
31.main(){intn=4;
while(n)printf("
%d"
,--n);
}以上程序的输出结果是()。
A.20
B.31
C.3210
D.210
32.fscanf函数的正确调用形式是()。
A.fscanf(文件指针,格式字符串,输出表列)
B.fscanf(格式字符串,输出表列,fp)
C.fscanf(格式字符串,文件指针,输出表列)
D.fscanf(文件指针,格式字符串,输入表列)
33.以下不正确的叙述是()
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
34.设有如下程序#include<
stdio.h>
main(){charch1='
ch2='
a'
(ch1,ch2));
}则下列叙述正确的为()
A.程序的输出结果为大写字母A
B.程序的输出结果为小写字母a
C.运行时产生错误信息
D.格式说明符的个数少于输出项的个数,编译出错
35.下列哪个是读写文件出错检测函数()。
A.ferror
B.clearerr
C.feof
36.intk=1;
while(k<
=10);
上述语句执行后,变量k的值是()。
A.10
B.11
C.9
D.无限循环,值不定
37.for(i=2;
i=0;
以上程序段的循环次数是()。
C.0次
38.若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是()
A.fopen("
D:
\\user\\abc.txt"
"
r"
)
B.fopen("
\user\abc.txt"
w"
C.fopen("
r+"
D.fopen("
rb"
39.C语言结构体类型变量在程序执行期间()。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
40.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是()
A.只写
B.追加
C.读或读写
D.答案B和C都正确
二、判断题(共10道试题,共20分)
1.在C语言中,字母的大小写不被区分。
()
A.错误
B.正确
2.在C源程序中,/*与*/之间的注释信息也被编译,但对程序运行运果不发生影响。
3.在TurboC++中,存储字符串常数时所占内存空间是不固定。
4.在VisualC中,实型数据在内存中占4个字节。
5.字符型数据和整数之间是不可以通用的。
6.C语言中的标识符以字母或下划线开头,可跟任何字符。
7.对整型常量可进行自加或自减运算,而对变量或表达式不可以。
8.C语言中没有依存于硬件的I/O语句。
9.赋值表达式c=b=a=3是错误的。
10.按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。