C语言程序设计习题集及答案
更新时间:2023-12-25 14:58:01 阅读量: 教育文库 文档下载
C语言程序设计
习题集
桂林电子科技大学
2010.6
基础知识
一 单项选择题(每题2分,共44分) 1 以下叙述正确的是___。
A C程序基本组成单位是语句 B C程序每一行只能写一个语句 C 简单C语句必须以分号作为结束符 D 注释语句可以嵌套 2 一个C语言程序是从___开始执行的。
A 程序中第一个函数 B 名为main的函数 C 包含文件(头文件)的第一个函数 D 程序中的第一个语句 3 请选出合法的C语言赋值语句___。
A a=b=58 B i++; C a=58,b=58 D k=int(a+b); 4 下面标识符中,合法的用户标识符是 ___。
A 1abc B include C a-b-c123 D char 5 以下所列的C语言整形常量中,正确的是___。
A 0x10 B 0976 C 076L D 01ff 6 C语言中下列运算符的操作数必须为整型的是___。
A % B ++ C / D = 7 设a和b均为int型变量,则执行以下语句后的输出为___。
int a=20; int b=3; printf(\%d\\n\,a+=(b%=2));
A 20 B 21 C 0 D 23 8 已知int i;,则执行语句 i=2.6;后,i的值为___。
A 2 B 3 C 2.6 D 不确定 9 以下合法的字符常量为___。
A 'ab' B '\\482' C '\\' D '\\xaf' 10 若y为int型变量,则执行以下语句后,y的值是___。
y=8; y+=y-=y*y;
A 64 B –56 C –112 D –48 11 以下合法的浮点型常量是___。
A e-3 B 1.5e+2.4 C 3.14e+2L D 3.14 e +5
12 设int数据占用两个字节,float数据占用四个字节,double数据占用8个字节,且已知float a=2;int b=3;则执行下列语句输出为___。 printf(\%d\,sizeof(a*b)+2/5);
A 4 B 8 C 6 D 7
13 设int型占2个字节,且int i=-2;,则语句printf(\%u\,i);的输出结果为___。
A 0 B -2 C 65534 D 65535 14 若x、y、z均为整型常量,且a=100,则执行下列语句后的z值为___。
x=a++; y=--a; z=x+y-a--;
A 100 B 400 C 200 D 300 15 若有以下定义和语句:int u=010,v=0x10,w=10,printf(\%d,%d,%d\\n\,u,v,w);,则输出结果是___。
A 8,16,10 B 10,10,10 C 8,8,10 D 8,10,10 16 设x、y为int型变量,则执行下列语句后,y的值是___。
x=5; y=x++*x++; y=--y*--y;
A 529 B 2401 C 1209 D 625
1
17 假设在程序中a,b,c 均被定义成整型,并且已赋大于1的值,则下列能正确表示代数式
1的表达式是____。 abcA 1/a*b*c B 1/(a*b*c) C 1/a/b/(float)c D 1.0/a/b/c 18 若有定义:int a=8,b=5,c;char d='A';,则执行语句c=a/b+d%a+0.5;后c的值为___。
A 2 B 2.5
C 3 D 类型不一致,无法计算,编译出错 19 在有以下程序:
main()
{ int i=10,j=1; i=i+j++;
printf(\%d,%d,%d\\n\,i++,++j,i); }
执行后输出结果是___。
A 12,3,11 B 12,2,11 C 11,3,11 D 12,3,12 20 已知int i=65;,则putchar(i);printf(\%d\,i);printf(\%c\,i);的输出结果为___。
A A,65,A B 65,65,A C A,A,65 D A,A,A 21 已知int y,a,i=1;,则语句printf(\%d,%d\,-i++,(y=a=3.6*3));的输出结果为___。
A -1,10 B -2,1.8 C 0,3 D 1,18 22 有以下程序:
main()
{ char a,b,c,d;
a='\\'; b='\\xbc'; c='\\0xab'; d='\\023';
printf(\%c%c%c%c\\n\,a,b,c,d); }
编译时出现错误,以下叙述中正确的是___。
A 程序中只有a='\\';语句不正确 B b='\\xbc';语句不正确
C d='\\023';语句不正确 D a='\\';和c='\\0xab';语句都不正确
二 填空题(第1题2分,其余每题3分,共56分)
1 设x为int型变量,请写出描述“x是偶数”的表达式是___。
2 已知scanf(\a=%d,b=%d,c=%d\,&a,&b,&c);,若从键盘输入2、3、4三个数分别作为变量a、b、c的值则正确的输入形式是___。
3 设有语句int a=3;,则执行了语句 a+=a-=a*a后,变量a的值是___。 4 以下程序的输出结果是___。
main()
{ int a=-10,b=-3;
printf(\%d\\n\,-a++); printf(\%d\\n\,-a+b); }
5 以下程序的输出结果是___。
main() { char c;
2
c=0362;
printf(\%d\n\,c);
}
6 以下程序段(n所赋的是八进制数)执行后输出结果是___。
int m=32767,n=032767; printf(\%d,%o\\n\,m,n); 7 字符串\\\\\name\\\\\\101ddress\\b\\xaf\的长度为:___。 8 有以下程序段:
int m=0,n=0; char c='a'; scanf(\%d%c%d\,&m,&c,&n); printf(\%d,%c,%d\\n\,m,c,n);
若从键盘上输入:10A10<回车>,则输出结果是___。 9 以下程序的输出结果是___。
main()
{ printf(\%d,%o,%x\\n\,10,10,10); printf(\%d,%d,%d\\n\,10,010,0x10); printf(\%d,%x\\n\,012,012); }
10 设a、b、c为整形变量,且a=2、b=3、c=4,则执行完语句 a*=16+(b++)-(++c);之后,
变量a的值为___。
11 以下程序的输出结果为___。
main()
{ int x=023;
printf(\%x\\n\,--x); }
12 以下程序的结果为___。
main()
{ int a=2,b=3,c,d; c=(a++)+(a++)+(a++); d=(++b)+(++b)+(++b);
printf(\a=%d c=%d\\n\,a,c); printf(\b=%d d=%d\\n\,a,d); } 13 以下程序
main()
{ char ch1,ch2,ch3;
scanf(\%c%c%c\,&ch1,&ch2,&ch3);
printf(\%c%c%c%c%c\,ch1,'#',ch2,'#',ch3); }
当输入ABC时运行结果为 【1】 ,当输入A BC时运行结果为 【2】 。 14 若有定义:float x;,以下程序段的输出结果是___。
x=5.16894;
printf(\%f\\n\,(int)(x*1000+0.5)/(float)1000);
15 以下程序的功能是:输入一个小写字母,输出对应的大写字母,将程序补充完整。
main()
3
{ char ch;
【1】 /* 从键盘输入一个小写字母 */ 【2】 /* 将该字母转换为大写字母 */ 【3】 /* 输出转换后的结果 */ }
16 当运行以下程序时,在键盘上从第一列开始输入9876543210↙(此处↙代表回车),则
程序的输出结果是___。 main()
{ int a; float b,c;
scanf(\-?O\,&a,&b,&c);
printf(\\\na=%d,b=%f,c=%f\\n\,a,b,c); }
17 以下程序的运行结果是___。
main()
{ printf(\.5f\\n\,123.1234567); printf(\f\\n\,123.1234567); printf(\.8d\\n\,12345);
printf(\.8s\\n\,\abcdefghij\); }
18 运行以下程序时,如从键盘上输入abcdefg↙,则输出结果是___。
main()
{ char ch1,ch2,ch3;
ch1=getchar(); ch2=getchar(); ch3=getchar(); putchar(ch1); putchar(ch2); putchar(ch3); putchar('\\n'); }
19 运行以下程序时,如从键盘上输入:a=3,b=5↙35,35.12↙abc↙后,结果是___。
main()
{ int a,b; float x,y; char c1,c2; scanf(\a=%d,b=%d\,&a,&b); scanf(\%f,%e\,&x,&y);
scanf(\%c%c%c\,&c1,&c1,&c2);
printf(\a=%d,b=%d,x=%f,y=%f,c1=%c,c2=%c\\n\,a,b,x,y,c1,c2); }
顺序、选择结构程序设计
一 单项选择题(每题2分,共40分)
1 以下程序运行后的输出结果是___。
main()
{ int a=0,b=0;
a=10; b=20; printf(\a+b=%d\\n\,a+b); }
4
i++; } ??
}
A 1 B 10 C 6 D 死循环 2 以下程序的执行结果是___。
main()
{ int n=9;
while(n>6) { n--; printf(\%d\,n); } }
该程序的输出结果是
A 987 B 876 C 8765 D 9876 3 以下程序段,while循环执行的次数是___。
int k=0;
while(k=1) k++;
A 无限次 B 有语法错 C 一次也不执行 D 执行1次 4 以下叙述正确的是___。
A do-while语句构成的循环不能用其它语句构成的循环来代替 B do-while语句构成的循环只能用break语句退出
C 用do-while语句构成的循环,在while后的表达式为非零时结束循环 D 用do-while语句构成的循环,在while后的表达式为零时结束循环 5 以下程序的执行结果是___。
main()
{ int a,y;
a=10; y=0; do{ a+=2; y+=a;
printf(\a=%d y=%d\\n\,a,y); if(y>20) break; }while(a=14); }
A a=12 y=12 B a=12 y=12 a=14 y=16 a=16 y=28 a=16 y=20 a=18 y=24
C a=12 y=12 D a=12 y=12
a=14 y=26 a=14 y=44
6 以下程序的执行结果是___。
main()
{ int x=23;
do{ printf(\%d\,x--); }while(!x); }
A 321 B 23 C 不输出任何内容 D 陷入死循环 7 有以下程序段,输出结果是___。
int x=3;
do { printf(\%d \,x-=2); }while(!(- -x));
10
A 1 B 3 0 C 1 -2 D 死循环 8 以下程序的输出结果是___。
main()
{ int a=0,i;
for(i=1;i<5;i++) { switch(i)
{ case 0: case 3: a+=2; case 1: case 2: a+=3; default:a+=5; } }
printf(\%d\\n\,a); }
A 31 B 13 C 10 D 20 9 以下程序的输出结果是___。
main()
{ int i=0,a=0; while(i<20) { for(; ;)
if((i)==0) break; else i--; i+=11; a+=i; }
printf(\%d\\n\,a); }
A 21 B 32 C 33 D 11 10 以下循环体的执行次数是___。
main()
{ int i,j;
for(i=0,j=1;i<=j+1;i+=2,j--) printf(\%d \\n}
A 3 B 2 C 1 D 0 11 下列程序的输出结果是___。
main()
{ int i,j,m=0,n=0; for(i=0; <2;i++) for(j=0;j<2;j++) if(j>=i) m=1;n++; printf(\%d\\n\,n);
}
A 4 B 2 C 1 D 0 12 下列程序的输出结果是___。
main()
{ int i,sum;
for(i=1;i<=3;sum++) sum+=i; printf(\%d\\n\,sum);
11
\,i);
}
A 6 B 3 C 死循环 D 0 13 以下程序执行后sum的值是___。
main()
{ int i,sum;
for(i=1;i<6;i++) sum+=i; printf(\%d\\n\,sum); }
A 15 B 14 C 不确定 D 0 14以下程序执行后的输出结果是___。
main()
{ int i,n=0;
for(i=2;i<5;i++)
{ do{ if(i%3) continue; n++; } while(!i); n++; }
printf(\n=%d\\n\,n); }
A n=5 B n=2 C n=3 D n=4 15 下列语句中,能正确输出26个英文字母的是___。
A for(a='a';a<='z';printf(\%c\,++a)); B for(a='a';a<='z';) printf(\%c\,a); C for(a='a';a<='z';printf(\%c\,a++)); D for(a='a';a<='z';printf(\%c\,a)); 16 以下程序执行后的输出结果是___。
main()
{ int x=1,y=1; while(y<=5)
{ if(x>=10) break; if(x%2==0)
{ x+=5; continue; } x-=3; y++; }
printf(\%d,%d\,x,y); }
A 6,6 B 7,6 C 10,3 D 7,3 17 以下程序执行后的输出结果是___。
main()
{ int a=5;
while(!(a-->5)) { switch(a)
{ case 1:a++; case 4:a+=4;
case 5:a+=5;break; default:a-=5; } }
printf(\%d\\n\,a);
12
}
A 12 B 7 C 5 D 13 18 对于下面的for循环语句,可以断定它执行___次循环。
for(x=0,y=0;(y!=67)&&(x<5);x++) printf(\----\);
A无限 B 不定 C 5次 D 4次 19 在执行以下程序时,如果从键盘上输入:ABCdef,则输出结果为___。
#include \stdio.h\ main()
{ char ch;
while((ch=getchar())!='\\n')
{ if(ch>='A' && ch<='Z') ch=ch+32;
else if(ch>='a' && ch<='z') ch=ch-32; printf(\%c\,ch); }
printf(\\\n\); }
A ABCdef B abcDEF C abc D DEF 20 当执行以下程序时,___。
int a=1;
do{ a=a*a; }while(!a);
A 循环体将执行1次 B 循环体将执行2次 C 循环体将执行无限次 D 系统将提示有语法错误
二 填空题(每空3分,共33分)
1 若输入字符串:abcde<回车>,则以下while循环体将执行___次。
while((ch=getchar())=='e') printf(\*\); 2 以下while循环执行的次数是___。
k=0; while(k=10) k=k+1; 3 下列程序的输出结果是___。
main()
{ int x=0,y=5,z=3;
while(z-->0 && ++x<5) y=y-1; printf(\%d,%d,%d\\n\,x,y,z); }
4 下面程序的功能是:计算1到10之间的奇数之和及偶数之和,请填空。
main()
{ int a,b,c,i; a=c=0;
for(i=0;i<=10;i+=2) { a+=i;
_ 【1】 ; c+=b; }
printf(\偶数之和=%d\\n奇数之和=%d\\n\,a, 【2】 ); }
5 下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。
main()
13
{ int i,j;
for(i=0; _ 【1】 ; i++) { j=i*10+6;
if(_ 【2】 )continue; printf(\%d\\n\,j); } }
6 以下程序的输出结果是___。
main()
{ int s,i;
for(s=0,i=1;i<3;i++,s+=i); printf(\%d\\n\,s); }
7 要使以下程序段输出10个整数,请填入一个整数。
for(i=0;i<=___;printf(\%d \\n\,i+=2)) ; 8 程序的功能是根据以下近似公式求π值:
?2111
?1?????62?23?3n?n
请填空完成求π的功能。
#include \math.h\ main()
{ int n=30000; double s=0.0; long i; for(i=1;i<=n;i++) s=s+_ 【1】 ; printf(\pi=%f\\n\,_ 【2】 ); }
三 程序填空题(每空3分,共27分)
1111?????1 下列程序是求 的值。
2450#include \stdio.h\ main()
{ int i=2; float sum=1;; while( 【1】 )
{ sum=sum+1.0/i; 【2】 ; } printf(\sum=%f\\n\, 【3】 ); }
2 以下程序的功能是从键盘输入若干个学生的成绩,统计最高成绩和最低成绩,当输入为负数时,结束输入。 main()
{ float x,max,min; scanf(\%f\,&x);
max=min= 【1】 ; do{ if(x>max) max=x;
if(x 14
正在阅读:
C语言程序设计习题集及答案12-25
医院科室主任个人试用期工作总结范文02-26
延庆2011-2012学年第一学期期末试卷初三数学05-18
2011届实验设计与数据处理大作业03-10
建设工程安全监理的安全控制措施标准版本04-12
乡村公路养护工程施工组织设计12-20
重点中学招生考试数学试卷二04-12
交易性金融资产案例10-13
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 习题集
- 程序设计
- 答案
- 语言
- 施敏 半导体器件物理英文版 第一章习题
- 实验7 循环伏安法测定铁氰化钾的电极反应过程
- 湘建建〔2010〕107号
- 玉带河冬季施工方案
- 通信原理实验指导书(tx80学时)
- 员工调查表
- 3D Max - 图文
- 2019年整理乡镇城乡环境综合治理工作总结
- 广西民族大学留学生招生简章越南语版本 - 图文
- 企业文化、企业精神、发展理念、服务理念口号标语大全 企业理念大全
- 混凝土冬季施工方案
- 2.5.1兼职教师评聘、管理与考核制度
- 市政工程设计概算编制办法
- 会计比率的公式
- 最新-林业站2019年上半年工作总结 精品
- 网络营销PPT - 图文
- 人力资源量化管理(36个关键绩效指标) - 图文
- 陈省身杯四年级组模拟题(一)
- 2017-2022年中国核电工程建设市场调研与发展前景分析报告(目录)
- 5.4-22检测设备期间核查计划