C配套实验习题及答案.docx
- 文档编号:14785863
- 上传时间:2023-06-27
- 格式:DOCX
- 页数:132
- 大小:73.42KB
C配套实验习题及答案.docx
《C配套实验习题及答案.docx》由会员分享,可在线阅读,更多相关《C配套实验习题及答案.docx(132页珍藏版)》请在冰点文库上搜索。
C配套实验习题及答案
第1章绪论
一、选择题
1、结构化程序设计所规定的三种基本控制结构是(C)。
A)输入、处理、输出 B)树形、网形、环形
C)顺序、选择、循环 D)主程序、子程序、函数
2、要把高级语言编写的源程序转换为目标程序,需要使用(D)。
A)编辑程序 B)驱动程序 C)诊断程序 D)编译程序
3、以下叙述中正确的是(A)。
A)构成C程序的基本单位是函数
B)可以在一个函数中定义另一个函数
C)main()函数必须放在其它函数之前
D)所有被调用的函数一定要在调用之前进行定义
4、以下叙述中正确的是(C)。
A)C语言比其他语言高级
B)C语言可以不用编译就能被计算机识别执行
C)C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D)C语言出现的最晚,具有其他语言的一切优点
5、C语言中用于结构化程序设计的三种基本结构是(A)。
A)顺序结构、选择结构、循环结构
B)if、switch、break
C)for、while、do-while
D)if、for、continue
6、在一个C程序中(B)。
A)main函数必须出现在所有函数之前
B)main函数可以在任何地方出现
C)main函数必须出现在所有函数之后
D)main函数必须出现在固定位置
7、以下叙述中正确的是(A)。
A)C程序中注释部分可以出现在程序中任意合适的地方
B)花括号"{"和"}"只能作为函数体的定界符
C)构成C程序的基本单位是函数,所有函数名都可以由用户命名
D)分号是C语句之间的分隔符,不是语句的一部分
8、以下叙述中正确的是(B)。
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
9、用C语言编写的代码程序(B)。
A)可立即执行
B)是一个源程序
C)经过编译即可执行
D)经过编译解释才能执行
10、结构化程序由三种基本结构组成,三种基本结构组成的算法(A)。
A)可以完成任何复杂的任务
B)只能完成部分复杂的任务
C)只能完成符合结构化的任务
D)只能完成一些简单的任务
11、以下叙述中错误的是(C)。
A)C语句必须以分号结束
B)复合语句在语法上被看作一条语句
C)空语句出现在任何位置都不会影响程序运行
D)赋值表达式末尾加分号就构成赋值语句
12、下列叙述中错误的是(A)。
A)一个C语言程序只能实现一种算法
B)C程序可以由多个程序文件组成
C)C程序可以由一个或多个函数组成
D)一个C函数可以单独作为一个C程序文件存在
13、下列叙述中正确的是(C)。
A)每个C程序文件中都必须有一个main()函数
B)在C程序中main()函数的位置是固定的
C)C程序可以由一个或多个函数组成
D)在C程序的函数中不能定义另一个函数
14、下列叙述中错误的是(D)
A)计算机不能直接执行用C语言编写的源程序
B)C程序经C编译程序编译后,生成后缀为.obj的文件是一个二进制文件
C)后缀为.obj的文件,经连接程序生成后缀为.exe的文件是一个二进制文件
D)后缀为.obj和.exe的二进制文件都可以直接运行
15、对于一个正常运行的C程序,以下叙述中正确的是(A)
A)程序的执行总是从main函数开始,在main函数结束
B)程序的执行总是从程序的第一个函数开始,在main函数结束
C)程序的执行总是从main函数开始,在程序的最后一个函数中结束
D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
二、程序填空题
1、一个C语言程序是由函数组成的。
2、一个C语言程序总是从主/main函数开始执行。
3、在C语言里输入是由scanf函数实现,输出是由printf函数实现。
4、C语言源程序的基本单位是函数。
5、C语言中,当复合语句多于一条时,要求有一对{}括号。
6、一个C源程序必须经过_编译__和_链接__生成exe文件才能运行
7、在一个C程序中注释部分两侧的分界符分别为_/*_____和_*/___
8、C源程序的后缀名为___.c_____
9、编写计算机所程序所使用的语言称为__程序设计语言______。
10、程序设计语言的发展经历了三个阶段,分别是__机器语言__、_汇编语言_和__高级语言__
三、简单题
1、简述计算机程序的概念。
2、简述计算机程序的开发过程。
第2章基本数据类型及顺序结构程序设计
一、选择题
1、以下关于long、int和short类型数据占用内存大小的叙述中正确的是(D)
A)均占4个字节B)根据数据的大小来决定所占内存的字节数
C)由用户自己定义D)由C语言编译系统决定
2、以下选项中不合法的标识符是(C)
A)printB)FORC)&aD)_00
3、可在C程序中用作用户标识符的一组标识符是(A)
A)andB)DateC)HiD)case
_2007y-m-dDr.TomBig1
4、以下选项中不属于字符常量的是(B)
A)'C'B)"C"C)'\xCC0'D)'\072'
5、以下选项中,合法的一组C语言数值常量是(B)
A)028B)12.C).177D)0x8A
.5e-30Xa234e1.510,000
-0xf4.5e00abc3.e5
6、以下正确的字符串常量是(A)
A)"\\\"B)'abc'C)OlympicGamesD)""
7、下列定义变量的语句中错误的是(D)。
A)int_int; B)doubleint_; C)charFor; D)floatUSS
8、下列变量定义中合法的是(A)。
A)short_a=1.le-1; B)doubleb=1+5e2.5;
C)longdo=0xfdaL; D)float2_and=1e-3;
9、以下定义语句中正确的是(D)
A)inta=b=0;B)charA=65+1,b='b';
C)floata=1,*b=&a,*c=&b;D)doublea=0.0,b=1.1;
10、设有说明语句:
chara=’\72’;则变量a(A)。
A)包含1个字符B)包含2个字符C)包含3个字符D)说明不合法
11、若变量均已正确定义并赋值,以下合法的C语言赋值语句是(A)
A)x=y==5;B)x=n%2.5;C)x+n=i;D)x=5=4+1;
12、若变量x、y已正确定义并赋值,以下符合C语言语法的表达式是(A)
A)++x,y=x-- B)x+1=y C)x=x+10=x+y D)double(x)/10
13、若变量a、i已正确定义,且i已正确赋值,合法的语句是(B)。
A)a==1 B)++i; C)a=a++=5; D)a=int(i);
14、以下关于逻辑运算符两侧运算对象的叙述中正确的是(D)
A)只能是整数0或1 B)只能是整数0或非0的整数
C)可以是结构体类型的数据 D)可是任意合法的表达式
15、已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下不能正确判断出kk中的值为大写字母的表达式是(B)
A)kk>='A'&&kk<='Z'B)!
(kk>='A'‖kk<='Z')
C)(kk+32)>='a'&&(kk+32)<='z'D)isalpha(kk)&&(kk<91)
16、当变量c的值不为2、4、6时,值也为“真”的表达式是(B)
A)(c==2)‖(c==4)‖(c==6)B)(c>=2&&c<=6)‖(c!
=3)‖(c!
=5)
C)(c>=2&&c<=6)&&!
(c%2)D)(c>=2&&c<=6)&&(c%2!
=1)
17、有定义intx,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?
(x++):
(y++)中的条件表达式(x-y)等价的是(C)。
A)(x-y>0) B)(x-y<0) C)(x-y<║x-y>0) D)(x-y==0)
18、有如下程序段
inta=14,b=15,x;
charc=’A’;
x=(a&&b)&&(c<’B’);
执行该程序段后,x的值为(D)。
A)ture B)false C)0 D)1
19、设有intx=11;则表达式(x++*1/3)的值是(A)。
A)3 B)4 C)11 D)12
20、若变量已正确定义并赋值,下面符合C语言语法的表达式是(B)。
A)a:
=b+1 B)a=b=c+2 C)int18.5%3 D)a=a+7=c+b
21、设变量已正确定义并赋值,以下正确的表达式是(C)
A)x=y*5=x+zB)int(15.8%5)
C)x=y+z+5,++yD)x=25%5.0
22、C语言中运算对象必须是整型的运算符是(A)
A)%= B)/ C)= D)〈=
23、能正确表示逻辑关系:
“a≥=10或a≤0”的C语言表达式是(D)。
A)a>=10ora<=0 B)a>=0|a<=10 C)a>=10&&a<=0 D)a>=10‖a<=0
24、设intx=1,y=1;表达式(!
x||y--)的值是(B)。
A)0 B)1 C)2 D)-1
25、设intb=2;表达式(b>>2)/(b>>1)的值是(A)。
A)0 B)2 C)4 D)8
26、有以下程序段
charch;intk;
ch='a';
k=12;
printf("%c,%d,",ch,ch,k);
printf("k=%d\n",k);
已知字符a的ASCll十进制代码为97,则执行上述程序段后输出结果是(D)
A)因变量类型与格式描述符的类型不匹配输出无定值
B)输出项与格式描述符个数不符,输出为零值或不定值
C)a,97,12k=12
D)a,97,k=12
27、设有定义:
inta;floatb;执行scanf("%2d%f",&a,&b);语句时,若从键盘输入876543.0<回车>,a和b的值分别是(B)。
A)876和543.000000 B)87和6.000000
C)87和543.000000 D)76和543.000000
28、若有以下程序段,
intc1=1,c2=2,c3;
c3=1.0/c2*c1;
则执行后,c3中的值是(A)。
A)0 B)0.5 C)1 D)2
29、下列程序的输出结果是(C)。
A)3B)3.2C)0D)3.07
main()
{
doubled=3.2;
intx,y;
x=1.2;
y=(x+3.8)/5.0;
printf("%d\n",d*y);
}
30、下列程序执行后的输出结果是(小数点后只写一位)(A)。
A)666.0000006.0000000 B)666.76.7
C)666.06.7 D)666.76.0
main()
{
doubled;floatf;longl;inti;
i=f=l=d=20/3;
printf("%d%ld%f%f\n",i,l,f,d);
}
31、下列程序的运行结果是(B)。
A)a=%2,b=%5 B)a=2,b=5
C)a=d,b=d D)a=%d,b=%d
main()
{
inta=2,c=5;
printf("a=%d,b=%d\n",a,c);
}
32、有如下程序
main()
{
inty=3,x=3,z=1;
printf(“%d%d\n”,(++x,y++),z+2);
}
运行该程序的输出结果是(D)。
A)34 B)42 C)43 D)33
33、有以下程序
main()
{
intx,y,z;
x=y=1;
z=x++,y++,++y;
printf("%d,%d,%d\n",x,y,z);
}
程序运行后的输出结果是(C)。
A)2,3,3 B)2,3,2 C)2,3,1 D)2,2,1
34、有以下程序
main(){
inta=0,b=0;
a=10;/*给a赋值
b=20;给b赋值*/
printf("a+b=%d\n",a+b);/*输出计算结果*/
}
程序运行后输出结果是(A)。
A)a+b=10 B)a+b=30 C)30 D)出错
35、有以下程序
main(){
unsigned char a=2,b=4,c=5,d;
d=a|b;
d&=c;
printf(“%d\n”,d);
}
程序运行后的输出结果是(B)
A)3 B)4 C)5 D)6
二、程序阅读题
1、下列程序执行后的输出结果是G。
main(){
intx='f';
printf("%c\n",'A'+(x-'a'+1));
}
2、以下程序的输出结果是0。
main()
{
unsignedshorta=65536;intb;
printf(“%d\n”,b=a);
}
3、若有定义:
inta=10,b=9,c=8;接着顺序执行下列语句后,变量b中的值是3。
c=(a-=(b-5));
c=(a%11)+(b=3);
4、以下程序的输出结果是2,1
main()
{
inta=1,b=2;
a=a+b;b=a-b;a=a-b;
printf(“%d,%d\n”,a,b);
}
5、以下程序输出的结果是0。
main()
{inta=5,b=4,c=3,d;
d=(a>b>c);
printf("%d\n",d);
}
6、以下程序的输出结果是16。
main(){
inta=0;
a+=(a=8);
printf("%d\n",a);
}
7、以下程序的输出结果是261。
main()
{inta=177;
printf("%o\n",a);
}
8、若有以下程序
main()
{chara;
a='H'-'A'+'0';
printf("%c\n",a);
}
执行后的输出结果是7。
9、以下程序运行后的输出结果是b。
main()
{charm;
m='B'+32;printf("%c\n",m);
}
10、以下程序运行后的输出结果是3。
main()
{intp=30;
printf("%d\n",(p/3>0?
p/10:
p%3));
}
11、以下程序运行时若从键盘输入:
102030<回车>。
输出结果是10300
main()
{inti=0,j=0,k=0;
scanf("%d%*d%d",&i,&j,&k);
printf("%d%d%d",i,j,k);
}
12、以下程序运行后的输出结果是10200
main()
{
inta,b,c;
a=10;b=20;
c=(a%b<1)||(a/b>1);
printf("%d%d%d",a,b,c);
}
13、以下程序运行后的输出结果是220.000000。
main()
{charc;intn=100;
floatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
14、已知字母A的ASCII码为65。
以下程序运行后的输出结果是67G。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,b);
}
三、程序填空题
1、C语言提供了丰富的数据类型,这些数据类型可以分为3大类,分别是__基本数据类型、_构造类型___和___其它类型_______。
2、在VC开发环境下,int类型的数据在内存中占4字节、float类型的数据占4字节、double类型的数据占8字节、char类型的数据占1字节。
3、设有以下变量定义,并已赋确定的值
charw;intx;floaty;doublez;
则表达式:
w*x+z-y所求得的数据类型为double
4、表示“整数x的绝对值大于5”时值为“真”的C语言表达式是abs(x)>5
5、下列程序的输出结果是16.00,请填空。
main()
{
inta=9,b=2;
floatx=6.6,y=1.1,z;
z=a/2+b*x/y+1/2;
printf(“%5.2f\n”,z);
}
6、设y是int型变量,请写出判断y为奇数的关系表达式y%2==0
7、若有程序
main()
{inti,j;
scanf("i=%d,j=%d";&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求给i赋10,给j赋20,则应该从键盘输入i=10,j=20
8、有以下语句段
intn1=10,n2=20;
printf(“n1=%d\nn2=%d”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
9、若变量a,b已定义为int类型并赋值21和55,要求用printf函数以a=21,b=55的形式输出,请写出完整的输出语句printf(“a=%d,b=%d”,a,b);。
10、已定义charch=”$”;inti=1,j;执行j=!
ch&&i++以后,i的值为 1
四、编程题
1、编写程序:
输入一矩形的长和宽,计算该矩形的面积。
2、编程:
输入求的半径R,计算并输出球的体积。
3、编程:
输入三个数,求出这三个数的和以及平均值,并在屏幕上输出。
4、编程:
输入一个三位整数x(999=>x>=100),将其分解出百位、十位、各位,并求出各位之和以及各位之积。
第3章分支结构
一、选择题
1、下面选项中,不能看作一条语句的是(D)
A){;}B)if(a>0);
C)a=0,b=0,c=0;D)if(b==0)m=1;n=2;
2、若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为(A)
A)aB)!
aC)a=0D)a<>0
3、下面语句中,(C)中的if语句时错误的
A)if(x>y);
B)if(x==y)x+y;
C)if(x!
=y)scanf(“%d”,&x)elsescanf(“%d”,&y);
D)if(x 4、设变量x和y均已正确定义并赋值。 以下if语句中,在编译时将产生错误信息的是(C) A)if(x++);B)if(x>y&y! =0); C)if(x>y)x--D)if(y<0){;} elsey++;elsex++; 5、以下是if语句的基本形式: if(表达式)语句 其中“表达式”(D) A)必须是逻辑表达式B)必须是关系表达式 C)必须是逻辑表达式或关系表达式D)可以是任意合法的表达式 6、阅读以下程序: main() {intx; scanf("%d",&x); if(x--<5)printf("%d",x); elseprintf("%d",x++); } 程序运行后,如果从键盘上输入5,则输出结果是(B) A)3B)4C)5D)6 7、以下程序运行结果是(D)。 main() {inta=0,b=0,c=0,d=0; if(a=1)b=1;c=2; elsed=3; printf("%d,%d,%d,%d\n",a,b,c,d); } A)0,1,2,0B)0,0,0,3C)1,1,2,0D)编译有错 8、若执行以下程序时从键盘上输入9,则输出结果是(B) A)11B)10C)9D)8 main() { intn; scanf("%d",&n); if(n++<10)printf("%d\n",n); elseprintf("%d\n",n--); } 9、下列条件语句中,功能与其他语句不同的是(A) A)if(a)printf("%d\n",x);elseprintf("%d\n",y); B)if(a==0)printf("%d\n",x);elseprintf("%d\n",y); C)if(a! =0)printf("%d\n",x);elseprintf("%d\n",y); D)if(! a==0)printf("%d\n",x);elseprintf("%d\n",y); 10、以下程序的输出结果是(C)。 main() {inta=-1,b=1,k; if((++a<0)&&! (b--<=0)) printf("%d%d\n",a,b); else printf("%d%d\n",b,a);} A)-11B)01C)10D)00 11、有以下程序 main() { inti=1,j=1,k=2; if((j++||k++)&&i++)printf("%d,%d,%d\n",i,j,k); } 执行后输出的结果是(C)。 A)1,1,2B)2,2,1C)2,2,2D)2,2,3 12、有以下程序段 inta,b,c; a=10;b=50;c=30; if(a>b)a=b,b=c;c=a; printf(“a=%db=%dc=%d\n”,a,b,c); 程序的输出结果是(A) A)a=10b=50c=10B)a=10b=50c=30 C)a=10b=30c=10D)a=50b=30c=50 13、有定义语句: inta=1,b=2,c=3,x;,则以下选项中各程序段执行后,x的值不为3的是(C)。 A)if(c else
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 配套 实验 习题 答案
![提示](https://static.bingdoc.com/images/bang_tan.gif)