文档库 最新最全的文档下载
当前位置:文档库 › C语言习题集及答案..

C语言习题集及答案..

C语言习题集及答案..
C语言习题集及答案..

目录

第一单元程序设计和C语言 (1)

第二单元顺序程序设计 (3)

第三单元分支程序设计 (7)

第四单元循环程序设计 (14)

第五单元数组..................................................................... 错误!未定义书签。第六单元函数 (23)

第七单元指针..................................................................... 错误!未定义书签。第八单元结构体和共用体..................................................... 错误!未定义书签。第九单元文件..................................................................... 错误!未定义书签。附加题......................................................................................... 错误!未定义书签。模拟试卷一................................................................................. 错误!未定义书签。模拟试卷二................................................................................. 错误!未定义书签。模拟试卷三................................................................................. 错误!未定义书签。

第一单元程序设计和C语言

一、选择题

1.C语言的基本构成单位是:。

A. 函数

B. 函数和过程

C. 超文本过程

D. 子程序

2.一个C语言程序总是从开始执行。

A. 主过程

B. 主函数

C. 子程序

D.主程序

3.C语言的程序一行写不下时,可以。

A. 用逗号换行

B. 用分号换行

C. 在任意一空格处换行

D. 用回车符换行

4.以下叙述不正确的是:。

A. 在C程序中,语句之间必须要用分号";"分隔

B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数

C. 在C程序中,无论是整数还是实数都能正确无误地表示

D. 在C程序中,%是只能用于整数运算的运算符

5.以下不正确的C语言标识符是。

A. ABC

B. abc

C. a_bc

D. ab.c

6.下列字符串是标识符的是:。

A. _HJ

B. 9_student

C. long

D. LINE 1

7.以下说法中正确的是:。

A. C语言程序总是从第一个定义的函数开始执行

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

C. C语言程序总是从main()函数开始执行

D. C语言程序中的main()函数必须放在程序的开始部分

8.不合法的常量是:。

A. ‘\2’

B. ""

C. ‘3’

D. ‘\483’

9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是:。

int k,a,b;

unsigned long w=5;

double x=1.422;

A. x%(-3)

B. w+=-2

C. k=(a=2,b=3,a+b)

D. a+=a=+(b=4)*(a=3)

10.在C语言中,字符型数据在内存中以形式存放。

A. 原码

B. BCD码

C. 反码

D. ASCII码

11.若有定义:int a=7; float x=2.5; y=4.7;

则表达式x+a%3*(int)(x+y)%2/4的值是:。

A. 2.500000

B. 2.750000

C. 3.500000

D. 0.000000

12.设有说明:char w; int x; float y; double z;

则表达式w*x+z-y值的数据类型为:。

A. float

B. char

C. int

D. double

13.以下是不正确的转义字符。

A. '\\'

B. '\'

C. '081'

D. '\0'

14.若x为int型变量,则执行以下语句后,x的值为。

x=6; x+=x-=x*x;

A. 36

B. -60

C. 60

D. -24

15.字符串"\\\"ABC\"\\"的长度是。

A. 11

B. 7

C. 5

D. 3

二、填空题

1.一个函数由两部分组成,它们是和。

2.一个C源程序至少包含一个,即。

3.设int a=12; 则表达式a/=a+a的值是。

4.表达式x=(a=3,6*a)和表达式x=a=3,6*a分别是表达式和表达式,两个表达式执行完的结果分别是和,x值分别是

和。

5.在C语言中,实数有两种表示形式,即和。

6.在C语言中,运算符的优先级最小的是运算符。

第二单元顺序程序设计

一、选择题

1.若m为float型变量,则执行以下语句后的输出为。

m=1234.123;

printf("%-8.3f\n",m);

printf("%10.3f\n",m);

A. 1234.123

B. 1234.123

C. 1234.123

D. -1234.123

1234.123 1234.123 1234.123 001234.123 2.若x,y,z均为int型变量,则执行以下语句后的输出为。

x=(y=(z=10)+5)-5;

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

y=(z=x=0,x+10);

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

A. X=10,Y=15,Z=10

B. X=10,Y=10,Z=10

X=0,Y=10,Z=0 X=0,Y=10,Z=10

C. X=10,Y=15,Z=10

D. X=10,Y=10,Z=10

X=10,Y=10,Z=0 X=0,Y=10,Z=0

3.若x是int型变量,y是float型变量,所用的scanf调用语句格式为:

scanf("x=%d,y=%f",&x,&y);

则为了将数据10和66.6分别赋给x和y,正确的输入应是: 。

A. x=10,y=66.6<回车>

B. 10 66.6<回车>

C. 10<回车>66.6<回车>

D. x=10<回车>y=66.6<回车>

4.已知有变量定义:int a;char c;用scanf(“%d%c”,&a,&c);语句给a和c输入数据,使30存入a,字符‘b’存入c,则正确的输入是:。

A. 30’b’<回车>

B. 30 b<回车>

C. 30<回车>b<回车>

D. 30b<回车>

5.已知有变量定义:double x;long a; 要给a和x输入数据,正确的输入语句是。若要输出a和x的值,正确的输出语句。

A. scanf(“%d%f”,&a,&x);

B. scanf(“%ld%f”,&a,&x);

printf(“%d,%f”,a,x); printf(“%ld,%f”,a,x);

C. scanf(“%ld%lf”,&a,&x);

D. scanf(“%ld%lf”,&a,&x);

printf(“%ld,%lf”,a,x); printf(“%ld,%f”,a,x);

6.若有定义double x=1,y;则以下的语句执行的结果是。

y=x+3/2; printf(“%f”,y);

A.2.500000

B.2.5

C.2.000000

D.2

7.若a为整型变量,则以下语句。

a=-2L; printf("%d\n",a);

A. 赋值不合法

B. 输出为不确定的值

C. 输出值为-2

D. 输出值为2

二、读程序写结果

1. main()

{ int x,y;

scanf("%2d%*2d%ld",&x,&y);

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

}

执行时输入:1234567

2. main()

{ int x=4,y=0,z;

x*=3+2;

printf("%d",x);

x*=y=z=4;

printf("%d",x);

}

3. main()

{ float x; int i;

x=3.6; i=(int)x;

printf("x=%f,i=%d",x,i);

}

4. main()

{ int a=2;

a%=4-1; printf("%d, ",a);

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

}

5. main()

{ int x=02,y=3;

printf("x=%d,y=%%d",x,y);

}

6. main()

{ char c1=’6’,c2=’0’;

printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);

}

7. main()

{ int x,y,z;

x=y=1; z=++x-1;

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

z+=y++;

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

}

三、填空题

1.在C语言中,字符型数据和整型数据之间可以通用,一个字符数据既能以输出,也能以输出。

2."%-ms"表示如果串长小于m,则在m列范围内,字符串向靠,补空格。

3.printf函数的“格式控制”包括两部分,它们是和。

4.编写程序求矩形的面积和周长,矩形的长和宽由键盘输入,请填空。

#include

void main()

{ float l,w;

printf(“please input length and width of the rectangle\n”);

scanf(“%f%f”,&l,&w);

area= ;

girth= ;

}

5.编写程序,输入一个数字字符(‘0’~‘9’)存入变量c,把c转换成它所对应的整数存入n,如:字符‘0’所对应的整数就是0。请填空。

void main()

{ char c;

;

printf(“please input a char:\n”);

c= ;

n= ;

printf( ,c,n);

}

四、编程

1.将华氏温度转换为摄氏温度和绝对温度的公式分别为:

c=5

9

(f-32) (摄氏温度)

k=273.16+c (绝对温度)

请编程序:当给出f时,求其相应摄氏温度和绝对温度。

测试数据:① f=34

② f=100

2.写一个程序把极坐标(r,θ) (θ之单位为度)转换为直角坐标( X,Y)。转换公式是: x=r.cosθ

y=r.sinθ

测试数据:① r=10 θ=45°

② r=20 θ=90°

3.写一个程序,按如下格式输出数据。

name number math english computer

zhanghua 9901 80.50 87.0 80

lina 9902 70.00 80.0 90

wanggang 9903 87.00 76.0 78

4.输入一个3位整数,求出该数每个位上的数字之和。如123,每个位上的数字和就是1+2+3=6。

第三单元分支程序设计

一、选择题

1.若x=0,y=3,z=3,以下表达式值为0的是

A. !x

B.x

C. x%2&&y==z

D. y=x||z/3

2.以下运算符中优先级最低的运算符为 ,优先级最高的为。

A. &&

B. !

C. !=

D. ||

E. ?:

F. ==

3.若w=1,x=2,y=3,z=4,则条件表达式w

A. 4

B. 3

C. 2

D. 1

4.若w,x,z均为int型变量,则执行以下语句后的输出为。

w=3;z=7;x=10;

printf("%d\n",x>10?x+100:x-10);

printf("%d\n",w++||z++);

printf("%d\n",!w>z);

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

A. 0

B. 1

C. 0

D. 0

1 1 1 1

1 1 0 0

1 1 1 0

5.分析以下程序, 下列说法正确的是。

main()

{ int x=5,a=0,b=0;

if(x=a+b) printf("* * * *\n");

else printf("# # # #\n");

}

A. 有语法错,不能通过编译

B. 通过编译,但不能连接

C. 输出* * * *

D. 输出# # # #

6.分析以下程序, 下列说法正确的是。

main()

{ int x=5,a=0,b=3;

if(x=a+b) printf("* * * *\n");

else printf("# # # #\n");

}

A. 有语法错,不能通过编译

B. 通过编译,但不能连接

C. 输出* * * *

D. 输出# # # #

7.分析以下程序, 下列说法正确的是。

main()

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

if(x=a+b) printf("* * * *\n");

else printf("# # # #\n");

}

A. 有语法错,不能通过编译

B. 通过编译,但不能连接

C. 输出* * * *

D. 输出# # # #

8.分析以下程序, 下列说法正确的是。

main()

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

if(x==a+b) printf("* * * *\n");

else printf("# # # #\n");

}

A. 有语法错,不能通过编译

B. 通过编译,但不能连接

C. 输出* * * *

D. 输出# # # #

二、读程序写结果

1. include

main()

{ int a=-1,b=4,k;

k=(a++<=0)&&(!(b--<=0));

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

}

2. main()

{ int x=4,y=0,z;

x*=3+2;

printf("%d",x);

x*=(y==(z=4));

printf("%d",x);

}

3. main()

{ int x,y,z;

x=3; y=z=4;

printf("%d",(x>=z>=x)?1:0);

printf("%d",z>=y && y>=x);

}

4. main()

{ int x=1,y=1,z=10;

if(z<0)

if(y>0) x=3;

else x=5;

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

if(z=y<0) x=3;

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

else x=7;

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

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

}

5. main()

{ char x=‘B’;

switch(x)

{ case ‘A’: printf(“It is A.”);

case ‘B’: printf(“It is B.”);

case ‘C’: printf(“It is C.”);

default: printf(“other.”);

}

}

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

}

三、填空题

1.若a=5,b=6,c=7,d=8,则表达式d=a/2&&b==c||!a的值为

2.定义 int x=10,y,z;执行y=z=x;x=y==z后,变量x的值为。

3.分段函数:输入x,计算y值,输出y,其中:

x<0 y=2x+3

x=0,y=0

x>0,y=(x+7)/3

#include

main()

{

int x,y;

scanf("%d",&x);

if(x<0) (1) ;

(2) y=0;

(3) y=(x+7)/3;

printf(“%d”,y);

}

4.由键盘输入三个数,计算以这三个数为边长的三角形面积。

(1)

main()

{

(2) ;

printf("Please enter 3 reals:\n");

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

if( (3) )

{ s=(a+b+c)*0.5;

s1=s*(s-a)*(s-b)*(s-c);

s= (4) ;

printf("\nArea of the triangle is %f\n",s);

}

(5)

printf("It is not triangle!\n");

}

5.有一方程a x2+bx+c=0,a,b,c的值由键盘输入,请编程序,打印出以下情况时方程的解。

(1) a=0,b≠0

(2) a=0,b=0,c=0

(3) a=0,b=0,c≠0

(4) a≠0,b2-4ac≥0

(5) a≠0,b2-4ac≤0

#include "math.h"

main()

{ float a,b,c,d,pr,pi,x1,x2;

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

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

if(a==0)

{ if( (1) )

printf("only one solution x=%f\n",-c/b);

else

if( (2) )printf("no solution\n");

else printf("x is any value\n");

}

else

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

if( (3) )

{ x1=(-b+sqrt(d))/ (4) ;

x2=(-b-sqrt(d))/ (5) ;

printf("x1=%6.2f, x2=%6.2f\n",x1,x2);

}

else

{ pr=-b/(2*a); (6) ;

printf("x1=%6.2f +%6.2fi\n",pr,pi);

printf("x2=%6.2f -%6.2fi\n",pr,pi);

}

}

}

6.投票表决器:

–输入Y、y,打印agree

–输入N、n,打印disagree

–输入其他,打印lose

main()

{

char c;

scanf("%c",&c);

(1)

{

case ‘Y’:

case ‘y’: printf(“agree”); (2) ;

case ‘N’:

case ‘n’: printf(“disagree”); (3) ;

(4) :printf(“lose”);

}

四、编程

1.写一程序求y值 (x值由键盘输入)。

y

x x

x

x x

x

=

+

-

?

?

?

?

sin()cos()

()

sin()cos()

()

2

2

2.输入一个字符,判断它如果是小写字母输出其对应大写字母;如果是大写字母输出其对应小写字母;如果是数字输出数字本身;如果是空格,输出“space”;如果不是上述情况,输出“other”。

3.有三个数a、b、c,由键盘输入,输出其中最大的数。

4.输入一个数,判断它能否被 3或者被 5整除, 如至少能被这两个数中的一个整除则将此数打印出来,否则不打印,编出程序。

5. 读入1到7之间的某个数,输出表示一星期中相应的某一天的单词:Monday 、 Tuesday

等等,用switch 语句做。

6. 给出一百分制成绩,要求输出成绩等级‘A ’,‘B ’,‘C ’,‘D ’,‘E ’,90分以上

为‘A ’,80~89分为‘B ’,70~79分为‘C ’,60~69分为‘D ’,60分以下为‘E ’。 7. 有一函数

????

??

???

???

?<≤--<≤-+<≤--<≤<≤+=)

)9075()75(151060)7545()

45(3020

40)

4530()30(151050)3015(50)150(101540

(其它无意义x x x x x x x x x y

请编程序计算y 的值(x 的值由键盘输入)。

第四单元循环程序设计

一、选择题

1.程序段如下:则以下说法中正确的是:。

int k=5;

do{

k--;

}while(k<=0);

A. 循环执行5次

B. 循环是无限循环

C. 循环体语句一次也不执行

D. 循环体语句执行一次

2.设i和x都是int类型,则for循环语句。

for(i=0,x=0;i<=9&&x!=876;i++) scanf("%d",&x);

A. 最多执行10次

B. 最多执行9次

C. 是无限循环

D. 循环体一次也不执行

3.下述for循环语句。

int i,k;

for(i=0,k=-1;k=1;i++,k++) printf("* * * *");

A. 判断循环结束的条件非法

B. 是无限循环

C. 只循环一次

D. 一次也不循环

4.程序段如下:则以下说法中正确的是:。

int k=-20;

while(k=0) k=k+1;

A. while循环执行20次

B. 循环是无限循环

C. 循环体语句一次也不执行

D. 循环体语句执行一次

5.下列程序段执行后k值为。

int k=0,i,j;

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

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

k=k+1 ;

A. 15

B. 3

C. 5

D. 8

6.程序段如下:则以下说法中不正确的是:。

#include

main()

{

int k=2,;

while(k<7)

{

if(k%2) {k=k+3; printf(“k=%d\n”,k);continue;}

k=k+1;

printf(“k=%d\n”,k);

}

}

A. k=k+3;执行一次

B. k=k+1;执行2次

C. 执行后k值为7

D. 循环体只执行一次

二、读程序写结果

1.main()

{ int num=0;

while(num<=2)

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

}

2.main()

{ int i=0,s=0;

do

{ s+=i*2+1; printf("i=%d,s=%d\n",i,s); i++;}

while(s<10);

}

3. #include

main()

{ int i,m=1;

for(i=5;i>=1;i--)

{

m=(m+1)*2;

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

}

}

4.指出下面三个程序的功能,当输入为:"quert?"时,它们的执行结果是什么?

⑴ #include

main()

{ char c;

c=getchar();

while (c!='?')

{ putchar(c); c=getchar();}

}

⑵ #include

main()

{ char c;

while ((c=getchar())!='?') putchar(++c); }

⑶ #include

main()

{ while (putchar(getchar())!='?');

}

5. #include

main()

{ int i;

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

{ if(i%2)

putchar(‘<’);

else

continue;

putchar(‘>’);

}

putchar(‘#’);

}

6.main()

{ int a,b;

for(a=1,b=1;a<=100;a++)

{ if(b>10) break;

if(b%3==1)

{ b+=3; continue;}

}

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

}

7. main()

{ int i=1;

while (i<=15)

if (++i%3!=2) continue;

else printf("%d ",i);

printf("\n");

}

8. #include

void main()

{ int i,j;

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

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

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

printf("\n");

}

}

9. main()

{ int i,j,k;

char space=' ';

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

{ for (j=1;j<=i;j++) printf("%c",space); for (k=0;k<=5;k++) printf("%c",'*'); printf("\n");

}

}

10. #include

main()

{ int i,j,k=0;

for (j=11;j<=30;j++)

{ if (k%10==0)

printf("\n");

for (i=2;i

{ if (!(j%i)) break;

if (i>=j-1)

{ printf("%d\t",j);k++;}

}

}

}

三、填空题

1.break语句只能用于语句和语句中。

2.计算2+4+6+8+...+98+100

main()

{

int i, (1) ;

for(i=2;i<=100; (2) )

s+=i;

}

3.求满足下式的 x,y,z

X Y Z

+ Y Z Z

──────

5 3 2

main()

{ int x,y,z,i,result=532;

for (x=1; (1) ;x++)

for (y=1; (2) ;y++)

for ( (3) ; (4) ;z++)

{ i= (5) +(100*y+10*z+z);

if (i==result) printf("x=%d, y=%d, z=%d\n",x,y,z); }

}

4.求 Sn=a+aa+aaa+...+aa...a之值,其中 a是一个数字。例如 2+ 22 +222+2222(此时n=4),n由键盘输入。

main()

{ int a,n,count=1,Sn=0,Tn=0;

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

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

while (count<= (1) )

{ Tn= (2) ;

Sn= (3) ;

a=a*10;

(4) ;

}

printf("a+aa+aaa+...=%d\n",Sn);

}

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

main()

{ float Sn=100.0,hn=Sn/2;

int n;

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

{ Sn= (2) ; hn= (3) ; }

printf("第10次落地时共经过%f米\n",Sn);

printf("第10次反弹%f米\n",hn);

}

6.打印出以下图形

*

* * *

* * * * *

* * * * * * *

* * * * *

* * *

*

main()

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. 软件危机具有下列表现( 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语言 一、选择题(第题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语言试卷及答案

一、选择题(每题 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语言试题及答案 ()

第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语言考试题库 第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 语言理论上机考试选择题部分(共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语言试题及答案

《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语言试题及答案

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

c语言试卷及答案1

浙江理工大学 C程序设计试题(一) 试题二、语言基础题(本题共30分) (一)判断题(本题共10分,每小题1分) 说明:在以下提供的若干陈述中,逐一判断其正确与否,选A表示正确,选B表示错误。 (16) C语言程序的三种基本结构是顺 序、选择和嵌套。 (17) 在C语言程序中,在函数内部定 义的变量称为全局变量。 (18) 运算符“=”和“&=”的优先级相 同。 (19) ‘%f’是不正确的字符常量。 (20) 运算符“+”不能作为单目运算符。 (21) 如果运算符“*”和“/”都是右 结合的,则表达式10*6/5的值是10。 (22) s(s-a)(s-b)(s-c)是合法的C语 言表达式。 (23) 表达式!!6的值是6。 (24) 表达式~(~2<<1)的值是5。 (25) 对于变量定:int a[10],*p=a+8; 数组a的最后一个元素是p[1]。

(二)单选题(本题共20分,每小题2分) (26) 执行语句printf("(26) ", "A");将得到出错信息。 A、%u B、%s C、%e D、%d (27) 设c是一个字符变量,求解表达 (27) 后,c的值不是1就是0。 A、c=getchar()!=’\n’ B、(c=getchar()!)=’\n’ C、c=’1’ D、c=EOF (28) 下列定义中,(28) 定义的变 量可以存放-123.4。 A、long a; B、 unsigned b; C、int d; D、float c; (29) 对于变量定义;char *pp[100], pp是一个(29) 。 A、函数 B、数组元素 C、指针变 量D、数组 (30) 下列程序段的输出结果是 (30) 。 char *st[ ]={ "SUM","MOON","STAR","X"}; printf("(%s,%c) ",*(st+1)+1,*(*(st+2)+2)+2)

(完整版)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语言期中考试试题及答案

《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语言模拟试卷及答案详解

2012―2013 学年第一学期 《C 语言程序设计》模拟试卷(B) 一、单项选择题(每题1分,共30分) 1.C 语言程序总是从______开始执行。 A) 第一条语句 B) 第一个函数 C) 主函数 D) 子程序 2.以下选项中正确的C 语言标识符是______。 A) a+b B) 3Dmax C) _25 D) %d 3.以下选项中正确表示字符型常量的是______。 A) '\t' B) "a" C) 'abc' D) '279' 4.以下选项中属于C 语言基本数据类型的是______。 A) 逻辑型 B) 双精度型 C) 复数型 D) 集合型 5.已知:int a=8,b=5,c;,则执行语句c=a%b+0.3;后,c 的值是______。 A) 1 B) 1.3 C) 3 D) 3.3 6.设在程序中的a ,b ,c 均被定义为整型并且已赋予大于1的值,能正确表示代数式abc 1的表达式 是______。 A)1/a*b*c B)1/(a*b*c) C)1/a/b/(float)c D)1.0/a/b/c 7.已知字符'A'的ASCII 码值为十进制数65,则执行语句printf("%c",'A'+2);后,输出结果是______。 A) A B) C C) 65 D) 67 8.已知:int i=1;,则执行语句printf("%d",i++);后,输出结果是______。 A) 1 B) 2 C) -1 D) -2 9.以下选项中,和语句x*=y+2;等价的是______。 A) x=x*y+2; B) y=x*(y+2); C) x=y+2*x; D) x=x*(y+2); 10.以下选项中能正确判断字符变量c 不是大写字母的表达式是______。 A) c<'A' && c>'Z' B) !(c<'A' && c>'Z') C) c>='A' || c<='Z' D) !(c>='A' && c<='Z') 11.已知:float a=7.0,b=2.5;,则表达式(int)a/(int)b 的值是______。 A) 2 B) 2.8 C) 3 D) 3.5 12.已知:int a,b,c;,若要给变量a 、b 、c 输入数据,以下正确的输入语句是______。 A) scanf ("%d,%d,%d",a,b,c); B) scanf ("%d,%d,%d",&a;&b;&c); C) scanf ("%d,%d,%d",&a&b&c); D) scanf ("%d,%d,%d",&a,&b,&c); 13.已知:int a=1,b=2;,则执行语句printf("%d",a>b?a:b);后,输出结果是______。 A) 0 B) 1 C) 2 D) 以上都不正确 14.以下选项中叙述正确的是______。 A) 在switch 语句中,不一定使用break 语句 B) break 语句必须与switch 语句中的case 配合使用 C) 在switch 语句中必须使用default D) break 语句只能用于switch 语句中 15.执行以下程序后,输出结果是______。 #include void main()

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

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

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

C语言试题及答案

一 下面四个选项中,均是不合法的用户标识符的选项是()。 A、float la0 _A B、A P_0 do C、_123 temp int D、b-a goto int 表达式18/4*sqrt(4.0)/8值的数据类型为()。 A、double B、float C、int D、不确定 设: long w=65535,t=7654321; 根据下面的输出结果,正确的程序段是( ). w=65535,t=7654321 end A、printf("w=%5d,t=%7d\n",w,t);printf("%s","end'); B、printf("w=%5ld,t=%7ld",w,t);printf("%c","end"); C、printf("w=%5ld,t=%7ld\n",w,t);printf("%s","end"); D、printf("w=%5u,t=%7u\n",w,t);printf( "end"); 选择结构中的条件与循环结构中循环成立的条件,在写法上可以是任一表达式,但其值只能被判断为“真”或“假”。哪个数作为逻辑“假”值()。 A、0 B、-1 C、非零的数 D、1 假定有以下变量定义: int k=7,x=12; 则能使值为3的表达式是:( ) A、(x%=k)-(k%=5)

B、x%=(k-k%5) C、x%=k-k%5 D、x%=(k%=5) 在以下给出的表达式中,与 do--while(E)语句中的(E)不等价的 表达式是()。 A、(E>0||E<0) B、(E==0) C、(!E==0) D、(E!=0) 下面有关 for 循环的正确描述是()。 A、for 循环是先执行循环体语句,后判断表达式 B、在 for 循环中,不能用 break 语句跳出循环体 C、for 循环的循环体语句中,可以包含多条语句,但必须用花括号括起来 D、for 循环只能用于循环次数已经确定的情况 在C语言中,一维数组的定义方式为:类型说明符数组名()。 A、[整型常量]或[整型表达式] B、[正整型常量表达式] C、[整型表达式] D、[常量表达式] 以下正确的说法是( ). A、函数的类型决定返回值的类型 B、定义函数时,形参的类型说明可以放在函数体内 C、return后面不能为表达式 D、如果形参与实参的类型不一致,以实参类型为准 若调用一个函数,且此函数中没有return语句,则正确的说法是: 该函数()。 A、没有返回值 B、返回一个不确定的值 C、返回若干个系统默认值 D、能返回一个用户所希望的值 设函数的调用形式如下: f((x1, x2),(y1,y2,y3)),则函数有 ( )个形参. A、2 B、4 C、3 D、5

c语言试题及答案24213

C语言部分 一、选择题(每小题2分,共10分) (下在各小题,分别有一个或多个正确答案,请将所有正确答案的编号,填写在该小题题干后的括号内。错选或漏选均不得分)。 1、若定义:int a[2][3]{0,2,4,6,8,10};以下描述正确的有( A,C,D, E ) A、*(a+1)为元素6的地址 这里a+1=a[1]的地址;*(a+1)的值是6,故A正确。 B、*(a[1]+1)的值为2 为8,故B不正确 C、**(a+1)+2的值为8 这里a+1是一个指针,指向的是a[1]. *(a+1)为a[1],a[1]指向的是a[1][0]. **(a+1)为6,加2得8,故C正确; D、a[0]与a相同 因二者都是指针,指针的地址都是指向数组中的第一个元素的地址,故D正确。 E、a[1][2]的值为10 它是指第二行的第三个元素,为10,正确 2、对函数的正确使用方法描述( A,C,D )。 A、用数组做函数参数时,必须在主调函数和被调函数中分别定义数组 B、实参数组元素和形参数组元素类型可以不一致 C、形参数组长度可以不指定 D、形参数组长度可以大于实参数组长度 E、数组名做参数属于值传递 3、对静态变量的正确描述( A,B,D,E ) A、静态局部变量在静态存储区内分配单元() B、静态外部变量可以赋初值,也可以不赋初值 C、静态外部变量的作用与外部变量相同 D、静态局部变量在函数调用结束时,仍保存其值,不会随着消失。 E、静态局部变量只赋一次初值 4、下列描述正确的是( A ,C)。 A、由main 函数及其参数argc和* argv[]可以实现命令行方式 B、使用fclose关闭文件时,先释放文件指针,再写缓冲区数据到文件中 //先写缓冲区数据到文件中,再释放文件指针 C、字符数组并不要求它的最后一个字符是‘\0’ //是的,以字符指针指向的字符串才要求,因为只有这样,才能知道字符串的长度,而在字符数组中,不用\0,一样可以知道到哪里是字符数组的结尾。 D、‘A’和“A”都是字符串常量 E、若char*S=“\ta\017bc”;则指针变量S指向的字符串所占的字节数是7 5、在缓冲文件系统中用于读写的函数有( A,B,D ) A、putchar () B、fread() C、rewind () D、purw() E、fseek() 二、程序阅读,并给出运行结果(共10分,每题5分)。 (1)main() { unsigned a,b,x int n; a=0x763 输出结果:

相关文档