文档库 最新最全的文档下载
当前位置:文档库 › C语言题库113道(简缩)

C语言题库113道(简缩)

C语言题库113道(简缩)
C语言题库113道(简缩)

C语言 113道题

第1题:编写函数求1~100中奇数的平方和。

结果为166650.000000。

float s=0;

int i;

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

s=s+i*i;

return(s);

第2题:在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出主对角线元素的积,并在fun()

函数中输出。

int sum;

int i,j;

sum=1;

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

sum=sum*a[i][i];

return sum;

第3题:能计算从1开始到n的自然数中偶数的平方的和,n由

键盘输入,并在main()函数中输出。(n是偶数)

int sum,i;

sum =0;

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

{

sum=sum+i*i;}

return(sum);

第4题:将两个两位数的正整数a、b合并形成一个整数放在c

中。合并的方式是:将a数的十位和个位数依次放在

c数的千位和十位上, b数的十位和个位数依次放在

c数的个位和百位上。

例如:当a=45,b=12。调用该函数后,

c=4251。

*c=a/10*1000+a%10*10+b/10+b%10*100; 第5题:求一组数中大于平均值的数的个数。

例如:给定的一组数为

1,3,6,9,4,23,35,67,12,88时,函

数值为3。

int i,k=0;

float s=0,ave;

for(i=0;i

s+=a[i];

ave=s/n;

printf("%f ",ave);

for(i=0;i

if(a[i]>ave)k++;

return k;

第6题:对长度为8个字符的字符串,将8个字符按降序排列。

例如:原来的字符串为CEAedcab,排序后输出为edcbaECA。

int i,j;

char t;

for(i=0;i

for(j=i+1;j

if(s[i]

{ t=s[i];s[i]=s[j];s[j]=t;} 第7题:求出二维数组周边元素之和,作为函数值返回。二

维数组的值在主函数中赋予。

int s=0;

int i,j;

for(i=0;i

s=s+a[i][0]+a[i][N-1];

for(j=1;j

s=s+a[0][j]+a[M-1][j];

return s;

第8题(10.0分)题号:339 功能:判断整数x是否是同构数。若是同

构数,函数返回1;

否则返回0。x的值由主函数从键盘

读入,要求不大

于100。

说明:所谓“同构数”是指这样的数,这

个数出现在它的

平方数的右边。

例如:输入整数5,5的平方数是25,5是

25中右侧的数,所

以5是同构数。

int k;

k=x*x;

if((k%10==x)||(k%100==x))

return 1;

else

return 0;

int i;

for(i=0;str1[i]!='\0';i++)

str2[i]=str1[i];

str2[i]='\0';

第10题(10.0分)题号:310

功能:计算并输出给定整数n的所有因子

之和(不包括1与

自身)。

注意:n的值不大于1000。

例如:n的值为855时,应输出704。

int s=0,i;

for(i=2;i

if(n%i==0)s=s+i;

return s;

第11题(10.0分)题号:354

功能:求小于lim的所有素数并放在aa数

组中,该函数返回

所求出素数的个数。

int n=0;

int i,j;

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

{for(j=2;j

if(i%j==0) break;

if(j==i) aa[n++]=i;

}

return n;

第12题(10.0分)题号:341

功能:删除所有值为y的元素。数组元素

中的值和y的值由

主函数通过键盘输入。

int i,j;

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

{

if(bb[i]==y)

{for(j=i;j<*n;j++)

bb[j]=bb[j+1];

*n=*n-1;

}

else

i++;

}

第13题(10.0分)题号:317

功能:求出N×M整型数组的最大元素及其

所在的行坐标及

列坐标(如果最大元素不唯一,选

择位置在最前面

的一个)。

例如:输入的数组为:

1 2 3

4 1

5 6

12 18 9

10 11 2

求出的最大数为18,行坐标为2,列

坐标为1。

int max,i,j;

max=array [0][0];

Row=0;

Col=0;

for(i=0;i

{for(j=0;j

if(max

{max=array [i][j];

Row=i;

Col=j;}

}

return(max);

第14题(10.0分)题号:392

功能:求一批数中最大值和最小值的积。

int i,max,min;

max=min=a[0];

for(i=1;i

if(a[i]>max) max=a[i];

else if(a[i]

return(max*min);

第15题(10.0分)题号:501

题目:从键盘输入一个大写字母,要求改

用小写字母输出。

答案: c=c+32;

return c;

第16题(10.0分)题号:502

题目:用while语句求1~100的累计和。

答案: int i=1,sum=0;

while(i<=n)

{

sum=sum+i;

i++;

}

return sum;

第17题(10.0分)题号:409

题目:输入华氏温度求摄氏温度。转换公

式为 c=5/9(f-32),

输出结果取两位小数。

答案: float n;

n=(5.0/9.0)*(m-32);

return n;

第18题(10.0分)题号:29

功能:对任意输入的 x,用下式计算并输

出 y 的值。

5 x<10

y= 0 x=10

-5 x>10

答案: int m;

if(n<10)

m=5;

else

if(n==10) m=0;

else m=-5;

return m;

int m;

if(n>=10)

if(n>10)

m=-5;

else m=0;

else m=5;

return m;

第19题(10.0分)题号:382

功能:给定n个数据, 求最小值出现的位

置(如果最小值

出现多次,求出第一次出现的位置

即可)。

int i,k;

k=0;

for(i=1;i

if(s[i]

return(k);

第20题(10.0分)题号:367

功能:找出一批正整数中的最大的偶数。

int i,amax=-1;

for(i=0;i

if(a[i]%2==0)

if (a[i]>amax) amax=a[i];

return amax;

第21题(10.0分)题号:384

功能:产生20个[30,120]上的随机整数放

入二维数组a[5][4]

中,求每行元素的和。

int i,j;

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

{ b[i]=0;

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

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

}

第22题(10.0分)题号:334

功能:求给定正整数n以内的素数之积。(n<28)

long i,k;

long s=1;

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

{for(k=2;k

if(i%k==0)break;

if(k==i)s=s*i;

}

return s;

第23题(10.0分)题号:363

功能:求一个给定字符串中的字母的个数。int i,k=0;

for(i=0;s[i]!='\0';i++)

if(s[i]>='a'&&s[i]<='z'||s[i]>='A'&& s[i]<='Z')

k++;

return k;

第24题(10.0分)题号:361

功能:编写程序, 求矩阵(3行3列)与2的乘积

例如:输入下面的矩阵:

100 200 300

400 500 600

700 800 900

程序输出:

200 400 600

800 1000 1200

1400 1600 1800

int i,j;

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

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

array[i][j]=array[i][j]*2;

第25题(10.0分)题号:400

功能:编写main程序调用函数fact求解从m个元素选n个元

素的组合数的个数。计算公式是:

组合数=m!/(n!.(m-n)!)。要求:m 不能小于n,否则

应有容错处理。

说明:函数fact(x)的功能是求x!。

while(m

{

printf("m和n输入错!请重新输

入:\n");

scanf("%d%d",&m,&n);

}

zhsgs=fact(m)/(fact(n)*fact(m-n)); 第26题(10.0分)题号:411

功能:对任意输入的 x,用下式计算并输出 y 的值。

-1 x<0

y= 0 x=0

1 x>0

答案: int m;

if(n<0)

m=-1;

else

if(n==0) m=0;

else m=1;

return m;

int m;

if(n>=0)

if(n>0)

m=1;

else m=0;

else m=-1;

return m;

第27题(10.0分)题号:509

功能:编写函数fun其功能是:根据整型形参m,计算如下

公式的值:y=1+1/3+1/5+1/7

+…+1/(2m+1)

例如:若m=9,则应输出:2.133256

double y=1;

int i;

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

{y+=1.0/(2*i+1); }

return(y);

第28题(10.0分)题号:394

功能:产生20个[30,120]上的随机整数放

入二维数组

a[5][4]中, 求其中的最小值。

int i,j,s;

s=a[0][0];

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

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

if(s>a[i][j])s=a[i][j];

return(s);

第29题(10.0分)题号:330

功能:计算出k以内最大的10个能被13

或17整除的自然数之

和。(k〈3000)。

int a=0,b=0;

while((k>=2)&&(b<10))

{if((k%13==0)||(k%17==0))

{a=a+k;b++;}

k--;

}

return a;

第30题(10.0分)题号:364

功能:求一个四位数的各位数字的立方和。

int d,s=0;

while (n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

return s;

第31题(10.0分)题号:348

功能:从低位开始取出长整型变量s中偶

数位上的数,依次

构成一个新数放在t中。

例如:当s中的数为:7654321时,t中的

数为:642。

答案:

----------------------

long sl=10;

s /= 10;

t = s % 10;

while(s > 0)

{ s = s/100;

t = s%10*sl + t;

sl = sl * 10;

}

----------------------

第32题(10.0分)题号:313

功能:从键盘为一维整型数组输入10个整

数,调用fun函数

找出其中最小的数,并在main函数

中输出。

答案:

----------------------

int min,i;

min=x[0];

for(i=1;i

{if(x[i]

return min;

----------------------

第33题(10.0分)题号:391

功能:将字符串中的小写字母转换为对应

的大写字母,

其它字符不变。

答案:

----------------------

int i;

for(i=0;str[i]!='\0';i++)

if(str[i]>='a' && str[i]<='z')

str[i]=str[i]-32;

----------------------

第34题(10.0分)题号:397

功能:编写函数fun(str,i,n),从字符串

str中删除第i个

字符开始的连续n个字符(注

意:str[0]代表字符串

的第一个字符)。

答案:

----------------------

while(str[i+n-1])

{

str[i-1]=str[i+n-1];

i++;

}

str[i-1]='\0';

----------------------

第35题(10.0分)题号:325

功能:在键盘上输入一个3行3列矩阵的

各个元素的值(值

为整数),然后输出主对角线元素的

平方和,并在

fun()函数中输出。

答案:----------------------

int sum;

int i;

sum=0;

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

sum=sum+a[i][i]*a[i][i];

return sum;

----------------------

第36题(10.0分)题号:388

功能:编写函数判断一个整数能否同时被3

和5整除,若能

则返回值为1,否则为0。调用该函

数求出15~300之

间能同时被3和5整除的数的个数。

答案:

----------------------

if(n%3==0&&n%5==0) return(1);

return(0);

----------------------

第37题(10.0分)题号:399

功能:编写程序求无理数e的值并输出。

计算公式为:

e=1+1/1!+1/2!+1/3!+......+1/n!

当1/n!<0.000001时e=2.718282。

答案:

----------------------

long int j;

int i,k;

double e,jc;

i=1;

e=0.0;

jc=1.0;

while(jc>=0.000001)

{

e=e+jc;

j=1;

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

j=j*k;

jc=1.0/j;

i++;

}

return e;

----------------------

第38题(10.0分)题号:312

功能:调用函数fun判断一个三位数是否"

水仙花数"。

在main函数中从键盘输入一个三位

数,并输

出判断结果。请编写fun函数。

说明:所谓"水仙花数"是指一3位数,其

各位数字立方和

等于该数本身。

例如:153是一个水仙花数,因为

153=1+125+27。

答案:

----------------------

int bw,sw,gw;

bw=n/100;sw=(n-bw*100)/10;gw=n%10;

if(n==bw*bw*bw+sw*sw*sw+gw*gw*gw) return 1;

else return 0;

----------------------

第39题(10.0分)题号:335

功能:求一个n位自然数的各位数字的积。(n 是小于10的

自然数)

答案:

----------------------

long d,s=1;

while (n>0)

{d=n%10;

s*=d;

n/=10;

}

return s;

----------------------

第40题(10.0分)题号:379

功能:给定n个数据, 求最大值出现的位置(如果最大值出

现多次,求出第一次出现的位置即可)。

答案:

----------------------

int i,k;

k=0;

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

if(s[i]>s[k]) k=i;

return(k+1);

----------------------

第41题(10.0分)题号:22

功能:从键盘为一维整型数组输入10个整数,调用fun

函数找出其中最小的数,并在main 函数中输出。

请编写fun函数。

答案:

----------------------

int min,i;

min=x[0];

for(i=1;i

{if(x[i]

return min;

----------------------

第42题(10.0分)题号:381

功能:求一批数中小于平均值的数的个数。答案:

----------------------

int i,sum=0,k=0;

double average;

for(i=0;i

sum=sum+a[i];

average=sum*1.0/n;

for(i=0;i

if(average>a[i]) k++;

return(k);

----------------------

第43题(10.0分)题号:352

功能:根据整型形参m,计算如下公式的值:y=1/2+1/4+

1/6+...+1/2m 。

例如:若m=9,则应输出:1.414484

答案:

----------------------

double y=0;

int i;

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

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

return(y);

----------------------

第44题(10.0分)题号:33

功能:用do-while语句求1~100的累计和。

答案: int i =1, sum =0;

do { sum = sum + i;

i++;

} while ( i <= n );

return sum;

第45题(10.0分)题号:347

功能:把20个随机数存入一个数组,然后

输出该数组中的

最小值。其中确定最小值的下标的

操作在fun函数中

实现,请给出该函数的定义。

答案:

----------------------

int i,min=0;

for(i=1; i

if(list[min]>list[i])

min=i;

return min;

----------------------

第46题(10.0分)题号:343

功能:将两个两位数的正整数a、b合并形

成一个整数放在c

中。合并的方式是:将a数的十位

和个位数依次放

在c数的个位和百位上, b数的十位

和个位数依次放

在c数的十位和千位上。

例如:当a=45,b=12,调用该函数后,

c=2514。

答案:----------------------

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

第47题(10.0分)题号:504

功能:编写程序打印如图1所示图形。

*

***

*****

*******

*****

***

*

要求:要求使用abs()。

答案: for(m=-i;m<=i;m++)

{

for(n=0;n

");

for(n=0;n<7-2*abs(m);n++)

printf("*");

printf("\n");

}

第48题(10.0分)题号:365

功能:求1到100之间的偶数之积。

答案:

----------------------

double y=1;

int i;

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

if(i%2==0)y*=i;

return y;

----------------------

第49题(10.0分)题号:410

功能:编写函数fun将一个数组中的值按

逆序存放,并在

main()函数中输出。

例如:原来存顺序为8,6,5,4,1。要求改为:

1,4,5,6,8。

答案:

----------------------

int i,t;

for(i=0;i

{ t=arr[i];

arr[i]=arr[n-1-i];

arr[n-1-i]=t;

}

----------------------

第50题(10.0分)题号:373

功能:用函数求fibonacci数列前n项的

和。

说明:fibonacci数列为数列的第一项值为

1,第二项值也

为1,从第三项开始,每一项均为其

前面相邻两项

的和。

例如:当n=28时,运行结果:832039

答案:

----------------------

long f,k=f1+f2;

int i;

for(i=3;i<=28;i++)

{f=f1+f2;

k=k+f;

f1=f2;

f2=f;

}

return(k);

----------------------

第51题(10.0分)题号:378

功能:编写函数用冒泡排序法对数组中的

数据进行从小到

大的排序。

答案:

----------------------

int i,j,t;

for(i=0;i

for(j=0;j

if(a[j]>a[j+1])

{t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

----------------------

第52题(10.0分)题号:323

功能:求1到w之间的奇数之和。(w是大

于等于100小于等

于1000的整数)

答案:

----------------------

long y=0;

int i;

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

if(i%2==1)y+=i;

return y;

----------------------

第53题(10.0分)题号:380

功能:用辗转相除法求两个整数的最大公

约数。

答案:

----------------------

int r,t;

if(n

r=n%m;

while(r!=0)

{ n=m;m=r;r=n%m;}

return(m);

----------------------

第54题(10.0分)题号:503

题目:分别统计字符串中字母、数字、空

格和其他字符出现的

次数(字符长度小于80)。

答案: int i;

for(i=0;c[i]!='\0';i++)

if((c[i]>='A'&&c[i]<='Z')||(c[i]>='a

'&&c[i]<='z'))

a=a+1;

else if (c[i]>='0'&&c[i]<='9')

num=num+1;

else if (c[i]==' ')

b=b+1;

else

other=other+1;

第55题(10.0分)题号:395

功能:求n阶方阵主、副对角线上的元素

之积。

答案:

----------------------

int i,j;

float t=1;

for(i=0;i

for(j=0;j

if(i==j||i+j==N-1)

t=t*arr[i][j];

return(t);

----------------------

第56题(10.0分)题号:318

功能:输入一个字符串,过滤此串,只保留串中的字母字

符,并统计新生成串中包含的字母个数。

例如:输入的字符串为ab234$df4,新生成的串为abdf 。

答案:

----------------------

int i,j;

for(i=0,j=0;*(ptr+i)!='\0';i++)

if(*(ptr+i)<='z'&&

*(ptr+i)>='a'||*(ptr+i)<='Z' &&

*(ptr+i)>='A')

{*(ptr+j)=*(ptr+i);

j++;}

*(ptr+j)='\0';

return(j);

----------------------

第57题(10.0分)题号:311

功能:计算n门课程的平均值,计算结果作为函数值返回。

例如:若有5门课程的成绩是:92,76,69,58,88,

则函数的值为76.600000。

答案:

----------------------

int i;

float y=0;

for(i=0;i

y+=a[i];

y=y/n;

return y;

----------------------

第58题(10.0分)题号:358

功能:根据整型形参m,计算如下公式的值:y=sin(m)*10。

例如:若m=9,则应输出:4.121185

答案:

----------------------

double y=0;

y=sin(m)*10;

return(y);

----------------------

第59题(10.0分)题号:23

功能:从键盘输入一个大于3的整数,调用函数fun判断

其是否素数,然后在main函数中输出相应的结论

信息。

例如:7是素数,8不是素数。请编写fun 函数。素数是

仅能被1和自身整除的数

答案:----------------------

int i;

int j;

j= 1;

for(i=2;i

{if(n%i==0) j= 0;

}

return j;

----------------------

第60题(10.0分)题号:349

功能:从低位开始取出长整型变量s奇数位上的数,依次

构成一个新数放在t中。

例如:当s中的数为:7654321时,t中的数为:7531。

答案:

----------------------

long sl=10;

t = s % 10;

while(s > 0)

{ s = s/100; t = s%10*sl + t;

sl = sl * 10;

}

----------------------

第61题(10.0分)题号:332

功能:根据整型参数n,计算如图公式的值。

答案:

----------------------

double a=1;int i;

for(i=1;i

a=1.0/(1+a);

return a;

----------------------

第62题(10.0分)题号:327

功能:能计算从1开始到n的自然数的和,

n由键盘输入,

并在main()函数中输出。

答案:

----------------------

int sum,i;

sum =0;

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

{sum=sum+i;}

return(sum);

----------------------

第63题(10.0分)题号:351

功能:请编一个函数void fun(int

tt[M][N],int pp[N]),

tt指向一个M行N列的二维数组,

求出二维数组每列

中最大元素,并依次放入pp所指一

维数组中。二维

数组中的数已在主函数中赋予。

答案:

----------------------

int i,j;

for(j=0;j

{

pp[j]=tt[0][j];

for(i=1;i

if(tt[i][j]>pp[j])

pp[j]=tt[i][j];

}

----------------------

第64题(10.0分)题号:389

功能:编写函数求表达式的和(n的值由主

函数输入)。

1-1/2+1/3-1/4+......+1/m

例如:当n=20时,表达式的值为0.668771。

答案:

----------------------

float s=0;

int i,k=1;

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

{ s=s+k*1.0/i;

k=-k;

}

return(s);

----------------------

第65题(10.0分)题号:54

功能:求1到100之间的偶数之积。

答案:

----------------------

double y=1;

int i;

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

if(i%2==0)y*=i;

return y;

----------------------

第66题(10.0分)题号:353

功能:对长度为7个字符的字符串,除首、

尾字符外,将其

余5个字符按降序排列。

例如:原来的字符串为CEAedca,排序后输

出为CedcEAa。

答案:

----------------------

int i,j;

char t;

for(i=1;i

for(j=i+1;j

if(s[i]

{ t=s[i];s[i]=s[j];s[j]=t;}

----------------------

第67题(10.0分)题号:328

功能:求k!(k〈13),所求阶乘的值作为

函数值返回。

(要求使用递归)

答案:

----------------------

if (k>0)

return(k*fun(k-1));

else if(k==0)

return 1L;

----------------------

第68题(10.0分)题号:346

功能:将从键盘上输入的每个单词的第一

个字母转换为

大写字母,输入时各单词必须用空

格隔开,用’.’

结束输入。

答案:

----------------------

if (*c== ' ') return 1;

else

{

if(status && *c <= 'z' && *c >= 'a')

*c += 'A' - 'a';

return 0;

}

----------------------

第69题(10.0分)题号:403

答案:

----------------------

long int x=1;

int i;

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

x=x*m;

return x;

----------------------

第70题(10.0分)题号:387

功能:求一批数中最大值和最小值的差。

答案:

----------------------

int i,max,min;

max=min=a[0];

for(i=1;i

if(a[i]>max) max=a[i];

else if(a[i]

return(max-min);

----------------------

第71题(10.0分)题号:336

功能:从字符串中删除指定的字符。同一

字母的大、小写

按不同字符处理。

例如:若程序执行时输入字符串为:

turbocandborlandc++

从键盘上输入字符:n,则输出后变

为:turbocadbo

rladc++,如果输入的字符在字符串

中不存在,则字

符串照原样输出。

答案:

----------------------

char *q=s;

for(; *q; q++)

if(*q != c) *(s++)=*q;

*s=0;

----------------------

第72题(10.0分)题号:338

功能:编写程序,实现矩阵(3行3列)的

转置(即行列互换)

例如:输入下面的矩阵:

100 200 300

400 500 600

700 800 900

程序输出:

100 400 700

200 500 800

300 600 900

答案:

----------------------

int i,j,t;

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

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

{ t=array[i][j];

array[i][j]=array[j][i];

array[j][i]=t; }

----------------------

第73题(10.0分)题号:42

功能:从字符串s中删除指定的字符c。答案:

----------------------

int i,k=0;

for(i=0;s[i]!='\0';i++)

if(s[i]!=c) s[k++]=s[i];

s[k]='\0';

----------------------

第74题(10.0分)题号:342

功能:在键盘上输入一个3行3列矩阵的各个元素的值(值

为整数),然后输出矩阵第一行与第三行元素之和,

并在fun()函数中输出。

答案:

----------------------

int sum;

int i,j;

sum=0;

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

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

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

return sum;

----------------------

第75题(10.0分)题号:359

功能:实现两个整数的交换。

例如:给a和b分别输入:60和65,输入为:a=65 b=60

答案:

----------------------

int t;

t=*a;*a=*b;*b=t;

----------------------

第76题(10.0分)题号:374

功能:编写函数实现两个数据的交换,在主函数中输入任

意三个数据,调用函数对这三个数据从大到小排序。

答案:

----------------------

int k;

k=*a;

*a=*b;

*b=k;

----------------------

第77题(10.0分)题号:356

功能:求大于lim(lim小于100的整数)并且小于100的所

有素数并放在aa数组中,该函数返回所求出素数的

个数。

答案:

----------------------

int n=0;

int i,j;

for(i=lim;i<=100;i++)

{for(j=2;j

if(i%j==0) break;

if(j==i) aa[n++]=i;

}

return n;

----------------------

第78题(10.0分)题号:53

功能:求一个四位数的各位数字的立方和答案:

----------------------

int d,k,s=0;

while (n>0)

{d=n%10;

s+=d*d*d;

n/=10;

}

return s;

----------------------

第79题(10.0分)题号:322

功能:判断一个整数w的各位数字平方之

和能否被5整除,

可以被5整除则返回1,否则返回0。

答案:

----------------------

int k,s=0;

do

{s=s+(w%10)*(w%10);

w=w/10;

}while(w!=0);

if(s%5==0)k=1;

else k=0;

return(k);

----------------------

第80题(10.0分)题号:326

功能:求一个大于10的n位整数的后n-1

位的数,并作为函

数值返回。

答案:

----------------------

int n=0;int i=1;

while(w>10)

{n=n+i*(w%10);

w/=10;

i*=10;}

return n;

----------------------

第81题(10.0分)题号:321

功能:编写函数fun其功能是:根据整型

形参m,计算如下

公式的值:y=1/2!+1/4!+…+1/m!(m

是偶数)

答案:double y=0.0;

int i,j;

double s=1;

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

{

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

s=s*j;

y=y+1.0/s;

}

return y;

第82题(10.0分)题号:337

功能:将两个两位数的正整数a、b合并形

成一个整数放在

c中。合并的方式是:将a数的十位

和个位数依次放

在c数的百位和个位上, b数的十

位和个位数依次放

在c数的十位和千位上。

例如:当a=45,b=12。调用该函数后,

c=2415。

答案:

----------------------

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

----------------------

第83题(10.0分)题号:396

功能:编写函数fun对主程序中用户输入

的具有10

个数据的数组a按由大到小排序,

并在主程序中输出

排序结果。

答案:

----------------------

int k,j,t;

for (k=0;k

for (j=k+1;j

if (array[k]

{

t=array[k];

array[k]=array[j];

array[j]=t;

}

----------------------

第84题(10.0分)题号:407

功能:编写函数fun求

sum=d+dd+ddd+……+dd...d(n个d),

其中d为1-9的数字。

例如:3+33+333+3333+33333(此时

d=3,n=5),d和n在主函

数中输入。

答案:

----------------------

long int s=0,t=0;

int i;

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

{ t=t+d;

s=s+t;

d=d*10;

}

return s;

----------------------

第85题(10.0分)题号:50

功能:求出菲波那契数列的前一项与后一

项之比的极限的

近似值。

例如:当误差为0.0001时,函数值为

0.618056。

答案:

----------------------

float f1=1,f2=1,f3;

float r1=2,r2;

do

{r2=r1;

r1=f1/f2;

f3=f1+f2;

f1=f2;

f2=f3;

}while(fabs(r1-r2)>1e-4);

return r1;

----------------------

第86题(10.0分)题号:372

题目:用函数求一个N阶方阵右下三角元

素的和(包括副

对角线上的元素)。

答案:----------------------

int i,j,k=0;

for(i=0;i

for(j=N-1-i;j

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

return(k);

----------------------

第87题(10.0分)题号:401

功能:若x、y为奇数,求x到y之间的奇

数和;若x、y为偶

数,则求x到y之间的偶数和。

答案:-

---------------------

int i,s=0;

for(i=x;i<=y;i+=2)

s=s+i;

return s;

----------------------

第88题(10.0分)题号:398

功能:编写函数fun求s=1^k+2^k +3^k

+ ......+N^k的值,

(1的K次方到N的K次方的累加

和)。

答案:

---------------------- long power,sum=0; int i,j; for(i=1;i<=n;i++) { power=i; for(j=1;j=5) return(int)(h*100+1)/100.0; else return(int)(h*100)/100.0; ---------------------- 第91题 (10.0分) 题号:333 功能:计算并输出给定整数的所有因子之积(包括自身)。 规定这个整数的值不大于50。 答案: ---------------------- long s=1,i; for(i=2;i<=n;i++) if(n%i==0)s=s*i; return s; ---------------------- 第92题 (10.0分) 题号:62 功能:求5行5列矩阵的主、副对角线上元素之和。注意, 两条对角线相交的元素只加一次。 例如:主函数中给出的矩阵的两条对角线的和为45。 答案: ---------------------- int s=0; int i,j; for(i=0;i10) z=log(x+3) (x>-3) z=sin(x)/((cos(x)+4) 答案: ---------------------- double z; if(x>10) z=exp(x); else if(x>-3) z=log(x+3); else z=sin(x)/(cos(x)+4); return(z); ---------------------- 第94题 (10.0分) 题号:452 功能:有一个一维数组score ,内放10个学生的成绩,用一 个函数来求平均成绩。 例如:如果10个学生的成绩分别为92,87,68,56,92,84, 70,65,90,60 则平均成绩为:76.400000 答案: ---------------------- int i; float aver,sum=array[0]; for(i=1;i<10;i++) sum=sum+array[i]; aver=sum/10; return aver; ---------------------- 第95题 (10.0分) 题号:377 功能:编写函数用选择排序法对数组中的数据进行从小到 大的排序。 答案: ---------------------- int i,j,k,t; for(i=0;ia[j]) k=j; if(k!=i) {t=a[i]; a[i]=a[k]; a[k]=t; } } ---------------------- 第96题 (10.0分) 题号:357 功能:根据整型形参m ,计算如下公式的值: y=1/5+1/6+1/7+1/8+1/9+1/10...+1/(m+5) 例如:若m=9,则应输出:1.168229 答案: ---------------------- double y=0; int i; for(i=0; i<=m; i++) {y+=1.0/(i+5); } return(y); ---------------------- 第97题 (10.0分) 题号:56 功能:找出一批正整数中的最大的偶数。 答案: ---------------------- int i,amax=-1; for(i=0;iamax) amax=a[i]; return amax; ---------------------- 第98题 (10.0分) 题号:319 功能:判断m 是否为素数。 答案: ---------------------- int i,k=1; if(m<=1) k=0; for(i=2;i

----------------------

第99题 (10.0分) 题号:368

功能:求一分数序列2/1,3/2,5/3,8/5,13/8,21/13…

的前n 项之和。

说明:每一分数的分母是前两项的分母之和,每一分数的

分子是前两项的分子之和

例如:求前20项之和的值为32.660259。 答案:

---------------------- int i;

float f1=1,f2=1,f3,s=0; for(i=1;i<=n;i++) {f3=f1+f2; f1=f2; f2=f3; s=s+f2/f1; }

return s;

----------------------

第100题 (10.0分) 题号:316

功能:统计出若干个学生的平均成绩,最高分以及得最高 分的人数。 例如:输入10名学生的成绩分别为92,87,68,56,92,

84,67,75,92,66,则输出平均成绩为77.9,

最高分为92,得最高分的人数为3人。 答案:

---------------------- int i;float sum=0,ave; Max=array[0]; for(i=0;i

{ if(Max

for(i=0;i

----------------------

第101题 (10.0分) 题号:331

功能:找出一个大于给定整数且紧随这个整数的素数,并

作为函数值返回。 答案:

---------------------- int i,k;

for(i=n+1;;i++){ for(k=2;k

----------------------

第102题 (10.0分) 题号:362

功能:求给定正整数m 以内的素数之和。 例如:当m=20时,函数值为77。 答案:

---------------------- int i,k,s=0;

for(i=2;i<=m;i++) {for(k=2;k

----------------------

第103题 (10.0分) 题号:360

功能:把20个随机数存入一个数组,然后

输出该数组中的

最大值。

答案:

----------------------

int i,max=0;

for(i=1; i

if(list[max]

max=i;

return max;

----------------------

第104题(10.0分)题号:37

功能:输入2个学生3门课的成绩,计算学生成绩平均分,

课程平均分和最高分.

例如:输入2名学生3门课的成绩分别为92,87,68,56,

92,84 则

学生1平均分:82.33

学生2平均分:77.33

课程1平均分:74.00

课程2平均分:89.50

课程3平均分:76.00

最高分为:92

答案:int i,j;

float sum;

for(i=0;i<2;i++) /*计算第i个学生平均分*/

{

sum=0;

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

sum=sum+score[i][j];

StuAgv[i]=sum/3;

}

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

计算第j门课的平均分*/

{

sum=0;

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

sum=sum+ score [i][j];

CouAgv[j]=sum/2;

}

Max=score[0][0];

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

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

if(Max<=score[i][j])

{

Max=score[i][j];

}

return ;

第105题(10.0分)题号:369

功能:编写函数判断一个整数m的各位数字之和能否被7整除,

可以被7整除则返回1,否则返回0。调用该函数找出

100~200之间满足条件的所有数。

答案:

----------------------

int k,s=0;

do

{s=s+m%10;

m=m/10;

}while(m!=0);

if(s%7==0)k=1;

else k=0;

return(k);

----------------------

第106题(10.0分)题号:405

功能:编写函数fun计算下列分段函数的值:

x^2+x+6 x<0且x≠-3 f(x)= x^2-5x+6 0≤x<10且

x≠2及x≠3

x^2-x-1 其它

答案:

---------------------- float y;

if (x<0 && x!=-3.0)

y=x*x+x+6;

else if(x>=0 && x<10.0 && x!=2.0 &&

x!=3.0)

y=x*x-5*x+6;

else y=x*x-x-1;

return y;

----------------------

第107题(10.0分)题号:393

功能:编写函数求

3!+6!+9!+12!+15+18!+21!。

答案:

----------------------

int i,j;

float t,s=0;

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

{t=1;

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

t=t*j;

s=s+t;}

return(s);

----------------------

第108题(10.0分)题号:350

功能:请编一个函数void fun(int

tt[M][N],int pp[N]),

tt指向一个M行N列的二维数组,

求出二维数组每列

中最小元素,并依次放入pp所指一

维数组中。二维

数组中的数已在主函数中赋予。

答案:

----------------------

int i,j;

for(j=0;j

{

pp[j]=tt[0][j];

for(i=1;i

if(tt[i][j]

pp[j]=tt[i][j];

}

----------------------

第109题(10.0分)题号:376

功能:从键盘上输入任意实数x,求出其所

对应的函数值。

z=(x-4)的二次幂(x>4)

z=x的八次幂(x>-4)

z=z=4/(x*(x+1))(x>-10)

z=|x|+20(其他)

答案:

----------------------

float z;

if(x>4) z=sqrt(x-4);

else if(x>-4) z=pow(x,8);

else if(x>-10) z=4/(x*(x+1));

else z=fabs(x)+20;

return(z);

----------------------

第110题(10.0分)题号:386

功能:用函数求N个[10,60]上的整数中能

被5整除的最大

的数,如存在则返回这个最大值,

如果不存在则

返回0。

答案:

----------------------

int i;

for(i=0;i

if(arr[i]%5==0 && arr[i]>m)

m=arr[i];

----------------------

第111题(10.0分)题号:340

功能:编写一个函数,该函数可以统计一

个长度为2的字符

串在另一个字符串中出现的次数。

例如:假定输入的字符串为:

asdasasdfgasdaszx67asdmklo,

字符串为:as,则应输出6。

答案:----------------------

int i,n=0;

for(i=0;i<=strlen(str)-2;i++)

if((str[i]==substr[0])&&(str[i+1]==s

ubstr[1]))

n++;

return n;

----------------------

第112题(10.0分)题号:507

功能:编写函数fun求一个字符串的长度,

在main函数中

输入字符串,并输出其长度。

答案:

----------------------

char *p;

int n=0;

p=p1;

while(*p++)

n++;

return n;

----------------------

第113题(10.0分)题号:16

功能:编写函数fun求1!+2!+3!+ …… +n!

的和,在main函

数中由键盘输入n值,并输出运算

结果。请编写fun

函数。

例如:若n值为5,则结果为153。

答案:

----------------------

int i;

float f=1,s=0;

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

{f=f*i;

s=s+f;}

return s;

----------------------

C语言试卷及答案

《C语言程序设计》考试试卷(答案) 一、填空题(每小空1分,共10分) 1.C语言程序的三种基本结构是顺序结构、选择结构、循环结构。 2.一个C程序有且仅有一个main( ) 函数。 3.C语言描述“x和y都大于或等于z”的表达式是x>=z && y>=z。 4.C语言可以用来实现循环的结构化语句是while、do while、for。 5.数组名表示数组在内存的首地址。 6.int a=3,*p=&a;*p+2的值是5。 二、单项选择题(每小题2分,共70分) 1.__B___是C语言合法的常量。 (A).45(B)078 (C)25.6e3.4 (D)‘xy’2.一个程序的执行是从 A 。 (A)本程序的main函数开始,到main函数结束 (B)本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 (C)本程序的main函数开始,到本程序文件的最后一个函数结束。 (D)本程序文件的第一个函数开始,到main函数结束。 3.以下叙述正确的是 C 。 (A)在C程序中,main函数必须位于程序的最前面。 (B)C程序每行中只能写一条语句。 (C)C语言本是没有输入输出语句。 (D)在对一个C程序进行编译的过程中,可发现注释中的拼写错误。 4.以下叙述不正确的是 D 。 (A)逗号运算符的运算级最低。 (B)ABC和abc是两个不同的变量。 (C)若a和b类型相同,在执行a=b后,b的自身值不变。 (D)‘a’和“a”是完全等价的常量。 5.int x=3,y=2;则表达式x+=x*=y+8的值为 C 。 (A)28 (B)30 (C)60(D)17 6.设x=2.7,a=8,y=4.9,算术表达式x+a%3*(int)(x+y)%5/3的值为 B 。 (A)2.7 (B)3.7(C)4.7 (D)4.03 7.执行下面两个语句后,输出的结果为__D___。 char c1=98; printf(“%d %c”,c1,c1-32); (A)97 66 (B)98 b (C)b 66 (D)98 B 8.执行下面语句后的结果为 C 。 y=10;x=y++; (A)x=10,y=10 (B)x=11,y=11 (C)x=10,y=11(D)x=11,y=10 9.Char w;int x;float y;double z;则表达式w*x+z-y值的数据类型是A 。 (A)double (B)char (C)int (D)float 10.C语言中要求操作数必须是整数的运算符是 B 。

C语言题库及答案

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 。

c语言试题及答案

1、以下正确的说法是( B ) (A) 用户若需要调用标准库函数,调用前必须重新定义 (B) 用户可以重新定义标准库函数,若如此,该函数将失去原有含义 (C) 系统根本不允许用户重新定义标准库函数 (D) 用户若需调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统自动去调 2、以下正确的函数声明形式是( A ) (A) double fun(int x, int y) (B) double fun(int x; int y) (C) double fun(int x, int y); (D) double fun(int x,y); 3、以下正确的函数形式是( D ) (A) double fun(int x, int y) { z=x+y; return z;} (B) fun(int x,y) { int z; return z;} (C) fun(x,y) { int x,y; double z; z=x+y; return z;} (D) double fun(int x, int y) { double z; z=x+y; return z;} 4、以下正确的说法是( A ) 在C语言中 (A) 实参和与其对应的形参各占用独立的存储单元 (B) 实参和与其对应的形参共占用一个存储单元 (C) 只有当实参和与其对应的形参同名时才共占用存储单元 (D) 形参是虚拟的,不占用存储单元 5、若调用一个函数,且此函数中没有return语句,则正确的说法是( A ) 该函数 (A) 没有返回值 (B) 返回若干个系统默认值 (C) 能返回一个用户所希望的函数值 (D) 返回一个不确定的值 6、以下不正确的说法是( B ) C语言规定 (A) 实参可以是常量、变量和表达式 (B) 形参可以是常量、变量和表达式 (C) 实参可以为任意类型 (D) 形参应与其对应的实参类型一致 7、以下正确的说法是( C ) (A) 定义函数时,形参的类型说明可以放在函数体内 (B) return后边的值不能为表达式 (C) 如果函数值的类型与返回值类型不一致,以函数值类型为准 (D) 如果形参与实参的类型不一致,以实参类型为准 8、C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是( B ) (A) 地址传递 (B) 单向值传递 (C) 由实参传给形参,再由形参传回给实参 (D) 由用户指定传递方式

大学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

能正确表示逻辑关系:" 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;

(完整版)C语言试题及答案解析

C语言 一、选择题(第题2分,共20分) 1.一个C程序的执行是从 A 。 A) 本程序的main函数开始,到main函数结束 B) 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C) 本程序文件的第一个函数开始,到本程序main函数结束 D) 本程序的main函数开始,到本程序文件的最后一个函数结束 2.若x、i、j、k都是int型变量,则计算下面表达式后,x的值为 C 。 x=(i=4,j=16,k=32) A) 4 B) 16 C) 32 D) 52 3.设C语言中,一个int型数据在内存中占2个字节,则unsigned int 型数据的取值范围为 C 。 A) 0~255 B) 0~32767 C) 0~65535 D) 0~2147483647 4.设有说明:char w; int x; float y; double z;则表达式w*x+z-y值的数据类型为 D 。 A) float B) char C) int D) double 5. putchar函数可以向终端输出一个 D 。 A) 整型变量表达式 B) 实型变量值 C) 字符串 D) 字符或字符型变量值 6. printf函数中用到格式符%5s,其中数字5表示输出的字符串占用5列。如果字符串长度大于5,则输出按方式 B ;如果字符串长度小于5,则输出按方式 C 。 A) 从左起输出该字符串,右补空格 B) 按原字符长从左向右全部输出 C) 右对齐输出该字符串,左补空格 D) 输出错误信息 7.判断char型变量ch是否为大写字母的正确表达式是 C 。 A) ‘A’<=ch<=‘Z’ B) (ch>=‘A’)&(ch<=‘Z’) C) (ch>=‘A’)&&(ch<=‘Z’) D) (‘A’<= ch)AND(‘Z’>= ch) 8.已知int x=10,y=20,z=30;以下语句执行后x,y,z的值是 B 。 if(x>y) z=x; x=y; y=z; A) x=10, y=20, z=30 B) x=20, y=30, z=30 C) x=20, y=30, z=10 D) x=20, y=30, z=20 9.以下程序段______C__. x=-1; do{ x=x*x; } while(!x); A)是死循环 B)循环执行二次 C)循环执行一次 D)有语法错误 10.以下正确的描述是___B____. A)continue语句的作用是结束整个循环的执行

C语言考试题库及答案复习整理

C 语言理论上机考试选择题部分(共200题) 1、下面程序的输出是___D______ #include void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C 语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是 ________D____. A) true B) 非零值 C) 0 D) 1 5、C 语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC 码 D) ASCII 码 7、C 语言程序的基本单位是_____C______. A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句

a+=a-=a*a 后,a 的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include void main() {int x=10,y=3; printf("%d\n",y=x/y); } A) 0 B) 1 C) 3 D) 不确定的值 12、已知字母A 的ASCII 码为十进制的65,下面程序的输出是______A_____. #include void main() {char ch1,ch2; ch1='A'+'5'-'3'; ch2='A'+'6'-'3'; printf("%d,%c\n",ch1,ch2); } A) 67,D B) B,C C) C,D D) 不确定的值 13、若要求在if 后一对圆括号中表示a 不等于0的关系,则能正确表示这一关系的表达式为____D__. A) a<>0 B) !a C) a=0 D) a

C语言全部题目及答案

C语言全部题目及答案 SANY GROUP system office room 【SANYUA16H-

C语言全部题目及答案 Exercise 1: Programming Environment and Basic Input/Output 1.Write a program that prints “This is my first program!” on the screen. (a)Save this program onto your own disk with the name of e2-1a; (b)Run this program without opening Turbo C; (c)Modify this program to print “This is my second program!”, then save it as e2-1b. Please do not overwrite the first program. 2.Write a program that prints the number 1 to 4 on the same line. Write the program using the following methods: (a)Using four “printf” statements. (b)Using one “printf” statement with no conversion specifier(i.e. no ‘%’). (c)Using one “printf” statement with four conversion specifiers 3.(a) Write a program that calculates and displays the number of minutes in 15 days. (b) Write a program that calculates and displays how many hours 180 minutes equal to. (c) (Optional) How about 174 minutes?

c语言试题及答案 ()

第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

C语言程序设计程序填空题库及答案

程序填空题 导读:在程序填空题中,已经给出了程序的主干,读者首先要理解程序的思路,再选择正确的内容填入空白处,使程序完成既定的功能。这类习题的设计就是要引导读者逐步掌握编程的方法。本节习题的难度适中,可能有些典型的程序在课堂上已经有所接触,读者一定要独立完成它,这样就可以逐步提高自己的编程能力。在程序设计语言学习的中期,读者对程序设计已经有了初步的了解,而自己编写程序又不知从何处入手,此时解答此类题目可以避免盲目性,从而提高学习的效率。 【】下面程序的功能是不用第三个变量,实现两个数的对调操作。#include <> main() { int a,b; scanf("%d%d",&a,&b); printf("a=%d,b=%d\n",a,b); a= ①; b= ②; a= ③; printf("a=%d,b=%d\n",a,b); }

【】下面程序的功能是根据近似公式:π2/6≈ 1/12+1/22+1/32+ …… +1/n2,求π值。 #include <> double pi(long n) { double s=; long i; for(i=1;i<=n;i++) s=s+ ①; return( ②); } 【】下面的程序的功能是求一维数组中的最小元素。 findmin(int *s,int t,int *k) { int p; for(p=0,*k=p;p

C语言函数题库及答案

C语言函数题库及答案 Company Document number:WTUT-WT88Y-W8BBGB-BWYTT-19998

第六部分函数 一、单项选择题 1.C语言中的函数返回值的类型是由(D)决定 A.return语句中的表达式B.调用函数的主调函数 C.调用函数时临时D.定义函数时所指定的函数类型 2.下面不正确的描述是(B)。 A.调用函数时,实参可以是表达式 B.调用函数时,实参和形参可以共用内存单元 C.调用函数时,将形参分配内存单元 D.调用函数时,实参与形参的类型必须一致 3.在C语言中,调用一个函数时,实参变量和形参变量之间的数据传递是 (D) A.地址传递B.值传递 C.由实参传递给形参,并由形参传回给实参D.由用户指定传递方式 4.下面的函数调用语句中含有(A)个实参 inta,b,c; intsum(intx1,intx2); …… total=sum((a,b),c); A.2B.3C.4 D.5 5.在C语言中(C) A.函数的定义可以嵌套,但函数的调用不可以嵌套

B.函数的定义和调用均不可以嵌套 C.函数的定义不可以嵌套,但是函数的调用可以嵌套 D.函数的定义和调用均可以嵌套 6.关于C语言中的return语句正确的是(C) A.只能在主函数中出现 B.在每个函数中都必须出现 C.可以在一个函数中出现多次 D.只能在除主函数之外的函数中出现 7.两个形参中,第一个形参为指针类型、第二个形参为整型,则对函数形参的说明有错误的是(D) (floatx[],intn) (float*x,intn) (floatx[10],intn) (floatx,intn) 8.在C语言中,函数的数据类型是指(A) A.函数返回值的数据类型 B.函数形参的数据类型 C.调用该函数时的实参的数据类型 D.任意指定的数据类型 9.已知如下定义的函数: fun1(a) {printf("\n%d",a); } 则该函数的数据类型是(C)

C语言试题及答案

一、单项选择题 1. 软件危机具有下列表现( d )。 I. 对软件开发成本估计不准确II. 软件产品的质量往往靠不住 III. 软件常常不可维护IV. 软件成本逐年上升 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 2. 软件生命周期一般都被划分为若干个独立的阶段,其中占用精力和费用最多的阶段往往是( A )。 A. 运行和维护阶段 B. 设计阶段 C. 代码实现阶段 D. 测试阶段 3. 下列属于软件的特点的是(D )。 A. 软件是一种逻辑实体,具有抽象性 ~ B. 软件在使用过程中没有磨损、老化的问题 C. 软件不同于一般程序,它的一个显著特点是规模庞大,复杂程度高 D. 以上都正确 4. 软件工程的出现是由于(D )。 A. 软件危机的出现 B. 计算机硬件技术的发展 C. 软件社会化的需要 D. 计算机软件技术的发展 5. 软件开发技术不包含( d )。 A. 软件开发方法学 B. 软件工程环境 C. 软件工具 D. 软件质量度度量 6. 软件工程的课程特点( D )。 【 I. 学科理论及其知识应用的多维性 II. 工程化 III. 浓厚的方法学色彩 IV. 实践性、指导性强 A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 7. 下列属于应用软件的是( b )。 I. 计算机辅助教学软件II. 软件测试工具 III. 办公自动化软件IV. 工程与科学计算软件

A. I、II和III B. I、III和IV C. II、III和IV D. 以上都正确 8. 需求分析阶段最重要的技术文档是( b )。 - A. 设计说明书 B. 需求规格说明书 C. 可行性分析报告 D. 用户手册 9. 以下关于数据流图的说法错误的是( c )。 A. 数据流图舍去了具体的物质,只剩下数据的流动、加工处理和存储 B. 数据流图是用作结构化分析的一种工具 C. 传统的数据流图中主要由加工、数据源点/终点、数据流、控制流、数据存储组成 D. 数据流图的绘制采用自上向下、逐层分解的方法 10. 数据字典是软件需求分析阶段的最重要工具之一,其最基本的功能是( c )。 A. 数据库设计 B. 数据通信 C. 数据定义 D. 数据维护 11. 需求分析阶段的研究对象是( b )。 ¥ A. 系统分析员要求 B. 用户要求 C. 软硬件要求 D. 系统要求 12. 结构化方法的基本原则是( b )。 A. 模块化 B. 抽象与分解 C. 信息隐蔽 D. 逐步求精 13. 耦合度最高的是(b)耦合。 A. 环境 B. 内容 C. 控制 D. 数据 14. 内聚程度较低的是( a )内聚。 A. 偶然 B. 通讯 C. 顺序 D. 时间 15. 对一个程序来说,组成系统的模块数目( b ),则开发成本越小。 A. 越多 B. 越少 C. 顺序 D. 时间> 16. 画软件结构图时应注意调用关系只能是(B )。 A. 从下到上 B. 从上到下 C. 从左到右 D. 从右到左 17. 程序流程图中的箭头代表( b )。 A. 数据流 B. 控制流 C. 顺序流 D. 调用 18. 软件测试是软件质量保证的重要手段,下述( B )是软件测试的最基础环节。

C语言期末考试题含答案

C语言期末考试题含答 案 文档编制序号:[KKIDT-LLE0828-LLETD298-POI08]

《C 语言程序设计》期末试卷 一、单项选择题(10x2’=20’) 1、以下叙述正确的是( ) A )C 语言的源程序不必通过编译就可以直接运行。 B ) C 语言中的每条可执行语句最终都将被转换成二进制的机器指令。 C )C 语言源程序经编译形成的二进制代码可以直接运行。 D )C 语言中的函数不可以单独进行编译。 2、一个C 语言的源程序中( ) A )必须有一个主函数 B )可能有多个主函数 C )必须有除主函数外其它函数 D )可以没有主函数 3、以下不能定义为用户标识符的是( ) A )scanf B )Void C )_3com D )int 4、若以下选项中的变量已正确定义,则正确的赋值语句是( ) A )x1=%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:float a=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(21 的计算结果不. 相符的是( ) A )(a+b)*h/2 B )(1/2)*(a+b)*h C )(a+b)*h*1/2 D )h/2*(a+b) 6、C 语言中用于结构化程序设计的3种基本结构是( ) A )顺序结构、选择结构、循环结构 B )if 、switch 、break C )for 、while 、do-while D )if 、for 、continue

7.在while(!x)语句中的!x与下面条件表达式等价的是() A) x!=0 B) x==1 C) x!=1 D) x==0 8、有以下程序: #include <> void main(){ int i=1,j=1,k=2; if( (j++||k++)&&i++ ) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2B)2,2,1C)2,2,2D)2,2,3 9、有以下程序: #include <> void main(){ int i,s=0; for(i=1;i<10;i+=2) s+=i+1; printf(“%d\n”,s);} 程序执行后的输出结果是() A)自然数1~9的累加和B)自然数1~10的累加和 C)自然数1~9中奇数之和D)自然数1~10中偶数之和 10、有以下函数定义: void fun(int n,double x){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是() A)fun(int y,double m); B)k=fun(10,; C)fun(x,n); D)void fun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

2019二级C语言题库参考答案解析

2019年C语言考题答案 1、程序填空题 给定的程序的功能是调用fun 函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat 的二进制中。 填空:( 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 作为字符串输出输入的标志。然后将文件的内容读出显示在屏幕上。文件的读写分别由自定义函数ReadText 和Writetext 实现。 填空:(1)*fw(2)str (3) str 改错:(1)voidfun(longs,long*t)(2) s1=s1*10; 编程:int i,j=0,min=a[0].s; for(i=0;i

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语言试题及答案

C语言试题及答案 Company number【1089WT-1898YT-1W8CB-9UUT-92108】

第1章C语言概述习题1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成

C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 37 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言 的特点;既适合于开发系统软件又适合于编写应用程序。 (3) 每个源程序有且只有一个主函数,系统总是从该函数开始执行C语言程序。 (4) 在 C 语言程序中允许出现的字符集是 ASCII码字符集。 (5) C 语言的程序中有特殊含义的英语单词称为保留字。 (6) C 语言标识符的长度是前 8 位有效。 (7) C 语言中,标识符的定义规则是以字母或下划线为开头。 (8) C 语言程序的注释可以出现在程序中的任何地方,它总是以 /* 符号作为开始标记,以 */ 符号作为结束标记。

大学C语言考试题库及答案

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学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 。

C语言试题及答案

大学C语言考试题库 第1章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. A B. B C. D D. E (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由主程序和子程序组成 C. C 语言程序由子程序组成 D. C 语言程序由过程组成 (7) 下列说法中错误的是( D )。 A. 主函数可以分为两个部分:主函数说明部分和主函数体 B. 主函数可以调用任何非主函数的其他函数 C. 任何非主函数可以调用其他任何非主函数 D. 程序可以从任何非主函数开始执行 2. 填空题 (1) C 语言只有 32 个关键字和 9 种控制语句。 (2) C 语言是一种“中级语言”,既具有高级语言的特点又具有低级语言的特点;既适合于开发系统软件又适合于编写应用程序。

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

C语言理论上机考试选择题部分(共200题,仅针对11级定向专业) 1、下面程序的输出是___D______ #include<> void main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } A) k=11,k=12,k=11 B) k=11,k=13,k=13 C) k=11,k=013,k=0xb D) k=11,k=13,k=b 2、在下列选项中,不正确的赋值语句是__D______. A) ++t; B) n1=(n2=(n3=0)); C) k=i=j; D) a=b+c=1; 3、下面合法的C语言字符常量是______A____. A) '\t' B) "A" C) 65 D) A 4、表达式: 10!=9的值是________D____. A) true B) 非零值 C) 0 D) 1 5、C语言提供的合法的数据类型关键字是_____B____. A) Double B) short C) integer D) Char 6、字符(char)型数据在微机内存中的存储形式是__D__. A) 反码 B) 补码 C) EBCDIC码 D) ASCII码 7、C语言程序的基本单位是_____C______.A) 程序行 B) 语句 C) 函数 D) 字符 8、设 int a=12,则执行完语句a+=a-=a*a后,a的值是____D____ A) 552 B) 264 C) 144 D) -264 9、执行下面程序中的输出语句后,输出结果是____B__. #include<> void main() {int a; printf("%d\n",(a=3*5,a*4,a+5)); } A) 65 B) 20 C) 15 D) 10 10、下面程序的输出是____B______. #include<> void main() {int x=023; printf("%d\n",--x); } A) 17 B) 18 C) 23 D) 24 11、下面程序的输出的是_____C____. #include<> void main() {int x=10,y=3; printf("%d\n",y=x/y); }

C语言考试题及答案

一、单项选择题:(10分,每题2分) 1.char *p[10];该语句声明了一个: c 。 A)指向含有10个元素的一维字符型数组的指针变量p B)指向长度不超过10的字符串的指针变量p C)有10个元素的指针数组p,每个元素可以指向一个字符串 D) 有10个元素的指针数组p,每个元素存放一个字符串 2.若int x;且有下面的程序片断,则输出结果为: D 。 for (x=3; x<6; x++) { printf((x%2) ? "##%d" : "**%d\n", x); } A) ##3B) **3C) **3D)##3**4 **4 ##4 ##4**5 ##5 ##5 **5 3.在while(!x)语句中的!x与下面条件表达式等价的是:D 。 A) x!=0 B) x==1 C) x!=1 D) x==0 4.已知 struct point { int x; int y; }; struct rect { struct point pt1; struct point pt2; }; struct rect rt; struct rect *rp = &rt; 则下面哪一种引用是不正确的__D______。 A) r t.pt1.x B) (*rp).pt1.x C) r p->pt1.x D) rt->pt1.x 5.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为: C 。 A) *(a+j*n+i) B) *(a+i*n+j) C) *(*(a+i)+j) D) *(*a+i)+j CDDDC 二、分析程序并写出运行结果。(25分,每题5分) 1. #include main()

2020最新C语言题库及答案

2020最新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

相关文档