C语言全部考试系统题库含答案.docx
- 文档编号:6488152
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:97
- 大小:61.91KB
C语言全部考试系统题库含答案.docx
《C语言全部考试系统题库含答案.docx》由会员分享,可在线阅读,更多相关《C语言全部考试系统题库含答案.docx(97页珍藏版)》请在冰豆网上搜索。
C语言全部考试系统题库含答案
第一章C语言基础知识
(C语言概述、算法、数据类型运算符表达式、位运算)
一、判断题(正确的填A,错误的填B)
R1.在C语言中,逗号运算符的优先级最低。
(A)
2.在C语言可执行程序的开始执行点是程序中第一个函数。
(B)
3.“5ch”是合法的变量名。
(B)
4.C语言程序书写格式自由,一行内可以写几个语句,一个语句可以分写在多行上。
(A)
5.当输入数据时,必须指明变量的地址,如scanf("%f",&f)(A)
N6.表达式i++与++i在任何场合功能完全相同。
(B)
7.在赋值表达式中,赋值号左边的变量和右边的表达式之值的数据类型可以不相同。
(A)
R8.C语言程序中,语句以逗号结尾。
(B)
9.在C程序中,APH和aph代表不同的变量。
(A)
10.a-=7等价于a=a-7。
(A)
N11.printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。
如果字符串长度大于5,则输出按原字符长从左向右全部输出。
(A)
12.如果x>y为真或ay)&&(a
(B)
13.C语言程序的变量必须先定义再使用。
(A)
14.若a和b是同类型变量,在执行了赋值语句a=b;后b中的值将放入a中,b中的值将丢失。
(B)
15.程序的执行总是从main函数开始,在程序的最后一个函数中结束。
(B)
16.变量的三个属性是指变量的名字、变量的值和变量在内存中的地址。
(A)
17.运算符优先顺序:
赋值运算符<逻辑运算符<关系运算符<算术运算符(B)
18.对应float类型的变量,也可以用等号“==”进行数值的判断。
(B)
19.表达式:
1&&3.14和1&3的值一样大。
(B)
20.为了正确计算表达式既要考虑运算符的优先级,也要考虑其结合性。
(A)
21、任何C程序都是从main函数开始和结束;(A)
22.在C程序中,使用分号“;”表示语句的结束。
(A)
23.C程序中的必须要有至少一个main的函数,可以有多个。
(B)
24.在C程序中,无论是整数还是实数,都能准确无误的表示。
(B)
25.在C程序中,赋值运算符的优先级最低。
(B)
26.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。
(B)
27.在C程序中,变量可以一边定义一边使用。
(B)
28.C程序中的注释部分可有可无,可以省略。
(A)
29.字符型变量可以存放多个字符。
(B)
30.在对一个C程序进行编译的过程中,可发现注释中的拼写错误。
(B)
5.在C程序中,无论是整数还是实数,都能被准确无误地表示。
(B)
1.一个C程序的执行是从本程序的main函数开始,到main函数结束。
(A)
3.()
4.运算符优先顺序:
赋值运算符<逻辑运算符<关系运算符<算术运算符(B)
二、单项选择题
R1、以下标识符中,不能作为合法的C用户定义标识符的是:
()
A.a3_b3B.voidC._123D.abc
R2、C语言规定:
在一个源程序中,main函数的位置()。
A.必须在最后B.必须在系统调用的库函数的后面。
C.必须在最开始。
D.可以任意
R3、下列说法中正确的是()。
A.C程序书写时,不区分大小写字母
B.C程序书写时,一行只能写一个语句
C.C程序书写时,一个语句可分成几行书写
D.C程序书写时每行必须有行号
4、?
已知ch是字符型变量,下面不正确的赋值语句是()。
A.ch=5+9;B.ch='a+b';C.ch='\0';D.ch='7'+'6';
5、?
若有定义:
inta=7;floatx=2.5,y=4.7;则表达式
x+a%3*(int)(x+y)%2/4的值是()。
A.2.750000B.0.00000C.3.500000D.2.500000
6.已知ch是字符型变量,下面正确的赋值语句是()。
A.ch='123';B.ch='\08';C.ch='\xff';D.ch="\";
1.以下标识符中,不能作为合法的C用户定义标识符的是:
____________。
A)a3_b3B)voidC)_123D)abc
2.C语言中,运算对象必须是整型的运算符是__________。
A)%B)/C)%和/D)*
7.在C程序中,用___________表示逻辑值“真”。
A)1B)非0的数C)非1的数D)大于0的数
N8.设intc=5和inta;a=2+(c+=c,c+8,++c),则a=__________
A)15B)14C)13D)16
9.C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符________。
A)必须为字母或下划线。
B)必须为下划线。
C)必须为字母D)可以是字母、数字和下划线中的任一种字符。
10.若变量已正确定义并赋值,表达式____________不符合C语言语法。
A)a*b/c;B)3.14%2C)2,bD)a/b/c
11.下列说法中正确的是___________。
A)C程序书写时,不区分大表达式小写字母
B)C程序书写时,一行只能写一个语句
C)C程序书写时,一个语句可分成几行书写
D)C程序书写时每行必须有行号
12.为表示数学关系x≥y≥z,正确的C语言表达式是__________。
A)(x>=y)&&(y>=z)B)(x>=y)AND(y>=z)
C)(x>=y>=z)D)(x>=y)&(y>=z)
13.不合法的八进制数是________
A)0B)028C)077D)01
14、以下不能定义为用户标识符是
AMainB_0C_intDsizeof
15.若x=5,y=4则y*=x+5;y的值为()。
A.40B.20CB.15D.30
16、组成C语言程序的基本单位是( )。
A)过程 ?
?
B)子程序
C)函数 ?
D)主程序和子程序
17.下列哪个标识符是C语言合法的标识符( )。
A)a*b B)-xyz
C)ba2 D)5i
N18.若有定义:
int a=7;float x=2.5,y=4.7;则表达式x+a%3*(int)(x+y)/4的值是( )。
A)2.75 ?
B)3.5?
C)2.5?
?
D)0
19.设intm=1,n=2;则++m==n的结果是()
A、0B、1C、2D、3
N20.若变量已定义并赋值,下列符合C语法的表达式是:
()
A、a:
=b+1B、a=b=c+2
C、int18.5%3D、a=a+7=c+b
R(3)在C程序中,设一表达式中包含有int,long,unsigned和char类型的变量和数据,则表达式最后的运算结果类型是()
A.intB.charC.unsignedD.long
R21.C语言中基本的数据类型包括__________。
A)整型、实型、逻辑型B)整型、实型、字符型
C)整型、字符型、逻辑型D)整型、实型、逻辑型、字符型
N22.若定义x和y为double类型,则表达式:
x=2,y=x+5/2的值是__________
A)4B)4.5C)4.0D)3.0
23.在以下运算符中,优先级最高的运算符是__________
A)?
:
B)++C)&&D)+=
24.C语言中基本的数据类型不包括__________。
A)整型B)字符串型
C)字符型D)实型
25.若定义intx=7,y=5,z;则表达式:
z=x+5/2*y的值是__________
A)7B)7.5C)17D)19.5
6.以下说法中正确的是()
A、C语言程序总是从第一个定义的函数开始执行
B、在C语言程序中,要调用的函数必须在main()函数中定义
C、C语言程序总是从main()函数开始执行
D、C语言程序中的main()函数必须放在程序的开始部分
(1)设inta=2,b;则执行b=a&&1;语句后,b的结果是()
A.0B.1C.2D.3
N
(2)逗号表达式(a=3*5,a*4),a+15的值是()
A.15B.60C.30D.75
7.若已经定义了一个字符型变量为a,下面哪个表达式的含义跟其余表达式不同:
A)a!
=0B)a!
=’\0’C)aD)!
a
8.在以下运算符中,优先级最高的运算符是__________
A),B)[]C)&&D)+=
9.在C语言中,逻辑值“真”用__________表示。
A)trueB)大于0的数 C)非0的整数 D)非0的数
10.表达式__________是满足:
当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式
A)(c=1)||(c=3)||(c=5)B)(c!
=1)&&(c!
=3)&&(c!
=5)
C)(c==1)&&(c==3)&&(c=5)D)(c==1)||(c==3)||(c==5)
1.C语言中,int类型数据占2个字节,则long类型数据占()
A、1个字节B、2个字节C、3个字节D、4个字节
1.下列字符串是合法的标识符的是()。
A、_HJB、9_studentC、longD、LINE1
2.下列说法中正确的是()。
A、C程序书写时,不区分大小写字母
B、C程序书写时,一行只能写一个语句
C、C程序书写时,一个语句可分成几行书写
D、C程序书写时每行必须有行号
3.在C语言中,要求参加运算的数必须是整数的运算符是()。
A、/B、!
C、%D、==
4.C语言中,逻辑“真“等价于()。
A、大于零的数B、大于零的整数
C、非零的数D、非零的整数
6.假设在程序中a,b,c均被定义为整型,并且已赋大于1的值,则下列能正确表示代数式1/abc的表达式是()。
A、1/a*b*cB、1/(a*b*c)
C、1/a/b/(float)cD、1.0/a/b/c
1.下列合法的字符常量是()。
A、'\084'B、'\x43'C、'ab'D、"\0"
2.在C语言提供的合法的关键字是()
A、switchB、cherC、CaseD、sturct
3.若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值是
A、2B、1C、2.0D、2.5
三、程序填空题
1以下程序不用第三个变量实现两个数对调的操作。
#includ“stdio.h”
main()
{
inta,b;
scanf("%d,%d",&a,&b);
a=;(三个字符)
b=
a=a-b;
printf("%d,%d",a,b);
}
2、选择程序的运行结果。
main()
{intx=1,y=2,z,a,b,c,d;
z=++x||++y;
printf("x=%d\n",x);
printf("y=%d\n",y);/*输出结果
a=-1;b=-2;c=++a&&b++;
printf("b=%d\n",b);/*输出结果(三个字符)*/}
3以下程序的结果为_______
main()
{
unsignedinta=3,b=10;
printf("%d\n",a<<2|b>>1);/*输出结果<14>*/
printf("%d\n",a<<2&b>>1);/*输出结果<0>*/
}
4若x=3,y=z=4,则下列表达式的值是。
(1)?
?
?
?
?
?
(z>=y>=x)?
1:
0
/*值为<0>*/
(2)?
?
?
?
?
?
z>=y&&y>=x
/*值为<1>*/
5已知floatx=4.3,inty;执行语句y=(int)x后,x为
6表达式’c’&&’d’的值为<1>(填写阿拉伯数字),’c’&&’d’||!
(3+4)的值为<1>(填写阿拉伯数字)。
7若x为int类型,则与逻辑表达式“x”等价的表达式是 =0>,与逻辑表达式“! x”等价的表达式是 8表示“整数x的值大于5”时逻辑值为“真”的表达式是 9已知字母A的ASCII码为十进制数65,且设ch为字符型变量,则表达式ch=‘A’-‘4’+‘9’的值为<’F’>(一个字符常量);若定义: charc=‘\72’;则变量c中包含的字符个数为<1>(数字)。 10、C语言所提供的基本数据类型的整型类型包括: <短整型>、整型、<长整型>。 (按每种类型所占字节数,从小到大排列) 第二章C语言程序结构 (顺序程序设计、选择结构程序设计、循环控制) 一、判断题(正确的填A,错误的填B) 1.do-while语句中的条件为非0时,就结束该循环。 (B) 2.在switch-case语句中,不是每个case后都要使用break语句。 (A) 3.Break语句只能用于循环结构中。 (B? ) 48.未给变量赋初值,只是运行结果不正确,不会有其他不良影响。 (B) 5、switch语句中,可以不使用break语句;(A) 6、for语句中,三个表达式都可以省略;(A) 7(7)在for循环中使用break语句的目的是使流程跳出循环体,终止当前循环(A) 8.continue语句只能用于循环语句中。 (A) 9.while语句中的条件为0时,就结束该循环。 (A) 10.在循环体内使用break语句或continue语句的作用相同。 (B) 在C语言中,逻辑值“真”用表示。 11)112)大于0的数 13)非0的整数 14)非0的数 在循环语句的循环体中,continue语句的作用是( )。 15)立即终止整个循环 16)继续执行continue语句之后的循环体 17)结束本次循环 18)结束本次循环并跳出循环 语句while(! e);中,条件! e等价于() 19.e==020.e! =021.e! =122.e==1 设intc=5和inta;a=2+(c+=c++,c+8,++c),则a=__________ 23)1524)1425)1326)16 若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为if() 27)a<>028)! a29)a=030)a 二、单项选择题 N1、以下不是死循环的语句是_______。 for(;;x+i); while (1){x++;} for(i=10;;i--)sum+=i; for(;(c=getchar())! =‘\n’;)printf(“%c”,c); 2.设有程序段 intk=10; while(k=0)k=k-1; 以下描述正确的是()。 A.循环体语句一次也不执行。 B.循环是无限循环。 C.while循环语句执行十次。 D.循环体语句执行一次。 3.对下述程序,正确的判断是()。 main() {inta,b; scanf("%d,%d",&a,&b); if(a>b)a=b;b=a; elsea++;b++; printf("%d,%d",a,b); } A.有语法错误不能通过编译B.若输入4,5则输出5,6 C.若输入5,4则输出4,5D.若输入5,4则输出5,5 R4.以下程序 main() { inti=010,j=10,k=0x10; printf("%d,%d,%d\n",i,j,k); }有语法错误不能通过编译 输出结果是() A.8,10,16B.8,10,10C.10,10,10D.10,10,16 R5.若变量已正确说明为int类型,要给a,b,c输入数据,以下语句正确的是__________ A)read(a,b,c);B)scanf(“%d%d%d”,a,b,c); C)scanf(“%D%D%D”,&a,%b,%c);D)scanf(“%d%d%d”,&a,&b,&c); R6.已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为__________。 main() { charx,y; x=’0’;y=’9’; pirntf(“%d,%d\n”,x,y); } A)因输出格式不合法,输出错误信息B)48,57 C)0,9D)48,58 7.语句for(k=0;k<5;++k) { if(k==3)continue; printf(“%d”,k); }的输出结果为_________。 A)012B)0124C)01234D)没有输出结果 8.为表示关系x>=y>=z,应使用C语言表达式___________。 A)(y<=x)&&(y>=z)B)(x>=y)AND(y>=z) C)(x>=y>=z)D)(x>=y)&(y>=z) 6.若变量已正确定义,语句“if(a>b)k=0;elsek=1;”和___________等价。 A、k=(a>b)? 1: 0;B、k=a>b; C、k=a<=b;D、a<=b? 0: 1; 9.以下程序的输出结果是__________ voidmain() { inta=2,b=5; printf(“a=%%%d,b=%%%d”,a,b); } A)a=%2,b=%5B)a=2,b=5 C)a=%%d,b=%%dD)a=%d,b=%d N10.以下程序的输出结果是__________ voidmain() {intx=10,y=10; printf(“%d%d\n”,x--,--y); } A)1010B)99C)910D)109 11.若要表示if(a不等于0)这一关系式,则能正确表示这一关系的表达式为 if(__________) A)a<>0B)! aC)a=0D)a R12对于循环语句while (1);下面()是正确的 A、死循环B、循环一次 C、不进入循环体D、编译有错 13.下面程序的输出是(假设int数据是2个字节) voidmain() {inta=32768; printf(“a=%d\n”,a); } A)a=32768B)a=32767C)a=-32768D)a=-1 14.表达式__________是满足: 当c的值为1、3、5三个数中任意一个时值为“真”,否则值为“假”的表达式 A)(c=1)||(c=3)||(c=5)B)(c! =1)&&(c! =3)&&(c! =5) C)(c==1)&&(c==3)&&(c=5)D)(c==1)||(c==3)||(c==5) N15.以下程序段的输出结果是_____ intx=3; do {printf("%3d",x-=2;} while(! (--x)); A)1B)30 C)1-2D)死循环 16、数字字符0的ASCII值为48,若有以下程序 main() { chara='1',b='2'; printf("%c,",b++); printf("%d\n",b-a); } 程序运行后的输出结果是 A3,2B50,2C2,2D2,50 17、有以下程序 main() { inta,b,d=25; a=d/10&(-1); b=a&&(-1); printf("%d,%d\n",a,b); } 程序运行后的输出结果是 A6,1B2,1C6,0D2,0 18.若定义float a;现要从键盘输入a的数据,其整数位为3位,小数位为2位,则选用( )。 A)scanf("%f",&a); ? B)scanf("%5.2f",a); C)scanf("%6.2f",&a); ? D)scanf("%f",a); 19.若定义int i;则以下循环语句的循环执行次数是( )。 for(i=2;i==0;) printf("%d",i--); A)无限次 B)0次 C)1次 D)2次 20.下面程序段___ x=3; do { y=x--; if(! y){printf("x");continue;} printf("#"); } while(1<=x<=2); A)将输出##B)将输出##* C)是死循环D)含有不合法的控制表达式 21.以下程序中,while循环的循环次数是()。 #include“stdio.h” main() {inti=0; while(i<10) {if(i<1)continue; if(i==5)break; i++; } } A、1B、10C、6D、死循环,不能确定次数 N22.有以下程序: #include“stdio.h” inta=3; main() { ints=0; { inta=5; s+=a++; } s+=a++;printf("%d\n",s); } 程序运行后的输出结果是()。 A、8B、10C、7D、11 23(4)下面程序段的运行结果是() main() {inta=11,b=10,c=0; a/=b+(b&&c); printf(″%d\n″a);} A.0B.1C.1.1D.11 24(5)两次运行下面程序,如果从键盘上分别输入6和4,则程序的输出结果是() main() {intx;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 全部 考试 系统 题库 答案