智慧树知到答案C语言程序设计最新答案

资源下载
下载价格15

第一章 单元测试

1、单选题:
C语言是一种(   )。
选项:
A:高级语言
B:机器语言
C:

低级语言

D:汇编语言
答案: 【高级语言】

2、单选题:
C语言程序总是从(   )。
选项:
A:源代码的第一行
B:

源代码的第一条可执行语句

C:

主函数

D:

源代码的第一个函数

答案: 【

主函数

3、单选题:
C语言程序是由(   )构成。
选项:
A:

一个主函数和若干函数

B:

若干过程

C:

若干对象

D:

若干子程序

答案: 【

一个主函数和若干函数

4、单选题:
在C语言程序中,主函数的位置(   )。
选项:
A:

一定放在所有代码中间

B:

一定放在所有代码最后

C:

一定放在所有代码最前面

D:

可以放在代码的任何位置

答案: 【

可以放在代码的任何位置

5、单选题:
以下叙述正确的是(   )。
选项:
A:

C语言程序一行只能写一条语句

B:

C语言程序不区分大小写

C:

C语言程序每个语句结束都要写分号

D:

C语言程序每行结束都要写分号

答案: 【

C语言程序每个语句结束都要写分号

6、单选题:
要把高级语言编写的源程序转换为目标程序,需要使用(  )。
选项:
A:

编辑程序

B: 诊断程序
C: 驱动程序
D: 编译程序
答案: 【 编译程序】

7、单选题:
若有说明语句:int a,b,c,*d=&c;,则能正确从键盘读入三个整数分别赋给变量 a、b、c 的语句是(  )。
选项:
A:scanf(“%d%d%d”,&a,&b,&c);
B:scanf(“%d%d%d”,a,b,c);
C:scanf(“%d%d%d”,a,b,*c)
D:scanf(“%d%d%d”,&a,&b,c);
答案: 【scanf(“%d%d%d”,&a,&b,&c);】

8、单选题:
以下选项中合法的用户标识符是(  )。
选项:
A:

dat

B:

_2Test

C:long
D:

3Dmax

答案: 【

_2Test

9、单选题:
下列说法中正确的是(  )。
选项:
A:

C 程序书写时,不区分大小写字母

B: C 程序书写时,一个语句可分成几行书写
C: C 程序书写时,一行只能写一个语句
D: C 程序书写时每行必须有行号
答案: 【 C 程序书写时,一个语句可分成几行书写】

10、单选题:
英文小写字母 d 的 ASCII 码为 100,英文大写字母 D的 ASCII 码为(  )。
选项:
A:68
B:50
C:52
D:66
答案: 【68】

第二章 单元测试

1、单选题:
C语言中的注释(  )。
选项:
A:

不运行

B:

其他情况

C:

运行

D:

有的运行有的不运行

答案: 【

不运行

2、单选题:
设变量定义为“int a, b;”,执行下列语句时,输入(  ),则a和b的值都是10。scanf(“a=%d, b=%d”,&a, &b);
选项:
A:

10  10

B:

a=10, b=10

C:

10, 10

D:

a=10  b=10

答案: 【

a=10, b=10

3、单选题:
(  )是不正确的字符常量。
选项:
A:

’n’

B:’1’
C:”a”
D:’’
答案: 【”a” 】

4、单选题:
若变量已正确定义并赋值,表达式(  )错误。
选项:
A:

a*b/c

B:

3.14%2

C:

a/b/c

D:

2,b

答案: 【

3.14%2

5、单选题:
(  )是合法的用户自定义标示符。
选项:
A:

_isw

B:

float

C:

<fr>

D:

b-b

答案: 【

_isw

6、单选题:
(  )是 C 语言提供的合法的数据类型关键字。
选项:
A:integer
B:Float
C:Char
D:signed
答案: 【integer】

7、单选题:
在 C 语言中,要求参加运算的数必须时整数的运算符是(  )。
选项:
A:=
B:%
C:*
D:/
答案: 【% 】

8、单选题:
与代数式(x*y)/(u*v)不等价的 C 语言表达式是(  )。
选项:
A:x/(u*v)*y
B:x*y/u/v
C:x*y/(u*v)
D:x*y/u*v
答案: 【x*y/u*v】

9、单选题:
对于 char cx=’9′;语句,正确的是(  )。
选项:
A:cx 的 ASCII 值是 33
B:cx 的值为三个字符
C:cx 的值为四个字符
D:不合法
答案: 【不合法 】

10、单选题:
若 int k=7,x=12;则能使值为 3 的表达式是(  )。
选项:
A:x%=(k%=5)
B:x%=k-k%5
C:(x%=k)-(k%=5)
D:x%=(k-k%5)
答案: 【(x%=k)-(k%=5) 】

第三章 单元测试

1、单选题:
若变量已正确定义,表达式(  )的值不是2。
选项:
A:

a=2

B:

1<1+1

C:

7/3

D:

5%3

答案: 【

 

2、单选题:
在 C 程序中,用(  )表示逻辑值“真”。
选项:
A:

0

B:

大于1的数

C:

非 1 的数

D:

非 0 的数

答案: 【

 

3、单选题:
下面程序的正确输出结果是(  )。main(){   int a=2,b=-1,c=2;   if(a<b)      if(b<0)         c=1;   else      c++;   printf(“%d”,c);}

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

4、单选题:
下面程序的正确输出结果是(  )。main(){   int a=1,b=3,c=5,d=4,x;   if(a<b)      if(c<d)         x=1;      else         if(a<c)            if(b<d)               x=2;            else               x=3;         else            x=6;   else      x=7;   printf(“%d”,x);}
选项:
A:3
B:0
C:2
D:6
答案: 【

5、单选题:
下面程序的正确输出结果是(  )。main(){   int x=1,y=0,a=0,b=0;   switch(x)

{

case 1:switch(y)

{

case 0:a++;break;

case 1:b++;break;

}      case 2:a++;b++;break;      case 3:a++;b++;   }    printf(“%d   %dn”,a,b);}

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

6、单选题:
能正确表示”当 x 的值在[1,10]和[200,210]范围内为真,否则为假”的是(  )。
选项:
A:(x>=1)|| (x<=10) || (x>=200) || (x<=210)
B:(x>=1)&& (x<=10) && (x>=200) || (x<=210)
C:(x>=1)&& (x<=10) || (x>=200) && (x<=210)
D:(x>=1)|| (x<=10) && (x>=200) || (x<=210)
答案: 【】

7、单选题:
判断 char 型变量 ch 是否为大写字母的正确表达式是(  )。
选项:
A: ‘A'<=ch<=’Z’
B: (ch>=’A’) && (ch<=’Z’)
C: (ch>=’A’) & (ch<=’Z’)
D: (‘A'<=ch) AND (‘Z’>=ch)
答案: 【 】

8、单选题:
请阅读以下程序:main(){int a=5, b=0, c=0;if (a=b+c) printf(“***”);else printf(“$$$”);}以上程序(  )。
选项:
A:输出$$$
B:有语法错误不能通过编译
C:可以通过编译但不能通过连接
D:输出***
答案: 【】

9、单选题:
阅读以下程序,程序运行后, 如果从键盘上输人 5,则输出结果是(  )。main( ){int x; scanf(“%d”,&x);if(x–<5) printf(“%d”,x);else printf(“%d”,x++);}
选项:
A:3
B:6
C:4
D:5
答案: 【】

10、单选题:
若执行以下程序时从键盘上输入 9,则输出结果是(  )
选项:
A:11
B:8
C:9
D:10
答案: 【】

第四章 单元测试

1、单选题:
下列for循环语句书写格式中,错误的是(   )
选项:
A:for(i=9;i<20;i++) {…… }
B:for(i=9;i>1;i–); {…… }
C:i=9; for(;i<20;i++)  {…… }
D:i=9;for(;i>=1;) { i–; }
答案: 【】

2、单选题:
程序执行后输出的结果是:void main(){ int i; for(i=1;i<20;i=i+2)  printf(“%d “,i);}
选项:
A:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
B:1 3 5 7 9 11 13 15 17 19
C:2 4 6 8 9 10 12 14 16 18
D:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
答案: 【】

3、单选题:
求0+5+10+15+…+55的结果,下列循环语句中条件设置正确的是(  )
选项:
A:int a=0,s=0; do { s=s+a; a=a+5; }while(a<=55);
B:int a,s=1; for(a=0;a<=55;a++) { s=s+a; }
C:int a=1,s=0; while(a<55){ s=s+a; a++;}
D:int a,s=0; for(a=0;a<55;a=a+5) { s=s+a;}
答案: 【】

4、单选题:
关于循环嵌套的描述,错误的是(  )
选项:
A:

走得慢的循环放在外层,走得快的放内层

B:

内层循环每走一步,外层循环走一圈

C:

外层循环每走一步,内层循环走一圈

D:

循环次数=外层循环次数 * 内层循环次数

答案: 【

 

5、单选题:
关于break语句和continue语句的使用结果,正确的是(  )
选项:
A:int a=1; while(a<10) { while(a>6){ continue; } printf(“%d “,a); a++;} 执行结果是 1 2 3 4 5 6 7 8 9
B:int a=1; for(;a<10;a++) { if(a%3==0) continue; printf(“%d “,a);} 执行结果是 1 2 4 5 7 8
C:int a=1; for(;a<10;a++) { if(a%3==0) break; printf(“%d “,a);} 执行结果是 1 2 3
D:int a=1; while(a<10) { while(a>6){ break; } printf(“%d “,a); a++;} 执行结果是 1 2 3 4 5 6
答案: 【int a=1; for(;a<10;a++) { if(a%3==0) continue; printf(“%d “,a);} 执行结果是 1 2 4 5 7 8】

6、单选题:
以下程序的输出结果是(  )main(){int x=10,y=10,i;for(i=0;x>8;y=++i)printf(“%d,%d”,x–,y);}
选项:
A:10,9 9,0
B:9,8 7,6
C:10,10 9,1
D:10,1 9,2
答案: 【】

7、单选题:
以下程序的输出结果是(  )main( ){ int n=4;while(n–) printf(“%d “,–n); }
选项:
A:2 1 0
B:2 0
C:3 2 1
D:3 1
答案: 【】

8、单选题:
以下程序的输出结果是(  )main( ){int i;for(i=1;i<6;i++){if(i%2){ printf(“#”);continue;}printf(“*”);}}
选项:
A:#*#*#
B:*#*#*
C:#####
D:*****
答案: 【

9、单选题:
以下循环体的执行次数是(  )main( ){int i,j;for(i=0,j=1; i<=j+1; i+=2, j–)printf(“%d “,i);}
选项:
A:1
B:3
C:0
D:2
答案: 【】

10、单选题:
以下程序段的执行结果是(  )int a,y; a=10;y=0;do{a+=2;y+=a;printf(“a=%d y=%d”,a,y);if(y>20) break;}while(a=14);
选项:
A:a=12 y=12a=14 y=26
B:a=12 y=12a=14 y=44
C:a=12 y=12

a=14 y=16

a=16 y=20

D:a=12 y=12

a=16 y=28

a=18 y=24

答案: 【

第五章 单元测试

1、单选题:
C语言引用数组元素时,其数组下标的数据类型允许是(  )。
选项:
A:

任何类型的表达式

B:

整型表达式

C:

整型常量

D:

整型常量或整型表达式

答案: 【

 

2、单选题:
下面正确的定义语句是(  )。
选项:
A:int a [3]={1,2,3,4,5};
B:double y[][3]=0;
C:long b[2][3]={{1},{1,2},{1,2,3}}
D:float x[3][2]= {{1},{2},{3}}
答案: 【】

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

4、单选题:
下面的程序有错误,发生在(  )。
main(){   float a[3]={3*0};   int i;   for(i=0;i<3;i++)      scanf(“%d”,&a[i]);   for(i=1;i<3;i++)      a[0]=a[0]+a[i];   printf(“%d”,a[0]);}
选项:
A:

没有错误

B:

第五行

C:

第三行

D:

第七行

答案: 【

 

5、单选题:
若二维数组a有m列,则计算任一元素a[i][j]在数组中位置的公式为(  )。
选项:
A:i*m+j+1
B:i*m+j-1
C:j*m+i
D:i*m+j
答案: 【】

6、单选题:
int   a[4]={5,3,8,9};其中 a[3]的值为(   )。
选项:
A:8
B:5
C:3
D:9
答案: 【 】

7、单选题:
以下 4 个字符串函数中,(   )所在的头文件与其他 3 个不同。
选项:
A:strcmp
B:strlen
C:gets
D:strcpy
答案: 【】

8、单选题:
对字符数组进行初始化,(   )形式是错误。
选项:
A:char c3[ ]={ ‘1’, ‘2’, ‘3’, ”};
B:char c2[ ]=123;
C:char c4[ ]=”123″;
D:char c1[ ]={‘1’, ‘2’, ‘3’};
答案: 【】

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

10、单选题:
下列定义的字符数组中,输出 printf(“%s”, str[2]) ;的输出是(   )。 static str[3][20] ={ “basic”, “foxpro”, “windows”};
选项:
A:输出语句出错
B:basic
C:windows
D:foxpro
答案: 【

第六章 单元测试

1、单选题:
下列程序的输出结果是(  )。fun(int a, int b, int c)    {  c =a*b;  } void main( )  {

int c;

fun(2,3,c);

printf(”%d”,c);

}
选项:
A:

6

B:

0

C:

1

D:

无法确定

答案: 【

 

2、单选题:
C语言中,函数返回值的类型是由(  )。
选项:
A:

return语句中的表达式类型所决定

B:

调用该函数是系统决定

C:

在定义该函数时所指定的函数类型所决定

D:

调用该函数时的主调函数类型所决定

答案: 【

 

3、单选题:
以下不正确的说法是(  )。
选项:
A:

实参可以是常量、变量或表达式

B:

如果形参和实参的类型不一致,以形参类型为准

C:

形参可以是常量、变量或表达式

D:

实参和形参的个数要一致

答案: 【

 

4、单选题:
以下正确的说法是(  )。
选项:
A:

函数的定义可以嵌套,函数的调用不可以嵌套

B:

函数的定义和调用都可以嵌套

C:

函数的定义和调用都不可以嵌套

D:

函数的定义不可以嵌套,函数的调用可以嵌套

答案: 【

 

5、单选题:
以下正确的函数定义是(  )。
选项:
A:

double fun(int x,int y)

{ z=x+y; return z;}

B:double fun(int x, y)

{ int z; return z;}

C:fun(x,y)

{ int x,y;double z;

z=x+y; return z;}

D:double fun(int x,int y)

{ double z; return z;}

答案: 【

6、单选题:
以下关于函数的叙述中不正确的是(   )。
选项:
A:

C程序是函数的集合,包括标准库函数和用户自定义函数

B:

在C语言程序中,函数的调用可以嵌套

C:

在C语言程序中,函数的定义不能嵌套

D:

在C语言程序中,被调用的函数必须在main函数中定义

答案: 【

 

7、单选题:
在一个C程序中,(   )。
选项:
A:

main函数必须出现在所有函数之前

B:

main函数必须出现在所有函数之后

C:

main函数必须出现在固定位置

D:

main函数可以在任何地方出现

答案: 【

 

8、单选题:
若在C语言中未说明函数的类型,则系统默认该函数的数据类型是(   )。
选项:
A:int
B:long
C:float
D:double
答案: 【 】

9、单选题:
C程序中各函数之间可以通过多种方式传递数据,下列不能用于实现数据传递的方式是(  )。
选项:
A:

同名的局部变量

B:

参数的形实结合

C:

函数返回值

D:

全局变量

答案: 【

 

10、单选题:
定义一个void型函数意味着调用该函数时,函数(  )。
选项:
A:

返回一个不确定的值

B:

返回一个系统默认值

C:

通过return返回一个用户所希望的函数值

D:

没有返回值

答案: 【

 

第七章 单元测试

1、单选题:
若需要建立如图所示的存储结构,且已有说明double *p, x=0.2345; 则正确的赋值语句是(  )。
选项:
A:*p=x;
B:*p=&x;
C:p=x;
D:p=&x;
答案: 【】

2、单选题:
若有说明语句:int a, b, c, *d;c=100;d=&c;则能正确从键盘读入三个整数分别赋给变量a、b、c的语句是(  )。
选项:
A:scanf(“%d,%d,%d”, &a, &b, &d);
B:scanf(“%d,%d,%d”, a, b,*d);
C:scanf(“%d,%d,%d”, a, b, d);
D:scanf(“%d,%d,%d”, &a, &b, d);
答案: 【】

3、单选题:
下面代码          #include<stdio.h>   void main(){   int a = 511;  int *b;  b = &a;  printf(“%p”, b);      }的输出结果为:
选项:
A:

无确定值

B:

511

C:

a的地址

D:

512

答案: 【

 

4、单选题:
下面程序段的运行结果是(  )。 char *s=”abcde”;   s+=2;   printf(“%d”, *s);
选项:
A:

字符’c’

B:

字符’c’的地址

C:

无确定的输出结果

D:

cde

答案: 【

 

5、单选题:
下列程序的输出结果是(  )。#include “stdio.h”void main(){  int a[]={1,2,3,4,5,6,7,8,9,0}, *p;    p=a;    printf(“%d”, *p);}
选项:
A:1
B:

0

C:9
D:3
答案: 【】

6、单选题:
若有说明:int a=2, *p=&a, *q=p;,则以下非法的赋值语句是(  )。
选项:
A:*p=*q;
B:a=*q;
C:p=q;
D:q=a;
答案: 【】

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

地址

B:

一个标志

C:

D:

答案: 【

 

8、单选题:
若有语句int *p, a=10; p=&a; 下面均代表地址的一组选项是(    )。
选项:
A:a, p, *&a
B:&a, &*p, p
C:&*a, &a, *p
D:*&p, *p, &a
答案: 【】

9、单选题:
有如下语句:int m=6, n=9, *p, *q; p=&m; q=&n; 如图1所示,若要实现下图所示的存储结构,可选用的赋值语句是(    )。

选项:
A:p=*q;
B:*p=*q;
C: *p=q;
D:p=q;
答案: 【

10、单选题:
以下程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是(    )。    #include <stdio.h>    main()

{

int *p, *q, a, b;

p=&a;

printf(“input a:”);

scanf(“%d”, *p);

}
选项:
A:

*p表示的是指针变量p的值

B:

*p表示的是变量a的值,而不是变量a的地址

C:

*p只能用来说明p是一个指针变量

D:

*p表示的是指针变量p的地址

答案: 【

 

第八章 单元测试

1、单选题:
根据下面的定义,能输出Mary的语句是(   )。struct person  {    char name[9];   int age;  }; struct person class[5]={“John”,17,”Paul”,19,”Mary”,18,”Adam”,16};
选项:
A:printf(“%s”,class[3].name);
B:printf(“%s”,class[2].name);
C:printf(“%s”,class[1].name);
D:printf(“%s”,class[0].name);
答案: 【】

2、单选题:
定义以下结构体数组   struct c{ int x;int y;}s[2]={1,3,2,7};语句printf(“%d”,s[0].x*s[1].x)的输出结果为(   )
选项:
A:2

B:21
C:6
D:14
答案: 【

3、单选题:
下面程序的运行结果是(  )。struct  KeyWord {  char Key[20];  int ID; }kw[]={“void”,1,”char”,2,”int”,3,”float”,4,”double”,5}; main() {  printf(“%c,%d”,kw[3].Key[0], kw[3].ID); }
选项:
A:i,3
B:

n,3

C:

f,4

D:

l,4

答案: 【

 

4、单选题:
若有如下声明:union data { char *p;     int n; };以下初始化正确的是(  )。
选项:
A:union data a=”Mary”;
B:union data a=10;
C:union data a={“Mary”};
D:union data a={10};
答案: 【】

5、单选题:
以下对枚举类型名的定义中正确的是(  )
选项:
A:enum s{′a′, ′b′, ′c′}
B:enum s={a,b,c}
C:enum s={′a′, ′b′, ′c′}
D:enum s {a=9,b=2,c}
答案: 【】

6、单选题:
设有以下说明语句struct ex{     int x;   float y;   char z;}example;则下面的叙述中不正确的是(   )
选项:
A:struct是结构体类型的关键字
B:struct ex是结构体类型
C:x,y,z都是结构体成员名
D:example是结构体类型名
答案: 【

7、单选题:
已知字符0的ASCII码为十六进制的30,下面程序的输出是(   )。main(){ union { unsigned char c;unsigned int i[4];} z;z.i[0]=0x39;z.i[1]=0x36;printf(“%c”,z.c);}
选项:
A: 0
B: 6
C: 3
D: 9
答案: 【】

8、单选题:
有以下程序:#include<stdio.h>union  pw{  int i;   char  ch[2];  } a;main(){  a.ch[0]=13;   a.ch[1]=0;   printf(“%d”,a.i);  }程序的输出结果是(   )。(注意: ch[0]在低字节,ch[1]在高字节。)
选项:
A:14
B:13
C:208
D:209
答案: 【】

9、单选题:
枚举类型中的每个枚举常量的值都是一个( )。
选项:
A:逻辑值
B:字符
C:浮点数
D:整数
答案: 【】

10、单选题:
设有如下枚举类型定义    enum language {Basic=3,Assembly=6,Ada=100,COBOL,Fortran};枚举量Fortran的值为(   )。
选项:
A: 4
B: 102
C: 103
D: 7
答案: 【 】

第九章 单元测试

1、单选题:
程序流程图中带有箭头的线段表示的是(  )。
选项:
A:

数据流

B:

调用关系

C:

图元关系

D:

控制流

答案: 【

2、单选题:
以下叙述中正确的是(  )。
选项:
A:

算法必须要有输入和输出

B:

算法可以既没有输入又没有输出

C:

算法可以没有输入但必须要有输出

D:

算法可以没有输出但必须要有输入

答案: 【

 

3、单选题:
算法是指(  )。
选项:
A:

计算的方法

B:

运算的方法

C:

数字的加工步骤

D:

为解决一个问题而采取的方法和步骤

答案: 【

 

4、单选题:
以下不属于表示算法的方法是(  )。
选项:
A:

用计算机语言表示算法

B:

用A-S方法表示算法

C:

用伪代码表示算法

D:

用自然语言表示算法

答案: 【

 

5、单选题:
算法的特点不包括(  )。
选项:
A:

有效性

B:

确定性

C:

简易性

D:

有穷性

答案: 【

简易性

6、单选题:
描述或表示算法有多种方法,(     )不是常用的表示方法。
选项:
A:

自然语句

B:

效果图

C:

伪代码

D:

流程图或N-S图

答案: 【

 

7、单选题:
一个算法应该具有“确定性”等五个特性,下面对另外4个特性的描述中错误的是(    )。
选项:
A:

有穷性

B:有零个或多个输入
C:

可行性

D:

有零个或多个输出

答案: 【

 

8、单选题:
算法分析的目的是(  )。
选项:
A:

找出数据结构的合理性

B:

分析算法的易懂性和文档性

C:

研究算法中的输入和输出的关系

D:

分析算法的效率以求改进

答案: 【

 

9、单选题:
下面叙述正确的是(   )
选项:
A:

其余选项描述都不对

B:

算法的空间复杂度是指算法程序中指令(或语句)的条数

C:

算法的执行效率与数据的存储结构无关

D:

算法的有穷性是指算法必须能在执行有限个步骤之后终止

答案: 【

 

10、单选题:
求1至20之间所有偶数和的算法描述如下①将1赋值给变量i;②判断i是否能被2整除,若是,将该数累加到变量sum中;③将变量i加1,若i还小于或等于20,转②;④输出sum的值;⑤结束。该算法采用的描述方法属于(  )。
选项:
A:

流程图

B:

计算机语言

C:

自然语言

D:

伪代码

答案: 【

 

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

评论0

请先

站点公告

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

显示验证码

社交账号快速登录