C语言单选题456 下载本文

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

A)if(a= =b) B) if(a=b) C)if(strcpy(a,b)) D) if(strcmp(a,b)= =0) 22、判断字符串s1的长度是否大于字符串s2的长度,应使用( )。 A)if(s1>s2) B)if(strcmp(s1,s2)) C)if(strlen(s1)>strlen(s2)) D)if(strcat(s1)>strcat(s2)) 23、下列程序段的运行结果( )。 char c[15]={'a','b','\\0','c','\\0'}; printf(―%s‖,c);

A)'a','b' B) ab C) abc D) a ,b 24、假设有两个字符数组a,b,则以下正确的输入语句是( )。 A)puts(a,b); B) scanf(―%s%s‖,a,b); C)scanf(―%s%s‖,&a,&b); D)gets(―a‖);gets(―b‖);

25、若有说明int a[][3]={1,2,3,4,5,6,7,8,9};则a数组行数的大小为( )。 A) 2 B) 3 C)4 D)无确定值

26. 若有定义double x[3][5]; 则x数组中行标的下限为( ),列标的上限为( )。

A)1 3 B) 3 5 C)0 5 D)0 4 27、 若有说明a[3][4];则数组a中的各元素( )。 A) 可在程序的运行阶段得到初始值0 B) 可在程序的编译阶段得到初始值0 C) 不能得到确定的初始值

D) 可在程序的编译或运行阶段得到初始值 28、若有下列程序段 char x[80]; scanf(―%s‖,x); printf(“%s”,x);

从键盘上输入字符串“zhang san”,则输出结果为( )。 A)zhang B) zhangsan C) zhang san D)san 29、在C语言中,引用数组元素时,其数组下标的数据类型允许为( )

21

A) 整型常量 B) 整型表达式 C) 整型常量或整型表达式 D) 任何类型的表达式 30、设有如下形式的字符数组定义: char str[]=‖welcome‖;

则执行下列语句后的输出结果( )。 printf(―%d\\n‖,strlen(strcpy(str,“Hello”)));

A) 7 B) 5 C) 8 D)9

31、若有int a[3][5]={2,2},{2,6},{2,6,2}},则数组a共有( )个元素。

A)8 B)5 C)3 D)15

32、设有如下定义:int a[100];则数组下标区间为:( )。 A) 0~99 B) 1~99 C) 0~100 D)1~100 33、若有定义:int a[3][4],则对数组a中某元素的正确引用是( )。 A)a[2][4] B)a[1][3] C)a(5) D)a[10-10] 34、以下对一维整型数组a的正确说明是( )。 A)int a(10) ; B)int n=10,a[n]; C) int n; D)#define SIZE 10

scanf(―%d‖,&n); int a[SIZE]; nt a[n];

35、若要使用字符函数,需要引入的头文件是( )。 A)string.h B)ctype.h C)stdlib.h D)stdio.h

二、判断题

( )1、在定义一维数组时,可以将该数组的长度省略 V ( )2、数组的下标从0开始。 V ( )3、数组的下标从1开始。 X ( )4、数组名代表数组的首地址。 V ( )5、在C语言中,数组元素在内存中的存放顺序是按顺序存放的。V

22

( )6、字符数组可以存放字符串。 V ( )7、字符串函数strupr(str),可将串中大写字母变成小写字母。 X ( )8、字符串函数strrev(str) ,可将str串字符颠倒过来。 V ( )9、字符串的结束符不是‘\\0‘ 。 X ( )10、可如此定义a数组:float a[3]={12.5,‘z‘,‖school‖}; X ( )11、数组边定义边赋值时,大括号内数据项的数目可以大于或等于数组的长度。 X

( )12、数组边定义边赋值时,大括号内数据项的数目可以小于或等于数组的长度。 V

( )13、字符串函数strcat(str1,str2)的作用是将字符串str2连接在字符串str1后。 V

( )14、定义字符型一维数组char a[80];可用gets(a[0])给a[0]赋值。X ( )15、数组定义 int a[10]; 也可以写成 int a(10);。 X

三、程序阅读题

1、下面程序的输出结果是___6 5_______。 main ( ) {

char ch[7]={\ int i;

for (i=0;ch[i]>='0'&&ch[i]<='9';i++) printf(\ \ }

2、下面程序执行后,s1=___15.0_____,s2=___2.7______。 float b[]={0.5,1.6,2.7,3.8,4.9,5,6.1,6.2,7.3,8.4},s1,s2; int i;

for(i=0,s1=s2=0 ; i<9 ; i++ ) {

if ( i%2 ) s1 += ( int ) b[i]; if( i%3 ) s2 += b[i] – (int) b[i];

23

}

3、将程序补充完整,实现功能:输出斐氏数列的前20项,菲波纳契额数列具有这样的性质:F(0)=1 F(1)=2 F(N)=F(N-1)+F(N-2)

#include \void main() { int i;

long f[20]={1,2}; for(i=2 ; i<20 ; i++)

f[i] = f[i-2] + f[i-1]; for(i=0 ; i<20 ; i++)

printf(\

}

4、将程序补充完整,实现功能:输入2个字符串,判断两个串是否相同,相同输出yes,不同输出no。

#include \#include \void main() { char x[80],y[80]; }

5、 设有以下代码: #include \void main() {

24

gets(x); gets(y);

if(strcmp(x,y)==0) puts(\else

puts(\