C语言程序设计基础(公选校内课)-知到答案、智慧树答案

第一章 单元测试

1、问题:

下列对C语言特点的描述中,错误的是(    )。

选项:
A:C语言不是结构化程序设计语言
B:C语言编程简洁明了
C:C语言功能较强
D:C语言移植性好
答案: 【解锁后可见】

2、问题:下列关于C语言程序在结构上特点的描述中,错误的是(    )。

选项:
A:C语言程序是一个函数串
B:C语言程序可以由一个或多个文件组成
C:C语言程序的诸多函数中,只能有一个主函数
D:C语言程序被执行时,通常是从第1个函数开始
答案: 【解锁后可见】

3、问题:

在scanf()函数的格式说明符中,长整型数的输入格式说明符是(   )。
选项:
A:%d
B:%lf
C:%ld
D:%x
答案: 【解锁后可见】

4、问题:在printf()函数的格式说明符中,双精度浮点型数的输出格式说明符是(   )。
选项:
A:%ld
B:%lf
C:%c
D:%s
答案: 【解锁后可见】

5、问题:下列不是C语言特点的是?
选项:
A:C语言是一个有结构化程序设计、具有变量作用域(variable scope)以及递归功能的过程式语言。
B:语言传递参数均是以值传递(pass by value),另外也可以传递指针(a pointer passed by value)。
C:不同的变量类型可以用结构体(struct)组合在一起。
D:只有64个保留字(reserved keywords),使变量、函数命名有更多弹性。
答案: 【解锁后可见】

6、问题:

几乎没有不能用C语言实现的软件?
选项:
A:对
B:错
答案: 【解锁后可见】

7、问题:

C编译器主要有Clang、GCC、WIN-TC、SUBLIME、MSVC、Turbo C等?
选项:
A:对
B:错
答案: 【解锁后可见】

8、问题:

Dev C++是一个开源的编程软件吗?
选项:
A:对
B:错
答案: 【解锁后可见】

9、问题:

编程环境包括编辑程序(Edit)、编译(Compile)、调试(Debug)等过程对吗?
选项:
A:对
B:错
答案: 【解锁后可见】

10、问题:

任何程序都有主函数吗?
选项:
A:对
B:错
答案: 【解锁后可见】

第二章 单元测试

1、问题:

若i=3,j=i++;执行运算后i和j的值为?
选项:
A:i=4,j=3
B:i=3,j=4
C:i=3,j=3
D:i=4,j=4
答案: 【解锁后可见】

2、问题:

下列函数在屏幕上输出的结果是?

# include <stdio.h> 

int main(void )

 printf(“学号 姓名 班级\n”);

 return 0;

}

选项:
A:学号 姓名 班级
B:学号班级姓名
C:”学号 姓名 班级”
D:”学号 姓名 班级\n”
答案: 【解锁后可见】

3、问题:

下列函数在屏幕上输出的结果是?

# include <stdio.h> 

int main(void )

 printf(“****\n***\n**\n*\n”);

 return 0;

}

选项:
A:”****\n***\n**\n*\n”
B:****\n***\n**\n*\n
C:**** \*** ** *
D:****

***

**

*
答案: 【解锁后可见】

4、问题:

关于关系运算,下列说法正确的是?
选项:
A:关系表达式的值是一个逻辑值,即“真”或“假”。
B:关系表达式“a>b”的值为“真”,表达式的值为0。
C:>=和==的优先级相同。
D:关系运算符的优先级低于赋值运算符
答案: 【解锁后可见】

5、问题:

下列运算符,优先级最高的是?
选项:
A:||
B:

 &&
C: ! 
D:>
答案: 【解锁后可见】

6、问题:

关于if-else 语句,下列说法错误的是?
选项:
A:当if和else数目不同时,可以加花括号来确定配对关系。
B:if语句后面只能加逻辑表达式。
C:else总是与它上面的,最近的,同一复合语句中的,未配

对的if语句配对。
D:在if语句中可嵌套一个或多个if语句。
答案: 【解锁后可见】

7、问题:

关于scanf()函数,说法正确的是?
选项:
A:A. scanf()函数中的“格式控制”后面应当是变量名。
B:scanf()函数中“u”是用来输入无符号的十进制整数的格式字符。
C:scanf()函数中“d”是用来输入无符号的十进制整数的格式字符。
D:scanf()函数中“u”是用来输入有符号的十进制整数的格式字符。
答案: 【解锁后可见】

8、问题:

语句for(i=1;i<=100;i++) sum=sum+i; 的功能是?
选项:
A:1~100最大的数的值。
B:1~100以内所有整数的和
C:1~100以内所有奇数的和
D:1~100以内所有偶数的和
答案: 【解锁后可见】

9、问题:

关于函数,下列说法正确的是?
选项:
A:一个C程序只能由一个函数构成。
B:同一个函数可以被一个或多个函数调用任意多次。
C:函数可以嵌套定义
D:main函数和其他函数一样,可以互相调用。
答案: 【解锁后可见】

10、问题:

关于函数的类型,下列说法正确的是?
选项:
A:标准函数,即库函数。这是由用户自己定义的。
B:在调用无参函数时,主调函数向被调用函数传递数据。
C:用户可以自己定义函数。
D:在调用被调用函数时,主调函数不向被调用函数传递数据。
答案: 【解锁后可见】

第三章 单元测试

1、问题:

标准格式输入函数scanf()可以从键盘上接收不同数据类型的数据项。
选项:
A:对
B:错
答案: 【解锁后可见】

2、问题:

下列是输出显示字符’a’的八进制ASCII码的语句,正确的是(   )。

选项:
A:printf(“%c\n”, ‘a’);
B:printf(“%d\n”, ‘a’);
C:printf(“%s\n”, ‘a’);
D:printf(“%o\n”, ‘a’);
答案: 【解锁后可见】

3、问题:

C语言中合法的字符常量是    。

选项:
A: n
B:’\n’
C:110
D:”n”
答案: 【解锁后可见】

4、问题:

表达式1/5+3%4+4.5/5的值是    。
选项:
A:3.9
B:3.900000
C:

1.100000
D:1.85
答案: 【解锁后可见】

5、问题:

有以下程序:

main( )

{int  m;

m=10;

printf(“%d\n”,(–m*3/5)); 

}

程序运行后的输出结果是    。

选项:
A:6
B:5
C:4
D:7
答案: 【解锁后可见】

6、问题:

表达式(int)(1/3+.5*3+5%3) 的计算结果为    。

选项:
A:3
B:2
C:1
D:7
答案: 【解锁后可见】

7、问题:

下列不正确的转义字符是       。

选项:
A: \\
B:\’
C:074
D:\0 
答案: 【解锁后可见】

8、问题:

无符号基本整型的数据类型符为              ,双精度实型数据类型符为        ,字符型数据类型符为         。

选项:
A:unsigned int     double      char
B:double      char    unsigned int



C: char    unsigned int    double  
D: chara    unsignedint    double  
答案: 【解锁后可见】

9、问题:

printf(“%c,%d”,’a’, ‘a’);的输出结果是        。
选项:
A:a,97
B: a  97    
C:97,a
D:97  a 
答案: 【解锁后可见】

10、问题:

下列格式符中,哪一个可以用于以八进制形式输出整数       。
选项:
A:%d
B:%8d
C:%o
D:%ld
答案: 【解锁后可见】

第四章 单元测试

1、问题:

以下运算符中,优先级最高的运算符是(        ).

选项:
A:*=
B:>=
C:(类型)
D:+
答案: 【解锁后可见】

2、问题:

执行下列程序段后,m的值是(        ).

 int w=2,x=3,y=4,z=5,m;

  m=(w<x)?w:x;

  m=(m<y)?m:y;

  m=(m<z)?m:z;



选项:
A:4
B:3
C:5
D:2
答案: 【解锁后可见】

3、问题:

对下述程序,(        )是正确的判断.

        #include<stdio.h>

        void main()

        {int  x,y;

        scanf(“%d,%d”,&x,&y);

        if(x>y)

        x=y;y=x;

        else

        x++;y++;

        printf(“%d,%d”,x,y);}

选项:
A:语法错误,不能通过编译
B:输入数据3和4,则输入4和5
C:输入数据4和3,则输入3和4
D:输入数据4和3,则输出4和4
答案: 【解锁后可见】

4、问题:

两次运行下面的程序,如果从键盘上分别输入6和4,则输出结果是(        ).

        #include <stdio.h>

        void main( )

        {  int x; 

           scanf(” %d “, &x);

           if(x++>5) printf(” %d”,x);

           else         printf(” %d\n”, x–);  }

选项:
A:7和5
B:6和3
C:7和4
D:6和4
答案: 【解锁后可见】

5、问题:

执行下列语句后的输出为(        ).

 int j=-1;

 if(j<=1) 

     printf(“****\n”);

 else     

     printf(“%%%%\n”);

选项:
A:****
B:%%%%
C:%%%%c
D:有错,执行不正确
答案: 【解锁后可见】

6、问题:

为了避免在嵌套的条件语句if···else中产生二义性,C语言规定:else子句总是与(        )配对.

选项:
A:缩排位置相同的if
B:其之前最近的if
C:其之后最近的if
D:同一行上的if
答案: 【解锁后可见】

7、问题:

C语言的switch语句中case后(        ).

选项:
A:只能为常量
B:只能为常量或常量表达式
C:可为常量或表达式或有确定值的变量及表达式
D:可为任何量或表达式
答案: 【解锁后可见】

8、问题:

void main()

{

    int x=1,a=0,b=0;

    switch (x)

    { 

        case  0: b++;

        case  1: a++;

        case  2: a++;b++;

    }    printf(“a=%d,b=%d”,a,b);

}

该程序的输出结果是(        ).

选项:
A:2,1
B:1,1
C:1,0
D:2,2
答案: 【解锁后可见】

9、问题:

有以下程序

        main()

        {  int a =5,b =4,c= 3,d= 2;

        if (a> b> c)

              printf(” %d\n”,d);

             else if ((c-1> = d) = = 1)

                   printf(” %d\n”,d+ 1);

        else  

           printf(” %d\n”,d + 2);}

执行后输出结果是(        ).

选项:
A:2
B:3
C:4
D:编译时有错,无结果
答案: 【解锁后可见】

10、问题:

当a=1、b=2、c=5、d=5时,执行下面的程序后,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;

选项:
A:1
B:2
C:3
D:6
答案: 【解锁后可见】

第五章 单元测试

1、问题:

对于while(!E) s;,若要执行循环体语句s,则E的数值应为     。

选项:
A:E等于1
B:E不等于0
C:E不等于1
D:E等于0
答案: 【解锁后可见】

2、问题:

下面程序的功能是计算正整数2345的各位数字平方和,请选择填空。

#include <stdio.h>

main()

{

int n,sum=0;

n=2345;

do{

sum=sum+     ;

n=n/10;

}while(n);

printf(“sum=%d”,sum);

}
选项:
A:n%10
B:(n%10)*(n%10)
C:n/10
D:(n/10)*(n/10)
答案: 【解锁后可见】

3、问题:

对以下程序段,循环体执行的次数是     。

int k=0;

while(k=1)  k++;




选项:
A:有语法错误,不能执行
B:一次也不执行



C:执行一次
D:无数次
答案: 【解锁后可见】

4、问题:

下面程序段的执行结果是(    )。

a=1;b=2;c=2;

while(a<b<c ) {t=a;a=b;b=t;c–;}

printf(“%d,%d,%d”,a,b,c);
选项:
A:1,2,0
B:2,1,0
C:1,2,1
D:2,1,1
答案: 【解锁后可见】

5、问题:

下列叙述中正确的是(      )。

选项:
A:do-while语句构成的循环不能用其他语句构成的循环来代替
B:do-while语句构成的循环只能用break语句退出
C:用do-while语句构成的循环,在while后的表达式为非零时结束循环
D:用do-while语句构成的循环,在while后的表达式为零时结束循环
答案: 【解锁后可见】

6、问题:

执行int x=-1;do {x=x*x;} while(x==0);循环时,下列说法正确的是(      )。

选项:
A:循环体将执行一次
B:循环体将执行两次
C:循环体将执行无限次
D:系统将提示有语法错误
答案: 【解锁后可见】

7、问题:

以下程序段的输出结果是(    )。

int main()

{int num=0,s=0;

while(num<=2)

      { num++;

       s+=num;

      }

            printf(“%d\n”,s);

}

A)10    B)6                C)3     D)1

选项:
A:10
B:6  
C:3
D:1
答案: 【解锁后可见】

8、问题:

若S=0,执行循环语句“for(i=1;i<=10;i=i+3) s=s+i;”后,i的值为(    )。
选项:
A:12
B:10  
C:11
D:13
答案: 【解锁后可见】

9、问题:下面程序的循环次数是( )。
int k=0;
while(k<10)
{ if(k<1) continue;
if(k==5) break;
k++;
}
选项:
A:5
B:6
C:4
D:死循环,不能确定循环次数
答案: 【解锁后可见】

10、问题:

下面有关for循环的正确描述是    。

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

第六章 单元测试

1、问题:

以下正确的函数形式是     。

   

选项:
A: double fun(int x,int y)

{ z=x+y; return z; }
B:double fun(int x,y)

{ int z; return z; }
C:double fun(x,y)

{ int x,y; double z; z=x+y; return z; }
D:double fun(int x,int y)

{ double z; z=x+y; return z; }
答案: 【解锁后可见】

2、问题:

若调用一个函数,且此函数中没有return语句,则正确的说法是    。
选项:
A:该函数没有返回值
B:该函数返回若干个系统默认值
C:该函数能返回一个用户所希望的函数值
D:

该函数返回一个不确定的值
答案: 【解锁后可见】

3、问题:

以下正确的说法是   。
选项:
A:实参和与其对应的形参各占用独立的存储单元
B:实参和与其对应的形参共占用一个存储单元
C:只有当实参和与其对应的形参同名时才共占用存储单元
D:形参是虚拟的,不占用存储单元
答案: 【解锁后可见】

4、问题:

下面函数调用语句含有实参的个数为    。

func((exp1,exp2),(exp3,exp4,exp5));

选项:
A:1
B:2
C:4
D:5
答案: 【解锁后可见】

5、问题:

若使用一维数组名作函数实参,则以下正确的说法是    。
选项:
A:必须在主调函数中说明此数组的大小
B:实参数组类型与形参数组类型可以不匹配
C:在被调函数中,不需要考虑形参数组的大小
D:实参数组名与形参数组名必须一致
答案: 【解锁后可见】

6、问题:

凡是函数中未指定存储类型的局部变量,其隐含的存储类别为    。
选项:
A:自动(auto)
B:静态(static)
C:外部(extern)
D:寄存器(register)
答案: 【解锁后可见】

7、问题:

执行下列程序:

#define M(x,y)  (x*y)

i=3;

i=M(i,i+1)-8;

变量i的值应为    。

选项:
A:2
B:3
C:4
D:5
答案: 【解锁后可见】

8、问题:

执行下列程序,正确的输出是    。

int x=3,y=5;

void swap()

{  int a;

a=x;  x=y;  y=a;

}

int main()

{  int x=5,y=7;

swap();

printf(“%d,%d\n”,x,y);

  return 0;

}

选项:
A:3,5
B:5,3
C:5,7
D:7,5
答案: 【解锁后可见】

第七章 单元测试

1、问题:

下列数组定义语句中,正确的是(   )。

选项:
A:int a[][]={1,2,3,4,5,6};     
B:char a[2]「3]=’a’,’b’;
C:int a[][3]= {1,2,3,4,5,6};
D:static int a[][]={{1,2,3},{4,5,6}};
答案: 【解锁后可见】

2、问题:

设有下列数据定义语句,则数组元素x[i]的值是(   )。
int i= 3,x[4]={1,2,3};



选项:
A:0 
B:1
C:2
D:3
答案: 【解锁后可见】

3、问题:

运行下列程序的输出结果是(   )    

main()

{

int a[]={1,2,3,4,5},i;

for(i=1;i<5;i++)

  printf(“%d”,a[i]-a[i-1]);

}




选项:
A:11111  
B:1111   
C:111   
D:222
答案: 【解锁后可见】

4、问题:

若有说明:int a[][3]={1,2,3,4,5,6,7};则a数组第一维的大小是(        ).

选项:
A:2   
B:3
C:4
D:无确定值
答案: 【解锁后可见】

5、问题:

程序运行后的输出结果是(      )。  

#include <stdio.h>

#include <string.h>

main()

{

char a[10]=”abcd”;

    printf(“%d,%d\n”,strlen(a),sizeof(a));

}

 

选项:
A:7,4 
B:10,10
C:8,8   
D:4,10
答案: 【解锁后可见】

6、问题:

程序运行后的输出结果是(   )。

#include <stdio.h>

main()

{

int b[3][3]={0,1,2,0,1,2,0,1,2};

int i,j,t=1;

for(i=0;i<3;i++)

 for(j=i;j<=i;j++)

   t+=b[i][b[j][i]];

  printf(“%d\n”,t);

}

选项:
A:1
B:3
C:4
D:9
答案: 【解锁后可见】

7、问题:

下面是对s的初始化,其中不正确的是    。

选项:
A:char s[5]={“abc”};
B:char s[5]={‘a’,‘b’,‘c’};
C:char s[5]=“”;
D:char s[5]=“abcdef”;
答案: 【解锁后可见】

8、问题:

下面程序段的运行结果是    。

char c[5]={‘a’,‘b’,‘\0’,‘c’,‘\0’};

printf(“%s”,c);
选项:
A:‘a’‘b’
B:ab
C:cab 
D:ab c
答案: 【解锁后可见】

9、问题:

对两个数组a和b进行如下初始化

char a[]=“ABCDEF”;

char b[]={‘A’, ‘B’,‘C’,‘D’,‘E’,‘F’};

则以下叙述正确的是    。

选项:
A:a与b数组完全相同
B:a与b长度相同
C:a和b中都存放字符串
D:a数组比b数组长度长
答案: 【解锁后可见】

10、问题:

有两个字符数组a、b,则以下正确的输入格式是    。
选项:
A:gets(a,b);
B:scanf(“%s %s”,a,b);
C:scanf(“%s %s”,&a,&b);
D:gets(“a”),get(“b”);
答案: 【解锁后可见】

#版权声明# 本站所有资源来自网络收集和网友投稿,不代表大学题库立场。本站所提供资源均只能用于参考学习用,请勿直接商用。如若本站内容侵犯了您的合法权益,可联系我们进行删除处理。点我联系站长

(0)

相关推荐