智慧树知到答案程序设计基础(C语言)入门篇最新答案

内容查看
查看价格15

第一章 单元测试

1、单选题:
下列哪一个不是C语言的的主要特点(        )。
选项:
A:语言简洁、紧凑、方便、灵活
B:运算符丰富
C:能完成任何功能
D:数据类型丰富
答案: 【能完成任何功能】

2、单选题:

一个C语言程序总是从(       )函数开始。

选项:
A:scanf
B:printf
C:main

D:max
答案: 【main

3、单选题:
计算机高级语言程序的运行方法有编译执行和解释执行两种,下列叙述中正确的是(       )。
选项:
A:C语言程序既可以编译执行又可以解释执行
B:C语言程序仅可以编译执行
C:C语言程序仅可以解释执行
答案: 【C语言程序仅可以编译执行】

4、单选题:
下列叙述中正确的是(       )。
选项:
A:C语句必须在一行内写完
B:每个C语句必须以分号结束
C:C语言程序中每一行只能写一条语句
D:C语言程序的只有一个函数
答案: 【每个C语句必须以分号结束  】

5、判断题:
程序是一组计算机能识别和执行的指令集合。
选项:
A:对
B:错
答案: 【对】

6、判断题:
计算机语言是一种只有计算机才能识别的语言。
选项:
A:错
B:对
答案: 【错】

7、判断题:
一个C语言程序是由一个或多个函数组成的,其中必须包含一个函数,函数名是main。
选项:
A:错
B:对
答案: 【对】

8、单选题:
C语句是以()表示结束
选项:
A:回车
B:分号
C:句号
D:逗号
答案: 【分号】

9、判断题:
C语言区分大小写。

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

10、判断题:
C语言只有一个标准。
选项:
A:错
B:对
答案: 【对】

第二章 单元测试

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

选项:
A:可行性
B:多个输入
C:有穷性
D:确定性
答案: 【多个输入】

2、单选题:
算法的有穷性是指(       )。
选项:
A:算法的程序所处理的数据量是有限的
B:算法的程序运行时间是有限的
C:算法只能被有限的用户使用
D:算法包含的操作步骤是有限的
答案: 【算法包含的操作步骤是有限的】

3、单选题:
在计算机中,算法是指(       )。
选项:
A:加工方法
B:查询方法
C:解答方案的准确而完整的描述
D:排序方法

答案: 【解答方案的准确而完整的描述】

4、判断题:
算法的特点包括穷性、确定性、可行性、有一个或多个输入和有一个或多个输出。
选项:
A:对
B:错
答案: 【错】

5、判断题:
在程序设计中,符合结构化原则的三种基本控制结构是顺序结构、选择结构、循环结构。
选项:
A:错
B:对
答案: 【对】

6、判断题:
传统的流程图只有一个入口,多个出口。
选项:
A:对
B:错
答案: 【错】

7、判断题:
所谓算法的有穷性是指算法要在合理有限的时间内结束。

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

8、判断题:
算法是程序的具体实现。
选项:
A:错
B:对
答案: 【错】

9、判断题:
算法分为数值算法和非数值算法两大类。
选项:
A:错
B:对
答案: 【对】

10、判断题:
算法是为解决一个问题而采取的方法和步骤,是程序的灵魂。
选项:
A:对
B:错
答案: 【对】

 

第三章 单元测试

1、判断题:
表达式25/3%3的值为2.
选项:
A:对
B:错
答案:

2、判断题:
若有定义:int y=2; 则计算表达式y+=y后的y值是2()
选项:
A:对
B:错
答案:

3、单选题:
下列不正确的叙述是(       )。
选项:
A:在C语言程序中,进行赋值运算时,先将右侧表达式的值转化左侧变量的类型再赋给变量。
B:若a和b类型相同,在计算了赋值表达式a=b后b中的值将复制到a中,而b中的值不变。
C:在C语言程序中,%运算符的优先级高于/ 运算符。
D:在C语言程序中,SUM和sum是两个不同的变量。
答案:

4、单选题:
在C语言中,要求运算对象必须是整型的运算符是(       )。
选项:
A:-

B:%

C:/
D:*

答案:

5、单选题:
下列选项中正确的定义语句是(       )。
选项:
A:double a=7,b=7;
B:double a ; b;
C:double , a , b;
D:double a=b=7;
答案:

6、单选题:
输入一个3位正整数n,分别输出n的个位a、十位b、百位c。下面程序的语句填空应为:()#include <stdio.h>int main( ){   int n,a,b,c;scanf(“%d”,&n);a=____;;b=n/10%10;c=n/100;printf(“a=%d  b=%d  c=%d”,a,b,c);   return 0;}

选项:
A:n%10
B:b/10

C:n/10

D:a%10

答案:

7、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int main(){int a=1,b=0;   printf(“%d,”,b=a+b);printf(“%dn”,a=2*b);return 0;}

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

8、判断题:
数据在计算机中是以二进制的形式存储的。()
选项:
A:对
B:错
答案:

9、判断题:
变量定义后,如果没有赋值,那变量多表示的存储单元是空的。
选项:
A:错
B:对
答案:

10、判断题:
定义符号常量的名字用命令#define。
选项:
A:对
B:错
答案:

第四章 单元测试

1、单选题:
有下列程序,已知字母A的ASCII码为65,程序运行后的输出结果是(       )。#include <stdio.h>int main(){char c1,c2;c1=’A’+’8’-’4’;c2=’A’+’8’-’5’;printf(“%c,%dn”,c1,c2);return 0;}

选项:
A:E,68
B:D,69
C:E,D
D:输出无定值
答案:

2、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int  main(){  int a=14,b=12;a=a+b;b=a-b;a=a-b;printf(“a=%d,b=%d”,a,b);   return 0;}

选项:
A:a=26,b=26
B:a=12,b=14
C:a=14,b=12
D:a=14,b=14
答案:

3、单选题:
若变量已正确定义为int型,要给a、b、c输入数据,正确的输入语句是(       )。
选项:
A:scanf(“%D%D%D”,&a,&b,&c);
B:scanf(“%d%d%d”,&a,&b,&c);
C:read(a,b,c)
D:scanf(“%d%d%d”,a,b,c);
答案:

4、判断题:
编写程序,输入3个整数a、b、c,输出时:a的值是b,b的值是c,c的值是a。下面程序可以正确实现题目要求:#include <stdio.h>int main(){int a,b,c,tscanf(“%d%d%d”,&a,&b,&c);t=a;a=b;b=c;c=t;      // 顺序交换a、b、c   printf(“a=%d,b=%d,c=%d”,a,b,c);   return 0;}

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

5、判断题:
已知银行一年定期存款利率r是2.25%,若存款本金是c元,编程计算一年期满是本金之和d(保留两位小数)。下面程序可以正确实现题目要求:#include <stdio.h>int main( ){   double  r=0.0255,c,d;scanf(“%f”,&c);d=c+c*r;printf(“x=%.2lf”,d);   return 0;}

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

6、判断题:
用getchar()从键盘上输入一个字符,用putchar()打印出来!参考程序1与参考程序2都可以实现题目要求。#include <stdio.h>int main(){  char a;  a=getchar();  putchar(a);return 0;} 参考程序2:#include <stdio.h>int main(){  char ch;scanf(“%c”,&ch);printf(“%cn”,ch); return 0;}

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

7、单选题:
下列程序运行结果为:#include<stdio.h>int  main(){  char a,b,c;  a = ‘r’; b = ‘e’;c = ‘d’;  putchar(a);putchar(b);putchar(c);putchar(‘n’);   return 0;

选项:
A:redn
B:‘r’’e’’d’
C:red
D:‘r’’e’’d’’n’
答案:

8、单选题:
如果要求按照12:31:12格式输入数据,那么下面哪个输入语句是正确的:()
选项:
A:scanf(“%d,%d,%d”, &num1, &num2,&num3);
B:scanf(“%d%d%d”, &num1, &num2,&num3);
C:scanf(“%d:%d:%d”, &num1, &num2,&num3);
答案:

9、判断题:
在格式化输入scanf函数中,如何%后面跟有*,表示抑制符,输入的数据不会赋值给相应的变量。()
选项:
A:对
B:错
答案:

10、判断题:
putchar()函数属于无参函数。()
选项:
A:对
B:错
答案:

第五章 单元测试

1、判断题:
在C语言中,逻辑运算符“&&”比“||”的优先级高(       )。

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

2、判断题:
将数学式:a=b或a<c ,写为C语言的表达式为a=b||a<c(       )。

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

3、单选题:
已知字母’A’的ASCll码值为 65,若变量c为char 型,下列不能正确判断出c为大写字母的表达式是(       )。
选项:
A:c>=’A’&& c<=’Z’
B:(c>=65)&&(c<=91)
C:(c+32)>=’a’&&(c+32)<=’z’
D:!(c>=’A’||c<=’Z’)
答案:

4、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int main(){int x=1,y=0;   if (!x) y++;  else if (x==0)           if (x) y+=2;           else y+=3;  printf(“%d”,y);  return 0;}

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

5、单选题:
有下列程序,程序运行后的输出结果是(       )。int a=3,b;if (a>0) b=1;else b=-1;b++;printf(“%d”,b);

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

6、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int main(){int x=0,y=2, z=3;switch(x){         case 0: switch(y==2)               {              case 1: printf(“*”); break;              case 2: printf(“%”); break;                        }         case 1: switch(z)              {                case 1: printf(“$”);                 case 2: printf(“*”); break;                 default: printf(“#”);               }}}

选项:
A:*%
B:*$

C:*#

D:**

答案:

7、判断题:
C语言中条件表达式结果为0表示假,为1表示真。
选项:
A:对
B:错
答案:

8、判断题:
除了最后一个分支,switch语句要求每一个分支后加上一个break语句。
选项:
A:错
B:对
答案:

9、判断题:
C可保证复杂的逻辑表达式是从左至右计算的。
选项:
A:对
B:错
答案:

10、单选题:
有下列程序,程序运行后的输出结果是(       )。int  a=3,b=5,c=7;   if (a>b) a=b; c=a;    if (c!=a) c=b;   printf(“%d,%d,%dn”,a,b,c);

选项:
A:程序段有语法错
B:3,5,5
C:3,5,7
D:3,5,3

答案:

第六章 单元测试

1、判断题:
有下列程序段,程序段运行后的输出结果##2##3##4##5(    )。int k;for (k=2;k<6;k++,k++)printf(“##%d”,k);

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

2、判断题:
在循环结构中break是终止循环,跳出循环体。
选项:
A:错
B:对
答案:

3、单选题:
以下不构成无限循环的语句组是(       )。
选项:
A:int n=10;

while (n);

n–;

B:int n=0,i;

for (n=0,i=1;  ;i++)

n+=i;

C:int n=0

do

{++n;}

while (n<=0);

D:int n=0;

while (1)

n++;

答案:

4、单选题:
在C语言中有关for循环,下列正确的说法是(       )。

选项:
A:for循环的循环体语句中,可以包含多条语句,但必须用花括号写成复合语句。
B:for循环是先执行循环体语句,后判断表达式。
C:在 for循环中,不能用break跳出循环体。
D:for循环只能用于循环次数已经确定的情况。
答案:

5、单选题:
有下列程序,程序运行后的输出结果是(       )。#include  <stdio.h> int main() { int  i,sum;    for (i=1;i<6;i++) sum+=sum;   printf(“%d”,sum);    return 0;}

选项:
A:不确定
B:0
C:14
D:15
答案:

6、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int main( ){int i,j,a=0;for (i=0;i<2;i++){for (j=0;j<4;j++){    if (j%2) break;a++;}a++;}printf(“%d”,a);return 0;}

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

7、判断题:
while与do-while在任何时候都可以互换。
选项:
A:错
B:对
答案:

8、判断题:
下面程序可以正确求出1+2+3+。。。+n的和。()#include <stdio.h>int main( ){         int i = 1,sum = 0,n;scanf(“%d”,&n);while (i <= n)  sum = sum + i;  ++i;                printf(“sum=%d”,sum);return 0;  }

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

9、单选题:
以下程序中的变量已正确定义,程序段的输出结果是(       )。for(i=0;i<4;i++,i++)for(k=1;k<3;k++); printf(“*”);

选项:
A:**
B:*
C:********
D:****
答案:

10、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int main(){int i,j;    for (i=3;i>=1;i–)         {  for (j=1;j<=2;j++)       printf(” %d”,i+j);             printf(“n”);          }      return 0;}

选项:
A:4 3 2

5 4 3

B:2 3

3 4

4 5

C:2 3 4

3 4 5

D:4 5

3 4

2 3

答案:

第七章 单元测试

1、判断题:
在C语言中,数组元素的最小下标是1 。
选项:
A:对
B:错
答案:

2、判断题:
在C语言中,数组名代表首地址。
选项:
A:对
B:错
答案:

3、判断题:
在C语言中,数组一般针对批量数据的处理,这些数据必须具有相同的类型()。
选项:
A:错
B:对
答案:

4、判断题:
假设有一定义语句int a[][3]={1,2,3,4,5,6};那么数组的行数是不确定的。
选项:
A:对
B:错
答案:

5、判断题:
有下列程序,程序运行后的输出结果是0(       )。   #include <stdio.h>        int main( ){ int a[5]={1,2,3}; printf(“%dn”,a[3]);   return 0;}

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

6、单选题:
若有说明:int a[10]; 则对a 数组元素的正确引用是(       )。

选项:
A:a[10]

B:a[10-10]
C:a[3.5]
D:a(5)
答案:

7、单选题:
有下列程序段,运行后的输出结果是(       )。    int i;int x[3][3]={1,2,3,4,5,6,7,8,9};for (i=0;i<3;i++)printf(“%d “,x[i][2-i]);

选项:
A:1  5  9
B:3  5  7

C:1  4  7

D:3  6  9

答案:

8、单选题:
有下列程序,运行后的输出结果是(       )。#include  <stdio.h>int 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]);   return 0;}

选项:
A:5430

B:1470
C:输出值
D:0650
答案:

9、单选题:
有下列程序,运行后的输出结果是(       )。#include  <stdio.h> int main()  { int  s[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;     for (i=0;i<12;i++)  c[s[i]]++;     for (i=1;i<5;i++) printf(”  %d”,c[i]);     printf(” n”);    return 0; }

选项:
A:1 2 3 4
B:1 1 2 3

C:2 3 4 4
D:4 3 3 2

答案:

10、单选题:
若有定义:int b[3][4]={0};则下述正确的是(       )。
选项:
A:不正确的定义
B:b[0][0]的值是0,其他元素值未知
C:数组b中各元素均为0
D:没有元素能得初值0
答案:

第八章 单元测试

1、判断题:

有如下函数调用语句:

fun(r1,r2+r3,(r4,r5));

该函数调用语句中,含有的实参个数是3个。

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

2、判断题:
函数可以嵌套定义,但不能嵌套调用。
选项:
A:对
B:错
答案:

3、判断题:
mian函数可以自己调用自己。
选项:
A:错
B:对
答案:

4、单选题:
以下正确的函数定义是(       )。
选项:
A:double fun(int x,int y)

{ double z;z=x+y;return z; }

B:double fun(int x,int y)

{ z=x+y; return z; }

C:fun(int x,y)

{ int z; return int z; }

D:fun(x,y)

{int x,y;  z=x+y; retun z;}

答案:

5、单选题:
在C语言函数中,下面说法正确的是(       )。
选项:
A:一个return语句可以返回多个值。
B:一个函数中可以有多个return语句,但是最多执行其中一个return语句。
C:一个函数中可以有多个return语句,可能多个return语句全部执行
D:一个函数中只能有一个return语句。
答案:

6、单选题:
在C语言函数中,以下说法正确的是(       )。
选项:
A:如果形参与实参的类型不一致以实参类型为准
B:定义函数时,形参的类型说明可以放在函数体内。
C:如果函数值的类型与return返回值类型不一致,以函数值类型为准
D:return后边的值不能为表达式
答案:

7、单选题:
在C语言程序中,以下正确的描述是(       )。
选项:
A:函数的定义和调用均可以嵌套
B:函数的定义可以嵌套,但函数的调用不可以嵌套
C:函数的定义和函数的调用均不可以嵌套
D:函数的定义不可嵌套,但函数的调用可以嵌套
答案:

8、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int f(int a){int b=0,c=3;       b++;c++;       return(a+b+c);}int main( ){int a=2,i;       for (i=0;i<3;i++)printf(“%4d”,f(a));          return 0;}

选项:
A:7 8 9

B:7 9 11

C:7 7 7
D:7 10 13

答案:

9、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int func(int a,int b);int main(){   int k=4,m=1,p;   p=func(k,m);   printf(“%d “,p);   p=func(k,m);   printf(“%dn”,p);   return 0;}int func(int a,int b){    int m=0,i=2;    i+=m+1;    m=i+a+b;return(m);

}

{

int m=0,i=2;

i+=m+1;

m=i+a+b;

return(m);

}

选项:
A:8 20
B:8 16
C:8  8

D:8 17
答案:

10、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>int fun (int x,int y);int main(){int a=4,b=5,c=6;     printf(“%dn”,fun(2*a,fun(b,c)));return 0; }int fun (int x,int y){if  (x!=y) return ((x+y)/2);     else return (x);}

选项:
A:3

B:6
C:12
D:8
答案:

第九章 单元测试

1、判断题:

若有下列语句:

int a[4]={1,2,3,4},*p;

p=&a[2];

则*p的值是3

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

2、判断题:
int *p;此时*是一个运算符号,表示间接访问p所指向的变量。
选项:
A:错
B:对
答案:

3、判断题:
有下列程序段,程序段运行后的输出结果是10(       )。    int *p,n;       n=10; p=&n; n=*p+10;       printf(“%dn”, *p);

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

4、单选题:
若有说明:int a=2,*p=&a,*q=p;,则以下非法的赋值语句是(       )。

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

5、单选题:
变量的指针是指该变量的(       )。
选项:
A:首地址
B:别名
C:名
D:值
答案:

6、单选题:
若已定义int a=5; 下列对(1)、(2)两个语句的正确解释是(       )(1) int *p=&a;                  (2) *p=a;
选项:
A:语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给p指的空间。
B:语句(1)是对p进行说明的同时进行初始化,使p指向a;语句(2)是将a的值赋给指针变量p。
C:语句(1)和语句(2)语句都是把变量a的地址值赋给指针变量p。
D:语句(1)和语句(2)中的*p含义相同,都表示给指针变量p赋值。
答案:

7、单选题:
下列程序中,主函数调用findmax函数返回数组中的最大值。在下划线处应填入的是(       )。#include <stdio.h>findmax( int *a, int n){   int *p, *s;  for (p=a, s=a; p-a<n; p++)       if(__________) s=p;  return (*s);}int main(){    int x[5]={12,21,13,6,18};    printf(“%dn”, findmax(x,5));    return 0;}

选项:
A:a[p]>a[s]
B:*p>*s
C:p-a>p-s
D:p>s
答案:

8、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>void fun( int *x,int *y);int main(){    int x=1,y=2;    fun(&y,&x);    printf(“%d  %d”,x,y);    return 0;}void fun( int *x,int *y){     printf(“%d%d”,*x,*y);    *x=3;*y=4;}

选项:
A:211  2

B:121  2

C:214  3
D:123  4

答案:

9、单选题:
有下列程序段,程序段运行后的输出结果是(       )。int t[]={0,1,2,3,4,5,6,7,8,9}, *p; p=t; printf(“%dn”, *p+9);

选项:
A:10
B:1
C:9
D:0
答案:

10、判断题:
若有下列语句:int a[4]={1,2,3,4},*p;p=a;则*p的值是3。

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

第十章 单元测试

1、单选题:
若给出下列定义:    char x[]=”abcdefg”;char y[]={‘a’,’b’,’c’,’d’,’e’,’f’,’g’};  则正确的叙述为(       )。

选项:
A:数组x的长度小于数组y的长度
B:数组x的长度大于数组y 的长度
C:数组x和数组y的长度相同
D:数组y的定义是错的
答案:

2、单选题:
有下列程序,程序运行后的输出结果是(       )。#include  <stdio.h>int main(){    char  ch[7]={ “65ab21”};    int  i,s=0;    for (i=0;ch[i]>= ‘0’&&ch[i]<=’9′;i+=2)    s=10*s+ch[i]- ‘0’;    printf(“%dn”,s);    return 0;}

选项:
A:62

B:6

C:12ba56

D:6521
答案:

3、单选题:
设有如下的程序段:char s[]=”girl”, *t; t=s;则下列叙述正确的是(       )。

选项:
A:s数组长度和t长度相等
B:数组s中的内容和指针变量t中的内容相等
C:t指向s数组首元素
D:*t与 &s[0]相等
答案:

4、单选题:
有下列程序段,程序段运行后的输出结果是(       )。char b1[8]=”abcdefg”, b2[8], *pb=b1+3;        while( –pb>=b1) strcpy(b2, pb);printf(“%d”, strlen(b2));

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

5、单选题:
有下列程序,程序运行后的输出结果是(       )。#include <stdio.h>char cchar(char ch){         if (ch>=’A’ && ch<‘Z’)  ch=ch-‘A’+’a’;    return  ch;}int main(){char s[]=”ABC+abc=defDEF”, *p=s;while (*p){ *p=cchar(*p);   p++; }puts(s);   return 0;}

选项:
A:abcaABCDEFdef
B:abc+ABC=DEFdef
C:abc+abc=defdef
D:abcabcdefdef
答案:

6、判断题:
从存储机制上看,字符串是以”为结束标志的字符串数组。()
选项:
A:对
B:错
答案:

7、判断题:
语句printf(“This is a string!”)会把双引号输出。
选项:
A:错
B:对
答案:

8、判断题:
下面程序的运行结果是:We,s()。#include <stdio.h>int main(){          printf (“%s, %c n”,  “We”, *”students”);    return 0;}

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

9、判断题:
下面程序段是正确的。()char  str[20];    str=“I love China!”

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

10、判断题:
可以用函数strcat将两个字符串连接,也可以用+将两个字符串连接。
选项:
A:错
B:对
答案:

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

评论0

请先

站点公告

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

显示验证码

社交账号快速登录