文档库 最新最全的文档下载
当前位置:文档库 › C语言期末复习题 (1)

C语言期末复习题 (1)

C语言期末复习题 (1)
C语言期末复习题 (1)

基本数据类型

一、选择题

1.下列数据中,不正确的数值或字符常量是()。

A.0.825e2 B.5L

C.0xabcd D.o13

2.以下字符中,不正确的C语言转义字符是()。

A.'\\' B.'\018'

C.'\xaa' D.'\t'

3.已知大写字母A的A SCII码值是65,小写字母a的A SCII码是97,则用八进制表示的字符常量'\101'是()。

A.字符A B.字符a C.字符e D.非法的常量

4.以下选项中可作为C语言合法整数的是()。

A.10110B B.0386 C.0Xffa D.x2a2

5.以下符合C语言语法的实型常量是()。

A.1.2E0.5 B.3.14.159E C..5E-3 D.E15

6.已定义ch为字符型变量,以下赋值中错误的是()。

A.ch='\'; B.ch=62+3; C.ch=NULL; D.ch='\xaa';

7.已定义c为字符型变量,则下列赋值中正确的是()。

A.c='97'; B.c="97"; C.c=97; D.c="a";

8.C语言中最基本的数据类型包括( )。

A.整型、实型、逻辑型 B.整型、实型、字符型

C.整型、字符型、逻辑型 D.整型、实型、逻辑型、字符型

9.在C语言中,合法的字符常量是( )。

A. . '\084' B. '\x43' C. 'ab' D. "\0"

10.已知在ASCII代码中,字母A的序号为65,以下程序的输出结果是( )。

#include

main( )

{char c1='A ', c2='Y '; printf("%d,%d\n" , c1 , c2) ; }

A.输出格式非法,输出错误信息 B.65, 90 C.A, Y D.65, 89

二、填空题

1.C语言中,常量包括_________、_________、_________和_________。

2.C语言中,数据类型包括_________、_________、_________和_________。

3.字符串ab在C语言中表示为。

4. C语言中的变量实际代表内存中的一个______。

5. 在C语言中,整数可用______进制数、______进制数与______进制数3种来表示,以0x打头的是进制数,以0打头的是进制数。

6.若有说明语句:char c=‘\035’;则变量c包含个字符。

三、简答题

1.C语言的基本数据类型有几种,分别是什么,并指出各种数据类型的关键字?

2. 常量和变量的区别是什么?

3. 在程序中如何使用变量?

4.字符和字符串表示形式有什么区别?'a'和"a"有什么不同?9和'9'有何不同?空字符'\0'和空格字符' '有何区别?

运算符与表达式

一、选择题

1.在下列运算符中,优先级最高的运算符是()。

A.<= B.% C.= D.&&

2.若有代数式ae/ bc,则错误的C语言表达式是()。

A.a/b/c*e B.a*e/b*c C.a*e/b/c D.a*e/c/b

3.已知有以下变量定义:

int i=8,k,a,b;

unsigned long w=5;

double x=1.42,y=5.2;

则不符合C语言语法的表达式是()。

A.k=i++ B.(int)x+0.4 C.w+=-2 D.a=2*a=3

4.运行以下程序段后,x的值为()。

int m=3, n=4, x;

x = -m++;

x = x+8/++n;

A.3 B.5 C.-1 D.–2

5.设有以下定义

int a = 0;

double b = 1.25;

char c = 'A ';

#define d 2

则下面语句中错误的是()。

A.a++; B.b++; C.c++; D.d++;

6.设有如下程序段:

int x=2002, y=2003;

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

则以下叙述中正确的是()。

A.输出语句中格式说明符的个数少于输出项的个数,不能正确输出

B.运行时产生出错信息

C.输出值为2002

D.输出值为2003

7.以下非法的赋值语句是()。

A.n =(i=2, ++i); B.j++; C.++(i+1); D.x = j>0;

8.设a和b均为double型变量,且a=5.5、b=2.5,则表达式(int)a+b/b的值是()。

A.6.500000 B.6 C.5.500000 D.6.000000

9.若有以下程序:

main()

{

int k=2,i=2,m ;

m=(k+=i*=k);

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

}

执行后的输出结果是()。

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

10.若有定义:

int a=8, b=5, c;

执行语句c=a/b+0.4;后,c的值为()。

A.1.4 B.1 C.2.0 D.2

11.下列选项中哪个是合法的标识符()。

A.char B.5abc C.t_a D._*m2

二、填空题

1.C语言中的表达式包括___________、___________、___________、__________、_________和__________。

2.C语言中的结合方向有__________和___________。

3.若有定义:int a=0;则执行赋值语句a+=a*=a% =a-=15;后变量a中的值是_________。

4.printf("% d\n",(int)(2.5+3.0)/3);的输出结果是_________。

5.设int x=9; 执行 x+=3+x%(-3);后x的值为。

6.假设变量a为整型,则执行a=3+5,a*4;printf("% d\n",a);后的输出结果是________。

7.条件:“0

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

9.在C语言中,要求运算数必须是整型的运算符是。

10.在C语言中,表示逻辑“假”的值用。

11.表达式7>6>5的值为。

12.设a=0,b=1,c=2,则表达式a||b+c&&b==c的值是。

三、计算下列各表达式的值。

1.5/2+5.0/2+7%6

2.a=3,b=4,c=5,a+b>c&&b==c

3.a=3*5,a*4,a+5

4.5>2>1

四、编程题

1.输入一个整数,取出它的个位数部分。

2.输入一个浮点数,分别输出它的整数部分和小数部分。

顺序结构程序设计

一、选择题

1.请选出合法的C语言赋值语句( )。

A.a=b=58 B.(i+1)++ ; C.a=58, b=58 D.k=(int)a+b ;

2.以下选项中,不正确的赋值语句是()。

A.t=t+1; B.n1=(n2=(n3=0));

C.k=i=j; D.a=b+c=1;

3.若有定义:int a,b,c;,要给变量a,b,c输入数据,正确的输入语句是()。

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

B.scanf("% D% D% D ",& a,& b,& c);

C.read(a,b,c);

D.scanf("% d% d% d",a,b,c);

4.阅读程序:

#include

main( )

{

int a ; float b , c;

scanf("% 2d% 3f% 4f" , & a , & b , & c);

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

}

若运行时从键盘上输入987654321↙,则程序的输出结果是( )。

A.a=98 , b=765 , c=4321 B.a=98 , b=765.000000 , c=4321.000000

C.a=98 , b=765.0 , c=4321.0 D.a=98.0 , b=765.0 , c=4321.0

5.已知字母A的A SCII码为十进制的65,下面程序的输出结果是( )。

#include

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.不确定的值

6.设有如下定义:

int x=10 , y=3 , z ;

则语句: printf("% d\n" , z=(x% y , x/y)) ; 的输出结果是( )。

A.1 B.0 C.4 D.3

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

char c1='b' , c2='e' ;

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

则输出结果是( )。

A.2 , M B.3 , E C.2 , E D.输出结果不确定

8.以下叙述中正确的是( )。

A.输入项可以是一个实型常量,例如:

scanf("% f" , 3.5) ;

B.只有格式控制,没有输入项,也能正确输入数据到内存,例如:

scanf("a=% d , b=%d")

C.输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:

scanf("% 4.2f" , &d) ;

D.当输入数据时,必须指明变量地址,例如:

scanf("% f" , &f) ;

二、填空题

1.结构化程序设计所规定的三种基本控制结构是、、结构。

2.输出字段宽为4的十进制数应使用%4d,字段宽度为6的十六进制数应使用,八进制整数应使用,字段宽度为4的字符应使用,字段宽度为8,保留3位小数的实数应使用,字段宽度为5的字符串应使用。

3.若有定义:int x=0;,则执行赋值语句:x=(x=3+5,x*5);后,变量x中的值是___________。

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

#include

main( )

{

int k=17 ;

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

}

5.若有定义:int a=0,b=0,c=0;用下面语句输入时

scanf("% d",& a);

scanf("% d",& b);

scanf("% d",& c);

从键盘输入:

1045<回车>

则执行输入语句后,变量a的值是________,变量b的值是__________,变量c的值是__________。

三、编程题

1.编写程序,输入两个整数,求出它们的商数和余数并进行输出。

2.从键盘输入一个字符,输出这字符的A SCII码的值。

3.用x,y,z表示长方体三边边长,编写程序求其表面积a和体积v,然后进行输出。其中x,y,z通过键盘输入。

4.编写程序,从键盘上输入两个电阻的值,求它们并联和串联的电阻值,输出结果保留两位小数。

【提示】并联和串联的电阻值计算公式如下:

并联电阻串联电阻RS=R1+R2

选择结构程序设计

一、选择题

1.对于条件表达式(m )?(a++):(a--)来说,其中的表达式m等价于()。

A . m ==0 B. m ==1 C. m!=0 D. m!=1

2.下述程序()。

main()

{

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

if(x=y+z)

printf("####");

else

printf("****");

}

A.有语法错误,不能通过编译 B.输出****

C.可以编译,但不能通过连接,因而不能运行 D.输出####

3.下列条件语句中,功能与其他语句不同的是()。

A.if(a) printf("% d\n", x); else printf("% d\n", y);

B.if(a==0) printf("% d\n", y); else printf("% d\n", x);

C.if (a!=0) printf("% d\n", x); else printf("% d\n", y);

D.if(a==0) printf("% d\n", x); else printf("% d\n", y);

4.有以下程序:

main()

{

int a=5, b=4, c=3, d=2;

if(a>b>c)

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

else if((c-1>=d) == 1)

printf("% d\n", d+1);

else

printf("% d\n", d+2);

}

执行后输出结果是()。

A.2 B.3 C.4 D.编译时有错,无结果

5.有以下程序:

main()

{

int a=3, b=4, c=5, d=2;

if(a>b)

if(b>c)

printf("% d", d++ +1);

else

printf("% d", ++d +1);

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

}

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

A.2 B.3 C.43 D.44

6.以下程序

int i,a=3,b=2;

i=(--a==b++)?--a:++b;

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

输出结果是()。

A. i=1 a=1 b=3 B.i=3 a=2 b=3 C.i=4 a=1 b=4 D.i=4 a=2 b=4 7.以下能够正确判断char型变量c是否为大写字母的表达式是()。A. ('A '<=c)AND ('Z'>=c) B. ('A '<=c) & ('Z'>=c)

C. ('A '<=c)&& ('Z'>=c) D.以上答案都不对

8.有如下程序

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\n",a,b);

}

该程序的输出结果是()。

A. a=2,b=1 B. a=1,b=1 C. a=1,b=0 D. a=2,b=2

二、填空题

1.条件:“20

2.当a=3,b=2,c=1时,执行if(a>c);b=a;a=c;c=b; 语句后a=___________,b=___________,c=___________。

3.设“a=1, b=2,c=3,d=4;”则表示式“a>b?a:c>d?c:d”的值是。

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

main()

{

int p=30;

printf("%d\n",(p/32>0?p/10:p%3));

}

5.写出运行结果。

#include

main()

{

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

if(x=y+z)

printf("????");

else

printf("!!!!");

}

结果:________________。

6.下列程序的功能是把从键盘上输入的整数取绝对值后输出。

main()

{

int x;

scanf("%d",_________);

if(x<0)

________________;

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

}

7.写出运行结果。

#include

main()

{

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

switch(x)

{

case 0: a++,b++; break;

case 1: a++;

case 2:b++;

}

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

}

结果:________________。

三、编程题

1.编程实现,输入一个整数,判断该数的奇偶性(输出相应的标志:even——偶数,odd——奇数)。

2.编程实现,输入一个平面上的点,判断它是否落在单位圆上,并显示相应的信息。

3.编程实现,给定一个整数,判断它是否能同时被3、5、7整除。

4.编写程序,从键盘输入3个整数,按由小到大次序输出这3个数。

5.编写程序,输入一个x值,计算分段函数的值。

循环结构程序设计

一、选择题

1.在C语言中,为了结束由while语句构成的循环,while后一对圆括号中表达式的值应该为( )。

A. 0 B. 1 C.true D.非0

2.如下程序段执行后输出()。

main()

{

int num =0;

while(num <=2)

{

num ++;

printf("% d ",num );

}

}

A.1 2 3 4 B.1 2 C.1 D.1 2 3

3.下面程序段执行时()。

x=-1;

do

{

x=x*x;

}while(!x);

A.循环体将执行一次 B.循环体将执行两次

C.循环体将执行无限次 D.提示有语法错误

4.以下的for循环( )。

for(x=0,y=0;(y!=123)&&(x<4);x++);

A.执行3次 B.执行4次

C.循环次数不定 D.是无限循环

5.执行语句:for(i=1;i++<4;)后,变量i的值是( )。

A.3 B.4 C.5 D.不定

6.下面的程序段执行后sum的值是()。

main()

{

int i,sum ;

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

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

}

A.14 B.不确定 C.15 D.0

7.以下叙述中正确的是( )。

A.do-while语句构成的循环不能用其他语句构成的循环来代替

B.do-while语句构成的循环只能用break语句退出

C.用do-while语句构成的循环,在while后的表达式为非零时结束循环D.用do-while语句构成的循环,在while后的表达式为零时结束循环8.下面选项中,没有构成死循环的程序段是()。

A.int i=100;

while(1){i=i% 100+1;if(i>100)break;}

B.for(;;);

C.int k=1000;

do

{++k;}while(k>=10000);

D.int s=36;

while(s);

--s;

9.下面的程序段中while循环执行的次数是()。

int k=0;

while(k=1)k++;

A.无限次 B.有语法错,不能执行

C.一次也不执行 D.执行1次

10.下列选项中与语句:

while()

{

if(i>=100) break;

s+=i;

i++;

}

功能相同的语句是( )。

A.for(;i<100;i++) s=s+i; B.for(;i<=100;i++) s+=i;

C.for(;i<100;i++,s=s+i); D.for(;i>=100;i++,s=s+i);

二、填空题

1.这个while循环的输出结果是。

i = 0;

while (i < 5)

{

i++;

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

}

2.有以下程序:

#include

main()

{

char c;

while((c=getchar())!='?')

putchar(--c);

}

程序运行时,如果从键盘输入:B ?C?<回车>,则输出结果为。3.假定a和b为int型变量,执行下面程序段后b的值为。

a=1;b=10;

do

{

b-=a;a++;

} while(b--<0);

4.若所有变量都已正确定义,下列程序的输出结果是。

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

printf(“YES”);

printf(“\n”);

5.执行下列程序后,输出“*”号的个数是。

#include”stdio.h”

main()

{

int i,j;

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

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

putchar(‘*’);

三、编程题

1.计算1-3+5-7+…-99+101的值。

2.编写程序从输入的三个数中找出最大值和最小值。

3.编写程序,判断从键盘输入的一个整数是否是素数,是素数就输出“This is a prime number”,不是素数就输出“This is not a prime number”。

4.求10到100之间的全部素数。

5.编写程序输出如下所示的图形。

*

***

*****

*******

*********

数组

一、选择题

(1) 在C语言中,引用数组元素时,其数组下标的数据类型允许是。

A)整型常量 B)整型表达式

C)整形常量或整形表达式 C)任何类型的表达式

(2) 以下对一维整型数组a的正确说明是。

A)int a(10) ; B)int n=10,a[n];

C)int n; D)#define SIZE 10

scanf(“%d”,&n); int a[SIZE];

int a[n];

( 3) 若有定义:int a[10],则对数组a元素的正确引用是。

A)a[10] B)a[3.5] C)a(5) D)a[10-10]

(4) 以下能对一维数组a进行正确初始化的语句是。

A)int a[10]={0,0,0,0,0}; B)int a[10]={} ;

C)int a[ ] = {0} ; D)int a[10]={10*1} ;

(5) 若有定义:int a[3][4],则对数组a元素的正确引用是。

A)a[2][4] B)a[1,3] C)a(5) D)a[10-10]

(6) 以下能对二维数组a进行正确初始化的语句是。

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

B)int a[][3]={{1,2,3},{4,5,6}} ;

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

D)int a[][3]={{1,0,1},{},{1,1}} ;

(7) 若有说明:int a[3][4]={0};则下面正确的叙述是。

A)只有元素a[0][0]可得到初值0

B)此说明语句不正确

C)数组a中各元素都可得到初值,但其值不一定为0

D)数组a中每个元素均可得到初值0

(8) 若有说明:int a[][4]={0,0};则下面不正确的叙述是。

A)数组a的每个元素都可得到初值0

B)二维数组a的第一维大小为1

C)因为二维数组a中第二维大小的值除以初值个数的商为1,故数组a的行数为1 D)只有元素a[0][0]和a[0][1]可得到初值0,其余元素均得不到初值0

(9) 若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为。(设a[0][0]位于数组的第一个位置上)

A)i*m+j B)j*m+i C)i*m+j-1 D)i*m+j+1

(10) 若有说明:int a[][3]={1,2,3,4,5,6,7};则数组a第一维大小是。

A)2 B)3 C)4 D)无确定值

(11) 下面程序段的输出结果是。

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

for (k=0;k<3;k++) printf(“%d”,a[k][2-k]);

A)3 5 7 B)3 6 9 C)1 5 9 D)1 4 7

(12)下面是对s的初始化,其中不正确的是。

A)char s[5]={“abc”}; B)char s[5]={‘a’,’b’,’c’};

C)char s[5]=” ”; D)char s[5]=”abcdef”;

(13)下面程序段的输出结果是。

char c[5]={‘a’,’b’,’\0’,’c’,’\0’}

printf(“%s”,c);

A)’a’’b’ B)ab C)ab c D)abc

(14)判断字符串a和b是否相等,应当使用。

A)if (a==b) B)if (a=b)

C)if (strcpy(a,b)) D) if (strcmp(a,b))

(15)下列四种数组定义中,合法的数组定义是()。

A) char a[ ]=“hello” ; B) int a[4]={4,3,2,1,0};

C) char a=“hello” ; D) char a[5]= “hello” ;

(16)已知数组float a[4][3];该数组行下标的范围是()。

A) 0—3 B) 1—3 C) 0—2 D) 1—2

二、写出运行结果。

1.#include

main()

{

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

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

{

t=a[i];

a[i]=a[4-i];

a[4-i]=t;

}

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

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

printf("\n");

}

结果:______________。

2. #include

main()

{

int i,j,row,col,min;

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

min=a[0][0];

row=0;

col=0;

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

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

if(a[i][j]

{

min=a[i][j];

row=i;

col=j;

}

printf("min=%d,row=%d,col=%d\n",min,row,col);

}

三、编程题。

1.用数组求Fibonacci数列前20个数,Fibonacci数列指的是这样一个数列:

1,1,2,3,5,8,13,21……这个数列从第三项开始,每一项都等于前两项之和。

2.将输入数组a[n]中的n个元素,再输入另一个数x,查看a中是否有值为x的元素,

若有,则输出其下标,若没有,则输出-1。

3.求数组int a[n]中奇数的个数和平均值,以及偶数个数和平均值。

函数

一、选择题

(1)C 语言规定:源程序中main函数的位置()。

A.必须在最开始

B.必须在系统调用的库函数的后面

C.必须在后面

D.可以任意

(2)以下正确的说法是()。

A.实参和与其对应的形参各占用独立的存储单元

B.实参和与其对应的形参共占用一个存储单元

C.只有当实参和与其对应的形参同名时才共占用相同的存储单元

D.形参时虚拟的,不占用存储单元

(3)对于C程序的函数,下列叙述中正确的是( )。

A.函数的定义不能嵌套,但函数调用可以嵌套

B.函数的定义可以嵌套,但函数调用不能嵌套

C.函数的定义和调用均可以嵌套

D.函数的定义和调用均不能嵌套

(4)下列宏定义语句中,不正确的是()。

A.#define Y 1 B.#include “math.h”

C.#include D.#define PI=3.14

(5)若调用一个函数,且此函数中没有return语句,则正确的说法是()。

A.该函数没有返回值

B.该函数返回若干个系统默认值

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

D.返回一个不确定的值

(6)若用数组名作为函数调用的实参,传递给形参的是。

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

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

(7)关于函数声明,以下不正确的说法是。

A.如果函数定义出现在函数调用之前,可以不必加函数原型声明

B.如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明

C.函数再调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查

D.标准库不需要函数原型声明

(8)函数定义时,形参是整型变量,则函数调用时,实参不可以是 ( )。

A.整型常量 B.字符型常量 C.数组名 D.整型表达式

二.填空

(1)C语言函数返回类型的默认定义类型是。

(2)函数的实参传递到形参有两种方式:和。

(3)在一个函数内部调用另一个函数的调用方式称为。在一个函数内部直接或间接调用该函数成为函数的调用方式。

(4)从变量的作用域来分,变量可以分为和。

(5)若函数定义为

int data( )

{

float x=3.7;

return(x);

}

则函数返回的值是______________。

三、编程题

1. 请编写程序,运用函数调用的方法计算分段函数y的值。要求数据的输入和输出在主函数中完成,而计算分段函数的值在子函数中完成。

2.编写一个判断一个数是否是素数的函数,若是返回1,否则返回0。

3.编写一个函数,计算下面算式前100项之和,并将计算结果返回到主调函数。

1+1/3+1/5+1/7+......

4.编写一个函数,计算n的阶乘,并将计算结果返回到主调函数输出。

c语言期末复习试题(附答案)

试卷编号:11201 所属语言:C语言 试卷方案:C语言期末考试 试卷总分:100分 共有题型:4种 一、单项选择共30题(共计60分) 第1题(2.0分) 设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 第2题(2.0分) 已知int i=5,执行语句i+=++i后, i的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(2.0分) 以下程序的功能是:给r输入数据后,计算半径为r的圆面积s.程序在编译时出错. #include void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A:注释语句书写位置错误 B:存放圆半径的变量r不应该定义为整型

C:输出语句中格式描述符非法 D:计算圆面积的赋值语句中使用了非法变量 第4题(2.0分) "\\\″ABC\″\\″的长度是( B ). A:11 B:7 C:5 D:3 第5题(2.0分) 已知int j,i=1;,执行语句j=–i++;后,j的值是( C ). A:1 B:2 C:-1 D:-2 第6题(2.0分) 有以下程序: #include void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a–2; }while(a!=n); printf("%d\n", s); } 若要使程序的输出值为2,则应该从键盘输入给n的值是( B ). A:-1 B:-3

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

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

C语言期末考试题(含答案)

《C 语言程序设计》期末试卷 一、单项选择题(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=26.8%3; B )1+2=x2; C )x3=0x12; D )x4=1+2=3; 5、设有定义:floata=2,b=4,h=3;以下C 语言表达式中与代数式h b a *)(2 1 的计算结果不.相符的是() 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!=0B)x==1C)x!=1D)x==0

8、有以下程序: #include voidmain(){ inti=1,j=1,k=2; if((j++||k++)&&i++) printf(“%d,%d,%d\n”,i,j,k);} 执行后的输出结果是() A)1,1,2 B)2,2,1 C)2,2,2 D)2,2,3 9、有以下程序: #include voidmain(){ inti,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、有以下函数定义: voidfun(intn,doublex){……} 若以下选项中的变量都已经正确定义并赋值,则对函数fun的正确调用语句是()A)fun(inty,doublem); B)k=fun(10,12.5); C)fun(x,n);D)voidfun(n,x); 二、填空题(10x2’=20’) 11、C语言描述“x和y都大于或等于z”的表达式是:。 12、函数定义时涉及的基本要素是:、、。

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语言期末复习试题

试卷编号:11201 所属语言:试卷方案:试卷总分:共有题型:C 语言 C 语言期末考试100 分 4种 一、单项选择共30 题(共计60 分)第1 题设有定义分) :int k=0;, 以下选项的四个表达式中与其他三个表达式的值不相同的是( A ). A:k++ B:k+=1 C:++k D:k+1 分) 第2题 已知int i=5, 执行语句i+=++i 后, i 的值是( C). A:10 B:11 C:12 D:A、B、C都不对 第3题(分) 以下程序的功能是: 给r 输入数据后, 计算半径为r 的圆面积s. 程序在编译时出错. #include <> void main( ) /* Beginning */ { int r; float s; scanf("%d",&r); s=p*r*r; printf("s=%f\n",s); 出错的原因是(D ). A: 注释语句书写位置错误 B: 存放圆半径的变量r 不应该定义为整型

B:-3 C :输岀语句中格式描述符非法 D: 计算圆面积的赋值语句中使用了非法变量 A:1 B:2 C:-1 D:-2 第 6题 (分) 有以下程序 : #include <> void main( ) { int s=0, a=1, n; scanf("%d", &n); do{ s+=1; a=a — 2; }while (a!=n ); printf ("%d\n", s ); } 若要使程序的输岀值为 2, 则应该从键盘输入给 n 的值是 ( B ). A:-1 第 4题 (分) "ABC " 〃的长度是(B ). A:11 B:7 C:5 D:3 第 5题 (分) 已知 int j,i=1;, 执行语句j= - i++;后,j 的值是(C ).

大一C语言期末考试试题

6.以下程序的输出结果为(D)。 main( ) { char c; int i; for(i=65;i<68;i++) { c=i+32; switch(c) { case ‘a’:printf("%c,",c);break; case ‘b’:case ‘e’:printf("ok,"); default: printf("end"); } } } A a,ok,end B a,ok,endend C a,ok,end,end D a,ok,ok 9.以下程序的输出结果为(B)。 #define A 3 #define B(a) (A+1)*a main() { int x; x=3*A+B(7); printf("x=%d\n",x); } A x=93 B x=37 C x=60 D x=90 三写出下列程序的运行结果(10分,每小题2分) 1.main( ) { char c1=‘A’,c2=‘\144’,c3=‘\x44’,c=0xf5,x=13,a; int i=0122,j=0xa4; printf(“c1=%c,c4=%c\tc5=%c\n”,c1,c2,c3); printf(“%d,%d\n”,i,j); i=-34; j=20; printf(“%d,%d,%d\n”,i%j,i&j<<2,sizeof(j)); printf(“c=%d\n”,c|x); a=c^x<<2;

printf(“a=%d\n”,a); } 2.main() { int x,y=1,z=10; if(y!=0) x=5; printf(“x=%d\t”,x); x=1; if(z<0) if(y>0) x=3; else x=5; printf(“x=%d\n”,x); if(z=y<0) x=3; else if(y==0) x=5; else x=7; printf(“x=%d\t”,x); printf(“z=%d\n”,z); } 3.main( ) { char s[20]=“I like it.”,t[20]=“Are you?”,c[20]; int i=0; while(s[++i]!=‘\0’) t[i]=s[i]; t[i]=0; printf(“string s:%s\n”,s); printf(“string t:%s\n”,t); } 4.int i=5; main( ) { int i=3; { int i=10; i++; printf(“%d\n”,i);

c语言期末考试试题

一、单项选择题。(每题1分,共20分) 1. C程序的基本单位是:() A.子程序 B.程序 C.子过程 D.函数 2.在C语言中,非法的八进制是:() A.016 B.018 C.017 D.02 3. 不是C语言实型常量的是:() A.55.0 B.0.0 C.55.5 D.55e2.5 4 .字符串“xyzw”在内存中占用的字节数是:() A.6 B.5 C.4 D.3 5. 若已定义f,g为double类型,则表达式:f=1,g=f+5/4的值是:() A.2.0 B.2.25 C.2.1 D.1.5 D.1.5 D.1.5 D.1.5 6. 若有语句char c1=`d`,c2=`g`;printf(“%c,%d\n”,c2- `a`,c2-c1);则输出结果为:() (a的ASCII码值为97) A.M,2 B.G,3 C.G,2 D.D,g 7. 使用语句scanf(“a=%f,b=%d”,&a,&b);输入数据时,正确的数据 输入是:() A.a=2.2,b=3 B.a=2.2 b=3 C.2.2 3 D.2.2,3 8.表示关系12<=x<=y的C语言表达式为:() A.(12<=x)&(x<=y) B. (12<=x)&&(x<=y) C. (12<=x)|(x<=y) D.(12<=x)||(x<=y) 9.设x=1,y=2,m=4,n=3,则表达式x>y?x:mc4)后,s,t的值为:() A.1,2 B.1,1 C.0,1 D.1,0 12. 语句for(a=0,b=0;b!=100&&a<5;a++)scanf(“%d”,&b); scanf最多可执行次数为:() A.4 B.6 C.5 D.1 13. 对于for(s=2;;s++)可以理解为:()

(完整版)数据结构(c语言版)期末考试复习试题

《数据结构与算法》(c语言版)期末考复习题 一、选择题。 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构B.紧凑结构和非紧凑结构 C.线性结构和非线性结构D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构B.数据结构C.数据的逻辑结构D.数据元素之间的关系 3.在数据结构中,与所使用的计算机无关的是数据的 A 结构。 A.逻辑B.存储C.逻辑和存储D.物理 4.在存储数据时,通常不仅要存储各数据元素的值,而且还要存储 C 。A.数据的处理方法B.数据元素的类型 C.数据元素之间的关系D.数据的存储方法 5.在决定选取何种存储结构时,一般不考虑 A 。 A.各结点的值如何B.结点个数的多少 C.对数据有哪些运算D.所用的编程语言实现这种结构是否方便。 6.以下说法正确的是 D 。 A.数据项是数据的基本单位

B.数据元素是数据的最小单位 C.数据结构是带结构的数据项的集合 D.一些表面上很不相同的数据可以有相同的逻辑结构 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。(1)A.找出数据结构的合理性B.研究算法中的输入和输出的关系C.分析算法的效率以求改进C.分析算法的易读性和文档性(2)A.空间复杂度和时间复杂度B.正确性和简明性 C.可读性和文档性D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是O(n2) 。 s =0; for( I =0; i

大学大一C语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 2012~2013学年度第二学期期末考试 C 语言程序设计试卷 试卷A 答卷说明: 1、 本试卷共6页,答题纸3页,4个大题,35个小题,满分100 分,120分钟完卷。 2、 闭卷考试,所有的答案都必须写在答题纸上,判卷以答题纸上 答案为准。 3、 本试卷适用于2011级1、2、3班。 一、 单项选择题(在每小题的四个备选答案中,选出一个正确答案,并将正确答案的 序号填在题干的括号内。每小题1分,共20分) 1、 在C 语言中,下列标识符中合法的是( ) A). -int B). in1_3 C). A_B!D D). const 2、 不属于C 语言基本数据类型的是( ) A). int B). union C). char D). unsigned 3、 下面是对宏定义的描述。不正确的是( ) A). 宏不存在类型问题,宏名无类型,它的参数也无类型 B). 宏替换不占用运行时间 C). 宏替换只是字符串的简单替代 D). 宏替换时先检查类型,类型一致时才可以替换 4、 C 语言中,″\\xfds ″在内存中占用的字节数是( ) __________________学院__________级___________班 姓名_______________ 学号_______________ ………………………………(密)………………………………(封)………………………………(线)……………………………… 密 封 线 内 答 题 无 效

A).3 B).4C).5D).6 5、设int x;则执行printf(″%x\n″,~x^x);的结果是() A). ffffffff B). ff C).0D). 1 6、对于while语句,错误的说法是() A).用条件控制循环体的执行次数B).循环体至少要执行一次 C).循环体有可能一次也不执行D).循环体中可以包含若干条语句 7、执行下列语句后输出的结果是() int a=8,b=7,c=6; if(ac){a=c;c=b;} printf("%d,%d,%d\n",a,b,c); A).6,7,7B).6,7,8C).8,7,6D).8,7,8 8、设int a=9,b=20;则printf(″%d,%d\n″,a--,--b);的输出结果是() A).9,19B).9,20C).10,19D).10,20 9、设static char x[ ]=″12345″,y[ ]={′1′,′2′,′3′,′4′,′5′,′\0′};那么() A).x数组的长度等于y数组的长度B).x数组的长度大于y数组的长度 C).x数组的长度少于y数组的长度D).x数组与y数组的存储区域相同 10、设int i,x[3][3]={1,2,3,4,5,6,7,8,9};则下面语句的输出结果是() for(i=0;i<3;i++) printf(″%d″,x[i][2-i]); A).147B).159C).357D).369 11、执行完下列语句后,n的值是() int n; for (n=0 ; n<100 ; n=2*n+1); A).125B).126 C).127D).128 12、有以下语句:int a=6;a+=a-=a*a;printf(“%d”,a);输出结果() A).–132 B).–60 C). -24 D). 0 13、为了连接两个字符串s1与s2,应当使用() A). strcat( s1,s2 ) B). strcpy( s1, s2 ) C). strlen( s1, s2 ) D). strcmp( s1, s2 ) 14、设int a,*p;则语句p=&a;中的运算符“&”的含义是() A).位与运算B).逻辑与运算C).取指针内容D).取变量地址 15、下面输出的结果为() i nt a=13, b=64; printf(“%d\n”, !a || (b>>3) );

C语言期末复习题

第一单元程序设计和C语言 一、选择题 1.C语言的基本构成单位是: A 。 A. 函数 B. 函数和过程 C. 超文本过程 D. 子程序 2.一个C语言程序总是从 B 开始执行。 A. 主过程 B. 主函数 C. 子程序 D.主程序 3.C语言的程序一行写不下时,可以。 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 。 A. _HJ B. 9_student C. long D. LINE 1 7.以下说法中正确的是: C 。 A. C语言程序总是从第一个定义的函数开始执行 B. 在C语言程序中,要调用的函数必须放在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分 8.不合法的常量是: D 。 A. ...\2? B. "" C. ...3? D. (483) 9.已知各变量的类型说明如下,则以下不符合C语言语法的表达式是: A 。 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;

大一c语言期末考试题

大一c语言期末考试题 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;

C语言期末练习题及答案

期末练习题2-48课时 一、单选题(共20题,共30分) 1. 执行下列程序后的输出结果是() int fun(int x1,int x2) { int x;x1>x2(x=3):(x=4);return(x+x1);} main() { printf("%d\n",fun( 7,8));}(分) 2. 已知int i,a;执行语句i=(a=3,a++,--a,a+4,a+5,++a);后,i的值是()(分) 3. 若有以下定义和语句: double r=99,*p=&r; *p=r; 则以下正确的叙述是( ) (分) A.以下两处的*p含义相同,都说明给指针变量p赋值 B.在"double r=99,*p=&r;"中,把r的地址赋值给了p所指的存储单元 C.语句"*p=r;"把变量r的值赋给指针变量p D.语句"*p=r;"取变量r的值放回r中 4. 有以下程序 #define N 20 fun(int A[],int n,int m) {int i,j; for(i=m;i>=n;i--)A[i+1]=A[i]; }

main() { int i,A[N]={1,2,3,4,5,6,7,8,9,10}; fun(A,2,9); for(i=0;i<5;i++)printf("%d",A[i]); } 程序运行后的输出结果是()(分) 5. 下面程序的输出是() main() { int k=11; printf("k=%d,k=%o,k=%x\n",k,k,k); } (分) =11,k=12,k=13 =11,k=13,k=13 =11,k=013,k=oXb =11,k=13,k=b 6. 以下程序段的输出为: int x=011; printf("%d\n",++x); (分) 7. 执行下述程序的输出结果是()。 #include <> #include <> main() { char *p1,*p2,str[50]="ABCDEFG";

大一上学期C语言期末复习总结和模拟试题带答案

易错点 C语言中易犯的错误 对初学C语言的人来说,经常会出一些连自己都不知道错在哪里的错误.看着有错的程序,不知该如何改起,一些C编程时常犯的错误,写给各位学员以供参考. ******************************** ******************************** ************************ 1.书写标识符时,忽略了大小写字母的区别. main() { int a=5; printf("%d",A); } 编译程序把a和A认为是两个不同的变量名,而显示出错信息. C认为大写字母和小写字母是两个不同的字符.习惯上,符号常量 名用大写,变量名用小写表示,以增加可读性. ******************************** ******************************** ************************ 2.忽略了变量的类型,进行了不合法的运算. main() { float a,b; printf("%d",a%b); } %是求余运算,得到a/b的整余数.整型变量a和b可以进行求余运算,而实型变量则不允许进行"求余"运算. ******************************** ******************************** ************************ 3.将字符常量与字符串常量混淆. char c; c="a"; 在这里就混淆了字符常量与字符串常量,字符常量是由一对单 引号括起来的单个字符,字符串常量是一对双引号括起来的字符序 列.C规定以"\"作字符串结束标志,它是由系统自动加上的,所 以字符串"a"实际上包含两个字符:'a'和'\',而把它赋给一 个字符变量是不行的. ******************************** ******************************** ************************ 4.忽略了"="与"=="的区别. 在许多高级语言中,用"="符号作为关系运算符"等于". 如在BASIC程序中可以写 if (a=3) then … 但C语言中,"="是赋值运算符,"=="是关系运算符.如: if (a==3) a=b; 前者是进行比较,a是否和3相等,后

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

一、单项选择题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从 C开始执行。 A) 程序中第一条可执行语句 B) 程序中第一个函数 C) 程序中的main函数 D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-”,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是( B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A) %x B) a+b C) a123 D) 123 选项A中的“%”,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai

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

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

大一C语言期末考试题

大一C语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了_______________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; _______________; i++) if (_______________) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是 _______________ 5. 以下是使用指针,进行字符串复制的程序,请填空。 main() { char a[]= “Tsinghua University”, b[30], *p1,*p2; p1=a; p2=b; for(; *p1!= _______________; p1++, p2++) _______________=_______________; *p2= ______________; printf(“string a is:%s\n”,a); printf(“string b is:%s\n”,b); } 6. 下面程序用冒泡法对数组a进行降序排序,请填空。 main() { int a[5]={4,7,2,5,1}; int i,j,m; for(i=0;i<4;i++) for(j=0;j<_______________;j++) if( _______________< _______________ ) { m=a[ j]; a[ j]=a[ j+1]; a[ j+1]= m; } for(i=0;i<5;i++) printf("%d ",a[i]); } 7. 函数fun的功能是:使一个字符串按逆序存放,请填空。 void fun (char str[]) { char m; int i,j; for(i=0,j=strlen(str);i<_______________;i++,j--)

C语言期末复习题

C语言期末复习题https://www.wendangku.net/doc/811396104.html,work Information Technology Company.2020YEAR

《C程序设计》复习题 一、单项选择题(请从4个备选答案中选择最适合的一项,每小题1分,共20分) 1.算法具有5个特性,以下选项中不属于算法特性的是()。 A) 有穷性B) 简洁性C) 有效性D) 确定性 2.设有定义:float a=2,b=4,h=3;,其中a为梯形的上底,b为梯形的下底,h为梯形的高,以下C语言表达式不能计算出梯形面积的() A) (a+b)*h/2 B) (1/2)*(a+b)*h C) (a+b)*h*1/2 D) h/2*(a+b) 3.经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 4.若t为double类型,表达式t=1,t+5, ++t的值是 A)1 B)6.0 C)7.0 D)2.0 5. 若有以下定义和语句: int u=010,v=0x10,w=10; printf(“%d,%d,%d\n”,u,v,w); 则输出结果是 A)8,16,10 B)10,10,10 C)8,8,10 D)8,10,10 6. 以下选项中不合法的用户标识符是 A)_12B)abc7C)a-2 D)AS_88_mj 7. 若有以下定义和语句 char c1='b',c2='e'; printf("%d,%c\n",c2-c1,c2-'a'+"A"); 则输出结果是 A)2,M B)3,E C)2,E D)输出项与对应的格式控制不一致,输出结果不确定 8. 若有以下定义: char s[20]="programming",*ps=s; 则不能代表字符o的表达式是 A)ps+2 B)s[2]

C语言期末考试复习题及答案

C语言期末考试复习题及答案 一、选择题:下列各题A)、B)、C)、D)四个选项中只有一个是正 确的,请将正确的选项涂写在答案纸上。答在试卷上不得分。 (1)C语言规定:在一个源程序中,main函数的位置 D 。 A)必须在最后B)必须在系统调用的库函数的后面。 C)必须在最开始。。D)可以任意 (2) C语言中的标识符只能由字母、数字和下划线三种字符组成,且第一个字符 A 。 A)必须为字母或下划线。。B)必须为下划线。 C)必须为字母D)可以是字母、数字和下划线中的任一种字符。 (3)下面四个选项中,均是正确的八进制数或十六进制数的选项是 B 。 A)-10 0x8f -011 B) 010 -0x11 0xf1 C) 0abc -017 0xc D) 0a12 -0x123 -0xa (4) C语言中int型数据在内存中占两个字节,则unsegned int取值范围是 A 。 A)0 ~ 65535 B)0 ~ 32767 C)-32767 ~ 32768 D)-32768 ~ 327687 (5) 若有定义:int a = 7; floa x = , y = ; 则表达式x + a % 3 * (int) (x + y) % 2/4 的值是 D 。 A) B) 0.00000 C) D) (6)已知ch是字符型变量,下面不正确的赋值语句是 B 。 A)ch = 5 + 9 ; B) ch= ' a + b '; C) ch = ' \ 0 '; D) ch= '7' + '6' ; (7) 设x , y和z是int型变量,且x = 3, y = 4 , z = 5 则下面表达式中值为0的

相关文档
相关文档 最新文档