c语言程序设计复习题.docx
《c语言程序设计复习题.docx》由会员分享,可在线阅读,更多相关《c语言程序设计复习题.docx(49页珍藏版)》请在冰豆网上搜索。
c语言程序设计复习题
第一阶段根底测验
一、单项选择
1、inti,x[3][4];那么不能将x[1][1]的值赋给变量i的语句是______〔分数:
2分〕
A.i=*(*(x+1))
B.i=x[1][1]
C.i=*(*(x+1))
D.i=*(x[1]+1)
标准答案是:
A。
2、当c的值不为0时,在以下选项中可以将c的值赋给变量a、b的是______.〔分数:
2分〕
A.a=c=b;
B.(a=c)&&(b=c);
C.c=b=a;
D.(a=c)||(b=c);
标准答案是:
B。
3、函数的功能是交换变量x和y中的值,且通过正确调用返回交换的结果。
能正确执行此功能的函数是______。
〔分数:
2分〕
A.fund(int*x,int*y){*x=*x+*y;*y=*x-*y;*x=*x-*y;}
B.funb(intx,inty){intt;t=x;x=y;y=t;}
C.funa(int*x,int*y){int*p;*p=x;*x=*y;*y=*p;}
D.func(int*x,int*y){*x=*y;*y=*x;}
标准答案是:
A。
4、假设x=2,y=3那么x||y的结果是______〔分数:
2分〕
A.0
B.3
C.1
D.2
标准答案是:
C。
5、inta[10];那么对a数组元素的正确引用是______〔分数:
2分〕
A.a[10]
B.a[3.5]
C.a[10]
D.a(5)
标准答案是:
C。
二、多项选择
1、假设定义:
inta【2】【3】{0,2,4,6,8,10};以下描绘正确的有______〔分数:
3分〕
A.*〔a+1〕为元素6的地址
B.*〔a【1】+1〕的值为2
C.**〔a+1〕+2的值为8
D.a【0】与a的一样
标准答案是:
ABCD。
2、在缓冲文件系统中用于读写的函数有______〔分数:
3分〕
A.putchar()
B.fread()
C.rewind()
D.purw()
标准答案是:
ABD。
3、指出下面合法的标识符______〔分数:
3分〕
A.3ab
B.ABC
C.a_3
D._stu2
标准答案是:
ABC。
4、指出下面哪些是合法的用户定义的标识符______〔分数:
3分〕
A.P-S
B._908
C.wind
D.xy
标准答案是:
BC。
5、这段程序中的常量有:
#definePI3.14;voidmain(){intsum;sum=10+15;printf("sum=%d\n",sum);printf("resultis25\n");}这段程序中常量有______〔分数:
3分〕
A.10
B.sum
C.15
D.PI
标准答案是:
ACD。
第二阶段根底测验
一、单项选择
1、说明语句int*(*p)();的含义是______〔分数:
2分〕
A.p是一个指向int型数组的指针
B..p是指针变量,它构成了指针数组
C.p是一个指向函数的指针,该函数的返回值是一个整型
D.p是一个指向函数的指针,该函数的返回值是一个指向整型的指针
标准答案是:
D。
2、inta,*p=&a;那么以下函数调用中错误的选项是______〔分数:
2分〕
A.scanf(〞%d〞,&a);
B.scanf(〞%d〞,p);
C.printf(〞%d〞,a);
D.printf(〞%d〞,p);
标准答案是:
D。
3、在C语言中,字符型数据在内存中的存储形式是______〔分数:
2分〕
A.原码
B.补码
C.反码
D.ASCII码
标准答案是:
D。
4、已定义以下函数:
fun(int*p){return*p;}该函数的返回值是______〔分数:
2分〕
A.不确定的值
B.形参p所指存储单元中的值
C.形参p中存放的值
D.形参p的地址值
标准答案是:
D。
5、()charb[5],*p=b;,那么正确的赋值语句是〔分数:
2分〕
A.b=“abcd〞;
B.*b=“abcd〞;
C.p=“abcd〞;
D.*p=“abcd〞;
标准答案是:
C。
二、多项选择
1、假设要把常量327存入变量a中,a可以定义成哪些类型?
______〔分数:
3分〕
A.int
B.char
C.long
D.float
标准答案是:
ACD。
2、下面哪些写法是对的,而且是常量?
______〔分数:
3分〕
A.125
B.-0.456
C.1.25E+20
D.'AB'
标准答案是:
AC。
3、指出下面错误的表达式______〔分数:
3分〕
A.a+b=5
B.56=a11
C.i=i++
标准答案是:
ABD。
4、假设变量f已说明为float类型,i为int类型,那么下面哪些表达式(或语句)可以实现将f中的数值保存小数点后两位,第三位进展四舍五入的运算?
______〔分数:
3分〕
A.f=(f*100+0.5)/100.0
B.i,f=i/100.0;
C.f=(int)(f*100+0.5)/100.0;
D.f=(f/100+0.5)*100.0;
标准答案是:
BC。
5、a为整型变量,那么与表达式a!
=0真假值情况一样的表达式有哪些?
______〔分数:
3分〕
A.a>0||a<0
B.a
C.!
a==0
D.!
a
标准答案是:
ABC。
第三阶段根底测验
一、单项选择
1、()假设有以下定义:
chars[20]="programming",*ps=s;那么不能代表字符g的表达式是〔分数:
2分〕
A.ps+3
B.s[3]
C.ps[3]
D.ps+=3,*ps
标准答案是:
B。
2、()当对两个字符串进展比较时,应该使用的函数是〔分数:
2分〕
A.strcat
B.strcmp
C.strcpy
D.strlen
标准答案是:
B。
3、()strlen11.假设i为整型变量,那么以下循环的次数是for(i=2;i==0;)printf(“%d〞,i--);〔分数:
2分〕
A.无限次
B.0次
C.1次
D.2次
标准答案是:
B。
4、()以下关于数组的描绘正确的选项是〔分数:
2分〕
A.数组大小固定,但是可以有不同类型的数组元素
B.数组大小可变,但是所有数组元素的类型必须一样
C.数组大小固定,所有元素的类型必须一样
D.数组大小可变,可以有不同类型的数组元素
标准答案是:
C。
5、()以下能正确定义数组并正确赋初值的语句是〔分数:
2分〕
A.intN=5,b[N][N];
B.inta[1][2]={{1},{3}};
C.intc[2][]={{1,2},{3,4}};
D.intd[3][2]={{1,2},{34}};
标准答案是:
D。
二、多项选择
1、程序的构造可分为哪几类______〔分数:
3分〕
A.顺序构造
B.循环构造
C.程序构造
D.选择构造
标准答案是:
ABD。
2、a为整型变量,那么与表达式a!
=0真假值情况一样的表达式有哪些?
______〔分数:
3分〕
A.a>0||a<0
B.a
C.!
a==0
D.!
a
标准答案是:
ABC。
3、a为整型变量,那么与表达式a!
=0真假值情况一样的表达式有哪些?
______〔分数:
3分〕
A.a
B.!
a==0
C.!
a
D.a>0||a<0
标准答案是:
ABD。
4、指出下面错误的表达式______〔分数:
3分〕
A.a=5,b=6,c=7
B.i=i++
C.5.6+6.2%3.1
D.56=a11
标准答案是:
BD。
5、下面哪些写法是对的,而且是常量?
______〔分数:
3分〕
A.125
B.2.5E+21
C.AB'
D.\n\\\'\123
标准答案是:
BD。
第四阶段根底测验
一、单项选择
1、()选择正确的输入语句()。
:
(其中:
charstring[20];)使得string的内容为"Iamstudent".〔分数:
2分〕
A.scanf("%s",string);
B.scanf("%c",&string);
C.scanf("%s",&string);
D.gets(string);
标准答案是:
D。
2、()对以下说明语句inta[10]={6,7,8,9,10};的正确理解是〔分数:
2分〕
A.将5个初值依次赋给a[6]至a[10]
B.将5个初值依次赋给a[0]至a[4]
C.因为数组长度与初值的个数不一样,所以此语句不正确
D.将5个初值依次赋给a[1]至a[5]
标准答案是:
B。
3、()以下标识符中可以作为用户函数名的是〔分数:
2分〕
A.struct
B.int
C.union
D.go_to
标准答案是:
D。
4、源程序要正确地运行,必需要有什么函数?
______〔分数:
2分〕
A.printf函数
B.自定义的函数
C.main
D.不需要函数
标准答案是:
C。
5、C语言程序由什么组成?
______〔分数:
2分〕
A.子程序
B.主程序和子程序
C.函数
D.过程
标准答案是:
C。
二、多项选择
1、下面哪些是合法的用户定义的标识符______〔分数:
3分〕
A._908
B.*par
C.sheep!
D.wind
标准答案是:
AD。
2、下面合法的标识符______〔分数:
3分〕
A.ABC
B.a_3
C.
D._stu2
标准答案是:
ABD。
3、C语言的主要特点有哪些?
______〔分数:
3分〕
A.简洁、紧凑,使用方便、灵敏,易于学习和应用。
B.C语言是面向构造化程序设计的语言。
C.C语言允许直接对位、字节和地址进展操作。
D.数据类型丰富。
标准答案是:
ABCD。
4、已定义c为字符型变量,那么以下语句中错误的选项是______〔分数:
3分〕
A.c='97'
B.:
c="97"
C.c=97;
D.c="a"
标准答案是:
ABD。
5、以下选项中是C语言合法标志符的有______〔分数:
3分〕
A.good_morning
B.main
C.
D.8abc
标准答案是:
AB。
第五阶段根底测验
一、单项选择
1、一个C程序的执行是从______〔分数:
2分〕
A.本程序的main函数开始,到main函数完毕
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数完毕
C.本程序的main函数开始,到本程序文件的最后一个函数完毕
D.本程序文件的第一个函数开始,到本程序main函数完毕
标准答案是:
A。
2、以下表达正确的选项是______〔分数:
2分〕
A.在C程序中,main函数必须位于程序的最前面
B.C程序的每行中只能写一条语句
C.C语言本身没有输入输出语句
D.在对一个C程序进展编译的过程中,可发现注释中的拼写错误
标准答案是:
C。
3、以下表达不正确的选项是。
______〔分数:
2分〕
A.一个C源程序可由一个或多个函数组成
B.一个C源程序必须包含一个main函数
C.C程序的根本组成单位是函数
D.在C程序中,注释说明只能位于一条语句的后面
标准答案是:
D。
4、语言规定:
在一个源程序中,main函数的位置______〔分数:
2分〕
A.必须在最开始
B.必须在系统调用的库函数的后面
C.可以任意
D.必须在最后
标准答案是:
C。
5、一个C语言程序是由______〔分数:
2分〕
A.一个主程序和假设干子程序组成
B.函数组成
C.假设干过程组成
D.假设干子程序组成
标准答案是:
B。
二、多项选择
1、指出下面合法的标识符:
______〔分数:
3分〕
A.3ab
B.ABC
C.a_3
D._stu2
标准答案是:
BCD。
2、指出下面哪些是关键字:
______〔分数:
3分〕
A.char
B.abc
C.printf
D.float
标准答案是:
AD。
3、指出下面哪些是合法的用户定义的标识符?
______〔分数:
3分〕
A.P-S
B.put11
C.printf
D.Int
标准答案是:
BD。
4、C语言的根本类型哪些:
______〔分数:
3分〕
A.整型
B.枚举型
C.数组型
D.指针型
标准答案是:
AB。
5、这段程序中的常量有:
(#definePI3.14;voidmain(){intsum;sum=10+15;printf("sum=%d\n",sum);printf("resultis25\n");}这段程序中常量有______〔分数:
3分〕
A.10
B.15
C.25
D.PI
标准答案是:
ABD。
第六阶段根底测验
一、单项选择
1、75的十六进制写法为___,八进制写法为______〔分数:
2分〕
A.0x4b0113
B.0165117
C.610x3d
D.0x4b61
标准答案是:
A。
2、0x75的八进制写法为___,十进制写法为___。
〔分数:
2分〕
A.0165117
B.0x4b0113
C.610x3d
D.0x4b61
标准答案是:
A。
3、075的十进制写法为___,十六进制写法为___。
〔分数:
2分〕
A.0x4b0113
B.0165117
C.610x3d
D.0x4b61
标准答案是:
C。
4、下面哪个表达式的值为4______〔分数:
2分〕
A.(float)11/3
B.2021/11/3星期四上午12:
00:
00
D.(int)(
标准答案是:
D。
5、整型变量a=6,b=7,c=1,那么下面表达式的值为多少?
a+3______〔分数:
2分〕
A.9
B.2
C.1
D.65
标准答案是:
A。
二、多项选择
1、C语言中整形常量按进制划分,有以下几种:
______〔分数:
3分〕
A.十六进制常量
B.十进制常量
C.八进制常量
D.二进制常量
标准答案是:
ABC。
2、假设要把常量327存入变量a中,a可以定义成哪些类型?
______〔分数:
3分〕
A.int
B.char
C.float
D.long
标准答案是:
ACD。
3、下面哪些写法是对的,而且是常量?
______〔分数:
3分〕
A.125
B.-0.456
C.56
标准答案是:
AB。
4、指出下面错误的表达式:
______〔分数:
3分〕
A.56=a11
B.a+b=5
C.i=i++
标准答案是:
ABD。
5、假设变量f已说明为float类型,i为int类型,那么下面哪些表达式(或语句)可以实现将f中的数值保存小数点后两位,第三位进展四舍五入的运算?
______〔分数:
3分〕
A.f=(f*100+0.5)/100.0
B.i=f*100+0.5,f=i/100.0
C.f=(int)(f*100+0.5)/100.0
D.f=(f/100+0.5)*100.0;
标准答案是:
BC。
第七阶段根底测验
一、单项选择
1、在C语言中,要求运算数必须是整型的运算符是_____〔分数:
2分〕
A./
B.++
C.!
=
D.%
标准答案是:
D。
2、假设有定义:
inta=7;floatx=2.5,y=4.7;那么表达式x+a%3*(int)(x+y)%2/4的值是______〔分数:
2分〕
A.2.500OO
B.2.7500OO
C.2.3600OO
标准答案是:
B。
3、设变量a是整型,f是实型,i是双精度型,那么表达式10+'a'+i*f值的数据类型为______〔分数:
2分〕
A.int
B.float
C.double
D.不确定
标准答案是:
C。
4、在C语言中,char型数据在内存中的存储形式是:
______〔分数:
2分〕
A.补码
B.反码
C.原码
D.ASCII码
标准答案是:
D。
5、假设有以下说明语句:
chars='\\\092';那么下面哪一项为哪一项正确的______〔分数:
2分〕
A.使s的值包含2个字符
B.说明语句不合法
C.使s的值包含6个字符
D.使s的值包含4个字符
标准答案是:
B。
二、多项选择
1、下面哪些是非法的C语言转义字符?
_______〔分数:
2分〕
A.'\t'
B.'\08'
C.'\0xaf'
D.'\\'
标准答案是:
BC。
2、请从下面的选项中选出正确的C语言的转义字符______〔分数:
2分〕
A.'\''
B.'\t'
C.'\n'
D.'\xaa'
标准答案是:
ABCD。
3、以下符合C语言语法的赋值表达式是______〔分数:
2分〕
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
标准答案是:
BC。
4、sizeof(float)是______〔分数:
2分〕
A.一个双精度型表达式
B.一个整型表达式
C.一种函数调用
D.一个不合法的表达式
标准答案是:
AB。
5、C程序的构造可分为哪几类?
______〔分数:
2分〕
A.顺序构造
B.循环构造
C.程序构造
D.选择构造
标准答案是:
AB。
第八阶段根底测验
一、单项选择
1、putchar函数可以向终端输出一个:
______〔分数:
2分〕
A.整型变量表达式值
B.字符串
C.实型变量值
D.字符或字符型变
标准答案是:
D。
2、printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
假设字符串长度大于5,那么输出按方式______〔分数:
2分〕
A.从左起输出该字串,右补空格
B.按原字符长从左向右全部输出
C.右对齐输出该字串,左补空格
D.输出错误信息
标准答案是:
B。
3、staticinta[2][3]={2,4,6,8,10,12};正确表示数组元素地址的是______〔分数:
2分〕
A.*(a[1]+2)
B.a[1]+3
C.*(a+1)
D.a[0][0]
标准答案是:
C。
4、函数调用strcat(strcpy(str1,str2),str3)的功能是______〔分数:
2分〕
A.将串str1复制到串str2中,然后再连接到str3之后
B.将串str2复制到串str1中,然后再将串str3连接到串str1之后
C.将串str2复制到串str1中,再将串str1连接到str3之后
D.将串str1连接到串str2之后,再复制到str3之中
标准答案是:
B。
5、inta[10];那么对a数组元素的正确引用是______〔分数:
2分〕
A.a[10]
B.a[3.5]
C.a(5)
D.a[10]
标准答案是:
D。
二、多项选择
1、假设a,b,c,d都是int型变量且初值为0,以下选项中正确的赋值语句是______〔分数:
3分〕
A.a=b=c=d=100
B.d++;
C.c+b;
D.d=(c=22)-(b++)
标准答案是:
ABD。
2、以下描绘正确的选项是______〔分数:
3分〕
A.使用while和do-while循环时,循环变量初始话的操作应在循环体语句之前完成
B.while循环是先判断表达式,后执行循环语句
C.do-while和for循环均是先执行循环语句,后判断表达式
D.for,while和do-while循环中的循环体均可以由空语句构成
标准答案是:
ABD。
3、以下4个选项中,可以看作是一条语句的有______〔分数:
3分〕
A.{;}
B.a=0,b=0,c=0;
C.if(a>0)
D.if(b==0)m=1;n=2;
标准答案是:
ABC。
4、以下表达正确的选项是______〔分数:
3分〕
A.C语言严格区分大小写英文字母
B.C语言用";"作为语句分隔符
C.C程序书写格式自由,一行内可以写几个语句,一个语句也可以写在几行上
D.可以使用/*…*/对C程序中的任何局部作注释
标准答案是:
ABCD。
5、以下对逻辑运算符两侧的运算对象的数据类型描绘不正确的选项是______〔分数:
3分〕
A.只能是0或1
B.只能是0或非0正数
C.可以是整型或字符型数据
D.可以是任何类型的数据
标准答案是:
ABD。
九阶段根底测验
一、单项选择
1、在C语言的if语句中,用作判断的表达式为______〔分数:
2分〕
A.关系表达式
B.逻辑表达式
C.算术表达式
D.任意表达式
标准答案是:
D。
2、假设希望当A的值为奇数时,表达式的值为"真",A的值为偶数表达式的值为"假"。
那么以下不能满足要求的表达式是______〔分数:
2分〕
A.A%2==1
B.!
(A%2==0)
C.!
(A%2)
D.A%2
标准答案是:
C。
3、chars[20]=〞programming〞,*ps=s;那么不能引用字母o的表达式是______〔分数:
2分〕
A.ps+2
B.s[2]
C.ps[2]
D.ps+=2,*ps
标准答案是:
A。
4、charb[5],*p=b;那么正确的赋值语句是。
______〔分数:
2分〕
A.b=〞abcd〞
B.*b=〞abcd