选择题(30分,新题补充) 下载本文

1)有以下程序 #includo main() { int a=7; while(a--);

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

程序运行后的输出结果是 A A)0 B)7 C)1 D)-1

2)以下语句的输出结果是 Printf(“%d\\n”,strlen(“\\t”\\065\\xff\\n”));A A)输出项不合法,无正常输出 B)5 C)14 D)8

3)有以下函数

int fun(char *s,char*t) {

while((*s)&&(*t)&&(*t++==*s++)); return (*s-*t); }

函数的功能是D

A)求字符串的长度 B)B)将字符串s复制到字符串他中 C)连接字符串s和字符串t D)比较两个字符串的大小

4)若有定义语句:char strl[]=”string”,str2[8],*str3,str4[10]是复制字符串,以下选项中错误的函数调用是D

A)strcpy(str2,”HELLO!”) B)strcpy(str4,”HELLO!”) B)strcpy(str1,”HELLO!”) D)strcpy(str3,”HELLO!”)

5)若有说明和语句:char str[]=”Hello”,*p;p=str;,则此时*(p+5)中的值是B A)“\\0” B)不确定的值 B)C)“o”的地址 D)“o”

6)当没有指定C语言中函数形参的存储类别时,函数形参的存储类别是D A)寄存器 B)外部 C)静态 D)自动

7)有以下程序 #includo #includo main() {

char s[]=”Beijing”;

printf(“%d\\n”,strlen(strcpy(s,”China”)); }

程序运行后的输出结果是C A)14 B)12 C)5 D)7

8)有以下程序 #includo main() {

int a=1,b=2,c=3,x; x=(a^b)&c;

printf(“%d\\n”,x); }

程序的运行结果是B

A)1 B)3 C)0 D)2

9)以下选项中,合法的c语言实数是B A)7.12E B).2e0 C)E13 D)3.1e0.4

10)有以下程序 #includo main() {

int x=072;

printf(“%d\\n”,x+1); }

程序的运行后输出结果是A A)59 B)72 C)115 D)73

11)以下选项中,合法的c语言常量是B A)”、2.0 B)1.234 B)C)2kb D)“c++”

12)设a,b,c是整型变量且均已赋值,则以下选项中错误的赋值语句是C A)a=(b=2)+c; B)a=1+(b=c=2); C)a=(b=3)=1; D)a=b=c+10;

13)以下选项中叙述正确的是C

A)c语言程序不需要包含main()函数 B)B)程序语法错误要在运行时才能发现

C)只要程序包含了三种基本结构中的任意一种,就是结构化程序 D)使用三种基本结构就可以实现任何复杂算法

14)有以下程序段,若变量已正确定义并赋值 if(a>b)printf(“x=%d,”,x); else printf(“y=%d”,y); if(a<=b)i++ else j++

则与此程序段功能相同的选项是A

A)if(a>b){printf(“x=%d,”,x);j++;} else {printf(“y=%d,”,y);i++;} B)if(a>=b){printf(“x=%d,”,x);i++;} else {printf(“y=%d,”,y);j++;} C)if(a>b){printf(“x=%d,”,x);i++;} else {printf(“y=%d,”,y);j++;} D)if(a<=b){printf(“x=%d,”,x);i++;} else {printf(“y=%d,”,y);j++;}

15)设有定义

atruct {char mark[12];int numl;double num2;} t1,t2; 若变量均已正确赋初值,则以下语句中错误的是

(A) t2,num1=t1.num1; (B) t2,num2=t1.num2; (C) t1=t2;

(D) t2,mark=t1.mark;

16)有以下程序 #includo main() {

int x=23; do

{

printf(“-\\n”,x--); }while (!x); }

程序的执行结果是D

A)不输出任何内容 B)陷入无限循环 B)C)输出321 D)输出23

17)以下程序的功能是判断的一个整数是否能被3或7整除,若能整除,填入的选项是D #includo main() {int k;

printf(“Enter a int numbei : ” );scanf(“%d”,&k); if---------------------printf-(“YES\\n”);

c

else printf(“NO\\n”); printf(“%d\\n”,k%3); }

A)( (k%3==0)&&(k%7==0) ) B)B)(k/3==0)||(k/7==0)

C)( (k%3=0)||(k%7==0) ) D)( (k%3==0)||(k%7==0) )

18)有以下程序 #includo main() {

int i=0,sum=1; do {

sum+=i++; }while(i<6);

printf(“%d\\n”,sum); }

程序的输出结果是 D

A)18 B)22 C) 20 D)16

19)有以下程序 #includo main() {

char c;

switch(c-?2?) {

case 0:

case 1:putchar(c+4);

case 2:putchar(c+4);break; case 3: putchar(c+3);

default: putchar(c+2);break; }

}printf(“\\n”); }

程序运行后从第一列开始输入以下数据 2473<回车>

程序的输出结果是B

A)68766 B)668977 C)6677877 D)4444

20)有以下程序 #includo #includo