c语言程序设计问题
一、选择题(一题一分,共20分) )。
1 .在c语言中,main函数在源程序中的位置()。
a .必须先做
b .必须在系统调用的库函数之后
c .可任选
d .必须做最后一件事
2 .在以下四个选项中,合法浮点数的选项均为() :
A. 1e 1 5e-9.4 03e2
B. -.60 12e-4 -8e5
C. 123e 1.2e-.4 2e-1
D. -e3 .8e-4 5.e-0
在a=-14、b=3情况下,条件式ab? 答: b 1的值为。
A. -14 B. -13 C. 3 D. 4
int n,i=1,j=2; 是否执行语句n=ij? ( I ) j; I和j的值为()。
a.1、2b.1、3c.2、2d.2和3
5 .使用()来确定两个字符串s1和s2是否相等
a.if(S1==S2 ) a.if(S1==S2 ) ) ) ) ) )。
c.if(strcmp(S1,s2 ) )
d.if(strcmp(S1,s2 )==0) ) ) ) ) ) ) ) ) ) ) )。
6 .以下正确陈述是()。
a .函数定义可以嵌套,但函数调用不能嵌套。
b .函数定义不能嵌套,但函数调用可以嵌套。
c .函数定义和函数调用不能嵌套。
d .函数定义和函数调用可以嵌套。
7 .在c语言中,以下函数的非法描述是() :
a .将数组名称作为形状参数时,可以通过改变形状参数组的值来改变实际参数组的值。
b .允许函数递归调用。
c .函数形式参数的作用范围限定在定义的函数内。
d .子函数必须在主函数之前。
8 .如果某个函数中的复合句中定义了变量,以下正确的说法是() )。
a .这个变量只在这个复合句中有效
b .此变量在此函数中有效
c .此变量在本程序范围内有效
d .此变量为非法变量
9 .以下正确的函数格式为() :
a.doublefun(intx,int y ) { z=x y; 返回z; () ) ) ) )。
b.fun(intx,y ) { int z; 返回z; () ) ) ) )。
c.fun(x,y ) { int x,y; 双z; z=x y; 返回z; () ) ) ) )。
d.doublefun(intx,int y ) {double z; z=x y; 返回z; () ) ) ) )。
10 .以下程序的输出结果为()。
#includestdio.h
#definef(y ) 8.19-y
#defineprint(a ) printf(\’%d”,) ( a ) )
语音主(语音)。
{
int x=2;
打印( x * f )3);
() ) ) ) )。
A. 10 B. 13 C. 11 D .错误报告
11 .以下程序中编译和运行的结果正确的是()。
a.a.voidmain(void ) )。
{
union
{
int n;
float x;
} comm={1};
printf(\’%d \’,comm.n );
() ) ) ) )。
b.b.voidmain(void ) )。
{
union
{
int n;
float x;
} comm={12.5};
printf(\’%f \’,comm.x );
() ) ) ) )。
c.c.voidmain(void ) )。
{
union
{
float x;
int n;
} comm={12.5}
printf(\’%f \’,comm.x );
() ) ) ) )。
d.d.voidmain(void ) )。
{
union
{
int n;
float x;
( } comm=5;
printf(\’%d \’,comm.n );
() ) ) ) )。
12 .设置定义: int a=1,*p=a; float b=2.0; char c=\’A \’; 以下非法运算为()。
A. p; B. a–; C. b; D. c–;
13 .在以下程序中调用scanf函数在变量a中输入数值的方法是错误的。 那个错误的原因是()。
main ( ) )
{
int *p,*q,a,b;
p=a;
打印( inputa:);
scanf(\’%d \’,*p );
……
() ) ) ) )。
A. *p表示指针变量p的地址
B. *p表示变量a的值,而不是变量a的地址
C. *p表示指针变量p的值
D. *p只能用于指示p是指针变量
14 .如果num、a、b、c都是int型变量,则执行公式num=(a=4,b=16,c=32 ); 后num的值为()。
A. 4 B. 16 C. 32 D. 52
15 .如果要求a1、a2、c1、c2的值分别为10、20、a、b,则从第一列输入数据时,正确的数据输入方式是()、(注: _表示空格) )。
int al、a2、char c1、c2;
scanf(\’%d%c%d%c )、a1、c1、a2、c2 );
a.10a _ 20 _ b.10 _ a _ 20 _ BC.10a 20bd.10a 20 _ b
16 .如果有说明:对int a[10] a数组元素的正确引用是()。
A. a[10] B. a[3.5] C. a[5-3] D. a[-1]
17 .在c语言中,一维数组定义如下:
类型说明符数组名称;
A. [整数常数表达式] B. [表达式]
C. [整数常数] D. [整数表达式]
18 .能够正确初始化一维数组a的语句如下。
a.ina [ 10 ]=( 0,0.0,0,0 );
B. int a[10]={}; C. int a[]={0};
D. int a[10]={10*1};
19 .下一段()。
x=-1;
do
{
x=x*x;
() ) ) ) )。
while (! x;
a .死循环b .循环执行两次
循环执行一次丙. D . 有语法错误
20 .以下关于do-while循环的不准确描述是() :
A. do-while的循环体至少执行一次
B. do-while循环以do开始,以while结束。 不能在while (表达式)之后写分号
do-while循环体始终需要将while之后的表达式的值归零( false )
D. do-while的循环体可以是复合句
二、是非判断问题(每题1分,共15分) )。
1 .在c语言中,标识符中的字母一般规定区分大小写。
2 .控制台的标准输入设备一般是指键盘。
如果使用while和do-while循环,则初始化循环变量的操作必须在循环语句之前处理。
continue语句在整个循环中的作用是终止整个循环的执行。
5 .关系表达式的值为0或1。
6 .如果有说明,int a[3][4]={0},只有元素a[0][0]才能得到初始值0。
7 .字符串作为一维数组存储在内存中。
8 .字符数组的元素中存储字符。
9 .字符数组中的最后一个字符必须是“0”。
10 .如果形参是指针变量,则实参必须是数组名称。
11 .用数组名称创建函数参数时,传递的是数组的值。
12 .可以在任何函数的任何表达式中使用全局变量。
13 .函数可以带回整数值、字符值、实数值等,也可以带回指针类型的数据。
14 .式I和I在任何情况下功能都完全相同。
15 .在赋值表达式中,赋值编号左边的变量和右边的表达式的值的数据类型可以不同。
三、多选题(一题一分,共五分) ) ) ) ) ) ) ) )。
1 .要求if之后的一对圆在括号中表示a不等于0的关系时,无法正确表示该关系
的公式为()。
A.a0
b . A
C.a=0
D.a
E.a!=0
2 .选举所有合法常数(。
A.3e22.5
B.-e-3
C.-.1e-1
d.\’基本\’
E.\’\\045 \’
F.0fd
G.0xfdaL
H.e8
I.\’\\\\”
是J.\’\\”
3 .以下关于函数原型的说法有误:
)1)变量的定义)和“声明”是一回事,函数的“定义”和“声明”也是一回事。
)2)声明函数原型时,允许只写参数的类型,而不是参数的名称。
)3)如果在定义函数时不指定函数类型,函数类型将被隐式指定为int类型。
(4)调用一个函数时,函数名、实参数、实参数类型必须与函数原型一致。
)5)如果被调函数的定义出现在主调函数之前,则可以不声明。
)6)所有函数都可以互相调用。
)7)在c语言中,所有函数都是平行的,一个函数不能从属于另一个函数。 也就是说,不能嵌套定义。
)8)如果函数没有返回值,则在定义时可以省略函数类型。
)在c语言中,任何函数的定义都不允许为空。
( 10 ) c语言规定,向实变元的变形元传递数据是“传递值”。
4 .以下指南的相关描述中,请选择5个正确的描述:
(1)指针即地址。
)2)请首先分配一个值,然后再使用指针。
)3)如果指针p指向数组a的起始地址,则p[i]和a[i]可以参照数组元素,因此这里p和a是等价的。
) int *p指示定义了指向int类型数据的指针变量p。
)5)数组的指针是指数组的起始地址。
(6) int a[4],*p=a被定义的情况下,p的后面p指的是数组a所占存储器的第2个字节。
(7)将指针变量作为函数参数使用,采取“传递值”的方式。
)8)同一类型的指针可以相减。
)9)指针变量和许多变量一样可以进行四则运算。
( 10 )指针p指向数组元素a(2),指向a )4)时,执行p=p*2即可。
5 .在以下关于排列的叙述中,五种最准确的说法是:
)1)声明数组变量时,必须指定大小。
)2)必须用恒等式说明数组变量的大小。
)3)初始化数组时,大括号中的数据数必须与数组的大小相同。
(4)变量定义inta [3]={ 0,1,2 },b[3]; 中选择所需的族。 b=a,可以使数组b的各元素和a的各元素相等。
)5)在c语言中,可以将字符串作为字符数组处理。
)6)字符数组char c[11]; 要为其赋值,请单击c=\’china \’; 请参阅。
(7) chars[15]={\’Iama(0Student\’}; 那么strlen(s )的值为6。
)在c语言中,按每行存储二维排列中要素排列的顺序。
)在c语言中,不能初始化局部数组变量。
( 10 )宣言时初始化数组需要指定数组大小。
四、程序执行结果问题(各问题4分,共20分) )。
1.(4分) )。
下一个程序的执行结果是()。
#includestdio.h
语音主(语音)。
{
int i;
char a[]=\’Time \’,b[]=\’Tom \’;
for(I=0; a[i]!=\’\\0\’b[i]!=\’\\0 \’; I )
if(a(I )==b ( I ) )
if(a ) I ) ) a ) I )=( z ) ) printf )、a(I )-32 );
ELSEprintf(\’%c \’,a[i] 32 );
elseprintf(\’* );
() ) ) ) )。
2.( ) 4分)。
下一个程序段的执行结果为()。
i=1; s=3
do
{
s=i;
if(s%7==0) continue;
else i;
( whlie ) s15;
printf(\’%d \’,I );
3.( )四分。
运行时输入( 5999 )将生成以下程序的执行结果(保留小数点后一位) )。
语音主(语音)。
{
int x;
float y;
scanf(\’%d \’,x );
if(x=0x=2999 ) y=18 ) 0.12*x;
if(x=3000x=5999 ) y=36 0.6*x;
if(x=6000x=10000 ) y=54 0.3*x;
printf(\’%6.1f \’,y );
() ) ) ) )。
4.( ( 4分) )。
以下程序的执行结果为()。
语音主(语音)。
{
int a=1,k;
for(k=0; k3; k ) printf(m ),f1 ( a ) )
() ) ) ) )。
是intF1(intx )
{
静态输入z=3,y=0;
y;
z;
返回( XYZ );
() ) ) ) )。
5.( ) 4分)。
以下程序的功能计算函数f(x,y,z )=( xy )/( x-y ) ) z y )/( z-y ) )的值,请填写空白栏。
#includestdio,h
#includemath.h
浮体fun1( float,float );
语音主(语音)。
{
float x,y,z,sum;
scanf(\’%f%f )、x、y和z );
sum=fun1( ) fun1);
printf(sum=%f(n ),sum );
() ) ) ) )。
浮动函数1 (浮动,浮动b ) )。
{
浮动编号;
num=a/b;
return num;
() ) ) ) )。
五、填空题(每题2分,共20分)。
1 .用1./6=1/(11 )1/) 22 )1/) 33 )的公式起作用.
求出的近似值,直到最后一项的值小于10e-6。
#include stdio.h
#include math.h
语音主(语音)。
{
long i=1;
_________; pi=0;
wile(I*I=10e6) pi=____; I; () ) ) ) )。
pi=sqrt(6.0*pi;
printf(pi=.6f(n ),pi );
() ) ) ) )。
2 .下一个程序的功能是将以下给定的字符以其矩阵形式读入数组str1,输出矩阵编号之和为3的数组元素。
语音主(语音)。
{
char str1[4][3]={\’A \’,\’ b \’,\’ c \’,\’ d \’,\’ e \’,\’ f \’,\’ h \’,\’ I \’,\’ j \’,\’ k \’,\’ I \’
(;
int x、y、z;
for(x=0; x4; x )
for(y=0; ________; y )
{
z=x y;
if(_______ ) ( printf )、str1[x][y];
() ) ) ) )。
() ) ) ) )。
3 .据了解,以下程序的功能是用递归方法计算学生年龄,第一个学生年龄最小,为10岁,其余学生比一个大2岁,求出第五个学生的年龄。
递归公式如下。
age(1)=10
age(n )=age(n-1 ) (2) N1 ) ) ) ) ) ) ) ) ) ) )。
#includestdio.h
输入(输入)。
{
int c;
if(n==1) c=10;
else c=_________;
返回c;
() ) ) ) )。
4 .下一个程序的功能是确定输入的年份是否是闰年。
语音主(语音)。
{
输入年,是;
scanf(\’%d \’,year );
if(year@0==0) yes=1;
ELSEif(________ ) yes=1;
else ____________;
if(yes ) printf ) \’ %dis \’,year;
elseprintf(\’%disnot \’,year );
打印( aleapyear.\\ n );
() ) ) ) )。
5 .将实现以下程序: 输入三个整数,按从大到小的顺序输出。
语音主(语音)。
{
int x,y,z,c;
scanf(%d%d%d )、x、y和z );
if(_______ ) ) { c=y; y=z; z=c; () ) ) ) )。
if(_______ ) ) c=x; x=z; z=c; () ) ) ) )。
if(_______ ) ) c=x; x=y; y=c; () ) ) ) )。
printf(\’%d,%d,%d \’,x,y,z );
() ) ) ) )。
六、填空题(每题1分,共20分) )。
1 .在c语言中,一个浮点型数据占用内存的字节数为() )字节一个双精度型数据占用内存的字节数为()字节。
2 .如果有定义,则char c=\’\\010 \’; 变量c中包含的字符数为()。
3. C源程序的基本单位是()。
4.c语言(以16位PC为例,一个char型数据在存储器中所占字节数);
一个int类型数据在内存中所占的字节数为()。
5 .现有定义:
int m;
float n,k;
char chl,ch2;
为了使m=3,n=6.5,k=12.6,ch1=\’a \’,ch2=\’A \’,输入数据的格式如下。
3 6.5 12.6aA
相应的scanf语句为(); 请参阅。
6 .执行下一段时,x的值为()。
i=10; I; x= i;
7 .如果将a、b、c都作为int型变量,则执行以下for循环时,c的值为() )。
for(a=1,b=5; a=b; a ) c=a b;
8 .以下do-while语句中循环体的执行次数为()。
a=10;
b=0;
do { b=2; a-=2 b; ( while ) a=0;
9 .假设x和y都是int型变量,则以下for循环中scanf语句的可执行次数最大()。
for(x=0,y=0; y!=123×3; x )
Scanf(\’%d \’,y );
10 .如有以下定义和案文:
int *p[3],a[9],I;
for(I=0; i3; I ) p(I )=a(3*I );
那么,*p[0]是数组元素(); *(p[1]1是数组元素) )。
11 .假设a=3,b=4,c=5,则公式a||b cb==c的值为()。
12 .进行逻辑和运算的运算符是()。
13.a=6、b=4、c=2时,公式! ( ( a-b ) c-1b c/2的值为) )。
14 .下一段中循环体的执行次数为(次)。
for(I=1,s=0; i11; i=2) s=i;
15 .如有以下定义和案文:
inta [4]={ 0,1,2,3 },*p;
p=a[2];
那么*–p的值是()。
16 .在执行下一段后,s的值为() )
inta [ ]={ 5,3,7,2,1,5,3,10 },s=0,k;
for(k=0; k8; k=2)
s=*(ak;
17 .执行以下段,m的值为() ) ) ) ) ) ) ) ) ) ) ) )。
inta [ ]={ 7,4,6,3,10 },m,k,*ptr;
m=10;
ptr=a[0];
for(k=0; k5; k=2)
m=((* ) ptrk ) m )? *(ptrk ):m;
答案:
一、选题( 20分)。
1.~5.CBACD 6.~10.BDADB
11.~15.CABCC 16.~20.CACCB
二、是非判断问题( 15分) )。
……………………。
三.多选题( 5分)。
1.ABC2. ce gij3. adfhi4. abde H5.be GHI
四.程序执行结果问题( 20分)。
1. t*M
2. 8
3. 3635.4
4. 6 8 10
5. z y,z-y^x y,x-y
五.程序填补问题( 20分)。
1? doublepi1.0/(I*I ) ) ) ) )) ) )。
2 )) y3z==2
3? age(n-1 ) 2
4? year%4==0yeaar0!=0是=0
5? zyzxyx
六.填空题( 20分)
1.(4/)8/
2. 1/1个
3? 函数
4. 1 /一2 /
5 )scanf(\’%d%f%f%c%c ),m,n,k,ch1,ch2 ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) ) )
6. 12
7. 10
8.(3)9)3 ) 10 )a[0]a[4]
11. 112. 13. 1.14. 5
15. 1
16. 16
17. 6
自考资料网:建议开通永久VIP超级会员更划算,除特殊资源外,全站所有资源永久免费下载
1. 本站所有网课课程资料来源于用户上传和网络收集,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,助力考生上岸!
3. 如果你想分享自己的经验或案例,可在后台编辑,经审核后发布在“自考资料网”,有下载币奖励哦!
4. 本站提供的课程资源,可能含有水印,介意者请勿下载!
5. 如有链接无法下载、失效或广告,请联系管理员处理(在线客服)!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 星光不问赶路人,岁月不负有心人,不忘初心,方得始终!