智慧树知到答案C语言程序设计(商洛学院)最新答案

资源下载
下载价格15

第一章 单元测试

1、单选题:
C语言是一种(  )
选项:
A: 汇编语言
B: 高级语言
C: 以上都不是
D: 机器语言
答案: 【 高级语言】

2、单选题:
构成C语言程序的基本单位是(  )
选项:
A:语句
B:程序行
C:函数
D:字符
答案: 【函数】

3、单选题:
以下不是C语言的特点的是(   )
选项:
A:语言简洁紧凑
B:能够编制出功能复杂的程序
C:C语言移植性好
D:C语言可以直接对硬件操作
答案: 【能够编制出功能复杂的程序 】

4、单选题:
以下叙述中正确的是(  )
选项:
A:其余三种说法都不完整
B:程序设计的任务就是确定所用算法
C:程序设计的任务就是确定所用数据结构
D:程序设计的任务就是编写程序代码并上机调试
答案: 【其余三种说法都不完整】

5、单选题:
算法具有五个特性,以下选项中不属于算法特性的是(  )
选项:
A: 确定性
B: 有效性
C: 简洁性
D: 有穷性
答案: 【 简洁性 】

6、判断题:
计算机科学家冯 · 诺依曼曾提出一著名公式:计算机程序=算法+数据结构。(   )
选项:
A:错
B:对
答案: 【错】

7、判断题:
在程序设计中提到的算法就是“解决问题的方法和步骤”。(  )
选项:
A:对
B:错
答案: 【对】

8、判断题:
根据计算机解决问题的类型不同,计算机算法一般分为数值运算算法和非数值运算算法两类。(  )
选项:
A:对
B:错
答案: 【对】

9、判断题:
计算机程序的算法就是解决“做什么”和“怎么做”的问题。(  )
选项:
A:错
B:对
答案: 【对】

10、判断题:
一般情况下,我们所说的算法是专指使用计算机解决问题的方法和步骤,即计算机算法。( )

选项:
A:对
B:错
答案: 【对】

第二章 单元测试

1、单选题:
设有整型变量m值为8,下列赋值语句中,正确的是 (  )。

选项:
A:

m=m++;

B:

m+1+=8;

C:

m+1=8;

D:

++m=6;

答案: 【

m=m++;

2、单选题:
设字符型变量ch的值为’A’,整型变量m的值为1,假定执行ch=getchar();m=getchar();时,从键盘输入B,则变量ch和m的值分别为(  )。
选项:
A:’B’和”

B:’B’和’  ‘

C:’A’和’1′

D:’B’和’1’

答案: 【’B’和”

3、单选题:
设字符型变量ch的值为’A’,整型变量m的值为’1’,假定执行putchar(m);putchar(‘  ‘);putchar(ch);后,则输出结果是 (   )。

选项:
A:1  A

B:A1

C:lA

D:A l

答案: 【1  A

4、单选题:
如果用scanf()来输入长整型数据,则正确的格式控制符是   。

选项:
A:

%lx

B:

%lD

C:

%d

D:

%x

答案: 【

%lx

5、单选题:
如果用printf()来输出双精度型数据、则正确的格式控制符是   。

选项:
A:%lf
B:%lg
C:%le
D:%-10.2f
答案: 【%-10.2f  】

6、单选题:
执行语句scanf(“%d,%d”,&m,&n);使m和n的值分别为1和2,正确输入是    。

选项:
A:

1

B:

1,2

C:

1 2

D:

12      2

答案: 【

1,2

7、单选题:
设整型变量a和b的值分别为8和9。printf(“%d,%d”,(a++,++b),b–);的输出是(   )。

选项:
A:

8,8

B:

8,7

C:

10,9

D:

9,9

答案: 【

9,9

8、单选题:
设有下列程序段,则其正确的输出是(   )。
int x=011,y=0x11;
printf(“x=%-3dy=%3d”,x,y);
选项:
A:x=11  y=x11
B:口口917口
C:x=口口9y=17口
D:x=9口口y=口17
答案: 【x=9口口y=口17   】

9、单选题:
设字符型变量ch已有值,下列语句中错误的是  。

选项:
A:

ch>48&&ch<0x3A

B:

{int ch=6;printf(“%d”,ch);}

C:

scanf(“%c%c”,ch, ch)

D:

5

答案: 【

scanf(“%c%c”,ch, ch)

10、单选题:
运行下列程序的输出是   。    main()      {int k=1;        {int k=2;  printf(“%d”,k);}        printf(“%d”,k);  }

选项:
A:12
B:21
C:11
D:22
答案: 【21】

11、单选题:
运行下列程序的输出是   。    main()      {char ch=’B’;      printf(“%c%d”,ch,ch++);      }

选项:
A:B65
B:C66
C:B66
D:C65
答案: 【C66】

第三章 单元测试

1、单选题:
已知a,b,c的值分别是1,2,3,则执行下列语句后a,b,c的值分别是(    )
if (a++<b ){c=a; a=b; b=c; }
else a=b=c=0;
选项:
A:0,0,0

B:1,2,1

C:2,2,2
D:1,2,3

答案: 【】

2、单选题:
以下if语句中格式正确的是(    )
选项:
A:if(a>b) {b++;printf(“%d”,b)}
else{a++;printf(“%d”,a);}
B:if(a>b) {b++;printf (“%d”,b);}
else {a++;printf(“%d”,a);}
C:if(a>b)  b++  else a++;
D:if(a>b)b++;printf(“%d”,b);
else printf(“%d”,a);
答案: 【

3、单选题:
若i是int型变量,且有下面的程序片段
i=0;
if(i<=0) printf(“####”)
else printf(“****”);
上面程序片段的输出结果是(    )
选项:
A:####****
B:####

C:****
D:有语法错误,无输出结果
答案: 【】

4、单选题:
有以下程序:
#include<stdio.h>
main()
{int x,y; printf(“Enter an integer(x):”);
scarf(“%d”,&x);
if(x++<0) y=-1;
else if(x==0) y=0;else y=1; printf(“%d”,y);}
现从键盘上输入-1,则程序的输出是(   )。
选项:
A:-1
B:0

C:1
D:不确定的值
答案: 【】

5、单选题:
若执行下面的程序时从键盘上输入10,则输出是(     )
main()
{int a;scanf(“%d”,&a);if(a++>10)
printf(“%dn”,++a);
else printf(“%dn”,a–);  }
选项:
A:9
B:10
C:12

D:11

答案: 【

6、单选题:
下面程序的输出结果是(    )。
#include<stdio.h>
main()
{int i=2,p;p=f(i,i+1);
printf(“%d”,p);  }
int f(a,b)
int a,b;
{int c; c=a;
if(a>b) c=1;
else
if(a==b)c=0;    else c=-1;
return(c);  }
选项:
A:1
B:2
C:0
D:-1
答案: 【】

7、单选题:
请读程序:
#include<stdio.h>
main()
{int x=l,y=0,a=0,b=0;
switch(x)
{case l:
switch(y)
{case 0: a++; break;
case 1:b++;break;}
case 2:
a++;b++; break;}
printf(“a=%d, b=%dn”,a,b);}上面程序的输出结果是(   )
选项:
A:a=l,b=l
B:a=l,b=0
C:a=2,b=2
D:a=2,b=l
答案: 】

8、单选题:
有以下程序:
#include<stdio.h>    .
main()
{int al=0,a2=0,a3=0;
char ch;
while((ch=getchar())!=’n’)
switch(ch)
{case ‘A’:a1++;
case ‘B’:a2++;
default:a3++;    }
printf(“%d,%d,%d”,a1,a2,a3);}
现从键盘上输入AAAAABBBC<回车>,则程序执行后的输出结果是(   )
选项:
A:5,3,9
B:5,3,1
C:5,8,9
D:5,8,1
答案: 【】

9、单选题:
若要求表示a不等于0的关系,错误的表达式是(    )
选项:
A:a<0| |a>0
B:a<>0
C:a
D:a!=0
答案: 【】

10、单选题:
程序的三种基本结构是(   )。
选项:
A:顺序结构,循环结构,选择结构
B:顺序结构,选择结构,递归结构
C:选择结构,循环结构,递归结构
D:顺序结构,循环结构,递归结构
答案: 【】

11、单选题:
C语言中,逻辑真表示为(    )。
选项:
A:’y’或’Y’
B:1
C:TRUE
D:非零值
答案:

12、单选题:
已知a,b,c,w时int型变量,a,b均以赋值,且满足a<b,先有以下程序段:
scanf (“%d”,&c);
w=a;
if (w<=b) w=b;
if (w<=c) printf (“%d”,w);
else w=c;
为把c的值放入w中,则执行此程序段时,从键盘输入的c的值不应取的范围是(   )。
选项:
A:c>=b
B:c>a或c<b
C:c>a且c<b
D:b>c
答案: 【】

13、单选题:
设a,b,w为整型变量,ch为字符型变量,用if语句改写以下的程序段:
switch(ch)
{ case’+’:w=a+b;break;
case’-‘:w=a-b;break;
case’*’:w=a*b;break;
case’/’:w=a/b;break;}
在下列写法中,错误的是(   )
选项:
A:

if(ch= =’*’) w=a*b;
else if(ch= =’/’) w=a/b;
if(ch= =’+’) w=a+b;
else if(ch= =’-‘) w=a-b;

B:

if(ch= =’+’) w=a+b;
else if(ch= =’-‘) w=a-b;
if(ch= =’*’) w=a*b;
else w=a/b;

C:

if(ch= =’+’) w=a+b;
if(ch= =’-‘) w=a-b;
if(ch= =’*’) w=a*b;
if(ch= =’/’) w=a/b;

D:

if(ch= =’+’)  w=a+b;
elseif(ch= =’-‘) w=a-b;
if(ch= =’*’) w=a*b;
else if(ch= =’/’) w=a/b;

答案: 【

 

14、单选题:
以下程序的输出结果是(   ) #include<stdio.h>
main()
{ int a=0,b=l,c=0,x=0,y=0;
if(x<=y)
if(y=l0)
if(!b)  a=1;
else if(c) a=10;
a=-1;
printf(“%d”,a);}
选项:
A:1
B:10
C:不确定的值
D:-1
答案: 【】

第四章 单元测试

1、单选题:
分析下面的C语言代码:
int a=1,b=10;
do{
b-=a;a++;
}while (b–<0);
则执行循环语句后b的值为(    )
选项:
A:  -1
B: -2
C:  9
D: 8
答案: 【】

2、单选题:
C语言中,while和do…while循环的主要区别是(    )
选项:
A: do…while的循环体不能是复合语句
B: do…while的循环体可以无条件执行一次
C: while的循环控制条件比do…while的循环控制条件严格
D: do…while允许从外部转到循环体内
答案: 【】

3、单选题:
研究下面的C程序段:
int i,j;
for (i=5;i;i–)
for(j=0;j<4;j++){…}
循环体的总执行次数是(    )
选项:
A: 30
B: 25
C: 20
D: 24
答案: 【 】

4、单选题:
分析下面的C代码段:
char str1[15]=”Sea View”;
char str2[15]=”Sea Breeze”;
strcpy(str1,str2);
printf(“%sn”,str1);
则输出结果是(    )
选项:
A: Sea View Sea Breeze
B: Sea View
C: Sea Breeze Sea View
D: Sea Breeze
答案: 【】

5、单选题:
下面有关for循环的正确描述是(   )
选项:
A: for循环只能用于循环次数已经确定的情况
B: 在for循环中,不能用break语句跳出循环体
C: for循环的循环体语句中,可以包含多条语句,但必须用大括号括起来
D: for循环是先执行循环体语句,后判断表达式
答案: 【】

6、单选题:
若i为整型变量,则以下循环执行次数是(    )
for(i=2;i==0;)  printf(“%dn”,i–);

选项:
A: 2次
B: 0次
C: 无限次
D: 1次
答案: 【】

7、单选题:
以下程序运行后,输出的结果是(      )
main()
{ int i, j ,sum=0;
for (i=5;i;i–)
for (j=0;j<3;j++)
sum++;
printf(“%d”,sum);
}

选项:
A:12
B:3
C:15
D:5
答案: 【】

8、单选题:
下面程序的运行结果是(  )void main(){ int i;  for(i=1;i<=5;i++)  {        if(i%2)  printf(“*”);        else  continue;        printf(“#”);}printf(“$n”);}
选项:
A:*#*#*#$
B:#*#*$
C:#*#*#*$
D:*#*#$
答案: 【】

第五章 单元测试

1、单选题:
以下对一维数组a的正确说明是:(   )
选项:
A: int k=5,a[k];
B: char a[3]={‘a’,’b’,’c’};
C: int a[];
D: char a(10);
答案: 【】

2、单选题:
已知:int  a[10]; 则对a数组元素的正确引用是(    )
选项:
A: a[3.5]
B: a[0]
C: a(5)
D: a[10]
答案: 【

3、单选题:
下述对C语言字符数组的描述中正确的是(    )
选项:
A: 一维字符数组的第一个元素是其下标为1的元素
B: 任何一维字符数组的名称都是该数组存储单元的开始地址,且其每个元素按照顺序连续占存储空间
C: 一维字符数组的元素在引用时其下标大小没有限制
D: 任何一个一维字符数组的元素,可以根据内存的情况按照其先后顺序以连续或非连续的方式占用存储空间
答案: 【

4、单选题:
若有说明:int a[][3]={{1,2,3},{4,5},{6,7}}; 则数组a的第一维的大小为: (    )
选项:
A: 2
B: 3
C: 无确定值
D: 4
答案: 【 】

5、单选题:
对二维数组的正确定义是(    )
选项:
A: int a[2] [ ]={1,2,3,4,5,6};
B: int a[ ] [3]={1,2,3,4,5,6};
C: int a[2,3]={1,2,3,4,5,6};
D: int a[ ] [ ]={1,2,3,4,5,6};
答案: 【】

6、单选题:
已知int a[3][4];则对数组元素引用正确的是(    )
选项:
A: a[2][0]
B: a[2][4]
C: a[1,3]
D: a(2)(1)
答案:】

7、单选题:
合法的数组定义是(    )
选项:
A: char a={‘U’, ‘V’, ‘W’,’X’, ‘Y’};
B: char a[5]= “ABCDE”;
C: char a[5]={“A”,”A”, “A”,”A”,”A”};
D: char a[6]= {‘A’,’B’,’C’,’D’,’E’};
答案: 【 】

8、单选题:
以下程序段的输出结果是(     )
char s[]=”113vwxyzx41″;
printf(“%dn”,strlen(s));

选项:
A: 3
B: 8
C: 7
D: 10
答案: 【

9、单选题:
以下程序运行后,输出结果是(     )
void main()
{
int  a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf(“%d%d%d%dn”,a[0][3],a[1][2],a[2][1],a[3][0]);
}

选项:
A:0650
B:输出值不定
C:5430
D:1470
答案: 【 】

10、单选题:
若有以下定义和语句:
char s1[]=”abced”,s2[]=”abcd”;
printf(“%dn”,strlen(strcpy(s1,s2)));
则输出结果是:(   )
选项:
A: 4
B: 9
C: 5
D: 10
答案: 【 】

第六章 单元测试

1、单选题:
一个C语言程序总是从(  )开始执行的。

选项:
A: 书写顺序的第一个函数
B: 不确定
C: 主函数main
D: 书写顺序的第一条执行语句
答案: 【

2、单选题:
在 C 语言中,有关函数的说法,以下正确的是(   )
选项:
A: 函数可嵌套定义,也可嵌套调用
B: 函数可嵌套定义,但不可嵌套调用
C: 函数不可嵌套定义,但可嵌套调用
D: 函数不可嵌套定义,也不可嵌套调用
答案: 【 】

3、单选题:
调用函数的实参与被调用函数的形参应有如下关系(  )
选项:
A: 只要求实参与形参个数相等
B: 只要求实参与形参顺序相同
C: 只要求实参与形参数据类型相同
D: 上述三点均应具备
答案: 【 】

4、单选题:
为了判断两个字符串s1和s2是否相等,应使用(  )
选项:
A: if(strcpy(s1,s2))
B: if(strcmp(s1,s2)= = 0)
C: if(s1==s2)
D: if(s1=s2)
答案: 【】

5、单选题:
以下4个字符串函数中,与其他3个所在的头文件不同是(  )

选项:
A: printf
B: putchar
C: strcmp
D: scanf
答案: 【】

6、单选题:
若用数组名作为函数调用的实参,传递给形参的是(  )
选项:
A: 数组中的全部元素的值
B:  数组元素的个数
C: 数组的首地址
D: 数组中第一个元素的值
答案: 【 】

7、单选题:
以下正确的说法是(   )
选项:
A: 形参是虚拟的,不占用存储单元
B: 有当实参和与其对应的形参同名时才共占用相同的存储单元
C: 实参和与其对应的形参各占用独立的存储单元
D: 实参和与其对应的形参共占用一个存储单元
答案: 【】

8、单选题:
关于函数声明,以下不正确的说法是(  )
选项:
A: 如果在所有函数定义之前,在函数外部已做了声明,则各个主调函数不必再做函数原型声明
B: 标准库不需要函数原型声明
C: 如果函数定义出现在函数调用之前,可以不必加函数原型声明
D: 函数在调用之前,一定要声明函数原型,保证编译系统进行全面的调用检查
答案: 【】

9、单选题:
以下叙述中正确的是(  )
选项:
A: 宏定义可以嵌套定义,即在宏定义中的字符串可以引用另一个宏定义的标识符。
B: 源程序中所有的行都参加编译。
C:其余选项都不正确。
D: 宏定义常量与const定义常量是一样的。
答案:

10、单选题:
凡在函数中未指定存储类别的变量,其隐含的存储类别是(  )
选项:
A: 寄存器
B: 外部
C: 自动
D: 静态
答案: 【 】

11、单选题:
在源程序的一个文件中定义的全局变量的作用域是(  )
选项:
A: 一个函数的范围
B: 从定义该变量的位置开始至该文件的结束
C: 在本文件的全部范围
D: 该程序的全部范围
答案: 【

12、单选题:
下列程序的输出结果是(   )
#include<stdio.h>
int abc(int u,int v)
{  int w;
while(v) {  w=u%v; u=v; v=w;  }
return u;
}
main()
{  int a=24,b=16,c;
c=abc(a,b);
printf(“%dn”,c);
}

选项:
A: 4
B: 8
C: 6
D: 5
答案: 【 】

13、单选题:
函数调用可以在(   )
选项:
A: 函数参数中
B: 以上都是
C: 函数语句中
D: 函数表达式中
答案: 【 】

14、单选题:
以下不正确的叙述是(  )
选项:
A: 宏名无类型
B: 宏替换不占用运行时间
C: 宏名必须用大写字母表示
D: 宏替换只是字符替换
答案: 【 】

15、单选题:
C语言的编译系统对宏命令的处理(  )
选项:
A: 在对源程序中其它语句正式编译之前进行的
B: 在程序连接时进行
C: 在程序运行时进行的
D: 和C程序中的其它语句同时进行编译的
答案: 【】

16、判断题:
全局类型的变量作用范围大,因此编程中应尽量使用全局变量,少使用局部变量。( )
选项:
A:错
B:对
答案: 【】

17、判断题:
形参只有在被调用时才分配存储空间。(  )
选项:
A:对
B:错
答案: 【】

18、判断题:
形参可以是常量、变量或表达式。(  )
选项:
A:错
B:对
答案: 【】

19、判断题:
宏替换时先求出实参表达式的值,然后代入形参运算求值。(  )
选项:
A:对
B:错
答案: 【】

20、判断题:
调用函数只能得到一个返回值,而用宏可以得到几个结果。(  )
选项:
A:错
B:对
答案: 【】

21、判断题:
在宏定义#define PI 3.l4l59中,如果将1误输成小写的L,则编译时不出错,运行时出错。(  )

选项:
A:错
B:对
答案: 【】

第七章 单元测试

1、单选题:
指针变量是把内存中另一个数据的()作为其值的变量。

选项:
A:变量名

B:

地址

C:

D:

标识符

答案: 【

2、单选题:
有以下程序段,输出结果为()。#include<stdio.h>main(){int a[10]={11,32,43,25,16,71,24,23,80,44};int *p=a;int *s,;s=p+2; printf(“%d,%d “,*p,*s);}

选项:
A:

0,2

B:

11,13

C:

11,32

D:

11,43

答案: 【

 

3、单选题:
有以下程序段,输出结果为()。#include<stdio.h>main(){int a[10]={5,10,15,20,25,30,35,40,45,50};int *p=a;int *s, m;s=p++;m=*p++;   printf(“%d,%d,%d ”, *p, *s, m);}

选项:
A:

10,15,11

B:

5,10,15

C:

15,5,10

D:

5,10,11

答案: 【

 

4、单选题:
有以下程序段,输出结果为()。#include<stdio.h>main(){int a[3][4]={1,2,3,4,5,6,7,8,9,10,11,12}; int (*p)[4]=a;printf(“%dn”,*p);}

选项:
A:语法错误
B:12

C:随机值
D:1

答案: 【】

5、单选题:
有以下程序段,输出结果为()。#include<stdio.h>main(){int a=10,*p,**q,***s;p=&a;q=&p;s=&a;printf(“%d,%d,%d”,*p,**q,***s);}

选项:
A:

10,10,10

B:

10,10,随机值

C:

10,随机值,随机值

D:

语法错误

答案: 【

 

6、单选题:
在以下程序段的空白处填入(),能够正确输出teacher。#include<stdio.h>main(){char *p[3]={“student”,”teacher”,”classroom”};printf(“%s”,         );}

选项:
A:*(p+1)
B:*p+1
C:*p+7
D:*p[1]
答案: 【】

7、单选题:
在以下程序段的空白处填入(),能够使程序正确运行。#include<stdio.h>int sum(int x,int y){return x+y;}main(){int a=3,b=5,c;            p=sum;c=(*p)(a,b);printf(“%d”,c);}

选项:
A:其余选项都不对
B:int (*p)()
C:int *p(int,int)
D:int (*p)(int ,int);
答案: 【 】

8、单选题:
有以下程序段,输出结果为()。#include<stdio.h>void swap(int *p1){int b=20;p1=&b;}main(){int a=10,*pa;pa=&a;swap(pa);printf(“%d,%d”,a,*pa);}

选项:
A:

20,20

B:

10,20

C:

10,10

D:

20,10

答案: 【

 

9、单选题:
有以下程序段,在空白处填入(),可以使程序正确运行。#include<stdio.h>int      (int x,int y){if(x>y)return &x;else return &y;}main(){int a=3,b=5,*p;p=f(a,b);printf(“%d”,*p);}

选项:
A:

其余选项都不对

B:

*f

C:

(*f)

D:

f

答案: 【

第八章 单元测试

1、单选题:
有如下结构体定义,能够正确引用结构体的是()。struct student{long num;char name[10];char sex;int age;float score;}stu;

选项:
A:

stu.age=20

B:

stu.num=”40012120”

C:

stu=”lili”

D:

stu->sex=’f’

答案: 【

 

2、单选题:
有以下程序段,输出结果为()。#include <stdio.h>     struct  s{  int  a;  char  b;  double  f;};    main()   { printf(“%d”,sizeof(struct  s)); }

选项:
A:

13

B:

12

C:

24

D:

16

答案: 【

 

3、单选题:
有以下程序段,输出结果为()。#include<stdio.h>struct person{char name[20];int count;}leader[3]={“Li”,0,”Zhang”,0,”Sun”,0};main(){printf(“%s”,leader[1].name);}

选项:
A:

0

B:

sun

C:

Zhang

D:

Li

答案: 【

 

4、单选题:
有以下程序段,输出结果为()。#include<stdio.h>struct student{int num;char name[20];float score;};main(){struct student stu[5];printf(“%d”,sizeof(stu));}

选项:
A:

160

B:

随机值

C:

140

D:

5

答案: 【

 

5、单选题:
以下程序段,在空白处填写()能使程序正确运行并输出结果。#include<stdio.h>struct student{long num;char name[10];char sex;float score;};main(){struct student stu={10101,”lili”,’m’,89.5},*pt;             printf(“%.2f”,pt->score);}

选项:
A:

*pt=&stu;

B:

pt=stu;

C:

*pt=stu;

D:

pt=&stu;

答案: 【

 

6、单选题:
有结构体声明如下,成员next是一个指针,指向对象的类型是()。struct node{char ch;struct node *next;};

选项:
A:

float

B:

char

C:

node

D:

int

答案: 【

7、单选题:
有以下共用体声明,赋值错误的是()。union data{int i;char ch;float f;}

选项:
A:

union data a;a.i=97;

B:

union data a={97,’b’,1.5};

C:

union data a={97};

D:

union data a;a.i=’a’;

答案: 【

 

8、单选题:
以下程序段的运行结果为()。#include<stdio.h>union data{int i;char ch;float f;};main(){union data a;a.i=98;a.ch=’B’;printf(“%d”,a.i);}

选项:
A:

66

B:

随机值

C:

0

D:

98

答案: 【

 

9、单选题:
有枚举定义enum sex{m,f} stu;能够正确赋值的是()。

选项:
A:stu=nan
B:stu={m,f}
C:stu=f
D:stu=man
答案: 【】

10、单选题:
有新类型名声明typedef int Num[10];以下各项中与int a[10]含义相同的是()。

选项:
A:

typedef a[10]

B:

Num a[10]

C:

typedef a

D:

Num a

答案: 【

 

第九章 单元测试

1、单选题:
下列关于C语言数据文件的叙述中正确的是(  )
选项:
A: 文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件
B: 文件由ASCII码字符序列组成,C语言只能读写文本文件
C: 文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件
D: 文件由二进制数据序列组成,C语言只能读写二进制文件
答案: 【】

2、单选题:
fwrite函数的一般调用形式是(  )
选项:
A: fwrite(fp,count,size,buffer);
B: fwrite(fp,size,count,buffer);
C: fwrite(buffer,count,size,fp);
D: rite(buffer,size,count,fp);
答案: 【 】

3、单选题:
C语言文件操作函数fread(buffer,size,n,fp)的功能是(  )
选项:
A: 从文件fp中读入n个字节放入大小为size字节的缓冲区buffer中
B: 从文件fp中读n个字节存入buffer
C: 从文件fp中读入n个字符数据放入buffer中
D: 从文件fp中读n个大小为size字节的数据项存入buffer中
答案: 【】

4、单选题:
若fp是指向某文件的指针,且已读到此文件末尾,则库函数feof(fp)的返回值是(  )
选项:
A: EOF
B: NULL
C: 非零值
D: 0
答案: 【

5、单选题:
若要用fopen函数建一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应该为(  )
选项:
A: “wb+”
B: “ab+”
C: “rb+”
D: “ab”
答案: 【

6、单选题:
C语言把文件看作是一个(  )的序列。

选项:
A: 记录
B: 字符
C: 字
D: 单词
答案: 【

7、单选题:
语句FILE *fp;定义了一个指向(  )
选项:
A: FILE类型的指针变量
B: FILE文件的变量
C: 某一个文件的结构体变量
D: 某一个文件的变量
答案: 【】

8、单选题:
语句 fp=fopen(“file1″,”r”); 表示(  )
选项:
A: 打开文件file1,可向该文件输入输出数据
B: 打开文件file1,可向该文件输出数据
C: 打开文件file1,可从该文件输入数据
D: 打开文件file1,可向该文件添加数据
答案:  】

9、单选题:
如果希望向文本文件末尾添加数据,则应以(  )方式打开文件。

选项:
A: “w”
B: “ab”
C: “a”
D: “r”
答案: 【】

10、判断题:
从操作系统的角度来看,键盘和打印机是输出文件。(  )
选项:
A:错
B:对
答案: 【】

11、判断题:
对设备文件的输入输出操作就是读写设备文件的过程。(   )
选项:
A:对
B:错
答案: 【】

12、判断题:
C语言中文件可以顺序存取,也可随机存取。(  )
选项:
A:错
B:对
答案: 【】

13、判断题:
gets函数的功能是从文件指针所指向文件中读取一个字符。(  )
选项:
A:对
B:错
答案: 【】

14、判断题:
对已打开的文件进行输入输出操作是通过指向该文件结构的指针变量进行的。(  )
选项:
A:对
B:错
答案: 【】

15、判断题:
只有通过文件,才能进行大量的原始数据的输入和保存,这些数据甚至可能远远超过内存容量。(   )

选项:
A:对
B:错
答案: 【】

第十章 单元测试

1、单选题:
语句:printf(“%dn”,12&012);的输出结果是(  )
选项:
A: 6
B: 12
C: 012
D: 8
答案: 【 】

2、单选题:
设 int  b=2;表达式(b>>2)/(b>>1)的值是(  )
选项:
A: 0
B: 8
C: 2
D: 4
答案: 【 】

3、单选题:
有如下程序段
int   a=14,b=15,x;
char  c=‛A’;
x=(a&&b)&&(c<‛B’);
执行该程序段后,x的值为(  )
选项:
A:false
B:ture
C: 1
D: 0
答案: 【 】

4、单选题:
整型变量x和y的值相等、且为非0值,则以下选项中,结果为零的表达式是(  )
选项:
A: x | y
B: x & y
C: x || y
D: x ^ y
答案: 【 】

5、单选题:
设char型变量x中的值为10100111,则表达式(2+x)^(~3)的值是(  )
选项:
A: 10101001
B: 11111101
C: 10101000
D: 01010101
答案: 【 】

6、单选题:
请读程序片段:
char x=56;
x=x&056;
printf(“%d,%on”,x,x)
以上程序片段的输出结果是(  )
选项:
A: 40,50
B: 56,70
C: 0,0
D: 62,76
答案: 【】

7、单选题:
若有以下程序段:
int   x=1,y=2;
x=x^y;  y=y^x;  x=x^y;则执行以上语句后x和y的值分别是
选项:
A: x=2,y=1
B: x=1,y=2
C: x=1,y=1
D: x=2,y=2
答案: 【 】

8、单选题:
设有以下语句:
char x=3,y=6,z;  z=x^y<<2;
则z的二进制值是(  )
选项:
A: 00011100
B: 00011000
C: 00010100
D: 00011011
答案: 【 】

9、单选题:
表达式a<b||~c&d的运算顺序是(  )
选项:
A:  ~,||,&,<
B: ~,<,&,||
C: ~,&,<,||
D: ~,&,||,<
答案: 【】

10、判断题:
将一个数左移一位,相当于该数乘以2;右移一位相当于除以2。(  )
选项:
A:对
B:错
答案: 【】

11、判断题:
~运算符的优先级低于算术运算符,高于关系运算符、逻辑运算符。(  )
选项:
A:对
B:错
答案: 【】

12、判断题:
位运算的运算量可以是整型、字符型或实型数据。(  )
选项:
A:对
B:错
答案: 【】

13、判断题:
要将一个存储单元i清零,可以实施如下运算:i&0。(   )
选项:
A:错
B:对
答案: 【】

0
觉得这篇文章对你有用的话,就打赏一下支持文章作者

评论0

请先

站点公告

开放大学课程作业代写,有需要扫码加微信

显示验证码

社交账号快速登录