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]