大学生C语言期末考试试题汇总

大学生C语言期末考试试题汇总
大学生C语言期末考试试题汇总

第1-3章习题

一、单项选择题

1C语言属于()。

A.机器语言

B.低级语言

C.中级语言

D.高级语言

2一个C程序可以包含任意多个不同名的函数,但有且仅有一个。

A.函数

B.主函数

C.include

D.过程

3系统默认的C语言源程序扩展名为.C,需经过之后,生成.exe文件,才能运行?

A.编辑?编译

B.编译?连接

C.编辑?改错

D.编辑?连接

4C语言程序从开始执行。

A.程序中第一条可执行语句

B.程序中第一个函数

C.程序中的main函数

D.包含文件中的第一个函数

5C语言程序是由构成的。

A.一些可执行语言

B.main函数

C.函数

D.包含文件中的第一个函数

6一个算法应具有“确定性”等5个特性,则对另外4个特性描述错误的是。

A.有效性

B.有穷性

C.有零个或多个输入

D.有零个或多个输出

7设变量a是整型,f是实型,i双精度型,则表达式10+’a’+i*f值的数据类型。

A.int

B.float

C.double

D.不确定

8在C语言中,变量所分配的内存空间大小是由。

A.均为一个字节

B.由用户自己定义

C.由变量的类型决定

D.是任意的

9执行scanf (“a=%d,b=%d”,&a,&b)语句,若要使变量a和b的值分别为3和4,则正确的输入方法为。

A. 3 ,4

B.a:3 b: 4

C.a=3,b=4

D. 3 4

10在算术表达式中允许使用的括号类型是。

A.{ }

B.[ ]

C.( )

D.以上三项皆错

11存储以下数据,占用存储字节最少的是。

A. 0

B. ‘0’

C. “0”

D. 0.0

12设n=10,i=4,则运算n%=i+1执行后,n 的值是。

A.0

B.3

C.2

D.1

13C语言中运算对象必须是整型的运算符是。

A.%

B. /

C. =

D.〈=

14已知int x=5,y=5,z=5;执行语句x%=y+z;后,x的值是.

A .0 B. 1 C. 5 D. 6

15若有以下类型说明语句:char w;int x;float y;double z;则表达式w-x*y/z的结果为类型

A.float

B.char

C.int

D.double

16在C语言的库函数中,可以输出char型变量x值的语句是。

A.getchar(x);

B.fputc(x)

C.putchar(x)

D.puts(x)

17已知int x;char y;则下面错误的scanf函数调用语句为。

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

B.scanf(“%d,%c”,x,y)

C.scanf(“%d%d”,&x,&y)

D. scanf(“%d,%c”,&x,&y)

18若“int n; float f=13.8;”,则执行“n=(int)f%3”后,n的值是。

A.1

B.4

C.4.333333

D.4.6

19设整型变量a=2,则执行下列语句后,浮点型变量b的值不为0.5的是。

A.b=1.0/a

B.b=(float)(1/a)

C.b=1/(float)a

D.b=1/(a*1.0)

20C语言中运算对象必须是整型的运算符是。

A.%=

B./

C.=

D.〈=

21若int类型数据占2个字节,则unsigned int类型数据的取值范围是。

A.0~255

B.0~65535

C.-32768~32767

D.-256~255

22在C语言中,字符型数据所占的内存空间是。

A.2个字节

B.4字节

C.1字节

D.由用户自定义

23C语言中字符型(char)数据在内存中的存储的是。

A.原码

B.补码

C.反码

D.ASCII码

24已知ch是字符型变量,不正确的赋值语句是。

A.ch='a+b' ;

B.ch=' \0 ';

C.ch='7' ;

D.ch=';

25已定义c为字符型变量,则下列语句中正确的是。

A.c='97'

B.c="97"

C.c='a'

D.c="a"

26下列可以正确表示字符型常量的是。

A.’\t’

B.”a”

C.”\n”

D.297

27下列C语言用户标识符中合法的是。

A.*y

B.sum

C.int

D.%5f

28下列正确的标识符是.

A.-a1

B.a2_i

C.a[i]

D.int t

二、判断题

29在C源程序中,注释信息也被编译,但对程序运行运果不发生影响。

正确错误

30将C程序编译成目标文件,其扩展名为EXE。

正确错误

31C程序的书写格式比较自由,一行内可写一个语句,也可以写多个语句。

正确错误

32被main函数调用的函数只能是库函数。

正确错误

33一个C语言程序中可以有多个函数,但只能有一个主函数。

正确错误

34结构化程序设计语言的三种基本结构是:顺序结构、选择结构、循环结构。

正确错误

35程序中的“=”是赋值号,与数学中等号的功能相同。

正确错误

36C语言中,格式说明"%10.4f"中10表示数据输出的最小宽度,4表示小数位数。

正确错误

37执行语句++i ; i=3;后变量i的值为4。

正确错误

38C程序中的一个变量可以被定义为两个或多个不同的类型。

正确错误

39自增1(++)、自减1(--)运算符都是双目运算符。

正确错误

40字符常量和字符串常量的存储是相同的,都是以字符的ASCII码值进行存放。

正确错误

41C语言中,字符数据用格式说明"%c"来输出,字符串数据用格式说明"%s"来输出。

正确错误

42C语言标准输出操作中,putchar()函数可以输出显示一个字符串。

正确错误

43C语言本身不提供输入输出语句,输入和输出操作是由函数来实现的。

正确错误

44一个变量的数据类型被强制转换后,它将保持被强制转换后的数据类型。

正确错误

45条件运算符?和:是一对运算符,不能分开单独使用。

正确错误

46表达式语句和表达式没有什么区别。

正确错误

三、填空题

47算法具有以下特点:有穷性、()、有零个或多个输入、有一个或多个输出、有效性。48解决问题的方法和步骤,称为()。

49如果i的原值等于3,则printf(“%d\n”, i++);的输出结果是()。

50如果i的原值等于3,则printf(“%d\n”, ++i);的输出结果是()。

51在C程序中,字符输出函数是()函数。

52在C程序中,字符输入函数是()函数。

53格式声明由%和格式字符组成,如%f,f格式符用来输出一个()。

54在输出字符数组中的字符串时,遇()就停止输出。

55格式声明由%和格式字符组成,如%s,s格式符用来输出一个()(不包括双引号)。

56格式声明由%和格式字符组成,如%c,c格式符用来输出一个()。

57格式声明由%和格式字符组成,如%d,d格式符用来输出一个有符号的()。

58在C程序中,用来实现输入的,主要是()函数,这个函数是格式输入函数。

59在C程序中,用来实现输出的,主要是()函数,这个函数是格式输出函数。

60在C程序中,格式化输出库函数是()函数。

61在C程序中,格式化输入库函数是()函数。

62语句x++;、++x;、x=x+1;、x=1+x;执行后都使变量x中的值增1,请写出一条同一功能的赋值语句(不得与列举相同)()。

63已知int m=5,y=2;则计算表达式y+=y-=m*=y后的y值是()。

64赋值语句是在赋值表达式的末尾加一个()构成的。

65C语句分为以下5类:控制语句、函数调用语句、()、空语句、复合语句。

66根据c语言标识符的命名规则,标识符只能由数字、字母、下划线组成,而且第一个字母不能是()。

67在VC编译系统下,一个double型数据在内存中占()个字节。

68在VC编译系统下,一个float型数据在内存中占()个字节。

69在VC中,一个int型数据在内存中占()个字节。

70在VC中,一个char型数据在内存中占()个字节。

71在程序运行过程中,其值可以改变的量称为()。

72在程序运行过程中,其值不能改变的量称为()。

73在c语言中,十六进制整型常量以()作前缀。

74在c语言中,八进制整型常量以()作前缀。

四、问答题

75下面程序的输出结果是:

#include

#define M3

#define N(M+1)

#define NN N*N/2

void main()

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

printf("%d",5*NN);

}

76下面程序的输出结果是:

#include

#define M3

#define N(M+1)

#define NN N*N/2

void main()

{printf("%d",5*NN);

}

77下面程序的输出结果是:

#include

#define M3

#define N(M+1)

#define NN N*N/2

void main()

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

printf("%d",5*NN);

}

78下面程序的输出结果是:

#include

#define PT 5.5

#define S(x)PT*x*x

int main()

{int a=1,b=2;

printf("%4.1f\n",S(a+b));

return 0;

}

第4章习题

一、单项选择题

1有以下定义:int a=3,b=4,c=5;则表达式a||b+c&&b-c的值为()。

A.1

B.-1

C.3

D.9

E.0

2有以下定义:int a=1,b=2,c=3,d=4,m=2,n=2;则执行(m=a>b&&(n=c>d)后n的值为()。

A.1

B.2

C.3

D.4

3若希望当A的值为奇数时,表达式的值为“真”,A的值为偶数时,表达式的值为“假”。

则以下不能满足要求的表达式是()。

A.A%2==1 B.!(A%2==0) C.!(A%2) D.A%2

4已知x=43,ch=′A′,y=0;则表达式(x>=y)&&(′B′ &&! Y)的值是()。

A.0

B.语法错

C.1

D.“假”

5设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)

6判断char型变量ch是否为大写字母的正确表达式是()。

A.´A´<=ch<=´Z´

B.(cb>=´A´)&(ch<=´Z´)

C.(ch>=´A´)&&(ch<=´Z´)

D.(´A´<=ch)AND(´Z´>=ch)

7有如下程序段:w,x,y,z,m;w=1; x=2; y=3; z=4;m=(w

A. 4

B. 3

C. 1

D. 5

8能正确表示“当x的取值在[-58,-40]和[40,58]范围内为真,否则为假”的表达式是()。

A.(x>= -58) && (x<= -40) && (x>=40) && (x<=58)

B.(x>= -58) || (x<= -40) || (x>=40) || (x<=58)

C.(x>= -58) && (x<= -40) || (x>=40) && (x<=58)

D.(x>= -58) | |(x<= -40) && (x>=40) || (x<=58)

9逻辑运算符两侧运算对象的数据类型()。

A.只能是0或1B.只能是0或非0正数

C.只能是整型或字符型数据D.可以是任何类型的数据

10为了避免嵌套的if-else语句的二义性,C语言规定else总是与()组成配对关系。

A.缩排位置相同的if B.在其之前未配对的if

C.在其之前未配对的最近的if D.同一行上的if

11设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

12设a=5,b=6,c=7,d=8,m=2,n=2,则执行(m=a>b) && (n=c>d)后n的值为()。

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

13已有定义:int x=3, y=4, z=5;则表达式!(x+y)+z-1 && y+z/2的值是()。

A.6 B.0 C.2 D.1

14逻辑运算符两侧运算对象的数据类型。

A.只能是0或1

B.只能是0或非0正数

C. 只能是整型或字符型数据

D.可以是任何类型的数据

15在以下一组运算符中,优先级最高的运算符是。

A. <=

B.=

C.%

D.&&

16下列表达式中值为0的是

A.1<3 && 5<7

B.!(5<10)

C.11 && 0x01

D.!(4<7) || (2<8)

17设a=1,b=2,c=3,d=4,则表达式“a

A.4

B.3

C.2

D.1

18在C语言中,认为为逻辑"真"。

A.true

B.大于0的数

C.非0整数

D.非0的数

19若int i=10;执行下列程序后,变量i的正确结果是。

switch ( i )

{case9:i+=1;

case10:i+=1;

case11:i+=1;

default :i+=1; }

A.13

B.12

C.11

D.10

20以下程序的输出结果是:

main()

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

if(x

if(y<0) z=0;

else z=z+1;

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

}

A. 0

B. 1

C. 2

D. 3

21下列只有当整数x为奇数时,才是逻辑“真”的表达式是.

A.x % 2 == 0

B. !(x % 2 == 0)

C.!(x % 2 )

D.(x - x / 2 * 2) == 0

22表达式10 != 9的值是.

A.true

B. 真

C.0

D. 1

23判断char型变量c1是否为大写字母的表达式为。

A.’A’<=c1<=’Z’

B.(c1>=’A’) & (c1<=’Z’)

C.(’A’<=c1)AND (‘Z’>=c1)

D. c1>=’A’ && c1<=’Z’

24能正确表示逻辑关系:“a≥=10或a≤0”的C语言表达式是.

A.a>=10 or a<=0

B.a>=0|a<=10

C. a>=10 &&a<=0

D. a>=10‖a<=0

25表示关系x<=y<=z的c语言表达式为。

A.(x<=y)&&(y<=z)

B. (x<=y)AND(y<=z)

C.(x<=y<=z)

D.(x<=y)&(y<=z)

26已知:int w=7, x=12, y=3, m; 执行下面语句后m的值是。

m=(w>x)?w:x;

m=(m>y)?m:y;

A.12

B.0

C.3

D.1

27a,b和c都是int型变量,且a=3,b=4,c=5,则下面表达式中,值为0的表达式是

A.a&&b

B.a<=b

C.a||b+c""b-c

D.!((a

二、判断题

28有以下定义:int a=3,b=4,c=5;则表达式!(a+b)+c-1&&b+c/2的值为1。

正确错误

29有以下定义:int x,a=3,y,b=4,c=5;则表达式!(x=a)&&(y=b)&&0的值为1。

正确错误

30有以下定义:int a=3,b=4,c=5;则表达式!(a>b)&&!c||1的值为1。

正确错误

31有以下定义:int a=3,b=4,c=5;则表达式a||b+c&&b-c的值为1。

正确错误

32有以下定义:int a=3,b=4,c=5;则表达式a+b>c&&b==c的值为0。

正确错误

33只能在循环体内和switch语句体内使用break语句。

正确错误

34switch…case结构中case后的表达式必须为常量表达式。

正确错误

35C语言规定,else总是与它上面、最近的、尚未配对的if配对。

正确错误

36所有关系运算符的运算优先级相同。

正确错误

37case语句后如没有break,顺序向下执行。

正确错误

38在switch语句中,多个case可以共用一组执行语句。

正确错误

39若a=3,b=2,c=1则关系表达式"(a>b)==c"的值为"真"。

正确错误

40C语言规定,else总是与它上面、最近的、尚未配对的if配对。

正确错误

41逻辑表达式的值只能为1或0。

正确错误

42continue不是结束本次循环,而是终止整个循环的执行。

正确错误

43在if语句的三种形式中,如果要想在满足条件时执行一组(多个)语句,则必须把这一组语句用{}括起来组成一个复合语句。

正确错误

三、填空题

44switch后面括号内的表达式,其值的类型应为()(包括字符型)。

45若a=1,b=2,c=3,d=4,m=1,n=2,则计算表达式(m=a>b)&&(n=c>d)后,n的值为()。

46若a=1,b=2,c=3,d=4,m=1,n=2,则计算表达式(m=a>b)&&(n=c>d)后,m的值为()。

47若a=1,b=2,c=3,d=4,m=1,n=2,则表达式(m=a>b)&&(n=c>d)的值为()。

48若a=1,b=2,c=1,则表达式f=a>c>c的值是()。

49若a和b的值分别是4和5,则!a||b的值是()。

50若a和b的值分别是4和5,则a||b的值是()。

51若a=4,b=5,则a&&b的值是()。

52若a=4,则!a的值是()。

53若a=3,b=2,c=1,f=a>b>c,则f的值为()。

54若a=3,b=2,c=1,d=a>b,则d的值为()。

55若a=3,b=2,c=1,则关系表达式b+c

56若a=3,b=2,c=1,则关系表达式(a>b)==c的值为()。

57若a=3,b=2,c=1,则关系表达式a>b的值为()。

58表示“P的值不等于12345并且n的值小于3”的C语言表达式是()。

59使用()语句可以使流程跳出switch结构,继续执行switch语句下面的语句。60()语句是多分支选择语句,适用于处理分支较多的情况。

61()语句只有两个分支可供选择,而实际问题中常常需要用到多分支的选择。62else总是与它上面的最近的未配对的()配对。

63C语言中用于选择结构的控制语句有()语句和switch语句两种。

64条件运算符是C语言中唯一的一个()目运算符。

65条件运算符由两个符号()组成,必须一起使用。

66()是条件运算符。

67逻辑表达式的值是一个逻辑量,在判断一个量是否为假时,以()代表假。68逻辑表达式的值是一个逻辑量,在判断一个量是否为真时,以()代表真。69C语言中提供3种(),如&&,||,!。

70C语言中提供6种(),如<,<=,>,>=,==,!=。

四、问答题

71下面程序的输出结果是:

# include

int main( )

{

int x,y;

x=2;

if(x<0) y=0.0;

else if((x<5)&&(x!=2)) y=1/(x+2);

else if(x<10.0)y=1/x;

else y=10;

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

return 0;

}

72下面程序的输出结果是:

# include

int main( )

{ float x,y;

x=2;

if(x<0.0) y=0.0;

else if((x<5.0)&&(x!=2.0)) y=1.0/(x+2.0);

else if(x<10.0)y=1.0/x;

else y=10.0;

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

return 0;

}

73以下程序的输出结果是:

# include

int main( )

{

float x=2.0,y;

if(x<0.0) y=0.0;

else if(x<10.0) y=1.0/x;

else y=1.0;

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

return 0;

}

74当输入19,2,21时下列程序运行的结果是_________。

#include

main( )

{int a,b,c,max;

printf("please scan three number a,b,c:\n");

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

max=a;

if(max

if(max

printf("max is:%d",max);

}

75运行下面程序,输入:01<回车>,输出结果是:#include

int main( )

{

char k;

int i;

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

{

scanf("%c",&k);

switch(k)

{

case '0': printf("another\n");

case '1': printf("number\n");

}

}

}

76下面程序的输出结果是:

#include

int main( )

{

int x,y,t;

x=7;y=9;

if(x

{ t=x;x=y;y=t;}

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

return 0;

}

77下面程序的输出结果是:

#include

int main()

{

int a=0,b=1,c=0,d=20;

if(a) d=d-10;

else if (!b)

if(!c) d=15;

else d=25;

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

return 0;

}

78以下程序的输出结果是:

#include

int main()

{

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

if(a>b)

a=b;

b=c;

c=a;

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

return 0;}

79下面程序的输出结果是:

#include

int main()

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

switch(x){

case 0:b++;

case 1:a++;

case 2:a++;b++;}

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

return 0;}

五、计算题

80编程实现如下功能:从键盘任意输入4个整数,找出其中最大的数,并对这4个数按由小到大的顺序排列。

81编写程序,从键盘上任意输入一个不多于5位的正整数num,输出它是几位数,并分别输出每一位数字,按逆序输出各位数字(如,原数为321,应输出123)。

82编写程序,从键盘上任意输入一个不多于5位的正整数num,计算num的每一位数字相加之和。如,输入num为321,则由321分离出3、2、1三个数字,然后计算3+2+1=6,并输出6。

83编写程序,从键盘上任意输入一个不多于5位的正整数num,按逆序输出该数的各位数字。如,输入num为321,先求出它是3位数,再由321分离出3、2、1三个数字,然后输出123。

84编写程序,从键盘上任意输入一个不多于5位的正整数,求出它是几位数,并输出该数的位数。

85编写程序,从键盘输入一个3位数的正整数n,判断该数是否为回文数。所谓回文数就是从左到右读这个数与从右到左读这个数是一样的。如,12321、4004都是回文数。

86编写程序,从键盘输入一个正整数n,判断n能否同时被3和5整除。如果n能够同时被3和5整除,则输出“n能被3和5整除”,否则输出“n不能被3和5整除”。

87编写程序,给出一百分制成绩,要求输出成绩等级‘A’、‘B’、‘C’、‘D’、‘E’。60分以下为‘E’;60~69分为‘D’;70~79分为‘C’;80~89分为‘B’;90分以上为‘A’。

88有一分段函数:如果x小于0,y=2x;如果x大于等于0并且小于10,y=10x-1;如果x 大于等于10,y=10x-11。要求编写程序,从键盘输入x的值,输出相应的y值。

89编写程序,从键盘输入年,输出该年是否为闰年。其中,年用y表示。

90编写程序,从键盘输入年、月,输出该年该月一共有多少天。其中,年、月、日分别用y、m、d表示。

91有一分段函数:如果x小于60,y=‘E’;如果x大于等于60并且小于70,y=‘D’;如果X大于等于70并且小于80,y=‘C’;如果x大于等于80并且小于90,y=‘B’;如果x大于等于90,y=‘A’。要求编写程序,从键盘输入x的值,输出相应的y值。

92输入某职工的应发工资x,根据不同档次扣除工资所得税,然后计算实发工资y。计算方式如下:如果工资小于5000元,工资不扣税;如果工资大于等于5000元并且小于8000元,工资要扣除收入2%的税;如果工资大于等于8000元,工资要扣除收入5%的税。编写程序,输入应发工资x,输出相应的实发工资y。

第5章习题

一、单项选择题

1此处do—while循环的条件是()。

A. P的值不等于12345并且n的值小于3

B. P的值等于12345并且n的值大于等于

3

C. P的值不等于12345或者n的值小于3

D. P的值等于12345或者n的值大于等于

3

2有定义如下:char ch;若输入字符串:abcde<回车>,则以下while循环体将执行多少次()。

while((ch=getchar( ))!=′\n′) printf("*")

A.5

B. 4

C.3

D.2

E.1

F.0

3有定义如下:char ch;若输入字符串:ncre<回车>,则以下while循环体将执行多少次()。

while((ch=getchar( ))!=′\n′) printf("*");

A.5

B.4

C.3

D.2

E.1

F.0

4以下程序的功能是:按顺序读入10名学生4门课程的成绩,计算出每位学生的平均分并输出,程序如下:

#include

void main()

{ int n,k;

float score ,sum,ave;

sum=0.0;

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

{for(k=1;k<=4;k++)

{scanf("%f",&score);sum+=score;}

ave=sum/4.0;

printf("NO%d:%f\n",n,ave);

}

}

上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是()。

A. sum=0.0;

B. sum+=score;

C. ave=sun/4.0;

D. printf("NO%d:%f\n",n,ave);

5有以下程序段:

int n=0,p;

do{scanf("%d",&p);n++;}while(p!=12345 &&n<3);

此处do—while循环的结束条件是()。

A. P的值不等于12345并且n的值小于3

B. P的值等于12345并且n的值大于等于

3

C. P的值不等于12345或者n的值小于3

D. P的值等于12345或者n的值大于等于

3

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

A.0

B.1

C.true

D.非0

7若i,j已定义为int类型,则以下程序段中内循环的总的执行次数是()。

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

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

{…}

A.20

B.24

C.25

D.30

8循环语句for(i=0,x=0; !x&&i<=5; i++);的执行次数为。

A. 5次

B. 6次

C.1次

D.无限

9设i,j,k均为整型变量,则执行如下语句后,k的值为。

for (i=0, j=10; i<=j; i++, j--)

{ k = i + j; }

A.8

B.9

C.10

D.11

10若i为整型变量,则for(i=2;i= =0;)printf(“%d”,i- -);循环执行次数是。

A.无限次

B.0次

C.1次

D.2次

11循环体至少被执行一次的语句为。

A. for循环

B. while循环

C. do-while循环

D.任一种循环

12若输入字符串:abcde<回车>,则以下while循环体将执行多少次。

while((ch=getchar())!='e') printf("*");

A.5

B. 4

C. 6

D. 1

13执行语句for ( i=0;i++<3 ;)后,变量i的值为。

A.2

B.3

C.4

D.5

14若有“int a=1,x=1;”,则循环语句“while(a<10) x++; a++;”的循环执行

A.无限次

B.不确定次

C.10次

D.9次

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

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

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

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

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

16下面有关for循环的正确描述是。

A. for循环只能用于循环次数已经确定的情况

B. for循环是先执行循环体语句,后判定表达式

C. 在for循环中,不能用break语句跳出循环体

D. for循环体语句中,可以包含多条语句,但要用花括号括起来

17有以下程序段,则while循环体执行的次数是。

int k=0

while(k)k++;

A.无限次

B.有语法错,不能执行

C.一次也不执行

D.执行1次

18以下程序段

x=-1;

do { x=x*x; }

while(x>0);

A. 是死循环

B. 循环执行一次

C. 循环执行二次

D. 有语法错误

19执行语句{for(j=0;j<=4;j++) a=1;}后变量j的值是.

A.0

B. 3

C.4

D. 5

20循环“for(i=0,x=1;i=10&&x>0;i++);”的循环执行。

A.无限次

B.不确定次

C.10次

D.9次

21break语句不能出现在语句中.

A. switch

B.for

C. while

D. if…else

二、判断题

22用do-while语句构成的循环,在while后的表达式为零时结束循环。

正确错误

23do-while语句构成的循环,在while后的表达式为非零时结束循环。

正确错误

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

正确错误

25do-while语句构成的循环不能用其它语句构成的循环来代替。

正确错误

26在循环体内使用break语句或continue语句的作用相同。

正确错误

27continue语句的作用是结束整个循环的执行。

正确错误

28for循环的循环体语句中,可包含多条语句,但必须用花括号括起来。

正确错误

29在for循环中,不能用break语句跳出循环体。

正确错误

30for循环是先执行循环体语句,后判断表达式。

正确错误

31for循环只能用于循环次数已经确定的情况。

正确错误

32从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略。

正确错误

33continue只能用于循环体中。

正确错误

34C语言的三种循环不可以互相嵌套。

正确错误

三、填空题

35当循环体内遇到()语句时提前结束本次循环,进入下一次循环,而不是终止整个循环的执行。

36当循环体内遇到()语句时提前终止循环,跳出循环,接着执行循环下面的语句。

37除了while语句和do…while语句实现循环外,C语言还提供()语句实现循环,不仅可以用于循环次数已经确定的情况,还可以用于循环次数不确定而只给出循环结束条件的情况。

38如果循环体可能一次也不执行,选用()语句来实现循环结构。

39当循环体至少执行一次时,选用()语句来实现循环结构。

40()循环是先执行后判断。

41()循环是先判断后执行。

42C语言中实现循环结构的控制语句有while语句、do…while语句和()语句。

四、问答题

43以下程序的输出结果是:

#include

int main( )

{

int s,i;

for(s=0,i=1;i<3;i++,s+=i);

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

return 0;

}

44以下程序的输出结果是:

#include

同济大学C语言期末考试卷

同济大学C语言期末考试卷 2005-2006学年第二学期《C程序设计期末试卷》(闭卷) 一、单项选择题(20分) 1. 在定义函数时,能用以下(1) 标识符作函数名。 A.struct B._abc C. 8abc D. abc@https://www.360docs.net/doc/8711378679.html, 2在一个函数被调用执行过程中,当执行到函数体中(2) 语句后立即无条件返回主调函数。 A.goto B.break C.continue D.return 3.以下关于main函数定义的叙述中,错误的是(3) 。 A. main函数是自定义函数,因此函数体中的声明和语句都是可选的 B. main函数定义时可以有形式参数也可以没有形式参数 C. main函数定义必须出现在一个源程序的起始位置 D. 在一个源程序中只能有一个main函数定义 4.以下函数定义中正确的是(4) 。 A. double fun(intx,y){ return x*y;} B. double fun(intx,int x){ return x*x; } C. double fun(register intx,int y){ return x*x;} D. double fun(extern intx,int y){ return x*y;} 5.若函数定义为void fun(intx,inty,int *p) { *p= x>y ? x : y; },且main函数中有声明“int a=1,b=2,c[2]={0};”,则以下语句中正确的是(5) 。 A.printf(“%d”,fun(a,b,c)); B.fun(a,b,c+1); C.fun(a,b,c[2]); D.fun(1,2); 6. 若函数定义为double fun(double x,double y){ return x/y;},则以下fun引用声明(函数原型)中错误的是(6) 。 A. double fun(double x,double y); B. double fun(double a,double b); C. double fun(double ,double ); D. float fun(double x,double y); 7.以下程序段中,有语法错误的是。 A. double f; double f (double x) { return f=x*x; } C. double f (double x) { double f; return f=x*x; } B. double f (double f) { return f*f;} D. double f (double x) { if(x>0){ double f ; return f=x;} else{ double f ; return f= -x;} } 8.以下一维数组声明中,正确的是(8) 。 A. int a[ ]; B.int b[10],a[b]; C. int a[4]={1,2,3,4,5}; D. int a[sizeof('a')]={'a'};

江苏大学大一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语言期末考试题 悬赏分:40 |解决时间:2010-6-29 14:28 |提问者:345387547 1. 数组int a[3][5]; 共定义了____15_________个元素。 2. 有float f= 3.1415927; 则printf(“%5.4f”, f );输出的结果是 _______________。 3. 下面程序的功能是:输出100以内(不包含100)能被3整除且个位数为6的所有整数,请填空。 main( ) { int i; for(i=1; ___i<100____________; i++) if (___i/3_=__=0__i_______) printf("%d", i); } 4. 设有“int x=2, y”说明,则逗号表达式“y=x+5,x+y”的值是_________7 ______ 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语言程序设计》期中考试试卷 课程编号: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语言期末考试试题

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语言期末考题库

昆明理工大学C语言期末考题库一个数组中的所有元素可以具有不相同的数据类型。选择一项: 对 错 C语言中,do-while语句构成的循环只能用break语句退出。选择一项: 对 错 数组名作为函数的参数时,实参数组和形参数组共用相同的内存单元。 选择一项: 对 错 已知字符数组str1的初值为"China",则语句str2=str1;执行后字符数组str2也存放字 符串"China"。 选择一项: 对 错 论使用何种参数传递方式,形参变量值的改变都不影响实参变量的值。 选择一项:

对 错 以下有关宏替换的叙述不正确的是_______。选择一项: a. 宏替换不占用运行时间 b. 宏替换只是字符替换 c. 宏名无类型 d. 宏名必须用大写字母表示 结构体可以定义在单独的头文件中,使用时需要在对应C文件中包含该头文件。 选择一项: 对 错 可以用swicth结构实现的程序都可以使用if语句来实现。选择一项: 对 错 下面对typedef的叙述中不正确的是_______。 选择一项: a. typedef只是将已存在的类型用一个新的标识符来代表

b. 用typedef可以增加新类型 c. 用typedef可以定义各种类型名,但不能用来定义变量 d. 使用typedef有利于程序的通用和移植 枚举类型时一种基本的数据类型。 选择一项: 对 错 switch语句的结束发生在break;语句的执行或者switch语句的“}”。选择一项: 对 错 f(int a) { int b=0;static int c=3; b++; c++; return(a+b+c); } 选择一项: a. 7 7 7 b. 7 8 9 c. 7 10 13 d. 7 9 11

大学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语言程序设计期末考试试卷和答案

四川师范大学计算机科学学院 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语言期末考试题 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语言期末复习题汇总

选择题 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语言中易犯的错误 对初学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语言期末考试参考资料(个人推荐)

C 语言总复习 总体上必须清楚的: 1)程序结构是三种: 顺序结构 , 循环结构 (三个循环结构), 选择结构 (if 和 switch) 2)读程序都要从main()入口, 然后从最上面顺序往下读(碰到循环做循环,碰到选择做选择)。 3)计算机的数据在电脑中保存是以二进制的形式. 数据存放的位置就是他的地址. 4)bit是位是指为0 或者1。 byte 是指字节, 一个字节 = 八个位. 5)一定要记住二进制如何划成十进制。 概念常考到的: 1、编译预处理不是C语言的一部分,不再运行时间。C语言编译的程序称为源程序,它以ASCII数值存放在文本文件中。 2、每个C语言程序中main函数是有且只有一个。 3、在函数中不可以再定义函数。 4、算法的是一定要有输出的,他可以没有输入。 5、break可用于循环结构和switch语句。 6、逗号运算符的级别最低。 第一章 1)合法的用户标识符考查: 合法的要求是由字母,数字,下划线组成。有其它元素就错了。 并且第一个必须为字母或则是下划线。第一个为数字就错了。 关键字不可以作为用户标识符号。main define scanf printf 都不是关键字。迷惑你的地方:If是可以做为用户标识符。因为If中的第一个字母大写了,所以不是关键字。 2)实型数据的合法形式: 2.333e-1 就是合法的,且数据是2.333×10-1。 考试口诀:e前e后必有数,e后必为整数。. 3)字符数据的合法形式:: '1' 是字符占一个字节,"1"是字符串占两个字节(含有一个结束符号)。 '0' 的ASCII数值表示为48,'a' 的ASCII数值是97,'A'的ASCII数值是65。 4)整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节: 考试时候一般会说,在16位编译系统,或者是32位系统。碰到这种情况,不要去管,一样做题。掌握整型一般是两个字节, 字符型是一个字节,双精度一般是4个字节就可以了。 5)转义字符的考查: 在程序中 int a = 0x6d,是把一个十六进制的数给变量a 注意这里的0x必须存在。 在程序中 int a = 06d, 是一个八进制的形式。 在转义字符中,’\x6d’才是合法的,0不能写,并且x是小写。 ‘\141’是合法的, 0是不能写的。 ‘\108’是非法的,因为不可以出现8。 6)算术运算符号的优先级别: 同级别的有的是从左到右,有的是从右到左。 1级优先级左结合 () 圆括号 [] 下标运算符 -> 指向结构体成员运算符 . 结构体成员运算符 2级优先级右结合 ! 逻辑非运算符 ~ 按位取反运算符

上海海事大学(C语言期末)上机题库

试卷编号:9688 所属语言:C语言 试卷方案:期中考试 试卷总分:100分 共有题型:5种 一、填空共15题(共计15分) 第1题(1.0分)题号:528 设a、b、c为整型数, 且a=2、b=3、c=4, 则执行完以下语句: a*=16+(b++)-(++c); 后,a的值是【1】. 答案: =======(答案1)======= 28 第2题(1.0分)题号:78 已知 i=5;写出语句 i+=012; 执行后整型变量 i 的十进制值是【1】. 答案: =======(答案1)======= 15 第3题(1.0分)题号:510 若a是int型变量,则计算表达式 a=25/3%3 后a的值为【1】. 答案: =======(答案1)======= 2 第4题(1.0分)题号:437 以下程序的输出结果为【1】, #include "stdio.h" main(){int a=010,j=10;printf("%d,%d\n",++a,j--);}

答案: =======(答案1)======= 9,10 第5题(1.0分)题号:431 执行下面两个语句,输出的结果是【1】,char c1=97,c2=98;printf("%d %c",c1,c2); 答案: =======(答案1)======= 97 b *第6题(1.0分)题号:293 getchar()函数只能接收一个【1】. 答案: =======(答案1)======= 字符 第7题(1.0分)题号:440 设a=3,b=4,c=5,则表达式!(a+b)+c-1&&b+c/2的值为【1】. 答案: =======(答案1)======= 1 第8题(1.0分)题号:95 已知a=13,b=6, a&&b的十进制数值为【1】. 答案: =======(答案1)======= 1 第9题(1.0分)题号:306 当a=1,b=2,c=3时,执行以下程序段后b=【1】.

大学生C语言期末考试必做题库

C语言

第一题 在屏幕上显示一个短句“Programming in C is fun!” #include int main() { printf("Programming in C is fun!\n"); return 0; } 第二题 在屏幕上显示如下网格。 +---+---+ | | | | | | +---+---+ #include int main( ) { printf("+---+---+\n| | |\n| | |\n+---+---+\n"); return 0; } 第三题 在屏幕上显示一条语句“This is a C program.” #include int main() { printf("This is a C program.\n"); return 0; } 第四题 输出如下图形: ********** very good! ********** #include int main( ) { printf("**********\nvery good!\n**********\n"); return 0; }

第一题求平方根(基础) 程序填空,不要改变与输入输出有关的语句。 输入1个实数x,计算并输出其平方根(保留1位小数)。 例:输入17输出The square root of 17.0 is 4.1 #include #include int main( ) { double x, root; scanf("%lf", &x); root=sqrt(x); printf("The square root of %0.1f is %0.1f\n", x, root); return 0; } 第二题计算一个三位数的个十百位之和 编写程序。 输入一个三位数(大于0),计算这个三位数的个位、十位、百位数字之和. 例如:输入:152输出:sum=8 #include #include int main() { int n,a,b,c,sum; scanf("%d",&n); a=n/100; b=n%100/10; c=n%10; sum=a+b+c; printf("sum=%d\n",sum); return 0; } 第三题(公共)求圆的周长、面积及圆球体积 程序填空,不要改变与输入输出有关的语句。 求以r为半径的圆周长c和圆面积s,再求以r为半径的圆球体积v。(已知r=3.67在程序中直接赋值,pi的值为3.1415926) 按照下列形式输出: printf("c=%f\ns=%f\nv=%f\n",c,s,v); #include int main( ) { double r,c,s,v,pi=3.1415926; r=3.67; c=2*pi*r;

大一c语言考试试题

单 项 选 择 题 ( 每 小 题 2 分 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 -abc DO WORD IF ase sizeof 4、假定x 和y 为double 型,则表达式(x=2,y=x+5/2)的值是__C A 、4.500000 B 、4 C 、 4.000000 5、下列可以正确表示字符型常量的是 ___D C 、 "\n" D 、 '\t' 6、在C 语言中,要求运算数必须是整型的运算符是 __D, 、 ++ 7、C 语言中,复合语句的构成是将一系列语句置于 __C A 、 begin 与 end 之间 B 、方框号“ [ ] ”之间 C 、花括号“ { } ”之间 D 、圆括号“ ( ) ”之 间 8、有如下程序段,对应正确的数据输入是 ___A___。 float x,y; scanf( ”%f%f ” , &x,&y); printf( ”a=%f,b=%f ”, x,y); A 、 2.04<回车> B 、 2.04,5.67< 回车> 5.67< 回车> C 、 A=2.04,B=5.67< 回车> D 、 回车> 9、以下程序段的输出结果是 __ _D__。 int a=5678; printf( ”%2dn ”, a); A 、提示出错、无结果 B 、 56 C 、 78 D 、 5678 10、已知: char ch='A' ;则下列表达式的值是 __B ch = (ch>='A'&&ch<='Z') ? (ch+32) : ch; A 、A B 、a C 、Z D 、z 11、下列描述,正确的是 ___B__ 。 、 2.000000 A 、 297 B 、 "a

大一c语言期末试题及参考答案word版本

2004级信息学院《C语言设计》考试试题 一、判断下列语句或程序的对错。 10分√ 1 int x=y=z=’0’; (×) y,z没有定义 2 #include ; (×)不能有分号,#开头的结尾均不能有分号; 3 printf(“%s\n”,”c language”); (√) 4 float a[100]; int *p=a; (×)数据类型不匹配 5 char str[20]; 6 int data[4]={0,1,2,3,4}; (×)五个元素,但是只有四个单元 7 float x=1.45e+310L; (×)数值越界 8 int xyz-1=2; (×) 9 int x=‘\xae’ ; (√) 10 int *p,a[2][3] ; p=a ; (×)数据类型不匹配 二计算下列表达式的值 10分 设 unsigned int a=10,b=17,c=5,d=3; float f ; (1)f=b/c ( 3.0 ) (2)!(a+b)+c-1&&b+c/2 ( 1 ) (3)(a^b)+(c>>1+d) ( 0x1b ) (4)a+=b%=a=b ( 17 ) (5)a=2,b=a*++b ( 2 ) 三程序改错 10分 (1)求两个浮点数的平方和及平方差 #include float calculate (float x,float y,float *sub);添加函数原型声明 main () { float a,b; float add_reasult, sub_result; scanf (“%f,%f”,a,b); add_result=calculate(a,b,&sub_result); printf( “a*a+b*b=%d,a*a-b*b=%d\n”,add_result,sub_result); } float calculate (float x,float y,float *sub) 添加函数类型 { float *temp; 应该直接定义为变量float temp; sub=a*a-b*b ; *sub=a*a-b*b;

湖南工业大学C语言期末考试复习题(机房题库)

C语言期末考试复习题(机房题库) 2、下列各选项中,合法的c语言关键字是( )。 A. integex B. sin C. string D. void参考答案: D 3、C语言的程序一行写不下时,应该( )。 A. 用回车符换行 B. 在任意一个空格处换行 C. 用分号换行 D. 用逗号换行答案: B 4、以下选项中正确的整型常量是( )。 A. 34.1 B. -80 C. 2,000 D. 1 2 3参考答案: B 5、在C程序中,可以作为用户标识符的一组标识符是( )。 A. void define WORD B. as_b3 _224 Else C. switch _wel ease D. 4b DO SIG答案: B 8、以下叙述不正确的是( ) A. 一个c源程序可由一个或多个函数组成 B. 一个C源程序必须包含一个main()函数 C. c程序的基本组成单位是函数 D. 在C程序中,注释说明只能位于一条语句的后面答案: D 9、C语言规定:在一个源程序中,main()函数的位置( ) A. 必须在最开始 B. 必须在系统调用的库函数的后面 C. 可以任意 D. 必须在最后参考答案: C 10、在C语言中,数字029是一个() A. 八进制数 B. 十六进制数 C. 十进制数 D. 非法数参考答案: D 12、C语言可执行程序的开始执行点是( ) A. 程序中的一条可执行语句 B. 程序中第一个函数 C. 程序中的main函数 D. 包含文件中的第一个函数参考答案: C 13、C程序是( ) A. 顺序执行 B. 从Main函数开始 C. 从函数体开始 D. 任意语句参考答案: B 16、以下说法中正确的是( )。 A. C语言程序中是从第一定义的函数开始执行 B. 在C语言程序中,要调用的函数必须在main()函数中定义 C. C语言程序总是从main()函数开始执行 D. C语言程序中的main()函数必须放在程序的开始部分参考答案: C 17、一个C程序的执行是从( ) A. 本程序的main函数开始,到main函数结束 B. 本程序文件的第一个函数开始,到本程序文件的最后一个函数结束 C. 本程序的main函数开始,到本程序文件的最后一个函数结束 D. 本程序文件的第一个函数开始,到本程序main函数结束参考答案: A 18、以下叙述正确的是( ) A. 在C程序中,main函数必须位于程序的最前面 B. C程序的每行中只能写一条语句 C. C语言本身没有输入输出语句 D. 在对一个C程序进行编译的过程中,可发现注释中的拼写错误答案: C 1、C源程序的基本单位是___函数__

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

大学C语言期末考试试题 一选择题(7分,每小题0.5分) 1。C语言源程序的基本单位是()。 A 过程B函数C子程序D标识符 2.下列程序的输出结果是()。 main( ) { inta=7,b=5; printf("%d\n",b=b/a); } A 5 B 1 C0 D不确定值 3.假设变量a,b均为整型,表达式(a=5,b=2,a>b?a++:b++,a+b)的值是()。 A7 B8 C9 D 2 4.设a为int型变量,执行下列赋值语句后,a的取值分别是()。 a=125.534;a=(int)125.521%4;a=5<<2; A125,31,1 B125,1,20 C 125,31,20D125.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 B3 C5 D语法错误 9.以下程序的输出结果为(). #defineADD(x)x*x main( ) {int a=4,b=6,c=7,d=ADD(a+b)*c; printf(”d=%d",d);

相关文档
最新文档