文档库 最新最全的文档下载
当前位置:文档库 › 大学经典C语言编程试题

大学经典C语言编程试题

1.输入两个正整数,m和n,求其最大公约数和最小公倍数。

#include

void main()

{

int hcf(int,int); /*函数声明*/

int lcd(int,int,int); /*函数声明*/

int u,v,h,l;

printf("Please input two numbers:\n");

scanf("%d,%d",&u,&v);

h=hcf(u,v);

printf("H.C.F=%d\n",h);

l=lcd(u,v,h);

printf("L.C.D=%d\n",l);

}

int hcf(int u,int v)

{

int t,r;

if(v>u)

{t=u;u=v;v=t;}

while((r=u%v)!=0)

{u=v;v=r;}

return(v);

}

int lcd(int u,int v,int h)

{

return(u*v/h);

}

2.输入一行字符,分别统计出其中字母、空格、数字和其他字符的个数。

#include

int letter,digit,space,others;

void main()

{

void count(char[]);

char text[80];

printf("Please input string:\n");

gets(text);

printf("string:\n");

puts(text);

letter=0;

digit=0;

space=0;

others=0;

count(text);

printf("letter:%d,digit:%d,space:%d,others:%d\n",letter,digit,space,others);

}

void count(char str[])

{

int i;

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

if((str[i]>='a'&&str[i]<='z')||(str[i]>='A'&&str[i]<='Z')) letter++;

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

digit++;

else if(str[i]==32)

space++;

else

others++;

}

3.输入一个正整数求出它是几位数;输出原数和位数。

#include

int digit;

void main()

{

void count(char[]);

char text[80];

printf("Please input numbers:\n");

gets(text);

printf("Numbers:\n");

puts(text);

digit=0;

count(text);

printf("digit:%d\n",digit);

}

void count(char str[])

{

int i;

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

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

digit++;

}

4.输入一个正整数,输出原数并逆序打印出各位数字。

#include

void invertLongInt(long);

void main()

{

unsigned long iNumber;

printf("Please input a number:\n");

scanf("%ld",&iNumber);

printf("The input number is:%ld\n",iNumber);

printf("The inverse number is:");

invertLongInt(iNumber);

}

void invertLongInt(long x)

{

if(x>=0&&x<=9)

printf("%d\n",x);

else

{

printf("%d",x%10);

invertLongInt(x/10);

}

}

5.从键盘上输入若干学生的一门课成绩,统计并输出最高成绩和最低成绩及相应的序号,当输入负数时结束输入。

6.从键盘上输入若干学生的一门课成绩,计算出平均分,当输入负数时结束输入。将结果输出。

7.求1!+2!+3!+……+20!,将结果输出。

#include

void main()

{

float s=0,t=1;

int n;

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

{

t=t*n;

s=s+t;

}

printf("1!+2!+3!+……+20!=%e\n",s);

}

8.打印以下图案: *

***

*****

*******

#include

void main()

{

int i,j;

printf("The picture is:\n");

static char picture[4][7]={{' ',' ',' ','*'},

{' ',' ','*','*','*'},{' ',' *','*','*','*','*'},{'*','*','*','*','*','*','*'}}; for(i=0;i<=3;i++)

{

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

printf("%c",picture[i][j]);

printf("\n");

}

}

9.打印以下图案:

*

**

***

****

#include

void main()

{

int i,j;

printf("The picture is:\n");

char picture[4][4]={{'*'},

{'*','*'},{' *','*','*'},{'*','*','*','*'}};

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

{

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

printf("%c",picture[i][j]);

printf("\n");

}

}

10.求下列试子的值:1-1/2+1/3-1/4+……+1/99-1/100,将结果输出。#include

void main()

{

float sum=1.0,t,s=1;

int i;

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

{

t=s/i;

sum=sum+t;

s=-s;

}

printf("1-1/2+1/3-1/4+……+1/99-1/100=%5.4f\n",sum);

}

11.打印出100~999之间的所有水仙花数。

#include

void main()

{

int i,j,k,n;

printf("100~999之间的所有水仙花数 are:\n");

for(n=100;n<1000;n++)

{

i=n/100;

j=n/10-i*10;

k=n%10;

if(n==i*i*i+j*j*j+k*k*k)

printf("%d ",n);

}

printf("\n");

}

12.求Sn=a+aa+aaa+…+aa…a之值,n,a由键盘输入。#include

void main()

{

int a,n,i=1,sn=0,tn=0;

printf("a,n=:");

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

while(i<=n)

{

tn=tn+a;

sn=sn+tn;

a=a*10;

++i;

}

printf("a+aa+aaa+…+aa…a=%d\n",sn);

}

13.打印以下图案:

*******

*******

*******

*******

#include

void main()

{

char a[7]={'*','*','*','*','*','*','*'};

int i,j,k;

char space=' ';

printf("The picture is:");

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

{

printf("\n");

printf(" ");

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

printf("%c",space);

for(k=0;k<7;k++)

printf("%c",a[k]);

}

printf("\n");

}

14.打印以下图案:

1

121

12321

1234321

15. 打印以下图案:

1234321

12321

121

1

16.编写一个统计学生成绩程序,完成以下功能:输入4个学生的2门课成绩;求出全班的总平均分,将结果输出。

#include

#define N 4

struct student

{

char num[3];

char name[4];

float score[2];

float avr;

}

stu[N];

void main()

{

int i,j;

float sum,average;

for(i=0;i

{

printf("input scores of student%d:\n",i+1);

printf("name:");

scanf("%s",stu[i].name);

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

{

printf("score %d:",j+1);

scanf("%f",&stu[i].score[j]);

}

}

average=0; /*计算*/

for(i=0;i

{

sum=0;

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

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

stu[i].avr=sum/2;

average+=stu[i].avr;

}

average/=N;

printf(" Name score1 score2 average\n"); for(i=0;i

{

printf("%5s%10s",stu[i].num,stu[i].name);

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

printf("%9.2f",stu[i].score[j]);

printf(" %8.2f\n",stu[i].avr);

}

printf("average=%5.2f\n",average);

}

17. 打印以下图案:

*****

*****

*****

*****

*****

#include

void main()

{

char a[5]={'*','*','*','*','*'};

int i,j,k;

char space=' ';

printf("The picture is:");

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

{

printf("\n");

printf(" ");

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

printf("%c",space);

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

printf("%c",a[k]);

}

printf("\n");

}

18.给出年、月、日,计算该日是该年的第几天。

#include

void main()

{

int sum_day(int,int);

int leap(int year);

int year,month,day,days;

printf("input date(year,month,day):");

scanf("%d,%d,%d",&year,&month,&day);

printf("%d/%d/%d",year,month,day);

days=sum_day(month,day);

if(leap(year)&&month>=3)

days=days+1;

printf("is the %dth day in this year.\n",days);

}

int sum_day(int month,int day)

{

int day_tab[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};

int i;

for(i=1;i

day+=day_tab[i];

return(day);

}

int leap(int year)

{

int leap;

leap=year%4==0&&year%100!=0||year%400==0;

return(leap);

}

19.求一个3*3的整型矩阵对角线元素之和。将原矩阵和求出的和输出。#include

void main()

{

float a[3][3],sum=0;

int i,j;

printf("请输入元素:\n");

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

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

scanf("%f",&a[i][j]);

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

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

printf("对角线之和是:%6.2f\n",sum);

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

{

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

printf("%5.2f",a[i][j]);

printf("\n");

}

}

20.求一个4*3的矩阵各行元素的平均值;将原矩阵和求出的平均值全部输出。#include

void main()

{

int a[4][3],s[4],i,j,k;

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

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

scanf("%d",*(a+i)+j);

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

{

k=0;

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

k+=a[i][j];

printf("第%d行的平均值是%d",i+1,k);

printf("\n");

}

}

21.求一个3*4的矩阵各列元素的平均值;将原矩阵和求出的平均值全部输出。#include

void main()

{

int a[4][3],s[4],i,j,k;

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

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

scanf("%d",*(a+i)+j);

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

{

k=0;

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

k+=a[i][j];

printf("第%d行的平均值是%d",i+1,k);

printf("\n");

}

}

22.求一个3*5的矩阵各列元素的最大值,将原矩阵和求出的最大值全部输出。#include

void main()

{

int a[3][5],s[3],i,j,k;

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

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

scanf("%d",*(a+i)+j);

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

{ *(s+i)= *(*(a+j));

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

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

*(s+i)= *(*(a+i)+j);

}

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

{

printf("Line=%d Max=%d",j,s[j] );

printf("\n");

}

}

23.求一个4*3的矩阵各行元素的最大值,将原矩阵和求出的最大值全部输出。#include

void main()

{

int a[4][3],s[4],i,j,k;

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

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

scanf("%d",*(a+i)+j);

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

{ *(s+i)= *(*(a+i));

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

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

*(s+i)= *(*(a+i)+j);

}

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

{

printf("Row=%d Max=%d",i,s[i] );

printf("\n");

}

}

24.求一个M*N的矩阵中元素的最大值,将原矩阵和求出的最大值全部输出。#include

#define N 10

#define M 10

void main()

{

int a

[N],i,j,k

,max,m,n;

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

for(i=0;i

for(j=0;j

scanf("%d",*(a+i)+j);

for(i=0;i

{

for(j=0;j

{

if(a[i][j]<=a[i][j+1])

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

else

max=a[i][j];

}

k[i]=max;

}

for(i=0;i

{

if(k[i]<=k[i+1])

max=k[i+1];

else

max=k[i];

}

printf("%d",max);

}

25.判断一个N*N的矩阵是否为对称矩阵,将原矩阵输出,判断结果输出。#include

#define N 10

void main()

{

int a[N][N],i,j,k,n;

scanf("%d",&n);

for(i=0;i

for(j=0;j

scanf("%d",&a[i][j]);

for(i=0;i

{

for(j=i+1;j

{

if(a[i][j]==a[j][i])

k=1;

else

k=0;

}

}

if(k=0)

printf("bushi");

else

printf("shi\n");

for(i=0;i

for(j=0;j

printf("%d",a[i][j]);

}

26.有一篇文章,有三行文字,每行有80个字符。要求统计出其中英文大写字母、消协字母、数字、空格以及其他字符的个数。

#include

void main()

{

int i,j,big=0,sma=0,num=0,spa=0,oth=0;

char text[3][80];

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

{

printf("请输入行%d:\n",i+1);

gets(text[i]);

for(j=0;j<80&&text[i][j]!='\0';j++)

{

if(text[i][j]>='A'&&text[i][j]<='Z')

big++;

else if(text[i][j]>='a'&&text[i][j]<='z')

sma++;

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

num++;

else if(text[i][j]==' ')

spa++;

else

oth++;

}

}

printf("大写字母:%d\n",big);

printf("小写字母:%d\n",sma);

printf("数字:%d\n",num);

printf("空格:%d\n",spa);

printf("其它:%d\n",oth);

}

27.将20个整数放到一维数组中,输出该数组的最大值和最小值。

#include

void main()

{

int i,j,min,max,a[21];

printf("请输入数据:\n");

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

{

printf("a[%d]=",i);

scanf("%d",&a[i]);

}

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

{

min=i;

for(j=2;j<=19;j++)

if(a[min]>a[j]);

a[min]=a[j];

}

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

{

max=i;

for(j=2;j<=19;j++)

if(a[max]

a[max]=a[j];

}

printf("最大数为:%d\n",a[max]);

printf("最小数为:%d\n",a[min]);

}

28.将15个整数放到一维数组中,输出该数组中的最大值它的下标,然后将它和数组中的最前面的元素对换。

#include

void main()

{

int i,j,min,max,a[16],m,n;

printf("请输入数据:\n");

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

{

printf("a[%d]=",i);

scanf("%d",&a[i]);

}

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

{

max=i;

for(j=2;j<=14;j++)

if(a[max]

a[max]=a[j];

m=I,n=j

}

printf("最大数下标为:%d,%d\n",m,n);

}

29.将字符数组str1种下标为偶数的元素赋给另一字符数组str2,并输出str1和str2。#include

#include

#define N 10

void main()

{

int i,n;

char str1[N],str2[N];

gets(str1);

for(n=0;n

{

i=2*n;

str2[n]=str1[i];

}

puts(str1);

puts(str2);

}

30.编写一个程序,将两个字符串连接起来,不要使用strcat函数。

#include

void main()

{

char str1[20],str2[20];

int i=0,j=0;

printf("请输入字符串1:\n");

scanf("%s",str1);

printf("请输入字符串2:\n");

scanf("%s",str2);

while (str1[i]!='\0')

i++;

while (str2[j]!='\0')

str1[i++]=str2[j++];

str1[i]='\0';

printf("合并之后的字符串为:%s\n",str1);

}

31.编写一个程序,将字符数组a中的全部字符复制到字符数组b中。不要使用strcpy函数。#include

#include

void main()

{

char a[40],b[40];

int i;

printf("请输入a:\n");

scanf("%s",a);

for(i=0;i<=strlen(a);i++)

b[i]=a[i];

printf("b:%s\n",b);

}

32.编写一个程序,找出3个字符串中的最大者,将它输出。

#include

#include

void main()

{

char string[20];

char str[3][20];

int i;

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

gets (str[i]);

if(strcmp(str[0],str[1])>0)

strcpy(string,str[0]);

else

strcpy(string,str[1]);

if(strcmp(str[2],string)>0)

strcpy(string,str[2]);

printf("最大的字符串是:\n%s\n",string);

}

33.编写程序,输入任意一个1~7之间的整数,将他们转换成对应的英文单词。例如:1转换成Monday,7转换成Sunday。

#include

void main()

{

int a;

printf("输入一个整数:\n");

scanf("%d",&a);

if(a==1) printf("Monday\n");

else if(a==2) printf("Tuesday\n");

else if(a==3) printf("Wendesday\n");

else if(a==4) printf("Thursday\n");

else if(a==5) printf("Friday\n");

else if(a==6) printf("Saturday\n");

else if(a==7) printf("Sunday\n");

else printf("错误\n");

}

34.编写程序,输入两个整数,和+、-、*、/之中的任意一个运算符,输出计算结果。

#include

void main()

{

float a,b;

char c;

printf("请输入一个运算符:\n");

scanf("%c",&c);

printf("请输入两个整数:\n");

scanf("%d,%d",&a,&b);

switch(c)

{

case'+':printf("%f\n",a+b);break;

case'-':printf("%f\n",a-b);break;

case'*':printf("%f\n",a*b);break;

case'/':printf("%f\n",a/b);break;

default:printf("错误");

}

}

35.输入年号,计算这一年的2月份的天数,将结果输出。#include

void main()

{

int year,leap;

printf("请输入年份:\n");

scanf("%d",&year);

if(year%4==0)

{

if(year%100==0)

{

if(year%400==0)

leap=1;

else

leap=0;

}

else

leap=1;

}

else

leap=0;

if(leap)

printf("%d年的2月有29天",year);

else

printf("%d年的2月有28天",year);

}

36.输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,若能,计算面积。

#include

#include

void main()

{

float a,b,c,area;

double s;

printf("Please enter three sides of a triangle:\n");

scanf("%f,%f,%f",&a,&b,&c);

s=(a+b+c)/2.0;

area=sqrt(s*(s-a)*(s-b)*(s-c));

if(a+b

printf("They can't form a triangle.\n");

else

printf("The area of the triangle is:%f\n",area);

}

#include

#define N 10

#define M 10

void main()

{

int i,j,k,m,n,flag1,flag2,a[N]

,max,maxj;

printf("输入行数n[n<10]:");

scanf("%d",&n);

printf("输入列数m[m<10]:");

scanf("%d",&m);

for(i=0;i

{

printf("第%d行\n",i+1);

for(j=0;j

scanf("%d",&a[i][j]);

}

37. 输入三角形的三边a,b,c,判断a,b,c,能否构成三角形,何种类型的三角形:等腰、等边、直角、等腰直角、一般。

#include

#include

void main()

{

float a,b,c;

printf("请输入三角形边长:\n");

scanf("%f%f%f",&a,&b,&c);

if((a-b>=c)||(b-c>=a)||(c-a>=b)) printf("不能够成三角形\n");

else if ((a*a+b*b==c*c)||(b*b+c*c==a*a)||(c*c+a*a==b*b))

if ((a==b)||(b==c)||(c==a)) printf("等腰直角三角形\n");

else printf("直角三角形\n");

else if ((a==b)&&(b==c)) printf("等边三角形\n");

else if ((a==b)&&(b!=c)||(c==b)&&(b!=a)||(a==c)&&(c!=a)) printf("等腰三角形\n");

else printf("一般三角形\n");

}

38.输入奖金数a,计算并输出税率、应缴税款和实得奖金数。(用if语句编程)

#include

void main()

{

int a;

float r,t,s;

printf("请输入奖金数:\n");

scanf("%d",&a);

if (a<500) r=0.00;

else if (a<1000) r=0.05;

else if (a<2000) r=0.08;

else if (a<2000) r=0.10;

else r=0.15;

t=a*r;

s=a-t;

printf("税率:%7.2f\n",r);

printf("税款:%7.2f\n",t);

printf("实得奖金:%7.2f\n",s);

}

39.输入奖金数a,计算并输出税率、应缴税款和实得奖金数。(用switch语句编程)

#include

void main()

{

int a,e;

float r,t,s;

printf("请输入奖金数:\n");

scanf("%d",&a);

e=a/500;

switch(e)

{case 0:r=0.00;break;

case 1:r=0.05;break;

case 2:

case 3:r=0.08;break;

case 4:

case 5:

case 6:

case 7:

case 8:

case 9:r=0.10;break;

default:r=0.15;break;

}

t=a*r;

s=a-t;

printf("税率:%7.2f\n",r);

printf("税款:%7.2f\n",t);

printf("实得奖金:%7.2f\n",s);

}

40.输入学生的成绩,利用计算机将学生的成绩划分出等级并输出:

90~100:A级; 80~89:B级; 70~79:C级; 60~69:D级; 0~59:E级;#include

void main()

{

float m;

printf("输入学生成绩:\n");

scanf("%f",&m);

if ((m>100)||(m<0)) printf("数据有误\n");

else if (m>=90) printf("A级\n");

else if (m>=80) printf("B级\n");

else if (m>=70) printf("C级\n");

else if (m>=60) printf("D级\n");

else printf("E级\n");

}

41.编程序,求方程aX2+bX+c=0的解;输入a,b,c.

#include

#include

void main()

{

float a,b,c,t;

double x1,x2;

printf("请由高次到低次顺序输入系数:\n");

scanf("%f%f%f",&a,&b,&c);

t=b*b-4*a*c;

if (t<0) printf("方程无实根\n");

if (t==0)

{

x1=-(b/2/a);

printf("方程有两个相等实根,x1=x2=%5.2f\n",x1);

};

if (t>0)

{

x1=-(b+sqrt(t))/2/a;

x2=-(b-sqrt(t))/2/a;

printf("方程有两个不等实根,x1=%5.2f,x2=%5.2f\n",x1,x2); }

}

42.编程序,输入4个整数,按由小到大的顺序输出。

#include

#define N 4

void main()

{

int a[N],t,i,j;

printf("输入四个整数:\n");

for (i=0;i

scanf("%d",&a[i]);

printf("\n");

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;

}

}

printf("排序后:\n");

for (i=0;i

printf("%d\n",a[i]);

}

43.求满足1+2+3+…+n<500中最大的N,并求其和,编写程序实现。#include

void main()

{

int n=0,sum=0;

while(sum<500)

{

++n;

sum+=n;

}

printf("N??:%d\n",n-1);

printf("1+2+3+4+......+%d<500\n",n-1);

}

44.把100~200之间的不能被3整除的数输出。

#include

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语言程序设计试题及参考答案

C语言程序设计试题及参考答案 C语言程序设计试题及答案(一) 1. 若有定义"float x=1.5;int a=1,b=3,c=2;",则正确的switch语句是() (2分) A.switch(x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } B.switch((int)x) { case 1.0: printf("__ "); case 2.0 printf("____ "); } C.switch(a+b) { case 1: printf("__ "); case 2+1: printf("____ ");

} D.switch(a+b) { case 1: printf("__ ") case c: printf("____ "); } 标准答案:C 2. 若有宏定义如下: #define X 5 #define Y X+1 #define Z Y__X/2 则执行以下printf语句后,输出的结果是( ) int a; a=Y; printf("%d ",Z); printf("%d",--a); (2分) A.7,6 B.12,6 C.12,5 D.7,5 标准答案:D 3. 下面的.符号常量定义中,正确的是 ( ) (2分) A.#define PI 3.14; B.#include PI 3.14;

C.#define PI=3.14 D.#define PI 3.14 标准答案:D 4. 以下程序的输出结果是( ) int a, b; void fun() { a=100; b=200; } main() { int a=5, b=7; fun(); printf("%d%d ", a,b); } (2分) A.100200 B.57 C.00 D.75 标准答案:D 5. 若有以下调用语句,则不正确的fun函数的首部是( ) main() { … int a[50],n; … fun(n, a[9]);

C语言程序设计试题及答案

C语言程序设计试题及答案 在计算机科学与技术领域中,C语言是一种非常重要的编程语言。 作为一门高级编程语言,C语言广泛应用于操作系统、嵌入式系统、 图形界面开发等领域。为了帮助广大学习者更好地掌握C语言的相关 知识,以下是一些C语言程序设计的试题及其答案。 一、基础知识题 1. C语言中的关键字有哪些?请列举至少5个。 答案: 在C语言中,关键字是具有特殊含义的保留字,不可以被用作变量 名或函数名等标识符。常见的C语言关键字有:int、float、char、if、while等。 2. 请解释一下C语言中的指针是什么?如何声明一个指针变量? 答案: 指针是一种特殊的变量,它存储了一个变量的内存地址。通过指针,我们可以直接访问或修改所指向的变量的值。在C语言中,可以通过 使用"*"来声明一个指针变量。例如,声明一个指向整数类型的指针变 量可以使用以下代码: ```c int *ptr; ```

3. 请编写一个C语言函数,实现两个整数的交换。 答案: ```c void swap(int *a, int *b) { int temp = *a; *a = *b; *b = temp; } ``` 二、语法题 1. 请编写一个C语言程序,计算并输出1到100之间所有整数的和。答案: ```c #include int main() { int sum = 0; for (int i = 1; i <= 100; i++) { sum += i; }

printf("1到100之间所有整数的和为:%d\n", sum); return 0; } ``` 2. 请编写一个C语言函数,判断一个整数是否为素数(质数)。答案: ```c #include int isPrime(int n) { if (n <= 1) { return 0; } for (int i = 2; i * i <= n; i++) { if (n % i == 0) { return 0; } } return 1; }

C语言程序设计试题及答案

C语言程序设计试题及 答案 IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】

C语言程序设计 一、选择题(共40分,每小题2分) 1、以下叙述不正确的是(D ) A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个main函数 C、C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 2、下列四个选项中,是不合法的用户标识符的选项是( B ) A、abc B、12AC C、sun D、 A 3、设有语句int a=4;则执行了语句a+=a- =a*a后,变量a的值是(A ) A、-24 B、0 C、4 D、16 4、下列运算符中优先级最高的是( B ) A、< B、+ C、&& D、== 5、在C语言中,运算对象必须是整型数的运算符是( A ) A、% B、/ C、%和/ D、 + 6、以下关于运算符的优先顺序的描述正确的是( C ) A、关系运算符<算术运算符<赋值运算符<逻辑与运算符 B、逻辑与运算符<关系运算符<算术运算符<赋值运算符 C、赋值运算符<逻辑与运算符<关系运算符<算术运算符 D、算术运算符<关系运算符<赋值运算符<逻辑与运算符 7、在C语言中,如果下面的变量都是int类型,则输出的结果是( C )

sum=pad=5;pAd=sum++,pAd++,++pAd; printf(“%d\n”,pad); A、7 B、6 C、5 D、4 8、x、y、z被定义为int型变量,若从键盘给x、y、z输入数据,正确的输入语句是( B ) A、 INPUT x、y、z; B、scanf(“%d%d%d”,&x,&y,&z); C、 scanf(“%d%d%d”,x,y,z); D、read(“%d%d%d”,&x,&y,&z); 9、假定从键盘输入23456< 回车 >,下面程序的输出结果是:( C ) void main ( ) { int m,n; scanf(“%2d%3d”,&m,&n); printf(“m=%d n=%d\n”,m,n); } A、m=23 n=45 B、m=234 n=56 C、m=23 n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是( A ) main( ) { int x,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、 0 B、 22 C、 12 D、10 11、C语言中while和do-while循环的主要区别( A )

大学_C语言程序设计试题含答案

C语言程序设计试题含答案 C语言程序设计试题含答案(一) 一、填空题 1.以下程序输入3个整数值给a,b,c,变量b中的'值给a,变量c中的值给b,变量a中的值给c,交换后输出a,b,c的值。 #include stdio.h main() { int a,b,c,__①_d___; printf("enter a,b,c");scanf("%d%d%d",a,b,c); ___d=a_②____;__a=b_③_____;____b=c④_____;_c=d__⑤_____; printf("%d,%d,%d",a,b,c); } 2.求出200以内的整数中,最大的可以被17整除的数是哪个数。 #include stdio.h ___①main()____ {int i; for(_i=200___②____;___③i=0_______;i--) {if(____i%17==0____④________) break;}

printf("%d\n",__⑤_i____); } 3.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和。 main() { int i,a[20],sum,count; sum=count=0; for(i=0;i20;i++) scanf("%d", __①_a[i]__ ); for(i=0;__ ②_i20_;i++) ? { if(a[i]0) ?? { count++; ?? sum+= _a[i]__③___ ; ?? } ? } printf("sum=%d,count=%d\n",__sum④___,__⑤__count___); } 4.以下程序的功能是调用函数fun计算:m=1+2+3+4+…+9+10,并输出结果。请填空。 int fun( int n) { int m=0,i;

c语言编程题库100题

c语言编程题库100题 C语言是一门广泛应用于计算机领域的高级编程语言。对于学习者来说,掌握C语言编程是一项必修课程。为此,我们为大家整理了100道C语言编程题,供大家练练手,锻炼编程能力。 以下是题目列表: ##### 基础篇 1、编写一个C程序,输出“Hello, World!”。 2、编写一个C程序,输入两个数,求和并输出结果。 3、编写一个C程序,输入三个数,求平均值并输出结果。 4、编写一个C程序,输入三个数,比较大小并输出最大值。 5、编写一个C程序,输入一个数,判断奇偶性并输出结果。 6、编写一个C程序,输入一个数,判断是否为质数并输出结果。 7、编写一个C程序,输入一个数,判断是否为闰年并输出结果。 8、编写一个C程序,输入一个字符,判断是否为字母并输出结果。

9、编写一个C程序,输入一个数,判断是否为回文数并输出结果。 10、编写一个C程序,输入一个年份和月份,输出该年该月的天数。 ##### 数组篇 11、编写一个C程序,输入一个整数数组,求所有元素之和并输出结果。 12、编写一个C程序,输入一个数组,找出最大值并输出结果。 13、编写一个C程序,输入一个数组,找出最小值并输出结果。 14、编写一个C程序,输入一个数组,计算平均值并输出结果。 15、编写一个C程序,输入一个数组,判断是否为升序或降序排列并输出结果。 16、编写一个C程序,输入一个数组,将数组元素逆序排列并输出结果。 17、编写一个C程序,输入两个数组,将两个数组合并后按照升序或降序排列并输出结果。

18、编写一个C程序,输入一个数组,输出数组中出现次数最多的元素。 19、编写一个C程序,输入一个数组,删除指定位置上的元素并输出结果。 20、编写一个C程序,输入一个数组和一个数,将该数插入到数组中并输出结果。 ##### 字符串篇 21、编写一个C程序,输入一个字符串,统计字符串中的字符个数并输出结果。 22、编写一个C程序,输入一个字符串,统计字符串中的单词个数并输出结果。 23、编写一个C程序,输入两个字符串,比较大小并输出结果。 24、编写一个C程序,输入一个字符串,将该字符串逆序输出。 25、编写一个C程序,输入一个字符串和一个字符,统计该字符在字符串中的出现次数并输出结果。 26、编写一个C程序,输入一个字符串,判断是否为回文字符串并输

大学C语言程序设计考试试题及答案3套

C语言程序设计 期末考试试题及其答案 一、单项选择题(本大题共20题,每题2 分,共40分) 1、以下不是C语言的特点的是( ) A、C语言简洁、紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件进行操作 D、C语言移植性好 2、以下不正确的C语言标识符是( ) A、ABC B、abc C、a_bc D、ab.c 3、一个C语言程序是由( ) A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 4、一个算法应该具有“确定性”等5个特性,对另外4个特性的描述中错误的是( ) A、有零个或多个输入 B、有零个或多个输出 C、有穷性 D、可行性 5、设变量a是整型,f是实型,i是双精度型,则表达式10+‘a’+i*f值的数据类型为( ) A、int B、float C、double D、不确定 6、在C语言中,char型数据在内存中的存储形式是( ) A、补码 B、反码 C、源码 D、ASCII码 7、有如下程序,输入数据:12345M678<cR>后(表示回车),x的值是( ) 。 #include main(){ int x; float y; scanf("%3d%f",&x,&y); } A、12345 B、123 C、45 D、345 8、若有以下定义int a,b; float x,则正确的赋值语句是( ) A、a=1,b=2 B、b++; C、a=b=5 D、b=int(x); 9、以下程序的执行结果是( ) #include { int i=10,j=10;

printf("%d,%d\n",++i,j--); } A、11,10 B、9,10 C、11,9 D、10,9 10、巳知字 母A的ASCII码是65,以下程序的执行结果是( ) #include main() { char c1='A',c2='Y'; printf("%d,%d\n",c1,c2); A、A,Y B、65,65 C、65,90 D、65,89 11、下列运算符中优先级最高的是( ) A、< B、十 C、% D、!= 12、设x、y和z是int型变量,且x=3,y=4,z=5,则下面表达式中值为0是( ) 。 A、’x’&&’y’ B、x<=y C、x||y+z&&y-z D、!((x<y)&&!z ||1) 13、判断char型变量cl是否为小写字母的正确表达式为( ) A、’a’<=c1<=f’z’ B、(c1>=a)&&(c1<=z) C、(‘a’>=c1) (‘z’<=c1) D、(c1>=’a’)&&(c1<=’z’) 14、字符串"a"在内存中占据的字节个数为( ) A、0 B、1 C、 2 D、 3 15、下面有关for循环的正确描述是( ) A、for循环只能用于循环次数已经确定的情况 B、for循环是先执行循环体语句,后判定表达式 C、在for循环中,不能用break语句跳出循环体 D、for循环体语句中,可以包含多条语句,但要用花括号括起来 16、下面程序的运行结果是( ) #include main() {int num=0; while(num<=2) {num++; printf(“%d ,num); } } A、1 B、1 2 C、1 2 3 D、1 2 3 4 17、以下描述正确的是( ) A、由于do-while循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句。 B、do-while循环由do开始,用while结束,在while(表达式)后面不能写分号。

c语言编程题经典100例

c语言编程题经典100例 下面是经典的c语言编程题100例,每道题目都涵盖了c语言编程的各个方面,包括基本数据类型、条件语句、循环结构、函数与指针等。通过这100道题目的练习,可以帮助初学者快速掌握c语言编程的基础知识,也有助于进一步深入了解c语言的高级特性。 1. 打印Hello World。 2. 输入一个整数,判断是否为偶数。 3. 输入两个整数,求它们的和、差、积、商和余数。 4. 输入一个整数,求它的绝对值。 5. 输入一个字符,判断它是否为字母。 6. 输入三个整数,找出其中的最大值。 7. 输入一个字符,判断它是否为数字。 8. 输入一个整数,判断它是否为质数。 9. 输入两个字符串,比较它们的大小。 10. 输入一个字符,将它转换为大写或小写。 11. 输入一个浮点数,求它的平方根。 12. 输入一个整数,将它按位取反。 13. 输入一个字符串,翻转它的顺序。 14. 输入一个字符串,统计其中的元音字母个数。 15. 输入一个整数,将它转换为二进制数。 16. 输入两个整数,交换它们的值。

17. 输入一个二维数组,输出它的转置矩阵。 18. 输入一个数组,找出其中的最大值和最小值。 19. 输入一个数组,求它的平均数、中位数和众数。 20. 输入一个数组,判断它是否为回文数。 21. 输入一个字符串,统计其中的单词数量。 22. 输入一个字符串,统计其中的字符数、单词数和行数。 23. 输入两个字符串,判断它们是否为同构字符串。 24. 输入一个字符数组,将它转换为整数。 25. 输入一个浮点数,将它转换为分数。 26. 输入一个浮点数,将它四舍五入到整数。 27. 输入一个字符串,将其中的数字字符替换为其他字符。 28. 输入两个数组,把它们合并成一个新的数组。 29. 输入一个二维数组和一个数值,查找并输出它在二维数组中的位置。 30. 输入一个字符串,判断它是否为回文字符串。 31. 输入两个整数,求它们的最大公约数和最小公倍数。 32. 输入一个表达式,求它的值。 33. 输入一个字符串,将其中的大写字母转换为小写字母。 34. 输入一个字符串,将其中的小写字母转换为大写字母。 35. 输入两个字符串,找出它们的最长公共子串。 36. 输入一个字符串,找出其中的最长回文子串。 37. 输入一个字符串,找出其中出现最多的字母和它出现的次数。 38. 输入一个字符串,去掉其中的空格。 39. 建立一个链表,输入若干个数值并输出它们的平均数。 40. 输入一个字符串,将其中的空格转换为其他字符。

大学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 C、4 D、1

C语言编程100题

经典C语言程序设计100例 【程序1】 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? 1.程序分析:可填在百位、十位、个位的数字都是1、2、3、4。组成所有的排列后再去 掉不满足条件的排列。 2.程序源代码: main() { int i,j,k; printf("\n"); for(i=1;i<5;i++)/*以下为三重循环*/ for(j=1;j<5;j++) for (k=1;k<5;k++) { if (i!=k&&i!=j&&j!=k) /*确保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k); } } 【程序2】 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高 于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提 成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于 40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于 100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? 1.程序分析:请利用数轴来分界,定位。注意定义时需把奖金定义成长整型。 2.程序源代码: main() { long int i; int bonus1,bonus2,bonus4,bonus6,bonus10,bonus; scanf("%ld",&i); bonus1=100000*0.1;bonus2=bonus1+100000*0.75; bonus4=bonus2+200000*0.5; bonus6=bonus4+200000*0.3; bonus10=bonus6+400000*0.15; if(i<=100000) bonus=i*0.1;

大学_大学《C语言》试题及答案

大学《C语言》试题及答案大学《C语言》试题及答案(一) 1.下列定义变量的'语句中错误的是______。 A、int _int B、double int_ C、char For D、float US$ 答案:D 知识点:常量、变量和标识符 2.以下不合法的用户标识符是______。 A、j2_KEY B、Double C、4d D、_8_ 答案:C 知识点:常量、变量和标识符 3.以下4组用户定义标识符中,全部合法的一组是______。 A、_main enclude sin B、If -max turbo C、txt REAL 3COM D、int k_2 _001 答案:A

4.以下定义语句中正确的是______。 A、char a=A b=B; B、float a=b=10.0;(正解a=10.0 b=10.0) C、int a=10,__b=a; D、float __a,b=a; 答案:C 知识点:常量、变量和标识符 5.以下不能定义为用户标识符的是______。 A、scanf B、Void C、_3com_ D、int 答案:D 知识点:常量、变量和标识符 6.以下有4组用户标识符,其中合法的一组是______。 A、For -sub Case B、4d DO Size C、f2_G3 IF abc D、WORD Void define 答案:C

7.C语言中最简单的数据类型包括______。 A、整型、实型、逻辑型 B、整型、实型、字符型 C、整型、字符型、逻辑型 D、整型、实型、逻辑型、字符型 答案:B 知识点:常量、变量和标识符 8、下列选项中,合法的C语言关键字是______。 A、VAR B、cher C、integer D、default 答案:D 知识点:常量、变量和标识符 9.以下不能定义为用户标识符的是______。 A、Main B、_0 C、_int D、sizeof 答案:D 知识点:常量、变量和标识符 10.下列叙述中正确的是______。 A、C语言中既有逻辑类型也有集合类型 B、C语言中没有逻辑类型但有集合类型

东北石油大学c语言程序题

程序题 第六章 1.编写函数,求出能整除x且是偶数的各整数,并按从小到大的顺序依次存放在y数组中,这些数的个数通过函数值返回主调函数。例如输入 60 则应输出 2 4 6 10 12 20 30 60 请将下面的程序复制粘贴到VC中,完善函数fun的函数体,运行正确后,再将完整的程序复制粘贴到填写答案处。 } #include "stdio.h" int fun(int x,int y[]) { } main() { int x,a[100],n,i; scanf("%d",&x); n=fun(x,a); for(i=0;i

2.编写函数,求一组数中最大值出现的位置(如果最大值出现多次,求出第一次出现的下标)。请将下面的程序复制粘贴到VC中,完善函数fun的函数体,运行正确后,再将完整的程序复制粘贴到填写答案处。 #include "stdio.h" int fun(int a[],int n) { } main() { int a[100],n,i; scanf("%d",&n); for(i=0;imax){max=a[i];k=i;} return(k); } main() { int a[100],n,i; scanf("%d",&n); for(i=0;i

c语言试题及答案大全

c语言试题及答案大全 C语言是一种通用的高级编程语言,被广泛应用于软件开发和系统编程。掌握C语言的知识对于计算机科学专业学生和程序员来说至关重要。本文将为您提供一份C语言试题及答案大全,帮助您巩固和扩展自己的C语言知识。 第一部分:基础概念和语法 1. 什么是C语言? 答案:C语言是一种高级编程语言,由贝尔实验室的Dennis Ritchie 在20世纪70年代开发。它是Unix操作系统及其应用程序的主要编程语言。 2. C语言的特点是什么? 答案:C语言具有简洁、高效、可移植性强的特点。它提供了丰富的控制结构和数据类型,并允许直接访问计算机内存。 3. C语言的基本数据类型有哪些? 答案:C语言的基本数据类型包括整型、浮点型、字符型和指针型等。其中整型可以分为短整型、整型、长整型和长长整型。 4. 请解释一下C语言中的变量作用域。 答案:C语言中的变量作用域指的是变量的可见性和生命周期。在C语言中,变量的作用域可以是全局的或局部的。全局变量定义在函

数之外,可以被程序的任何部分访问。局部变量定义在函数内部或代 码块内部,只能在其所在的作用域内访问。 5. C语言中有哪些控制语句? 答案:C语言中常用的控制语句有条件语句(if-else语句)、循环 语句(for循环、while循环和do-while循环)和跳转语句(break语句、continue语句和goto语句)等。 第二部分:程序设计题 1. 写一个程序,输入两个整数,并输出它们的和。 答案: ```c #include int main() { int a, b, sum; printf("请输入两个整数:"); scanf("%d %d", &a, &b); sum = a + b; printf("它们的和是:%d\n", sum); return 0; }

大学计算机c语言考试试题及答案

大学计算机c语言考试试题及答案 一、选择题 1. 下列哪个是C语言中的合法标识符? A. 123ABC B. _abc_def C. float D. void 答案:B. _abc_def 2. 下列关于函数的说法中,错误的是: A. 函数可以有多个返回值 B. 函数可以被其他函数调用 C. 函数可以递归调用自身 D. 函数可以返回任何类型的值 答案:A. 函数可以有多个返回值(函数只能返回一个值,可以通过指针或引用来返回多个值) 3. 下面哪种循环结构不属于C语言中的循环结构? A. for循环 B. while循环

C. do-while循环 D. if-else语句 答案:D. if-else语句 4. 在C语言中,以下哪个运算符优先级最高? A. +(加法) B. =(赋值) C. &&(逻辑与) D. *(乘法) 答案:B. =(赋值) 5. 下面代码的输出结果是什么? ```c #include int main() { int x = 5; int y = x++; printf("%d", y); return 0; }

``` A. 4 B. 5 C. 6 D. 未定义 答案:B. 5 二、填空题 1. 完成下列代码,使其输出结果为10。```c #include int main() { int x = 0; while (x < 10) { x++; if (x == 5) { __________; } } printf("%d", x);

return 0; } ``` 答案:continue; 2. 在C语言中,用于定义常量的关键字是__________。 答案:const 三、编程题 编写一个C程序,实现输入一个整数n(1 <= n <= 100),然后输出从1到n的所有奇数。 ```c #include void printOddNumbers(int n) { for (int i = 1; i <= n; i++) { if (i % 2 != 0) { printf("%d ", i); } } } int main() {

大学 c语言试题及答案

大学 c语言试题及答案大学C语言试题及答案 试题一: 1. 下列关于C语言基础知识的题目,回答是否正确: a) C语言是一种面向过程的编程语言。[√] b) C语言具有高效性和可移植性的特点。[√] c) C语言可以直接操作硬件设备。[√] d) C语言是一种解释型语言。 [×] 2. 以下哪个选项是合法的C语言标识符: a) 3variables b) _temp c) float d) int-num 3. 下列代码段有什么问题: ```c int main() { int a;

printf("%d", a); return 0; } ``` a) 变量a未被初始化。[√] b) printf语句应该放在函数体内。[√] c) 缺少头文件的引用。[√] d) 缺少return语句。 [×] 4. 关于C语言运算符的使用,以下表达式结果为真: a) (10 > 5) && (5 < 3) [×] b) (3 + 5) * 2 == 16 [×] c) 5 % 2 == 1 [√] d) 2 == 2 || 3 < 1 [√] 5. 下列选项中哪个不是C语言的控制语句: a) if-else b) for c) switch-case d) loop

答案及解析: 1. 正确答案:a) √, b) √, c) √, d) × 解析:C语言是一种面向过程的编程语言,能够高效操作硬件设备,并具有高效性和可移植性。但它并非解释型语言。 2. 正确答案:b) _temp 解析:C语言标识符必须以字母或下划线开头,并且只能包含字母、数字或下划线。 3. 正确答案:a) 变量a未被初始化。 解析:在使用变量之前,应为其赋初值,否则将导致未定义的行为。 4. 正确答案:c) 5 % 2 == 1, d) 2 == 2 || 3 < 1 解析:表达式c中,5除以2的余数为1,因此结果为真;表达式d中,2等于2为真,或(||)运算符表示或者关系,因此结果为真。 5. 正确答案:d) loop 解析:C语言中并不存在loop控制语句,而if-else、for和switch-case是常见的控制语句。 试题二: 1. 关于函数声明与函数定义的说法,以下哪个选项是正确的: a) 函数声明一定要在函数定义之前。[√]

《大学C语言程序设计》题库-编程题

《大学C语言程序设计》题库-编程题 编程题 1.有一函数:当x<0时,y=-1;当x=0时,y=0;当x>0时,y=1。 编一程序,输入x的值,输出y的值。 #include void main() { int x,y; printf("请输入x:"); scanf("%d",&x); if(x<0) y=-1; else if(x=0) y=0; else y=1; printf("y=%d",y); } 2.输入三个实数,将这三个数按由大到小的顺序排列,并输出这三个数。#include void main() {int a,b,c,temp=0; printf("please input a,b,c: "); scanf("%d %d %d",&a,&b,&c); if(ab&&a>c) max=a; if(b>a&&b>c) max=b; if(c>a&&c>b) max=c;

printf("最大值是: %d\n",max); } 4.编程求圆面积、圆周长。要求圆半径由键盘输入,输出时要求有文字说明,取小数点后两位数字。 #include #define pi 3.1416 main() { float r,l,s; printf("请输入半径:\n"); scanf("%f",&r); l=2*pi*r; s=pi*r*r; printf("l=%7.2f\ns=%7.2f\n",l,s); } 5. 【有点难】有分段函数:当x<-10时,y=|x|+5;当-10≤x≤10时,y=4x-8;当x>10时,y=sqrt(x)。 编一程序,输入x的值,输出y的值。 6.编写程序,判断某一年是否是闰年。(闰年的条件是:能被4整除,但是不能被100整除,或者可以被400整除。) #include int main() { int year,leap; scanf("%d",&year); if (year%4==0) { if(year%100==0) { if(year%400==0) leap=1; else leap=0; } else leap=1; } else leap=0; if (leap) printf("%d is ",year); else printf("%d is not ",year);

c语言编程例题

第4章 1. #include void main() { char a,b; scanf("%c",&a); b=a-32; printf("%c",b) } 2. #include void main() { char a; scanf("%c",&a); printf("%d\n",a); } 第5章 1.输入两个数X,Y,如果x大于y,则交换两数。 main() { int x , y; scanf(“%d,%d ”, &x,&y); if ( x < y ) { t = x; x = y; y = t; } printf(“x= %d,y=%d”, x,y ); } 2.输入两个数, 比较其大小,将较大的数输出。#include main( ) { float a, b; scanf(“%f, %f”,&a, &b); if (a>b) printf (“%f”, a ); else printf (“%f”, b );

} 3.分段函数 #include main( ) { float x,y; scanf(“%f”,&x); if(x<=-10) y=2*x; else if(x<=0) y=2+x; else if(x<=10) y=x-2; else y=x/10; printf(“\ny=%f”,y); } 4.编写一个程序,输入某人的身高(cm )和体重(kg ),按下式确定其体重是否 为标准、过胖或过瘦。(1)标准体重=身高-110;(2)超过标准体重5kg (即 大于5kg )为过胖;(3)低于标准体重5kg (即小于5kg )为过瘦。 5. 输入一行字符,以回车键作为结束标志,分别统计出大写字母、小写字母、 空格、数字和其它字符的个数。 #include"stdio.h" void main() { char x; int i=0,j=0,k=0,dight=0,others=0; while(x!='\n') { scanf("%c",&x); if('a'<=x&&x<='z') y= 2*x x<= -10 2+x -1010

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

相关文档
相关文档 最新文档