全国计算机等级考试二级C语言填空题(158道)

全国计算机等级考试二级C语言填空题(158道)
全国计算机等级考试二级C语言填空题(158道)

1、(1)算法的基本特征主要包括四个方面,它们分别是可行性、确定性、___________和拥有

足够的情报。

Ans: 有穷性

2、(2)在长度为n的有序线性表中进行二分查找,最坏的情况下,需要的比较次数为___________。

Ans: log2n

3、(3)在面向对象方法中,___________是具有相似性质的对象的集合。

Ans: 类

4、(4)软件产品从提出、实现、使用维护到停止使用退役的过程称为___________。

Ans: 软件生命周期

5、(5)在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。常见

的数据模型有3种,它们分别是层次模型、网状模型和___________。

Ans: 关系模型

6、(6)若有定义:int a=4,b=5,c=6;然后顺序执行下列语句后,变量b中的值是___________。

c=(a-=(b-5));

c=(a%3)+(b=1);

Ans: 1

7、(7)以下程序运行后的输出结果是___________。

main()

{ int a,b,c;

a=10; b=20; c=(a/b<1)&&(a%b<1);

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

}

Ans: 10 20 0

8、(8)以下程序运行后的输出结果是___________。

#define Power2(x) x*x

main()

{ int i=6,j=8;

printf("%d\n",Power2(i+j));

}

Ans: 62

9、(9)以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。请填空。

void fun(int,int,int(*)[4],int *);

main()

{ int a[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;

fun(3,4,a,b);

for(i=0;i<3;i++) printf("%4d",b[i]);

printf("\n");

}

void fun(int m,int n,int ar[][4],int *br)

{ int i,j,x;

for(i=0;i

{ x=ar[i][0];

for(j=0;j

if(___________)

x=ar[i][j];

br[i]=x;

}

}

Ans: x

10、(10)下面程序的功能是:输出100以内能被4整除且个位数为8的所有整数,请填空。

main()

{ int i,j;

for(i=0; ___________;i++)

{ j=i*10+8;

if(j%4!=0) continue;

printf("%d",j); }

}

Ans: i<10

11、(11)以下程序的输出结果是___________。

#include

fun()

{ static int a=0;

a+=3;printf("%d ",a);

}

main()

{ int cc;

for(cc=1;cc<5;cc++)fun();

printf("\n");

}

Ans: 3 6 9 12

12、(12)下面程序的运行结果是___________。

#include

#define SIZE 12

main()

{ char s[SIZE];int i;

for(i=0;i

sub(s,5,SIZE-1);

for(i=0;i

printf("\n");

}

sub(char *a,int t1,int t2)

{ char ch;

while(t1

{ ch=*(a+t1);

*(a+t1)=*(a+t2);

*(a+t2)=ch;

t1++;t2--;

}

}

Ans: abcdelkjihgf

13、(13)下面程序的运行结果是___________。

#include

main()

{ char a[80],*p="AbabCDcd";

int i=0,j=0;

while(*(p++)!='\0')

{ if(*p>='a' && *p<='z') {a[i]=*p;i++;}

}

a[i]='\0';

puts(a);

}

Ans: babcd

14、(14)"printf("%d\n",strlen("\t\"\023\xAB\nC"));"语句的输出结果是___________。

Ans: 6

15、(15)下面程序的运行结果是___________。

#define P(a) printf("%d ",a)

main()

{ int j,a[]={1,2,3,4,5,6,7},i=5;

for(j=3;j>1;j--)

{ switch(j)

{ case 1:

case 2: P(a[i++]); break;

case 3: P(a[--i]);

}

}

}

Ans: 5 5

16、(1)数据结构分为逻辑结构与___________。

Ans: 存储结构

17、(2)在面向对象方法中,对象之间进行通信的构造称为___________。

Ans: 消息

18、(3)衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准,其中___________

是度量一个模块功能强度的一个相对指标。

Ans: 内聚性

19、(4)一名学生只能住一间宿舍,一间宿舍可住多名学生,则实体"宿舍"与实体"学生"的联

系属于___________的联系。

Ans: 一对多

20、(5)数据模型包括数据结构、___________和数据条件。

Ans: 数据操作

21、(6)若有定义:int a=10,b=8,c=4;然后顺序执行下列语句后,变量a中的值是___________。

c=(b-=(a-4));

a=(c%2)+(b-1);

Ans: 2

22、(7)下列程序的输出结果___________。

main()

{ int a=3,b=4;

a=a+b;b=a-b;a=a-b;

printf("%d,%d\n",a,b);

Ans: 4,3

23、(8)以下程序运行后的输出结果是___________。

main()

{ int a=3,b=4,c=5,t=79;

if(b

if(a

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

}

Ans: 4 5 79

24、(9)以下程序的定义语句中,x[1]的初值是_________,程序运行后输出的内容是_________。

#include

main()

{

int x[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;

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

{

p[i]=&x[2*i+1];

printf("%d",p[i][0]);

}

printf("\n");

}

Ans: 2~2 4 6 8

25、(10)以下程序的输出结果是___________。

#include

void swap(int *a,int *b)

{

int *t;

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

}

main()

{

int i=3,j=5,*p=&i,*q=&j;

swap(p,q);printf("%d %d\n",*p,*q);

}

Ans: 3 5

26、(11)以下程序的输出结果是___________。

#include

int fun(int x)

{ static int t=0;

return(t +=x);

}

main()

{ int s,i;

for(i=1;i<=5;i++) s=fun(i);

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

}

Ans: 15

27、(12)当运行以下程序时,输入abcd,程序的输出结果是___________。

insert(char str[])

{ int i;

i=strlen(str);

while(i>0)

{ str[2*i]=str[i]; str[2*i-1]= '*'; i--;}

printf("%s\n",str);

}

main()

{ char str[40];

scanf("%s\n",str); insert(str);

}

Ans: a*b*c*d*

28、(13)以下程序的功能是:通过函数func输入字符并统计输入字符的个数。输入时用字符@

作为输入结束标志。请填空。

#include

long ___________; /* 函数说明语句*/

main()

{ long n;

n=func(); printf("n=%ld\n",n);

}

long func()

{ long m;

for( m=0; getchar()!='@'; ___________);

return m;

}

Ans: func()~m++

29、(1)算法的复杂度主要包括___________复杂度和空间复杂度。

Ans: 时间

30、(2)对数据元素之间的逻辑关系的描述是___________。

Ans: 数据的逻辑结构

31、(3)栈中允许进行插入和删除的一端叫做___________。

Ans: 栈顶

32、(4)若按功能划分,软件测试的方法通常分为白盒测试方法和___________测试方法。Ans: 黑盒

33、(5)在面向对象方法中,信息隐蔽是通过对象的___________性来实现的。

Ans: 封装

34、(6)定义int a=5,b=20;若执行语句printf("%d\n",++a*--b/5%13);后,输出的结果为_______。Ans: 9

35、(7)执行程序时的输入为123456789,则程序的运行结果为___________。

#include "stdio.h"

main()

{

int a,b;

scanf("%2d%*2d%1d",&a,&b);

printf("%d\n",a-b);

}

Ans: 7

36、(8)以下程序运行后的输出结果是___________。

#include

main()

{ char ch[]="abcd",x[4][4]; int i;

for(i=0;i<4;i++) strcpy(x[i],ch);

for(i=0;i<4;i++) printf("%s",&x[i][i]);

printf("\n");

}

Ans: abcdabcdabcdabcdbcdabcdabcdcdabcdd

37、(9)阅读下面程序,则程序的执行结果为___________。

#include "stdio.h"

main()

{ int a=10;

fun(a);

printf("%d\n",a);}

fun(int x)

{ x=50;}

Ans: 10

38、(10)以下程序的输出结果是___________。

int fun(int x,int y,int *p,int *q)

{

*p=x*y;

*q=x/y;

}

main()

{

int a,b,c,d;

a=4;b=3;

fun(a,b,&c,&d);

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

}

Ans: 12,1

39、(11)下面程序是求出数组arr的两条对角线上的元素之和,请填空。

#include "stdio.h"

main()

{

int arr[3][3]={2,3,4,8,3,2,7,9,8},a=0,b=0,i,j;

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

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

if (i=j)

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

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

for( ;j>=0;j--)

if( ==2)

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

printf("%d,%d\n",a,b);

}

Ans: j=2~i+j==2

40、(12)函数fun的功能是:根据以下公式求p的值,结果由函数值返回。m与n为两个正数且要

求m>n。

例如:m=12,n=8时,运行结果应该是495.000 000。请在题目的空白处填写适当的程序语句,将该程序补充完整。

#include

#include

float fun(int m, int n)

{

int i;

float p=1.0;

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

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

for(i=1;i<=m-n;i++)p=p/i;

return p;

}

main ()

{

printf ("p=%f\n",fun(12,8));

}

Ans: p=p*i~p=p/I

41、(13)先有两个C程序文件T18.c和myfun.c同在TC系统目录(文件夹)下,其中T18.c文件

如下:

#include

#include "myfun.c"

main()

{ fun(); printf("\n"); }

//myfun.c文件如下:

void fun()

{

char s[80],c; int n=0;

while((c=getchar())!='\n') s[n++]=c;

n--;

while(n>=0) printf("%c",s[n--]);

}

当编译连接通过后,运行程序T18时,输入Hello!则输出结果是___________。

Ans: !olleH

42、(1)在树形结构中,没有前件的结点是___________。

Ans: 根结点

43、(2)软件工程研究的内容主要包括:软件开发技术和___________。

Ans: 软件工程管理

44、(3)用树型结构表示实体类型及实体间联系的数据模型称为___________。

Ans: 层次模型

45、(4)在数据流图的类型中有两种类型,它们是变换型和___________。

Ans: 事务型

46、(5)当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从

而不致引起应用程序的变化,这是指数据的___________。

Ans: 物理独立性

47、(6)当m=1,n=2,a=3,b=2,c=4时,执行d=(m=a!=b)&&(n=b>c)后,m的值为___________。Ans: 1

48、(7)下列程序的输出结果是16.00,请填空。

main()

{int a=9, b=2;

float x=___________, y=1.1,z;

z=a/2+b*x/y+1/2;

printf("%5.2f\n", z );

}

Ans: 6.6

49、(8)若运行输入:3<回车>,则以下程序的输出结果是___________。

main()

{ int a,b;

scanf("%d",&a);

b=(a>=0) ? a : -a;

printf("b=%d",b);

}

Ans: b=3

50、(9)以下程序的运行结果是___________。

#define MAX(a,b)(a>b?a:b)+1

main ()

{ int i=6,j=8,k;

printf ("%d\n",MAX(i,j));

}

Ans: 9

51、(10)下面程序的运行结果是___________。

#include

main()

{ int a,b,c,n;

a=2;b=0;c=1;n=1;

while(n<=3)

{c=c*a;b=b+c;++n;}

printf("b=%d",b);

}

Ans: b=14

52、(11)以下程序的输出结果是___________。

#include

main()

{ int i=10,j=0;

do

{ j=j+i;

i--;

}while(i>5);

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

}

Ans: 40

53、(12)下列程序的功能是:求出ss所指字符串中指定字符的个数,并返回此值。

例如,若输入字符串123412132,输入字符1,则输出3,请填空。

#include

#include

#define M 81

int fun(char *ss, char c)

{ int i=0;

for(;___________;ss++)

if(*ss==c)i++;

return i;}

main()

{ char a[M], ch;

printf("\nPlease enter a string: "); gets(a);

printf("\nPlease enter a char: "); ch=getchar();

printf("\nThe number of the char is: %d\n", fun(a,ch));}

Ans: *ss!='\0'

54、(13)以下程序是求矩阵a、b的和,结果存入矩阵c中,请填空。

#include

main()

{ int a[4][4]={{1,2,6,7},{0,4,2,-8},{1,4,5,2},{2,4,6,8}};

int b[4][4]={{-4,0,7,9},{2,-7,7,4},{6,9,0,1},{8,8,6,5}};

int i,j,c[4][4];

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

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

c[i][j]= ___________;

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

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

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

}

Ans: a[i][j]+b[i][j]

55、(14)以下程序的输出结果是___________。

main()

{ char *p[]={"ABC","DEF","GHI","JKL"};

int i;

for(i=3;i>=0;i--,i--)

printf("%c",*p[i]);}

Ans: JD

56、(15)下列程序的运行结果是___________。

#include

void main()

{ int s=0,k;

for(k=7;k>1;k--)

{ switch(k)

{ case 1:

case 4:

case 7:

s++;break;

case 2:

case 3:

case 6:

break;

case 0:

case 5:

s+=2;break;

}

}

printf("s=%d",s);

}

Ans: s=4

57、(1)数据字典是各类数据描述的集合,它通常包括5个部分,即数据项、数据结构、数据流、

___________和处理过程。

Ans: 数据存储

58、(2)___________的目的是分析数据间内在语义关联,在此基础上建立一个数据的抽象模型。Ans: 数据库概念设计

59、(3)下列软件系统结构图的宽度为___________。

Ans: 3

60、(4)在两种基本测试方法中,___________测试的原则之一是保证所测模块中每一个独立路

径至少要执行一次。

Ans: 白盒

61、(5)数据结构分为线性结构和非线性结构,带链的队列属于___________。

Ans: 线性结构

62、(6)若a=1,b=2,c=3,d=4;则条件表达式a>b ? a : c

63、(7)若有定义:int x=1,y=2;float a=3.7,b=2.1;则(x+y)%2+(int)a/(int)b表达式的值为

___________。

Ans: 2

64、(8)以下程序的运行结果是___________。

main()

{ int a=1,b=2,c;

if(a>b) c=1;

else if(a==b) c=0;

else c=-1;

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

Ans: -1

65、(9)下面程序的运行结果是___________。

#include

main()

{ int a,s,n,m;

a=2;s=0;n=1;m=1;

while(m<=4){n=n*a; s=s+n; ++m; }

printf("s=%d",s);

}

Ans: s=30

66、(10)以下程序的功能是:对输入的一行字符中的数字字符的字面值累加,输出此累加和,

请填空。

#include

#include

main()

{ char c;

int a,s=0;

while(___________)

if(isdigit(c))

{a= c-'0';s+=a;}

printf("s=%d",s);

}

Ans: (c=getchar())!='\n'

67、(11)下面程序的输出结果是___________。

#include

main()

{ static char a[]="zhao",b[]="juan";

char *ptrl=a,*ptr2=b;

int k;

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

if(*(ptrl+k)==*(ptr2+k))

printf("%c",*(ptrl+k));}

Ans: a

68、(12)下列函数从字符数组s[]中删除和c一样的字符,请在下面横线处填空。

void delete(s,c)

char s[],c;

{ int i,j;

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

if(s[i]!='c')

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

s[j]="\0";}

Ans: s[i]!='\0'

69、(13)下面程序的运行结果是___________。

#include

main()

{ char a[80],*p="AbabCDcd";

int i=0,j=0;

while(*(p++)='\0')

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

{ a[i]=*p;i++;}

}

a[i]='\0';

puts(a);

}

Ans: babcd

70、(14)设有下列程序:

#include

#include

main()

{ int i;

char s[10],t[10];

gets(t);

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

{ gets(s);

if(strcmp(t,s)<0)

strcpy(t,s);

}

printf("%s\n",t);

}

程序运行后,从键盘上输入(代表回车符):CDEFBADEFQTHRG,则程序的输出结果是___________。

Ans: QTHRG

71、(15)下面程序的运行结果是___________。

#define P(a) printf("%d ",a)

main()

{ int j,a[]={1,2,3,4,5,6,7},i=5;

for(j=3;j>1;j--)

{ switch(j)

{ case 1:

case 2: P(a[i++]); break;

case 3: P(a[--i]);

}

}

}

Ans: 5 5

72、(1)在算法正确的前提下,评价一个算法的两个标准是空间复杂度和___________。Ans: 时间复杂度

73、(2)二叉树的遍历可以分为三种:前序遍历、___________遍历和后序遍历。

Ans: 中序

74、(3)软件危机出现于20世纪60年代末,为了解决软件危机,人们提出了___________的原理

来设计软件,这就是软件工程诞生的基础。

Ans: 软件工程学

75、(4)___________是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据

的逻辑结构改变了,用户程序也可以不变。

Ans: 逻辑独立性

76、(5)程序测试分为静态测试和动态测试。其中___________是指不执行程序,而只是对程序

文本进行检查,通过阅读和讨论,分析和发现程序中的错误。

Ans: 静态测试

77、(6)若a是int型变量,则表达式(a=2*3,a*2),a+6的值为___________。

Ans: 12

78、(7)若有定义:int a=6,b=8,c=14;接着顺序执行下列语句后,变量c中的值是___________。

c=(b-=(a-5));

a=(c%3)+(a=8);

Ans: 7

79、(8)下面程序的功能是:输出100以内能被3整除且个位数为9的所有整数,请填空。

main()

{ int i,j;

for(i=0; ;i++)

{ j=i*10+9;

if(j%3!=0) continue;

printf("%d",j);

}

}

Ans: i<10

80、(9)以下程序的运行结果是___________。

#define S(x) x*x

main()

{ int k=1;

while(k<=4)

{printf("%d,",S(k));

k++;}

Ans: 1,4,9,16,

81、(10)以下程序调用函数swap将指针s和t所指单元(a和b)中的内容交换,请填空。

main()

{ int a=10,b=20,*s,*t;

s=&a;t=&b;

___________

printf("%d%d",a,b);

}

swap(int *ss,int *tt)

{ int te;

te=*ss;

*ss=*tt;

*tt=te;

}

Ans: swap(s,t);

82、(11)下面程序输出的结果是___________。

int m=17;

int fun(int x,int y)

{ int m=3;

return(x*y-m);

}

main()

{ int a=5,b=7;

printf("%d\n",fun(a,b)/m);

}

Ans: 1

83、(12)以下程序的输出结果是___________。

#define PR(ar) printf("ar=%d ",ar)

main()

{ int j,a[]={1,8,3,7,6,13,17,15},*p=a+5;

for(j=3;j;j--)

switch(j)

{ case 1:

case 2:PR(*p++);break;

case 3:PR(*(--p));

}

}

Ans: ar=6 ar=6 ar=13

84、(13)以下程序的运行结果是___________。

#define A 4

#define B(x) A*x/2

main()

{ float c,a=8.0;

c=B(a);

printf("%f\n",c);

}

Ans: 16.000000

85、(14)有以下程序:

#include

#include

main()

{ char a[]={'a','b','c','d','e','f','g','h','\0'};int i,j;

i=sizeof(a);j=strlen(a);

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

}

程序运行后的输出结果是___________。

Ans: 9,8

86、(15)本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。

void bubble(int a[],int n)

{ int i,j,max,temp;

max=n-1;

do{ j=0;

for(i=0;i

if(a[i]

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

j=i;

}

max=j;

} while(___________);

}

Ans: max>0

87、(1)在面向对象方法中,___________描述的是具有相似属性与操作的一组对象。

Ans: 类

88、(2)在最坏情况下,堆排序需要比较的次数为___________。

Ans: O(nlog2n)

89、(3)数据库系统的三级模式分别为___________模式、内模式与外模式。

Ans: 概念

90、(4)软件开发环境是全面支持软件开发全过程的___________集合。

Ans: 软件工具

91、(5)关系代数是关系操作语言的一种传统表示方式,它以集合代数为基础,它的运算对象

和运算结果均为___________。

Ans: 关系

92、(6)已知a=1,b=2,则表达式(a&b)&b||b的结果为___________。

Ans: 1

93、(7)若int x=1,y=2;则计算表达式y+=y-=x*=y后的y值是___________。

Ans: 0

94、(8)以下程序段的运行结果是___________。

#include

main()

{ int x=2,y=1;

switch(x)

{ case 1:

switch(y)

{ case 0: printf("x=2,y=1\n");break;

case 1: printf("y=1\n");break;

}

case 2: printf("x=2\n");

}

}

Ans: x=2

95、(9)以下程序统计从终端输入的字符中大写字母的个数。用#号作为输入结束标志,请填空。

#include

#include

main()

{ int num[26],i;char c;

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

num[i]=0;

___________;

while(c!='#')

{ i f(isupper(c))

num[c-65]+=1;}

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

if(num[i])

printf("%c,%d\n",i+65,num[i]);

}

Ans: c=getchar()

96、(10)以下程序运行后的输出结果是___________。

struct NODE

{ int k;

struct NODE *link;

};

main()

{ struct NODE m[5],*p=m,*q=m+4;

int i=0;

while(p!=q){

p->k=++i; p++;

q->k=i++; q--;

}

q->k=i;

for(i=0;i<5;i++) printf("%d",m[i].k);

printf("\n");

}

Ans: 13431

97、(11)下面程序将二维数组a的行和列元素互换后存放到另一个二维数组b中,请填空。

main()

{ int a[2][3]={{1,2,3},{4,5}}, b[3][2],i,j;

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

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

___________;

}

}

Ans: b[j][i]=a[i][j]

98、(12)下面程序的输出结果是___________。

#include

main()

{ static char a[]="china";

char *ptr=a;

while(*ptr)

{ printf("%c",*ptr-32);

ptr++;

}

}

Ans: CHINA

99、(13)下面程序中的数组a包括10个整数元素,从a中第二个元素起,分别将后项减前项之差

存入数组b,并按每行4个元素输出数组b,请填空。

main()

{ int a[10],b[10],i;

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

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

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

___________;

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

{ printf("%d",b[i]);

if(i%4==0) printf("\n");

}

}

Ans: b[i-1]=a[i]-a[i-1]

100、(14)下面程序的运行结果是___________。

#define POW(r) r*r

main()

{ int x=2,y=3,t;

t=POW(x+y);

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

}

Ans: 11

101、(15)写出下列程序的执行结果。

swap(p1,p2)

int*p1,*p2;

{ int p;

p=*p1;

*p1=*p2;

*p2=p;

}

main()

{ int a,b;

int*p1,*p2;

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

p1=&a;p2=&b;

if(a

printf("\na=%d,b=%d\n",a,b);

}

若a=7,b=8,则程序的运行结果为___________。

Ans: a=8,b=7

102、(1)对长度为8的线性表进行冒泡排序,最坏情况下需要比较的次数为___________。Ans: 28

103、(2)软件指的是计算机系统中与硬件相互依赖的另一部分,包括程序、数据和___________的集合。

Ans: 相关文档

104、(3)软件测试分为白箱(盒)测试和黑箱(盒)测试。基本路径测试方法属于___________测试。

Ans: 白盒

105、(4)一个项目具有一个项目经理,一个项目经理可管理多个项目,则实体"项目经理"与实体"项目"的联系属于___________的联系。

Ans: 一对多

106、(5)在结构化分析使用的数据流图中,使___________解释其中的图形元素。

Ans: 数据字典

107、(6)若s是int型变量,且s=8,则s%3+(s+1) %3表达式的值为___________。

Ans: 2

108、(7)若x和n均是int型变量,且x=12,n=5,则执行y=x%=(n%=2)表达式后y的值为_______。Ans: 0

109、(8)下列程序的输出结果是___________。

int t(int x,int y,int cp,int dp)

{ cp=x % y+y*y;

dp=x+x-y*y;

}

main( )

{ int a=4,b=3,c=9,d=8;

t(a,b,c,d);

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

}

Ans: 9 8

110、(9)下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。请填空。

Fun(int x,int b[ ])

{ int k=0,r;

do

{ r=x%2;

___________=r;

x/=2;

}while(x);

}

Ans: b[k++]

111、(10)有以下定义和语句,则sizeof(a.share)的值是___________。

struct date

{ unsigned int day;

unsigned int mouth;

unsigned int year;

union { int share1;

float share2;

}share;

} a;

Ans: 4

112、(11)下面程序的功能是:对字符串从小到大进行排序并输出,请填空。

#include "string.h"

#include "stdio.h"

sort(char *a[],int n)

{ int i,j;

char *p;

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

for(i=0; i

if(___________)>0)

{ p=a[i];

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

a[i+1]=p;}

}

main()

{ int i;

char *book[]={"itisme","itisyou","howareyou","fine","goodnight","goodbye"};

sort(___________);

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

printf("%s\n",book[i]);

}

Ans: strcmp(a[i],a[i+1])~book,6

113、(12)该程序运行的结果是___________。

#include

#include

#define M 100

void fun(int m, int *a, int *n)

{ int i,j=0;

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

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

a[j++]=i;

*n=j;

}

main()

{ int aa[M],n,k;

fun(10,aa,&n);

for(k=0;k

if((k+1)%20==0) printf("\n");

else printf("%4d",aa[k]);

printf("\n");

}

Ans: 7

114、(13)下面程序把从终端读入的文本(用@作为文本结束标志)复制到一个名为bi.dat的新文件中。请填空。

# include

FILE *fp;

main( )

{ char ch;

if ( ( fp=fopen(___________) )==NULL)exit(0);

while((ch=getchar( ) )!='@')fputc(ch,fp);___________;

}

Ans: "bi.dat","w"(或"bi.dat","a+")~fclose(fp)

115、(1)在E-R图中,矩形表示___________。

Ans: 实体集

116、(2)符合结构化原则的三种基本控制结构是顺序结构、___________和循环结构。

Ans: 选择结构

117、(3)在面向对象方法中,类的实例称为___________。

Ans: 对象

118、(4)队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许删除的一端称作___________。

Ans: 队头

119、(5)在关系模型中,若属性A是关系R的主码,属性A的取值不能为空,称为___________约束。

Ans: 实体完整性

120、(6)已知"int a=2,b=2,c=3;",则执行完语句"a*=18+(b++)-(++c);"后,a的值是__________。Ans: 32

121、(7)执行以下"for(i=1;i++<=4; i++);"语句后,变量i的值是___________。

Ans: 6

122、(8)若从键盘输入24,则以下程序输出的结果是___________。

#include

main()

{ int a;

scanf("%d",&a);

if(a>20) printf("%d ",a);

if(a>10) printf("%d ",a);

if(a>5) printf("%d",a);

}

Ans: 24 24 24

123、(9)下面程序的功能是:计算1~20之间的奇数之和与偶数之和,请填空使程序功能完整。

#include

main()

{ int a=0,b=0,c=0,i;

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

江苏大学大一c语言期末复习题汇总

选择题1.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.Void C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D. 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=; B.double b=1+; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s)

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语言中对文件读写之前必须先打开文件,文件的打开是通过调用________函数来实现。 答案: 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语言填空题

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

2011__C语言上机填空题

1 给定程序的功能是:求二分之一的圆面积,函数通过形参得到圆的半径,函数返回二分之一的圆面积(注:圆面积公式为:S r π=2,在程序中定义的变量名要与公式的变量相同)。 例如,输入圆的半径值:19.527,输出为:s=598.949991。 2 请补充main 函数,该函数的功能是:计算两个自然数n 和m(m<10000)之间所有数的和(n 和m 从键盘输入)。 例如,当n=1,m=100时 ,sum=5050; 当 n=100,m=1000 时,sum=495550。 3 给定程序的功能是:判断字符ch 是否与串str 中的某个字符相同,若相同什么也不做,若不同则插在串的最后。 4 请补充函数fun,该函数的功能是:把ASCII 码为偶数的字符从字符串str 中删除,结果仍然保存在字符串str 中,字符串str 从键盘输入,其长度作为参数传入函数fun 。 例如,输入"abcdef",输出"ace"。 5 请补充函数fun,该函数的功能是:判断某一个年份是否为闰年。 例如,1900年不是闰年,2004是闰年。 6 请补充函数fun,函数fun 的功能是求n 的阶乘。 7 请补充函数fun,该函数的功能是:整除x 且是偶数的数,把这些数保存在数组bb 中,并按从大到小的顺序输出。 例如当x=20时,依次输出:20 10 4 2。 8 请补充函数fun,它的功能是:计算并输出n(包括n)以内所有能被3或7整除的自然数的倒数之和。 例如,在主函数中从键盘给n 输入30后,输出为:s=1.226323。 9 请补充main 函数,该函数的功能是:计算每个学生成绩的平均分,并把结果保存在数组 bb 中 。 例 如 ,当 score[N][M]={{83.5,82,86,65,67},{80, 91.5 ,84,99,95},{90.5,95,86,95,97}}时,三个学生的平均分为76.7,89.9,92.7。 10 请补充函数fun(char*s),该函数的功能是:把字符串中的内容逆置。 例如,字符串中原有的字符串为abcde,则调用该函数后,串中的内容为edcba 。 11 请补充main 函数,该函数的功能是:输出一个N N ?矩阵,要求非周边元素赋值0,周边元素赋值1。 12 请补充main 函数,该函数的功能是:从键盘输入一个字符串及一个指定字符,然后把这个字符及其后面的所有字符全部删除。结果仍然保存在原串中。 例如,输入"abcdef",指定字符为"e",则输出"abcd"。 13 请补充main 函数,该函数的功能是:从键盘输入3个整数,然后找出最大的数并输出。 例如,输入12,45,43,最大值为45。 14 函数fun 的功能是:从三个形参a 、b 、c 中找出中间的数,作为函数值返回。 例如,当a=3,b=5,c=4时,中间的数为4。 15 函数fun 的功能是:统计长整数n 的各位上出现数字1、2、3的次数,并用外部(全局)变量c1、c2、c3返回主函数。 例如,当n=123114350时,结果应该为:c1=3 c2=1 c3=2。 16 请补充main 函数,该函数的功能是:打印出1 1000中满足个位数字的立方等于其本身所有数。 本题的结果为:1 64 125 216 729 17 请补充main 函数,该函数的功能是:打印出满足个位的数字、十位上的数字和百位上的数字都相等的所有三位数。 本题的结果为: 111 222 333 444 555 666 777 888 999。 18 请补充main 函数。该函数的功能是:求1 100(不包括100)以内所有素数的平均值。 程序运行后的结果为42.40。 19 请补充函数fun,该函数的功能是:求一维数组x[N]的平均值,并对所得结果进行四舍五入(保留两位小数)。 例如,当x[10]={15.6,19.9,16.7,15.2,18.3,12.1,15.5,11.0,10.0,16.0},结果为:avg=15.030000。 20 请补充函数fun,该函数的功能是:把一个整数转换成字符串,并倒序保存在字符数组str 中。例如,当 n=13572468 时,str="86427531"。 21 请补充函数fun,该函数的功能是:将字符串tt 中的大写字母都改为对应的小写字母,其他字符不变。例如,若输入"Are you come from Sichuan?",则输出"are you come from sichuan?"。 22 请补充main 函数,该函数的功能是:从键盘输入一个长整数,如果这个数是负数,则取它的绝对值,并显示出来。例如,输入:-3847652,结果为:3847652。 23 请补充main 函数,该函数的功能是:从键 盘输入若干字符放到一个字符数组中,当按回车键时结束输入,最后输出这个字符数组中的所有字符。 24 请补充main 函数,该函数的功能是求方程ax 2+bx+c=0的两个实数根。方程的系数a 、b 、c 从键盘输入,如果判别式(disc=b 2-4ac)小于0,则要求重新输入a 、b 、c 的值。 例如,当a=1,b=2,c=1时,方程的两个根分别是x1=-1.00,x2=-1.00。 25 请补充main 函数,该函数的功能是:从键盘输入两个字符串并分别保存在字符数组str1和str2中,用字符串str2替换字符串str1前面的所有字符。注意:str2的长度不大于str1,否则需要重新输入。 例如,如果输入str1="abced",str2="fk",则输出"fkced"。 26 给定程序中,函数fun 的功能是:将形参指针所指结构体数组中的三个元素按num 成员进行升序排列。 27 给定程序中,函数fun 的功能是:把形参s 所指字符串中下标为奇数的字符右移到下一个奇数位置,最右边被移出字符串的字符绕回放到第一个奇数位置,下标为偶数的字符不动 (注:字符串的长度不小于2)。 例如,形参s 所指的字符串为:abcdefgh,执行结果为:ahcbedgf 。 28 给定程序的功能是:分别统计字符串中大写字母和小写字母的个数。 例如,给字符串ss 输入:AaaaBBbl23CCccccd,则输出结果应为:upper=5,lower=9。 29 请补充main 函数,该函数的功能是:先以只写方式打开文件"out29.dat",再把字符串str 中的字符保存到这个磁盘文件中。 30 请补充main 函数,该函数的功能是:把文本文件B 中的内容追加到文本文件A 的内容之后。 例如,文件B 的内容为"I m ten.",文件A 的内容为"I m a student!",追加之后文件A 的内容为"I m a student ! I m ten."。 31 请补充main 函数,该函数的功能是:求n!。 例如,7!=5040。 32 请补允函数fun,该函数的功能是:计算并输出下列多项式的值。 111 S =1+ + ++ 1+2 1+2+3 1+2+3+ 例如,若主函数从键盘给n 输入50后,则输出为S=1.960784。 33

大学C语言期末考试习题集(带详解答案)

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 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 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

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语言程序填空题

导出题库试题(1~100) 共计104道试题 一、程序填空答案(104题) 【程序填空】 1功能:求两个非负整数的最大公约数和最小公倍数。 【1】r != 0 或r 【2】r=m%n 或r=m-m/n*n 【3】n 【4】gcd,lcm 或n,lcm 2功能:下面的程序是求1!+3!+5!+……+n!的和。 【1】s=0 【2】i+=2 或i=i+2 或i++,i++ 【3】j<=i 或i>=j 或jj 【4】f= f * j 3功能:将一个字符串中下标为m的字符开始的全部字符复制成为另 一个字符串。 【1】p1= str1 + m 【2】*p2++=*p1++ 或*(p2++)=*(p1++) 或*p2=*p1,p2++,p1++ 或*p2=*p1++,p2++ 或*p2++=*p1,p1++ 【3】*p2='\0' 或*p2=0 或*p2=NULL【4】strcopy(str1,str2,m) 4功能:以下程序是用选择法对10个整数按升序排序。 【1】#define N 10 【2】k=I 【3】jj 或j<=N-1 或N-1>=j【4】k != i 5功能:删除一个字符串中的所有数字字符。 【1】s[i]!= 或*(s+i)!= 或*(i+s)!= 【2】|| 【3】s[j]=s[i] 或*(s+j)=*(s+i) 或s[j]=*(s+i) 或*(s+j)=s[i] 【4】delnum(item) 6功能:以每行5个数来输出300以内能被7或17整除的偶数,并求出 其和。 【1】n=0 【2】i<=300 或i<300 或300>=i 或300>i 【3】i%7 == 0 || i%17 == 0 或!(i%7)||!(i%17) 或!(i%17)||!(i%7) 或!(i%7&&i%17) 【4】n%5 == 0 或!(n%5) 或n/5*5==n 7功能:求100-999之间的水仙花数 说明:水仙花数是指一个三位数的各位数字的立方和是这个数本身。 例如:153=1^3+5^3+3^3)。 【1】k=0 【2】j=m%10 或j=m-m/10*10 或j=m-10*(m/10) 【3】return(1) 【4】fun(i) 8功能:输出9*9口诀。 【1】i<10 或10>i 【2】j++ 或++j 或j=j+1 【3】result 9功能:输出100到1000之间的各位数字之和能被15整除的所有数, 输出时每10个一行。 【1】k=0 【2】n%10 或n-n/10*10 或n-10*(n/10) 【3】while(n>0) 或while(0

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语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 2.请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 3.不属于C语言关键字的是()。 A.int B.break C.while D.character 4.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 5.C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 6.以下说法中正确的是()。 A.C语言程序总是从第一个定义的函数开始执行 B.在C语言程序中,要调用的函数必须在main( )函数中定义 C.C语言程序总是从main( )函数开始执行 D.C语言程序中的main( )函数必须放在程序的开始部分 7.以下选项中,合法的用户标识符是()。 A.long B._2abc C.3dmax D.A.dat 8.已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示 的字符常量’\101’是()。 A.字符A B.字符a C.字符c D.非法的常量 9.以下选项中,正确的字符常量是()。 A.”F”B.’\\’’C.’W’D.’’ 10.下列变量定义中合法的是 A.short _a=1-.le-1; B.double b=1+5e2.5; C.long do=0xfdaL; D.float 2_and=1-e-3; 11.为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。 A.缩排位置相同的if B.在其之前未配对的if C.在其之前未配对的最近的if D.同一行上的if 12.下列运算符中优先级最高的是()。 A.< B.&& C.+ D.!= 13.判断char型变量s是否为小写字母的正确表达式是()。 A.’a’ <= s<=’z’B.(s>=’a’) & (s<=’z’) C.(s>=’a’) && (s<=’z’) D.(’a’<=s) and (’z’>=s) 14.已知x=45, y=’a’, z=0; 则表达式(x>=z && y<’z’ || !y)的值是()。 A.0 B.语法错 C.1 D.“假”

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); } 3. 在考生目录下,给定程序FILL1.C的功能是:输出Fabonacci数列:1,1,2,3,5,8,……的前20项的 项值,要求每行输出5个数。请填空。 程序有两个空(1)、(2)需要补充完整。请将程序调试出 所需的结果。 注意:不要随意改动程序,不得增行或删行,也不得更 改程序的结构! #include "stdio.h" main() { long int f[20]={1,1}; int i; clrscr(); /**************found************/ ___(1)___; printf("%8ld,%8ld",f[0],f[1]); for(i=2;i<20;i++) { f[i]=f[i-1]+f[i-2]; /**************found************/ if(___(2)i%5==0) printf("\n"); printf("%8ld",f[i]); } printf("\n"); } 4. 在考生目录下,给定程序FILL1.C的功能是:实现在N行M列的二维数组中,找出每一行上的最大值,且原数组值不变。 例如:如果二维数组元素的值为: 1 5 7 4 2 6 4 3 8 2 3 1 时,程序的运行结果应为: The max value in line 0 is 7 The max value in line 1 is 6

c语言经典选择填空题1

选择题(30分)(第一部分分10分,第二部分12分,第三部分8分) 第一部分:简单类题目(50个题目,从中选择10,每题1分) 1、若num、a、b和c都是int型变量,则执行表达式num=(a=4,b=16,c=32)后num的值为(C)A.4B.16 C.32D.522 2.以下程序的输出结果(B)。 main( ) { int x1=3, x2=0, x3=0; if (x1=x2+x3) printf("* * * *"); else printf("# # # #"); } A.输出:* * * * B.输出:# # # # C.存在语法错误D.无输出结果 3.下面四个选项中,均是合法转义字符的选项是(A)。 A.'\'' '\\' '\n' B.'\' '\017' '\"' C.'\018' '\f' 'xab' D.'\\0' '\101' 'xlf' 4.若有说明:int a=1,b=2,c=3,d=4;则表达式a

c语言填空题题库

二,填空题(10道小题,共20分) 1、一个C源程序中至少应包含一个[main] 函数。 2、a是整型变量,则执行表达式a=25/3%3后a的值为。[2] 3、int m=5,y=2;则表达式y+=y- =m*=y的值为。[-16] 4、执行下列语句: int a=1, b=2; a=a+b; b=a-b; a=a-b; printf("%d , %d \n", a,b );的输出结果分别是[2,1] 5、条件表达式的格式为表达式1?表达式2:表达式3,若表达式2和表达式3的类型不同,此时条件表达式的值的类型为二者中较[高]的类型 6、当运行以下程序时,从键盘键入right?(代表回车),则下面程序的运行结果是。 #include main( ) { char c; while((c=getchar())! ='?') putchar(++c) } [sjhiu?] 7、C语言中的数组必须先[定义],然后使用。 8、如果需要从被调用函数返回一个函数值,被调用函数必须包含【return】语句。 9、已知:float f1=3.2,f2,*pf1=&f1;f2=f1,则*f2的值为。[3.2] 10、以下程序 void fun(char *a, char *b) { a=b; (*a)++; } main ()

{ char c1="A", c2="a", *p1, *p2; p1=&c1; p2=&c2; fun(p1,p2); printf(“&c&c\n”,c1,c2); } 运行后的输出结果是。[&c&c] 11、字符串常量“123”在内存中的字节数是。[8字节] 12、已有定义 :int x=3 ;则表达式 :x=x+1.78 的值是。【4】 13、int a=24; printf("%o ", a );输出结果是。【30】 14、当a=3,b=2,c=1时,表达式f=a>b>c的值是。【0】 15、下面程序的运行结果是。【x=1,y=20】 #include main() { int i,x,y; i=x=y=0; do {++i; if(i%2!=0) {x=x+i;i++;} y=y+i++; } while (i<=7); printf("x=%d,y=%d\n",x,y); } 16、以下语句char str[10]={"China"}; printf("%d",strlen(str))的输出结果是。[5] 17、为了便于区别全局变量和局部变量,通常将全局变量的首字母。[用大写字母表示] 18、已知:int b=5,*p=&b;并且b的地址为4000,则“printf("%d,%d",p,*p);”的输出结果是。【4000,5】 19、程序main() { int a[2][3]={{1,2,3},{4,5,6}};

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

大学计算机C语言程序设计(填空题)

一、填空共219题 第1题题号:422 设有以下结构类型说明和变量定义,则变量a在内存所占字节数是【1】 . Struct stud { char num[6]; int s[4]; double ave; } a,*p; 答案: 1). 22 第2题题号:533 设x和y均为int型变量,则以下for循环中的scanf语句最多可执行的次数是【1】. for (x=0,y=0;y!=123&&x<3;x++) scanf ("%d",&y); 答案: 1). 3 第3题题号:496 静态变量和外部变量的初始化是在【1】阶段完成的,而自动变量的赋值是 在【2】时进行的. 答案: 1). 编译 2). 函数调用 第4题题号:96 已知a=13,b=6, a&b的十进制数值为【1】. 答案: 1). 4 第5题题号:398

程序段int k=10; while(k=0) k=k-1循环体语句执行【1】次. 答案: 1). 0 第6题题号:651 设w=5;w+= -2;则w的值为【1】. 答案: 1). 3 第7题题号:258 下面程序段的输出结果是【1】. int a=12; a=a&0377;pritnf("%d\n",a); 答案: 1). 12 第8题题号:457 设a,b,c,t为整型变量,初值为a=3,b=4,c=5,执行完语句t=!(a+b)+c-1&&b+c/2 后,t的值是【1】. 答案: 1). 1 第9题题号:402 设a取二进制数00101101,若想通过a^b运算使a的高4位取反,低4位不变,则b的 二进制数是【1】. 答案: 1). 11110000 第10题题号:311 若所用变量均已正确定义,则执行下面程序段后的值是【1】. for(i=0 ; i<2 ; i++ ) printf("YES"); printf("\n"); 答案: 1). YESYES

大学生C语言期末考试必做题库

C语言

第一题 在屏幕上显示一个短句“Programming in C is fun!” #include int main() { printf("Programming in C is fun!\n"); return 0; } 第二题 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ #include int main( ) { printf("+---+---+\n| | |\n| | |\n+---+---+\n"); return 0; } 第三题 在屏幕上显示一条语句“This is a C program.” #include int main() { printf("This is a C program.\n"); return 0; } 第四题 输出如下图形: ********** very good! ********** #include int main( ) { printf("**********\nvery good!\n**********\n"); return 0; }

第一题求平方根(基础) 程序填空,不要改变与输入输出有关的语句。 输入1个实数x,计算并输出其平方根(保留1位小数)。 例:输入17输出The square root of 17.0 is 4.1 #include #include int main( ) { double x, root; scanf("%lf", &x); root=sqrt(x); printf("The square root of %0.1f is %0.1f\n", x, root); return 0; } 第二题计算一个三位数的个十百位之和 编写程序。 输入一个三位数(大于0),计算这个三位数的个位、十位、百位数字之和. 例如:输入:152输出:sum=8 #include #include int main() { int n,a,b,c,sum; scanf("%d",&n); a=n/100; b=n%100/10; c=n%10; sum=a+b+c; printf("sum=%d\n",sum); return 0; } 第三题(公共)求圆的周长、面积及圆球体积 程序填空,不要改变与输入输出有关的语句。 求以r为半径的圆周长c和圆面积s,再求以r为半径的圆球体积v。(已知r=3.67在程序中直接赋值,pi的值为3.1415926) 按照下列形式输出: printf("c=%f\ns=%f\nv=%f\n",c,s,v); #include int main( ) { double r,c,s,v,pi=3.1415926; r=3.67; c=2*pi*r;

相关文档
最新文档