23春学期(高起本:1709-2103、专升本/高起专:1903-2103)《C语言程序设计》在线作业-00001
试卷总分:100 得分:100
一、单选题 (共 40 道试题,共 80 分)
1.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。
A.1
B.0
C.-1
D.不确定
2.以下对C语言中共用体类型数据的叙述正确的是( )
A.可以对共用体变量名直接赋值
B.一个共用体变量中可以同时存放其所有成员
C.一个共用体变量中不能同时存放其所有成员
D.共用体类型定义中不能出现结构体类型的成员
3.若有以下定义语句 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;
4.若定义语句: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
5.下列哪个是读写文件出错检测函数( )。
A.ferror
B.clearerr
C.feof
D.fwrite
6.在C语言中,要求运算数必须是整型的运算符是( )。
A./
B.&&
C.!=
D.%
7.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)
8.C程序的执行从哪里开始( )
A.第一条语句
B.第一个函数
C.最后一个函数
D.主函数
9.下面4个选项中,均是C语言关键字的选项是( )。
A.auto enum include
B.switch typedef continue
C.signed union scanf
D.if struct type
10.在C语言中,int、char和short三种类型的数据在内存中所占用的字节数( )。
A.由用户自己定义
B.均为2个字节
C.是任意的
D.由所用机器的机器字长决定
11.若已有定义int x;下列说明指针变量p指向x的正确语句是( )
A.int p=&x;
B.int *p=&x;
C.int p=x;
D.int *p=x;
12.下面正确的字符常量是( )
A."c"
B."\\"
C.'W'
D.''(中间没有空格)
13.C语言中规定,if语句的嵌套结构中,else总是与( )配对
A.与最近的if 配套
B.与第一个if 配套
C.按缩进位置相同的if配套
D.与最近的且尚未配对的if 配套
14.main( ) {int n=4; while(n)printf("%d ",--n); } 以上程序的输出结果是( )。
A.2 0
B.3 1
C.3 2 1 0
D.2 1 0
15.#include<stdio.h> main() {union { long a; int b; char c;}m; printf("%d\n",sizeof(m));} 以上程序的运行结果是( )。
A.2
B.4
C.6
D.8
16.printf函数中用到格式符%5s ,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式( )
A.从左起输出该字串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字串,左补空格
D.输出错误信息
17.已知字母A的ASCII码为十进制数65,且定义c2为字符型变量,则执行语句c2='A'+'6'-'3';后,c2中的值为( )
A.D
B.68
C.不确定的值
D.C
18.已知各变量的类型说明如下: 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)
19.已知p,p1为指针变量,a为数组名,i为整型变量,下列赋值语句中不正确的是( )
A.p=&i
B.p=p1
C.p=&a[i]
D.p=10
20.设有说明语句:char w;int x;float y;double z;w*x+z-y值的数据类型为( )。
A.float
B.char
C.int
D.double
21.已有定义 int a=-2;和输出语句:printf("%8lx",a);以下正确的叙述是:
A.整型变量的输出格式符只有%d一种
B.%x 是格式符的一种,它可以适用于任何一种类型的数据
C.%x 是格式符的一种,其变量的值按十六进制输出,但%8lx 是错误的
D.%8lx 不是错误的格式符,其中数字8规定了输出字段的宽度
22.x=-2; y=-1; if(x!=0) if(x>0) y=1; else y=0; 该程序段的输出结果为( )。
A.1
B.0
C.-1
D.不确定
23.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])
24.已知学生记录描述为 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;
25.若执行fopen函数时发生错误,则函数的返回值是( )
A.地址值
B.null
C.1
D.EOF
26.下面不正确的字符串常量是( )。
A.abc'
B."12'12"
C."0 "
D." "
27.若已有定义int x=2; int *p=&x;则*p的值为( )
A.2
B.&x
C.*x
D.&p
28.以下不正确的语句为( )
A.if(x>y);
B.if(x>y){x++;y++;}
C.if(x=y)&&(x!=0)x+=y;
D.if(x!=y) scanf("%d",&x); else scanf("%d",&y);
29.以下符合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
30.若有以下定义语句: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]
31.当不能正确执行文件关闭操作时,fclose函数的返回值是( )。
A.-1
B.EOF
C.TRUE
D.1
32.设以下变量均为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)
33.C语言的函数中,( )。
A.必须有形参
B.形参必须是变量名
C.可以有也可以没有形参
D.数组名不能作形参
34.C语言结构体类型变量在程序执行期间( )。
A.所有成员一直驻留在内存中
B.只有一个成员驻留在内存中
C.部分成员驻留在内存中
D.没有成员驻留在内存中
35.int k=1; while (k<=10); 上述语句执行后,变量k的值是( )。
A.10
B.11
C.9
D.无限循环,值不定
36.fgetc函数的作用是从指定文件读入一个字符,该文件的打开方式必须是( )
A.只写
B.追加
C.读或读写
D.答案B和C都正确
37.下面4个选项中,均是不合法的用户标识符的选项是( )
A.A P_0 do
B.float a0 _A
C.b-a 123 int
D._123 temp INT
38.以下不正确的叙述是( )
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,APH和aph是两个不同的变量
C.若a和b类型相同,在执行了赋值表达式a=b后b中的值将放人a中,而b中的值不变。
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。
39.下列关于数组的特征错误的是( )。
A.先定义后使用
B.可以有多维
C.定义数组长度时可以用常量或变量
D.可以作参数传递
40.设有如下程序 # include<stdio.h> main() { char ch1='A',ch2='a'; printf("%c\n",(ch1,ch2)); } 则下列叙述正确的为( )
A.程序的输出结果为大写字母A
B.程序的输出结果为小写字母a
C.运行时产生错误信息
D.格式说明符的个数少于输出项的个数,编译出错
二、判断题 (共 10 道试题,共 20 分)
41.C语言中的标识符以字母或下划线开头,可跟任何字符。( )
42.字符常数和字符串常数的存储是相同的,都是以字符的ASCII码值进行存放。( )
43.对整型常量可进行自加或自减运算,而对变量或表达式不可以。( )
44.用C语言可直接进行位运算和取地址等运算,因此C语言是一种低级语言。( )
45.按现代风格设计的C程序中,main中对函数声明的信息与定义此函数时第一行的信息完全相同。( )
46.赋值表达式c=b=a=3是错误的。( )
47.在Visual C中,实型数据在内存中占4个字节。( )
48.对C语言中用到的任何一个变量都要规定其类型。( )
49.被main函数调用的函数只能是库函数。( )
50.C语言中的任何类型数据都可进行四则运算。( )
奥鹏,国开,广开,电大在线,各省平台,新疆一体化等平台学习
详情请咨询QQ : 3230981406或微信:aopopenfd777