18秋学期(1709、1803、1809)《C语言程序设计》在线作业-0002
试卷总分:100 得分:0
一、 单选题 (共 40 道试题,共 80 分)
1.#include “stdio.h” void main() { int sum=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
2.已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是:
A.整型变量的输出格式符只有%d一种
B.%x 是格式符的一种,它可以适用于任何一种类型的数据
C.%x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的
D.%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
3.以下叙述中错误的是:
A.变量的作用域取决于变量定义语句出现的位置
B.同一程序中,全局变量的作用域一定比局部变量的作用域大
C.局部变量的作用域是在定义它的函数体内
D.全局变量的作用域是从定义位置开始至源文件结束
4.一个源程序文件由一个或多个什么组成( )
A.语句
B.函数
C.程序块
D.子程序
5.若已有定义int x;下列说明指针变量p指向x的正确语句是( )
A.int p=&x;
B.int *p=&x;
C.int p=x;
D.int *p=x;
6.以下对一维整型数组 a 的正确说明是( )
A.int a(10) ;
B.int n=10,a[n];
C.int n;
D.define SIZE 10 int a[SIZE];
7.for (i=2; i==0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )
A.2次
B.无限次
C.0次
D.1 次
8.C语言中规定,if语句的嵌套结构中,else总是与( )配对
A.与最近的if 配套
B.与第一个if 配套
C.按缩进位置相同的if配套
D.与最近的且尚未配对的if 配套
9.设有如下程序 # include main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( )
A.程序的输出结果为大写字母A
B.程序的输出结果为小写字母a
C.运行时产生错误信息
D.格式说明符的个数少于输出项的个数,编译出错
10.若有以下定义语句: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]
11.当说明一个结构体变量时系统分配给它的内存是( )
A.各成员所需内存的总和
B.结构中第一个成员所需内存量
C.成员中占内存量最大者所需的容量
D.结构中最后一个成员所需内存量
12.下面4个选项中,均是C语言关键字的选项是( )。
A.auto enum include
B.switch typedef continue
C.signed union scanf
D.if struct type
13.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。
A.1
B.0
C.-1
D.不确定
14.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])
15.设有说明语句:char w;int x;float y;double z;w*x+z-y值的数据类型为( )。
A.float
B.char
C.int
D.double
16.main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的输出结果是( )。
A.2 0
B.3 1
C.3 2 1 0
D.2 1 0
17.以下不正确的叙述是( )
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
18.若要打开D盘上user文件夹下名为abc.txt的文本文件进行读、写操作,符合此要求的函数调用是( )
A.fopen("D:\\user\\abc.txt","r")
B.fopen("D:\user\abc.txt","w")
C.fopen("D:\\user\\abc.txt","r+")
D.fopen("D:\user\abc.txt","rb")
19.fscanf函数的正确调用形式是( )。
A.fscanf(文件指针,格式字符串,输出表列)
B.fscanf(格式字符串,输出表列, fp)
C.fscanf(格式字符串,文件指针,输出表列)
D.fscanf(文件指针,格式字符串,输入表列)
20.C程序的执行从哪里开始( )
A.第一条语句
B.第一个函数
C.最后一个函数
D.主函数
21.for (i=2; i=0; ) printf(“%d” , i--) ; 以上程序段的循环次数是( )。
A.2次
B.无限次
C.0 次
D.1 次
22.数组名作为实参传递给形参时,数组名被处理为( )
A.该数组的长度
B.该数组的元素个数
C.该数组的首地址
D.该数组中各元素的值
23.关于return语句,下列说法正确的是( )。
A.不能在主函数中出现
B.必须在每个函数中出现
C.可以在同一个函数中出现多次
D.只能在除主函数之外的函数中再出现一次
24.下列函数调用中,不正确的是( )
A.max(a,b)
B.max(3,a+b)
C.max(3,5)
D.int max(a,b)
25.在C语言中,char型数据在内存中的存储形式是( )
A.补码
B.反码
C.原码
D.ASCII码
26.在C语言中,要求运算数必须是整型的运算符是( )。
A./
B.&&
C.!=
D.%
27.已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )
A.D
B.68
C.不确定的值
D.C
28.在 C 语言中,引用数组元素时,其数组下标的数据类型允许是( )。
A.整型常量
B.整型表达式
C.整型常量或整型表达式
D.任何类型的表达式
29.已知学生记录描述为 struct student {int no; char name[20]; char sex; struct {int year; int month; int day;}birth;}; struct student s; 设变量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;
30.从用户使用的角度看,函数有两种,它们是( )
A.库函数和用户自定义函数
B.库函数和主函数
C.用户自定义函数和主函数
D.主函数和子函数
31.设以下变量均为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)
32.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。
A.由用户自己定义
B.均为2个字节
C.是任意的
D.由所用机器的机器字长决定
33.若有定义char str[]= “very good”,则str的长度为( )
A.8
B.9
C.10
D.11
34.以下符合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
35.当把以下四个表达式用作if语句的控制表达式时,有一个选项与其它三个选项含义不同,这个选项是
A.k%2
B.k%2==0
C.(k%2)!=0
D.!(k%2==0)
36.下列哪个是字符写函数( )。
A.fgetc
B.fputc
C.fgets
D.fwrite
37.如果在C语言中一个int型数据在内存中占2个字节,则unsigned int型数据的取值范围为( )。
A.0~255
B.0~32 767
C.0~65 535
D.0~2 147 483 647
38.下面不正确的字符串常量是( )。
A.abc'
B."12'12"
C."0 "
D." "
39.下面程序段 int k=2; while (k==0) {printf(“%d”,k);k--;} 则下面描述中正确的是()。
A.while 循环执行 10 次
B.循环是无限循环
C.循环体语句一次也不执行
D.循环体语句执行一次
40.当不能正确执行文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.EOF
C.TRUE
D.1
二、 判断题 (共 10 道试题,共 20 分)
1.对整型常量可进行自加或自减运算,而对变量或表达式不可以。( )
A.错误
B.正确
2.赋值表达式c=b=a=3是错误的。( )
A.错误
B.正确
3.字符型数据和整数之间是不可以通用的。( )
A.错误
B.正确
4.在Visual C中,实型数据在内存中占4个字节。( )
A.错误
B.正确
5.在Visual C中,整型数据在内存中占2个字节。( )
A.错误
B.正确
6.用C语言可直接进行位运算和取地址等运算,因此C语言是一种低级语言。( )
A.错误
B.正确
7.在Turbo C++中,字符型数据在内存中占1个字节。( )
A.错误
B.正确
8.C语言中没有依存于硬件的I/O语句。( )
A.错误
B.正确
9.C程序是由函数构成的,每一个函数完成相对独立的功能。( )
A.错误
B.正确
10.C语言中的标识符以字母或下划线开头,可跟任何字符。( )
A.错误
B.正确
(责任编辑:admin)