搜档网
当前位置:搜档网 › C语言上机题库答案(1)!!!!

C语言上机题库答案(1)!!!!

C语言上机题库答案(1)!!!!
C语言上机题库答案(1)!!!!

1、程序填空题

给定的程序的功能是调用fun函数建立班级通讯录。通讯录中记录

填空:(1)STYPE (2)FILE (3)fp 改错:(1) for(i=0;i<=sl;i++) (2) t[2*sl]='\0'或t[sl+sl]='\0'

编程:

*c=(a/10)*1000+(b/10)*100+(a%10)*10+(b% 10);

2、程序填空题

给定程序的功能是:从键盘输入若干文本(每行不超过80个字符),写到文件myfile4.txt中,

填空:(1) *fw (2) str (3) str

改错:(1) void fun(long s,long *t)(2) s1=s1*10;

编程:int i,j=0,min=a[0].s;

for(i=0;i

{

if(a[i].s

{

j=0;b[j++]=a[i];min=a[i].s;

}

else if(min==a[i].s)

b[j++]=a[i];

}

return j;

3、程序填空题

给定程序中,函数fun的功能是:讲自然数1~10以及它们的平方根写到名为myfile3.txt的文本中

填空:(1)fp(2)fclose(fp)(3)myfile3.txt 改错:(1)for(i=j+1;i

编程:*c=(b%10)*1000+(a%10)*100+(b/10)*10+a/ 10;

4、程序填空题

给定程序中,调用函数fun将指定源文件中的内容复制到指定的目标文件中,复制成功,函数返回值为1,失败时返回值为0.\ 填空:(1)"r" (2 )fs (3)ft

改错:(1)if (d%2==0)

(2 )s/=10;

编程:

int i = 0, j = 0;

while(s[i])

{

if(i % 2 == 0 && s[i] % 2 == 0)

t[j++] = s[i];

i++;

}

t[j] = 0;

5、程序填空题

给定程序中已经建立一个带有头结点的单向链表,链表中的各结点数据域中的数据递增有序链接,函数fun的功能是:把形参x 的值放入一个新结点并插入到链表中,插入后各结点数据域的值仍保持递增有序。

填空:(1)x (2)p (3)s

改错:(1)long k=1; (2)num/=10;

编程:int i;

float aver=0.0;

for(i=0;i

aver=aver/n;

return aver;

6、程序填空题

给定程序中已建立一个带有头结点的单向链表,在main函数中将多次调用fun函数,每调用一次fun函数,输出链表尾部节点中的数据,并释放该节点,使链表缩短。

填空:(1) next (2) t->data (3) t

改错:(1) void fun(char *a) (2) print("%c",*a); 编程:int i;

char *p=s,*q=t;

int n=0,m=0;

while(*p) /*计算串s的长度n,其中p为临时指针*/

{

n++;

p++;

}

while(*q) /*计算串t的长度m,其中q为临

时指针*/

{

m++;

q++;

}

if(n>=m) /*比较m和n的值,设置p指向较大的指针*/

p=s;

else

p=t;

return p;

7、程序填空题

给定程序中建立一个带有头结点的单向链表,链表中的各节点按数据域递增有序链接。函数fun的功能是:删除链表中数据域值相同的节点,使之只保留一个。

填空:(1) q (2) next (3) next

改错:(1) 缺分号(2) p = i;

编程:*n=0; int i;

for(i=1;i<=m;i++)

if(i%7==0||i%11==0)

a[*n++]=i;

8、程序填空题

给定的程序中,函数fun的功能是:在带有头结点的单向链表中,

查找数据域中值为ch的结点。找到后通过函数值返回该结点在

链表所处的顺序号;如不存在值为ch的结点,函数返回0值。

填空:(1)0或NULL (2)n (3)head,ch

改错:(1) for(i=0,t=0;p[i];i++) (2) c[t]='\0'; 编程:

int i;

for(i=1;i

{

If( (ss[i]>='a'&&ss[i]<='z') ss[i]-=32;

9、程序填空题给定程序中,函数fun的功能是:统计出带有头结点的单向链表中节点的个数,存放在形参n所指的存储单元中。

填空:(1) *n (2) next (3) head

改错:(1) a=NULL; (2) if(*r==*p)

编程:

int i,j=0;

for(i=0;i

if(s[i]%2==0) t[j++]=s[i];

t[j]='\0';

10、程序填空题

给定程序中,函数fun的功能是:计算出带有头结点的单向链表中各节点数据域中值之和作为函数值返回。

填空:(1) data (2) next (3) head

改错:(1) while(*r) (2) *a=*r;a++;r++;

编程:int i,j=0;

for((i=0;i

t[j++]=s[i];

t[j]='\0';

11、程序填空题

给定程序中,函数fun的功能是:求ss所指字符串数组中长度最短的字符串所在的行下标,作为函数数值返回

填空:(1)M (2)< (3)k

改错:(1)if(('a'<=tt[i])&&(tt[i]<='z')) (2)tt[i]-=32;

编程:int i,j;

int t=0;

for(i=2;i

{j=2;

while(j

{if(i%j==0)

{xx[t]=i;

t++;

break;

}

j++;

}

*k=t;

12、程序填空题

给定程序中,函数fun的功能是:将s所指字符串中的所有数字字符移到所有非数字字符之后,并保持数字字符串和非数字字符串原有的先后次序。

填空:(1) j++ (2) s[i]=t1[i] (3) j

改错:(1) for(j = i + 1; j < 6; j++) (2) *(pstr + i) =*( pstr + j);

编程:

int cnt=0;

char *p=ss;

while(*p)

{if(*p==c)

cnt++;

p++;}

return cnt;

13.程序填空题

给定程序中,函数fun的功能是:在形参s 所指字符串中的每个数字字符之后插入一个*号。

填空:(1)&& (2)0 (3)s[j] 改错(1)for(i=2;i<=m;i++)

(2)y+=1.0/(i*i);

编程题:int c[3][3];

for(i=0,i<3;i++)

for(j=0;j<3;j++)

{c[i][j]=a[j][i];

b[i][j]=a[i][j]+c[i][j];}

14、程序填空题

给定的程序中,函数fun的功能是:统计形参s所指字符串中数字字符出现的次数,并存放在形参t所指的变量中,最后在主函数中输出

填空:(1)s[i] (2)'9' (3) *t=n;

改错:(1) t=*x;*x=y; (2) return (t);

编程:

int i;

*n=0;

for(i=7;i<1000;i++)

if (((i%7)==0)||((i%11)==0)&&((i%77)!=0) a[(*n)++]=i;

15、程序填空题

给定的程序中,函数fun的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数的位置,最右边被移出的字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动(注:字符串的长度大于等于2)填空:(1) 1 (2) s[k] (3) c

改错:(1) long s = 0,t = 0; (2) t = t / 10;

编程:

char *p=tt;

int i;

for(i=0;i<26;i++)

pp[i]=0;

while(*p)

{if(*p>='a' &&p<='z')

pp[*p-'a']+=1;

p++;

}

16、程序填空题

在给定程序中,函数fun的功能是:对形参s所指字符串下标喂奇数的字符按ASCII 码大小递增排序,并将排序后下标为奇数的字符取出,存入形参p所指字符数组中形成一个新串。

填空:(1) t=i (2) i (3) 0

改错:(1) while(fabs(t)>=num) (2) t=s/n;

编程:int p,m=0;

for(p=0;p

if(p!=n)

{b[m]=a[p];m++;}

b[m]='\0';

17、程序填空题

给定程序中,函数fun的功能是:在形参s 所指字符串中寻找与参数c相同的字符,并在其后插入一个与之相同的字符,若找不到相同的字符则函数不做任何处理。

填空:(1) 0或'\0' (2) 0 (3) c

改错:(1) double sum=0.0; (2) sum/=c;

编程:int k;

float str=1.0,sum=1.0;

for(k=2;k<=n;k++)

{

sum=sum+k;

str=str+1/sum;

}

return str;

18、程序填空题

给定程序中,函数fun的功能是:N×N矩阵,根据给定的m(m<=N)值,将每行元素中的值均右移m个位置,左边值为0.例填空:(1) i++ (2) m (3) m

改错:(1) while((high>=2)&&(n<10)) (2) 缺分号

编程:float x1=0.0,x0;

do

{

x0=x1;

x1=cos(x0);

}while(fabs(x0-x1)>0.000001);

return x1;

19、程序填空题

给定程序中,函数fun的功能是:将N*N 矩阵中元素的值按列右移1个位置,右边被移出矩阵的元素绕回左边。

填空:(1)N (2)N-1 (3)0

改错:(1)s=s+(n+1.0)/n; (2)return t;

编程:int f0=0,f1=1,f;

do

{f=f0+f1;

f0=f1;

f1=f;

}while(f

return f;

20、程序填空题

给定程序中,函数fun的功能是:由NxN 矩阵,将矩阵的外围元素顺时针旋转。

操作顺序是:首先将第一行元素的值存入临时数组r, 然后使第一列成为第一行,

最后一行成为第一列,最后一列成为最后一行,临时数组中的元素成为最后一列

列。

填空:(1)0 (2)j-- (3)j

改错:(1)double f(double x)

(2)缺分号

编程:double s=0.0;

int i;

for(i=1;i<=m;i++)

s=s+log(1.0*i);

s=sqrt(s);

return s; 21、程序填空题

给定程序中,函数fun功能是:找出100至x(x想<999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。

填空:(1) 0 (2) x (3) t++

改错:(1) int i,s1; (2) t[i]=s[s1-1-i];

编程:*c=(b/10)*1000+(a/10)*100+(b%10)*10+a% 10;

22、程序填空题

给定的程序中,函数fun的功能是:找出100~999之间(含有100和999)所有整数各位上的数字之和为x(x为以正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。

填空:(1)999 (2)t/10 (3)x

改错:(1) void fun(long s,long *t) (2)while(s>0)

编程:STREC tmp;

int i,j;

for (i=0;i

for (j=i+1;j

if(a[i],s

{tmp=a[i];

a[i]=a[j];

a[j]=tmp;

23、程序填空题

给定程序中,函数fun的功能是:将形参n 中,各位上为偶数的数取出,并按原位从高位到低位的顺序组成一个新的数,并作为函数值返回。

填空:(1)1 (2)s (3)i*10

改错:(1)int fun(int n,int xx[][M]) (2)printf("%d",xx[i][j]);

编程:*c=(a/10)*1000+(b%10)*100+(a%10)*10+(b/ 10);

24 程序填空题

给定程序中,函数fun的功能是:将形参n中,各位上为偶数的数取出,并按原来从高位到低位相反的顺序组成一个新的数,并作为函

数返回.

填空: (1) 0 (2) 10*x (3) n/10 改错: (1) *t=0; (2) if (d%2!=0)

编程: char *p=p1;

while (*p)

p++;

while(*p2)

{*p++=*p2++;

*p=0;

}

25.程序填空(与教材18题对应))

给定的程序中,函数fun的功能是:将形参n 所指变量中,各位上为偶数的数去除..剩下的数按原来从高位的顺序组成一个新的数,并通过形参兆时指针n传回所指变量.

填空(1) 10 (2) 0 (3) x

改错(1) if (n = = 0)

(2)缺分号

编程: long s=0, t;

int i=0,j,n=strlen(p),k,s1;

if (p[0]==' -')

i++;

for (j=i;j<=n-1;j++)

{t=p[j]-'0';

s1=10;

for (k=j;k

t*=s1;

s+=t;}

if (p[0]=='-')

return –s;

else return s;

26,程序填空题

给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。

S=(1*3)/(2*2)+(3*5)/(4*4)+(5*7)/(6*6)+……+(2n-1)(2n+1)/(2n*2n)填空:(1)0 (2)n (3)(t*t)

改错:(1)for(i=0;str[i];i++)

(2) for(i=0; str[i];i++)

编程:double s;

float n,t,pi;

t=1;pi=0;n=1.0;s=1.0;

while((fabs(s))>=eps) {pi+=s;

t=n/(2*n+1);

s*=t;

n++;}

pi=pi*2;

return pi;

27、程序填空题(与22题对应)

给定程序中,函数fun的功能是:计算下式前n项的和

S=(1*3)/(2*2)-(3*5)/(4*4)+(5*7)/(6*6)-…+(-1)^(n-1)*(2n-1)(2n+1)/(2n*2n)

作为函数植返回。

填空:(1)1 (2)2*i (3) (-1)

改错:(1)缺分号(2)if (m= =k) 编程:int i;

*max=a[0];

*d=0;

for(i=0;i

if(*max

{*max=a[i];

*d=i;}

28、程序填空题

给定程序中,函数fun的功能是计算下式

s=3/(2*2)-5/(4*4)+7/(6*6)-…+(-1) ^ (n-1)(2n+1)/(2n*2n)

直到|(2n+1)/(2n*2n)|<10*e(-3)

并把计算结果作为函数值返回。

填空:(1)3.0 (2)> (3) (2*i+1) 改错:(1)double fun (int n)

(2)s=s+(double)a/b;

编程:int i,j,max=a[0][0];

for(i=0;i<2;i++)

for (j=0;j

if (max

max=a[i][j];

return max;

29、程序填空题

给定程序中,函数fun的功能是计算下式

s=1/(2*2)+3/(4*4)+5/(6*6)+....(2n-1)/(2n*2n) 直到|(2n-1)/(2n*2n)|<=10e-3,并把计算结果作为函数值返回。

填空:(1)0(2)i++(3)2.0*i

改错:(1)void fun (char *s,char *t)(2)

t[2*d]='\0';

编程:int i,j=o;

for(i=1;i

if (i%2==0&&s[i]%2)t[j++]=s[i];

t[j]='\0';

30 程序填空题

给定程序中,函数fun的功能是,将形参s 所指字符串的所有字母

字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作

为函数值返回。

填空:(1)s[i] (2)k (3)0

改错:(1)while (*w) (2)if(*r==*p) 编程:int i,j=0;

for(i=1;i

if(s[i]%2)t[j++]=s[i];

t[j]='\0';

31、程序填空题

给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。

填空:(1) k (2) N (3) a[k][i]

改错:(1) for(i=strlen(t)-1;i;i--) (2) if(t[j]>t[j+1])

编程:char *p=ss

int i=0;

while(*p)

{

if((i%2)&&(*p>='a'&&*p<='z'))

*p-=32;

p++;

i++;

}

32、程序填空题

给定程序中,函数fun的功能是:将a所指3*5矩阵中第k列的元素左移到第0列,第k列以后的每列元素依次左移,原来左边的各列依次绕道右边。

填空:(1)k (2)N-1 (3)temp

改错:(1)void fun(int a[][M],int m)(2)a[j][k]=(k+1)*(j+1);

编程:

*c=(a%10)*1000+(b%10)*100+(a/10)*10+b/ 10; 33、程序填空题

给定程序中,函数fun的功能是:在3*4的矩阵中代出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。

填空:(1)j (2)0 (3)i++

改错:(1)for(i=2;i<=m;i++) (2)y-=1.0/(i*i); 编程:float av=0.0;

int i,j=0;

for(i=0;i

av+=score[i];

av/=m;

for(i=0;i

if(av>score[i])below[j++]=score[i];

return j;

10;

34、程序填空题

给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。

填空:(1)t,s(2)s[i](3)0

改错:(1)if (i%k==0)(2)if(k>=i)

编程:int i=0;

*n=0;

for (i=1;i<=x;i++)

if((x%i==0)&&(i%2))

pp[(*n)++]=i;

35、给定程序中,函数fun的功能是:在形参s所指字符串是否是“回文”(Palindrome),若是,函数返回值为1;不是,函数返回值为0。“回文”是正读和反读都一样的字符串(不区分大小写字母)。

填空:(1)s (2)—(3) return 0

改错:(1)double fun (int n)

(2)c=a;a+=b;b=c;

编程:int r=0,temp,p,sign=1;

for(temp=m+1;temp

{if(temp%p!=0)

sign=1;

else

{sign=0;

break;

}

}

if(sign= =1&&p>=temp)

{if(k>=0)

{xx[r++]=temp;

k- -;}

else break;

}

}

36 程序填空题

给定程序中,函数fun的功能是:计算出形参s所指定字符串中包含的单词个数,作为函数值返回。为便于统计,规定各单词之间用空格隔开。

填空:(1)n++ (2)0 (3)s++

改错:(1)t+=s[k]; (2)*aver=ave;

编程:int i,pos=0,max=*s;

for(i=1;i

{if(max<*(s+i))

{max=*(s+i);

pos=i;

}

}

*k=pos;

37、程序填空题

给定程序中,函数fun的功能是:将形参s 所指字符串中所有的ASCII码值小于97的字符存入形参t所指字符数组中,形成一个新串,并统计出符合条件的字符个数作为函数值返回。

填空:(1) *s (2) s++ (3) n

改错:(1) int j,c=0; double xa=0.0; (2) if(x[j] >= xa)

编程:float result,temp=1.0;

int i;

for(i=1; i<=m; i++)

temp=temp*i;

result=temp;

for(temp=1.0,i=1;i<=n;i++)

temp=temp*i;

result=result/temp; for(temp=1.0,i=1;i<=m-n;i++)

temp=temp*i;

result=result/temp;

return result;

38. 程序填空题

给定程序中,函数fun的功能是:将形象s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。

填空:(1)48 (2)s++ (3)sum

改错:(1)if ((k%13= =0) || (k%17= =0)) (2) ]

int i;

for(i=21;i<=n;i++)

if((i%3= =0)&&(i%7 = =0))

sum=sum+i;

return sprt(sum);

39、程序填空题

给定程序中,函数fun的功能是:找出形参s所指字符串中出现频率最高的字母(不区分大小写),并统计出其出现的次数。

填空:(1) *s (2) 1 (3) k[n]

改错:(1) double fun(int k) (2) return s;

编程:double s=0.0;

int i;

for(i=1;i<=n;i++)

s=s+1.0/(i*(i+1));

return s;

45、程序填空题

给定程序中,函数fun的功能是:利用指针数组对形参ss所指字符串数组中的字符串按由长到短的顺序排序,并输出排序结果,ss所指字符串数组中共有N个字符串,且串长小于M。

填空:(1) i (2) ps[j] (3) tp

改错:(1) double fun(int n) (2) return sum;

编程:int i;

double a=1,b=1,s=1;

for(i=1;i<=n;i++)

41、程序填空题

给定程序中,函数fun的功能是用函数指针指向要调用的函数,并进行调用,规定在2处使f指向函数f1,在3处使f指向函数f2。当调用正确时,程序输出:

x1=5.000000,x2=3.000000,

x1*x1+x1*x2=40.000000

填空:(1)double (2)f1 (3) f2

改错:(1)p=h->next; (2)p=p->next;

编程:

int i,n=0,fg=1;

char *p=str;

while(*p)

{n++;p++;}

for(i=0;i

if(str[i]==str[n-1-i]);

else

{fg=0;

break;}

return fg;

42、程序填空题

给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据从头至尾的数据为:10,4,2,8,6,排序后链表结点数据域从头至尾的数据为:2,4,6,8,10。

填空:(1)h->next (2)p->next (3)>=

改错:(1)p=h->next; (2)p=p->next;

编程:int i,j;

for(i=0;i

for(j=0;j

{b[*n]=*(*(s+i)+j);

*n=*n+1;}

43、程序填空题

给定程序中,函数fun的功能是将不带头结点的单向链表逆置,即若链表中从头至尾结点数据域依次为:2,4,6,8,10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。

填空:(1)NODE *(2)q(3)r

改错:(1)if(i%2 || s[i]%2==0)(2)t[j]=0; 编程:for(j=0;j

44..程序填空题

给定程序中,函数fun功能是将不带头结点的单向链表逆置,即若原链表从头到尾结点数据域依次为:2 4 6 8 10 逆置后,从头到尾结点数据域依次为:10 8 6 4 2

填空:(1)next (2)0 (3)r 改错:(1)r=t;(2)if(*r= =0)

编程:int i,j,k=0;

for(i=0;i

{for(j=0;j

if*(*(a+i)+j)

{b[k]=*(*(a+i)+j};

k++;}

else

break;

b[k]=’\0’;}

45、程序填空题

给定程序中,函数fun的功能是将不带头节点的单向链表结点数据域中的数据从小到大排序,即若原链表结点数据域从头到尾的数据为:10,4,2,8,6,排序后链表结点数据域从头到尾的数据为:2,4,6,8,10。填空:(1)p->next (2)q (3)p->next

改错:(1)'\0' (2)s++;

编程:int b[N],i,j=0;

for(i=p+1;i

{b[j]=w[i];j++;}

for(i=0;i<=p;i++)

{b[j]=w[i];j++;}

for(i=0;i

46、程序填空题

给定的程序中,函数fun的功能是:根据形参i的值返回某个函数的值,当调用正确时,程序输出:

X1=5.000000 x2=3.000000 x1*x1=x1*x2=40.000000

请在程序的下划线处填上正确的内容并把下划线删除

填空:(1) double (2) f1 (3) f2

改错:(1) char *fun(char *s, char *t) (2) ss++ (3) tt++

编程:

char a[N];

int i;

for(i=0;i

while(w[i]) {w[i-m]=w[i];i++;}

i--;m--;

for(;m>=0;m--;i--) w[i]=a[m];

47、程序填空题

给定的程序中,函数fun的功能是将形参给定的字符串,整数、浮点数写到文本文件中,再用字符的方式从此文本文件中逐个读入并显示在终端屏幕上。

填空:(1) FILE * (2) fp (3)ch

改错:(1)s[j++]=s[i];

(2) s[j]= '\0';

编程:for(j=0;j

b[n]=s[j][i];

48、程序填空题

给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi 和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。

填空;(1)File * (2) fclose(fp) (3) fp

改错;(1)t=(STU*)calloc(sizeof(STU),m);

(2) t[k]=b[j];

编程;int i,t,j=0,*p=a;

t=p[0];

for(i=0;i<=n;i++)

if(t==p[i]);

else

{a[j]=t;

t=p[i];

j++;

}

if(i>=n)

a[j]=t;

return j;

49、程序填空题

程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun 的功能是从形参filename所指的文件中读入学生数据,并按照学号从小到大排序后,再用二进制方式把排序后的学生数据输出到filename所指的文件中,覆盖原来的文件内容。填空:(1)"rb" (2)> (3)fwrite

改错:(1)p=s; (2) ; (缺分号)

编程:int i;

for(i=0;j

for(i=0;i

if(a[i]>=100)b[10]++;

else b[a[i]/10]++;

50、程序填空题

程序通过定义学生结构变量,储存了学生的学号、姓名和3门课的成绩。所有学生数据均以二进制方式输出到文件中。函数fun的功能是重写形参filename所指的文件中最后一个学生的数据,即用新的学生数据覆盖该学生原来的数据,其他学生的数据,其他学生的数据不变。

填空:(1)filename (2 ) fp (3) fp

改错:(1)p=(NODE*)malloc(sizeof(NODE));

(2)return h;

编程:int i,n=0;

for(i=0;i

{if(s[i]>=’ a’&&s[i]<=’ z’&&s[i+1]=’ ’||s[i+1]==’\0’)

n++;}

西工大C语言上机考试题库

1:2:3 #include #include int main() { int i=0,j=0,k=0,a=0,b=0,c=0,l=0,m=0,n=0,d=0,p=0,q=0; for(i=1;i<=3;i++) { for(j=1;j<=9;j++) { if(i!=j) { for(k=1;k<=9;k++) { if(k!=j&&i!=k) { a=i*100+j*10+k; b=a*2; c=a*3; l=b%10,d=c%10; m=(b%100)/10,p=(c%100)/10; n=b/100,q=c/100; if(l!=0&&m!=0&&n!=0&&d!=0&&p!=0&&q!=0) if(i!=l&&i!=m&&i!=n&&j!=l&&j!=m&&j!=n&&k!=l&&k!=m&&k!=n) if(i!=d&&i!=p&&i!=q&&j!=d&&j!=p&&j!=q&&k!=d&&k!=p&&k!=q) if(l!=d&&l!=p&&l!=q&&m!=d&&m!=p&&m!=q&&n!=d&&n!=p&&n!=q) printf("%d %d %d\n",a,b,c); } }

} } } return 0; } 8 #include"stdio.h" int main() { int a,b[10],m=0,n=0,p; int i,j,k; scanf("%d",&a); for(i=1;i<=a;i++) { m=0; n=0; p=i; for(j=0;p!=0;j++) { b[j]=p%10; p=p/10; } for(k=0;k

C语言上机题库百科园第2章!南信大!

第二章 若有数学式3ae bc,则不正确的C语言表达式是() A.3*a*e/b*c B.a/b/c*e*3 C.3*a*e/b/c D.a*e/c/b*3 设:int a=1,b=2,c=3,d=4,m=2,n=2;执行(m=a>b) && (n=c>d)后n的值为()。 A.4 B.3 C.2 D.1 下列表达式中,不满足"当x的值为偶数时值为真,为奇数时值为假"的要求的是() A.(x/2*2-x)==0 B.!(x%2) C.!(x%2==0) D.x%2==0 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A.char B.double C.不确定 D.float 在C语言中,要求运算数必须是整型的运算符是( ) A.% B./ C.++ D.!= 若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为()。 A.4

C.16 D.52 C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符( ) A.必须为下划线 B.必须为字母 C.可以是字母、数字和下划线中的任意一种 D.必须为字母或下划线 若a是数值类型,则逻辑表达式(a==1)||(a!=1)的值是( ) A.不知道a的值,不能确定 B.0 C.2 D.1 判断字符型变量c1是否为数字字符的正确表达式为( ) A.(c1>='0')&&(c1<='9') B.(c1>=0)&&(c1<=9) C.('0'>=c1)||('9'<=c1) D.'0'<=c1<='9' 下面四个选项中,均是合法的用户标识符的选项是()。 A._123 temp INT B.A p_o do C.b-a goto int D.float lao _A 以下关于C语言数据类型使用的叙述中错误的是( ) A.若要处理如"人员工资"的相关数据,单精度类型 B.若只处理"真"和"假"两种逻辑值,应使用逻辑类型 C.若要保存带有多位小数的数据,应使用双精度类型 D.若要准确无误差的表示自然数,应使用整数类型 假设所有变量均为整型,则表达式(a=2,b=5,b++,a+b)的值是()。 A.7 B.8 C.6 D.2 下面正确的字符常量是()

C语言上机题库

C语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { int a,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据c=5/9*(f-32) 公式,输入华氏温度f,求摄氏温度c,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { int num; int a,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a #include int main(void) { char c1,c2;

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

c语言上机考试训练题库及答案

上机考试习题集 1.编写程序,一次输入5个学生的3门课成绩,每输入一个学生的3门成绩后,立即统计并输出该学生的总分和平均分。 #include "stdio.h" void main() { int score[5][3], i,j; float sum[5],average[5]; printf("请分别输入三个学生的成绩:\n"); for(i=0;i<5;i++) { sum[i]=0; for(j=0;j<3;j++) {scanf("%d",&score[i][j]); average[i]=0; sum[i]+=score[i][j]; average[i]=sum[i]/5; } } for(i=0;i<5;i++) printf("第%d个学生的总分为:%f,平均成绩为:%f\n",i+1,sum[i],average[i]); } 2 、编写程序,提示用户从键盘输入一个double类型的数,使该数保留小数点后两位,对第三位小数进行四舍五入处理,然后在显示器上输出此数,以便验证处理是否正确。 #include #include double rounding(double x,int n); void main() { double x,x1; int n; printf("请输入一个浮点数:\n"); scanf("%lf",&x); printf("请输入给定的小数位:\n"); scanf("%d",&n); x1=rounding(x,n); printf("圆整后的数为:\n%.*lf\n",n,x1); } double rounding(double x,int n)

2020年全国计算机等级考试二级c语言上机精选题库(共80套)

2020年全国计算机等级考试二级c语言上机精选题库(共80套) 第1套试题 第一题:给定程序中,函数fun的功能是:计算N*N矩阵的主对角元素和反向对角元素之和,并作为函数值返回。注意:要求先累加主对角线元素中的值,然后累加反向对角线元素中的值。 例如,若N=3,有下列矩阵: 1 2 3 4 5 6 7 8 9 fun函数首先累加1、5、9,然后累加3、5、7,函数的返回值为30。 请勿改动主函数main和其他函数中的任何内容,仅在fun函数的横线上填入所编写的若干表达式或语句。 #include #define N 4 fun(int t[][N], int n) { int i, sum; ___1___; for (i=0; i

第二题:下列给定程序中,函数fun 的功能是:根据整型参n ,计算如下公式的值。 ,11=A ,1112A +=A ,1123A +=A … ,1 11-A +=A n n 例如,若n=10,则应输出0.617978。 请改正程序中的错误,使它能得出正确的结果。 注意:不要改动main 函数,不得增行或删行,也不要更改程序的结构! #include #include /********found********/ fun(int n) { double A = 1; int i; /********found********/ for(i=2;i #include void fun (int a, int b, long *c) { }

历年全国计算机等级考试-二级C语言上机考试题库及答案

1.填空 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号,姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除,是程序得出正确的结果。 注意:源程序存放在考生文件夹下的BLANK1.c中 不得增行或删行,也不得更改程序的结构! void check(); /**********found**********/ int fun(___1___ *std) { /**********found**********/ ___2___ *fp; int i; if((fp=fopen("myfile5.dat","wb"))==NULL) return(0); printf("\nOutput data to file !\n"); for(i=0; i

二级C语言上机题库及答案

第一套题 上机填空: #include double fun(double e) { int i, k; double s, t, x; s=0; k=1; i=2; /**********found**********/ x=__1__/4; /**********found**********/ while(x __2__ e) { s=s+k*x; k=k* (-1); t=2*i; /**********found**********/ x=__3__/(t*t); i++; } return s; } main() { double e=1e-3; printf("\nThe result is: %f\n",fun(e)); 第一处答案:3.0 第二处答案:> 第三处答案:(2*i+1)或者(t+1) 上机改错题: #include /************found************/ void fun ( int n )

{ int a, b, c, k; double s; s = 0.0; a = 2; b = 1; for ( k = 1; k <= n; k++ ) { /************found************/ s = s + (Double)a / b; c = a; a = a + b; b = c; } return s; } main( ) { int n = 5; printf( "\nThe value of function is: %lf\n", fun ( n ) ); } 第一处改错:将:void fun ( int n ) 改为double fun ( int n ) 第二处改错:s = s + (Double)a / b; 改为s = s + (double)a / b; 第二套题 上机填空题 #include double fun(int n) { int i; double s, t; /**********found**********/ s=__1__; /**********found**********/ for(i=1; i<=__2__; i++) { t=2.0*i; /**********found**********/ s=s+(2.0*i-1)*(2.0*i+1)/__3__; } return s; } main() { int n=-1; while(n<0) { printf("Please input(n>0): "); scanf("%d",&n); }

浙江大学C语言上机考试题库

上机考试练习题 20021程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0 int main(void) { int repeat, ri; double x, y; scanf("%d", &repeat); for(ri = 1; ri <= repeat; ri++){ scanf("%lf", &x); /*---------*/ if(x!=0) y=1/x; else y=0; printf("f(%.2f) = %.1f\n", x, y); } } 20022程序填空,不要改变与输入输出有关的语句。 输入华氏温度,输出对应的摄氏温度。计算公式:c = 5*(f-32)/9,式中:c表示摄氏温度,f表示华氏温度。 输入输出示例:括号内为说明 输入 150 (fahr=150) 输出 celsius = 65 #include int main(void)

int celsius, fahr; /*---------*/ scanf(“%d”,&fahr); celsius=5.0*(fahr-32)/9; printf("celsius = %d\n", celsius); } 20023程序填空,不要改变与输入输出有关的语句。 输入存款金额 money、存期 year 和年利率 rate,根据下列公式计算存款到期时的利息 interest(税前),输出时保留2位小数。 interest = money(1+rate)^year - money 输入输出示例:括号内为说明 输入 1000 3 0.025 (money = 1000, year = 3, rate = 0.025) 输出 interest = 76.89 #include #include int main(void) { int money, year; double interest, rate; /*---------*/ scanf(“%d%d%lf”,&money,&year,&rate); interest=money*pow((1+rate),year)-money; printf("interest = %.2f\n", interest); } 20024程序填空,不要改变与输入输出有关的语句。 输入一个正整数repeat (0= 0时,f(x) = x^0.5,当x小于0时,f(x) = (x+1)^2 + 2x + 1/x。 输入输出示例:括号内是说明 输入 3 (repeat=3) 10 -0.5

全国计算机等级考试C语言上机考试题库 套

2017年全国计算机等级考试C语言上机考试题库 学生练习用第41套至第60套 第四十一套 1、程序填空 下列给定程序中,函数fun的功能是:将形参s所指字符串中的所有字母字符顺序前移,其他字符顺序后移,处理后将新字符串的首地址作为函数值返回。 例如,若s所指字符串为:"asd123fgh543df",处理后新字符串为:"asdfghdf123543"。 请在程序的下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。 注意:部分源程序在文件中。 不得增行或删行,也不得更改程序的结构! ----------------------------------------------------------------------------------------------------------------- #include <> #include <>

#include <> char *fun(char *s) { int i, j, k, n; char *p, *t; n=strlen(s)+1; t=(char*)malloc(n*sizeof(char)); p=(char*)malloc(n*sizeof(char)); j=0; k=0; for(i=0; i='a')&&(s[i]<='z'))||((s[i]>='A')&&(s[i]<='Z'))) { /**********found**********/ t[j]=__1__; j++;} else { p[k]=s[i]; k++; } } /**********found**********/

C语言上机题库1

一、选择题 1.下列变量说明语句中,正确的是()。 A、char a;b;c; B、char:a b c; C、int x;z; D、int x,z; 2.设以下变量均为int类型,则值不等于7的表达式是()。 A、(x=6,x+1,y=6,x+y) B、(x=y=6,x+y,y+1) C、(y=6,y+1,x=y,x+1) D、(x=y=6,x+y,x+1) 3.x,y,z,t均为整型变量,则执行以下语句后,t的值为:() x=y=z=1; t=++x||++y&&++z; A、0 B、1 C、2 D、不定值 4.如果int a=2,b=3,c=0,下列描述正确的是()。 A、a&&b>c的结果为假 B、!a!=(b!=c)表达式的值为1 C、a||(b=c)执行后b的值为0 D、a>b!=c和a>(b!=c)的执行顺序是一样的 5.从键盘输入的整数中找出最小值min,输入0时结束.请在A处填写正确语句()。#include "stdio.h" main() { int min=0,a; do{ scanf("%d",&a); if(min>a) min=a; }while(___A___); printf("%d",min); } A、a=0 B、a==0 C、a>0&&a<0 D、a!=0

6.设有如下程序段: int k=10; while(k==0) k--; 则下述说明中正确的是(). A、循环体一次也不执行 B、循环体执行一次 C、死循环 D、循环体执行10次 7.static char str[10]="China";数组元素个数为()。 A、6 B、9 C、5 D、10 8.函数调用:strcat(strcpy(str1,str2),str3)的功能是()。 A、将串str1复制到串str2中后再连接到串str3之后 B、将串str2连接到串str1之后再将串str1复制到串str3中 C、将串str1连接到串str2之后再复制到串str3之后 D、将串str2复制到串str1中后再将串str3连接到串str1之后 9.C语言程序中必须有的函数是()。 A、#include "stdio.h" B、main C、printf D、scanf 10.程序运行结束后,屏幕上输出值为(). static int x=10; main( ) { int x=3; f( ); x- -; printf("%d",x); } f( ) { x++; } A、10 B、2 C、11 D、3

C语言上机练习题及答案

1输入三个整数x,y,z,把这三个数由小到大输出。 # include void main() { int x,y,z,a; scanf ("%d,%d,%d",&x,&y,&z); if(x>y) {a=x; x=y;y=a; } if(x>z) { a=x; x=z; z=a; } if(y>z) {a=y; y=z; z=a; } printf("%d,%d,%d\n",x,y,z); } 2输入圆的半径,输出圆的周长和面积。 # include # define PI 3.1415926 # define S ==PI*r*r # define V (4.0/3)*PI*r*r*r void main() { double r; printf("please input r:"); scanf("%lf",&r); printf("area is %.4lf\n",S); printf("volume is %.4lf\n",V); } 输入正方形的边长,输出正方形的周长和面积。 # include void main() { float c,zc,mj; printf("输入你的正方形"); scanf("%f\n",&c); zc=4*c; mj=c*c; printf("周长%f,面积%f,边长%f",zc,mj,c); } 3用格式输入函数输入3个字符,并用输出函数反向输出3个字符和他们的ASCII 码。 # include int main() {char-ch1,ch2,ch3;

大学c语言考试题库(含答案)

单项选择 ================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。 int a=10; printf("%d",a++); A、11 和 10 B、11 和 11 C、10 和 11 D、10 和 10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B 题号:45 能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0

D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=0; while(i<10) { if(i<1) continue; if(i==5) break; i++; } } A、死循环,不能确定次数 B、6

2019年C语言考试题库及答案

2019年C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油!

一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。

A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

C语言上机题库百科园第4章!南信大!

第四章 单选 有以下程序,程序运行后的输出结果是( ) #include int fun (int x,int y) { if (x!=y) return ((x+y)/2); else return (x); } int main() { int a=4,b=5,c=6; printf("%d\n",fun(2*a,fun(b,c))); return 0; } A.12 B.6 C.3 D.8 有以下程序,程序运行的输出结果( ) #include int f(int x); int main() { int n=1,m; m=f(f(f(n))); printf(“%d\n”,m); return 0 ; } int f(int x) { return x*2;} A.8 B.4 C.1 D.2 有以下程序,程序执行后变量w中的值是( ) #include int funl(double a){return a*=a;} int fun2(double x,double y) { double a=0,b=0; a=funl(x);b=funl(y);return (int)(a+b); } int main() {double w;w=fun2(1.1,2.0);……} A.5.21 B.0.0 C.5.0 D.5 有以下程序,程序运行后的输出结果是()#include int fun() { static int x=1; x*=2; return x;

} int main() { int i,s=1; for(i=1;i<=3;i++) s*=fun(); printf("%d\n",s); } A.10 B.64 C.0 D.30 有以下程序,程序运行后的输出结果是() #include int f(int x,int y) {return ((y-x)*x);} int main() { int a=3,b=4,c=5,d; d=f(f(a,b),f(a,c)); printf("%d\n",d); } A.10 B.8 C.7 D.9 有以下程序,程序运行后的输出结果是() #include void fun(int p) { int d=2; p=d++; printf(“%d”,p); } int main() { int a=1; fun(a); printf(“%d\n”,a); return 0; } A.22 B.21 C.12 D.32 有以下程序:程序运行后的输出结果是( ) #include int f() { static int x=1; x+=1; return x; } int main()

C语言上机题库百科园第1章!南信大!

第一章 以下叙述中错误的是( ) A.一个C语言程序只能有一个主函数 B.C语言编写的每个函数都可以进行独立的编译并执行 C.C语言编写的函数都可以作为一个独立的源程序文件 D.C语言编写的函数源程序,其文件名后缀可以是C 计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( ) A.C语言程序仅可以编译执行 B.C语言程序仅可以解释执行 C.以上说法都不对 D.C语言程序既可以编译执行又可以解释执行 C语言规定:在一个源程序中,main的位置( ) A.可以任意 B.必须在最后 C.必须在最开始 D.必须在系统调用的库函数后面 一个C语言程序是由( ) A.若干过程组成 B.若干子程序组成 C.函数组成 D.一个主程序和若干子程序组成 以下关于结构化程序设计的叙述中正确的是( ) A.一个结构化程序必须同时由顺序、分支、循环三种结构组成 B.在C语言中,程序的模块化是利用函数实现的 C.由三种基本结构构成的程序只能解决小规模的问题 D.结构化程序使用goto语句会很便捷 以下叙述正确的是( ) A.在C程序中,main函数必须位于程序的最前面 B.在对一个C程序进行编译的过程中,可发现注释中的拼写错误 C.C语言本身没有输入输出语句 D.程序的每行中只能写一条语句 以下叙述中错误的是( ) A.C语言编写的每个函数都可以进行独立的编译并执行

B.C语言编写的函数源程序,其文件名后缀可以是C C.一个C语言程序只能有一个主函数 D.C语言编写的函数都可以作为一个独立的源程序文件 以下叙述正确的是( ) A.C程序的书写格式是固定的,每行只能写一条语句 B.C程序中注释部分可以单独占一行 C.构成C程序的基本单位是函数,所有函数名都可以由用户命名 D.在对C语言程序进行编译时,可以发现注释行中的拼写错误 以下叙述正确的是( ) A.C语言程序是由过程和函数组成的 B.C语言函数不可以单独编译 C.C语言中除了main函数,其他函数不可作为单独文件形式存在 D.C语言函数可以嵌套调用,例如:fun(fun(x)) 一个C程序的执行是从( ) A.本程序文件的第一个函数开始,到本程序main函数结束 B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C.本程序的main函数开始,到本程序文件的最后一个函数结束 D.本程序的main函数开始,到main函数结束 以下叙述不正确的是( ) A.在C程序中,注释说明只能位于一条语句的后面 B.C程序的基本组成单位是函数 C.一个C源程序可由一个或多个函数组成 D.一个C源程序必须包含一个main函数

C语言试题库完整版

C语言试题库 一、单项选择 第一章C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。 (2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、C程序的每行中只能写一条语句。 C、C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3)C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。 D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为 x=(i=4, j=16, k=32) A、4

B、16 C、32 D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、i f, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是 A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是 A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下: int k, a, b; unsinged long w=5; double x=1.42; 则以下不符合C语言语法的表达式是 A、x%(-3) B、w+=-2; C、k=(a=2,b=3,a+b) D、a+=a-=(b=4)*(a=3) 第三章简单C程序设计 (1)putchar函数可以向终端输出一个 A、整型变量表达式值 B、实型变量值 C、字符串 D、字符或字符型变量值 (2)若x,y均定义为int型,z定义为double 型,以下合法的scanf函数调用语句是A、scanf(“%d%lx,%le”,&x,&y,&z); B、scanf(“%2d*%d%lf”,&x,&y,&z); C、scanf(“%x%*d%o”,&x,&y,&z); D、scanf(“%x%o%6.2f”,&x,&y,&z);

C语言上机题库

1 C 语言习题集 3.11输入'A'~'F'中的一个字母,代表一个十六进制数,将其转换为十进制数,求该数与15的和并输出。 输入格式: B 输出格式: 26 #include int main(void) { char ch; int sum; ch=getchar(); sum=ch-'A'+10+15; printf("%d\n",sum); return 0; } 3.12输入三个整数,求其平均值。 输入格式: 3 5 7 输出格式: 5 #include int main(void) { inta,b,c,aver; scanf("%d %d %d",&a,&b,&c); aver=(a+b+c)/3; printf("%d\n",aver); return 0; } 3.13根据 c=5/9*(f-32) 公式,输入华氏温度f ,求摄氏温度c ,结果精确到小数点后两位。 输入格式: 80.0 输出格式: 26.67 #include int main(void) { float f,c; scanf("%f",&f); c=5.0/9*(f-32); printf("%.2f\n",c); return 0; } 3.14输入一个四位正整数,求其各位数字之和。例如,1357的各位数字之和为1 + 3 + 5 + 7 = 16。 输入格式: 1357 输出格式: 16 #include int main(void) { intnum; inta,b,c,d,total; scanf("%d",&num); a=num/1000; b=(num-a*1000)/100; c=(num-a*1000-b*100)/10; d=num-a*1000-b*100-c*10; total=a+b+c+d; printf("%d\n",total); return 0; } 3.15输入一大写字母,输出对应的小写字母。 输入格式: A 输出格式: a

相关主题