文档库 最新最全的文档下载
当前位置:文档库 › C语言题库填空题部分+部分程序设计

C语言题库填空题部分+部分程序设计

C语言题库填空题部分+部分程序设计
C语言题库填空题部分+部分程序设计

1. 完成程序填空,实现输入两个数字,若两数相等,则直接输出两个数字,若不相等,

则这两个数中的较大者等于这个较大者减去较小者,再作比较,若不相等则重复上述操作,直到两个数字相等为止。输出相等的两个数字。

while(a 【a!=b】)

{ if (【a>b】)

a=a-b;

if (【b>a】)

b=b-a; }

2. "百鸡问题":鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。

百钱买百鸡,问鸡翁、鸡母、鸡雏各几何?

完成程序填空,实现求"百鸡问题" 公鸡一只5块钱,母鸡一只三块钱,小鸡三只一块钱,一百块钱买一百只鸡应该怎么买?也就是问一百只鸡中公鸡、母鸡、小鸡各多少?

for(x=1;x<=20;【x++】)

for(z=3;z<=99;【z+=3】)

if((【5*x+3*y+z/3==100】)&&(x+y+z==100))

3.完成程序填空,实现输出下图

*

***

*****

*******

*****

***

*

【printf(“*”)】

【printf(“\n”)】

【j<=7+i】

4.完成程序填空,将字符数组a的全部字符复制到字符数组b中(要求不用strcpy函数)。printf("str1:【%s】\n",str1);

for(i=0;str1[i]【!=’\0’】;i++)

str2[i]=【str1[i]】;

5. 将a++ 或++a 或a-- 或--a 填入程序填空中,实现如图所示的输出。(填入其他无效)

【a++】

【a--】

【--a】

6.完成程序填空,实现输入4个整数,要求按由小到大的顺序输出。

{ t=a;【a=c】;c=t;}

{ t=b;b=c;【c=t】;}

{【t=c】;c=d;d=t;}

7. 完成程序填空,输出所有的水仙花数。水仙花数是一个三位数,

其个、十、百位数字三次方之和为这个数。例如: 371=3*3*3+7*7*7+1*1*1

for(num=100; 【num<=999】; num++)

shi=【num/10%10】

if (【num==bai*bai*bai+shi*shi*shi+ge*ge*ge】)

8. 完成程序填空,实现的功能是输出如下形式的方阵:

13 14 15 16

9 10 11 12

5 6 7 8

1 2 3 4

for(j=4; j>=1 ; j--){

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

{ x=(j-1)*4+i ;

printf("%4d",x); } }

9. 【a=’B’】;

b='O';

c='Y';

putchar(a);

putchar(b);

putchar(c);

putchar(‘\n’);

10. 完成程序填空实现输入两个数a、b,判断如果a

if(【?】) a

{ t=a;a=b;【?】; } b=t

printf("%5.2f,%5.2f\n",a,【?】); b

11. 完成程序填空实现输入三个数,按代数值由大到小输出。

if(【?】) a

{t=a;a=b;b=t;}

if(a

{t=a;a=c;【?】;} c=t

if(b

{t=b;【?】;c=t;} b=c

printf("%5.2f,%5.2f,%5.2f\n",a,b,c);

12. 完成程序填空,实现已知三个数a,b,c,找出最大值放于max中。

if(a>=b) 【?】; max=a

else max=b;

if (【?】) max=c; c>max

printf("max=%d\n" 【?】); ,max

13. 完成程序填空,实现求s=1+3+5+ (99)

【i=1;】

s=1;

while(【?】) i<99

{ i=i+2;

【s=s+i;】}

14. 完成程序填空,用do-while结构实现s=1+3+5+ (99)

【sum=0;】

i=1;

item=2*i-1;

do

{ sum=sum+item;

i++;

item=【2*i-1;】}

while(【item<100】); //循环结束后,请考虑item的值是多少?

printf("1+3+5+...99=%ld\n",sum);

15. 完成程序填空,实现输入一行字符,分别统计出其中的英文字母、空格、数字和其他字符的数。

while((【c=getchar()】)!='\n') {

if (c>='a'【&&c<=’z’】|| c>='A'&&c<='Z') letters++ ;

else if (c==' ') space++;

else if(【c>=’0’&&c<=’9’】) digit++;

else other++;

}

16. 一个小球从100米高度自由下落,每次落地后反跳回原来高度的一半,再下落,求它在第十次下落时,共经过多少米,第十次反弹多高?

float height【=100】;

sum=sum+height;

while(【i<=10】){

height=【height/2】;

sum+=2*height;

i++; }

17. 完成程序填空,实现猴子吃桃问题。

猴子第一天摘下若干个桃子,当即吃了一半,还不过瘾又多吃了一个。第二天早上有将剩下的挑子吃掉一半,又多吃了一个。后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃是,只剩下一个挑子了。求第一天共摘了多少桃子?

{int day【=10】;

int m=0;

int n=1;

while(day>1)

{ m=【2*(n+1)】;

【n=m】;

day--; }

18. 完成程序填空,实现输出以下图案:

*

***

*****

*******

for(i=1;【i<=4】;i++) {

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

printf(" ");

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

printf(【"*"】);

printf(【”\n”】); }

19. 完成程序填空,实现找出1000之内的所有完数,并按如图所示格式输出其因子。一个数如果恰好等于它的公约数之和,这个数就称为"完数"。

例如:6=1+2+3。6就是一个完数。

for(a=2;a<=【1000】;a++) {

b=0;

for(i=1;i

f(a%i==0)

b=【b+i】;

if(a==b) {

printf("%d its factors are 1",a);

for(i=2;i

if(【a%i==0】)

printf(",%d ",i);

printf("\n"); }

20. 完成程序填空,实现求1+ 1/3+ 1/5+ ...之和,直到某一项的值小于10的-6次方时停止累加。

n【=1;】

while(1.0/n【>=1e-6】){

s=s+1.0/n;

【n=n+2;】}

21. 完成程序填空,输出如下数阵:

1

1 2 1

1 2 3 2 1

1 2 3 4 3 2 1

1 2 3 4 5 4 3 2 1

for (i=1;【i<=5】;i++){

for(k=1;【k<=10-i】;k++)

printf(" ");

for(j=1;【j<=2*i-1】;j++)

printf("%d",i-abs(i-j));

printf("\n"); }

22. 两个乒乓球队进行比赛,各出三人。甲队为a,b,c三人,乙队为x,y,z三人。已抽签决定比赛名单,有人向队员打听比赛的名单。a说他不和x比,c说他不和x、z比,请完成程序填空,实现找出三队赛手的名单。

char i,j,k; //i是a的对手,j是b的对手,k是c的对手

for(i='x';i<='z';i++)

for(j='x';j<='z';j++)

{ if (【i!=j】) //a和b不能是同一个对手

【for】(k='x';k<='z';k++)

{if(i!=k&&j!=k) //a、b、c不能是同一个对手

{ if(i!='x' && k!='x' &&【k!=’z’】)

printf("a-----%c\nb-----%c\nc-----%c\n",i,j,k); }

}

23. 完成程序填空,实现打印下列的图形

1 2 3 4 5 6 7 8 9

2 3 4 5 6 7 8 9

3 4 5 6 7 8 9

4 5 6 7 8 9

5 6 7 8 9

6 7 8 9

7 8 9

8 9

9

for(i=1;【i<=9】;i++)

{for(j=i;j<=9;【j++】)

printf("%2d",【j);】

24. 在数组a中,存放着10个整型数据,数据是从下标0开始存放的,完成程序填空,实现顺序输出下标为奇数的各数组元素的值。

int i, a[10]={0,1,2,3,4,5,6,7,8,9【}】};

for(i=1;i<=9; 【i=i+2】)

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

printf("\n");

25. 完成程序填空,实现用冒泡排序法对从键盘输入的10个整型数据进行由小到大排序。scanf("%d",【&a[i]】);

printf("\n");

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

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

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

{t=a[i];

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

【a[i+1]=t;】

printf("the sorted numbers :\n");

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

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

26. 完成程序填空,实现输出所有的水仙花数,所谓水仙花数是一个3位数,其各位数字的立方和等于该数本身。例如153=13+53+33,故153是一个水仙花数。

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

{ a=n/100;

b=n/10-a*10;

c=n%10;

if(【a*a*a+b*b*b+c*c*c==n】)

{ m[k]=n;

【k++;】}

}

27. 有一个已排好的数组,完成程序填空,实现要求输入一个数后,按原来排序的规律将它插入到数组中。

while( find【==0】&& left<=right) a[i+1]=【a[i]】; for(i=N-1;i>=left;【i--】)

28. 在字符数组str1[81]和str2[81]中分别存放着2个字符串,完成程序填空,实现将两个字符串连接起来构成一个新的字符串,并将新生成的字符串存放在字符数组str1[81]中(要求不用strcat函数)。

【gets】(str1);

for(i=0;str1[i]【!=’\0’】;i++)

for(j=0;str2[j]!='\0';j++,【i++】)

29. 完成程序填空,进行两个字符串str1和str2的比较,若str1>str2 ,

输出一个正数;若str1=str2,输出0;若str1<str2,输出一个负数,

输出的数是两个字符的Ascii码值的差(要求不用strcmp函数)。

【gets】(str1);

for(i=0;str1[i]【==str2[i]】&& str1[i]!='\0';i++)

printf("the compare result is: %d\n",【x】);

30. 完成程序填空,实现编程输出以下图案。

*****

*****

*****

*****

*****

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

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

puts(【str】;

31. 功能:输出9*9口诀。

for (i=1;【?】;i++) i<10

{ for(j=1;j<10;【j++】)

{ result=i*j;

printf("%d*%d=%-3d",i,j,【result】); }

32.功能:将字母转换成密码,转换规则是将当前字母变成其后的第四个字母,但W变成A、X变成B、Y变成C、Z变成D。小写字母的转换规则同样。

while((c=【getchar()】)!='\n')

if((c>='a'&&c<='z')||(c>='A'&&c<='Z'))【c+=4】;

if((c>'Z'【&&】c<='Z'+4)||c>'z') c-=26;

33. 功能:输入一个学生的生日(年:y0、月:m0、日:d0),并输入当前日期(年:y1、月:m1、日:d1)。求出该学生的年龄(实足年龄)。

【scanf】("%d,%d,%d",&y0,&m0,&d0);

if(m0【>】m1)age--;

if((m0【==】m1)&&(d0>d1))age--;

34. 完成程序填空,实现求两数最小公倍数.

if(【i%m==0】)

if(i%n【==0】)

{ printf("%d\n",i);【break】; }

二、程序设计

1. 功能:求1到w之间的奇数之和。(w是大于等于100小于等于1000的整数)

long d,s=1;

while (n>0)

{d=n%10;

s*=d;

n/=10;

}

return s;

2. 功能:对某一正数的值保留2位小数,并对第三位进行四舍五入。

int i;

i=(int) (h*1000)%10;

if (i>=5)

return(int) (h*100+1)/100.0;

else

return(int) (h*100)/100.0;

3. 功能:产生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);

4. 功能:编写程序求无理数e的值并输出。计算公式为:e=1+1/1!+1/2!+1/3!+......+1/n! long int j;

int i,k;

float 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;

5. 功能:对任意输入的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;

6. 功能:判断一个整数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);

7. 功能:编写函数求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);

8. 功能:编写函数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;

9.给定N个数据,求最小值出现的位置(如果最小值出现多次,求出第一次出现的位置即可)int i,k;

k=0;

for(i=1;i

if(s[i]

return(k);

10. 求一批数中最大值和最小值的积。

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);

11. 从键盘上输入任意实数x,求出其所对应的函数值z=(x-4)的二次幂, z=x的八次幂(x>-4), 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);

12. 求出N*M整形数组的最大元素及其所在的行坐标及列坐标(如果最大元素不唯一,选择位置在最前面的一个)。.

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);

13. 求一个n位自然数的各位数字的积。(n是小于10的自然数)

long d,s=1;

while (n>0)

{d=n%10;

s*=d;

n/=10; }

return s;

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

例如:若有5门课程的成绩是:92,76,69,58,88,则函数的值为76.599998

int i;

float y=0;

for(i=0;i

y+=a[i];

y=y/n;

return y;

15. 求一批数中小于平均值的个数。

int i,sum=0,k=0;

float 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);

16. 编写函数判断一个整数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);

17. 编写函数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; }

18. 将字符串中的小写字母转换为对应的大写字母,其他字符不变。

int i;

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

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

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

19. 求给定正整数m以内的素数之和。

int i,k,s=0;

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

{for (k=2;k

if(i%k==0)break;

if(k==i)s=s+i; }

return s;

20. 编写程序,实现矩阵(3行3列)的转置.

int i,j,t;

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

for(j=0;j

{ t=array[i][j];

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

array[j][i]=t;}

21. 功能:从键盘为一维整型数组输入10个整数,调用fun函数找出其中最小的数,并在main函数中输出。请编写fun函数。

int min,i;

min=x[0];

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

{ if(x[i]

min=x[i]; }

return min;

22. 用do-while语句求1~100的累计和。

int i=1,sum=0;

do

{sum=sum+i;i++;}

while(i<=n);

return sum;

23. 调用函数fun判断一个三位数是否"水仙花数"。在main函数中从键盘输入一个三位数,并输出判断结果。请编写fun函数。说明:所谓"水仙花数"是指一3位数,其各位数字立方和等于该数本身。

例如:153是一个水仙花数,因为153=1+125+27。

int a,b,c;

a=n%10;

b=n/10%10;

c=n/100;

if(a*a*a+b*b*b+c*c*c==n)

return 1;

else return 0;

24. 功能:判断一个整数w的各位数字平方之和能否被5整除,可以被5整除则返回1,否则返回0。使用DO WHILE

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);

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

long d,s=1;

while(n>0)

{d=n%10;

s*=d;

n/=10; }

return s;

26. 功能:把20个随机数存入一个数组,然后输出该数组中的最大值。

int i,j=0;

for(i=0;i

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

j=i;

return j;

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

int i,sum=0,k=0;

float 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);

28. 功能:编写函数求1~100中奇数的平方和。结果为166650。

float s=0;int i,j;

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

s=s+i*i;

return(s);

29. 功能:产生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);

30. 功能:编写函数fun生成一个对角线元素为1,其他元素都为0的3*3的二维数组。for(i=0;i<3;i++)

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

if(i+j==1 || i+j==3)

arr[i][j]=0;

else arr[i][j]=1;

31. 功能:求5行5列矩阵的主、副对角线上元素之和。注意,两条对角线相交的元素只加1次。例如:主函数中给出的矩阵的两条对角线的和为45。

int s=0;

for(i=0;i

s=s+a[i][i]+a[i][M-1-i];

s=s-a[(M-1)/2][(M-1)/2];

return s;

31. 功能:编写函数用选择排序法对数组中的数据进行从小到大的排序.

int i,j,k,t;

for(i=0;i

{

k=i;

for(j=j+1;j

if(a[k]>a[j])

k=j;

if(k!=i)

{t=a[i];a[i]=a[k];a[k]=t;}

}

32. 功能:编写函数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

{t=t+d;

s=s+t;

d=d*10;}

return s;

33. 功能:编写函数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; }

34. 用辗转相除法求两个整数的最大公约数。

int r,t;

if(n

r=n%m;

while (r!=0)

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

return (m);

35. 编写函数用冒牌排序法对数组中的数据进行从小到大的排序。

答案:

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; }

36. 功能:根据整型形参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);

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

例如:输入下面的矩阵: 程序输出:

100 200 300 200 400 600

400 500 600 800 1000 1200

700 800 900 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;

38. 功能:求小于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;

39. 把20个随机数存入一个数组,然后输出该数组中的最大值.

int i,max=0;

for(i=1;i

if(list[max]

max=i;

return max;

40. 功能:从低位开始取出长整型变量s中偶数位上的数,依次构成一个新数放在t中. 例如:当s中的数为:7654321时,t中的数为:642。

long s1=10;

s /=10;

t=s %10;

while (s>0)

{ s=s/100;

t=s%10*s1+t;

s1=s1*10; }

41. 功能:计算并输出给定整数n的所有因子之和(不包括1与自身)注意:n的值不大于1000. 例如:n的值为855时,应输出704。int s=0,1;

for(i=2;i

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

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

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、设有语句inta=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、INPUTx、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)voidmain() {intm,n; scanf(“%2d%3d”,&m,&n); printf(“m=%dn=%d\n”,m,n); } A、m=23n=45 B、m=234n=56 C、m=23n=456 D、语句有错误 10、若运行时,给变量x输入12,则以下程序的运行结果是(A)main() {intx,y; scanf(“%d”,&x); y=x>12?x+10:x-12; printf(“%d\n”,y); } A、0B、22C、12D、10 11、C语言中while和do-while循环的主要区别(A) A、do-while的循环体至少执行一次 B、while的循环控制条件比do-while的循环控制条件严格 C、do-while允许从外部转到循环体内 D、do-while的循环体不能是复合语句 12、以下对二维数组的正确说明的语句是(C) A、inta[3][] B、floata(3,4) C、doublea[3][4] D、floata(3)(4) 13、以下程序的输出结果是(C) main()

《C程序设计语言》样卷

韩山师范学院2011年专升本插班生考试样卷 计算机科学与技术专业高级语言程序设计试卷(A卷) 一、填空题(每空1分,共10分) 1.C程序的基本单位是________。 2.C语言源程序文件的后缀是________。 3.C语言中的标识符由________、________和字母组成。 4.设y为float型变量,执行表达式y=6/5之后,y的值是________。 5.在C语言中,要求运算量必须是整型的运算符是___________。 6.如果函数值的类型与返回值的类型不一致时,应该以___________为准。7.已知int a=8,*p=&a;,则*p的值是___________。 8.把一些不同类型的数据作为一个整体来处理时,常用___________。9.若x=2,y=3,则x|y<<2的结果是___________。 二、单项选择题(每小题1.5分,共30分) A.顺序结构、选择结构、循环结构B.递归结构、循环结构、转移结构C.嵌套结构、递归结构、顺序结构D.循环结构、转移结构、顺序结构2.在一个C语言的源程序中,以下叙述正确的是()。

A.必须有除主函数外其他函数B.可以有多个主函数 C.必须有一个主函数D.可以没有主函数 3.以下叙述正确的选项是()。 A.C语言的源程序不必通过编译就可直接执行 B.C语言中的每条语句最终都将被转换成二进制的机器指令 C.C语言程序经编译形成的二进制代码可以直接执行 D.C语言中的函数不可以单独进行编译 4.算法是指为解决某个特定问题而采取的正确且有限的步骤,下面不属于算法的5个特性的是( )。 A.有零个输入或多个输入B.高效性C.有穷性D.确定性5.以下能正确定义且赋初值的语句是( )。 A.int n1=n2=10; B.char c=32; C.float f=f+1.1; D.double x=12.3E2.5 6.有以下程序: main() { char a='a',b; printf("%c",++a); printf("%c\n",b=a++); } 程序运行后的输出结果是( )。 A.bb B.bc C.ab D.ac 7.以下程序段的输出结果是( )。 int a=1234; printf("%2d ",a); A.12 B.34 C.1234 D.提示出错 8.有以下程序:

C语言程序设计第三版习题库答案

C 语言程序设计(第三版)习题库 1、设圆半径r=,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。用scanf 输入数据,输出计算结果,输出时要求文字说明,取小数点后两位数字。请编程序。 #include<> main(){ floatr,h,C1,Sa,Sb,Va,Vb; scanf(__”%f ”__,&r); scanf(”%d ”,__&h _);; C1=2**r; Sa=*r*r; Sb=4*Sa; Va=4**r*r*r/3; Vb=Sa*h; printf(___”Cl=%.2fSa=%.2fSb=%.2fVa=%.2fVb=%.2f ”,Cl,Sa,Sb,Va,Vb ); } 2、输入一个华氏温度,要求输出摄氏温度。公式为c=5(F-32)/9 输出要求有文字说明,取位2小数。 #include<> main(){ floatF,c; scanf("%f",&F); ____c=5*(F-32)/9______; printf("c=%.2f",c); } 3、有一函数:?? ???≥-<≤-<=10113101121x x x x x x y 写一程序,输入x 值,输出y 值。 #include<> main(){ intx,y; printf("输入x :"); scanf("%d",&x); if(x<1){/*x<1*/ y=x; printf("x=%3d,y=x=%d\n",x,y);

}elseif(____x<10_______){/*1≤x-10*/ _____y=2*x-1_______; printf("x=%3d,y=2*x-1=%d\n",x,y); }else{/*x≥10*/ y=3*x-11; printf("x=%3d,y=3*x-11=%d\n",x#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d\n",y); }#include"" main() { intx,y; scanf("%d",&x); if(x<1) {y=x;} elseif(x>=1&&x<10) {y=2*x-1;} else {y=3*x-11;} printf("%d",y); }scanf("%d",&x);

C语言常见复习题(选择填空)及参考答案

C语言常见复习题及参考答案 一、选择题 1.下述标识符中,()是合法的用户标识符。 A.A#C B.getch C.void D.ab* 2.在C语言中,字符型数据在内存中是以()形式存放的。 A.原码 B.BCD码 C.反码 D.ASCII码 3.以下选项中不合法的用户标识符是()。 A.abc.c B.file C.Main D.PRONTF 4.以下选项中不合法的用户标识符是()。 A.123 B.printf C.Anbsp; D.Dim 5.可以在C语言程序中用做用户标识符的一组标识符是()。 A.void B.as-b3 C.for D.2c define -123 -abc Do WORD If cas SIG 6.在以下各组标识符中,合法的用户标识符是(1)、(2)、(3)。 (1)A.001 B.table_1 C.0_t D.k% Int t*.1 W10 point (2)A.Fast_ B.void C.pbl D. Fast+Big abs fabs beep (3)A.xy_ B.longdouble C.*p D.CHAR 变量1 signed history Float 7.()是构成C语言的基本单位。 A.函数 B.过程 C.子程序 D.子例程 8.若有说明:char s1='\067';char s2="1";char s3='1';则s1中(1),s2中(2),s3中(3)。

(1).A.包含3个字符 B.包含2个字符 C.包含1个字符 D.无定值,说明不合法 (2).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 (3).A.包含1个字符 B.包含2个字符 C.包含3个字符 D.无定值,说明不合法 9.若x为int型变量,则执行以下语句后,x的值为 x=6; x+=x-=x*x A.36 B.-60 C.60 D.-24 10.在C语言中,char 型数据在内存中是以()形式存储的。 A.原码 B.补码 C.ASCII码 D.反码 11.以下运算符中优先级最低的算符为(),优先级最高的为()。 A.&& B.& C.|= D.|| E.?: F.!= 12.若有运算符>、*=、<<、%、sizeof,则它们按优先级(由低至高)的正确排列顺序为 A.*= << > % sizeof B.<< *= > % sizeof C.*= > << sizeof % D.*= > << % sizeof 13.若有以下类型说明语句 char w; int x; float y; double z; 则表达式w*x+z-y 的结果是()类型。 A.float B.char C.int D.double 14.若w,x,y,z 均为int 型变量,则执行下面的语句后, w=(1), x=(2), y=(3), z=(4)。 w=5; x=4; y=w++*w++*w++; z=--x*=--x*--x;

C语言程序设计试题集

第一章基础知识 一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。

程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。 13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。

C程序设计语言 (第二版) 课后答案第一章

Chapter 1 Exercise 1-1 Run the “hello world” program on your system. Experiment with leaving out parts of the program, to see what error message you get. #include int main() { printf("hello, "); printf("world"); printf("\n"); return 0; } Exercise 1-2 Experiment to find out what happens when printf’s argument string contains \c, where c is some character not list above. Exercise 1-3 Modify the temperature conversion program to print a heading above the table. #include int main() { float fahr, celsius; float lower, upper, step; lower = 0; upper = 300; step = 20; fahr = lower; printf("Fahrenheit temperatures and their centigrade or Celsius equivalents\n"); while (fahr <= upper) { celsius = (5.0/9.0) * (fahr-32.0); printf("%3.0f %6.1f\n", fahr, celsius); fahr = fahr + step; } return 0; }

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语言题库(填空题部分)

二、填空题 1、C语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 1:fopen#fopen()#fopen() 知识点:知识点/基本理论/C11文件/C11_2文件函数 2、C语言中文件操作结束节后,必须关闭文件。而且关闭文件是通过调用__________函数来实现。 答案: 1:fclose#fclose()#fclose() 知识点:知识点/基本理论/C11文件/C11_2文件函数 3、字符串函数________用于从指定的磁盘文件中读出一个字符串。 答案: 1:fgets#fgets() 知识点:知识点/基本理论/C11文件/C11_2文件函数 4、字符串函数___________用于把一个字符串写入指定的磁盘文件中。 答案: 1:fputs#fputs() 知识点:知识点/基本理论/C11文件/C11_2文件函数 5、字符读写函数____________是用于从磁盘文件中读出一个字符。 答案: 1:fgetc#fgetc()#getc#getc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 6、字符读写函数____________是用于把一个字符写入磁盘文件。 答案: 1:fputc#fputc()#putc#putc() 知识点:知识点/基本理论/C11文件/C11_2文件函数 7、共用体类型变量的定义关键字是________。 答案: 1:union 知识点:知识点/基本理论/C10共用体与枚举类型 8、定义枚举类型时采用的关键字是__________。 答案: 1:enum 知识点:知识点/基本理论/C10共用体与枚举类型 9、在C语言中,从参数的形式看,函数可以分为两类:无参函数和____________函数。 答案: 1:有参 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 10、在C语言中,函数的返回值是由___________语句传递的。 答案: 1:return#return() 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 11、在C语言中,按函数在程序中出现的位置可分为以下三种调用方式:函数语句、函数表达式和函数 __________。 答案: 1:参数 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 12、在C语言中,在调用一个函数的过程中又出现__________或间接地调用该函数本身,这一现象称为函数的递归调用。 答案: 1:直接 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 13、在C语言中,若确实不要求返回函数值,则应将函数定义为___________类型。 答案: 1:void 知识点:知识点/基本理论/C6函数与编译预处理/C62函数分类、调用及返回值T 14、在C语言中,假使X为基本整型变量,如果我们采用printf("格式控制",X)格式输出X,那么"格式控制"具体表示为"__"。

C语言程序设计习题集(3)

指针 一单项选择题(每题2分,共40分) 1 以下叙述中错误的是_B__。 A 在程序中凡是以“#”开始的语句行都是预处理命令行 B 预处理命令行的最后不能以分号表示结束 C #define MAX是合法的宏定义命令行 D C程序对预处理命令行的处理是在程序执行的过程中进行的 2 若程序中有宏定义行:#define N 100 ,则以下叙述中正确的是__B_。 A 宏定义行中定义了标识符N的值为整数100 B 在编译程序对C源程序进行预处理时用100替换标识符N C 对C源程序进行编译时用100替换标识符N D 在运行时用100替换标识符 3 若有如下宏定义: #define N 2 #define y(n) ((N+1)*n) 则执行下列语句:z=4*(N+y(5));后的结果是_B__。 A 语句有错误 B z值为68 C z值为60 D z值为180 4 以下程序运行后的输出结果是_A__。 #define F(X,Y) (X)*(Y) main() { int a=3,b=4; printf("%d\n",F(a++,b++)); } A 12 B 15 C 16 D 20 5 以下程序运行后的输出结果是_C__。 #define f(x) (x*x) main() { int i1,i2; i1=f(8)/f(4); i2=f(4+4)/f(2+2); printf("%d,%d\n",i1,i2); } A 64,28 B 4,4 C 4,3 D 64,64 6 若已定义a为int型变量,则__D_是对指针变量p的正确说明和初始化。 A int p=&a; B int *p=a; C int *p=*a; D int *p=&a; 7 已知下列说明语句: static int a[]={2,4,6,8} static int *p[]={a,a+1,a+2,a+3}; int **q; q=p; 则表达式**(q+2)的值是_A__。 A 6 B 2 C 4 D 8 8 下面是一个初始化指针的语句:int *px=&a;,其中指针变量的名字应该__C_。 A *px B a C px D &a 9 若指针px为空指针,则_B__。。

(完整版)C程序设计语言复习题(试题及答案版)

一.填空题 26.C#源程序的后缀名为______.cs________。 26.C#中每个int 类型的变量占用____4___个字节的内存。 26.C#的每行语句以________分号_______结尾。 26.布尔型的变量可以赋值为关键字_____true__________或_____false_________。 26.如果int x的初始值为5,则执行表达式x - =3之后,x的值为_____2_________。 26.do...while语句在执行循环体_____之后________测试语句是否满足循环条件。 26.关键字_______class________表示一个类的定义。 26.如果一个类包含一个或多个抽象方法,它是一个_________抽象_____________类。 26.try块运行后,总是会执行_________finally_____________块中的代码。 26.一个数组如果有两个索引值,那么它是__________二维__________数组。 二.单项选择题 1.在对SQL Server 数据库操作时应选用()。 A、SQL Server .NET Framework 数据提供程序; B、OLE DB .NET Framework 数据提供程序; C、ODBC .NET Framework 数据提供程序; D、Oracle .NET Framework数据提供程序; 2.下列选项中,()是引用类型。 A、enum类型 B、struct类型 C、string类型 D、int类型 3.C#的数据类型有() A、值和调用类型; B、值和引用类型; C、引用和关系类型; D、关系和调用类型 4.下列描述错误的是() A、类不可以多重继承而接口可以; B、抽象类自身可以定义成员而接口不可以; C、抽象类和接口都不能被实例化; D、一个类可以有多个基类和多个基接口; 5.下列关于构造函数的描述正确的是() A、构造函数可以声明返回类型。 B、构造函数不可以用private修饰 C、构造函数必须与类名相同 D、构造函数不能带参数 6.int[][] myArray3=new int[3][]{new int[3]{5,6,2},new int[5]{6,9,7,8,3},new int[2]{3,2}}; 那么myArray3[2][2]的值是( )。 A、9 B、2 C、6 D、越界 7.接口是一种引用类型,在接口中可以声明(),但不可以声明公有的域或私有的成员变量。 A、方法、属性、索引器和事件; B、方法、属性信息、属性; C、索引器和字段; D、事件和字段; 8.在https://www.wendangku.net/doc/fa6048217.html,中,对于Command对象的ExecuteNonQuery()方法和ExecuteReader()方法,下面叙述错误 的是()。 A、insert、update、delete等操作的Sql语句主要用ExecuteNonQuery()方法来执行; B、ExecuteNonQuery()方法返回执行Sql语句所影响的行数。 C、Select操作的Sql语句只能由ExecuteReader()方法来执行; D、ExecuteReader()方法返回一个DataReder对象; 9.Winform中,关于ToolBar控件的属性和事件的描述不正确的是( )。 A、Buttons属性表示ToolBar控件的所有工具栏按钮 B、ButtonSize属性表示ToolBar控件上的工具栏按钮的大小,如高度和宽度 C、DropDownArrows属性表明工具栏按钮(该按钮有一列值需要以下拉方式显示)旁边是否显示下箭 头键 D、ButtonClick事件在用户单击工具栏任何地方时都会触发

C语言程序设计 复习题库

一、填空 1. break 语句通常用于switch // 循环中。 2. C 语言对数组下标的引用一般从0 开始。 3. C 语言中,一个函数一般由两个部分组成,它们是函数首部和函数体。 4. C 标准库函数中,字符串的处理函数包含在string.h 头文件中,数学函数包含在 math.h 头文件中。 5. C 程序的运行需要经过编译和链接两步进行。 6. C 程序中用/**/ 括起来的内容是程序的注释语句。 7. C 语言函数是由函数首部和函数体两部分组成。其中,函数首部包括函数类型、函数 名和函数参数。 8. C 语言提供的三种逻辑运算符是& ,// ,!。 9. C 语言源程序经过编译后,生成文件的后缀名是.c 。 10. C 语言源程序经过连接后,生成文件的后缀名是.exe 。 11. C 语言中,关系表达式和逻辑表达式的值是1//0 。 12. C 语言中的标识符只能由三种字符组成,他们是字母,数字,下划线。 13. C 语言中的每条基本语句以;作为结束符,每条复合语句以} 作为结束符。 14. C 语言中函数返回值的类型是由函数类型决定的。 15. C 源程序的基本单位是函数。 16. int a = 2, b = 3; 表达式 a > b ? a ++ : ++ b 的值为 4 。 17. int x=1,y=1,z=1; x+=y+=z; 则表达式xb>c 的值是0 。 19. 定义一个指针p,它指向一个有 6 个整型元素的一维数组,定义语句为int *p=a[6] ; 。 20. 定义一个指针数组p ,它有 4 个元素,每个指针指向一个整型数据,定义语句为int *p[4]; 。 21. 赋值语句是由= 加上一个分号构成。 22. 构成数组的各个元素必须具有相同的类型。 23. 关系表达式x+y>5 的相反表达式为x+y !>5 。 24. 函数strlen("1234\0xy") 的值为:9 。 25. 函数的形参在未被调用前不分配空间,函数形参的数据类型要和实参相同。 26. 函数体用{ 开始,用} 结束。 27. 结构化设计中的三种基本结构是顺序,选择,循环。

C语言填空题

1、在考生目录下,给定程序FILL1、C的功能就是: 计算正整数num的各位上的数字之积。 例如,若输入:252,则输出应该就是:20。 若输入:202,则输出应该就是:0。 程序有两个空(1)、(2)需要补充完整。并将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include #include main( ) {long int num,k; /************found************/ _____(1)_______ k=1; clrscr() ; printf("\Please enter a number:") ; scanf("%ld",&num) ; do { k*=num%10 ; /************found************/ _____(2)______ num=num/10 ; } while(num) ; printf("\n%ld\n",k) ; } 2、在考生目录下,给定程序FILL1、C的功能就是:从键盘上输入一个数字组成的字符串(字符串长度小于8),将该字 符串转换成一个十进制数。 例如:从键盘上输入2345,则程序运行的结果应当为: n=2345。 程序有两个空(1)、(2)需要补充完整。请将程序调试出所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio、h" main() { char s[10]; int i; long int n=0; clrscr(); /**************found************/ ___(1)___; scanf("%s",s); /**************found************/ for(i=0;___(2)___;s[i] != ‘\0’ ;i++) n=n*10+s[i]-'0'; printf("n=%ld\n",n);

C语言填空题以及答案

1. 一条简单语句是以________字符作为结束符的,一条复合语句是分别以 ________字符和________字符作为开始符和结束符的。 2. 任何一个C++程序至少且只能包含一个________函数,且程序总是从这个函数开始执行,不论这个函数的位置如何。一个函数定义由________和________两部分组成。 3. C++头文件和源程序文件的扩展名分别为________和________。 4. cout与操作符_______配合使用才能显示输出,cin与操作符_____配合使用才能实现输入。 5. 数据类型int,char,bool,float,double, int * 等的类型长度分别为________、________、________、________、________和________。 6. 数值常量46、0173和0x62对应的十进制值分别为________、________和________。 7. 字符串”It\’s\40a\40C++programe!”中包含有__________个字符。 8. 若x=5,y=10,则计算y*=++x表达式后,x和y的值分别为________和 ________。 9. 若x=25,则计算y=x--表达式后,x和y的值分别为________和________。 10. 假定x和ch分别为int型和char型,则sizeof(x)和sizeof(ch)的值分别为________和________。 11. 假定x=64,y=88,则x<<2和y>>2的值分别为________和________。 12. 假定x是一个逻辑量,则x&&true的值与________的值相同,x||false的值也与________的值相同。 13. 假定x是一个逻辑量,则x&&!x和x||!x的值分别为________和________。 14. 假定x=10,则表达式x<=10?20:30的值为________。 15. 表达式sqrt(81)和pow(6,3)的值分别为______________和 ______________。 16. 数学算式(1+x)sin48°和axbex+1对应的算术表达式分别为________和 ________。 17. 逻辑表达式:a>=x||b>2*y+10的相反式为:________。 18. 在嵌套的if语句中,每个else关键字与它前面最接近的________关键字相配套。 19. 在for语句中,假定循环体被执行次数为n,则<表达式1>共被计算________次,<表达式2>共被计算________次,<表达式3>共被计算________次。20. 执行for和while循环时,每次是先进行________的判断,然后再执行 ________,执行do循环时则相反。

C语言程序设计期末考试试题(含答案)

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

c语言程序填空题完整

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

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

C语言程序设计试题集与答案解析

一.填空 1. 每个C程序都必须有且仅有一个________ 函数。 2. C语言程序开发到执行通常要经过6个阶段即编辑、预处理、________、链接、加载和执行。 3. 软件是程序,以及______、使用和维护所需要的所有文档。 4. 国标中规定:“计算机程序是按照具体要求产生的适合于计算机处理的_________”。 5. 程序设计语言按照书写形式,以及思维方式的不同一般分为低级语言和________两大类。 6. C语言是由________组成的。 7. C语言的函数可分为主函数main、标准库函数和_________。 8. 一个函数是由两部分组成的,即:________和函数体。 9. 编译是将C语言所编写的源程序________成机器代码,也称为建立目标代码程序的过程。 10. 程序是由某种程序设计语言编制出来,体现了编程者的控制思想和对计算机执行操作 的要求。不同的任务功能,就会需求不同的软件程序,如:控制计算机本身软硬件协调工作,并使其设备充分发挥效力,方便用户使用的系统软件程序,称为操作系统;而为办公自动化(OA)、管理信息系统(MIS)、人工智能、电子商务、网络互联等等应用而开发的软件程序,统称为_________。 11. 机器语言是以__________形式表示的机器基本指令的集合,是计算机系统唯一不需要翻译可以直接识别和执行的程序设计语言。 12. 与机器语言相比,使用汇编语言来编写程序可以用_______来表示指令的操作码和操作对 象,也可以用标号和符号来代替地址、常量和变量。

13. 在编译程序之前,凡以____开头的代码行都先由预处理程序预处理。 14. C程序的执行均是由执行_________开始。 15. 函数体即为包含在{}内的部分。它分为________和为完成功能任务由若干个C 语句 组成的执行部分。 16. C语言程序中一条简单语句是以________字符作为结束符的。 17. C语言是结构化、________的程序设计语言。 18. 由于计算机硬件不能直接识别高级语言中的语句,因此,必须经过“_______程序”,将用高级语言编写的程序翻译成计算机硬件所能识别的机器语言程序方可执行。 19. 用高级语言编写的程序需翻译成计算机硬件所能识别的机器语言程序方可执行。所以 说,用高级语言进行程序设计,其编程效率高,方便易用,但_______没有低级语言高。 20.

《C程序设计语言》模拟试卷二

一、单项选择题 1.以下并非C语言的特点的是____________。 A.C语言简洁紧凑 B.能够编写出功能复杂的程序 C.C语言可以直接对硬件进行操作 D.C语言移植性好 2.在C程序中,main()的位置___ ______。 A.必须作为第一个函数 B.必须作为最后一个函数 C.可以任意 D.必须放在它所调用的函数之后 3.一个C程序是由____ ________。 A.一个主程序和若干个子程序构成 B.一个或多个函数构成 C.若干过程组成 D.若干子程序组成 4.以下字符串为标识符的是___ _________。 A._MY B.2_2222 C.short D.LINE 5 5.下列符号可以作为变量名的是___ ________。 A.+a B.*p C._DAY D.next day 6.设c是字符变量,则以下表达式正确的是___ _______。 A.c=666 B.c='c' C.c="c" D.c="abcd" 7.以下说法正确的是_____ _______。 A.输入项可以为一个实型常量,如scanf("%f", 3.5) B.只有格式控制没有输入项也能进行正确输入,如scanf("%d") C.当输入一个实型数据时,格式控制部分应规定小数点后的位数,如 D.当输入数据时,必须指定变量的地址,如scanf("%f", &f) 8.若a, b, c均定义为整型,要给它们输入数据,正确的输入语句是____ ________。 A.read(a, b, c); B.scanf("%d%d%d", a, b, c); C.scanf("%D%D%D", a, b, c); D.scanf(%d%d%d", &a, &b, &c); 9.若a是float变量,b是unsigned型变量,以下输入语句中合法的是____ ___。 A.scanf("%6.2f%d", &a, &b); B.scanf("%f%n", &a, &b); C.scanf("%f%3o", &a, &b); D.scanf("%f%f", &a, &b); 10.if后面的表达式之值__________。 A.只能是0或1 B.只能是正整数或负整数 C.只能是整数或字符型数据 D.可以是任何类型的数据 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与__ ___组成配对 关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其直接最近的未配对的if D.同一行上的if 12.选择出合法的if语句(设int x, a, b, c;)____ _____。 A.if(a = b0 x++; B.if (a =< b) x++; C.if(a <> b) x++; D.if (a=>b) x++; 13.语句while(!e); 中的条件!e等价于____ _______。 A. e == 0 B.e!=1 C.e!=0 D.~e 14.C语言中while和do-while循环的主要区别是____ _______。 A.do-while的循环体至少无条件执行一次 B.while的循环控制条件比do-while的循环控制条件严格

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