C语言套题
一.填空题
1.已知I=5;写出语句a=--i;执行后整型变量a的值是()
2.设x=5>1+2,x的值为( )
3.Int x=2,y=2,z=0;则表达式x= =y>z的值为( )
4.下面程序输出的结果是( )
int a=12;a=a&0377;printf(“%\n”,a)
5.当a=3,b=2,c=1;时,执行以下程序段后a=( )
if(a>b) a=b; if(b>c) b=c; else c=b; c=a;
6.若用变量均已正确定义,则执行下面程序段后的输出结果是( )
for(I=0;I<2;I++) printf(“YES”); printf(“\n”);
7.若有定义:char c=?\010?;则变量c中包含的字符个数为( )
8.C语言源程序的基本单位是( )
9.将数组a的首地址赋给真正变量p的语句是( )
10. 语言中调用()函数来打开文件。
二.1.一个c语言程序由()
a.一个主程序和若干子程序组成
b.函数组成
c.若干过程组成
d.若干子程序组成
2.在一个c程序中main函数()
a.必须出现所有函数之前
b.可以出现在任何地方
c.必须出现在所有函数之后
d.必须出现在固定位置
3.在c语言中,int、char、short三种类型数据在内存中所指用的字节数()
a.由用户自定义
b.均为2个字节
c.是任意的
d.由所用机器的机器字长决定
4.若kw为int型变量,则以下程序段执行的结果是()
k=8567;printf(“|%6d\n|”,k);
a.格式描述符不合法,输出无定值
b.输出为|%6D|
c.输出为| 8567|
d.输出为|8567 |
5.以下不符合c语言语法的赋值语句是()
a.a=1,b=2
b.j=j+1;
c.a=b=5;
d.y=(a=3,6*5);
6.c语言的if语句嵌套时,if与else的配对关系是()
a.每个else这是与它上面的最近的并且没有配对的if配对
b.每个else总是与最外层的if配对
c.每个else与if配对是任意的
d.每个else总是与它上面的if配对
7.执行语句for(I=1;I++<4;);后变量I的值是( )
a.3
b.4
c.5
d.不确定
8.下列语句不正确的是( )
a.static char a[2]={1,2};
b.static char a[2]={…1?,?2?};
c.static char a[2]={…1?,?2?,?3?};
d.static char a[2]={…1?};
9.若输入ab,程序运行结果为( )
main()
{ static char a[2]; scanf(“%s”,a); printf(“%c,%c”,a[1],a[2]); }
a.a,b
b.a,
c.b,
d.程序出错
10.若有char s1[]=”abc”,s2[20],*t=s2;gets(t);则下列语句中能够实现当字符串s1大于字符
串s2时,输出s2的语句是( )
a.if(strcmp(s1,s1)>0)puts(s2);
b.if(strcmp(s2,s1)>0)puts(s2);
c.if(strcmp(s2,t)>0)puts(s2);
d.if(strcmp(s1,t)>0)puts(s2);
11.用户定义的函数不可以调用的函数是( )
a.非整形返回值的
b.本文件外的
c.main函数
d.本函数下面定义的
12.int a[10]={1,2,3,4,5,6,7,8};int *p;p=&a[0];p[3]的值是( )
a.2
b.3
c.4
d.不确定
13.若有int I=3,*p;p=&I下列语句中输出结果为3的是( )
a.printf(“%d”,&p);
b.printf(“%d”,*i);
c.printf(“%d”,*p);
d.printf(“%d”,p);
14.以下各选项企图说明一种新的类型名,其中正确的是()
a.typedef v1 int;
b.typedef v2= int;
c.typedef int v3;
d.typedef v4:int;
15.不仅可将c源程序存在磁盘上,还可将数据按类型分别以什么形式存在磁盘上()
a.内存
b.缓冲区
c.文件
d.寄存器
一.1.4 2.1 3.0 4.14 5.2 6.YESYES 7.1 8.函数9.p=a;p&[0]; 10.fopen \fopen()
二.1.~.5 BBDCA. 6~10ACCCD. 11.~www.doczj/doc/58663faa5022aaea988f0f49.html CCC
【程序填空】答案:str2 *p1 strcopy(str1,str2,m)
功能:将一个字符串中下标为m的字符开始的全部字符复制成为另
一个字符串。
-------------------------------------------------------*/
#include
void strcopy(char *str1,char *str2,int m)
{ char *p1,*p2;
c语言六种基本语句/***********SPACE***********/
p1=str1+m; p2=【?】;
/***********SPACE***********/
while(【?】) *p2++=*p1++; *p2='\0';
}
void main()
{ int i,m; char str1[80],str2[80]; gets(str1); scanf("%d",&m);
/***********SPACE***********/
【?】; puts(str1);puts(str2);
}
【程序改错】:答案:ex1=ex2=1; term*=x/n; for(n=m;n>=1;n--)
功能:写计算级数ex=1+x+x2/2!+x3/3!+ ...+xn/n! 的值。
#include"stdio.h"
void main()
{ int m,n; float x,term,ex1,ex2; printf("x,m="); scanf("%f,%d",&x,&m); /**********FOUND**********/
ex1= =ex2=1;
term=1;
for(n=1;n<=m;n++)
{ /**********FOUND**********/
term*=x%n;
ex1+=term;
}
ex2=term;
/**********FOUND**********/
for (n=m;n>1; n--) { term*=n/x; ex2+=term; }
printf("exforward=%f exbackrard=%f\n",ex1,ex2);
}
【程序设计】
功能:将两个两位数的正整数a、b合并形成一个整数放在
c中。合并的方式是:将a数的十位和个位数依次放
在c数的百位和个位上,b数的十位和个位数依次放
在c数的十位和千位上。
例如:当a=45,b=12。调用该函数后,c=2415。
#include "stdio.h"
void NONO();
void fun(int a, int b, long *c)
{/**********Program**********/
/********** End **********/
}
void main()
{ int a,b; long c; printf("Input a, b:"); scanf("%d,%d", &a, &b); fun(a, b, &c); printf("The result is: %ld\n", c);
NONO();
}
void NONO( )
{ FILE *rf, *wf ; int i, a,b ; long c ; rf = fopen("in.dat", "r") ; wf = fopen("out.dat","w") ;
for(i = 0 ; i < 10 ; i++)

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。