当前位置:文档之家› c语言题目及答案

c语言题目及答案

c语言题目及答案
c语言题目及答案

考试题型

一、单项选择题(30分)

二、填空题(20分)

三、阅读程序写结果(20分)

四、编程序题(30)

复习题一

一、选择题

1.下列说法中正确的是。

A.C语言程序由主函数和0个或多个函数组成

B.C语言程序由主程序和子程序组成

C.C语言程序由子程序组成

D.C语言程序由过程组成

2.执行语句“x=(a=3,b=a--)”后,x,a,b的值依次为。

A.3,3,2 B.3,2,2 C.3,2,3 D.2,3,2

3.设有int i=010,j=10;则printf("%d,%d\n",++i,j--); 的输出的是。

A.11,10 B.9,10 C.010,9 D.10,9 4.设a、b为字符型变量,执行scanf("a=%c,b=%c",&a,&b); 后使a为'A', b为'B',从键盘上的正确输

入是。

A.'A' 'B' B.'A','B' C.A=A,B=B D.a=A,b=B

5.已知int x=12, y=3;执行下述程序后,变量x的值是____。

do{ x/=y--;}while(x>y);

A.1 B.2 C.3 D.程序运行有错误

6.C语言中while和do-while循环的主要区别是。

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while的循环体不能是复合语句

7.设x和y均为int型变量,则执行下面的循环后,y的值为。

for (y=1,x=1;y<=50;y++) {

if (x>=10 ) break;

if (x%2==1) {x+=5;continue;}

x - =3;

}

A.2 B.4 C.6 D.8

8.以下正确的说法是____。

A.用户若需调用标准函数,调用前必须重新定义

B.用户可以重新定义标准库函数,若如此,该函数将失去原有含义

C.系统根本不允许用户重新定义标准函数

D.用户若需要调用标准库函数,调用前不必使用预编译命令将该函数所在文件包括到用户源文件中,系统

自动去调

9.若调用一个函数,且此函数中没有return语句,则关于该函数正确的说法是__ _。

A.没有返回值

B.能返回若干个系统默认值

C.能返回一个用户所希望的函数值

D.返回一个不确定的值

10.已知函数定义如下:

float fun1(int x,int y)

{ float z;

z=(float)x/y;

return(z);

}

主调函数中有int a=1,b=0;可以正确调用此函数的语句是____。

A.printf("%f",fun1(a,b)); B.printf("%f",fun1(&a,&b));

C.printf("%f",fun1(*a,*b)); D.printf("%f",fun1(b,a));

11.宏定义:#define PI 31.14159中,宏名PI代替______。

A.单精度 B.双精度 C.常量 D.字符串

12.若有以下数组说明,则数值最小和最大的元素下标分别是。

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

A.1,12 B.0,11 C.1,11 D.0,12

13.以下合法的数组定义是。

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

C.int a[2][3]={0,1,2,3,4,5,6}; D.int a[2][3]={0,1,2,3,4,5,};

14.函数调用:strcat(strcpy (str1,str2),str3); 的功能是。

A.将字符串str1复制到字符串str2中后再连接到字符串str3 之后。

B.将字符串str1连接到字符串str2之后再复制到字符串str3 之后。

C.将字符串str2复制到字符串str1中后再将字符串str3 连接到字符串str1之后。

D.将字符串str2连接到字符串str1之后再将字符串str1 复制到字符串str3中。

15.设有二维数组定义如下,则不正确的数组元素引用是。

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

A.a[2][3] B.a[a[0][0]][1] C.a[7] D.a[2][‘c’-‘a’]

16.若用数组名作为函数调用时的实参,则实际上传递给形参的是。

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

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

17.以下对指针变量进行操作的语句,正确的选项是。

A.int *p,*q; q=p; B.int a,*p,*q; q=&a; p=*q;

C.int a=b=0,*p; p=&a; b=*p; D.int a=20,*p,*q=&a; p=q;

18.若有以下定义和语句:

int s[4][5],(*ps)[5];ps=s;

则对s数组元素的正确引用形式是。

A.ps+1 B.*(ps+3)

C.ps[0][2] D.*(ps+1)+3

19.当说明一个共用体变量时系统分配给它的存储容量是。

A.共用体中最后一个成员所需的存储容量

B.共用体中第一个成员所需的存储容量

C.成员中占存储量最大者所需的存储容量

D.各成员所需存储容量的总和

20.有定义如下:

struct student

{ int age;

char num[8];

} stu[3]={{20,"200401"},{21,"200402"},{10,"200403"}};

struct student *p=stu;

以下选项中引用结构体变量成员的表达式错误的是。

A.(p++)->num B.p->num C.(*p).num D.stu[3].age

二、填空题

1.设a=3,b=2,c=1,则a>b的值为,a>b>c的值为。

2.若w, x, y, z, m均为int型变量,则执行下面程序段后的m值是。

w= 1; x = 2; y= 3; z=4;

m=(w

m= (m

m=(m

3.下面程序的输出结果是____。

#include

main()

{ int a=1,b=0;

do {

switch(a)

{ case 1: b=1;break;

case 2: b=2;break;

default : b=0;

}

b=a+b;

}while(!b);

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

}

4.下面程序的输出结果是____。

#include

main()

{ int x,i;

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

x=i;

if(++x%2==0)

if(++x%3==0)

if(++x%7==0)

printf("%d ",x);

}

}

5.下面程序的输出结果是____。

#include

int func(int a,int b)

{ int c ;

c=a+b ;

return(c);

}

void main()

{ int x=6,y=7,z=8,r ;

r=func((x--,y++,x+y),z--);

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

}

6.下面程序的输出结果是____。

#include

void main()

{ int x=1;

void f1(),f2();

f1( );

f2(x);

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

}

void f1(void)

{ int x=3;

printf("%d ",x);

}

void f2(x)

int x ;

{ printf("%d ",++x);

}

7.程序中有定义:

#define S(r) r/r

int a=4,b=3,area;

则表达式area=S(a+b)的值为_______。

三、程序完善题

1.以下程序的功能是计算分段函数y 的值。请完善程序。

#include

void main()

{ int x,c,m;

float y;

scanf(“%d ”,&x); if( (1) ) c=-1;

???????<≤+-<≤<≤<=40

20205.020*********x x x x x x y

else c= (2) ;

switch( c)

{ case –1: y=0; break;

case 0: y=x; break;

case 1: y=10; break;

case 2:

case 3: y=-0.5*x+20; break;

default : y=-2;

}

if( (3) ) printf(“y=%f”, y);

else printf(“error\n”);

}

2.有以下程序段:

s=1.0;

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

s=s+1.0/(k*(k+1));

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

填空完成下述程序,使之与上述程序的功能完全相同。

s=0.0;

(1);

k=0;

do{

s=s+d;

(2);

d=1.0/(k*(k+1));

}while( (3) );

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

3.根据以下嵌套的if语句说给条件,填写switch语句,使它完成相同的功能。

(假设score的取值在1~100之间。)

if语句:

if(score<60) k=1;

else if(score<70) k=2;

else if(score<80) k=3;

else if(score<90) k=4;

else if(score<=100) k=5;

switch语句:

switch( (1) )

{ (2) : k=1; break;

case 6:k=2; break;

case 7:k=3; break;

case 8:k=4; break;

(3) :k=5;

}

4.输入2个整数,输出它们的最小公倍数和最大公约数。请完善程序。

#include

void main( )

{ int m,n,gbs,gys;

scanf((1));

for(gbs=m; (2) ; gbs=gbs+m);

gys= (3) ;

printf(“gbs=%d\tgys=%d\n ”, gbs,gys);

}

5.下面函数的功能是判断一个数是否为素数。请完善程序。

void f(int m)

{ int m,i,k; k=__(1)__; for(i=2;i<=_(2)__;i++) if(__(3)__)break; if(__(4)__)printf(“是素数”);

else printf(“非素数”);

}

6.一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。请完善程

序。

void fun(long x)

{ long ge,shi,qian,wan; wan= (1) ; qian=___(2)__; shi=___(3)___;

ge=x%10; if (__(4)__)

printf("this number is a huiwen\n");

else printf("this number is not a huiwen\n");

}

四、程序设计题

1.编写程序计算分段函数y 值。

2.编写程序,输入一个字符串,求该字符串的有效长度。要求不能使用系统函数。

3.编写程序实现,将键盘输入的一个十进制整数转换为2进制数并输出。 参考答案:

一、选择题

1 2 3 4 5 6 7 8 9 10

?????<-=>=-0

010x e x x e y x x

A C

B D D A

C B A D

11 12 13 14 15 16 17 18 19 20

D B B C C A C C C D

二、填空题

1、 1 0

2、 1

3、a=1,b=2

4、25 67

5、21

6、 3 2 1

7、7

三、程序完善题

1、x<0 x/10 x<40

2、d=1 k++ k<=n

3、score/10 case 0,1,2,3,4,5: default

4、“%d %d”,&m,&n gbs%n!=0 m*n/gbs

5、m/2 k m%i==0 i<=k

6、x/10000 (x%10000)/1000 (x%100)/10 wan==ge && qian=shi

四、程序设计题

1、#include

void main()

{ float x,y;

scanf(“%f”,&x);

if(x>0) y=exp(-x);

else if(x==0) y=1;

else y=-exp(x);

printf(“%f”,y);

}

2、#define max 20;

void main(){

char str[max];

int len;

scanf(“%s”,str);

for(len=0;str[len]!=0;len++)

printf(“%d”,len);

}

3、#include

void main(){

unsigned n;

char str[10],t;

int k,i,j;

printf(“please input:”);

scanf(“%u”,&n);

for(i=0;n!0;i++)

{

str[i]=n%2+’0’;

n/=2;

}

str[i]=’\0’;

printf(“the result is :”);

for(k=0,j=i-1;k

{t=str[k];str[k]=str[j];str[j]=t;}

puts(str);

}

复习题二

一、选择题

1.字符串"ABC"在内存占用的字节数是。

A.3 B.4 C.6 D.8

2.设整型变量m,n,a,b,c,d均为0,执行(m=a= =b)||(n=c= =d)后,m和n的值是。

A.0,0 B.0,1 C.1,0 D.1,1

3.a是int类型变量,c是字符变量。下列输入语句中哪一个是错误的。

A.scanf("%d,%c",&a,&c); B.scanf("%d%c",a,c);

C.scanf("%d%c",&a,&c); D.scanf("d=%d,c=%c",&a,&c);

4.字符变量ch='A',int类型变量k=25,执行printf("%3d,%d3\n",ch,k); 的输出为:。

A.65,253 B.65 253 C.65,25 D.A 25

5.已知int i=1, j=0;执行下面语句后j的值是____。

while(i)

switch(i)

{ case 1: i+=1;j++;break;

case 2: i+=2;j++;break;

case 3: i+=3;j++;break;

default: i--;j++;break;

A.1 B.2 C.3 D.死循环

6.C语言中while和do-while循环的主要区别是。

A.do-while的循环体至少无条件执行一次

B.while的循环控制条件比do-while的循环控制条件严格

C.do-while允许从外部转到循环体内

D.do-while的循环体不能是复合语句

7.设x和y均为int型变量,则执行下面的循环后,y的值为。

for (y=1,x=1;y<=50;y++) {

if (x>=10 ) break;

if (x%2==1) {x+=5;continue;}

x - =3;

}

A.2 B.4 C.6 D.8

8.在C语言中,函数的数据类型是指____。

A.函数返回值的数据类型 B.函数形参的数据类型

C.调用该函数时的实参的数据类型 D.任意指定的数据类型

9.在C语言中以下不正确的说法是__ _。

A.实参可以是常量、变量或表达式

B.形参可以是常量、变量或表达式

C.实参可以为任意类型

D. 形参应与其对应的实参类型一致

10.已知函数定义如下:

float fun1(int x,int y)

{ float z;

z=(float)x/y;

return(z);

}

主调函数中有int a=1,b=0;可以正确调用此函数的语句是____。

A.printf("%f",fun1(a,b)); B.printf("%f",fun1(&a,&b));

C.printf("%f",fun1(*a,*b)); D.printf("%f",fun1(b,a));

11.宏定义的宏展开是在_______阶段完成的。

A.第一遍编译 B.第二遍编译

C.程序执行 D.预编译

12.若有以下数组说明,则数值最小和最大的元素下标分别是。

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

A.1,12 B.0,11 C.1,11 D.0,12

13.以下合法的数组定义是。

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

C.int a[2][3]={0,1,2,3,4,5,6}; D.int a[2][3]={0,1,2,3,4,5,};

14.函数调用:strcat(strcpy (str1,str2),str3); 的功能是。

A.将字符串str1复制到字符串str2中后再连接到字符串str3 之后。

B.将字符串str1连接到字符串str2之后再复制到字符串str3 之后。

C.将字符串str2复制到字符串str1中后再将字符串str3 连接到字符串str1之后。

D.将字符串str2连接到字符串str1之后再将字符串str1 复制到字符串str3中。

15.设有二维数组定义如下,则不正确的数组元素引用是。

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

A.a[2][3] B.a[a[0][0]][1] C.a[7] D.a[2][‘c’-‘a’]

16.若用数组名作为函数调用时的实参,则实际上传递给形参的是。

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

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

17.以下对指针变量进行操作的语句,正确的选项是。

A.int *p,*q; q=p; B.int a,*p,*q; q=&a; p=*q;

C.int a=b=0,*p; p=&a; b=*p; D.int a=20,*p,*q=&a; p=q;

18.若有以下定义和语句:

int s[4][5],(*ps)[5];ps=s;

则对s数组元素的正确引用形式是。

A.ps+1 B.*(ps+3)

C.ps[0][2] D.*(ps+1)+3

19.当说明一个结构体变量时,系统分配给它的存储容量是。

A.结构体中最后一个成员所需的存储容量

B.结构体中第一个成员所需的存储容量

C.成员中占存储量最大者所需的存储容量

D.各成员所需存储容量的总和

20.有定义如下:

struct sk

{ int a;

float b;

}data ,*p;

如果有: p=&data; 则对于结构体变量data的成员a的正确引用是__ __。

A.(*p).data.a B.(*p).a C.p->data.a D.p.data.a

二、填空题

1.设a=3,b=2,c=1,则a>b的值为,a>b>c的值为。

2.设x和y均为int型变量,且x=1,y=2,则表达式1.0+x/y的值为。

3.以下程序段的输出结果是。

int a=10,b=50,c=30;

if(a>b)

a=b;

b=c;

c=a;

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

4.以下程序的输出结果是。

#include

void main()

{ int x= 2,y=-1,z=2;

if(x

if(y<0) z= 0;

else z+ =1;

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

}

5.下面程序的输出结果是____。

#include

int func(int a,int b)

{ int c;

c=a+b;

return(c);

}

void main()

{ int x=6,y=7,z=8,r;

r=func((x--,y++,x+y),z--);

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

}

6.下面程序的输出结果是____。

#include

void main()

{ int x=1;

void f1(),f2();

f1( );

f2(x);

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

}

void f1(void)

{ int x=3;

printf("%d ",x);

}

void f2(x)

int x;

{ printf("%d ",++x);

}

7.以程序的输出结果是_______。

#define MA(x) x*(x-1)

#include

void main()

{int a=1,b=2;

pirntf(“%d\n”,MA(1+a+b));

}

三、程序完善题

1.下列程序计算并输出方程 X2+Y2+Z2=1989 的所有整数解。请完善程序。

#include

void main()

{ (1) ;

for(i=-45;i<=45;i++)

for((2) )

for(k=-45;k<=45;k++)

if( (3) )

printf( “%4d%4d%4d\n”, i,j,k);

}

2.有以下程序段:

s=1.0;

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

s=s+1.0/(k*(k+1));

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

填空完成下述程序,使之与上述程序的功能完全相同。

s=0.0;

(1);

k=0;

do{

s=s+d;

(2);

d=1.0/(k*(k+1));

}while( (3) );

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

3.根据以下嵌套的if语句说给条件,填写switch语句,使它完成相同的功能。

(假设score的取值在1~100之间。)

if语句:

if(score<60) k=1;

else if(score<70) k=2;

else if(score<80) k=3;

else if(score<90) k=4;

else if(score<=100) k=5;

switch语句:

switch( (1) )

{ case 0 ,1,2,3,4,5: k=1; break;

(2) :k=2; break;

case 7:k=3; break;

(1) :k=4; break;

default:k=5;

}

4.输入2个整数,输出它们的最小公倍数和最大公约数。请完善程序。

#include

void main( )

{ int m,n,gbs,gys;

scanf((1));

for(gbs=m; (2) ; gbs=gbs+m);

gys= (3) ;

printf(“gbs=%d\tgys=%d\n”, gbs,gys);

}

5.下面函数的功能是判断一个数是否为素数。请完善程序。

void f(int m)

{ int m,i,k;

k=__(1)__;

for(i=2;i<=_(2)__;i++)

if(__(3)__)break;

if(__(4)__)printf(“是素数”);

else printf(“非素数”);

}

6.用递归实现将输入小于32768的整数按逆序输出。如输入12345,则输出54321。请完善程序。

#include"stdio.h"

void main()

{ int n;

printf("Input n : ");

scanf("%d", (1) );

r(n);

printf("\n");

}

void r(int m)

{ printf("%d", (2) );

m = (3) ;

if( (4) ) r(m);

}

四、程序设计题

1. 100匹马驮100担货,大马一匹驮3担,中马一匹驮2担,小马两匹驮1担。试编写程序计算大、中、

小马的数目。

2.编写程序,输入10个整数存入一个一维数组中,再按逆序重新存放后输出。

3.从键盘输入4个学生数据信息(包括姓名学号年龄住址),把他们转存到磁盘文件中。.

参考答案:

一、选择题

1 2 3 4 5 6 7 8 9 10

B C B A D A C A B D

11 12 13 14 15 16 17 18 19 20

D B B C C A C C D B

二、填空题

1、 1 0

2、 1.0

3、a=10 b=30 c=10

4、 2

5、21

6、 3 2 1

7、8

三、程序完善题

1、int i ,j,k j=-45;j<=45;j++ x*x+y*y+z*z=1989

2、d=1 k++ k<=n

3、score/10 case 6 case 8

4、“%d %d”,&m,&n gbs%n!=0 m*n/gbs

5、m/2 k m%i==0 i<=k

6、&n m%10 m/10 m>0

四、程序设计题

1、#include

V oid main(){

int big,mid;

for(big=0;big<=33;big++)

for(mid=0;mid<=50;mid++)

if(big*3+mid*2+(100-big-mid)*0.5==100)

printf(“%d,%d,%d\n”,big,mid, 100-big-mid);

}

2、#include

V oid main(){

int i,j,a[10],temp;

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

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

For(i=0,j=9;i

{ temp=a[i];

a[i]=a[j];

a[j]=temp;

}

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

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

}

3、#include

#define SIZE 2

struct student_type

{ char name[10];

int num;

int age;

char addr[15];

}stud[SIZE];

void save()

{ FILE *fp;

int i;

if((fp=fopen("d:\\fengyi\\exe\\stu_dat","wb"))==NULL)

{ printf("cannot open file\n");

return;

}

for(i=0;i

if(fwrite(&stud[i],sizeof(struct student_type),1,fp)!=1)

printf("file write error\n");

fclose(fp);

}

void display()

{ FILE *fp;

int i;

if((fp=fopen("d:\\fengyi\\exe\\stu_dat","rb"))==NULL)

{ printf("cannot open file\n");

return;

}

for(i=0;i

{ fread(&stud[i],sizeof(struct student_type),1,fp);

printf("%-10s %4d %4d %-15s\n",stud[i].name,

stud[i].num,stud[i].age,stud[i].addr);

}

fclose(fp);

}

main()

{

int i;

for(i=0;i

scanf("%s%d%d%s",stud[i].name,&stud[i].num,

&stud[i].age,stud[i].addr);

save();

display();

}

生于忧患,死于安乐《孟子?告子》

舜发于畎亩之中,傅说举于版筑之间,胶鬲举于鱼盐之中,管夷吾举于士,孙叔敖举于海,百里奚举于市。

故天将降大任于是人也,必先苦其心志,劳其筋骨,饿其体肤,空乏其身,行拂乱其所为,所以动心忍性,曾益其所不能。

人恒过,然后能改;困于心,衡于虑,而后作;征于色,发于声,而后喻。入则无法家拂士,出则无敌国外患者,国恒亡。

然后知生于忧患,而死于安乐也。

C语言试卷及答案

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

C语言题库及答案

C语言题库及答案

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

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

c语言试题及答案

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

C语言试卷及答案

一、选择题(每题 1 分,共 20 分) 1. C 语言程序的三种基本结构是顺序结构、选择结构和结构。 A、循环 B、递归 C、转移 D、嵌套 2. 下列标识符中,合法的是_______ 。 A) unsigned B) 5ab C) INT# D)_num2 3. 若float x ;x = 10/4 ;x的值是。 A、2.5 B、2.0 C、3 D、 2 4. 表达式!x 等价于。 A、x==0 B、x==1 C、x != 0 D、x != 1 5. 算术运算符、赋值运算符和关系运算符的运算优先级按从高到低的顺序依次为。 A、算术运算、赋值运算、关系运算 B、关系运算、赋值运算、算术运算 C、算术运算、关系运算、赋值运算 D、关系运算、算术运算、赋值运算 6. 能将高级语言编写的源程序转换为目标程序的是。 A、链接程序 B、解释程序 C、编译程序 D、编辑程序 7. 下列语句定义pf为指向float类型变量f的指针,是正确的。 A、float f, *pf = f; B、float f, *pf = &f; C、float *pf = &f, f; D、float f, pf = f; 8. 一个C程序的执行是从。 A、本程序的main函数开始,到main函数结束 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C、本程序的main函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 9. 能正确表示“当x的取值在[1,10]或[[200,210]范围内为真,否则为假”的表达式是________。 A、(x>=1)&&(x<=10)&&(x>=200)&&(x<=210) B、(x>=1)||(x<=10)||(x>=200)||(x<=210) C、(x>=1)&&(x<=10)||(x>=200)&&(x<=210) D、(x>=1)||(x<=10)&&(x>=200)||(x<=210) 10. 对两个数组a和b进行如下初始化 char a[]=“ABCDEF”;char b[]={ …A?,?B?,?C?,?D?,?E?,?F?}; 则以下叙述正确的是。 A、a和b数组完全相同 B、a和b长度相同 C、a和b中都存放字符串 D、a数组比b数组长度长 11. 是不正确的字符常量。 A、'\n' B、'1' C、"a" D、'\101' 12. 若变量已正确定义,语句“if(a>b) k=0; else k=1;”和等价。 A、k=(a>b)?1:0; B、k=a>b; C、k=a<=b; D、a<=b ? 0 : 1; 13. 设变量定义为“int x, *p=&x;”,则&*p相当于。 A、p B、*p C、x D、*&x 14. 有两个字符数组a、b,则以下正确的输入语句是。 A)gets(a,b); B) scanf(“%s%s”,a,b); C) scanf(“%s%s”,&a,&b); D) gets(“a”),gets(“b”); 15. C语言规定,简单变量做实参时,它和对应形参之间的数据传递方式是。 A、地址传递 B、单向值传递

C语言考试题及答案

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

{intn; staticchar*monthName[]= {"Illegalmonth","January","February", "March","April","May","June","July","August", "September","October","November","December"}; for(n=1;n<=12;n++) { printf("%s\n",monthName[n]); } } 运行结果是: January February March April May June July August September October November December 2.#include #defineARR_SIZE7 voidYH(inta[][ARR_SIZE],intn); voidPrintYH(inta[][ARR_SIZE],intn); main() {inta[ARR_SIZE][ARR_SIZE];

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

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

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

精选考试类文档,如果您需要使用本文档,请点击下载! 祝同学们考得一个好成绩,心想事成,万事如意! 大学C语言考试试题及答案 姓名成绩 温馨提示:同学们,经过培训学习,你一定积累了很多知识,现在请认真、仔细地完成这张试题吧。加油! 一单项选择题 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语言全部题目及答案 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 语言理论上机考试选择题部分(共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章 C语言概述习题 1. 单项选择题 (1) C 语言是在 B 语言的基础上产生的。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (2) 在 C 语言中,每个语句必须以 D 结束。 A. 回车符 B. 冒号 C. 逗号 D. 分号 (3) 标识符和关键字间,要用 C 隔开。 A. 回车符 B. 冒号 C. 空格 D. 分号 (4) 用 C 语言编写的源文件经过编译,若没有产生编译错误,则系统将( B )。 A. 生成可执行目标文件 B. 生成目标文件 C. 输出运行结果 D.自动保存源文件 (5) 下列说法中正确的是( B )。 A. 由于 C 源程序是高级语言程序,因此一定要在 TC 软件中输入 B. 由 C 源程序是字符流组成,因此可以作为文本文件在任何文本编辑的软件中输入 C. 由于C 程序是高级语言程序,因此输入后即可执行 D. 由于 C 程序是高级语言程序,因此它由命令组成 (6) 下列说法中正确的是( A )。 A. C 语言程序由主函数和 0 个或多个函数组成 B. C 语言程序由

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

C语言期末考试题含答案

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

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

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

C语言试题与答案

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

c语言期中考试试题及答案

《C语言程序设计》期中考试试卷 课程编号:03402513试卷类型:A卷考试形式:笔试考试日期: 注意事项:1.请将试卷最后一页的答题纸撕下,将答案填写在其中;2.交卷时请确认答题纸是否按要求写好姓名等信息并与试题一起上交;3.不准携带任何书籍、资料、纸张等。4.草稿纸用试卷的背面。 一、单项选择题(1空1分,共20分) 1、C语言程序的基本结构是(【1】) 。 【1】A) 函数B) 语句C) 字符D) 程序行 2、一个C程序的执行是(【2】) 。 【2】A) 从本程序的主函数开始,到本程序的主函数结束 B)从本程序的第一个函数开始,到本程序的最后一个函数结束 C) 从本程序的主函数开始,到本程序的最后一个函数结束 D)从本程序的第一个函数开始,到本程序的主函数结束 3、下列四个叙述中,错误的是(【3】) 。 【3】A) 一个C源程序必须有且只能有一个主函数 B) 一个C源程序可以含一个或多个子函数 C) 在C源程序中注释说明必须位于语句之后 D) C源程序的基本结构是函数 4、下面不属于C语言保留字的是(【4】) 。 【4】A) short B) ELSE C) extern D) for 5、下列四个叙述中,正确的是(【5】) 。 【5】A) 库函数也是C语言本身的组成部分 B) C语言中的输入输出操作是由相应语句完成的 C) 库函数是C编译系统提供的功能函数 D) 标题文件(头文件)可以在程序的函数内部调用 6、下列四组数据类型中,C语言允许的一组是(【6】)。 【6】A) 整型、实型、逻辑型B) 整型、实型、字符型 C) 整型、双精度型、布尔型D) 整型、实型、复型 7、在C语言中不同数据类型的的长度是(【7】)。 【7】A) 固定的B) 由用户自己定义的 C) 任意的D) 与机器字长有关

(完整版)c语言期末考试题及其答案

选择题(7分,每小题0.5分) 1.C语言源程序的基本单位是()。 A 过程 B 函数 C 子程序 D 标识符 2.下列程序的输出结果是()。 main( ) { int a=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C 0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A 7 B 8 C 9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534; a=(int)125.521%4; a=5<<2; A 125,31,1 B 125,1,20 C 125,31,20 D 125.534,2,20 5.设有如下程序段,下面描述中正确的是()。 int k=10; while(k=0) k=k-1; A 循环执行一次B循环是无限循环C循环体语句一次也不执行D循环体语句执行一次 6.以下程序的输出结果为()。 int i; void prt( ) { for(i=5;i<8;i++) printf("%c",'*'); printf("\t"); } main( ) { for(i=5;i<=8;i++) prt( ); } A *** B *** *** *** *** C *** *** D * * * 7.在C语言程序中,以下说法正确的是()。 A函数的定义可以嵌套,但函数的调用不可以嵌套 B函数的定义不可以嵌套,但函数的调用可以嵌套

C函数的定义和函数的调用都不可以嵌套 D函数的定义和函数的调用都可以嵌套 8.以下函数调用语句中含有()个实参。 func((e1,e2),(e3,e4,e5)); A 2 B 3 C 5 D 语法错误 9.以下程序的输出结果为()。 #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } A d=70 B d=80 C d=140 D d=700 10.已知职工记录描述如下,在Turbo C中,系统为变量w分配()字节的空间。 struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; A 29 B 20 C 25 D 6 11.设有以下定义,值为5的枚举常量是()。 enum week{sun,mon=4,tue,wed,thu,fri,sat} w; A tue B sat C fri D thu 12.下面选项中正确的赋值语句是(设char a[5],*p=a;)()。 A p="abcd"; B a="abcd"; C *p="abcd"; D *a="abcd"; 13.设有以下程序段,则值为6的表达式是()。 struct st { int n; struct st *next;}; static struct st a[3]={5,&a[1],7,&a[2],9,0 },*p; p=&a[0]; A p++->n B ++p->n C p->n++ D (*p).n++ 写出下列程序的运行结果(10分,每小题2分) 1.float average (float array[10]) { int i;

C语言试题及答案

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

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

C语言试题及答案

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

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

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

c语言习题及答案

第一章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和必须利用宏常量表示。输入格式: 无 输出格式: 半圆的面积输出格式: "Area=%f\n" 半圆弧的周长输出格式: "circumference=%f\n" 输入样例: 输出样例: Area=44.123632 circumference=16.650427 #include #define PI 3.14159 #define R 5.3 int main() { printf("Area=%f\n", R*R*PI/2); printf("circumference=%f\n", 2*R*PI/2); return 0; }

相关主题
文本预览
相关文档 最新文档