12秋电大《C语言》在线作业1

所属学校:电子科技大学 科目:C语言 2015-03-17 15:24:14

《C语言》在线作业1
试卷总分:100
单选题 多选题 判断题


一、单选题(共 35 道试题,共 70 分。)
1.以下正确的说法是( )
A. 用户若需要调用标准库函数,调用前必须重新定义
B. 用户可以重新定义标准库函数,如若此,该函数将失去原有定义
C. 系统不允许用户重新定义标准库函数
D. 用户若需要使用标准库函数,调用前不必使用预处理命令将该函数所在的头文件包含编译,系统会自动调用。

2.当说明一个结构体变量时系统分配给它的内存是( )
A. 各成员所需内存量的总和
B. 结构中第一个成员所需内存量
C. 成员中占内存量最大者所需的容量
D. 结构中最后一个成员所需内存量

3.设有程序段 int k=10; while (k=0) k= k-1; 则下面描述中正确的是( )
A. while循环执行10次
B. 循环是无限循环
C. 循环体语句一次也不执行
D. 循环体语句执行一次

4.变量的指针,其含义是指该变量的( )
A. 值
B. 地址
C. 名
D. 一个标志

5.以下程序的正确运行结果是( ) #include int func(int a,int b); main( ) { int k=4,m=1,p; p=fun(k,m);printf(“%d,”,p); p=fun(k,m);printf(“%d/n”,p); } func(int a,int b) {static int m=0,i=2; i+=m+1; m=i+a+b; return m; }
A. 8,17
B. 8,16
C. 8,20
D. 8,8

6.若fp是指向某文件的指针,且已读到该文件的末尾,则C语言函数feof(fp)的返回值是( )
A. -1
B. 1
C. 0
D. NULL

7.一个C语言程序是由( )
A. 一个主程序和若干子程序组成
B. 函数组成
C. 若干过程组成
D. 若干子程序组成

8.有以下程序段:int x=0,s=0; while (!x!= 0) s+=++x; printf("%d",s); 则有以下程序段( )
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次

9.下面描述正确的是( )
A. 两个字符串所包含的字符个数相同时,才能比较字符串
B. 字符个数多的字符串比字符个数少的字符串大
C. 字符串"STOP- "与"STOP"相等(-表示空格)
D. 字符串"That"小于字符串"the"
此题选: D
10.若要求从键盘读入含有空格字符的字符串,应使用函数( )
A. gets()
B. scanf()
C. getchar()
D. getch()

11.能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( )
A. a=10 or a<=0
B. a=0|a<=10
C. a=10 &&a<=0
D. a=10‖a<=0
此题选: D
12.若用数组名作为函数调用的实参,传递给形参的是( )
A. 数组的首地址
B. 数组第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数

13.以下不能对二维数组a进行正确初始化的语句是( )
A. int a[2][3]={0};
B. int a[][3」={{1,2},{0}};
C. int a[2][4]={{1,2},{3,4},{5,6}};
D. int a[][3]={1,2,3,4,5,6};

14.下面程序的输出是( ) main() {char x=040; printf("%d/n",x=x<<1);}
A. 100
B. 160
C. 120
D. 64
此题选: D
15.假设调用函数有以下定义和函数f调用,则函数f中对形参数组错误定义的是( ) char c[5]={‘a’,’b’,’/0’,’c’,’/0’}; printf(“%s”,c);
A. f(int array[][6])
B. f(int array[3][])
C. f(int array[][4])
D. f(int array[2][5])

16.若有以下定义,则能使值为3的表达式是( ) int k= 7,x =12;
A. x%=(k%= 5)
B. x%=(k-k%5)
C. x%=k- k%5
D. (x%=k)-(k%=5)
此题选: D
17.已知各变量的类型说明如下: int k,a,b; unsigned long w= 5; double x=1.42; 则以下不符合C语言语法的表达式是( )
A. x%(-3)
B. w+=-2
C. k=(a=2,b=3,a+b)
D. a+= a-=(b=4)*(a=3)

18.以下程序的输出结果是 ( )   main()   {int i;   for(i=0;i<3;i++)   switch(i){   case 0:printf("%d",i);   case 2:printf("%d",i);   default:printf("%d",i);   }   }
A. 022111
B. 021021
C. 000122
D. 012

19.若有说明:int a[3][4]; 则对a数组元素的正确引用是( )
A. a[2][4]
B. a[1,3]
C. a[1+1][0]
D. a(2)(1);

20.若有定义:int x=0,*p=&x;则语句printf(“%d/n”,*p);的输出结果是( )
A. 随机值
B. 0
C. X的地址
D. P的地址

21.变量的指针,其含义是指该变量的 ( )
A. 值
B. 地址
C. 名
D. 一个标志

22.假定ptr1和ptr2分别是指向某个字符串的指针,则在下列选项中非法的语句中是( )
A. if(ptr1==ptr2) printf("yes.");
B. *ptr1=48+(ptr1-ptr2);
C. *(ptr1+=2)=*ptr2;
D. *(ptr1-1+ptr2)=getchar();
此题选: D
23.sizeof(float)是( )
A. 一个整型表达式
B. 一种函数调用
C. 一个不合法的表达式
D. 一个不合法的表达式

24.enum color{red,green,yellow=5,white,black}定义了一枚举类型。编译程序为值表中各标识符分配的枚举值依次为( )
A. 1、2、3、4、5
B. 0、1、5、2、3
C. 0、1、5、6、7
D. 3、4、5、6、7

25.若用数组名作为函数调用的实参,传递给形参的是( )
A. 数组的首地址
B. 数组第一个元素的值
C. 数组中全部元素的值
D. 数组元素的个数

26.下面程序段的运行结果是( ) char c[]="/t/v///0will/n"; printf("%d",strlen(c));
A. 14
B. 3
C. 9
D. 字符串中有非法字符,输出值不确定

27.已有以下数组定义和f函数调用语句,则在f函数的说明中,对形参数组array的错误定义方式为( ) int a[3][4]; f(a);
A. f(int array[][6])
B. f(int array[3][])
C. f(int array[][4]
D. f(int array[2][5])

28.已知各变量的类型说明如下: int i=8,k,a,b; unsigned long w=5; double x=1.42,y=5.2; 则以下符合C语言语法的表达式是( )
A. a+=a-=(b= 4)*(a=3)
B. a=a*3=2
C. x%(-3)
D. y=f1oat(i)

29.在c语言中,引用数组元素时,其数组下标的数据类型允许是( )
A. 整型常量
B. 整型表达式
C. 整型常量或整型表达式
D. 任何类型的表达式

30.有四组对指针变量进行操作的语句,以下判断正确的选项是( ) (1)int *p,*q;q=p; int a,*p,*q;p=q=&a; (2)int a,*p,*q;q=&a;p=*q; int a=20,*p;*p=a; (3)int a=b=0,*p;p=&a;b=*p; int a=20,*p,*p=&a;*p=*q; (4)int a=20,*p;*q=&a;p=q; int p,*q;q=&q;
A. 正确1); 不正确2),(3),(4)
B. 正确1),(4); 不正确2),(3)
C. 正确3); 不正确1),(2),(4)
D. 以上结论都不正确
此题选: D
31.若有以下说明和语句: struct student {int age; int num; }std,* p; p=&std; 则以下对结构体变量std中成员age的引用方式不正确的是( )
A. std.age
B. p-age
C. (*p).age
D. *p.age
此题选: D
32.设有以下语句: char str[4][12]={"aaa","bbb","ccc","ddd"}; char *strp[4]; int i;  for(i=0;i<4;i++) strp=str; 若0<=k<4,下列选项中对字符串的非法引用是( )
A. strp
B. str[k]
C. strp[k]
D. *strp

33.若用数组名作为函数调用的实参,传递给形参的是( )
A. 数组的首地址
B. 数组中第一个元素的值
C. 数组中的全部元素的值
D. 数组元素的个数

34.以下不正确的说法是( )
A. 全局变量,静态变量的初值是在编译时指定的
B. 静态变量如果没有指定初值,则其初值为0
C. 动态变量如果没有指定初值,则其初值不确定
D. 函数中的静态变量在函数每次调用时,都会重新设置初值
此题选: D
35.C语言规定,函数返回值的类型是由( ) 决定的
A. return语句中的表达式类型
B. 调用该函数时的主调函数类型
C. 调用该函数时由系统临时
D. 在定义函数时所指定的函数类型
此题选: D



《C语言》在线作业1
试卷总分:100
单选题 多选题 判断题


二、多选题(共 5 道试题,共 10 分。)
1.定义char s[81]; 后,能正确输入一个字符串到数组s的语句是( )
A. gets(s);
B. gets(&s[0]);
C. scanf (”%s”,&s[0]);
D. scanf (”%c”,s);

2.以下关于C源程序文件的说法中正确的是( )
A. 是一种二进制文件
B. 是一种文本(ASCII码)文件
C. 可以用DOS的type命令显示其内容
D. 文件扩展名一般为c

3.在下面C语言的函数说明语句中,正确的是( )
A. int fun(int , int);
B. int fun(int x,y);
C. int fun(x,y);
D. int fun(int x; int y);
E. int fun(int x,int y);

4.以下哪些是关于指针数组的正确描述( )
A. int (*a)[4];
B. int *a[4];
C. 指针数组每个元素都是指针变量
D. 若int a[4][4]; int *b[]={a[0],a[1],a[2],a[3]}; 则b是指针数组
E. 指针数组与指向数组的指针是等价的

5.有定义:int a[5][4],*p=a[0];,则能正确引用a[2][3]元素地址的有( )
A. a[2]+3
B. *((p+2)+3)
C. *(p[2]+3)
D. *(a+2)+3
E. p+2*4+3




《C语言》在线作业1
试卷总分:100
单选题 多选题 判断题


三、判断题(共 10 道试题,共 20 分。)
1.设有下列说明语句struct ss{int x;float y;}ex; 则ex是结构体类型名。
A. 错误
B. 正确

2.在内存中存储结构体类型的变量要占连续一段的存储单元。
A. 错误
B. 正确

3.continue语句用在循环体中,可使整个循环不结束。
A. 错误
B. 正确

4.结构体类型的数据是由不同类型的数据组合而成的。
A. 错误
B. 正确

5.被定义为指向某结构体类型数据的指针变量,即可以指向具有该类型的变量,又可以指向它其中的一个成员。
A. 错误
B. 正确

6.C语言采用解释方式将源程序转换为二进制的目标代码。
A. 错误
B. 正确

7.动态变量都存储在内存动态存储区中。
A. 错误
B. 正确

8.以数组名作函数参数时,实参数组与形参数组都不必定义长度,因此实参与形参的结合方式是地址结合,与数组长度无关。
A. 错误
B. 正确

9.C语言把文件看作是一个字符的序列。
A. 错误
B. 正确

10.条件运算符“?:”的优先级高于赋值运算符。
A. 错误
B. 正确






版权声明

声明:有的资源均来自网络转载,版权归原作者所有,如有侵犯到您的权益 请联系本站我们将配合处理!

分享: