智慧树知到答案程序设计基础(山东联盟)最新答案

内容查看
查看价格15

第一章 单元测试

1、单选题:
C语言程序是由若干(  )组成的。

选项:
A:过程
B:主程序
C:子程序
D:函数
答案: 【函数】

2、单选题:
C语言中,最简单的数据类型是(  )。

选项:
A:整型、字符型、逻辑型
B:整型、实型、逻辑型、字符型
C:整型、实型、逻辑型
D:整型、实型、字符型
答案: 【整型、实型、字符型】

3、单选题:
下列选项中可以作为C语言字符常量的是(  )。

选项:
A:”abc”
B:13.8e
C:‘12’
D:‘M’
答案: 【‘M’】

4、单选题:
已知字母‘b’的ASCII码值为98,如ch为字符型变量,则表达式ch=‘b’+’5’–’2’的值为(  )。

选项:
A:d
B:102
C:100
D:e
答案: 【e】

5、单选题:
已知各变量的定义如下:int i=8,k,a,b;unsigned long w=5;double x=1.42,y=5.2;则以下表达式中不符合C语言语法的表达式是(  )。

选项:
A:y+=x++;
B:(int)x+0.4;
C:a=2*a=3;
D:k=i++;
答案: 【a=2*a=3;】

6、单选题:
下列四个选项是对变量和常量的特点的叙述,正确的说法是(  )。
选项:
A:C89规定所有变量必须在第一条可执行语句前定义。
B:不同类型的变量分配的存储空间大小都是相同的。
C:在C语言中,所有变量都必须在定义时进行初始化。
D:宏常量有数据类型,编译器在宏替换时可以进行类型检查。
答案: 【在C语言中,所有变量都必须在定义时进行初始化。】

7、单选题:
设有语句“int a = 3;”,执行语句“a += a -= a * a;”后,变量a的值是(  )。
选项:
A:0

B:-12
C:9
D:3
答案: 【-12】

8、单选题:
在C语言中对下面的语句而言,哪个说法是错误的(  )? int a, b;
选项:
A:a和b都是整型变量
B:变量a和b占用的内存空间的大小是相同的
C:变量a和b中的值都是未知的随机数
D:变量a和b中都没有数值
答案: 【变量a和b中都没有数值】

9、单选题:
设有如下定义:int x=1,y=-1;则语句:printf(“%d”,x–+(++y));的输出结果是(  )。

选项:
A:0
B:2
C:-1
D:1
答案: 【1】

10、单选题:
执行下面程序时,欲将25和2.5分别赋给a和b,正确的输入方法是(  )。int a;float b;     scanf(“a=%d,b=%f”,&a,&b);

选项:
A:a=25 b=2.5
B:a=25,b=2.5
C:25 2.5

D:25,2.5
答案: 【a=25,b=2.5】

第二章 单元测试

1、单选题:
若有整型变量i、j,则以下程序段中内循环体的执行次数为(  )。for(i=1;i<=5;i++)for(j=0;j<4;j++){……}

选项:
A:20

B:30
C:24
D:25

答案: 【20

2、单选题:

判断char型变量ch是否为大写字母的正确表达式是(  )。

选项:
A:(ch>=’A’)&&(ch<=’Z’)
B:(‘A'<=ch)AND(‘Z’>=ch)
C:(ch>=’A’)&(ch<=’Z’)
D:’A'<=ch<=’Z’
答案: 【(ch>=’A’)&&(ch<=’Z’)】

3、单选题:
以下程序段的输出结果是(  )。main(){  int x=5;  if(x++>5)     printf(“%d”,x);  else     printf(“%d”,x–);}

选项:
A:6
B:5
C:4

D:7
答案: 【6】

4、单选题:
设所有变量均已正确定义,并且已知a=4,b=3,c=2,d=1,则表达式d=a<b?a:c的结果是(  )。

选项:
A:1
B:2

C:4
D:3
答案: 【2

5、单选题:

当a=1、b=3、c=5、d=4时,执行以下程序段后x的值是()。blob.png
选项:
A:3
B:2
C:6
D:1
答案: 【2】

6、单选题:
如下程序
main()
{    int x=1,a=O,b=O;
switch(x)
{                case  0:b++;
case  1:a++;
case  2:a++;b++;
}
printf(“a=%d,b=%d”,a,b);
}
该程序的输出结果是(  )。

选项:
A:a=2,b=1
B:a=1,b=0

C:a=1,b=1

D:a=2,b=2
答案: 【a=2,b=1】

7、单选题:
下面程序段int k=2;while(k=0){printf(“%d”,k);k–}则下面描述中正确的是(  )。

选项:
A:循环体语句执行一次
B:循环体语句一次也不执行
C:循环体无限循环
D:while循环执行10次
答案: 【循环体语句一次也不执行】

8、单选题:
以下程序中while循环的循环次数为(  )。main(){   int i=0;   while(i<10)   {      if(i<1) continue;      if(i==5) break;      i++;   }    }

选项:
A:1
B:6
C:死循环,不确定次数
D:10
答案: 【死循环,不确定次数】

9、单选题:
假定a和b均为int型变量,则执行以下语句后b的值为(  )。a=1; b=10;do{ b-=a; a++; } while(b–<0);

选项:
A:-1
B:9

C:-2
D:8
答案: 【8】

10、单选题:
在语句while(!E); 括号中的表达式!E等价于( )。

选项:
A:E==1
B:E!=0
C:E==0
D:E!=1

答案: 【E==0】

 

第三章 单元测试

1、单选题:
若有定义int  a[10];则数组元素的下标的下限和上限分别是(  )。
选项:
A:0和1

B:1和9
C:0和9
D:1和10
答案:

2、单选题:
定义如下变量和数组,则下列程序段的输出结果是(  )。int i,x[3][3]={1,2,3,4,5,6,7,8,9};for(i=0;i<3;i++)  if(i%2!=1)printf(“%d”,x[i][i]);

选项:
A:19

B:39
C:17
D:37
答案:

3、单选题:
下面一段程序是有关字符串操作的,该段程序的输出结果是(  )。#include <stdio.h>#include <string.h>main(){   char p1[10]=”abc”,p2[]=”ABC”;   strcat(p1,p2);   printf(“%s”,p1);}

选项:
A:abcABC

B:abc

C:abcabc

D:ABC

答案:

4、单选题:
下列四个选项中能正确定义一维数组的语句是(  )。
选项:
A:int num[0…2017];
B:int N=2017; int num[N];
C:#define N 2017

int num[N];

D:int num[ ];
答案:

5、单选题:
若有以下说明,则数值为4的表达式是(  )。int a[12]={1,2,3,4,5,6,7,8,9,10,11,12};char c=’a’,d,g;

选项:
A:a[4]

B:a[‘d’-c]

C:a[g-c]

D:a[‘d’-‘c’]
答案:

6、单选题:
以下是有关二维数组定义和初始化的语句,其中错误的是(  )。

选项:
A:int x[ ][3]={0};
B:int x[ ][3]={{1,2,3},{4,5,6}};
C:int x[2][3]={1,2,3,4,5,6};
D:int x[2][3]={{1,2},{3,4},{5,6}};
答案:

7、单选题:
以下关于C语言字符数组的描述中错误的是(  )。

选项:
A:不可以用赋值语句给字符数组名赋字符串
B:字符数组只能存放字符串
C:可以用输入语句把字符串整体输入给字符数组
D:字符数组中的内容不一定是字符串
答案:

8、单选题:
设有char array[ ]=“China”;则数组array所占的空间字节数是(  )。

选项:
A:7
B:6
C:4
D:5
答案:

9、单选题:
如下程序段是对字符串的操作,运行后的结果为(   )。     char a[3],b[ ] =“China” ;     a = b ;     printf(“%s”,a);

选项:
A:编译出错
B:运行后将输出Chi
C:运行后将输出ch
D:运行后将输出China
答案:

10、单选题:
有以下有关字符串操作的程序,程序运行后的输出的结果是(  )。main( ){         char s[ ]=“012xy8s34f4w2”;         int i,n=0;         for(i=0;s[i]!=0;i++)                 if(s[i]>=‘0’ && s[i]<=‘9’)              n++;         printf(“%d”,n);}

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

第四章 单元测试

1、判断题:
C 语言程序中可以有多个函数 , 但只能有一个主函数。
选项:
A:错
B:对
答案:

2、判断题:
函数的实参可以是常量,变量或表达式。
选项:
A:对
B:错
答案:

3、判断题:
递归调用算法与相同功能的非递归算法相比,主要问题在于重复计算太多,而且调用本身需要分配额外的空间、传递数据和控制,所以时间和空间开销通常都比较大。
选项:
A:错
B:对
答案:

4、单选题:
在一个被调用函数中,关于 return 语句使用的描述,错误的是(   )。
选项:
A:被调用函数中,一个 return 语句可以返回多个值给调用函数
B:被调用函数中可以不用 return 语句
C:被调用函数中,如果有返回值,就一定要有 return 语句
D:被调用函数中可以使用多个 return 语句
答案:

5、单选题:
C语言中函数返回值的类型是由(   )决定的。

选项:
A:return语句中的表达式类型
B:定义函数时所指定的函数类型
C:调用函数时临时决定
D:调用该函数的主调函数的类型
答案:

6、单选题:
有如下函数调用语句: func(rec1, rec2+rec3, (rec4, rec5)); 则该函数调用语句中,含有的实参个数是(    )。
选项:
A:3
B:有语法错
C:5
D:4
答案:

7、单选题:
以下程序的输出结果是(   )。#include <stdio.h>int func(int a,int b){           return(a+b);  }int main(){          int x=2,y=5,z=8,r;        r=func(func(x,y),z);        printf(“%d”,r);        return 0;}

选项:
A:15
B:13
C:12

D:14
答案:

8、单选题:
C语言规定,程序中各函数之间(   )。
选项:
A:不允许直接递归调用也不允许间接递归调用
B:既允许直接递归调用也允许间接递归调用
C:允许直接递归调用不允许间接递归调用
D:不允许直接递归调用允许间接递归调用
答案:

9、单选题:

若有以下调用语句,则不正确的 fun( )函数的首部是(   )。

main( )

{

int a[50], n;

fun(n, &a[9]);

}

选项:
A:void fun(int n, int a)
B:void fun(int p, int *s)
C:void fun(int s, int h[ 41])
D:void fun(int m, int x[ ])
答案:

10、判断题:
函数的实参传递到形参有两种方式:值传递和地址传递。
选项:
A:错
B:对
答案:

第五章 单元测试

1、单选题:
变量的指针,其含义是指该变量的(   )。

选项:
A:值
B:名
C:一个标志
D:地址
答案:

2、单选题:
若有语句int *point,a=4;和point=&a;下面均代表地址的一组选项是(   )。

选项:
A:*&point,*point,&a
B:&a,&*point,point
C:&*a,&a,*point
D:a,point,*&a
答案:

3、单选题:
若有以下定义和语句,且0<=i<10,则对数组元素地址的正确表示是(   )。int a[]={0,1,2,3,4,5,6,7,8,9},*p;p=a;

选项:
A:&p[i]
B:&p
C:a++
D:&(a+1)
答案:

4、单选题:
char  s[10]=”ABCDEFGH”,*p=s;不能表示字符C的是(   )。

选项:
A:*(p+2)
B:s[3]
C:s[2]
D:s[‘c’-‘a’]
答案:

5、单选题:
有下列程序:func(int x,int y,int *jia,int *jian){    *jia=x+y;   *jian=x-y;  }main(){    int i=10,j=3,x1,x2;  func(i,j,&x1,&x2);  printf(“%d,%d”,x1,x2);}则运行结果是(   )。

选项:
A:13,7
B:0,0
C:10,3
D:7,13
答案:

6、单选题:
下列定义中,不是指针数组定义的是(  )。

选项:
A:float *q[4]
B:int *p[5];
C:int (*r)[6]
D:char *w[7]
答案:

7、单选题:
下列程序的运行结果是(  )。#define N 9fun(char s[]){    char *p=s+4,*q=s;  int i;  for(i=0;i<4;i++,p++,q++)  {      s[i]=*p;      s[i+4]=*q;    }}main( ){    char ss[N]=”ABCDEFGH”;  fun(ss);  printf(“%s”,ss);}

选项:
A:EFGHEFGH
B:ABCDEFGH
C:ABCDABCD
D:EFGHABCD
答案:

8、单选题:
设有声明语句int a[2][3],(*p)[3]=a;则对a数组元素正确的引用的是(  )。
选项:
A:p[1]+2
B:*(p[1]+1)
C:*(*(p+2)+1)

D:(p+1)[0];
答案:

9、单选题:
以下选项中,对指针变量p的正确操作是(  )。

选项:
A:int a[5],*p;p=a;
B:int a[5];int *p=a[5];
C:int a[5],*p;p=&a;
D:int a[5];int *p,p2=a;*p=*p2;
答案:

10、单选题:
在说明语句“ int *f( );”中,标识符 f 代表是(    )。
选项:
A:一个用于指向整型数据的指针变量
B:一个用于指向函数的指针变量
C:一个返回值为指针型的函数名
D:一个用于指向一维数组的行指针
答案:

第六章 单元测试

1、判断题:
结构体类型本身不占用内存空间,结构体变量占用内存空间。
选项:
A:对
B:错
答案:

2、判断题:
结构体成员的类型必须是基本数据类型。
选项:
A:错
B:对
答案:

3、判断题:
结构体变量可以作数组元素。
选项:
A:对
B:错
答案:

4、判断题:
指向结构体变量的指针可以作函数参数,实现传址调用。
选项:
A:错
B:对
答案:

5、判断题:
用链表代替数组进行数据操作时,查询更加方便。
选项:
A:错
B:对
答案:

6、单选题:
有如下定义:

struct Student{    char name[10];    int age;    char gender;}std[3], *p=std;

则以下各输入语句中错误的是(   )。
选项:
A:scanf(“%c”,&std[0].gender);
B:scanf(“%c”,&(p->gender));
C:scanf(“%d”,&(*p).age);
D:scanf(“%s”,&std.name);
答案:

7、单选题:

有定义如下:

struct ex{	int x;	float y;	char z;} example;

下面叙述中不正确的是(    )。

选项:
A:example是结构类型名
B:struct是定义结构类型的关键字
C:struct   ex是结构类型名
D:x,y,z都是结构成员名
答案:

8、单选题:
设有如下定义,则对data中的a成员的正确引用是(   )。

struct sk{ int a; float b; } data, *p=&data;

选项:
A:p->data.a
B:p.data.a

C:(*p).data.a
D:(*p).a
答案:

9、单选题:

根据下面的定义,能打印出字母M的语句是(    )。 struct person{       char name[10];        int age; } c[10] ={ “John”, 17, “Paul”, 19, “Mary”, 18, “Adam”, 16 };

选项:
A:printf(“%c”, c[2].name[0]);
B:printf(“%c”, c[3].name[1]);
C:printf(“%c”, c[3].name);
D:printf(“%c”, c[2].name[1]);
答案:

10、单选题:
在一个以 h 为头的单向链表中,p 指针指向链尾的条件是()。
选项:
A:p->.data=-1
B:p->next=NULL
C:p->next->next=h
D:p->next=h
答案:

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

评论0

请先

站点公告

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

显示验证码

社交账号快速登录