C语言期末复习计算机二级题库doc.docx
- 文档编号:25831761
- 上传时间:2023-06-15
- 格式:DOCX
- 页数:66
- 大小:43.57KB
C语言期末复习计算机二级题库doc.docx
《C语言期末复习计算机二级题库doc.docx》由会员分享,可在线阅读,更多相关《C语言期末复习计算机二级题库doc.docx(66页珍藏版)》请在冰豆网上搜索。
C语言期末复习计算机二级题库doc
第1章程序设计及C语言概述
一、单选题
1)一个算法应该具有“确定性”等5个特性,下面对另外4个特性的描述中错误的是(B)。
A)有零个或多个输入B)有零个或多个输出
C)有穷性D)可行性
2)以下叙述中正确的是(B)。
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C语言源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
3)用C语言编写的代码程序(B)。
A)可立即执行B)是一个源程序
C)经过编译即可执行D)经过编译解释才能执行
4)结构化程序由三种基本结构组成,三种基本结构组成的算法(A)。
A)可以完成任何复杂的任务
B)只能完成部分复杂的任务
C)只能完成符合结构化的任务
D)只能完成一些简单的任务
5)以下叙述中正确的是(C)。
A)用C程序实现的算法必须要有输入和输出操作
B)用C程序实现的算法可以没有输出但必须要有输入
C)用C程序实现的算法可以没有输入但必须要有输出
D)用C程序实现的算法可以既没有输入也没有输出
第2章C语言基础
一、单选题
1)假设在程序中a,b,c均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式
的表达式是(D)。
A)1/a*b*cB)1/(a*b*c)
C)1/a/b/(float)cD)1.0/a/b/c
2)以下能正确定义且赋初值的语句是(B)
A)intn1=n2=10;B)charc=32;
C)floatf=f+1.1;D)doublex=12.3E2.5;
3)以下不能定义为用户标识符的是(D)
A)scanfB)VoidC)_3com_D)int
4)设x、y、z和k都是int型变量,则执行表达式:
x=(y=4,z=16,k=32+z)后,x的值为(C)
A)4B)16C)48D)32
5)设有intx=11,则表达式(x++*1/3)的值是(A)。
A)3B)4C)11D)12
6)以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子
的C语言表达式是(A)。
A)x/y*zB)x*(1/(y*z))C)x/y*1/zD)x/y/z
7)有以下程序
main(B)
{chara1='M',a2='m';
printf("%c\n",(a1,a2));}
以下叙述中正确的是(B)
A)程序输出大写字母M
B)程序输出小写字母m
C)格式说明符不足,编译出错
D)程序运行时产生出错信息
8)以下程序运行后的输出结果是(C)
main()
{charp[]={'a','b','c'},q[]="abc";
printf("%d%d\n",sizeof(p),sizeof(q));
}
A)44B)33C)34D)43
9)以下叙述中错误的是(A)
A)用户所定义的标识符允许使用关键字
B)用户所定义的标识符应尽量做到“见名知意”
C)用户所定义的标识符必须以字母或下划线开头
D)用户定义的标识符中,大、小写字母代表不同标识
10)在C语言中,下列属于构造类型的是(D)
A)整型B)字符型C)实型D)数组类型
11)下列字符串属于标识符的是(A)
A)INTB)5_studentC)2ongD)!
DF
12)C语言中能用来表示整常数的进制是(A)
A)十进制、八进制、十六进制
B)十二进制、十进制
C)六进制、八进制
D)二进制、十进制
13)在C语言中,回车换行符是(A)
A)\nB)\tC)\vD)\b
14)在ASCII码表中可以看到每个小写字母的ASCII码比它相应的大写字母的ASCII码(A)
A)大32B)大64C)小32D)小64
15)设d为字符变量,下列表达式不正确的是(C)。
A)d=97B)d='a'C)d="a"D)d='g'
16)设d为字符变量,下列表达式正确的是(B)。
A)d=678B)d='a'C)d="d"D)d='gjkl'
17)已知在ASCII字符集中,数字0的序号为48,下面程序的输出结果为(B)。
main()
{charx,y;
x='0';y='9';
printf("%d,%d\n",x,y);
}
A)因输出格式不合法,输出错误信息B)48,57
C)0,9D)48,58
18)已知在ASCII字符集中,字母A的序号为65,下面程序的输出结果为(C)。
main(C)
{charc='A';inti=10;
c=c+10;
i=c%i;
printf("%c,%d\n",c,i);
}
A)75,7B)75,5C)K,5
D)因存在非图形字符,无法直接显示出来
19)已知在ASCII集中,字母A的序号为65,下面程序的输出结果为(B)。
main()
{charc1='B',c2='Y';
printf("%d,%d\n",++c1,--c2);
}
A)输出格式不合法,输出错误信息B)67,88
C)66,89D)C,X
20)C语言中,运算对象必须是整型数的运算符是(A)。
A)%B)\C)%和\D)**
21)下列常数中,合法的C常量是(A)。
A)-0.B)'105'C)'AB'D)"35"
22)下列常数中,合法的C常量是(A)。
A)"x-y"B)'105'C)'Be'D)7ff
23)下列常数中,合法的C常量是(A)。
A)'\n'B)e-310C)'DEF'D)'1234'
24)下列常数中,不合法的C常量是(B)。
A)-0x2aB)lg3C)'['D)"CHINA"
25)下列常数中,不合法的C常量是(B)。
A)-0x3bB)123e+2.3C)'}'D)6e+7
26)下列符号中,可以作为变量名的是(C)。
A)+aB)12345eC)a3BD)5e+0
27)下列符号中,可以作为变量名的是(C)。
A)+cB)*XC)_DAYD)nextday
28)若已定义x和y为double类型,则表达式:
x=1,y=x+3/2的值为(C)。
A)1B)2C)2.0D)2.5
29)下列程序的执行结果是(B)。
#include
#definesum10+20
main()
{intb=0,c=0;
b=5;
c=sum*b;
printf("%d",c);
}
A)100B)110C)70D)150
30)下列程序的执行结果是(D)。
#include
#definesum(10+20)
mian()
{inta=0,b=0,c=0;
a=sum;
b=5;
c=sum*b;
printf("%d",c);
}
A)100B)110C)70D)150
31)表达式(int)2.1416的值为(A)。
A)2B)2.1C)0D)3
32)表达式(double)(20/3)的值为(B)。
A)6B)6.0C)2D)3
33)假设所有变量均为整型,则表达式(a=5,b=2,a++,a+b)的值是(A)。
A)8B)7C)6D)5
34)C语言规定标识符由(A)等字符组成.
A)字母 数字 下划线B)中划线 字母 数字
C)字母 数字 逗号 D)字母下划线中划线
35)已知ch是字符型变量,下面不正确的赋值语句是(B)。
A)ch='\0'B)ch='a+b'C)ch='7'+'9'D)ch=7+9
36)若x和y都为float型变量,且x=3.6,y=5.8执行下列语句后输出结果为(B)。
printf("%f",(x,y));
A)3.600000B)5.800000
C)3.600000,5.800000D)输出符号不够,输出不正确值
37)设整型变量a值为9,则下列表达式中使b的值不为4的表达式(B)。
A)b=a/2B)b=a%2C)b=8-(3,a-5)D)b=a>5?
4:
2
二、填空题
1)写出下列程序段的执行结果
inta,b,c;
a=b=c=5;
a=++b+(c--);
变量a,b,c的值为【1】
2)若有如下程序段:
inta=10,b=9,c=8;
c=(a-=(b-5));
c=(a%11)+(b=5);
顺序执行上述语句后,变量b的值为【2】
3)设有以下变量定义,并已赋确定的值
charw;intx;floaty;doublez;
则表达式:
w*x+z-y所求得的数据类型为【3】。
4)C语言基本数据类型包括【4】、【5】、【6】、【7】。
5)C语言在定义变量的同时说明变量的【8】,系统在编译时就能根据变量定义及其【9】为它分配相应数量的存储空间。
6)在C语言中,标识符只能由【10】、【11】和【12】三种字符组成,且第一个字符必须【13】或【14】。
7)实型变量分为【15】和【16】,即float和double型。
8)C语言中规定,在变量定义的同时也可以给变量赋初值,叫做【17】。
9)C的字符串常量是用【18】括起来的字符序列。
10)在C语言中,系统在每一个字符串的结尾自动加一个“字符串结束标志符”即【19】,以便系统据此数据判断字符串是否结束。
11)下面的程序
mian()
{floatx;inti;
x=3.6;i=(int)x;
printf("x=%f,i=%d",x,i);
}
运行结果为【20】。
第3章顺序结构
一、单选题
1)设x为int型变量,则执行以下语句后,x的值为(B)。
x=10;x+=x-=x-x;
A)10B)20C)40D)30
2)下列可作为C语言赋值语句的是(C)。
A)x=3,y=5B)a=b=6
C)i--;D)y=int(x);
3)设x,y,z,t均为int型变量,则执行以下语句后,t的值为(C)。
x=y=z=1;
t=++x||++y&&++z;
A)不定值B)2C)1D)0
4)若以下选项中的变量已正确定义,则正确的赋值语句是(C)。
A)x1=26.8%3B)1+2=x2
C)x3=0x12;D)x4=1+2=3;
5)设有以下定义
inta=0;
doubleb=1.25;
charc='A';
#defined2
则下面语句中错误的是(D)。
A)a++;B)b++;C)c++;D)d++;
6)有以下程序
main()
{intx=102,y=012;
printf("%2d,%2d\n",x,y);
}
执行后输出的结果是(C)。
A)10,01B)02,12C)102,10D)02,10
7)有以下程序
main()
{intm=3,n=4,x;
x=-m++;
x=x+8/++n;
printf("%d\n",x);
}
程序运行后的输出结果是(D)。
A)3B)5C)-1D)-2
8)有以下程序
main()
{chara='a',b;
printf("%c,",++a);
printf("%c\n",b=a++);
}
程序运行后的输出结果是(A)。
A)b,bB)b,cC)a,bD)a,c
9)有以下程序
main()
{intm=0256,n=256;
printf("%o%o\n",m,n);
}
程序运行后的输出结果是(C)。
A)02560400B)0256256C)256400D)400400
10)有以下程序
main()
{chara,b,c,d;
scanf("%c,%c,%d,%d",&a,&b,&c,&d);
printf("%c,%c,%c,%c\n",a,b,c,d);
}
若运行时从键盘上输入:
6,5,65,66。
则输出结果是(A)。
A)6,5,A,BB)6,5,65,66C)6,5,6,5D)6,5,6,6
11)数字字符0的ASCII值为48,若有以下程序
main()
{chara='1',b='2';
printf("%c,",b++);
printf("%d\n",b-a);
}
程序运行后的输出结果是(C)。
A)3,2B)50,2C)2,2D)2,50
12)有以下程序
main()
{intm=12,n=34;
printf("%d%d",m++,++n);
printf("%d%d\n",n++,++m);
}
程序运行后的输出结果是(A)。
A)12353514B)12353513
C)12343514D)12343513
13)有以下程序
main()
{intm,n,p;
scanf("m=%dn=%dp=%d",&m,&n,&p);
……
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是(A)。
A)m=123n=456p=789B)m=123n=456p=789
C)m=123,n=456,p=789D)123456789
14)有以下程序
main()
{inta,b,d=25;
a=d/10%9;
b=a-1;
printf("%d,%d\n",a,b);
}
程序运行后的输出结果是(B)。
A)6,1B)2,1C)6,0D)2,0
15)以下叙述中错误的是(C)。
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
16)以下叙述中正确的是(B)。
A)调用printf函数时,必须要有输出项
B)使用putchar函数时,必须在之前包含头文件stdio.h
C)在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D)调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
17)有以下程序
#include
main()
{ char c1='1',c2='2';
c1=getchar(); c2=getchar();
putchar(c1); putchar(c2);
}
当运行时输入:
a<回车> 后,以下叙述正确的是(A)。
A)变量c1被赋予字符a,c2被赋予回车符
B)程序将等待用户输入第2个字符
C)变量c1被赋予字符a,c2中仍是原有字符2
D)变量c1被赋予字符a,c2中将无确定值
二、填空题
1)已知字符A的ASCII码值为65,以下语句的输出结果是【1】。
charch='B';
printf("%c%d\n",ch,ch);
2)有以下语句段:
intn1=10,n2=20;
printf("【2】",n1,n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
3)有以下程序:
#include"stdio.h"
main()
{charch1,ch2;intn1,n2;
ch1=getchar();ch2=getchar();
n1=ch1-'0';n2=n1*10+(ch2-'0');
printf("%d\n",n2);
}
程序运行时输入:
12<回车>,执行后的输出结果是【3】。
4)以下程序段的输出结果是【4】。
inti=9;
printf("%o\n",i);
5)以下程序运行后的输出结果是【5】。
main()
{inta,b,c;
a=25;
b=025;
c=0x25;
printf("%d%d%d\n',a,b,c);
}
6)以下程序运行时,若从键盘输入:
102030<回车>,输出的结果是【6】。
#include"stdio.h"
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&k);
printf("%d%d%d\n",i,j,k);
}
7)已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:
B33<回车>,则输出结果是【7】。
#include"stdio.h"
main()
{chara,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,b);
}
8)以下程序运行后的输出结果是【8】。
main()
{int x=0210; printf("%x\n",x);}
9)以下程序运行后的输出结果是【9】。
main()
{char c; int n=100;
float f=10; double x;
x=f*=n/=(c=50);
printf("%d %f\n",n,x);
}
10)已知字母A的ASCII码为65。
以下程序运行后的输出结果是【10】 。
main()
{char a, b;
a='A'+'5'-'3'; b=a+'6'-'2' ;
printf("%d %c\n", a, b);
}
第4章选择结构
一、单选题
1)若变量c为char类型,能正确判断出c为小写字母的表达式是(D)
A)'a'<=c<='z' B)(c>='a')||(c<='z')
C)('a'<=c)and('z'>=c) D)(c>='a')&&(c<='z')
2)设有定义:
inta=2,b=3,c=4;,则以下选项中值为0的表达式是(A)
A)(!
a==1)&&(!
b==0)B)(a
c||1
C)a&&bD)a||(b+b)&&(c-a)
3)能正确表示逻辑关系“a≥=10或a≤0”的C语言表达式是(D)。
A)a>=10ora<=0B)a>=0|a<=10
C)a>=10&&a<=0D)a>=10‖a<=0
4)下列运算符中优先级最高的是(B)。
A)>B)+C)&&D)!
=
5)以下关于运算符优先级的描述中,正确的是(A)。
A)!
(逻辑非)>算术运算>关系运算>&&(逻辑与)>||(逻辑或)>赋值运算
B)&&(逻辑与)>算术运算>关系运算>赋值运算
C)关系运算>算术运算>&&(逻辑与)>||(逻辑或)>赋值运算
D)赋值运算>算术运算>关系运算>&&(逻辑与)>||(逻辑或)
6)逻辑运算符的运算对象的数据类型(D)。
A)只能是0或1B)只能是.T.或.F.
C)只能是整型或字符型D)任何类型的数据
7)以下程序的运行结果是(B)。
main()
{intc,x,y;
x=1;y=1;c=0;
c=x++||y++;
printf("\n%d%d%d\n",x,y,c);
}
A)110B)211C)011D)001
8)以下程序的运行结果是(A)。
main()
{intc,x,y;
x=0;y=0;c=0;
c=x++&&y++;
printf("\n%d%d%d\n",x,y,c);
}
A)100B)211C)011D)001
9)判断字符型变量ch为大写字母的表达式是(C)。
A)'A'<=ch<='Z'B)(ch>='A')&(ch<='Z')
C)(ch>='A')&&(ch<='Z')D)(ch>='A')AND(ch<='Z')
10)判断字符型变量ch为小写字母的表达式是(D)。
A)'a'<=ch<='z'B)(ch>=a)&&(ch<=z)
C)(ch>='a')||(ch<='z')D)(ch>='a')&&(ch<='z')
11)以下if语句书写正确的是(B)。
A)if(x=0;)B)if(x>0)
printf("%f",x);{x=x+1;printf("%f",x);}
elseprintf("%f",-x);elseprintf("%f",-x);
C)if(x>0);D)if(x>0)
{x=x+1;printf("%f",x);}{x=x+1;printf("%f",x)}
elseprintf("%f",-x);elseprintf("%f",-x);
12)分析以下程序:
main(D)
{intx=5,a=0,b=0;
if(x=a+b)printf("****\n");
elseprintf("####\n");
}
以上程序()。
A)有语法错,不能通过编译
B)通过编译,但不能连接
C)输出****D)输出####
13)写出下面程序的执行结果(D)。
main()
{intx,y=1;
if(y!
=0)x=5;
printf("%d\t",x);
if(y==0)x=3;
elsex=5;
printf("%d\t\n",x);
}
A)13B)15C)53D)55
14)若有以下变量定义:
floatx;inta,b;
则正确的switch语句是(D)。
A)switch(x)
{case1.0:
printf("*\n");
case2.0:
printf("**\n");
}
B)switch(x)
{case1,2:
printf("*\n");
case3:
printf("**\n");
}
C)switch(a+b)
{case1:
printf("*\n");
case2*a:
printf("**\n");
}
D)switch(a+b)
{case1:
printf("*\n");
case1+2:
printf("**\n");
}
15)以下关
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 期末 复习 计算机 二级 题库 doc