C语言各章练习题
更新时间:2023-12-09 22:04:01 阅读量: 教育文库 文档下载
- c语言各章知识点总结推荐度:
- 相关推荐
目录
第一章 程序设计和C语言 ...................................................................... 2 第二章 最简单的C程序设计 .................................................................. 2 第三章 选择结构程序设计 ...................................................................... 4 第四章 循环结构程序设计 ...................................................................... 8 第五章 数组............................................................................................. 13 第六章 函数............................................................................................. 17 第七章 指针............................................................................................. 22
1/28
第一章 程序设计和C语言
一、选择题:
1. 一个C程序的执行是从( A )
A、本程序的main函数开始,到main函数结束
B、本文件第一个函数开始,到本文件的最后一个函数结束 C、本程序的main函数开始,到本文件的最后一个函数结束 D、本文件的第一个函数开始,到本文件的main结束 2. 以下说法不正确的是( D)
A、一个C源程序可由一个或多个函数组成 B、一个C程序必须包含一个main函数 C、C程序的基本组成单位是函数
D、在C程序中,注释说明只能位于一条语句的后面
3. C语言规定:在一个源程序中,main函数的位置( C )
A、必须在开始 B、必须在系统调用的库函数的位置 C、可以任意 D、必须在最后
4. 源程序program.c经编译产生的目标文件和连接后产生的可执行文件是( B )
A、program.bak和program.obj B、program.obj和program.exe C、program.exl和program.c D、program.bak和prgram.exe
第二章 最简单的C程序设计
一、选择题
1. 是合法的用户自定义标识符的( D )
A、ah-spks B、double C、
A、%x B、a+b C、a123 D、test! 3. 以下不能定义为用户标识符的是(C )
A、Void B、b_2 C、int D、name 4. 以下选项中可作为C语言合法整数的是( D )
A、11010(B) B、0583 C、x2b2 D、0xafb 5. VC++6.0中的短整型数值在计算机中占用的字节个数是( B )
A、1 B、2 C、3 D、4
6. 设short int型的数据长度为2个字节,则unsigned short 类型数据的取值范围是( B )
P34
A、均为2个字节 B、0至65535 C、-3276至32767 D、-256至255 7. 以下选项中可作为C语言合法常量的是( A )(指数E或e前必须有数字,后面必
须有整数) A、-80.0 B、-080 C、-8e1.2 D、-80.0e
8. 在VC++6.0编译环境下,下列式中,值不为4的表达式是( D )P34,double为8字
节
A、sizeof(unsigned long) B、sizeof(long) C、sizeof(unsigned int) D、sizeof(double)
2/28
9. 设有说明语句:char a=?\\123?;则变量a( A )一个ascii字符
A、包含1个字符 B、包含2个字符 C、3个字符 D、说明不合法 10. 设x为一数字字符,则其所对应的十进制数值为( B )。
A、x B、x-?0? C、*x D、&x 11. 已知大写字母A的ASCII码值是65,a的ASCII码值是97,则用八进制表示的字符常
量‘\\101?为( A ) A、字符A B、字符a C、字符e D、非法常量 12. 执行语句:int a=?1?+1.5;后,正确的叙述是( D )
A、a的值是字符‘3’ B、a的值是浮点数 C、不允许字符型和浮点型相加 D、a的值是字符?1?的ASCII码加1 13. 若a为int类型,且其值为5,则执行表达式a+=a-=a*a后,a的值是( B )
A、-5 B、-40 C、-15 D、不确定 14. 设整型变量a的值为2,下列表达式值为1的是( C )
A、a%3 B、a/3 C、--a D、a++ 15. 设变量a、b、c已定义并赋值,则下列表达式中符合C语言语法规则的是( B )
A、a=5++ B、a=b=c++ C、a=%2 D、b=a+1=2 16. 下列式中,最终运算结果的数据类型不是浮点型的表达式的是( A )
A、(int)(3+3.0) B、1e-3 C、(float)(3) D、(int)3.0+3.0 17. 设整型变量x、y、z均为2,表达式(x++)+(y++)+(z++)的值是( A )P45
A、6 B、7 C、8 D、9 18. C语言中计算a3的正确表达式是( C ) P278 附录E
A、a^3 B、a**3 C、pow(a,3) D、power(a,3) 19. 下列表达式的值为0的是( A )
A、7/8 B、7%8 C、7/8.0 D、7<8 20. 设float m=4.0, n=4.0; 使m为10.0的表达式是( D )
A、m-=n*2.5 B、m/=n+9 C、m*=n-6 D、m+=n+2 21. C语言中运算对象必须是整型的运算符是( A )。
A、%= B、/ C、= D、<= 22. C标准函数中,数学函数原型在( B )头文件中。
A、stdio.h B、math.h C、string.h D、etype.h 23. putchar函数可以向终端输出一个( D )P65
A、整数 B、实数 C、字符串 D、字符 24. 设有语句scanf(%d,%d”,&m,&n);要使m、n的值依次是2、3,正确是输入是( B )
A、2 3 B、2,3 C、2;3 D、2 3 25. 设变量定义为int a,b;执行下列语句时,输入( B ),则a和b的值都是10
scanf(“%d,%d”,&a,&b); A、10 10 B、10,10 C、a=10 b=10 D、a=10,b=10 26. 有如下程序段:
int a=3,b=15; float f=7.5;
printf(“%.1f”,(float)a+b/2+(int)f%3); 执行该程序段后,运算结果为:( B ) A、11.5 B、11.0 C、11 D、12.0
3/28
27. 数字字符0的ASCII值为48,若有以下程序
main()
{ char a='1',b='2';
printf(\ printf(\
}
程序运行后的输出结果是 ( C ) A、3,2 B、50,2 C、2,2 D、2,50 28. 有以下程序 void main()
{ int m=12,n=34;
printf(\ printf(\
}
程序运行后的输出结果是 ( A ) A、12353514 B、12353513 C、12343514 D、12343513 29. 有以下程序
main()
{ int m,n,p;
scanf(\ printf(\
}
若想从键盘上输入数据,使变量m中的值为123,n中的值为456,p中的值为789,则正确的输入是( A )
A、m=123n=456p=789 B、m=123 n=456 p=789 C、m=123,n=456,p=789 D、123 456 789 30. ?short int a=-2;printf(“%hu”,a);输出为( C )
A、2 B、-2 C、65534 D、-65534
二、填空题
1. 设int a=3,b=5;float x=7.5,y=3.5;则表达式:(float)a+b/2+(int)x%(int)y是值是 6.0 。 2. 一个三位整数n的中间一位数字可表示为 n/10 。 3. 代数式
3?ab表示成C表达式为 (3+a*b)/(c+d) c?d第三章 选择结构程序设计
一、选择题
1. 在C程序中,用(A )表示逻辑”真”。
A、1 B、非0的数 C、非1的数 D、大于0的数 2. 若有定义:int x=2,y=3,z=4;则表达式!(x+y)+z-1&&y+z%2的值为( C )
A、4 B、0 C、1 D、2 3. 设int a=0,b=0,c=0;c=++a||b++;则a、b、c值分别为( D )P77
4/28
A、0 1 0 B、1 1 1 C、1 1 0 D、1 0 1 4. 执行语句:int a=1,b=0,c;c=a>0||++b;后,b的值为( A )
A、0 B、1 C、2 D、不确定 5. 为表示关系x>y>=z,则正确的c语言表达方式为( C )。
A、(x>y>=z) B、(x>y)and(y>=z) C、(y
6. 若变量ch为char类型,能正确判断出ch为大写字母的表达式是( D )
A、?A?<=CH<=‘Z’ B、(ch>=?A?)||(ch<=?Z?) C、(?A?<=ch) and (?Z?>=ch) D、(ch>=?A?)&&(ch<=?Z?) 7. ?若变量已正确定义,语句”if(x>y) z=0;else z=1”和( C )等价。
A、z=(x>y)?1:0 B、z=x>y; C、z=x<=y; D、x<=y?0:1 8. 最适合解决选择结构”a>=0,则b=1;否则b=0”的语句是( B )
A、if B、if—else C、switch D、嵌套的if--else 9. 若a=3, 执行下列语句后, b的值为 ( D )(两个if..else语句)
if (a>=2) if( a!= 2) b=3; else b=2; else b=1; A、0 B、1 C、2 D、3
10. 若整型变量a、b、c、d中的值依次为:1、4、3、2。则条件表达式a
( A )(相当于a>b?a:(c>d?c:d)) A、1 B、2 C、3 D、4 11. 逗号表达式(a=4*5,a*2),a+15 的值是( A )
A、35 B、40 C、55 D、20 12. 设int a=5, b=4; 则表达式(a = b++)?++a:b++)的值是( B )
A、4 B、5 C、6 D、3 13. 有以下程序
main() {
int a,b,d=25;
a=d/10%9; b=a&&(-1);
printf(\
}
程序运行后的输出结果是( B )
A、6,1 B、2,1 C、6,0 D、2,0 14. 有以下程序
main()
{ int i=1,j=2,k=3;
if(i++==1&&(++j==3||k++==3)) printf(\ %d %d\\n\
}
程序运行后的输出结果是 ( D )
A、1 2 3 B、2 3 4 C、2 2 3 D、2 3 3 15. 有以下程序
main()
{ int a = 0,b = 0,c = 0,d = 0;
5/28
if (a = 1)b = 1; c = 2; else d = 3;
printf(\}
程序输出( D ) A、0,1,2,0 B、0,0,0,3
C、1,1,2,0 D、编译有错
二、 填空题
1. 条件判断语句包括if语句和 switch 语句。
2. 判断两个float类型变量x,z是否相等,一般语句:if( abs(x-z)<1e-6 )。 3. 表达式1<0<2的值是 1 4. 以下程序运行后的输出结果是 4 5 99
main() {
int a=3,b=4,c=5,t=99; if(b
}
5. 以下程序运行后的输出结果是 10 20 0 P77
main() {
int a,b,c;
a=10;b=20;c=(a%b<1)||(a/b>1); printf(\
}
三、 写出程序运行的结果
【程序1】 #include
【程序2】 #include
{ int x=1,y=1,a=0,b=0; switch(x)
{case 1:switch(y) { case0:a++; case 1:b++;
6/28
case2:b++;break; }
case 2:a++;b++;break; case 3:a++;b++;
}
printf(\
} a=1,b=3
【程序3】#include
输入:3210 输出结果: 6 45 34 1 四、 程序设计
1. 设计程序实现从键盘接收3个数,输出最大数和最小数。
1 #include
int a,b,c,max,min;
printf(\ scanf(\ if(a>b) max=a,min=b; else max=b,min=a;
if(a>c) max=a,min=c; else max=c,min=a; if(b>c) max=b,min=c;
else max=c,min=b;
printf(\ }
return 0;
7/28
2#include
void main() { int a, b, c; printf(\请输入三个数:\\n\ scanf(\ int max = a; int min = a; if (max < b)
max = b;
else min = b; if (max < c) max = c; else if (min > c) min = c; printf(\最大数为%d\\n最小数为%d\\n\max, min); }
2.输入一百分制的成绩,输出他的等级,90以上“A”等,80-89为“B”等,70-79为“C”等,60-69为“D”等,60以下为“E”等。 1#include
2#include
void main() { int score, i; printf(\ scanf(\ i = score / 10; switch (i)
}
{
case 10:
case 9: printf(\case 8: printf(\case 7: printf(\case 6: printf(\default: printf(\}
int m,s;
printf(\scanf(\m=s/10;
if(m<=10 && m>=9) printf(\
else if(m<9&&m>=8) printf(\
if(m<8 if(m<7
&&
m>=7)
else printf(\ else printf(\
&&m>=6)
else printf(\
return 0; }
第四章 循环结构程序设计
一、选择题:
1. 以下叙述正确的是( D )
A、do-while语句构成的循环不能用其它语句构成的循环来代替 B、do-while语句构成的循环只能用break语句退出
8/28
C、do-while语句构成的循环,在while后的表达式为非零时结束循环 D、do-while语句构成的循环,在while后的表达式为零时结束循环 2. 设有程序段: int k=10;
while(k=0) k=k-1;
则循环体执行的次数为( C ) A、10次 B、9次 C、0次 D、1次 3. 有以下循环:
int i;
for(i=0;i<10;i++)i++; 循环次数为:( B ) A、10 B、5 C、6 D、7 4. 语句while(!end);中的条件!end等价于( A )
A、end==0 B、end!=1 C、end!=0 D、-end 5. 设变量y值为3,执行下列循环语句后,变量y的值的是( C )
do y++; while(y++<4); A、3 B、4 C、5 D、6 6. ?执行语句for(i=1;i++<4;); 后变量i的值是( C )
A、3 B、4 C、5 D、0 7. ?下列( D ) 循环不是无限循环
A、for(y=0; x=1 ; ++y); B、for(; ; x=0); C、while (x=1) {x=1; } D、for(y=0,x=1;x> ++ y; x++) ; 8. 有以下程序
main()
{ int a=1,b;
for(b=1;b<=10;b++) { if(a>=8) break;
if(a%2==1) { a+=5; continue;} a-=3; }
printf(\
}
程序运行后的输出结果是 ( B )
A、3 B、4 C、5 D、6 9. ?下列程序运行的结果是(D )
#include
int y = 10;
do{ y--; } while (--y); printf(\}
A、-1 B、-2 D、1 D、0
9/28
二、 程序填空
【程序1】求两个整数m 和n 最大公约数。 # include
{ int m, n, a, b, r;
scanf(\%d%d\, &m, &n); a=m; b=n;
do{ r= a%b ;
a=b;
b= r ;
} while ( b!=0 );
printf(\The greatest common divide of %d and %d is %d\\n\ , m, n, a);
}
【程序2】下列程序的主要功能是计算并输出(1)×(1+2)×(1+2+3)×?×(1+2+?+10),
将程序中横线处缺少的部分填上。
# include
{float y=1 ,x; int i,j;
for(i=1;i<11;i++)
{ x=0 ; for(j=1;j<=i;j++) x=x+j ; y=y*x; }
printf(\%f\\n\,y); }
三、 阅读程序,写出运行结果 [程序1] #include
main( )
{ int i, m=0, n=0, k=0;
for(i=5;i<=7;i++) switch(i/6)
{ case 0: m++; n++;
case 6: n++; break; default: k++; n++; }
printf(\%d,%d,%d\\n\, m, n, k); }1,4,2
【程序2】#include
for(i=0;i<=3;i++)
10/28
正在阅读:
C语言各章练习题12-09
2015--2016学年度第一学期四年级中段学业水平调研测试数学试卷11-07
工程项目进度管理开题报告04-09
辩论赛 能力比学历更重要 一辩 攻辩小结08-16
关于阑尾炎手术的后遗症05-24
人教版六年级语文下册期末试题及参考答案05-21
2016年北仑区语文中考模拟卷12-05
移动式操作平台搭设方案(7.10)06-10
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 各章
- 练习题
- 语言