网院作业 发表于 2017-5-22 15:18:02

17春西电《高级语言程序设计(C)》在线作业答案资料

西电《高级语言程序设计(C)》在线作业
西安电子科技大学


一、单选题:
1.下列有关字符数组与字符串的说法中,正确的是 (    ) 。          (满分:4)
    A. 字符数组中存放的一定是一个字符串
    B. 所有的字符数组都可以被当作字符串处理
    C. 对存放字符串的字符数组可像一般数组一样对数组中单个元素操作
    D. 一个字符数组可以认为就是一个字符串
2.判断字符串a和b是否相等,应当使用 (    )(    ) 。          (满分:4)
    A. if(a==b)
    B. if(a=b)
    C. if(strcpy(a,b))
    D. if(strcmp(a,b))
3.以下正确的程序段是          。          (满分:4)
    A. charstr;       scanf("%s",&str);
    B. char *p;   scanf("%s",p);
    C. char str;       scnaf("%s",&str);
    D. char str,*p=str;   scanf("%s",p);
4.C语言的定义语句"float *a;"的含义是          (满分:4)
    A. a是一个数组,其数组的每一个元素是指向实型数据的指针
    B. a是一个指针,指向一个数组,数组的元素为实型
    C. A)、B)均不对,但它是C语言正确的语句
    D. C语言不允许这样定义语句
5.以下程序的输出结果是      。#include#includemain(    ){char *s1="AbCbEf",*s2="AB";   s1++;s2++;   printf("%d\n",strcmp(s1,s2));}          (满分:4)
    A. 正数
    B. 负数
    C. 零
    D. 不确定的值
6.下面各语句行中,能正确进行赋字符串操作的语句是 (    )(    ) 。          (满分:4)
    A. char st={ "ABCDE"}
    B. char st={ˊAˊ,ˊBˊ,ˊCˊ,ˊDˊ,ˊEˊ}
    C. char *s="ABCDE"
    D. char *s;scanf("%s",s);
7.请阅读以下程序: main(    ) {int a=5,b=0,c=0;    if(a=b+c) printf("% * * *\n");    else      printf("% $ $ $\n"); }以上程序          。          (满分:4)
    A. 有语法错误不能通过编译
    B. 可以通过编译但不能通过连
    C. 输出* * *
    D. 输出$ $ $
8.以下程序段的输出结果是         。   int i=10;   switch(i+1)   {case 10: i++;break;      case 11: ++i;      case 12: ++i;break;      default: i=i+1;   }          (满分:4)
    A. 11
    B. 13
    C. 12
    D. 14
9.下列运算符中优先级最高的是 (    )(    ) 。          (满分:4)
    A. <
    B. +
    C. &&
    D. !=
10.下列对字符串的说法中,错误的是 (    ) 。          (满分:4)
    A. 字符串就是一个字符数组
    B. 字符串可以整体输入输出
    C. 字符串可以比较大小
    D. 存储字符串所需的内存空间等于字符串的长度
11.以下有关宏替换不正确的是 (    ) 。          (满分:4)
    A. 宏替换不占用运行时间
    B. 宏名无类型
    C. 宏替换只是字符替换
    D. 宏名必须用大写字母表示
12.若用数组名做函数调用的实参,传递给形参的是 (    )(    ) 。          (满分:4)
    A. 数组的首地址
    B. 数组中第一个元素的值
    C. 数组中全部元素的值
    D. 数组元素的个数
13.C语言程序的基本单位是 (    ) 。          (满分:4)
    A. 程序行
    B. 语句
    C. 函数
    D. 字符
14.已知函数的调用形式:fread(buffer,size,count,fp);其中buffer代表的是       。          (满分:4)
    A. 一个整型变量,代表要读入的数据项总数
    B. 一个文件指针,指向要读的文件
    C. 一个指针,指向要读入数据的存放地址
    D. 一个存储区,存放要读的数据项
15.设有程序段如下: int k=10; while(k=0)   k=k-1;则下面描述中正确的是          。          (满分:4)
    A. while循环执行10次
    B. 循环是无限循环
    C. 循环体语句一次也不执行
    D. 循环体语句执行一次
16.定义如下变量和数组:   int i;int x={1,2,3,4,5,6,7,8,9};   则下面语句的输出结果是      。   for(i=0;i<3;i++)printf("%d",x);          (满分:4)
    A. 1 5 9
    B. 1 4 7
    C. 3 5 7
    D. 3 6 9
17.设有如下函数定义:   int f(char *s)   { char *p=s;   while(*p!=ˊ\0ˊ) p++;      return(p-s);   } 如果在主函数中用下面的语句调用上述函数,则输出结果为       。      printf("%d\n",f("Beiging"));          (满分:4)
    A. 3
    B. 6
    C. 0
    D. 7
18.以下正确的程序段是 (    ) 。          (满分:4)
    A. char str
    B. char *p; scanf("%s",&str); scanf("%s",p);
    C. char str;
    D. char str,*p=str; scnaf("%s",&str); scanf("%s",p);
19.以下一维数组a的正确定义 是 (    ) 。          (满分:4)
    A. int a(10);
    B. int n=10,a
    C. int n;
    D. #define SIZE 10 scanf( " %d ",&n); int a; int a;
20.执行以下程序后,y的值是         。? main(    ) {int a[]={2,4,6,8,10};    int y=1,x,*p;    p=&a;    for(x=0;x<3;x++)   y+=*(p+x); printf("%d\n",y);}          (满分:4)
    A. 17
    B. 18
    C. 19
    D. 20
21.下列函数调用语句含有实参的个数为          。func((exp1,exp2),(exp3,exp4,exp50);          (满分:4)
    A. 1
    B. 2
    C. 3
    D. 4
22.下面各语句行中,能正确进行赋字符串操作的语句是       。          (满分:4)
    A. char st={ "ABCDE"};
    B. char st={ˊAˊ,ˊBˊ,ˊCˊ,ˊDˊ,ˊEˊ};
    C. char *s="ABCDE";
    D. char *s;scanf("%s",s);
23.C语言规定:在一个源程序中,main函数的位置是 (    )(    ) 。          (满分:4)
    A. 必须在最开始
    B. 必须在系统调用的库函数的后面
    C. 可以任意
    D. 必须在最后
24.以下程序段的输出结果是         。   main(    )   {int n,i,j,k; for(i=0;i<3;i++)    n=0; k=2; for(i=0;i<k;i++)   for(j=0;j<k;j++)      n=n+1; printf("%d\n",n);   }          (满分:4)
    A. 2
    B. 1
    C. 0
    D. 3
25.设int a=0,b=5,c=2;选择可执行x++的语句是      。          (满分:4)
    A. if(a) x++;
    B. if(a=b) x++;
    C. if(a =< b)x++;
    D. if(!(b-c)) x++;
更多免费学习资料请登录www.openhelp100.com

页: [1]
查看完整版本: 17春西电《高级语言程序设计(C)》在线作业答案资料