语言程序设计题库文档格式.docx
- 文档编号:21419354
- 上传时间:2023-01-30
- 格式:DOCX
- 页数:13
- 大小:22.66KB
语言程序设计题库文档格式.docx
《语言程序设计题库文档格式.docx》由会员分享,可在线阅读,更多相关《语言程序设计题库文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
c<
d>
0”的值是(A)。
A.1 C.-1D.出错
12.字符串“ABCD”在内存占用的字节数是(D)。
A.4 B.6 C.1 D.5
13.若有“inta=1,x=1;
”,则循环语句“while(a<
10)x++;
a++;
”的循环执行(A)。
A.无限次 B.不确定次 C.10次 D.9次
14.有以下程序段
intk=0
while(k)k++;
则while循环体执行的次数是(C)。
A.无限次B.有语法错,不能执行
C.一次也不执行D.执行1次
15.已知:
inta[10];
则对a数组元素的正确引用是(D)。
A.a[10]B.a[]C.a(5)D.a[0]
16.变量的指针,其含义是指该变量的(B)。
A.值B.地址C.名D.一个标志
17.下列说法中错误的是(C)。
A.构成数组的所有元素的数据类型必须是相同的
B.用指针法引用数组元素允许数组元素的下标越界
C.一维数组元素的下标依次是1、2、3……
D.定义数组时的长度可以是整型常量表达式
语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为(B)。
A.由系统选择B.单向值传递C.由用户指定传递方式D.地址传递
19.在C语言程序中,有关函数的定义正确的是(B)。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的均可以嵌套
20.若有以下说明语句:
structdate
{intyear;
intmonth;
intday;
}birthday;
则下面的叙述不正确的是(C)。
A.struct是声明结构体类型时用的关键字
B.structdate是用户定义的结构体类型名
C.birthday是用户定义的结构体类型名
D.year,day都是结构体成员名
一、单项选择题(每题1分,共20分)
1.下列说法错误的是(B)。
A.C程序运行步骤是编辑、编译、连接、执行。
B.C语言的变量名必须用小写,常量用大写。
C.C语言的三种基本结构是顺序、选择、循环。
D.C程序一定由函数构成的。
2.下列C语言用户标识符中合法的是(B)。
A.3axB.xC.caseD.-e2
3.在下列表达式中,属于字符型常量的是(B)。
A.AB.'
a'
C."
A"
D.b
4.若有以下类型说明语句:
charw;
intx;
floaty;
doublez;
则表达式(int)(x+y-z*w)的结果为(C)类型。
A.floatB.charC.intD.double
5.在C语言程序中,表达式8/5的结果是(B)。
A.B.1C.3D.0
6.设a为整型变量,则不能正确表达数学关系10<a<15的C语言表达式是(A)。
A.10<
a<
15B)a==11||a==12||a==13||a==14
C.a>
10&
15D)!
(a<
=10)&
!
(a>
=15)
7.若inti=10;
执行下列程序后,变量i的正确结果是(A)。
switch(i)
{case9:
i+=1;
case10:
case11:
default:
}
A.13B.12C.11D.10
8.下列循环语句中有语法错误的是(D)。
A.while(x=y)5;
B.while(0);
C.for(i=0;
i<
3;
);
D.for(;
3);
9.若有以下数组说明,则数值最大的和最小的元素下标分别是(B)。
inta[12]={1,2,3,4,5,6,7,8,9,10,11,12};
A.1,12B.0,11C.1,11D.0,12
10.假定int类型变量占用两个字节,其有定义:
intx[10]={0,2,4};
,则数组x在内存中所占字节数是(D)。
A.3B.6C.10D.20
11.以下对C语言函数的有关描述中,正确的是(A)。
A.在C语言程序中,调用函数时,如函数参数是简单变量,则只能把实参的值传递给形参,形参的值不能传送给实参
语言函数既可以嵌套定义又可递归调用
语言函数必须有返回值,否则不能使用函数
D.在C语言程序中有调用关系的所有函数必须放在同一个源程序文件中
12.以下叙述中正确的是(A)。
A.构成C程序的基本单位是函数
B.可以在一个函数中定义另一个函数
C.main()函数必须放在其它函数之前
D.所有被调用的函数一定要在调用之前进行定义
13.已知:
(设整型2字节,字符型1字节,浮点型4字节)
struct
{inti;
charc;
floata;
}test;
则sizeof(test)的值是(D)。
14.若x是整型变量,pb是基类型为整型的指针变量,则正确的赋值表达式是(A)。
=&
x=xC.*pb=&
xD.*pb=*x
15.设有数组定义:
chararray[]="
abcd"
;
则数组array所占的空间为(B)。
个字节个字节个字节个字节
16.下述对C语言中字符数组的描述错误的是(C)。
A.字符数组可以存放字符串
B.字符数组中的字符串可以整体输入和输出
C.可在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D.可在对字符数组定义时通过赋值运算符“=”对字符数组整体初始化
17.下列命令或语句中,错误的是(C)。
A.#definePIB.#include<
>
C.#definePI;
(;
)if
(1)break;
18.给出以下定义:
charx[]="
abcdefg"
chary[]={'
'
b'
c'
d'
e'
f'
g'
};
则正确的叙述为(C)。
A.数组x和数组y等价B.数组x和数组y的长度相同
C.数组x的长度大于数组y的长度D.数组x的长度小于数组y的长度
19.判断两字符串s1,s2是否相等,应使用(D)。
(s1==s2)(s1=s2)
(strcpy(s1,s2))(strcmp(s1,s2)==0)
20.以下printf语句的输出结果为(B)。
printf(“%d\n”,strlen(“school”));
C.存在语法错误D.不定值
语言程序是由(C)构成的。
A)一些可执行语言B)main函数C)函数D)包含文件中的第一个函数
语言程序从(C)开始执行。
A)程序中第一条可执行语句
B)程序中第一个函数
C)程序中的main函数
D)包含文件中的第一个函数
3.不是C语言提供的合法关键字是(B)。
A)switch B)cher C)case D)default
4.请选出可用作C语言用户标识符的一组标识符(B)。
A)voidB)a3_b3C)ForD)2a
define_123-abcDO
WORDsumCasesizeof
5.下列四组字符串中都可以用作C语言程序中的标识符的是(A)。
A)print_3ddb8aBcB)I\amone_halfstart$it3pai
C)str_1CpppowwhileD)PxqMy->
bookline#
6.已定义c为字符型变量,则下列语句中正确的是(C)。
A)c='
97'
B)c="
97"
C)c=‘a’D)c="
a"
7.已知ch是字符型变量,不正确的赋值语句是(A)。
A)ch='
a+b'
;
B)ch='
\0'
C)ch='
7'
D)ch=’;
’;
8.在C语言中,认为(D)为逻辑"
真"
。
A)trueB)大于0的数C)非0整数D)非0的数
9.表示关系x<
=y<
=z的c语言表达式为(A)。
A)(x<
=y)&
(y<
=z)B)(x<
=y)AND(y<
=z)
C)(x<
=z)D)(x<
10.能正确表示逻辑关系:
“a≥=10或a≤0”的C语言表达式是(D)。
A)a>
=10ora<
=0B)a>
=0|a<
=10
C)a>
=10&
=0D)a>
=10‖a<
=0
11.在C语言中,下列说法中正确的是(D)。
A)do-while语句构成的循环不能用其它语句构成的循环来代替。
B)do-while语句构成的循环只能用break语句退出。
C)do-while语句构成的循环在while后的表达式非零时结束循环。
D)do-while语句构成的循环,在while后的表达式为零时结束循环。
语句不能出现在(D)语句中。
A)switchB)forC)whileD)if…else
13.对于break语句和continue语句的说法错误的是(B)。
A)break语句不能用于循环语句和switch语句之外的任何其他语句中。
B)break和continue也可以用于if语句中
C)continue语句只结束本次循环,而不是终止整个循环的执行。
D)break语句是结束整个循环过程,不再判断执行循环的条件是否成立。
14.以下能对一维数组a进行初始化的语句是(C)。
A)inta[5]=(0,1,2,3,4,)B)inta(5)={}
C)inta[3]={0,1,2}D)inta{5}={10*1}
15.在C语言中,函数的数据类型是指(A)。
A)函数返回值的数据类型B)函数形参的数据类型
C)调用该函数时的实参的数据类型D)任意指定的数据类型
16.若有以下说明语句:
structstudent
{intnum;
charname[];
floatscore;
}stu;
则下面的叙述不正确的是(D)。
A)struct是结构体类型的关键字
B)structstudent是用户定义的结构体类型
C)num,score都是结构体成员名
D)stu是用户定义的结构体类型名
17.语句int*p;
说明了(C)。
A)p是指向一维数组的指针
B)p是指向函数的指针,该函数返回一int型数据
C)p是指向int型数据的指针
D)p是函数名,该函数返回一指向int型数据的指针
18.在C语言中,以(D)作为字符串结束标志。
A)’\n’B)’’C)’0’D)’\0’
19.下列数据中属于“字符串常量”的是(A)。
A)“a”B){ABC}C)‘abc\0’D)‘a’
20.在C语言程序中,以#号带头的行是预编译处理(A)。
A)命令B)语句C)函数D)字符串
二、判断题(每题1分,共10分)
1、【√】C语言具有简洁明了的特点。
2、【√】预处理命令的前面必须加一个“#”号。
3、【√】标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。
4、【√】在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。
5、【×
】continue不是结束本次循环,而是终止整个循环的执行。
6、【×
】在对二维数组全部元素赋初值时,不可以省略行数,但能省略列数。
7、【√】函数的实参传递到形参有两种方式值传递和地址传递。
8、【√】直接访问就是直接利用变量的地址进行存取直接访问。
9、【√】共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。
10、【×
】文件指针和位置指针都是随着文件的读写操作在不断改变。
1、【√】case语句后如没有break,顺序向下执行。
2、【√】do-while循环至少要执行一次循环语句。
3、【√】定义时,数组名后是用方括号括起来的常量表达式,不能用圆括号。
4、【√】函数形参的存储单元是动态分配的。
】int(*p)[4]它表示p是一个指针数组,它包含4个指针变量元素。
6、【√】结构体变量可以作数组元素。
7、【×
】随机操作只适用于文本文件。
8、【×
】表达式语句和表达式没有什么区别。
9、【√】条件运算符和:
是一对运算符,不能分开单独使用。
10、【√】函数strcmp从头至尾顺序地将其对应字符比较,遇到两个字符不等时,两个字符相减得到一个int型值,两个字符串完全相同时,则返回0。
二、判断题(每题1分,共15分)
1、【√】C语言标准格式输入函数scanf()的参数表中要使用变量的地址值。
2、【×
】浮点型常量的指数表示中,e是可以省略的。
3、【√】任何表达式语句都是表达式加分号组成的。
4、【×
】在switch语句中,每一个的case常量表达式的值可以相同。
】do-while循环的while后的分号可以省略。
6、【√】用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'
\0'
。
】C语言函数返回类型的默认定义类型是void。
8、【√】可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数。
9、【√】枚举类型中的元素都具有一个整型值。
10、【√】C语言是一种具有某些低级语言特征的高级语言。
三、填空题(每空1分,共20分)
1、一个C源程序中至少应包含一个main函数。
2、a是整型变量,则执行表达式a=25/3%3后a的值为2。
3、intm=5,y=2;
则表达式y+=y-=m*=y的值为-16。
4、执行下列语句:
inta=1,b=2;
a=a+b;
b=a-b;
a=a-b;
printf("
%d,%d\n"
a,b);
的输出结果分别是2,1。
5、条件表达式的格式为“表达式1表达式2:
表达式3”,当表达式1为真时,整个条件表达式的值为表达式2的值。
6、C语言中的数组必须先定义,然后使用。
7、如果需要从被调用函数返回一个函数值,被调用函数必须包含return语句。
8、已知:
floatf1=,f2,*pf1=&
f1;
f2=f1,则f2的值为。
9、字符串常量“123”在内存中的字节数是4。
10、已有定义:
intx=3;
则表达式:
x=x+的值是4。
11、inta=24;
%o"
a);
输出结果是30。
12、当a=3,b=2,c=1时,表达式f=a>
b>
c的值是0。
13、以下语句charstr[10]={"
China"
%d"
strlen(str))的输出结果是5。
14、浮点型float变量占4个字节内存,double类型占8字节内存。
15、已知:
intb=5,*p=&
b;
并且b的地址为4000,则“printf("
%d,%d"
p,*p);
”的输出结果是4000,5。
16、表达式18&
53的值是1。
17、设C语言中int类型数据占4个字节,则long类型数据占4个字节,short类型数据占2个字节,char类型数据占1个字节。
18、设a=3,则执行++a后,a的值为4。
1、在C语言程序中,符号常量的定义要使用#define预处理命令。
2、逻辑运算符!
是自右至左结合性。
3、引用C语言标准库函数,一般要用#include预处理命令将其头文件包含进来。
4、strcat(字符数组名1,字符数组名2)把字符数组2中的字符串连接到字符数组1中字符串的后面,并删去字符串1后的串标志“\0”。
5、C语言允许函数值类型缺省定义,此时该函数值隐含的类型是int。
6、数组在内存中占用一段连续的存储空间,它的首地址由数组名表示
7、若有定义:
inta[2][3]={2,4,6,8,10,12};
则*(&
a[0][0]+2*2+1)的值是12。
8、在一个C源程序中,单行注释的分界符为//。
9、在C语言程序中,转义字符“\n”的功能是换行。
10、当a=5,b=4,c=2时,表达式a>
b!
=c的值是1。
12、在C语言程序中,用关键字char定义字符型变量,用double定义双精度浮点型变量。
13若m是一个三位数,则百位数字为m/100,十位数为(m%100-m%10)/10,个位数为m%10。
14、执行下列语句:
floata;
intb;
a=b=5;
printf(“%f”,a);
printf(“%d”,b);
输出结果是和4。
15、若x和n均是int型变量,且x和n的初值均为5,则计算表达式x+=n++后x的值为10,n的值为6。
1、若a=6,b=4,c=2,则表达式!
(a-b)+c-1&
b+c/2的值是1。
2、如果一函数只允许同一程序文件中的函数调用,则应在该函数定义前加上static修饰。
3、已有定义intx=0,y=0;
,则计算表达式(x+=2,y=x+3/2,y+5)后,表达式的值是8。
4、对数组元素的引用方法有下标法和指针法两种。
5、要使指针变量与变量之间建立联系,可以用运算符*来定义一个指针变量
6、设inta[10],*p=a;
则对a[3]的引用可以是p[3]或*(p+3)。
7、当a=3,b=2,c=1时,表达式f=a>
8、在C语言程序中,用关键字float定义单精度实型变量。
9、若m是一个三位数,则十位数字为m/10-m/100*10。
10、inta=24;
%x"
输出结果是18。
11、设x,y,z均为int型变量,请写出描述“x或y中有一个小于z”的表达式
x<
z||y<
z。
12、运算符%、*=、||、==中,优先级最低的是*=。
13、在C语言中,"
x"
在内存中占2字节。
14、设y为int型变量,请写出描述“y是偶数”的表达式y%2==0。
15、在C语言的赋值表达式中,赋值号左边必须是变量。
16、设x=(5>
1)+2,则x的值为3。
17、已知i=5,写出语句i*=i+1;
执行后整型变量i的值是30。
18、C语言中,二维数组在内存中的存放方式为按行优先存放。
19、数组chara[2]中的所有元素是a[1]和a[0]。
20、求字符串长度的库函数是strlen(只写函数名即可)。
四、读程序题(每题10分,共30分)
1、下面程序段的运行结果是什么。
inti=1,a=0,s=1;
do{a=a+s*i;
s=-s;
i++;
}while(i<
=10);
printf("
a=%d"
a);
解答:
a=-5
2、观察下列程序
(一)和
(二)有什么相同的地方,请写出来。
(10分)
(一)#include<
voidmain()
{
printf("
ThisisaCprogram!
\n"
}
(二)#include<
inta,b,sum;
a=2;
b=3;
sum=a+b;
sumis%d\n"
sum);
答案:
#include<
(3分)
voidmain()(3分)
{(2分)
}(2分)
3、下面程序的运行结果是什么。
#include<
main()
{
inti,x,y;
i=x=y=0;
do
++i;
if(i%2!
=0){x=x+i;
i++;
y=y+i++;
}while(i<
=7);
x=%d,y=%d\n"
x,y);
x=1,y=20
五、编程题(20分)
编写一个函数,输出如下的图形
***********
verygood
(3分)
{(2分)
***********\n"
very
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 题库
![提示](https://static.bdocx.com/images/bang_tan.gif)