2012秋第二次在线作业
试卷总分:100
单选题 判断题
一、单选题(共 20 道试题,共 60 分。)
1.以下程序运行后, int func(char *str) { int num=0; while(*(str+num)!=''/0'') num++; return(num); } main() { char str[10],*p=str; gets(p); printf("%d/n",func(p)); } 如果从键盘上输入ABCDE<回车,则输出结果为()
A. 8
B. 7
C. 6
D. 5
此题选: D
2.以下程序 main() { char s1[20]=“abc”,s2[20]=“123”; if(strcmp(s1,s2)0) printf(“%s/n”,s1); else printf(“%s/n”,s2); } 的输出结果是()
A. abc
B. 123
C. abc123
D. 123abc
3.若有以下说明和语句,int c[4][5],(*p)[5];p=c;能正确引用c数组元素的是()
A. p+1
B. *(p+3)
C. *(p+1)+3
D. *(p[0]+2))
此题选: D
4.下列不能实现赋值操作的是()
A. a++
B. a== b
C. a+=b
D. a=1
5.以下程序: #define ADD(x) x*x main( ) { int a=4,b=6,c=7,d=ADD(a+b)*c; printf("d=%d",d); } 的输出结果为()
A. d=70
B. d=80
C. d=140
D. d=700
6.以下程序 main() { char s1[20]=“abc”,s2[20]=“123”; if(strcmp(s1,s2)0) printf(“%s/n”,s1); else printf(“%s/n”,s2); } 的输出结果是()
A. abc
B. 123
C. abc123
D. 123abc
7.下列描述中不正确的是()
A. 字符型数组中可以存放字符串。
B. 可以对字符型数组进行整体输入、输出。
C. 可以对整型数组进行整体输入、输出。
D. 不能在赋值语句中通过赋值运算符“=”对字符型数组进行整体赋值。
8.一个main(int a,char *argv[])函数带参数,可执行文件名为prog.exe,若命令行输入: prog abcd efg 123 则printf(“%d,%s/n”,a,argv[1]); 的结果是()
A. 3,prog
B. 4,prog
C. 3,abcd
D. 4,abcd
此题选: D
9.若要用下面的程序片段使指针变量p指向一个存储整型变量的动态存储单元: int *p; p=__________ malloc( sizeof(int)); 则应填入()
A. int
B. *int
C. (*int)
D. (int *)
此题选: D
10.设有以下说明语句: struct ex { int x; float y; char z;} example; 则下面的叙述中不正确的是()
A. struct是结构体类型的关键字
B. example是结构体类型名
C. x,y,z都是结构体成员名
D. struct ex是结构体类型名
11.以下程序运行后, int func(char *str) { int num=0; while(*(str+num)!=''/0'') num++; return(num); } main() { char str[10],*p=str; gets(p); printf("%d/n",func(p)); } 如果从键盘上输入ABCDE<回车,则输出结果为()
A. 8
B. 7
C. 6
D. 5
此题选: D
12.若有以下定义和语句: int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则不能表示a数组元素的表达式是()
A. *p
B. a[10]
C. *a
D. a[p-a]
13.设有如下定义 char x[]={“abcdefg”}; char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’} ; 则正确的叙述为()
A. 数组x和y等价
B. 数组x和y的长度相同
C. 数组x的长度大于数组y的长度
D. 数组x的长度小于数组y的长度
14.不能把字符串:Hello!赋给数组b的语句是()
A. char b[10]={''H'',''e'',''l'',''l'',''o'',''!''};
B. char b[10];b="Hello!";
C. char b[10];strcpy(b,"Hello!");
D. char b[10]="Hello!";
15.若要打开A盘上user子目录下名为abc.txt的文本文件进行读、写操作,下面符合此 要求的函数调用是()
A. fopen("A:/user/abc.txt","r")
B. fopen("A://user//abc.txt","r+")
C. fopen("A:/user/abc.txt","rb")
D. fopen("A://user//abc.txt","w")
16.设有以下宏定义: #define H 30 #define LEN H+20 则执行赋值语句v=LEN*10;后,v的值是()
A. 60
B. 230
C. 500
D. 0
17.以下不能正确定义二维数组的语句是()
A. int a[2][2]={{1},{2}};
B. int a[][2]={1,2,3,4};
C. int a[2][2]={{1},2,3};
D. int a[2][]={{1,2},{3,4}};
此题选: D
18.已知职工记录描述如下, struct worker { int no; char name[20]; char sex; union { int day; int month; int year;}birth; } w; 在Turbo C中,系统为变量w分配字节的空间数目是()
A. 29
B. 20
C. 25
D. 6
19.当说明一个共用体变量时,系统分配它的内存是()
A. 各成员所需内存容量的总和
B. 共用体中第一个成员所需内存
C. 各成员所需内存容量的最大值
D. 共用体中最后一个成员所需内存
20.一个main(int a,char *argv[])函数带参数,可执行文件名为prog.exe,若命令行输入: prog abcd efg 123 则printf(“%d,%s/n”,a,argv[1]); 的结果是()
A. 3,prog
B. 4,prog
C. 3,abcd
D. 4,abcd
此题选: D
2012秋第二次在线作业
试卷总分:100
单选题 判断题
二、判断题(共 20 道试题,共 40 分。)
1.利用fclose函数关闭已打开的文件。
A. 错误
B. 正确
2.C语言中,字符串是以‘/0’结束的,所以字符串的长度也包括‘/0’。
A. 错误
B. 正确
3.一个程序中可以使用多条文件包含命令,但一条文件包含命令只能包含一个文件。
A. 错误
B. 正确
4.在对某一函数进行多次调用时,系统会对相应的自动变量重新分配存储单元。
A. 错误
B. 正确
5.在C语言中对文件操作必须先关闭当前文件,然后再打开一个新文件。
A. 错误
B. 正确
6.C语言函数的缺省(默认)类型是void型(空类型)。
A. 错误
B. 正确
7.在定义函数中指定的形参变量,在未调用函数时,并不占内存中的存储单元。
A. 错误
B. 正确
8.不允许对二维数组的部分元素赋初值。
A. 错误
B. 正确
9.结构体类型的各成员可以有不同的类型。
A. 错误
B. 正确
10.选择结构if语句和循环结构都可以使用嵌套形式。
A. 错误
B. 正确
11.链表的每一个结点中必须要有一个结构体类型的指针变量用来存放下一个结点的首地址
A. 错误
B. 正确
12.puts函数的作用是将一个字符串输出到显示器。
A. 错误
B. 正确
13.共用体变量的各个成员所占内存单元的地址相同。
A. 错误
B. 正确
14.switch(c) 语句中c可以是int ,long,char ,float ,unsigned int 类型。
A. 错误
B. 正确
15.语言中,预处理总是以 @符号开头。
A. 错误
B. 正确
16.C语言中的构造数据类型包括数组、集合和结构体类型。
A. 错误
B. 正确
17.宏定义的宏名一定要大写,否则无效。
A. 错误
B. 正确
18.char *p="girl";的含义是定义字符型指针变量p,p的值是字符串"girl"。
A. 错误
B. 正确
19.当两个字符串所包含的字符个数相同时,才能比较两个字符串的大小。
A. 错误
B. 正确
20.指针在任何情况下都可进行,<,=,<=,==运算。
A. 错误
B. 正确
版权声明
声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益
请联系本站我们将配合处理!