安徽c语言真题及答案,c语言习题及答案安徽省二级考试.doc

c语言习题及答案安徽省二级考试

一、选择题

1.以下为一维整型数组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];

【答案】D

【说明】D选项符合语法格式,数组定义的长度不能为变量。

2.以下对二维数组a的正确说明是( )。

A.int a[3][]; B.float a(3,4);C.double a[1][4]; D.float a(3)(4);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+1a有m列,则在a[i][j]前的元素个数为( )。

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

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

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

{ t=a[i]; j=i-1;

while(j>=0&&t>a[j])

{a[j+1]=a[j]; j--;}

A[j+1]=t;

}

则该程序段的功能是( )。

A.a进行插入排序(升序) B.a进行插入排序(降序)

C.a进行选择排序(升序) D.a进行选择排序(降序)

【答案】B

【说明】插入法排序的基本思路是将一个数插入到前面已排好序的有序表中,从而得到一个新的、个数增1的有序排列。

6.有两个字符数组a、b,则以下正确的输入语句是( )。

A.gets(a,; B.scanf("%s%s",a,;

C.scanf("%s%s",&a,&; D.gets("a"),gets("b");

a、b前不能加地址运算符。gets函数的参数要求是一个字符数组名或一个字符型指针变量。

7.下面程序段的运行结果是( )。

char a[7]="abcdef";

char b[4]="ABC";

strcpy(a,b);

printf("%c",a[5]);

A. B.\0 C.e D.f

strcpy函数在复制中只将b数组的字符串"ABC"覆盖a数组中前4个字符,后面的字符不变,因此a[5]元素中的字符还是f。其他选项均不对。

8.判断字符串s1是否大于字符串s2,应当使用( )。

A.if(s1>s2) B.if(strcmp(s1,s2))

C.if(strcmp(s2,s1)>0) D.if(strcmp(s1,s2)>0)

strcmp函数,且比较是自左至右逐个字符比较的,因此只有选项D正确。其他选项均不对。

9.下面程序的功能是从键盘输入一行字符,统计其中有多少个单词,单词之间用空格分隔,请选择填空( )。

#include

main()

{ char s[80],c1,c2=' ';

int i=0,num=0;

gets(s);

while(s[i]!='\0')

{ c1=s[i];

if(i==0)c2=' ';

else c2=s[i-1];

if( )num++ ;i++;

}

printf("There are %d words.\n",num);

}

A.c1==' '&&c2==' ' B.c1!= ' ' && c2==' '

C.c1==' ' && c2!= ' ' D.c1!= ' '&&c2!= ' '

#include

main()

{ char str[]="SSSWLIA",c;

int k;

for(k=2;(c=str[k])!= '\0';k++)

{ switch(C.

{ case 'I':++k;break;

case 'L':continue;

default:putchar(c);continue;

}

putchar('*');

}

}

A.SSW* B.SW* C.SW*A D.SWcontinue与break两语句直到的作用,for循环在第四次时被强行退出,只有答案B正确。其他选项均不对。

11.下面程序段执行后,s的值是( )。

s

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值