C程序设计实验指导与习题集.docx
- 文档编号:11930197
- 上传时间:2023-04-16
- 格式:DOCX
- 页数:45
- 大小:48.44KB
C程序设计实验指导与习题集.docx
《C程序设计实验指导与习题集.docx》由会员分享,可在线阅读,更多相关《C程序设计实验指导与习题集.docx(45页珍藏版)》请在冰豆网上搜索。
C程序设计实验指导与习题集
第一章C语言概述
一、选择题
1.以下叙述中正确的是C。
A、在C程序中,main函数必须位于程序的最前面
B、C程序的每行中只能写一个语句
C、C语言本身没有输入输出语句,输入输出靠调用函数实现
D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误
2.下面叙述不是C语言特点的是B。
A、C程序简洁紧凑
B、能够方便地编写可视化程序
C、C程序可移植性好
D、C语言可以直接对硬件实现操作
3.下列叙述正确的是C。
A、程序应该尽可能短
B、为了编写的方便,程序设计者应该随意实现流程的转移
C、虽然注释会占用编程者的大量时间,但还是要尽可能对程序进行注释
D、在TurboC环境下,运行的程序就是源程序
4.C程序可以由若干函数构成,那么程序的执行是D。
A、从第一个函数开始,到最后一个函数结束
B、从第一个语句开始,到最后一个语句结束
C、从主函数(main)开始,到最后一个函数结束
D、从主函数开始,在主函数结束
5.C语言规定,在程序中相对于其它函数的位置,主函数的位置C。
A、必须在最前面
B、必须在系统调用库函数的后面
C、可以任意
D、必须在最后
二、填空题
1.一个C源程序中应至少包含一个主函数(或main函数)。
2.在一个C源程序中,注释部分两侧的定界符是/**/。
3.C语言源程序文件的扩展名是c,经编译后生成的目标代码的扩展名是obj,经过连接后生成可执行文件的扩展名是exe
。
第一章C语言概述答案
一、选择题
1.C2.B3.C4.D5.C
二、填空题
1.主函数(或main函数)2./**/3.cobjexe
第二章程序的灵魂——算法
一、选择题
1.以下叙述中错误的是D。
A、可以用N-S图表示算法
B、可以用流程图表示算法
C、可以用伪代码表示算法
D、可以用数据流图表示算法
2.下面关于算法的描述中错误的是B。
A、算法具有可执行性
B、算法具有唯一性
C、算法的每一步具有确切的含义,即确定性
D、算法的有穷性
3.下面关于算法的描述中正确的是B。
A、一个好的算法必须包含一个或多个输入
B、一个好的算法必须包含一个或多个输出
C、一个好的算法必须用流程图描述
D、一个好的算法必须用N-S图描述
4.下面不属于结构化程序设计方法的是A。
A、自内向外B、自顶向下
C、逐步细化D、模块化设计
二、填空题
1.结构化程序设计中包含的三种基本结构是顺序结构选择结构循环结构
第二章答案
一、选择题
1.D2.B3.B4.A
二、填空题
1.顺序结构选择结构循环结构
第三章数据结构、运算符与表达式
一、选择题(可能有多个选项)
1.下面标识符中,属于不合法用户标识符的是DF。
A、PAdB、a_10C、IntD、signedE、_intF、a#b
2.下面标识符中,属于合法的用户标识符是ABE。
A、dayB、E2C、3ABD、enumE、aF、long
3.以下C是不正确的转义字符。
A、'\\'B、'\''C、'\081'D、'\0'E、'\n'F、'\xab'
4.若干个int型、char型数据进行算术运算,其结果的数据类型是A。
A、intB、charC、longD、doubleE、float
5.若干个char型、float型数据进行算术运算,其结果的数据类型是D。
A、intB、charC、longD、doubleE、float
6.若干个int型、unsigned型、char型数据进行算术运算,其结果的数据类型是C。
A、intB、charC、longD、doubleE、float
7.若x为int型变量,且x=6,则执行下面的赋值运算后,表达式的值是B。
x+=x-=x*x
A、36B、-60C、60D、-24
8.以下选项中,合法的实型常量是ADF。
A、.2345B、8C、1E2.0D、.1e3E、23.2eF、1.24
9.下面非法的整型常量有AB。
A、019B、ox123C、2LD、0XffE、0x4deF、0L
10.若干变量已正确定义,以下合法的赋值表达式是C。
A、a=1/b=2B、++(a+b)C、a=a/(b=5)D、y=int(a)+b
11.以下叙述中错误的是C。
A、在C程序中,Abc和abc是两个不同的标识符
B、在C程序中,变量代表内存中的一个存储单元,它的值可以根据需要变化
C、在C程序中,无论是整数还是实数,都能准确无误地表示
D、在C程序中,一个正整数可以用十进制、八进制和十六进制的形式表示
二、填空题
1.无符号整型变量共有3种形式,其类型标识符的简单形式为unsigned、和。
2.C语言中共提供了6种整型变量,不同类型的整型变量其能够表达的数据的范围是不一样的,写出下面几种类型能表示数据的范围。
int:
,unsigned:
。
3.写出下面各种类型变量在内存中占据的字节数:
char:
,int:
,long:
,float:
,double:
。
三、问答题
1.字符常量与字符串常量有什么区别?
2.一个变量被定义后没有被初始化,是不是表示变量中没有值?
3.写出下面表达式运算后a的值,假设最初a=10,n=3,a、n均为整型。
a+=a
a-=2
a*=2+3
a/=a+a
a%=(n%=2)
a+=a-=a*=a
4.计算下面算术表达式的值,设a,b为int型,x,y为float型,且a=2,b=3,x=3.5,y=2.5。
x+a%3*(int)(x+y)%2/4
(float)(a+b)/2+(int)x%(int)y
5.计算表达式的值和a,b,c的值。
a=b=c=3
a=13+(c=18%4)
a=(b=12/5)+(c=3)
a=(b=5)+(c=4)
x=3*4,x*5
(a=4*5,a*3),a+10
x='A',x%5
x=30%8/2,x+10
x=8,x%=x+5
6.将下面的数学式子写成C语言表达式。
第三章答案
一、选择题
1.DF2.ABE3.C4.A5.D6.C
7.B8.ADF9.AB10.C11.C
二、填空题
1.unsignedshortunsignedlong
2.-32768~327670~65535
3.12448
三、问答题
1.字符常量是用单撇号括起来的一个字符,而字符串常量是用一对双撇号括起来的一串字符,每个字符串的最后都有一个字符串终止标记\0。
可以用字符常量为字符变量赋值,但是不能将一个字符串给字符变量赋值。
2.一个变量定义后如果没有被初始化,其存储单元中会有一个不确定的值,只是该值没有意义,所以我们说该变量没有定义。
3.⑴20⑵8⑶50⑷0⑸0⑹0
4.⑴3.5⑵3.5
5.⑴表达式的值是3,a=3,b=3,c=3⑵表达式的值是15,a=15,c=2
⑶表达式的值是5,a=5,b=2,c=3⑷表达式的值是9,a=9,b=5,c=4
⑸表达式的值是60⑹表达式的值是30,a=20
⑺表达式的值是0⑻表达式的值是13
⑼表达式的值是8
6.sqrt(x+2*y)-exp(3*x)+fabs(x)
第四章最简单的C程序设计—顺序结构程序设计
一、选择题
1.已知a,b是int型数据,x,y是float型数据,且各变量已经被正确赋值。
以下正确的赋值语句是。
A、a=1,b=2B、y=(x%2)/10;C、x*=y+2;D、a+b=x;
2.a,b,c是整型变量且已正确赋值,下面符合C语法的表达式是。
A、a%=7.6B、a++,a=7+b+cC、int(12.3)%4D、a=c+b=a+7
3.若m为float型变量,则执行以下语句后的输出为。
m=12.567
printf("%-8.2f\n",m);
printf("%8.2f\n",m);
4.若n为int型数据,x为float型数据,则执行下面语句后的输出结果为。
n=12345;x=12.0;
printf("%07d%5.0f\n",n,x);
printf("%7d%5.1f\n",n,x);
5.若x是int型变量,y是float型变量,所用的scanf形式如下:
scanf("x=%d,y=%f",&x,&y);
则为了将数据10和66.6分别赋值给x和y,正确的输入应该是。
x=10
y=66.6
10
66.6
A、x=10,y=66.6B、1066.6C、D、
6.若有下面的定义和语句:
inta,b,c;
scanf("%d%d%d",&a,&b,&c);
为了给变量a,b,c分别输入10,20,30,下面不正确的输入形式是。
10,20,30
1020
30
10
20
30
10
2030
A、B、C、D、
7.若有以下的定义和语句:
intu=010,v=0x10,w=10;
printf("%d,%d,%d\n",u,v,w);
则输出结果是。
A、10,10,10B、8,8,10C、8,10,10D、8,16,10
8.若有下面的定义和语句:
inta=-2;
printf("%d,%u,%o,%x\n",a,a,a,a);
则输出结果为:
A、-2,-2,-2,-2B、65534,65534,65534,65534
C、-2,65534,177776,ffffeD、-2,-2,177776,ffffe
9.有以下程序:
main()
{unsigneda=32768;intb;
b=a;
printf("b=%d\n",b);
}
程序执行后的输出结果是。
A、b=32768B、b=32767C、b=-32768D、b=-1
10.已知int型变量i,j,k的值分别为3,4,5,执行下面的表达式:
k+=++i+j++
后,k,i,j的值为。
A、7,3,4B、14,4,5C、13,4,4D、13,4,5
二、填空题
1.后面给出的表达式x++、++x、x=x+1、x=1+x计算后都可以使x的值增加1,请写出一条具有同一功能的表达式,用来代替上面各表达式。
2.对于下面的程序
main()
{intx,y;
scanf("%d%*d%d",&x,&y);
printf("%d\n",x+y);
}
程序执行的时候输入:
1234567
则输出结果是。
3.在C程序中,很多函数的使用必须要包含相应的库函数,例如:
使用getchar函数要包含,使用fabs函数要包含等。
但是使用scanf和printf就不需要包含相应的库函数,因为启动TC的时候已经自动将其加载了。
4.对于下面的程序
main()
{chara,b,c;
scanf("%c%c%c",&a,&b,&c);
printf("%d%d%d",a,b,c);
printf("%c%c%c\n",a,b,c);
}
程序运行时输入123,输出结果是。
三、问答题
1.C语句用来让计算机产生一定的操作,每个C语句都由分号(;)结束,但到目前为止有一类程序行是用分号结束的,但不是语句,请说出这类程序行的名称并说明不是语句的原因。
2.TurboC中,什么情况下int型数据与char型数据是可以通用的?
3.如果将一个超出int型表示范围的long数据给一个int型数据赋值,是否会出现语法错误?
为什么?
第四章答案
一、选择题
1.C2.B3.A4.B5.A6.D
7.D8.C9.D10.D
二、填空题
1.x+=12.5793.stdio.hmath.h4.495051123
三、问答题
1.变量声明部分(如inta,b,c;)虽然含有分号,但不是语句,因为其作用是在编译期间为变量分配存储空间,在执行的时候不产生操作,因此不是语句。
2.由于char数据占据一个字节的存储空间,而int型数据占据两个字节的存储空间,因此在其交集范围内就是可以通用的。
也就是说当int型数据范围在0~255时就是可以通用的范围。
3.不会出现语法错误。
因为long数据占四个字节存储空间,int型数据占两个字节存储空间,当将一个long型数据给int型数据赋值时,是将其两个低字节的内容赋值给int型变量。
但是此时数据的值会发生变化。
第五章选择结构程序设计
一、选择题(第1小题的答案多于一个)
1.选择出合法的if语句(假设其中出现的变量均为整型且已正确赋值)
A、if(a=b)x++;B、if(a=
D、if(a>=b)x++E、if(a<=b<=c)x++;F、if
(1)x++;
2.以下运算符中优先级最高的是,优先级最低的是。
A、&&B、!
C、!
=D、||E、?
:
F、==
3.用以判断字符型变量c1的值是否为小写字母的最简单且正确的表达式为。
A、'a'<=c1<='z'B、c1>=a&&c1<=z
C、'a'<=c1||'z'>c1D、c1>='a'&&c1<='z'
4.已知a是int型变量,不能正确表达数学关系10 A、1010&&a<15 C、a==11||a==12||a==13||a==14D、! (a<=10)&&! (a>=15) 5.x为奇数时值为“真”,x为偶数时值为“假”的表达式是。 A、! (x%2==1)B、x%2==0 C、x%2D、! (x%2) 6.有以下程序: main() {inta=2,b=1,c=2;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 实验 指导 习题集