admin 管理员组

文章数量: 887021


2023年12月16日发(作者:profinet是什么意思)

1、一个C语言的源程序中A)必须有一个主函数

B)可以有多个主函数

C)必须有主函数和其他函数

D)可以没有主函数

2、关于C程序的主函数,以下描述中正确的是A)C程序的第一个函数称为主函数,程序从该函数开始运行。

B)C程序的主函数即是main函数,程序从该函数开始运行。

C)C程序可以有多个主函数,程序从第一个主函数开始运行。

D)C程序可以没有主函数,程序从第一个函数开始运行。

3、C程序中,return语句的作用是A)终止程序运行

B)返回到上层循环

C)返回到外层结构

D)返回到上层函数

4、C语言程序的3种基本结构是A)顺序结构,选择结构,循环结构

B)递归结构,循环结构,转移结构

C)嵌套结构,递归结构,顺序结构

D)循环结构,转移结构,顺序结构

5、以下对C程序的描述中正确的是A)C程序总是从main()函数开始执行。

B)C程序可以从程序中的任何函数开始执行。

C)C程序总是从第一个定义的函数开始执行。

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

6、关于C程序第1行的包含语句,以下写法中正确的是A)#include stdio.h

B)#include 'stdio.h'

C)#include (stdio.h)

D)#include

7、关于C语言程序,正确的编程流程应该是A)编辑→保存→编译→运行

B)编译→编辑→运行→保存

C)保存→运行→编辑→编译

D)运行→编译→保存→编辑

[正确答案: A]。

[正确答案: D]。

[正确答案: A]。

[正确答案: A]。

[正确答案: D]。

[正确答案: B]。

[正确答案: A]。

8、下列的哪个不是C语言的关键字A)while

B)auto

C)break

D)printf

9、下列的哪个不是C语言的算术运算符A)+

B)%

C)=

D)-

10、下列的哪个不是C语言的关系运算符A)>=

B)<=

C)=

D)!=

11、下列的哪个是错误的描述A)代码如果没有缩排是错误的

B)程序总是从main函数开始执行

C)注释/*和*/不可以嵌套

[正确答案: D]。

[正确答案: C]。

[正确答案: C]。

[正确答案: D]。

D)C源文件经过编译先生成目标文件,再经过连接才能生成可执行文件

12、以下哪个是合法的用户标识符A)3ab

B)_isw

C)float

D)b-b

13、以下四项中哪个不是合法的变量名A)INT

B)int

C)year2009

D)my_program

14、以下选项中,合法的C语言用户标识符是A)b-a

B)5ab

C)int

D)_5ab

15、以下选项中,三种类型都是C语言的基本类型的是[正确答案: C]。

[正确答案: D]。

[正确答案: B]。

[正确答案: B]。

A)int, long, real

B)integer, short, double

C)int, float, char

D)int, decimal, char

16、关于main函数的实现,以下写法中必定错误的是A)main { printf("Hellon"); }

B)main() { printf("Hellon"); }

C)int main(void) { printf("Hellon"); }

D)void main() { printf("Hellon"); }

17、把x,y定义成float类型,并赋同一初值3.14,正确的是A)float x,y=3.14;

B)float x,y=2*3.14;

C)float x=y=3.14;

D)float x=3.14,y=x;

18、若变量已正确定义并赋值,以下哪个表达式不符合C语言语法A)a*b/c

B)3.14%2

C)2,b

D)a/b/c

19、设int n,m; 使m为n的十进制百位数的语句是A)m = n/100;

B)m = n%100;

C)m = n/100%10;

D)m = n%10/100;

20、设float x,y; 使y为x的小数部分的语句是A)y = (int)x;

B)y = int(x);

C)y = x – (int)x;

D)y = x – int(x);

21、C语言中的运算对象必须是整型的运算是A)/

B)=

C)>=

D)%

22、设要定义n为整型变量,定义x为双精度实型变量,正确的语句是A)int n, double x,

B)int n, double x;

[正确答案: C]。

[正确答案: D]。

[正确答案: C]。

[正确答案: C]。

[正确答案: B]。

[正确答案: C]。

[正确答案: A]。

C)int n; double x;

D)int n; double x,

23、设有int n; 从键盘上输入整数给变量n,正确的语句是A)scanf( n );

B)scanf( "n" );

C)scanf( "%d", n );

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

24、设有int n=10; 要求屏幕上显示“n=10”结果,正确的语句是A)printf( n );

B)printf( "n=", n );

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

D)printf( "n=%d", &n );

25、以下哪条语句输出字符'a'的ASCII编码A)printf("%d",a);

B)printf("%d",'a');

C)printf("%c",'a');

D)putchar(a);

26、设有定义 int a; char c; 执行输入语句

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

若要求a和c得到的值为10和'Y',请选择正确的键盘输入方式A)10,Y

B)10Y

C)10<空格>Y

D)10<回车>Y

27、设有如下语句int x,y; scanf("%d%d",&x,&y); 如果要使变量x得到数值11,变量y得到数值22,正确的输入应是(□表示空格,↙表示回车)A)x=11□y=22↙

B)x=11↙y=22↙

C)11,12↙

D)11□22↙

28、设有char ch; 与语句“ch=getchar();”等价的语句是A)scanf("%c",ch);

B)scanf("%c",&ch);

C)printf("%c",ch);

D)printf("%c",&ch);

29、语句printf("%.1f,%dn",10./4,10/8); 的输出是A)2.5,1.25

[正确答案: B]。

[正确答案: B]。

[正确答案: D]。

[正确答案: B]。

[正确答案: B]。

[正确答案: C]。

[正确答案: D]。

B)2.5,1

C)1,1.25

D)2,1.25

30、下列语句段的运行结果是int a=1234;float x=56.789;

printf("%3d,%4.2fn",a,x);

A)1234,56.79

B)1234 56.79

C)1234,56.789

D)1234 56.789

31、执行以下程序段后,c3的值是int c1=1,c2=2,c3;

c3=c1/c2;

A)0

B)2

C)0.5

D)1

32、变量a与b分别初始为10与20,正确的语句是A)int a=10, int b=20;

B)int a=10, b=20;

C)int a=10; b=20;

D)int a=10; b=20,

33、下列的哪个不是C语言的逻辑运算符A)!

B)&&

C)&

D)||

34、以下选项中错误的整型常量是A)123.

B)-346

C)0x5A

D)0777

35、以下选项中正确的C语言常量是A)0xEfGh

B)'XYZ'

C)12.34e5

D)'5A'

[正确答案: C]。

[正确答案: A]。

[正确答案: C]。

[正确答案: B]。

[正确答案: A]。

[正确答案: A]。

36、以下四项中不合法的C语言常量是A)'xab'

B)"x1f"

C)0x1234

D)2.1e3

37、以下选项中不能作为C语言合法常量的是A)"a"

B)'cd'

C)0.1e+6

D)'011'

38、下列不合法的字符常量是A)'xcc'

B)'"'

C)''

D)'018'

39、以下哪个是不正确的字符常量A)'n'

B)'n'

C)"a"

D)'101'

[正确答案: A]。

[正确答案: B]。

[正确答案: D]。

[正确答案: C]。

40、设有定义char c;且c表示一个小写字母,将小写字母转换为对应大写字母的表达式是[正确答案: C]。

A)c - a + A

B)c - A + a

C)c - 'a' + 'A'

D)c - 'A' + 'a'

41、设有变量定义 int i, j; 与表达式 i==0 && j==0 等价的表达式是A)i||j

B)!i&&!j

C)!i==!j

D)i==j

42、设int n; 判断“n不为0”的表达式是A)n==0

B)!(n=0)

C)n=!0

D)n!=0

[正确答案: D]。

[正确答案: B]。

43、设int n; 判断“n为0”的表达式是A)n=0

B)n!=0

C)!(n=0)

D)n==0

44、设int n; 下列选择中“结果恒为真”的表达式是A)n=0

B)n!=0

C)n=1

D)n=n

45、设有定义int a;判断a是一个偶数的表达式是A)a==2*n

B)a/2==0

C)a%2=0

D)a%2==0

46、以下关于C语言逻辑真假的描述中,正确的是A)逻辑真用true表示,逻辑假用false表示

B)逻辑真用yes表示,逻辑假用no表示

C)逻辑真用1表示,逻辑假用0表示

D)表达式(1+2)的逻辑值既不是真,也不是假

47、C源程序中不能表示的数制是A)二进制

B)八进制

C)十进制

D)十六进制

48、设n为16位二进制整数,则n的取值范围是A)-32768至32768

B)-32768至32767

C)0至65536

D)0至65535

[正确答案: D]。

[正确答案: C]。

[正确答案: D]。

[正确答案: C]。

[正确答案: A]。

[正确答案: B]。

49、下列关于long、int、short类型数据占用内存大小叙述中正确的是A)均占4个字节

B)根据数据的大小来决定所占内存的字节数

C)由C语言编译系统决定

D)由用户自己定义

50、下列选项中,不能作为合法常量的是[正确答案: B]。

[正确答案: C]。

A)1.234e04

B)1.234e0.4

C)1.234e+4

D)1.234e0

51、设有定义float x=3.567,y; 赋值使y为3.6的语句是A)y = (int)(10*x+0.5)/10.0;

B)y = (int)(10*x)/10.0;

C)y = (int)(10*x)/10.0 + 0.5;

D)y = (%3.1f) x;

52、能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是A)a>=10 | a<=0

B)a>=10 && a<=0

C)a>=10 || a<=0

D)a>=10 or a<=0

53、C中执行下列代码后整型变量x和y的值是int x=100,y; y=x++;

A)x=100 y=100

B)x=100 y=101

C)x=101 y=100

D)x=101 y=101

54、计算表达式:x=(i=4,j=10,k=24)后,x的值为A)4

B)10

C)24

D)38

55、下列运算符中运算优先级最高的是A)*

B)!

C)&&

D)>=

56、设有定义int m=1,n=6; 赋值使m为8的语句是A)m = (n++) + 1;

B)m = 1 + (++n);

C)m += n==6?1:0;

D)m += n++;

57、设有定义int a=5,b; 赋值使b为9的语句是A)b = ++a+4;

[正确答案: D]。

[正确答案: B]。

[正确答案: B]。

[正确答案: C]。

[正确答案: C]。

[正确答案: C]。

[正确答案: A]。

B)b = (a++)+3;

C)b = 8+!(a==5);

D)b = (a++==6)?8:9;

58、下面哪些是不正确的C语言赋值语句A)a=a+1;

B)i++;

C)a*=1,b=8;

D)a=3

59、执行以下语句的结果为y=10; x=y++;

A)x=10,y=10

B)x=11,y=11

C)x=10,y=11

D)x=11,y=10

60、若有定义语句:char c='n'; 则变量cA)包含4个字符

B)包含2个字符

C)包含1个字符

D)说明不合法,c的值不确定

61、设有变量定义:int a=5, b=8;当执行完语句:b= a

A)5和5

B)5和7

C)5和8

D)5和9

62、将字符变量a与b分别初始为'A'与'B',正确的语句是A)char a,b='A','B';

B)char a='A', char b='B';

C)char a="A", b="B";

D)char a='A', b='B';

63、为表示关系x≤y≤z,正确的C语言表达式是A)(y>=x)&&(y<=z)

B)(x>=y)AND(y>=z)

C)(x>=y>=z)

D)(x>=y)&(y>=z)

64、要判断char型变量m是否是数字,可以使用表达式为A)0<=m && m<=9

[正确答案: B]。

[正确答案: A]。

[正确答案: D]。

[正确答案: C]。

[正确答案: C]。

[正确答案: D]。

B)m>='0' && m<='9'

C)"0"<=m && m<="9"

D)'0'<=m <='9'

65、设char ch; 判断“ch为数字字符”的表达式是A)ch>='0' && ch<='9'

B)ch>0 && ch<9

C)ch>='0' || ch<='9'

D)ch>=0 || ch<=9

66、设有int n; 则判断“n为二位数正整数”的表达式是A)10<=n<=99

B)10<=n || n<=99

C)10<=n, n<=99

D)10<=n && n<=99

67、设有int a,b; 满足以下判断的表达式是a是3的倍数,或者b不是5的倍数

A)a%3==0 || b%5!=0

B)a%3!=0 || b%5==0

C)a%3!=0 || b%5!=0

D)a%3==0 || b%5==0

68、下列常数中不能作为C的常量的是A)0xA5

B)2.5e-2

C)3e2

D)2e32.6

69、已知int i,a; 执行语句“i=(a=2*3,a*5),a+6;”后,变量i的值是A)6

B)12

C)30

D)36

70、要定义字符型变量c并赋初值,以下正确的语句是A)char c='97';

B)char c="a"

C)char c=65;

D)char c='ab';

71、若变量已正确定义并赋值,符合C语言语法的表达式是A)a=a+7;

B)a=7+b+c,a++

[正确答案: B]。

[正确答案: C]。

[正确答案: C]。

[正确答案: D]。

[正确答案: A]。

[正确答案: D]。

[正确答案: A]。

C)int(12.3%4)

D)a=a+7=c+b

72、设有定义语句:char c1=92, c2=92; ,则以下表达式中值为零的是A)c1^c2

B)c1&c2

C)~c2

D)c1|c2

73、表达式10 & 12和10 ^ 12的计算结果分别是A)8和14

B)8和6

C)14和8

D)6和8

74、设有定义:int a=15; 则执行语句:a/=a+a; 后a的值是A)0

B)1

C)0.5

D)16

75、设有定义:int a, b, c=10; 下列选项中能将变量c的值赋给变量a和b的是确答案: C]。

A)a=b, b=c, c=a;

B)c=a=b;

C)(a=c)&&(b=c);

D)(a=c)||(b=c);

76、与表达式:!a ? 10 : 20 等价的表达式是A)a==0 ? 10 : 20

B)a!=0 ? 10 : 20

C)a!=1 ? 10 : 20

D)a ? 10 : 20

77、请选出以下四项中不合法的常量A)'123'

B)"123"

C)0x1234

D)2.1e3

78、在位运算中,操作数每右移一位,其结果相当于A)操作数乘以2

B)操作数乘以4

C)操作数除以2

[正确答案: C]。

[正确答案: A]。

[正确答案: A]。

[正[正确答案: A]。

[正确答案: B]。

[正确答案: A]。

D)操作数除以4

79、在位运算中,操作数每左移一位,其结果相当于A)操作数乘以2

B)操作数除以2

C)操作数乘以4

D)操作数除以4

80、假设整数x是一个偶数,请选出表达式值为真的表达式A)x%2==0

B)x%2>0

C)x%2

D)x/2*2-x!=0

81、假设有以下程序段,请问执行后的输出结果是char a='Z';

a = (a>='a'&&a<='z') ? a-'a'+'A' : a;

printf("%c",a);

A)a

B)A

C)z

D)Z

82、设整数n的值为十进制-8, 以16位二进制存贮该数时,其编码是A)0000 0000 0000 1000

B)1000 0000 0000 1000

C)1111 1111 1111 0111

D)1111 1111 1111 1000

83、设int n=-1; 则n在内存中的16位编码是A)1111 1111 1111 1111

B)1000 0000 0000 0001

C)1111 1111 1111 1110

D)0000 0000 0000 0000

84、设整数n的值为十进制-5, 以16位二进制存贮该数时,其编码是A)0000 0000 0000 0101

B)1000 0000 0000 0101

C)1111 1111 1111 1010

D)1111 1111 1111 1011

85、求“abc12n”字符串的长度A)5

B)6

[正确答案: C]。

[正确答案: D]。

[正确答案: A]。

[正确答案: D]。

[正确答案: D]。

[正确答案: A]。

[正确答案: A]。

C)7

D)8

86、设x=7,执行语句y=++x,则y等于A)6

B)7

C)9

D)8

87、下列字符列中,合法的整型常量是A)4.18e3

B)0.46793

C)078

D)9738

88、在C中,char类型数据在内存的存储形式是A. 原码

B)反码

C)补码

D)ASCII码

89、若有定义“int x”,则下面能将x的值强制转换成双精度数的表达式A]。

A)(double) x

B)double (x)

C)(x)double

D)x (double)

90、下述叙述正确的是A)字符型变量不能赋予整数

B)任意整数都能表示字符

C)字符型变量可存放多个字符

D)字符数据的值是整数值

91、设变量int a = 5,b; 下列A)b=a/2

B)b=6-(a--)

C)b=a%2

D)b=a>3?3:2

92、逻辑运算符两侧运算对象的数据A)只能是逻辑型数据

B)只能是整型数据

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

[正确答案: A]。

[正确答案: A]表达式计算后,使得变量b的值等于2 ?

[正确答案: D]。

[正确答案:

[正确答案: D]。

[正确答案: D]。

[正确答案: D]。

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

93、设变量x,y,a,b,c,d的值均为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量x,y的值分别是[正确答案: B]。

A)0,0

B)0,1

C)1,0

D)1,1

94、与语句“m += (x=5) + (--y);”等价的语句序列是A)m=m+x+y; x=5; y=y-1;

B)x=5; m=m+x+y; y=y-1;

C)x=5; y=y-1; m=m+x+y;

D)y=y-1; m=m+x+y; x=5;

95、设int x,y,t; 能正确交换变量x与y值的语句序列是A)x=y; y=x;

B)t=y; x=t; y=x;

C)t=x; x=y; y=t;

D)x=t; y=x; t=y;

96、如果要在屏幕上输出字符串“a%b=ab”,则以下确输出字符串。

A)printf("a%b=ab");

B)printf("a%%b=ab");

C)printf("%a%b=%a%b");

D)printf("%a%%b=%a%b");

97、当x=2.5,a=7,y=5.2,求算术表达式x+a%3*(int)(x+y)%2的值为A)2.0

B)2.5

C)3.0

D)3.5

98、设a=3,b=4,c=5,执行!(x=a)&&(y=b)&&0逻辑表达式后,变量x和y的值为确答案: C]。

A)3、4

B)x和y中的值不确定

C)3、不确定

D)不确定、4

99、十进制数57,分别将其转换成C语言中的八进制和十六进制数表示形式为案: C]。

A)71、39

[正确答[正[正确答案: D]。

[正确答案: B]printf语句能正[正确答案: C]。

[正确答案: C]。

B)71Q、39H

C)071、0x39

D)71Q、30x0

100、已知字母A的ASCII码值为十进制65,下面的程序输出的是#include

int main(void)

{

char c1,c2;

c1='A'+'5'-'3';

c2='A'+'6'-'3';

printf("%d,%c",c1,c2);

return 0;

}

A)67,C

B)67,D

C)68,C

D)68,D

[正确答案: B]。

一、分支结构

1、与语句“x+=(a++==b)?c:--d;”功能等价的语句段是A)if (a==b) { a=a+1; x=x+c; }

else { a=a+1; d=d-1; x=x+d; }

B)a=a+1; if (a==b) { x=x+c; }

else { d=d-1; x=x+d; }

C)if (a==b) { a=a+1; x=x+c; }

else { a=a+1; x=x+d; d=d-1; }

D)if (a==b) { a=a+1; x=c; }

else { a=a+1; d=d-1; x=d; }

2、为了避免嵌套的条件语句if-else的二义性,C语言规定:else与正确的。

A)缩排位置相同的if

B)其之前最近尚未匹配的if

C)其之后的if

D)同一行上的if

3、下列关于switch与break语句的描述中,只有A)break语句是switch语句的一部分

B)在switch语句中可以根据需要使用或不使用break语句

C)在switch语句中必须使用break语句

[正确答案: B]是正确的。

[正确答案: B]是[正确答案: A]。

D)以上3个描述有2个是正确的

4、下面if(a>b) s=a+b;

else s=a-b;

A

switch(a>b)

{

case 1:s=a+b;break;

case 0:s=a-b;break;

}

B

switch(a>b)

{

case 1:s=a+b;

case 0:s=a-b;

}

C

switch(a

{

case 1:s=a-b;

case 0:s=a+b;

}

D

switch(a

{

case 1:s=a-b;break;

case 0:s=a+b;break;

}

5、下列程序段运行完成后将输出的结果是#include

int main(void)

{

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

if(a) b--;

else if(b)

if(!c) x=3;

else x=4;

printf( "x=%dn", x);

return 0;

}

A)x=-1

B)x=0

[正确答案: B]。

[正确答案: A]语句与下列if语句等价。

C)x=3

D)x=4

6、下列程序运行时输入58 98 18后,程序的运行结果是#include

int main(void)

{

int a,b,c,x,y;

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

x = a>c ? a : c;

y = b>c ? b : c;

if (a>b)

printf("%d,%d,%dn",x,a-x+y,b+c-y);

else

printf("%d,%d,%dn",y,b-y+x,a+c-x);

return 0;

}

A)58,98,18

B)98,58,18

C)18,58,98

D)18,98,58

7、执行以下代码段后,a的值为int a=1,b=2,c=3;

if(a>b) a=b;

if(a>c) a=c;

A)1

B)2

C)3

D)不确定

8、执行以下程序段后,a,b,c的值分别是int a,b=100,c,x=10,y=9;

a=(--x==y++)?--x:++y;

if(x<9)b=x++; c=y;

A)9,9,9

B)8,8,10

C)9,10,9

D)1,11,10

9、设有定义int x=99; 请写出以下程序段的输出结果if( x==99)

printf(“$$”);

else

[正确答案: B]。

[正确答案: B]。

[正确答案: A]。

[正确答案: B]。

printf(“@@”);

printf(“00”);

A)$$

B)$$00

C)$$@@

D)$$@@00

10、if…else中为避免嵌套出现二义性,C规定else子句总与下列句相匹配。

A)其之前最近的if语句

B)其之前最近且尚未配对的if语句

C)缩排位置相同的if语句

D)其之后最近的if语句

11、已知 int x=1, y=0; 执行下面程序段后,y的值为if(x) { if (x>0) y=1; } else y = -1 ;

A)-1

B)0

C)1

D)不确定

12、已知 int x=1, y=0, w ; 执行下面程序段后,w的值为if(x) if(y) w=x&&y; else w=y;

A)0

B)-1

C)1

D)不确定

13、设有int a=70; 写出下列语句的运行结果if ( a>=60 )

if (a>=80)

printf("Very Good");

else

printf("Good");

else

if (a>=40)

printf("Bad");

else

printf("Very Bad");

A)Good

B)Very Good

C)Bad

D)Very Bad

14、在C语言中,根据一个表达式的值转向多个分支的语句是[正确答案: B]。

[正确答案: A]。

[正确答案: A]。

[正确答案: C]。

[正确答案: B]if语

A)if-else语句

B)switch语句

C)case语句

D)return语句

15、设有int n=60; 下列语句的运行结果是switch (n/10)

{

case 6: printf("@"); break;

case 5: printf("#");

default: printf("$");

}

A)@

B)#$

C)$

D)@#$

[正确答案: A]。

二、循环结构

1、在C语言中,表示循环的一组语句是A)for, while, do-while

B)for, while, do-until

C)for, loop, do-loop

D)for, for each, while

2、设有int i; 以下语句中,循环次数为100次的语句是A)for ( i=0; i<=100; i++ )

B)for ( i=0; i<100; i++ )

C)for ( i=0; i<99; i++ )

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

3、设有int i=0; 下列语句的运行结果是while (i<=6)

{ printf("%d",i);

i=i+1;

}

A)0123456

B)012345

C)01234

D)0123

4、设有in i; 下列语句的运行结果是[正确答案: C]。

[正确答案: A]。

[正确答案: B]。

[正确答案: A]。

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

printf("%d",i);

A)0123456

B)012345

C)01234

D)0123

5、设有int i=0; 下列语句的运行结果是do {

printf("%d",i);

i=i+1;

} while (i<=5);

A)0123456

B)012345

C)01234

D)0123

6、设有char ch; 下列语句的运行结果是for(ch='B';ch<='F';ch++)

putchar(ch);

A)ABCDEFG

B)ABCDEF

C)BCDEF

D)BCDEFG

7、下面程序不是无限循环的是A)for (;2>=0;);

B)while (3/5,3+5);

C)for (;'0';);

D)while (1);

8、若有int i;,则以下循环的执行次数是for (i=2;i==0;) printf("%d",i--);

A)0次

B)1次

C)2次

D)3次

9、循环语句中,break的作用是A)终止程序运行

B)结束本次循环

C)从本循环体内跳出

D)跳出子函数

10、执行以下程序段,输出结果是[正确答案: D]。

[正确答案: C]。

[正确答案: A]。

[正确答案: C]。

[正确答案: C]。

[正确答案: B]。

int i;

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

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

A)0,1,2,3,4,5,6,7,8,

B)1,2,3,4,5,6,7,8,9,

C)0,2,4,6,8,

D)1,3,5,7,9,

11、下面有关循环的正确描述是A)for循环只能用于循环次数已经确定的情况

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

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

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

12、以下程序段循环执行的次数为int k=10;

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

A)0

B)1

C)5

D)10

13、以下叙述中正确的是A)break语句只能用在switch语句体中

B)break语句只能用在循环体内

C)continue语句只能用在switch语句体中

D)continue语句只能用在循环体内

14、设有定义 int i,s; 循环语句for(i=1;i<=4;i++)执行完成后,变量i的值是答案: A]。

A)5

B)4

C)3

D)不确定

15、设有定义 int x=10; 请写出下列程序段的输出结果循环执行的次数为:7次

for(;x>0;x=x-1)

{

if(x%3==0)

{ printf(“%d”,x--); continue; }

}

A)741

B)852

[正确答案: C]。

[正确[正确答案: D]。

[正确答案: A]。

[正确答案: D]。

C)963

D)875421

16、设有定义 int x=10; 下列程序段循环执行的次数为for(;x>0;x=x-1)

{

if(x%3==0)

{ printf(“%d”,x--); continue; }

}

A)3

B)6

C)7

D)8

17、语句while(w) … 中的表达式w的等价表示是A)w==0

B)w==1

C)w!=0

D)w!=1

18、语句while(a>b) a--; 等价于A)if(a>b)a--;

B)do{a--}while(a>b);

C)for(a>b)a--;

D)for(;a>b; a--);

19、已知int i=0,x=0; 下面while语句执行时循环次数为while( x || i ) { x ++ ; i ++ ; }

A)3

B)2

C)1

D)0

20、执行语句 x=1; while(++x<7) putchar('*'); 后输出结果是A)*****

B)******

C)*******

D)********

21、C中循环语句while和do …while的主要区别是A)do…while的循环体至少无条件执行一次

B)while的循环控制条件和do…while的循环控制条件的控制条件的控制方式是相反的

C)do …while允许从外部转到循环体内,while不允许

D)while的循环体不能复合语句

[正确答案: A]。

[正确答案: A]。

[正确答案: D]。

[正确答案: D]。

[正确答案: C]。

[正确答案: C]次。

22、若有以下程序段:

for(m=1;m<=100;m++)

{

scanf("%d",&y);

if(y<0)

continue;

printf("%d",m);

}

则下面正确的说法是A)当y<0时整个循环结束

B)当y>=0时什么也不输出

C)printf语句永远也不执行

D)最多输出100个非负整数

23、语句“while(!x)…”等价于A)while(x==0)…

B)while(x!=1)…

C)while(x!=0)…

D)while(x==1)…

24、下面的程序执行后,a的值为#include

int main(void)

{

int a,b;

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

{

if(b>=20) break;

if(b%3==1)

{ b+=3;continue;}

b-=5;

}

printf("%dn",a);

return 0;

}

A)7

B)8

C)9

D)10

25、以下程序段的输出结果是int x=3;

do{

[正确答案: C]。

[正确答案: B]。

[正确答案: A]。

[正确答案: D]。

printf("%3d ",x-=2);

}while(!(--x));

A)1

B)30

C)1 -2

D)死循环

三、函数

1、一个C语言程序的基本组成单位是A)主程序

B)子程序

C)函数

D)过程

2、在C语言中,表示结束当前函数的语句是A)return语句

B)break语句

C)continue语句

D)end语句

3、已知函数abc的定义为void abc ( )

{ ....... }

则函数定义中void的含义是

A)执行函数abc后,函数没有返回值

B)执行函数abc后,函数不再返回

C)执行函数abc后,可以返回任意类型

D)以上三个答案全是错误的

4、设有下列变量说明与函数说明,则合法的函数调用语句是int func( int a[], int n );

int a[10], n, x;

A)func( a, n ) = x;

B)x = func( a, n );

C)x = func( a[], n );

D)x = func( a[10], n );

5、下列选项中合法的函数说明语句是A)double func( int a, int b );

B)double func( int a, b );

C)double func( a, int b );

[正确答案: A]。

[正确答案: B]。

[正确答案: A]。

[正确答案: A]。

a[正确答案: C]。

D)double func( a, b );

6、选出下面函数定义中正确的形式A)double fun(int x, int y)

{

z=x+y; return z;

}

B)int fun(int x, y)

{

int z; z=x+y; return z;

}

C)fun (int x, int y)

{

int x,y; double z; z=x+y; return z;

}

D)double fun(int x, int y)

{

double z; z=x+y; return z;

}

7、设有说明int n; char str[80];与函数调用:n=hex2dec(str); 则函数hex2dec正确的函数说明应该是[正确答案: A]。

[正确答案: D]。

A)int hex2dec(char str[]);

B)void hex2dec(char str[]);

C)int hex2dec(char str);

D)void hex2dec(char str);

8、C语言中规定函数返回值的类型由A)return语句中的表达式类型决定

B)调用该函数时的主调函数类型所决定

C)调用该函数时系统临时决定

D)在定义该函数时所指定的函数类型所决定

9、以下不正确的说法是[正确答案: D]。

[正确答案: D]。

A)在不同函数中可以使用相同名字的变量

B)形参是局部变量

C)在函数内定义的变量只在本函数范围内有效

D)在函数内的复合语句中定义的变量在本函数范围内有效

10、有一个如下定义的函数:

func(int a)

{

printf("%d",a);

return a;

}

则该函数值的类型是A)整型

B)void类型

C)没有返回值

D)无法确定

[正确答案: A]。

1、若有以下的定义:int t[3][2];则 t数组最后一个元素是A)t[3][2]

B)t[2][3]

C)t[2]

D)t[2][1]

2、设有double x; char s[50]; 输出双精度浮点数x和字符串s,正确的语句是答案: A]。

A)printf("%lf %s",x,s);

B)printf("%ld %s",x,s);

C)printf("%lf %s",&x,s);

D)printf("%lf %s",x,s[50]);

3、已知一个字符串的最大字符长度为8,要使用字符数组str存放该字符串,以下哪种定义是正确的[正确答案: A]。

A)char str[9];

B)char str[8];

C)char str;

D)char str(9);

4、设有char str[80];语句,则下列输入字符串的语句中正确的是A)scanf("%s",&str);

B)scanf("%s",str[80]);

C)scanf("%s",str);

D)scanf("%s",str[0]);

5、以下字符串定义与赋值中,正确的是A)char s[80]; s = {'A', 'B', 'C'};

B)char s[80]; s = "ABC";

C)char s[80] = {"A", "B", "C"};

D)char s[80] = "ABC";

6、设有变量定义char str[80]; 下列从键盘输入到数组变量str中。

A)printf("%s",str);

[正确答案: B]语句能将字符串“shanghai 2011”[正确答案: D]。

[正确答案: C]。

[正确[正确答案: D]。

B)gets(str);

C)scanf("%s",str);

D)puts(str);

7、下面程序段的运行结果是char c[ ]="tv0willn";

printf("%d",strlen(c));

A)3

B)9

C)12

D)13

8、以下程序的输出结果是int main(void)

{

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]);

return 0;

}

A)1,5,9,

B)1,4,7,

C)3,5,7,

D)3,6,9,

9、以下一维数组定义中,正确的是A)int a[5] = { 1,2,3,4,5 };

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

C)int a[1 to 5];

D)int a[];

10、以下能正确定义整型二维数组a的语句是A)int a[ ][3];

B)int a[ ][3]=2{2*3};

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

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

11、设有定义:int i, a[10]; 以下能正确输入a数组各元素的语句是A)i=10; scanf(“%d”, &a[i]);

B)for(i=0; i<10; i++) scanf("%d", &a);

C)for(i=0; i<10; i++) scanf("%d", &a[i]);

D)for(i=0; i<=9; i++) scanf("%d", a+i);

12、设有定义:int a[10]={6,7,8,9,10};请选出该定义的正确解释[正确答案: B]。

[正确答案: C]。

[正确答案: C]。

[正确答案: A]。

[正确答案: C]。

[正确答案: A]。

A)将5个初值依次赋给a[1]~a[5]

B)将5个初值依次赋给a[0]~a[4]

C)将5个初值依次赋给a[6]~a[10]

D)将5个初值依次赋给a[5]~a[9]

13、设有定义:char s[20]; 则在下面表达式中错误表示s[1] 的地址的是A)s+1

B)++s

C)&s[0]+1

D)&s[1]

[正确答案: C]。

14、设有定义int a[4][3]; 则以下叙述不正确的是A)定义了一个名为a的二维数组

B)a数组共有12个元素

C)a数组的行下标为1~3,列下标为1~4

D)a数组中的每个元素都为整数

15、设有定义int a[4][3]; 则对该数组元素引用形式正确的是A)a[2+1][1-1]

B)a[2,3]

C)a[4][3]

D)a[2+1,2]

[正确答案: C]。

[正确答案: A]。


本文标签: 语句 函数 变量 定义