(完整word版)C语言程序设计题库及答案,推荐文档
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第1次客观题作业
一、单选题(共30题,每题3分)
1 .下面表示正确的是__A___。
A.C语言中的逗号是一种运算符
B.在C语言中,一行只能有一个语句
C.C中的变量不区分大小写
D.c中的关键字可以做为变量名
2 .字符型常量在内存中存放的是__A____代码值。
A.ASCII B.二进制
C.十进制D.八进制
3 .以下不正确的C语言标识符是(C )。
A.AB1 B._ab3 C.4ab D.a2_b
4 .以下运算符中优先级最低的运算符是_D____。
A.&& B.& C.|| D.=
5 .在C语言中,要求运算数必须是整型的运算符是___A___。
A.% B./ C.< D.!
6 . C语言程序的基本单位是__C_____。
A.程序行B.语句C.函数D.字符
7 .将高级语言编写的程序翻译成目标程序的是___B____程序。
A.解释程序B.编译程序C.汇编程序D.源程序8 .以下选项中,与k=n++完全等价的表达式是__A___。
A.k=n,n=n+1 B.n=n+1,k=n C.k=++n D.k+=n+1
9 .下列(A )不属于结构化程序设计的循环结构。
A.For B.While C.if-else D.do-while
10 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字
B.用户所定义的标识符应尽量做到“见名知意
C.用户所定义的标识符必须以字母或下划线开头
D.用户定义的标识符中,大、小写字母代表不同标识
11 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z值为7的输入是__A____。
A.5,6 ,7 B.5回车换行 6 7 C.5 6 7 D.5,6,7
12 .若i,j已定义为int类型,则下程序段中内循环体的总的执行次数是( B )。
for (i=3;i>0;i--) for (j=0;j<=4;j++){...}
A.12 B.15 C.16 D.20
13 .下列选项中,合法的C语言关键字是_D___。
A.VAR B.Cher C.Integer D.default
14 .C语言中___A____。
A.能使用do-while语句构成的循环
B.do-while语句构成的循环必须用break语句才能退出
C.do-while语句构成的循环,当while语句中的表达式为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值小于零时结束循环15 .以下__D_____不是高级语言。
A.Basic语言
B.C语言
C.JAVA语言
D.汇编语言
16 .已知int x=2,y=3;则计算表达式y+=x-=x*=y后,x和y分别为(B )。
A.6,5 B.0,3 C.0,5 D.-4,2
•
17 .在C语言中,函数的数据类型是指__A_____。
A.函数返回值的数据类型
B.函数形参的数据类型
C.调用该函数时的实参的数据类型
D.任意指定的数据类型
18 .若已定义x和y为double类型,则表达式:x=1,y=x+3/2的值是_C___。
A.1 B.3 C.2.0 D.2.5
19 . func(exp1,(exp2,exp3),(exp4,exp5,exp6));含有(C )个实参。
A.1
B.2
C.3
D.6
20 .有int x=3,y=4,z=5;则下面表达式中值为 0 的是__B____。
A.x&&y
B.! (x<y&&!z||1)
C.x||y+z&&y-z
D.x<=y
21 .已定义c为字符型变量,则下列语句中正确的是____C__。
A.c=''97'';
B.c='97';
C.c=97;
D.c="a";
22 .一个字长的二进制位数是_D__。
A.8 B.16 C.32 D.随机计算机系统而不同的
23 . C语言中规定函数的返回值的类型是由( D)。
A.return语句中的表达式类型所决定
B.调用该函数时系统临时决定
C.调用该函数时的主调用函数类型所决定
D.在定义该函数时所指定的函数类型所决定
24 . C语言程序中,下列( C)组标识符是合法。
A.abc、2id、while
B.4d、DO、oodb
C.str_1、print、aBc
D.WORD、oodb、I\amm
25 .下面正确的函数定义形式是__C____。
A.double fun(int x,int y)
B.double fun(int x;int y)
C.double fun(int x,int y);
D.double fun(int x,y);
26 .下列______A______数据类型属于构造类型。
A.数组类型
B.指针类型
C.整型
D.字符型
27 . C语言对嵌套if语句的规定是:else总是和__D___配对。
A.其之前最近的if B.第一个if
C.缩进位置相同的if D.其前面最近且尚未配对的if
•
28 .二进制语言是属于面向___A__的语言。
A.机器B.过程C.问题D.对象
29 .设 int a=12,则执行完语句 a+=a-=a*a后,a的值是_D___。
A.552 B.264 C.144 D.-264
30 .int a=3,b=2;printf(“%d,%d\n”,--a,b++);输出结果是(A )。
A.2,2 B.2,3 C.3,2 D.3,3
判断题(共5题,每题 2分)
1 .只能在循环体内和switch语句体内使用break语句。
(对)
2 .一个算法应该具备有穷性、确定性、输入、输出和有效性。
(对)
3 . C语言中,每个程序都必须要有一个且只有一个main函数。
(对)
4 .调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。
(对)
5 .表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。
(对)
第二套试题
单选题(共20题,每题4分)
1 .若有输入语句scanf( %d%d%d,&x,&y,&z);则不能使x值为5,y值为6,z 值为7的输入是___A___。
A.5,6 ,7 B.5回车换行 6 7
C.5 6 7 D.5,6,7
2 .设 int a=12,则执行完语句 a+=a-=a*a后,a的值是__D__。
A.552 B.264 C.144 D.-264
3 .若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值___D____。
A.3 B.-3 C.-6 D.-12
4 .一个字长的二进制位数是_D__。
A.8 B.16 C.32 D.随机计算机系统而不同的
5 .以下叙述中错误的是__D____。
A.C程序中的 #include和 #define行均不是C语句
B.除逗号运算符外,赋值运算符的优先级最低
C.C程序中,j++;是赋值语句
D.C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算
6 .与十进制数87相等的十六进制数是(C )。
A.3F
B.214
C.57
D.127
7 .下面说法错误的是__B____。
A.整型变量可以存放字符型数据
B.字符型变量可以存放任意整型常量的值
C.变量必须限定以后使用
D.字符串的长度不等于它占的字节数
8 .设x和y均为int 型变量,则以下语句:x+=y;y=x-y;x-=y;的功能是_D___。
A.把x和y按从大到小排列
B.把x和y按从小到大排列
C.无确定结果
D.交换x和y中的值
9 .已定义c为字符型变量,则下列语句中正确的是___C___。
A.c=''97'';
B.c='97';
C.c=97;
D.c="a";
10 .以下选项中属于C语言的数据类型的__C___。
A.复数型
B.逻辑型
C.双精度型
D.集合型
11 .设有语句char a=’\72’;则变量a_A___。
A.包含1个字符
B.包含2个字符
C.包含3个字符
D.说明不合法
12 .以下说法不正确的是__D___。
A.在C程序中,逗号运算符的优先级最低
B.在C程序中,aph和aPh是两个不同的变量
C.若a和b类型相同,在计算了赋值表达式a=b后b中的值将放入a中,而b 中的值不变
D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数
13 . C语言程序的基本单位是_C______。
A.程序行
B.语句
C.函数
D.字符
14 . C语言程序中,下列(C )组符合变量命名规则。
A.for、-sub、xy
•
B.4x、float、size
C.stu_2、if3、s
D.stu-2、int、d
15 .下列__C____属于C语言中字符常量。
A.abc'
B.”\n”
C.'a'
D.'a\0'
16 .不属于低级语言的是__D_____。
A.符号语言
B.二进制语言
C.汇编语言
D.C语言
17 . C语言程序中,下列__C____组用户标识符是合法。
A.For、-sub、Case
B.4d、DO、Size
C.f2_G3、IF、abc
D.WORD、void、define
18 .以下不正确的C语言标识符是( C)。
A.AB1
B._ab3
C.4ab
•
D.a2_b
19 .以下叙述中错误的是__A___。
A.用户所定义的标识符允许使用关键字
B.用户所定义的标识符应尽量做到“见名知意
C.用户所定义的标识符必须以字母或下划线开头
D.用户定义的标识符中,大、小写字母代表不同标识
20 . C语言程序中,下列( C)组标识符是合法。
A.abc、2id、while
B.4d、DO、oodb
C.str_1、print、aBc
D.WORD、oodb、I\amm
判断题(共10题,每题 2分)
1 .在if-else语句中,配对规则是else总是与最近的未配对的if配对。
参考答案:对
2 .表达式16/8*sqrt(4.0)/2值的数据类型为double双精度实型。
参考答案:对
答案解析:暂无
3 . C语言中,每个程序都必须要有一个且只有一个main函数。
参考答案:对
4 . c语言中,每个函数都必须要有一个且只有一个main函数。
参考答案:错
答案解析:暂无
5 .假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是8。
参考答案:对
答案解析:暂无
6 .表达式a=a+b可以写成a+=b。
参考答案:对
答案解析:暂无
7 .在C语言中,变量不区分大小写。
参考答案:错
8 . C程序一般由一个或者多个函数组成,它们可以集中放在一个文件中,也
可分散放在几个文件中。
参考答案:对
答案解析:暂无
9 . x的绝对值大于5的条件表达式是x-5。
参考答案:错
答案解析:暂无
10 .假定x和y为double型,则表达式x=2,y=x+3/2的值是3。
参考答案:错
答案解析:因为x和y是double型,x被赋值2时应该是2.0,3/2两个整数相除结果仍为整数1,然后运算x+3/2=2.0+1两个数据类型不一致,进行类型转换都转为double型,运算结果为3.0,所以判断此句为错
第二次作业
单选题(共20题,每题4分)
1 .有以下程序段执行后,b的值是_____。
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3],b;b=p[4];
A.5
B.6
C.8
D.9
•
•
•
•B.
a[a[2]+1]
•
•C.
a[a[2]]
•
a[3]+1
•
•
•
•C.str1=str2;
•
•D.strcpy(str2,str1);•
A.a[2] B.a[a[2]+1] C.a[a[2]] D.a[2]+1
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•
•D.有语法错误
•
•
•
•
•
•
•
•
•B.函数形参的数据类型
•
•C.调用该函数时的实参的数据类型
•D.任意指定的数据类型
•
•
•
•B.k=fun(10,12.5);
•C.fun(x,n)
•
•D.void fun(n,x);
•
•
•
•B.说明函数时必须明确其参数类型和返回类型
•
•C.函数可以返回一个值,也可以什么值也不返回
•
•D.空函数不完成任何操作,所以在程序设计中没有用处•
•
•
•B.15
•C.16
•
•D.20
•
•
•
•B.10,2
•
•C.9,1
•
•D.10,1
•
•
•B.可以对字符型数组进行整体输入、输出
•
•C.可以对整型数组进行整体输入、输出
•
•D.不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值•
二、判断题(共10题,每题2分)
1 .调用函数时,实参是一个数组名,则向函数传递的是数组的首地址。
第三阶段作业--客观题
单选题(共20题,每题4分)
1 .下列叙述中错误的是______。
•A.主函数中定义的变量在整个程序中都是有效的•B.在其它函数中定义的变量在主函数中也不能使用•C.形式参数也是局部变量
•D.复合语句中定义的变量只在该复合语句中有效•
2 .下列关于#include命令的叙述中,错误的是()。
•A.一个#include命令中只能指定一个被包含文件
•B.一个#include命令中可以指定多个被包含文件
•C.一个被包含文件中又可以包含另一个被包含文件
•D.#include命令中,文件名可以用双引号或尖括号括起来
•
3 .要打开一个已存在的非空文件"file"用于修改,选择正确的语句____。
•A.fp=fopen("file", "r");
•B.fp=fopen("file", "a+");
•C.fp=fopen("file", "w");
•D.fp=fopen("file", "r+");
4 .若有以下定义和语句:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是____。
•A.*p
•B.a[10]
•C.*a
•D.a[p-a]
5 .已知:int **p;,则变量p是( )。
•A.指向int的指针
•B.指向指针的指针
•C.int型变量
•D.以上三种说法均是错误的
6 .设fp为指向某二进制文件的指针,且已读到此文件末尾,则函数feof(fp)的返回值为_____。
•A.EOF
•B.非0值
•C.0
•D.1
7 .已知:int a[]={1,2,3,4,5,6,7,8,9,10,11,12},*p=a+2 ;则值为3 的表达式是______。
•A.*(p++)
•B.*p++
•C.*++p
•D.++*p
8 .若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此要求的函数调用
是_____。
•A.fopen("A:\user\abc.txt","r")
•B.fopen("A:\\user\\abc.txt","r+")
•C.fopen("A:\user\abc.txt","rb")
•D.fopen("A:\\user\\abc.txt","w")
9 .有如下说明int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是_____。
•A.*p+9
•B.*(p+8)
•C.*P+=9
•D.P+8
10 .在一个C源程序文件中,•若要定义一个只允许在该源文件中所有函数使用的变量,则该变量需要使
用的存储类别是______。
•A.extern
•B.register
•C.auto
•D.static
11 .当调用函数时,实参是一个数组名,则向函数传递的是_____。
•A.数组的长度
•B.数组的首地址
•C.数组每一个元素的地址
•D.数组每个元素中的值
12 .在C语言中,形参的缺省存储类型是______。
•A.auto
•B.register
•C.static
•D.extern
13 .在c语言中,函数中定义的参数的隐含存储类别是____。
•A.auto
•B.static
•C.extern
•D.无存储类别
14 .要为读/写操作打开一个字符文件,其正确的打开方式为____。
•A.wr
•B.r+
•C.rb+
•D.rw
15 .若有定义:#define f(x) (x*x),则执行int y; y=f(4)/f(2+2);后y=_____。
•A.2
•B.4
•C.8
•D.16
16 .以下叙述中正确的是_____。
•A.全局变量的作用域一定比局部变量的作用域范围大
•B.静态(static)类别变量的生存期贯穿于整个程序的运行期间•C.函数的形参都属于全局变量
•D.未在定义语句中赋初值的auto变量和static变量的初值都是随机值
17 .fwirte函数的一般调用形式是_____。
•A.fwrite(buffer,count,size,fp);
•B.fwrite(fp,size,count,buffer);
•C.fwrite(fp,count,size,buffer);
•D.fwrite(buffer,size,count,fp);
18 .如果一个变量在整个程序运行期间都存在,但是仅在说明它的函数内是可见的,这个变量的存储类
型应该被说明为_______。
•A.静态变量
•B.动态变量
•C.外部变量
•D.内部变量
19 .有以下程序,执行后输出得结果是_____。
mian( ){ char *p[10]={“abc”, “aabdfg”, “dcdbe”, “abbd”,
“cd” }; printf(“%d\n”,strlen(p[3]));}
•A.2
•B.3
•C.4
•D.5
20 .有以下语句,下面描述中正确的是_____。
typedef struct S { int g; char h;} T;
•A.可用S定义结构体变量
•B.可用T定义结构体变量
•C.S是struct类型的变量
•D.T是struct S类型的变量
判断题(共5题,每题4分)
1 .在定义结构体变量时可以嵌套定义的。
2 .free函数只能释放malloc()函数分配的存储空间。
3 .已知:int **p;,则变量p是指向指针的指针。
4 .已知char ch[]=“good!!!”;则字符数组ch的长度是7。
5 .变量的指针就是指向该变量指针变量的值。