C语言各章节练习题(含答案)
更新时间:2023-09-12 01:49:01 阅读量: 教育文库 文档下载
- c语言各个章节知识点推荐度:
- 相关推荐
一、 C语言概述练习题
选择1. 一个C程序的执行是从 。 A) 本程序的main函数开始,到main函数结束
B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2. 以下叙述不正确的是 。
A) 一个C源程序必须包含一个main函数 B)一个C源程序可由一个或多个函数组成 C) C程序的基本组成单位是函数 D) 在C程序中,注释说明只能位于一条语句的后面
3. 以下叙述正确的是 。
A) 在对一个C程序进行编译的过程中,可发现注释中的拼写错误 B) 在C程序中,main函数必须位于程序的最前面
C) C语言本身没有输入输出语句 D) C程序的每行中只能写一条语句 4. 一个C语言程序是由 。
A)一个主程序和若干个子程序组成 B) 函数组成 C) 若干过程组成 D) 若干子程序组成
二、数据类型、运算符与表达式
选择. 1. 若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 2. 下列四组选项中,均不是C语言关键字的选项是 。 A) define IF type B) getc char printf C) include case scanf D) while go pow
3. 下列四组选项中,均是不合法的用户标识符的选项是 。(C语言标识符由字 母, 数字,下划线组成,开头不能是数字)
A) W P_0 do B) b-a goto int C) float la0 _A D) -123 abc TEMP
8. 已知字母A的ASCII码为十进制数65,且c2为字符型,则执行语句c2=‘A’+‘6’-‘3’后,c2中的值为 。
A) D B) 68 C) 不确定的值 D) C
填空 1. 若有以下定义,则计算表达式y+=y-=m*=y后的y值是【1】。-16 int m=5,y=2;
7. 若x和n均是int型变量,且x和n的初值均为5,则计算表达式后x的值为【8】,n的值为【9】。10 6
x+=n++ //若改为x+=++n 则计算后X为11,n为6
10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=‘a’+‘8’-‘3’的值为【12】。 f 三、简单的C程序设计
选择 1. putchar函数可以向终端输出一个 D 。
A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 3. 阅读以下程序,当输入数据的形式为:25,13,10
{ int x,y,z;
scanf(“%d%d%d”,&x,&y,&z); printf(“x+y+z=%d\\n”,x+y+z);
} A) x+y+z=48 B) x+y+z=35 C) x+z=35 D) 不确定值 4. 根据下面的程序及数据的输入和输出形式,程序中输入语句的正确形式应该为 C 。 main()
{ char ch1,ch2,ch3; 输入语句
printf(“%c %c %c”,ch1,ch2,ch3);
} 输出形式:A B C 输入形式:A B C A) scanf(“%c%c%c”,&ch1,&ch2,&ch3); B) scanf(“%c,%c,%c”,&ch1,&ch2,&ch3); C) scanf(“%c %c %c”,&ch1,&ch2,&ch3); D) scanf(“%c%c”,&ch1,&ch2,&ch3); 5. int j=-1; if(j<=1)printf(“***\\n”); else printf(“%%%\\n”); A、*** B、%%% C、***\\n D、%%%\\n
6. 有一输入语句scanf(“%d”,k);则不能使float类型变量k得到正确数值的原因是【8】和【9】。格式控制符应为%f;变量k前缺少& 7、写出下面程序的输出结果。 (1) main() {char c1,c2; c1=65;c2=66;
printf(\printf(\}
a ,66 65,b
四、逻辑运算与判断选取控制
2. 判断char型变量ch是否为大写字母的正确表达式是 C 。
A)‘A’<=ch<=‘Z’ B)(ch>=‘A’)&(ch<=‘Z’) C)(ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch)
4. 设有:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b)&&(n=c>d)后n的值为 A 。 A) 0 B) 2 C) 3 D) 4 5. 以下程序的运行结果是 B 。 main()
{ int a,b,d=241; a=d/100%9; b=(-1)&&(-1);
printf(“%d,%d”,a,b); }
A) 6,1 B) 2,1 C) 6,0 D) 2,0 7. 以下程序的运行结果是 C 。 main()
{ int m=5; if(m++>5) printf(“%d\\n”,m);
else;
printf(“%d\\n”,m--); }
A) 4 B) 5 C) 6 D) 7
8. 若运行时给变量x输入12,则以下程序的运行结果是 D 。 main()
{ int x,y;
scanf(“%d”,&x); y=x>12 ? x+10 : x-12; printf(“%d\\n”,y);
} A) 4 B) 3 C) 2 D) 0 7. 以下程序的运行结果是_。 main( ) { int i , j;
a = 3; b = 5;
printf(“a=%d,b=%d\\n”, a,b); c = (++a) * b;
printf(“a=%d,b=%d\\n”, a,b); printf(“c=%d\\n”, c); }
a=3,b=5 a=4,b=5 c=20
五、循环控制
选择1.设有程序段 int k=10; while(k=0)k=k-1;
这下面描述中正确的是___C______.
a)while循环执行10次 b)循环是无限循环 c)循环体语句一次也不执行 d)循环体语句执行一次
5.以下程序段____C____. x=-1; do{
x=x*x; }
while(!x); a)是死循环 b)循环执行二次 c)循环执行一次 d)有语法错误
8.若i为整型变量,则以下循环执行次数是__B___. for(i=2;i==0;)printf(\
a)无限次 b)0次 c)1次 d)2次 10.以下正确的描述是___B____.
a)continue语句的作用是结束整个循环的执行 b)只能在循环体内和switch语句体内使用break语句
c)在循环体内使用break语句或continue语句的作用相同 d)从多层循环嵌套中退出时,只能使用goto语句
3.下面程序的运行结果是_____s=254____. #include
{int a,s,n,count; a=2;s=0;n=1;count=1;
while(count<=7){n=n*a;s=s+n;++count;} printf(\ }
4.下面程序段的运行结果是__369 【回车】__sum=20__. main()
{ int i=1,sum=0; While(i<=10)
{ if ( i%3==0)
{ sum+=i; printf(“-”,i); } i++;
}
printf(“”\\n);
prinf(“sum=%d”,sum); }
5.下面程序段的运行结果是__D____. main() { int n=3; switch(n) {
case 0: printf(“A”);break; case 1: printf(“B”);break; case 2: printf(“C”);break; case 3: printf(“D”);break;
default:printf(“E”); }
7. 下面程序的运行结果是_3 6 9____. main()
{ int i,sum=0; for (i=1;i<=10;i++)
if ( i%3!=0) continue;
printf(“-”,i); } printf(“”\\n);
} 六、数组
1.已知int a[10];则对a数组元素引用不正确的是( ) A.a[10] B.a[4+5] C.a[10-6] D.a[2]
2.以下对二维数组a的正确说明是___C_____.
a)int a[3][]; b)float a(3,4); c)double a[1][4] d)float a(3)(4); 6.若有定义:int a[6]={1,2,3,4,5};则语句a[1]=a[3]+a[2+2]-a[3-1];运行后a[1]的值为( )
A.6 B.5 C.1 D.2 7.下面程序段的运行结果是____D_____. int main() {
int i,t,a[10]={25,40,29,8,17,6,15,4,3,2}; t=a[0];
for(i=0;i<10;i++) if(a[i] return 0; } a)29 b)40 c)15 d)2 填空 1. 若有定义:double x[3][5];则x数组中行下标的下限为____0_____,列下标的上限为___4______. 七、函数 选择 2.以下正确的函数定义形式是___A_____. a)double fun(int x,int y) b)double fun(int x; int y) c)double fun(int x, int y); d)double fun(int x,y); 3.C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式为__B____. A)地址传递 B)单向值传递 C)由实参传给形参,再由形参传回给实参 D)由用户指定传递方式 填空 1.以下程序的运行结果是_____.max is 2 #include {int a=1,b=2,c; c=max(a,b); printf(\ } int max(int x,int y) {int z; z=(x>y)?x:y; return(z); } 3.以下程序的运行结果是____4+5=9____. #include
正在阅读:
C语言各章节练习题(含答案)09-12
中学2019上半年语文教研组工作总结05-24
实验1 HDFS Java API编程10-04
网络十大经典鬼故事02-07
师德师风学习计划12-11
HACCP小组内部审核检查表08-20
业主委员会工作总结 - 图文07-04
裴斯泰洛齐的教育思想08-13
夏季防中暑小常识05-18
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 练习题
- 答案
- 语言
- 章节
- 创新方法工作专项2015年度项目申报指南
- 硫酸二甲酯使用注意
- 陶家寨小学义务教育均衡发展迎检汇报材料
- 毕业论文 - 基于神经网络的指纹识别
- 电子政务系统性研究
- 专题12+中国特色社会主义建设的道路-2018届高三历史百所好题速递分项解析汇编+Word版含解析(1)
- 2016年度全球43大婚礼最佳举办地点
- 电气事故处理规程
- 广东省中山市三角中学2013届九年级4月模拟考试英语试题
- 会计基础练习题及答案(1)
- 09概率论考试题
- 2014届高考数学一轮复习 第9章 第2节《古典概型》名师首选练习题 新人教A版
- 1到100的序数词和基数词
- 输血反应的应急演练脚本
- 创业计划书简本
- 复习思考题
- 低饱和度
- 中学历史名校文化建设浅探
- 杜鹃花
- 成本会计题目