C语言期中试卷
更新时间:2023-03-15 12:07:01 阅读量: 教育文库 文档下载
期中复习题3
一、选择题(30题)
1.以下关于预处理命令的叙述中错误的是____(21)____。 A. 预处理命令由预处理程序解释 B. 程序中的预处理命令是以#开始的
C. 若在程序的一行中出现多条预处理命令,这些命令都是有效的
D. 预处理命令既可以出现在函数定义的外部,也可以出现在函数体内部
2.已有声明“int x,a=3,b=2;”,则执行赋值语句“x=a>b++?a++:b++;”后,变量x、a、b的值分别为___(26)___。
A. 3 4 3 B. 3 3 4 C. 3 3 3 D. 4 3 4 3.下列选项中可用作变量名的是_____(27)_____
A. Case B. a-b C. $cd D. 2ab 4.执行以下程序后的结果是_____(28)_____。 #include
printf(“%d\\t”,x=x-3); }while(!x); }
A. 输出一个数:0 B. 输出一个数:3
C. 输出2个数:0和-3 D. 无限循环,反复输出数 5.以下关于c语言函数的叙述中,正确的是_____(29)_____。
A. 在一个函数体中可以定义另一个函数,也可以调用其他函数 B. 在一个函数体中可以调用另一个函数,但不能定义其他函数 C. 在一个函数体中不可以调用另一个函数,也不能定义其他函数 D. 在一个函数体中可以定义另一个函数,但不能调用其他函数 6.设有声明“int a=4,b=3,c=5;”,以下4个程序段中有3个程序段的执行效果是相同的,另一个执行效果不同的是_____(30)_____。 A. if(a>b)c=a,a=b,b=c; B. if(a>b)c=a;a=b;b=c; C. if(a>b){c=a,a=b,b=c;} D. if(a>b){c=a;a=b;b=c;}
7. 某程序需要使用一个代表常数3.14的符号常量P,以下定义中正确的是(21)
A. #define P 3.14 ; B. #define P(3.14) C.#define P=3.14 ; D. #define P 3.14 8. 下列四个选项中,属于C语言关键字的是(22) A. Float B. single C. double D. real
9. 已知某编译系统中signed int 类型数据的长度是16位,该类型数据的最大值是( 23) A. 32767 B. 32768
C. 127 D. 65535
10. 以下关于if语句和switch语句的叙述中错误的是(24) A. if语句和switch语句都可以实现算法的选择结构 B. if语句和switch语句都能实现多路(两路以上)选择 C. if语句可以嵌套使用
D. switch语句不可以嵌套使用
11.以下选项中不符合C语言标识符命名规则的是 ___22___ 。 A.printf B._00 C.&a D.FOR
12.以下选项中,可作为C语言合法表达式的是 ___23___。 A.3.0%2 B.3=2=1=0 C.{3,2,1,0} D.(3,2,1,0)
13.若有宏定义\S(x,y) x/y\则执行语句\后的输出是___24___ 。
A.9 B.2
C.9.5 D.2.25
14.表达式\的值是___25___。 A.2 B. 1 C.0 D.-1
15.以下数组声明中错误的是 ___28___. A.int num[2][4]={{1,2},{3,4),{5,6}}; B.int num[][3]={{1,2},{3,4},{5,6}}; C.int num[]= {1,2,3,4,5,6}; D.int num[][4]={1,2,3,4,5,6};
16、已知声明“int x;”,实现“若x的值是奇数,则输出x”这一功能的语句是___(23)____。
A. if(x/2) printf(\ C. if(x/2==1) printf(\
B. if(x%2) printf(\D. if(x%2==0) printf(\
17. 已有声明“int a[3][4]={{3,4},{2,8,6}};”则数组a[1][0]的值为___(26)____。
A. 2
B. 4
C. 6
D. 8
18. 已有声明“char c=' \\72';”,则变量c包含___(28)____个字符。
A. 1
B. 2
C. 3
D. 4
19.判断char型变量c1的值是否为小写字母的正确表达式为______(30)_____。
A. 'a' <=c1<=' z' C. 'a' >=c1||' z' <=c1
B. c1>=a&&c1<=z D. c1>='a'&&c1<='z'
20、以下程序运行时,输出到屏幕的结果是_______(6)___8。 #include
{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=0;
for(i=0;i<3;i++) for(j=2;j>=i;j--)
t+=b[i][j]; printf(\ return 0; }
21、用8位无符号二进制数能表示的最大十进制数为( )。
A) 127 B) 128 C) 255 D)256
22、在while(x)语句中的x与下面条件表达式等价的是( )。
A)x==0 B) x= =1 C) x!=1 D) x!=0
23、已知 int i,a; 执行语句”i=(a=2*3,a*5),a+6;”后,变量a的值是( A)6 B)12 C)30 D)36 24、以下不是死循环的语句为( )。 A)for(; ; x+=k); B)while(1){x++};
C)for(k=10; ;k--)sum+=k;
D)for(;(c=getchar())!=’\\n’;)printf(“%c”,c);
25、若有说明:int a[3][4];则对a 数组元素的正确引用是( )。
A)a[2][4] B)a[1,3] C)a[1+1][0] D)a(2)(1)
26、以下合法的赋值语句是( )
A、x=y=100 B、d--; C、x+y; D、c=int(x+y);
(27)若变量已正确定义,有以下程序段 int a=3,b=5,c=7; if(a>b) a=b; c=a; if(c!=a) c=b; printf(\ 其输出结果是
A)程序段有语法错 B)3,5,3 C)3,5,5 D)3,5,7
(28)有以下程序 #include
{ int x=1,y=0,a=0,b=0; switch(x) { case 1: switch(y) { case 0:a++; break; case 1:b++; break;
。 )
}
case 2:a++; b++; break; case 3:a++; b++; }
printf(\ }
程序的运行结果是 A)a=1,b=0 B)a=2,b=2 C)a=1,b=1 D)a=2,b=1
29、已有预处理命令“#include
A. if(a%2=1) b=a; B. if(sqrt(a)%2) b=a; C. if(a==1) b=a; D. if(a==1) b=*a;
30、若有以下语句,则正确的描述是( )。
二、填空题(10题)
1.执行语句序列“int a,b;a=b=4;a+=b%3;”后,变量a、b的值分别是__(3)___。 2.执行程序段“int x=0x6c;printf(“x=%x\\n”,x);”后的输出结果为__(4)_。
char x[ ]=”abcd”; char y[ ]={‘a’,’b’,’c’,’d’}; A.x数组和y数组长度相同 C. x数组长度小于y数组长度
B. x数组长度大于y数组长度 D. x数组等价于y数组
3.已知有声明\a[5]={5,4,3,2,1},i=3;\执行语句\后,屏幕输出为 ___(3)_1__ 。
4、设x,y,z和t均为int型变量,执行语句x=y=z=0; t=++x||y++&&++z后,t的值为_____,x为____,y为_____,z为_______。
5、设a=1,b=2,c=3,d=4,则表达式a++
7、语句printf(“%d”,(a=2)&&(b=-2));的输出结果是________
8、若a为int类型,且其值为8,则执行完表达式a+=a%=a%3后,a的值为_____
9、表示“当x取值在[1, “y=___(4)___?1:-1”。
10、已有定义“#define M(a,b,c) a*b-c”,执行语句“printf(\”时的输出为___(3)___。(7)
三、程序分析题(7题)
10]范围内时y取值1,否则y取值-1”所使用的C表达式为
1. 以下程序运行时,输出到屏幕的结果中第一行是_____(11)____,第二行是_____(12)____,第三行是_____(12)____。
#include
{ int a[100]={0},b[]={2,4,5,3,6,5,-1},x,i=0; while(b[i]> -1) { x=b[i] ; a[x]++ ; i++ ; }
for(x=0,i=0 ;i<100;i++) while(a[i]) { x++ ;
(x%3==0) ? printf(\
a[i]-- ; } }
2.以下程序运行时,输出到屏幕的结果是 ___(4)___ 。 #include
int a=6,b=15,t=a; while (t%b! =0)
t+=a;
printf(\return 0; }
3.以下程序运行时输出结果是(5)。 #include
case 3:n+=1;k--;break\ default:n=0;k--; case 2:
case 4: n+=2;k--;break; } }
printf(\ } }
4、#include
int j, x = 0; x++;
for (j=0; j<3; j++) {
if (j % 2) continue; x++; } x++;
printf(\}
运行结果是:
(5)阅读下面语句,则程序的执行结果是 【7】 。 #include \ main()
{ int a=-1,b=1,k;
if((++a<0)&&!(b--<=0)) printf(\
else printf(\
(6)下列程序的输出结果是 【8】 。 main() { int i;
for(i=1;i+1;i++) { if(i>4)
{ printf(\ break; }
printf(\
7、以下程序的输出结果是________
#include
char ch[7]={\int i,s=0;
for(i=0;ch[i]>='0'&&ch[i]<='9';i+=2)
s=10*s+ch[i]-'0'; printf(\
}
四、完善程序题
return 0;
1、下面这个程序用于读入5个整数,当程序读入的数据为正整数时,则显示该数,否则,程序结束运行。
#include
int i, n;
for (i=1; i<=5; i++) {
printf(\ scanf( ); if (n <= 0) ; printf(\ }
printf(\}
2、对含有10个元素的数组a先按元素的存储次序倒序输入,再按其正序输出。
#include
#define void main() {
int i,a[N];
for(i=N-1; ;i--) scanf(\ for(i=0;i printf(\ printf(\ } 五、程序设计题 1、验证一个整数是否是回文数,如12321是回文数,1232不是回文数。 2、使用选择排序法对数组元素进行排序,并在main函数中验证。
正在阅读:
C语言期中试卷03-15
计算题03-31
完美的我作文400字06-14
学校会议通知(通用15篇)03-31
关于做好迎检工作的几项要求11-27
幽默的自我介绍5篇03-22
年夜饭作文550字06-22
2017年中考数学试题分类汇编-12探索性问题(第2部分)(word原题及解析版)12-16
yy账号忘记了怎么办02-09
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 期中
- 试卷
- 语言
- 福建黄国才 群文阅读的突围
- 部编人教版2018-2019学年九年级语文上册期末课内古诗文专项复习(含答案)
- 2009年广州市优秀教师名单
- 大学物理第8章 稳恒磁场 课后习题及答案
- 湖南省岳阳县第一中学2014年物理奥赛教案 第六讲 物体的性质 物态变化
- 2013级临床基础化学模拟试题 仅供参考
- 2015报关水平测试基础部分:第二篇第五章练习题及答案
- 机房建设项目实施方案 - 图文
- 136系统精讲-肌肉骨骼系统和结缔组织-第七节 系统性红斑狼疮病人的护理
- 全面对标工作实施方案
- 2014年小升初模拟语文试卷及答案(二)
- dsp实验全部程序
- 员工职业化素质提升培训心得体会汇总(一)
- 2019-2020学年度小学语文四年级下册15 鸟语苏教版复习特训二十七
- 动点问题,直角三角形斜边上的中线等于斜边的一半
- 辽宁省人民政府关于做好征地补偿安置工作切实维护农民合法权益的通知
- 《大学的理想》的读后感
- 元朝行省制度的内容
- 第3章整流电路习题详解
- 建筑设计方法概论