wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

2022苏州软件比武大赛—选择题_正式题

Total questions: 45

Worksheet time: 23mins

Name
Class
Date
1.
以下关于switch语句和break语句的描述中,只有( )是正确的。
a)
在switch语句中必须使用break语句;
b)
在switch语句中,可以根据需要使用或不使用break语句
c)
break语句只能用于switch语句中
d)
break语句是switch语句的一部分
2.
下述C语言转义符中()是非法的
a)
'\b'
b)
'\037'
c)
'\0xf'
d)
'\'
3.
如下说法不正确的是()
a)
c>a+b等效于从c>(a+b)
b)
若a,b均为真,则a || b为真
c)
表达式'c'&&'d'的值为0
d)
逻辑运算符!比逻辑运算符||的优先级高
4.
在说明语句:int *f();中,标识符f代表的是()
a)
一个用于指向整型数据的指针变量
b)
一个用于指向一维数组的行指针
c)
一个用于指向函数的指针变量
d)
一个返回值为指针型的函数名
5.

以下程序输出结果是( )

main() {

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

printf (“%d%d%d%d\n”,a[0][3],a[1][2],a[2][1],a[3][0]);

}

a)
3570
b)
编译报错
c)
680
d)
1590
6.
若有定义:int a=9; float x=2.5,y = 4.7;,则表达式:x +a%3%2/4的值是()
a)
2.500000
b)
2.700000
c)
3.500000
d)
0.000000
7.
main(){ float x=123.456; printf(“%-5.2f\n”,x);}以上程序输出的结果是( )
a)
123.4
b)
123.5
c)
123.45
d)
123.46
8.
若有定义:int *p[3];则以下叙述中正确的是( )
a)
定义了一个基本类型为int的指针变量p,该变量具有三个指针
b)
定义了一个指针数组p,该数组含有三个元素,每个元素都是基本类型为int的指针
c)
定义了一个名为*p的整型数组,该数组含有三个int类型元素
9.
下面只属于白盒测试方法的是
a)
等价类划分法
b)
代码逻辑覆盖
c)
边界值分析法
d)
错误推测法
10.
软件设计中模块划分应遵循的准则是
a)
低内聚低耦合
b)
高内聚低耦合
c)
低内聚高耦合
d)
高内聚高耦合
11.
以下选项中合法的标识符是
a)

1_1

b)
1-1
c)
11
d)
1__
12.

有以下程序,程序运行后的输出结果是( )

main() {

int n=2,k=0;

while(k++&&n++>2);

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

}

a)
0 2
b)
1 3
c)
5 7
d)
1 2
13.
若有定义语句:int a[4][10],*p,*q[4];且0≤i<4,则错误的赋值是( )
a)
p=a
b)
q[i]=a[i]
c)
p=a[i]
d)
p=&a[2][1]
14.

有以下程序,程序运行后的输出结果是( )

main() {

char a[10]=”abcd”;

printf(“%d,%d ”,strlen(a),sizeof(a));

}

a)
4,4
b)
4,10
c)
5,10
d)
10,10
15.
下面是有关C语言字符数组的描述,其中错误的是( )
a)
不可以用赋值语句给字符数组名赋字符串
b)
可以用输入语句把字符串整体输入给字符数组
c)
字符数组中的内容不一定是字符串
d)
字符数组只能存放字符串
16.
设整型变量 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)
17.
下列叙述中正确的是( )
a)
程序执行的效率与数据的存储结构密切相关
b)
程序执行的效率只取决于程序的控制结构
c)
程序执行的效率只取决于所处理的数据量
d)
以上三种说法都不对
18.
表达式3.6-5/2+1.2+5%2的值是( )
a)
4.3
b)
4.8
c)
3.3
d)
3.8
19.
若有定义语句:“int x=12,y=8,z;”,在其后执行语句“z=0.9+x/y;”,则z的值为( )
a)
1.9
b)
1
c)
2
d)
2.4
20.
若变量已正确定义,有以下程序段:int i=0; do printf("%d,",i); while(i++); print f("%d ",i); 其输出结果是( )
a)
0,0
b)
0,1
c)
1,1
d)
程序进入无限循环
21.

有以下程序

main() {

char c1,c2;

c1=’A’+’8’-‘4’;

c2=’A’+’8’-‘5’;

printf(“%c,%d ”,c1,c2);

}

已知字母A的ASCII码为65,程序运行后的输出结果是( )

a)
E,68
b)
D,69
c)
E,D
d)
输出无定值
22.
设A为存放(短)整型的一维数组,如果A的首地址为P,那么A中第i个元素的地址为( )
a)
P+i*2
b)
P+(i-1)*2
c)
P+(i-1)
d)
P+i
23.
设有说明double(*p1)[N];其中标识符p1是( )
a)
N个指向double型变量的指针
b)
指向N个double型变量的函数指针
c)
一个指向由N个double型元素组成的一维数组的指针
d)
具有N个指针元素的一维指针数组,每个元素都只能指向double型量
24.
以下程序的输出结果是( ) char str[15]=”hello!”;printf(“%d\n”,strlen(str));
a)
14
b)
15
c)
7
d)
6
25.
下列描述中不正确的是( )
a)
字符型数组中可能存放字符串。
b)
初始化后可以对字符型数组进行整体输入、输出
c)
初始化后可以对整型数组进行整体输入、输出
d)
不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值
26.
设有如下定义: char *aa[2]={"abcd","ABCD"}; 则以下说法中正确的是( )
a)
aa数组成元素的值分别是"abcd"和ABCD"
b)
aa是指针变量,它指向含有两个数组元素的字符型一维数组
c)
aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址
d)
aa数组的两个元素中各自存放了字符’a’和’A’的地址
27.

下列程序的输出结果是( )

int a[5]={2,4,6,8,10},*p,**k;

p=a; k=&p;

printf("%d",*(p++));

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

a)
4 4
b)
2 2
c)
2 4
d)
4 6
28.
冒泡排序在最坏情况下的比较次数是( )
a)
n(n+1)/2
b)
nlog2n
c)
n(n-1)/2
d)
n/2
29.

有以下程序

main() ﹛

int y=9;

for( ; y>0; y--)

if(y%3==0)

printf(“%d”, y);

﹜ 程序的运行结果是( )

a)
741
b)
963
c)
852
d)
875421
30.
以下途述中错误的是
a)
改变函数形参的值,不会改变对应实参的值
b)
函数不可以返回地址值
c)
可以给指针变量赋一个整数作为地址值
d)
当在程序的开头包含文件stdio.h时,可以给指针变量赋NULL
31.
有以下函数 int aaa(char *s) ﹛ char *t=s; while(*t++); t--; return(t-s); ﹜ 以下关于aaa函数的功能的叙述正确的是( )
a)
求字符串s的长度
b)
比较两个串的大小
c)
将串s复制到串t
d)
求字符串s所占字节数
32.
若程序中有宏定义行:#define N 100 则以下叙述中正确的是( )
a)
宏定义行中定义了标识符N的值为整数100
b)
在编译程序对C源程序进行预处理时用100替换标识符N
c)
对C源程序进行编译时用100替换标识符N
d)
在运行时用100替换标识符N
33.
以下关于typedef的途述错误的是()
a)
用typedef可以增加新类型
b)
typedef是将已存在的类型用一个新的名字来代表
c)
用typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名
d)
用typedef为类型说明一个新名,通常可以增加程序的可读性
34.
设有以下定义 Union data { int dl; float d2; }demo; 则下面叙述中错误的是
a)
变量demo与成员d2所占的内存字节数相同
b)
变量demo中各成员的地址相同
c)
变量demo和各成员的地址相同
d)
若给demo.d1赋99后,demo.d2中的值是99.0
35.
在C 语言的if语句中,用作判断的表达式为( )
a)
关系表达式
b)
逻辑表达式
c)
算术表达式
d)
任意表达式
36.
算法的时间复杂度是指( )
a)
执行算法程序所需要的时间
b)
算法程序的长度
c)
算法执行过程中所需要的基本运算次数
d)
算法程序中的指令条数
37.

有以下定义和语句

struct workers {

int num;

char name[20];

char c;

struct{int day;int month;intyear;}

s;

};

struct workers w,*pw; pw=&w 能给w 中year 成员赋1980 的语句是( )

a)
*pw.year=1980;
b)
w.year=1980;
c)
pw->year=1980;
d)
w.s.year=1980;
38.
以下不能正确进行字符串赋初值的语句是( )
a)
char str[5]="good!";
b)
char str[]="good!";
c)
char *str="good!";
d)
char str[5]={‘g',‘o',‘o',‘d'};
39.
已知:int n,i=,j=2;执行语句n = i < j ? i++:j++;则i和j的值分别为( )
a)
1, 3
b)
1, 2
c)
2, 2
d)
2, 3
40.
当int型变量c的值不为2、4、6时,值也为“真”的表达式是( )
a)
(c==2)‖(c==4)‖(c==6)
b)
(c>=2&&c<=6)‖(c!=3)‖(c!=5)
c)
(c>=2&&c<=6)&&!(c%2)
41.
在C语言中,char型数据在内存中是以()形式存储的
a)
原码
b)
补码
c)
ASCII码
d)
反码
42.
若定义char s[10];在下面表达式中不能表示s[1]的地址的是()
a)
s+1
b)
s++
c)
&s[0]+1
d)
&s[1]
43.

下列与队列结构有关联的是(  )

a)

函数的递归调用

b)

数组元素的引用

c)

多重循环的执行

d)

先到先服务的作业调度

44.

结构化程序设计主要强调的是(   )

a)

程序的规模

b)

程序的易读性

c)

程序的执行效率

d)

程序的可移植性

45.

在C语言程序中,当while语句构成的循环中的条件为(   )时,结束循环

a)

0

b)

1

c)

true

d)

非0