文档库 最新最全的文档下载
当前位置:文档库 › C语言基础题及参考答案

C语言基础题及参考答案

C语言基础题及参考答案
C语言基础题及参考答案

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

一、选择题

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

A. 函数

B. 函数和过程

C. 超文本过程

D. 子程序

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

A. 主过程

B. 主函数

C. 子程序

D.主程序

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

A. 用逗号换行

B. 用分号换行

C. 在任意一空格处换行

D. 用回车符换行

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

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

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

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

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

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

A. ABC

B. abc

C. a_bc

D. ab.c

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

A. _HJ

B. 9_student

C. long

D. LINE 1

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

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

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

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

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

8.不合法的常量是: B 。

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语言中,字符型数据在内存中以 D 形式存放。

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 。

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值的数据类型为: D 。

A. float

B. char

C. int

D. double

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

A. '\\'

B. '\'

C. '081'

D. '\0'

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

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

A. 36

B. -60

C. 60

D. -24

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

A. 11

B. 7

C. 5

D. 3

二、填空题

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

2.一个C源程序至少包含一个主函数,即 main()。

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

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

别是 18 和 3 。

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

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

第二单元顺序程序设计

一、选择题

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

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型变量,则执行以下语句后的输出为 A 。

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

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

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

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 。

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,则正确的输入是: B 。

A. 30’b’<回车>

B. 30 b<回车>

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

D. 30b<回车>

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

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;则以下的语句执行的结果是 C 。

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

A.2.500000

B.2.5

C.2.000000

D.2

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

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.若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.程序段如下:则以下说法中正确的是:。

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

{ int i,j,k;

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

{ for (j=0;j<=2-i;j++) printf(" ");

for (k=0;k<= (2) ;k++) printf("*");

(3)

}

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

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

printf(" ");

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

printf("*");

printf("\n");

}

}

7.准备客票。某铁路线上共10个车站,问需要准备几种车票? main()

{ int i,j,station,total=0;

printf("输入车站数:");

scanf("%d",&station);

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

for (j= (2) ;j<=station;j++)

total= (3) ;

printf("车票种类=%d \n",total);

}

第五单元数组

一、选择题

1.以下关于数组的描述正确的是。

A. 数组的大小是固定的,但可以有不同的类型的数组元素。

B. 数组的大小是可变的,但所有数组元素的类型必须相同。

C. 数组的大小是固定的,但所有数组元素的类型必须相同。

D. 数组的大小是可变的,但可以有不同的类型的数组元素。

2.在定义int a[10];之后,对a的引用正确的是。

A. a[10]

B. a[6.3]

C. a(6)

D. a[10-10]

3.以下能正确定义数组并正确赋初值的语句是。

A. int n=5,b[n][n];

B. int a[1][2]={{1},{3}};

C. int c[2][]={{1,2},{3,4}}

D. int a[3][2]={{1,2},{3,4}}

4.以下不能正确赋值的是。

A. char s1[10];s1="test";

B. char s2[]={’t’,’e’,’s’,’t’}

C. char s3[20]= "test";

D. char s4[4]={ ’t’,’e’,’s’,’t’}

5.下面程序段运行时输出结果是。

char s[18]= "a book! ";

printf("%.4s",s);

A. a book!

B. a book!

C. a bo

D. 格式描述不正确,没有确定输出

6.下面程序段运行时输出结果是。

char s[12]= "A book";

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

A. 12

B. 8

C. 7

D. 6

7.在执行int a[][3]={1,2,3,4,5,6};语句后,a[1][0]的值是。

A. 4

B. 1

C. 2

D. 5

二、读程序写结果

1.#include

void main()

{

int a[8]={1,0,1,0,1,0,1,0},i;

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

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

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

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

}

2.#include

void main()

{

float b[6]={1.1,2.2,3.3,4.4,5.5,6.6},t;

int i;

t=b[0];

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

b[i]=b[i+1];

b[5]=t;

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

printf(“%6.2f”,b[i]);

}

3.#include

void main()

{ int p[7]={11,13,14,15,16,17,18},i=0,k=0;

while(i<7 && p[i]%2)

{ k=k+p[i]; i++;}

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

}

4. void main()

{ int a[3][3]={1,3,5,7,9,11,13,15,17};

int sum=0,i,j;

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

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

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

if (i==j)

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

}

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

}

5.void main()

{ int a[4][4],i,j,k;

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

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

a[i][j]=i-j;

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

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

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

printf("\n");

}

}

6. #include

main()

{ int i,s;

char s1[100],s2[100];

printf("input string1:\n"); gets(s1); printf("input string2:\n"); gets(s2); i=0;

while ((s1[i]==s2[i])&&(s1[i]!='\0')) i++;

if ((s1[i]=='\0')&&(s2[i]=='\0')) s=0; else s=s1[i]-s2[i];

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

}

输入数据 aid

and

7.void main()

{

char ch[3][5]={ "AAAA","BBB","CC"};

printf("\"%s\"\n",ch[1]);

}

8.#inlcude

#include

void main()

{

char str[10][80],c[80];

int i;

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

gets(str[i]);

strcpy(c,str[0]);

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

2019年电大C语言考试题库(c语言小题+编程)

C语言程序设计课程期末复习练习 一、单选题 1.在每个C语言程序中都必须包含有这样一个函数,该函数的函数名为( )。 A. main B. MAIN C. name D. function 2.每个C语言程序文件的编译错误分为()类。 A. 1 B. 2 C. 3 D. 4 3. 字符串"a+b=12\n"的长度为()。 A. 6 B. 7 C. 8 D. 9 4. 在switch语句的每个case块中,假定都是以break语句结束的,则此switch语句容易被改写为()语句。 A. for B. if C. do D. while 5. 在下面的do-while循环语句中,其循环体语句被执行的次数为()。 int i=0; do i++; while(i<10); A. 4 B. 3 C. 5 D. 10 6. 将两个字符串连接起来组成一个字符串时,选用的函数为()。 A. strlen() B. strcap() C. strcat() D. strcmp() 7. 若用数组名作为函数调用的实参,传递给形参的是()。 A. 数组的首地址 B. 数组中第一个元素的值 C. 数组中全部元素的值 D. 数组元素的个数 8. 假定a为一个整数类型的数组名,整数类型的长度为4,则元素a[4]的地址比a数组的首地址大( )个字节。 A. 4 B. 8 C. 16 D. 32 9. 假定s被定义为指针类型char *的变量,初始指向的字符串为"Hello world!",若要使变量p指向s所指向的字符串,则p应定义为()。 A. char *p=s; B. char *p=&s; C. char *p;p=*s; D. char *p; p=&s; 10. 从一个数据文件中读入以换行符结束的一行字符串的函数为()。 A. gets() B. fgets() C. getc() D. fgetc() 11. 由C语言目标文件连接而成的可执行文件的缺省扩展名为( )。 A. cpp B. exe C. obj D. c 12. 设有两条语句为“int a=12; a+=a*a;”,则执行结束后,a的值为( )。 A. 12 B. 144 C. 156 D. 288 13. 带有随机函数调用的表达式rand()%20的值在( )区间内。 A. 1~19 B. 1~20 C. 0~19 D. 0~20 14. for循环语句“for(i=0; i

大学C语言考试试题

C语言模拟试题 一、判断 1、关系运算符<= =与= =的优先级相同。(N ) 2、C语言的函数可以嵌套定义。(N ) 3、若有定义和语句:int a;char c;float f;scanf(“%d,%c,%f”,&a,&c,&f);若通过键盘输入:10,A,12.5, 则a=10,c=?A?,f=12.5.( Y ) 4、变量根据其作用域的范围可以分作局部变量和全局变量。( Y ) 5、#define和printf都不是C语句。( Y ) 6、Int I,*p=&I;是正确的C说明。( Y ) 7、结构体类型只有一种。( N ) 8、在Turbo C中,整形数据在内存中占2个字节。( N ) 9、一个include命令可以指定多个被包含的文件。( N ) 10、有如下说明:int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;则数值为9的表达式是*(p+8).( Y ) 二、选择 2、C语言中,char类型数据占(A) A、1个字节 B、2个字节 C、4个字节 D、8个字节 3、已知x=43,ch=?A?,y=o;则表达式(x>=y&&ch1;i--) for(j=1;j

C语言基础知识_测试题

C语言程序设计基础测试题 一、单选 [1] 下面叙述中错误的是____。 A. 复合语句中定义的函数只在该复合语句中有效 B. return( )语句中的括号中,可以是变量,常量或有确定值的表达式 C. 形式参数也是局部变量 D. 主函数中定义的变量在整个程序中都是有效的 [2]下列说法中正确的是____。 A.带参数的宏定义中的参数是没有类型的 B.宏展开将占用程序的运行时间 C.宏定义命令是C语言中的一种特殊语句 D.使用#include命令包含的头文件必须以“.h"为后缀 [3.] 若函数的形参为一维数组,则下列说法中正确的是____。 A.调用函数时的对应实参必为数组名 B.形参数组可以不指定大小 C.形参数组的元素个数必须等于实参数组的元素个数 D.形参数组的元素个数必须多于实参数组的元素个数 [4]. 系统的标准输出设备是____。 A.键盘 B.硬盘 C.内存 D.显示器 [5] 下面叙述中正确的是____。 A.全局变量在定义它的文件中的任何地方都是有效的 B.全局变量在程序的全部执行过程中一直占用内存单元 C. C语言的switch语句中case后可为常量或表达式或有确定值的变量及表达式 D. 说明函数时必须明确其参数类型和返回类型 [6]. C程序的基本结构单位是____。 A.文件 B.语句 C.函数 D.表达式 [7] 对于定义,char *aa[2]={"abcd","ABCD"},选项中说法正确的是____。 A.aa数组元素的值分别是"abcd"和"ABCD" B.aa是指针变量,它指向含有两个数组元素的字符型一维数组 C.aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址 D.aa数组的两个元素中各自存放了字符'a'和'A'的地址 [8]. 任何一个C语言的可执行程序都是从____开始执行的。 A.程序中的第一个函数 B.main( )函数的入口处

C语言基础编程题

5-1求幂之和(15分) 本题要求编写程序,计算sum=2^1+2^2+2^3+\cdots+2^n sum=21+22+23++2n。可以调用pow函数求幂。 输入格式: 输入在一行中给出正整数n n(\le≤10)。 输出格式: 按照格式“result=计算结果”输出。 输入样例: 输出样例: #include<> #include<> intmain() { inti,n,sum=0; scanf("%d",&n); for(i=1;i<=n;i++) { sum=sum+pow(2,i); } printf("result=%d\n",sum); return0; } 5-2近似求PI(15分) 本题要求编写程序,根据下式求\piπ的近似值,直到最后一项小于给定精度eps。

\frac{\pi}{2}=1+\frac{1!}{3}+\frac{2!}{3\times5}+\frac{3!}{3\times5\times7}+\ cdots+\frac{i!}{3\times5\times\cdots\times(2\timesi+1)}+\cdots2π=1+31!+3×52!+3×5×73!++3×5××(2×i+1)i!+ 输入格式: 输入在一行中给出精度eps,可以使用以下语句来读输入: 输出格式: 在一行内,按照以下格式输出\piπ的近似值(保留小数点后5位): 输入样例: 输出样例: #include<> #include<> intmain() { doublea=1,b=3,i=1,j=3; doubleeps,m=1,sum=0; scanf("%le",&eps); while(m>eps) { m=a/b; sum=sum+m; i=i+1; j=j+2; a=a*i; b=b*j; } printf("PI=%.5lf\n",2+2*sum);

大学c语言考试题库含答案

================================================== 题号:1482 执行以下程序段后,输出结果和a的值是()。int a=10; printf("%d",a++); A、11 和10 B、11 和11 C、10 和11 D、10 和10 答案: C 题号:2100 已知字符'A'的ASCⅡ代码值是65,字符变量c1的值是'A',c2的值是'D'.执行语句printf("%d,%d",c1,c2-2);后,输出结果是 A、65,66 B、A,B C、65,68 D、A,68 答案: A 题号:5055 相同结构体类型的变量之间,可以()。 A、比较大小 B、地址相同 C、赋值 D、相加 答案: C 题号:3217 int a[10];合法的数组元素的最小下标值为()。 A、1 B、0 C、10 D、9 答案: B

能正确表示逻辑关系:" a≥10或a≤0 "的C语言表达式是 A、a>=0 | a<=10 B、a>=10 or a<=0 C、a>=10 && a<=0 D、a>=10 || a<=0 答案: D 题号:157 main() {int x=1,a=0,b=0; switch (x) { case 0: b++; case 1: a++; case 2: a++;b++;} printf("a=%d,b=%d",a,b); }该程序的输出结果是( ) A、2,2 B、2,1 C、1,1 D、1,0 答案: B 题号:4784 设变量a是整型,f是实型,i是双精度型,则表达式10+'a'+i*f值的 数据类型为()。 A、不确定 B、double C、int D、float 答案: B 题号:1647 以下程序中,while循环的循环次数是______ main() { int i=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 。 A)2.5 B)2 C)1 D)3 11.如果int a=3,b=4;则条件表达式"a

年C语言程序设计基础期末考试试卷‘B’及答案

年C语言程序设计基础期 末考试试卷‘B’及答案 The following text is amended on 12 November 2020.

一、单项选择题 1. 在C语言中,下面字符串能用作变量名的是( )。 A、a+b B、auto C、2-and D、a2 2. 若double x=2,y;则执行y=x+3/2;后,y的值是( )。 A、 B. C. D. 3 3. 下列关于C语言中字符常量与字符串常量的叙述中,错 误的是( )。 A、字符常量是用单撇号括起来的一个字符 B、空格字符也可用作字符常量 C、字符串常量是用单撇号括起来的一个字符序列 D、字符串常量是用双撇号括起来的一个字符序列 4. 若有以下变量说明和数据的输入方式,则正确的输入语 句为( )。

变量说明:float x1,x2; 数据的输入方式:<回车> <回车> A、scanf(“%f,%f”,&x1,&x2); B、scanf(“%f%f”,&x1,&x2); C、scanf(“%,%”,&x1,&x2); D、scanf(“%%”,&x1,&x2); 6. 在一个源文件中定义的全局变量的作用域为()。 A. 本文件的全部范围 B. 从定义该变量开始至本文件结束 C. 本函数的全部范围 D. 本程序的全部范围

7. 当调用函数时,实参是一个数组名,则向函数传送的是( )。 A、数组的长度 B、数组的首地址 C、数组每一个元素的地址 D、数组每个元素中的值 8.若j为整型变量,则下面while循环( )。 j=10; while(j!=0) j=j-1; A、执行0次 B、执行1次 C、执行10次 D、执行无限次 9. 在while(x)语句中的x与下面条件表达式等价的 是:( )。 A、x!=0 B、 x==1 C、x!=1 D、x==0 10. 以下对C语言函数的描述中,正确的是( )。 A、调用函数时,参数可以是表达式

C语言习题集(基础篇)

《C语言程序设计》习题篇 第一章C语言基础知识 1.1 选择题 1. 以下不是C语言的特点的是()。 A、语言简洁紧凑 B、能够编制出功能复杂的程序 C、C语言可以直接对硬件操作 D、C语言移植性好 2.下列字符序列中,不可用作C语言标识符的是()。 A.abc123 B.no.1 C._123_ D._ok 3.正确的C语言标识符是()。 A._buy_2 B.2_buy C.?_buy D.buy? 4. 请选出可用作C语言用户标识符的一组标识符()。 A.void B.a3_b3 C.For D.2a define _123 -abc DO WORD IF Case sizeof 5.下列符号中,不属于转义字符的是()。 A.\\ B.\0xAA C.\t D.\0 6.不属于C语言关键字的是()。 A.int B.break C.while D.character 7.是C语言提供的合法关键字的是()。 A.Float B.signed C.integer D.Char 8.以下不能定义为用户标示符的是()。 A.scanf B.V oid C._3com_ D.int 9.一个C程序是由()。 A.一个主程序和若干子程序组成 B.一个或多个函数组成 C.若干过程组成 D.若干子程序组成 10. C语言程序的基本单位是()。 A.程序行B.语句C.函数D.字符 11.下列说法中,错误的是()。 A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外 C.主函数只能调用用户函数或系统函数,用户函数可以相互调用

(完整版)C语言考试题库之判断题(2)

三、判断题(10道小题,共10分) 1、C 语言具有简洁明了的特点。(1分) 正确 2、预处理命令的前面必须加一个“#”号。(1分) 正确 3、标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。(1分) 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。(1 分) 正确 5、continue 不是结束本次循环,而是终止整个循环的执行。(1分) 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数(1分) 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递(1分) 正确 8、直接访问就是直接利用变量的地址进行存取直接访问(1分) 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。(1分) 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。(1分) 错误 11、C 语言标准格式输入函数scanf() 的参数表中要使用变量的地址值。(1分) 正确 12、浮点型常量的指数表示中,e 是可以省略的。(1分) 错误 13、任何表达式语句都是表达式加分号组成的。(1分) 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。(1分) 错误 15、do-while循环的while后的分号可以省略。(1分) 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。正确 17、C语言函数返回类型的默认定义类型是void(1分) 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数(1分) 正确 19、枚举类型中的元素都具有一个整型值。(1分) 正确 20、C 语言是一种具有某些低级语言特征的高级语言。(1分) 正确 21、case语句后如没有break,顺序向下执行。(1分)正确

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语言考试试题基础版

一、选择题 1. 在每个C 程序中都必须包含有这样一个函数,该函数的函数名为 。 A. main B. MAIN C. name D. function 2. 在以下关于C 语言的注释的叙述中,不正确的是 。 A .注释可用"/*"、"*/"形式表示,也可用"//"形式表示 B .编译器在编译一个程序时,将跳过注释,不对其进行处理 C .编译器在编译一个程序时,可发现注释中的单词拼写错误 D .程序中注释的多少不会影响所生成的可执行文件的长度 3. 以下叙述不正确的是 。 A .在C 程序中,严格区分大小写字母 B .一个C 源程序有且仅有一个main 函数 C .在C 程序中,注释只能位于一条语句的后面 D .一个C 程序总是从main 函数开始执行 4. 下列合法的标识符为 A. abde+ B. #KDJF C. 67KDJ D. DK3_ 5. 关于字符串和字符的关系正确的是 A. “A ”与’A ’是相同的 B. 字符串是常量,字符是变量 C. “A ”与’A ’是不同的 D. “A ”与“A ”是相同的 6. 下面关于语句的说法正确的是 A. 下面这两段程序的执行效果是一致的 B. 空语句是只有一个分号的语句,它其实什么也不干 C. 语句的构成不一定需要分号 D. 语句的书写对程序的运行不起作用,因此可以随便写都可以 7. 以下各标识符中,合法的用户标识符组为 。 A. PAd ,P#d ,b-b ,abc ,_0123,ssiped B. cin ,a10,CPP ,float ,del_word ,signed C. void ,max ,hiy ,,list ,*jer if (x>y) {z=x; s=z*z;} else {z=y;s=1/(z*z);} if (x>y) z=x; s=z*z; else z=y;s=1/(z*z);

C语言试题库(完整版)

C语言试题库 一、单项选择 第一章 C语言概述 (1)一个C程序的执行是从 A、本程序的MAIN函数开始,到MAIN 函数结束。 B、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。 C、本程序的MAIN函数开始,到本程序的最后一个函数结束。 D、本程序文件的第一个函数开始,到本程序的MAIN函数结束。(2)以下叙述正确的是 A、在C程序中,MAIN函数必须位于程序的最前面。 B、 C程序的每行中只能写一条语句。 C、 C语言本身没有输入输出语句。 D、在对一个C程序进行编译的过程中,可发现注释中的拼写错误。(3) C语言规定,在一个源程序中,MAIN主函数的位置是在: A、必须在最前面。 B、必须在系统调用的库函数的后面 C、可以在任意位置。

D、必须在最后面 (4)一个C程序是由: A、一个主程序和若干子程序组成 B、函数组成 C、若干过程组成 D、若干子程序组成 (5)以下叙述不正确的是: A、一个C源程序可由一个或多个函数组成 B、一个C源程序必须包含一个MAIN函数 C、 C程序的基本组成单位是函数 D、在C程序中,注释说明只能位于一条语句的后面 第二章数据类型、运算符与表达式 (1)若x, i, j, k都是int型变量,则计算下面表达式后,x的值为x=( i=4, j=16, k=32) A、4 B、16 C、32

D、52 (2)下列四组选项中,均不是C语言键字的选项是 A、define , IF, type B、getc, char, printf C、include, scanf, case E、 if, struct, type (3)下面四个选项中,均是不合法的用户标识符的选项是A、A,P_0,do B、float,1a0, _A C、b-a, goto, int D、_123, temp, INT (4)若有代数式3ae/bc,则正确的C语言表达式是A、a/b/c*e*3 B、3*a*e/bc C、3*a*e/b*c D、a*e/c/b*3 (5)已知各变量的类型说明如下:

大一c语言考试试题

一、单项选择题(每小题2分,共50分) 1、一个C程序的执行是从___A__。 A、本程序的main函数开始,到main函数结束 B、本程序的main函数开始,到本程序文件的最后一个函数结束 C、本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 D、本程序文件的第一个函数开始,到本程序main函数结束 2、C语言程序的基本单位是___C___。 A、程序行 B、语句 C、函数 D、字符 3、请选出可用作C语言用户标识符的一组标识符___B___。 A、void B、a3_b3 C、For D、2a define_123-abcDO WORDIFasesizeof 4、假定x和y为double型,则表达式(x=2,y=x+5/2)的值是__C__。 A、、4 C、、 5、下列可以正确表示字符型常量的是___D__。 A、297 B、"a" C、"\n" D、'\t' 6、在C语言中,要求运算数必须是整型的运算符是__D__。 A、/ B、++ C、*= D、% 7、C语言中,复合语句的构成是将一系列语句置于__C__。 A、begin与end之间 B、方框号“[]”之间 C、花括号“{}”之间 D、圆括号“()”之间 8、有如下程序段,对应正确的数据输入是___A___。 floatx,y; scanf(”%f%f”,&x,&y); printf(”a=%f,b=%f”,x,y); A、<回车> B、,<回车> <回车> C、A=,B=<回车> D、回车> 9、以下程序段的输出结果是___D__。 inta=5678; printf(”%2d\n”,a); A、提示出错、无结果 B、56 C、78 D、5678 10、已知:charch='A';则下列表达式的值是__B__。 ch=(ch>='A'&&ch<='Z')?(ch+32):ch; A、A B、a C、Z D、z

大学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语言编程基础考试试题 文档名称文档密级 C语言编程基础考试 [考前说明]本题目中不考虑头文件引用问题(假定已经包含正确的头文件),C 语言的标 准函数都可用;如果不特别说明, 假定程序运行环境为:操作系统Windows 2000, VC6.0编译环境,缺省为四字节对齐, X86(80586)CPU处理器(32位小字节序处理器). 一、单选题 1、给出以下定义: char acX[ ]= "abcdefg"; char acY[ ]= {'a','b','c','d','e','f','g'}; 则正确的叙述为( ) A) 数组acX和数组acY等价 B) 数组acX和数组acY的长度相同 C) 数组acX的长度大于数组acY的长度 D) 数组acX的长度小于数组Y的长度 2、 void example(char acHello[]) { printf("%d", sizeof(acHello)); return; } void main()

{ char acHello[] = "hello"; example(acHello); return; } 的输出是( ) A 4 B 5 C 6 D不确定 3、以下叙述中不正确的是( ) A) 在不同的函数中可以使用相同名字的变量 B) 函数中的形式参数是在栈中保存 C) 在一个函数内定义的变量只在本函数范围内有效 D) 在一个函数内的复合语句中定义的变量在本函数范围内有效(复合语句指函数 中的成对括号构成的代码) 4、设有如下定义: unsigned long pulArray[] = {6, 7, 8, 9, 10}; unsigned long *pulPtr; 则下列程序段的输出结果为( ) 1 文档名称文档密级 pulPtr = pulArray; *(pulPtr + 2) += 2; printf ("%d,%d\n", *pulPtr, *(pulPtr + 2)); A)8,10 B)6,8 C)7,9 D)6,10

C语言基本练习题

1. 某城市出租车收费标准如下:起步里程是3 公里,起步费是10 元;超出起步里程后每公里 1.5 元。编写程序,输入行驶里程(公里) ,计算并输出乘客应支付的车费(元)。 #include int main() { double n; scanf("%lf",&n); if(n<=3) { printf("%d\n",10); } else { printf("%.2f\n",1.0*(10+(n-3)*1.5)); } return 0; } 2. 某城市月用水量收费标准如下:每月使用吨数小于等于15 吨的,每吨收费2.5 元;每月使用吨数超过15 吨的,采用分段计费:超过部分每吨 3 元。编写程序,输入使用吨数,计算并输出用户水费(元) 。 #include int main() { double n,x; scanf("%lf",&n); if(n<=15) {x=n*2.5; } else { x=15*2.5+(n-15)*3.0; } printf("%.2f\n",x); return 0; } 3. 求解简单表达式。输入一个形式如:"操作数运算符操作数"的四则运算表达式,输出运算结果,要求使用switch 语句( if 语句)编写。#include #include int main() { double s1,s2; char op; scanf("%lf %c %lf",&s1,&op,&s2); switch(op) {case '+':printf("%.2f\n",s1+s2);break; case '-':printf("%.2f\n",s1-s2);break; case '*':printf("%.2f\n",s1*s2);break; case '/': if(fabs(s2)

C语言考试题库之判断题[1]_共5页

三、判断题(10道小题,共10分) 1、c语言具有简洁明了的特点。 正确 2、预处理命令的前面必须加一个“#”号。正确 3、标准格式输入函数seanf()可以从键盘上接收不同数据类型的数据项。 正确 4、在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{} 括起来组成一个复合语句。 正确 5、continue不是结束本次循环,而是终止整个循环的执行。 错误 6、在对数组全部元素赋初值时,不可以省略行数,但能省略列数 错误 7、.函数的实参传递到形参有两种方式值传递和地址传递 正确 8、直接访问就是直接利用变量的地址进行存取直接访问 正确 9、共用体变量可以作结构体的成员,结构体变量也可以作共用体的成员。 正确 10、文件指针和位置指针都是随着文件的读写操作在不断改变。 错误 11、C语言标准格式输入函数scanfO的参数表中要使用变量的地址值。 正确 12、浮点型常量的指数表示中,6是可以省略的。 错误 13、任何表达式语句都是表达式加分号组成的。 正确 14、在switch语句中,每一个的case常量表达式的值可以相同。 错误 15、do-while循环的while后的分号可以省略。 错误 16、用字符串方式赋值比用字符逐个赋值要多占一个字节,用于存放字符串结束标志'\0'。 正确 17、C语言函数返回类型的默认定义类型是void( 错误 18、可以用一个指针变量指向一个函数,然后通过该指针变量调用此函数正确 19、枚举类型中的元素都具有一个整型值。 正确 20、C语言是一种具有某些低级语言特征的高级语言。 正确 21、c ase语句后如没有break,顺序向下执行。正确 22、d o-while循环至少要执行一次循环语句。正确

大学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语言机试(C语言基础知识)模拟试卷8

国家二级C语言机试(C语言基础知识)模拟试卷8 (总分:60.00,做题时间:90分钟) 一、选择题(总题数:30,分数:60.00) 1.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令。关于转换以下说法错误的是 (分数:2.00) A.一条C语句可能会被转换成多条机器指令 B.一条C语句对应转换成一条机器指令√ C.一条C语句可能会被转换成零条机器指令 D.某种类型和格式的C语句被转换成机器指令的条数是固定的 解析:解析:由C语言编写的程序,通过编译、链接转换成可以让机器识别的01二进制指令。这些二进制指令命令机器计算,这些就是机器指令,而C语言的语句条数和机器指令的条数不是一对一的关系。 2.以下选项中不属于C语言程序运算符的是 (分数:2.00) A.sizeof B.() C.<> √ D.&& 解析:解析:sizeof为测试内存的运算符,()为算术运算符,&&为逻辑运算符。而<>不是C语言的运算符,C语言中!=表示不等于。 3.若变量已正确定义并赋值,以下不能构成C语句的选项是 (分数:2.00) A.A=a+b: B.B++; C.a=a+b √ D.A?a:b; 解析:解析:C语言语句的表示为分号,不加分号的表达式不能看成C语句。 4.以下叙述中正确的是 (分数:2.00) A.程序必须包含所有三种基本结构才能成为一种算法 B.如果算法非常复杂,则需要使用三种基本结构之外的语句结构,才能准确表达 C.只有简单算法才能在有限的操作步骤之后结束 D.我们所写的每条C语句,经过编译最终都将转换成二进制的机器指令√ 解析:解析:C语句构成了函数,函数构成的程序,经过编译转换成二进制代码后可以运行,算法是指为解决某个特定问题而采取的确定且有限的步骤,可以利用代码来捕述算法,而算法+数据结构才是程序,结构化的程序由顺序结构、循环结构和选择结构三种基本结构组成。由这三种基本结构组成的算法可以解决任何复杂的问题,反之则不一定,所有算法必须在有限步骤后结束。 5.下列选项中,不能用作标识符的是 (分数:2.00) A._1234 B._1_2 C.int_2_ D.2_int_ √ 解析:解析:C语言中标以符必须以字母或者下划线开始,选项D)中是以数字开始的不能作为标识符。6.以下选项中作为C语言合法常量的是 (分数:2.00) A.-80.√ B.-080

C语言基础题及参考答案

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以 D 。 A. 用逗号换行 B. 用分号换行 C. 在任意一空格处换行 D. 用回车符换行 4.以下叙述不正确的是: C 。 A. 在C程序中,语句之间必须要用分号";"分隔 B. 若a是实型变量,C程序中a=10是正确的,因为实型变量中允许存放整型数 C. 在C程序中,无论是整数还是实数都能正确无误地表示 D. 在C程序中,%是只能用于整数运算的运算符 5.以下不正确的C语言标识符是 D 。 A. ABC B. abc C. a_bc D. ab.c 6.下列字符串是标识符的是:。 ? A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: B 。 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语言中,字符型数据在内存中以 D 形式存放。 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 。

c语言上机题库 (1)

1、给定n 个数据, 求最小值出现的位置(如果最小值 出现多次,求出第一次出现的位置即可)。 2、编写程序求无理数e 的值并输出。计算公式为: e=1+1/1!+1/2!+1/3!+......+1/n! 当1/n!<0.000001时e=2.718282。 3、求一批数中最大值和最小值的积。 4、某一正数的值保留2位小数,对第三位进行四舍 五入。 5、从键盘上输入任意实数x,求出其所对应的函数值。 z=(x-4)的二次幂(x>4) z=x 的八次幂(x>-4) z=z=4/(x*(x+1))(x>-10) z=|x|+20(其他) 6、求出N ×M 整型数组的最大元素及其所在的行坐标 及列坐标(如果最大元素不唯一,选择位置在最前面 的一个)。 例如:输入的数组为: 1 2 3 4 15 6 12 18 9 10 11 2 求出的最大数为18,行坐标为2,列坐标为1。 7、求一个n 位自然数的各位数字的积。(n 是小于10的 自然数) 8、计算n 门课程的平均值,计算结果作为函数值返回。 例如:若有5门课程的成绩是:92,76,69,58,88, 则函数的值为76.599998。 9、求一批数中小于平均值的数的个数。 10、编写函数判断一个整数m 的各位数字之和能否被7整除, 可以被7整除则返回1,否则返回0。调用该函数找出 100~200之间满足条件的所有数。

11、请编一个函数void fun(int tt[M][N],int pp[N]), tt指向一个M行N列的二维数组,求出二维数组每列 中最大元素,并依次放入pp所指一维数组中。二维 数组中的数已在主函数中赋予。 12、编写函数fun用比较法对主程序中用户输入的具有10 个数据的数组a按由大到小排序,并在主程序中输出 排序结果。 13、编写main程序调用函数fact求解从m个元素选n 个元 素的组合数的个数。计算公式是:组合数=m!/(n!.(m-n)!)。 要求:m不能小于n,否则应有容错处理。 说明:函数fact(x)的功能是求x!。 14、找出一批正整数中的最大的偶数。 15、实现两个整数的交换。 例如:给a和b分别输入:60和65,输入为: a=65 b=60 16、将字符串中的小写字母转换为对应的大写字母, 其它字符不变。 17、求一个四位数的各位数字的立方和。 18、求一组数中大于平均值的数的个数。 例如:给定的一组数为1,3,6,9,4,23,35,67,12,88时,函数值为3。 19、对任意输入的x,用下式计算并输出y 的值。 5 x<10 y= 0 x=10 -5 x>10 20、求给定正整数m以内的素数之和。 例如:当m=20时,函数值为77。 21、判断整数x是否是同构数。若是同构数,函数返回1; 否则返回0。x的值由主函数从键盘读入,要求不大

相关文档