C语言综合习题及答案

C语言综合习题及答案
C语言综合习题及答案

C语言练习题

一、选择题

1. 一个完整的C源程序是【B 】。

A)要由一个主函数或一个以上的非主函数构成

B)由一个且仅由一个主函数和零个以上的非主函数构成

C)要由一个主函数和一个以上的非主函数构成

D)由一个且只有一个主函数或多个非主函数构成

2. 以下关于函数的叙述中正确的是【C】。

A)C语言程序将从源程序中第一个函数开始执行

B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行

C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束

D)main可作为用户标识符,用以定义任意一个函数

3. 以下关于函数的叙述中不正确的是【B】。

A)C程序是函数的集合,包括标准库函数和用户自定义函数

B)在C语言程序中,被调用的函数必须在main函数中定义

C)在C语言程序中,函数的定义不能嵌套

D)在C语言程序中,函数的调用可以嵌套

4. 在一个C程序中,【B 】。

A)main函数必须出现在所有函数之前

B)main函数可以在任何地方出现

C)main函数必须出现在所有函数之后

D)main函数必须出现在固定位置

5.C程序的执行是从【A 】开始的。

A)主函数

B)子函数

C)从程序第一行

D)printf()函数

6.以下选项中不合法的标识符是【C 】

A)print B)FOR C)&a D)_00

7.以下选项中可作为C语言合法常量的是【A】

A)-80 B)-080 C)-8e1.0 D)-80.0e

8.以下选项中不属于字符常量的是【B】

A)′C′ B)"C" C)′\xCC′ D) ′\072′

9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】

A)float B)long

C)int D)double

10. 以下关于函数叙述中,错误的是【D】。

A)函数未被调用时,系统将不为形参分配内存单元

B)实参与形参的个数应相等,且实参与形参的类型必须对应一致

C)当形参是变量时,实参可以是常量、变量或表达式

D)形参可以是常量、变量或表达式

11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是

【D】。

A)参数的形实(哑实)结合

B)函数返回值

C)全局变量

D)同名的局部变量

12.若有定义:int a[2][3];,以下选项中对a数组元素正确引用的是【C】

A)a[2][!1] B)a[2][3] C)a[1>2][!1] D) a[0][3]

13.若有说明: int a[][4]={0,0};则下面不正确的叙述是【D】

A)数组a的每个元素都可得到初值0 B)二维数组a的第一维大小为1

C)因为二维数组a中第二维大小的值除经初值个数的商为1,故数组a的行数为1

D)有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

14.下列选项中错误的说明语句是【D】

A)char a[]={′t′,′o′,′y′,′o′,′u′,′\0′}; B)char a[]={"toyou\0"};

C)char a[]="toyou\0"; D)c har a[]=′toyou\0′;

15.char a1[]="abc",a2[80]="1234";将a1串连接到a2串后面的语句是

A)strcat(a2,a1); B)strcpy(a2,a1);

C)strcat(a1,a2); D)strcpy(a1,a2);

15. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【C】。

A)实参与其对应的形参共占存储单元

B)只有当实参与其对应的形参同名时才共占存储单元

C)实参与对应的形参分别占用不同的存储单元

D)实参将数据传递给形参后,立即释放原先占用的存储单元

16. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【D】。

A)实参将其地址传递给形参,并释放原先占用的存储单元

B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参

C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

D)实参将其值传递给形参,调用结束时形参并不将其值回传给实参

17. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是【D】。

A)函数的实参和其对应的形参共占同一存储单元

B)形参只是形式上的存在,不占用具体存储单元

C)同名的实参和形参占同一存储单元

D)函数的形参和实参分别占用不同的存储单元

18. 若用数组名作为函数调用的实参,则传递给形参的是【A 】。

A) 数组的首地址B) 数组的第一个元素的值

C) 数组中全部元素的值D) 数组元素的个数

19 若函数调用时,用数组名作为函数的参数,以下叙述中正确的是【A】。

A)实参与其对应的形参共用同一段存储空间

B)实参与其对应的形参占用相同的存储空间

C)实参将其地址传递给形参,同时形参也会将该地址传递给实参

D)实参将其地址传递给形参,等同实现了参数之间的双向值的传递

20. 如果一个函数位于C程序文件的上部,在该函数体内说明语句后的复合语句中定义了

一个变量,则该变量【C】。

A)为全局变量,在本程序文件范围内有效

B)为局部变量,只在该函数内有效

C)为局部变量,只在该复合语句中有效

D)定义无效,为非法变量

21. C语言中函数返回值的类型是由【D】决定。

A)return语句中的表达式类型

B)调用函数的主调函数类型

C)调用函数时临时

D)定义函数时所指定的函数类型

22.有以下程序

#include

main()

{ char p[]={′a′, ′b′, ′c′},q[10]={ ′a′, ′b′, ′c′};

printf("%d%d\n",strlen(p),strlen(q));}

以下叙述中正确的是【B】

A) 在给p和q数组置初值时,系统会自动添加字符串结束符,故输出的长度都为3

B) 由于p数组中没有字符串结束符,长度不能确定,但q数组中字符串长度为3

C) 由于q数组中没有字符串结束符,长度不能确定,但p数组中字符串长度为3

D) 由于p和q数组中都没有字符串结束符,故长度都不能确定

23 定义一个void型函数意味着调用该函数时,函数【C】

A)通过return返回一个用户所希望的函数值

B)返回一个系统默认值

C)没有返回值

D)返回一个不确定的值

24. 若定义函数float *fun( ),则函数fun的返回值为【B】。

A)一个实数B)一个指向实型变量的指针

C)一个指向实型函数的指针D)一个实型函数的入口地址

25.下列数组说明中,正确的是【D】

A)static char str[]="China";

B)static char str[]; str="China";

C)static char str1[5],str2[]={"China"}; str1=str2;

D)static char str1[],str2[];str2={"China"}; strcpy(str1,str2);

26.在C语言程序中,当调用函数时【B】

A)实参和形参共用一个存储空间

B)实参和形参各占一个独立的存储空间

C)由用户指定实参和形参是否共用存储空间

D)由系统确定实参和形参是否共用存储空间

27. 关于以下fun函数的功能叙述中,正确的是【A】。

int fun(char *s)

{

char *t=s;

while(*t++) ;

t--;

return(t-s);

}

A) 求字符串s的长度B) 比较两个串的大小

C) 将串s复制到串t D) 求字符串s所占字节数

21. 下面程序段运行后的输出结果是【B】(假设程序运行时输入5,3回车)

int a, b;

void swap( )

{

int t;

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

}

main()

{

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

swap( );

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

}

A) a=5,b=3 B) a=3,b=5 C)5,3 D)3,5

22. 以下程序运行后的输出结果是【D】。

fun(int a, int b)

{

if(a>b) return a;

else return b;

}

main()

{

int x=3,y=8,z=6,r;

r=fun(fun(x,y),2*z);

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

}

A) 3 B) 6 C) 8 D) 12

23. 以下程序的运行结果是【C】。

void f(int a, int b)

{

int t;

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

}

main()

{

int x=1, y=3, z=2;

if(x>y) f(x,y);

else if(y>z) f(x,z);

else f(x,z);

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

}

A) 1,2,3 B) 3,1,2C) 1,3,2 D) 2,3,1

25有以下程序

#include

int f(int x)

{ int y;

if(x==0||x==1) return(3);

y=x*x-f(x-2);

return y; }

main()

{ int z;

z=f(3);

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

程序的运行结果是【C】

A)0 B)9 C)6 D)8

26.有以下程序

void ss(char *s,char t)

{ while(*s)

{ if(*s==t)*s=t-′a′+′A′;

s++; } }

main()

{ char str1[100]="abcddfefdbd",c=′d′;

ss(str1,c);

printf("%s\n",str1);}

程序运行后的输出结果是【B】

A)ABCDDEFEDBD B)abcDDfefDbD

C)abcAAfefAbA D)Abcddfefdbd

26 以下程序运行后的输出结果为【B】。

int *f(int *x, int *y)

{

if(*x<*y) return x;

else return y;

}

main()

{

int a=7,b=8,*p,*q,*r;

p=&a, q=&b;

r=f(p,q);

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

}

A) 7,8,8 B) 7,8,7C) 8,7,7 D) 8,7,8

27. 以下程序的正确运行结果是【A】。

#inclued

main()

{

int k=4,m=1,p;

p=func(k,m);

printf(“%d”,p);

p=func(k,m);

printf(“%d\n”,p);

}

func(int a,int b)

{

static int m=0,i=2;

i+=m+1;

m=i+a+b;

return (m);

}

A)8,17 B)8,16 C)8,20 D)8,8

28.有以下程序

int fun(int n)

{

if(n==1) return 1;

else return(n+fun(n-1));

}

main()

{

int x;

scanf("%d",&x);

x=fun(x);

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

}

程序执行时,若输入10,程序的输出结果是【A】。

A)55B)54C)65D)45

29. 下面是一个计算1至m的阶乘并依次输出的程序。程序中应填入的正确选项是【D】。

#include

double result=1;

factorial( int j)

{

result=result*j;

return;

}

main()

{

int m,i=0,x;

printf("Please enter an integer:");

scanf("%d",&m);

for(;i++

{

x=factorial(i);

printf("%d!=%.0f\n", 【】);

}

}

A)i,factorial(i) B)i,x C)j,x D)i,result

30.下面程序段的运行结果是【D】

c har *s="abcde";

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

A)cde B)字符′c′ C)字符′c′的地址D)无确定的输出结果

31.有以下程序

#include

void fun(int *s,int n1,int n2)

{ int i,j,t;

i=n1; j=n2;

while(i

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

main()

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

fun(a,0,3); fun(a,4,9); fun(a,0,9);

for(k=0;k

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

printf("\n"); }

程序的运行结果是【C】

A)0987654321 B)4321098765 C)5678901234 D)0987651234

32.下面程序的输出结果是

#include

#include

main()

{ char *p1="abc",*p2="ABC",str[50]= "xyz";

strcpy(str+2,strcat(p1,p2));

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

A)xyzabcABC B)xyabcABC C) zabcABC

D)yzabcABC

33.有以下程序

void f(int *q)

{int i=0;

for(;i<5; i++) (*q)++; }

main()

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

f(a);

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

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

程序运行后的输出结果是【A】

A)6,2,3,4,5, B)2,2,3,4,5, C)1,2,3,4,5, D) 2,3,4,5,6,

34.有以下程序

#include

#include

typedef struct{

char name[9];

char sex;

float score[2];

}STU;

void f(STU a)

{ STU b={"Zhao",′m′,85.0,90.0};

int i;

strcpy(https://www.360docs.net/doc/843287928.html,,https://www.360docs.net/doc/843287928.html,);

a.sex=

b.sex;

for(i=0;i<2;i++) a.score[i]=b.score[i]; }

main()

{ STU c={"Qian",′f′,95.0,92.0};

f(c);

printf("%s,%c,%2.0f,%2.0f\n",https://www.360docs.net/doc/843287928.html,,c.sex,c.score[0],c.score[1]); }

程序的运行结果是【C】

A)Qian,f,85,90 B)Qian,m,95,92

C)Zhao,f,95,92 D)Zhao,m,85,90

35.有以下程序

#include

main()

{ int x=1,y=0,a=0,b=0;

switch(x)

{ case 1:switch(y)

{ case 0:a++; break;

case 1:b++; break; }

case 2:a++; b++; break;

case 3:a++; b++; }

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

程序的运行结果是【D】

A)a=1,b=0 B)a=2,b=2

C)a=1,b=1 D)a=2,b=1

36.下列程序的输出结果是【C】

#include "stdio.h"

main()

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

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

{ if(i%2==0)

{a++;

continue;}

b++;}

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

A)a=4,b=4 B)a=5,b=4 C) a=4,b=5 D)a=5,b=5

37.已知

#int t=0;

while (t=1)

{...}

则以下叙述正确的是【A】

A)循环控制表达式的值为1 B)循环控制表达式的值为0

C)循环控制表达式不合法D)以上说法都不对

38.有如下程序

main()

{ char ch[2][5]={“6937”,”8254”},*p[2];

int i,j,s=0;

for(i=0;i<2;i++) p[i]=ch[i];

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

for(j=0;p[i][j]>?\0?;j+=2)

s=10*s+p[i][j]-…0?;

printf(“%d\n”,s);

}

该程序的输出结果是【C】。

A)69825 B)63825 C)6385 D)693825 39.下面程序的输出是【B】

main()

{ int num=0;

while(num<=2)

{ num++;

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

A) 1 B) 1 C) 1 D) 1

2 2 2

3 3

4

40以下能正确定义一维数组的选项是【B】

A)int a[5]={0,1,2,3,4,5};

B)char a[]={'0',?1?,?2?,?3?,?4?,?5?,?\0?};

C)char a={'A?,?B?,?C?};

D)int a[5]="0123";

41.若有如下定义和语句,且0<=i<5,下面【A】是对数值为3数组元素的引用

int a[]={1,2,3,4,5},*p,i;

p=a;

A)*(a+2)B)a[p-3]C)p+2D)a+3 42.下列【B】表达式的值为真

a=5;b=8;c=10;d=0

A)a*2>8+2B)a&&d C)(a*2-c)||d C)a-b

43.下列字符数组长度为5的是【A】

A)char a[]={‘h’,‘a’,‘b’,‘c’,‘d’};

B)char b[]= {‘h’,‘a’,‘b’,‘c’,‘d’,‘\0’};

C)char c[10]= {‘h’,‘a’,‘b’,‘c’,‘d’};

D)char d[6]= {‘h’,‘a’,‘b’,‘c’,‘\0’ }

44.执行下列程序后,其结果为【D】

int a[]={2,4,6,8,10,12};*p;

p=a;

*(p+4=2;

printf(“%d,%d\n”,*p,*(p+4));

A)0,10 B)0,2 C)2,10 D)2,2

45.有下列结构体,对该结构体变量stu的成员项引用不正确的是【D】

struct student

{ int m;

float n;

} stu ,*p;

A. stu.n B)p->m C)(*p).m D)p.stu.n

46.下列函数中不能用于对文件进行输入输出操作的是【B】

A)fscanf() B)printf() C)fgetc() D)fputs()

47.若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是【B】。

A)"ab+" B)"wb+" C)"rb+" D)"ab"

48..若fp是指向某文件的指针,文件操作结束之后,关闭文件指针应使用下列【D】语句

A)fp=fclose();B)fp=fclose;C)fclose;D)fclose(fp);

二、程序填空题

1.以下程序实现了计算x的n次方,请将程序填写完整。

float power(float x,int n)

{ int i;

float t=1;

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

t=t*x;

;【return t】

}

main( )

{ float x,y;

i nt n;

s canf("%f,%d",&x,&n);

y=power(x,n);

p rintf("%8.2f\n",y) ;

}

2.以下程序实现了求两个数的最大公约数,请将程序填写完整。

int divisor(int a,int b)

{ int r;

r=a%b;

while()【r!=0】

{ a=b;b=r;r=a%b;}

return b;

}

void main()

{ int a,b,d,t;

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

if (a

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

d=divisor(a,b);

printf("\n gcd=%d",d);

}

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

#include

int fun(int x)

{ int n, s1, s2, s3, t;

n=0;

;【t=100】

while(t<=999)

{ s1=t%10; s2=(t/10)%10; s3=t/100;

if( )【s1+s2+s3==15】

{ printf("%d ",t);

n++; }

___ _; }【t++】

return n;}

main()

{ int x=-1;

while(x>999||x<0)

{ printf("Please input(0

scanf("%d",&x); }

printf("\nThe result is: %d\n", );}【fun(x)】

4.输入 N个实数,输出其中的最大值、最小值。

#include

void main( )

{ int n,i;

float no1,nmax,nmin;

scanf("%d",&n); scanf("%f",&no1);

nmax=no1; nmin=no1;

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

{

scanf("%f", ); 【&no1】

if(no1>nmax) nmax=no1;

; 【if(no1

}

printf("MAX=%f MIN=%f\n",nmax,nmin);

}

5.输入若干个字符,分别统计数字字符的个数、英文字母的个数,当输入换行符时输出统计结果,运行结束。

#include

#include

void main( )

{ int s1=0,s2=0;

char ch;

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

{

if(ch>='0'&&ch<='9') s1++;

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

}

printf("%d,%d",s1,s2);

}

6.以下程序功能是输入10门成绩,实现成绩的升序排列并输出,请在程序的下划线处填入正确的内容, 使程序得出正确的结果。

#include

main(){

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

{

;【k=i】

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

{

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

{

;【k=j】

}

}

t=score[k];

score[k]= ;【score[i]】

=t;【score[i]】

}

printf("成绩输出\n");

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

{

printf("%7.2f",score[i]);

}

printf("\n");

7. 以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到

大的顺序排列,函数返回删除后数组中数据的个数。请将程序填写完整。

例如,若一维数组中的数据是: 2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10

删除后,数组中的内容应该是: 2 3 4 5 6 7 8 9 10。

#include

#define N 80

int fun(int a[], int n)

{ int i,j=1;

for(i=1;i

if(a[j-1]a[i]) 【!=】

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

return ;【j】

main( )

{

int a[N]={2,2,2,3,4,4,5,6,6,6,6,7,7,8,9,9,10,10,10},i,n=19;

printf("The original data:\n");

for(i=0;i

printf(“%d ”,a[i]);

n=fun(a,n);

printf("\nThe data after deleted: \n");

for(i=0; i

printf(“%d ”,a[i]);

}

三、编程题

1. 编写程序从键盘输入三角形的三边长,求三角形面积。

(其中,l=(a+b+c)/2,s=√l(l-a)(l-b)(l-c))

#include

#include

main()

{

float a,b,c,l;

double S;

printf("请输入三边长度(如3,4,5):"); //注意逗号是西文的

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

if(a+b<=c||b+c<=a||a+c<=b)

printf("您所输入的三边不构成三角形!");

else

{

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

S=sqrt(p*(p-a)*(p-b)*(p-c)); //海伦公式

printf("此三角形面积为:%f",S);

}

}

2.编写一个程序,求方程ax2+bx+c=0的根。

#include

#include

int root(float a,float b,float c,float *x1,float *x2 )

{

float d;

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

if (d<0)

return 0

else if (d=0)

{

*x1=(-b)/(2*a)

return 1;

}

else

{

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

*x2=(-b-sqrt(d))/(2*a);

return 2;

}

}

3. 请用自定义函数的形式编程实现求10名学生1门课程成绩的平均分。

#include

#define N 10

float average(float array[])

{ int i=0;

float s=0;

for(i=0;i

s+=array[i];

s=s/N;

return s;

}

main()

{ float score[N],i;

float ave;

printf("Please input 10 scores:\n");

for(i=0;i

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

ave=average(score);

printf("\nThe average score is %.2f\n", ave);

}

4. 编写程序输出所有的水仙花数。所谓水仙花数是指一个三位数,其各位数字立方和等于该数本身,例如:153=1^3+5^3+3^3。

#include

void main()

{

int n,a,b,c;

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

{

a=n/100;

b=n%100/10;

c=n%10;

if(a*a*a+b*b*b+c*c*c==n) printf("%d\n",n);

}

}

5.输入一个年份,判断其是否为闰年,并输出判断结果。

void main()

{

i nt year;

p rintf("请输入年份:");

s canf("%d",&year);

i f((year%4==0&&year/100!=0)||(year%400==0))

printf("%d此年是闰年\n",year);

e lse

printf("%d此年非闰年\n",year);

}

6.

#include

int fib(int n)

{ int p;

i f(n==0) p=0;

e lse if(n==1) p=1;

e lse p=fib(n-1)+fib(n-2);

r eturn p;

}

void main()

{ int n;

p rintf("Please input fib: ");

s canf("%d",&n);

p rintf("\n\nfibonacci=%d",fib(n));

}

7.从键盘上输入一个百分制成绩score,按下列原则输出其等级:score≥90,等级为A;80≤score<90,等级为B;70≤score<80,等级为C;60≤score<70,等级为D;score<60,等级为E。

#include

void main()

{

int data;

char grade;

printf("Please enter the score:");

scanf("%d”, &data);

switch(data/10)

{ case 10:

case 9 : grade=’A’; break;

case 8: grade=’B’;break;

case 7: grade=’C’;break;

case 6: grade=’D’;break;

default: grade=’E’;

}

printf("the grade is %c”,grade);

}

8.用指针变量作为函数参数编写函数判断一个字符串是否是回文,是返回1,不是返回0。

(10分)

#include

#include

int huiwen(char *str){

char *p=str;

while(*p) p++;

--p;

while(str

{

if(*str++!=*p--) return 0;

}

return 1;}

main()

{

char s[80];

printf("输入一个字符串:");

gets(s);

if(huiwen(s)==1)

printf("是回文!\n");

else printf("不是回文!\n");

}

9.读写字符文件,每次读取一个字符输出。

#include

#include

int main()

{

FILE *fp;

char c;

if((fp=fopen("d:\\file1.txt","r"))!=NULL) {

while(c!=EOF)

{

c = fgetc(fp);

printf("%c",c);

}

}

else

{

printf("file not exist!");

exit(1);

}

fclose(fp);

return 0;

}

C语言题库及答案

C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言试题及答案

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

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

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

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

C语言1-5章复习题及参考答案

一.选择题 1、若a 为int 类型,且其值为 3,则执行完表达式 a+=a-=a*a 后,a 的值是()。 A .-3 B.9 C.-12 D.6 2、若有定义: int a=8, b=5, c; 执行语句 c=a/b+0.4; 后, c 的值为( )。 A .1.4 B.1 C.2.0 D.2 3、有如下程序: void main() { int i,sum; for(i=1;i<=3;sum++) sum+=i; printf("%d\n",sum); } 该程序的执行结果是( )。 A .6 B.3 C 死循环 D.0 4、下列关于表达式的描述中,错误的是( )。 6、若已定义x 和y 为double 类型,则表达式 x=1;y=( x+3)12的值是() A .1 B .2 C.2.00000 D.2.50000 7、表达式: 10!=9 的值是( )。 A . true B. 非零值 C.0 D.1 8、以下程序的输出结果是( )。 #include void main () { printf ("%d\n", NULL ); } A . 不确定的 B.0 C.-1 D.1 9 、请选出合法的 C 语言赋值语句。 ( ) A . a=b=58 B.i++; C. a=58,b=58 D. k=int (a+b ); 10、 假设 int b=2;表达式(b?2)/(b>>1)的值是()。 A .0 B.2 C.4 D.8 11、 关于语句 printf ( “hello n ”,); 下列描述中错误的是() A . printf ()是格式化输出函 数,用于输出信息。 B. printf () 括号中的内容为函数的参数。 C. printf ()括号中的内容会全部输出到控制台上。 D. \n 表示换行操作。 12、 下列选项中,哪一项不是 C 语言中的位运算符()。 A ?& B.|| C.~ D.A 13、 以下程序的输出结果是( )。 void main () { char c='z'; printf("%c", c-25); } A .a B.Z C.z-25 D.y A . 常量和变量都是表达式。 C. 每一个表达式都有自己的值。 5、 C 语言中,合法的长整型常数是( A . '\t' B.”A ” C.65 D.a B. 运算符类型对应表达式的类 型。 D. 表达式必须以分号结尾。 )。

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

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

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

C语言综合习题及答案

C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数 6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C) D) 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】 A)float B)long C)int D)double 10. 以下关于函数叙述中,错误的是【D】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 11. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是

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

精选考试类应用文档,如果您需要使用本文档,请点击下载,另外祝您生活愉快,工作顺利,万事如意! 大学C语言考试题库及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题库吧。加油! 一单项选择题库 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’ ’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行

B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是(B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是(C )。 A)%x B)a+b C)a123 D)123 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。

C语言全部题目及答案

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

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

C语言函数题库及答案

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

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

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

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

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

C语言综合习题及答案

C语言综合习题及答案 Prepared on 24 November 2020

C语言练习题 一、选择题 1. 一个完整的C源程序是【B 】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【C】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【B】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【B 】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 程序的执行是从【A 】开始的。 A)主函数 B)子函数 C)从程序第一行 D)printf()函数 6.以下选项中不合法的标识符是【C 】 A)print B)FOR C)&a D)_00 7.以下选项中可作为C语言合法常量的是【A】 A)-80 B)-080 C) D) 8.以下选项中不属于字符常量的是【B】 A)′C′ B)"C" C)′\xCC′ D) ′\072′ 9. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【C】

C语言试题及答案

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

2020最新C语言题库及答案

2020最新C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。

3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age

2020年C语言题库及答案

2020年C语言题库及答案

姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油!一单项选择题 1. 在C语言中,以 D 作为字符串结束标志 A)’\n’ B)’’ C) ’0’ D)’\0’ 2.下列数据中属于“字符串常量”的是( A )。 A.“a” B.{ABC} C.‘abc\0’ D.‘a’ 若干个字符构成字符串 在C语言中,用单引号标识字符;用双引号标识字符串 选项B,C,分别用{}和’’标识字符串 选项D,标识字符。 3、以下说法中正确的是( C )。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是( B )。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行

5.下列正确的标识符是(C )。 A.-a1 B.a[i] C.a2_i D.int t 6.下列C语言用户标识符中合法的是( B )。 A)3ax B)x C)case D)-e2 E)union 7.下列四组选项中,正确的C语言标识符是( C )。 A) %x B) a+b C) a123 D) 123 8、下列四组字符串中都可以用作C语言程序中的标识符的是( A )。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 9.C语言中的简单数据类型包括(D )。 A、整型、实型、逻辑型 B、整型、实型、逻辑型、字符型 C、整型、字符型、逻辑型 D、整型、实型、字符型 10.在C语言程序中,表达式5%2的结果是 C 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

c语言试题和答案

《C语言》课程综合复习资料 一、单选题 1. 在C语言中,字符型数据在内存中的存储形式是 A)原码 B)补码 C)反码 D)ASCII码 2. 在C语言中,十进制数47可等价地表示为 A) 2f B) 02f C) 57 D) 057 3. 设有定义:int x=12,n=5; 则表达式 x%=(n%2) 的值为 A) 0 B) 1 C) 2 D) 3 4. 设有定义语句:char str[][20]={,"Beijing","中国石油大学"},*p=str; 则printf("%d\n",strlen(p+20)); 输出结果是 A)10 B) 6 C) 0 D) 20 5. 已定义以下函数: fun(int *p) { return *p; } 该函数的返回值是 A)不确定的值 B)形参p所指存储单元中的值 C)形参p中存放的值 D)形参p的地址值 6. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定 D)定义函数时所指定的函数类型决定 7. 有以下函数定义: void fun( int n , double x ) { …… } 若以下选项中的变量都已正确定义并赋值,则对函数fun的正确调用语句是 A) fun( int y , double m ); B) k=fun( 10 , 12.5 ); C) fun( 10 , 12.5 ); D) void fun( 10 , 12.5 ); 8. 以下选项中不能正确赋值的是 A) char b[]={′H′,′e′,′l′,′l′,′o′,′!′}; B) char b[10];b="Hello!";

C语言函数习题及答案

第6章函数习题 一、选择题 1. 一个完整的C源程序是【】。 A)要由一个主函数或一个以上的非主函数构成 B)由一个且仅由一个主函数和零个以上的非主函数构成 C)要由一个主函数和一个以上的非主函数构成 D)由一个且只有一个主函数或多个非主函数构成 2. 以下关于函数的叙述中正确的是【】。 A)C语言程序将从源程序中第一个函数开始执行 B)可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行 C)C语言规定必须用main作为主函数名,程序将从此开始执行,在此结束 D)main可作为用户标识符,用以定义任意一个函数 3. 以下关于函数的叙述中不正确的是【】。 A)C程序是函数的集合,包括标准库函数和用户自定义函数 B)在C语言程序中,被调用的函数必须在main函数中定义 C)在C语言程序中,函数的定义不能嵌套 D)在C语言程序中,函数的调用可以嵌套 4. 在一个C程序中,【】。 A)main函数必须出现在所有函数之前 B)main函数可以在任何地方出现 C)main函数必须出现在所有函数之后 D)main函数必须出现在固定位置 5. 若在C语言中未说明函数的类型,则系统默认该函数的数据类型是【】 A)float B)long C)int D)double 6. 以下关于函数叙述中,错误的是【】。 A)函数未被调用时,系统将不为形参分配内存单元 B)实参与形参的个数应相等,且实参与形参的类型必须对应一致 C)当形参是变量时,实参可以是常量、变量或表达式 D)形参可以是常量、变量或表达式 7. C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是【】。 A)参数的形实(哑实)结合 B)函数返回值 C)全局变量 D)同名的局部变量 8. 若函数调用时参数为基本数据类型的变量,以下叙述正确的是【】。 A)实参与其对应的形参共占存储单元 B)只有当实参与其对应的形参同名时才共占存储单元 C)实参与对应的形参分别占用不同的存储单元 D)实参将数据传递给形参后,立即释放原先占用的存储单元 9. 函数调用时,当实参和形参都是简单变量时,他们之间数据传递的过程是【】。 A)实参将其地址传递给形参,并释放原先占用的存储单元 B)实参将其地址传递给形参,调用结束时形参再将其地址回传给实参 C)实参将其值传递给形参,调用结束时形参再将其值回传给实参

2016年计算机二级c语言题库及参考答案

2016年计算机二级c语言题库及答案 一、选择题(每小题1分,共40小题,共40分) 1.设循环队列的存储空间为Q(1:35),初始状态为front=rear=35。现经过一系列入队与退队运算后,front=15,rear=15,则循环队列中的元素个数为( )。 A.20 B.0或35 C.15 D.16 2.下列关于栈的叙述中,正确的是( )。 A.栈底元素一定是最后入栈的元素 B.栈操作遵循先进后出的原则 C.栈顶元素一定是最先入栈的元素 D.以上三种说法都不对 3.下列链表中,其逻辑结构属于非线性结构的是( )0、 A.双向链表 B.带链的栈 C.二叉链表 D.循环链表 4.在关系数据库中,用来表示实体间联系的是( )。 A.网状结构 B.树状结构 C.属性 D.二维表 5.公司中有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员。则实体部门和职员间的联系是( )。 A.1:m联系 B.m:n联系 C.1:1联系 D.m:l联系 6.右两个关系R和S如下:

则由关系R得到关系S的操作是( )。 A.自然连接 B.并 C.选择 D.投影 7.数据字典(DD)所定义的对象都包含于( )。 A.软件结构图 B.方框图 C.数据流图(DFD图) D.程序流程图 8.软件需求规格说明书的作用不包括( )。 A.软件设计的依据 B.软件可行性研究的依据 C.软件验收的依据 D.用户与开发人员对软件要做什么的共同理解 9.下面属于黑盒测试方法的是( )。 A.边界值分析 B.路径覆盖 C.语句覆盖 D.逻辑覆盖 10.下面不属于软件设计阶段任务的是( )。 A.制订软件确认测试计划 B.数据库设计 C.软件总体设计 D.算法设计 11.以下叙述中正确的是( )。 A.在C语言程序中,main函数必须放在其他函数的最前面 B.每个后缀为C的C语言源程序都可以单独进行编译 C.在C语言程序中,只有main函数才可单独进行编译 D.每个后缀为.C的C语言源程序都应该包含一个main函数 12.C语言中的标识符分为关键字、预定义标识符和用户标识符,以下叙述正确的是( )。 A.预定义标识符(如库函数中的函数名)可用做用户标识符,但失去原有含义

C语言复习题及答案老师给的

复习A: 一、单项选择题 1、如果要把常量327存入变量a中,a不能定义的类型是哪一个?(B) A)int B)char C)long D)float 2、若x 为unsigned int 型变量,则执行下列语句后x值为( D ) x = 65535; printf(“%d\n”,x); A)65535 B)1 C)无定值D)-1 3、有以下程序 main() {int a=1,b=2,m=0,n=0,k;k=(n=b>a)||(m=a

c语言习题及答案-爱课程

第一章1.1 题目容: 使用printf()在屏幕上输出hello world! 提示: #include int main() { printf("hello world!\n"); return 0; } 输入格式: 无 输出格式: 输出提示信息:"hello world!\n" 输入样例: 输出样例: hello world! #include int main() { printf("hello world!\n"); return 0; }

1.2 在屏幕上输出多行信息(3分) 题目容: 使用printf()函数在屏幕上输出以下多行信息: hello world! hello hit! hello everyone! 提示: 在printf()函数中转义字符‘\n’表示换行。 输入格式: 输出格式: 输出提示信息: "hello world!\n" "hello hit!\n" "hello everyone!\n" 输入样例: 输出样例: hello world! hello hit! hello everyone! #include int main() { printf("hello world!\n"); printf("hello hit!\n"); printf("hello everyone!\n"); return 0; } 1.3 计算半圆弧的周长及半圆面积(3分) 题目容: 编程并输出半径r=5.3的半圆弧的周长及该半圆的面积,的取值为3.14159。要求半径r和必须利用宏常量表示。

C语言题库及答案(选择题)

C语言题库(选择题) 1.C语言源程序的基本单位是()。 A.过程 B.函数 C.子程序 D.标识符 2.下列字符序列中,可用作C标识符的一组字符序列是()。 A. S.b,sum,average,_above B. class,day,lotus_1,2day C. #md,&12x,month,student_n! D. D56,r_1_2,name,_st_1 3.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.a3_b3 B.void C._123 D.IF 4.以下数据中,不正确的数值或字符常量是()。 A.0 B.5L C.o13 D.9861 5.以下数值中,不正确的八进制数或十六进制数是()。 A.0x16 B.16 C.-16 D.0xaaaa 6.以下的选择中,正确的赋值语句是()。 A.a=1,b=2 B.j++ C.a=b=5; D.y=int(x) 7.以下运算符中,优先级最高的运算符是()。 A.?: B.++ C.&& D., 8.在C语言中,能代表逻辑值“真”的是()。 A.TRUE B.大于0的数 C.非0整数 D.非0的数 9.下列变量说明语句中,正确的是()。 A.char:a b c; B.char a;b;c; C.int x;z; D.int x,z; 10.下列字符序列中,不可用作C语言标识符的是()。 A.b70 B.#ab C.symbol D.a_1 11.以下不正确的叙述是()。 A.在C程序中所用的变量必须先定义后使用。 B.程序中,APH和aph是两个不同的变量。 C.若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变。 D.当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值。 12.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.For B.Printf C.WORD D.sizeof 13.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.answer B.to C.signed D._if 14.以下标识符中,不能作为合法的C用户定义标识符的是()。 A.putchar B._double C._123 D.INT 15.以下数据中,不正确的数值或字符常量是()。 A.8.9e1.2 B.10 C.0xff00 D.82.5 16.以下数据中,不正确的数值或字符常量是()。 A.c B.66 C.0xaa D.50 17.以下运算符中,优先级最高的运算符是()。

相关文档
最新文档