2022知到答案 C语言程序设计-案例驱动 轻松掌握 最新智慧树满分章节测试答案

微信小程序

第一章 单元测试

1、单选题:
C 语言中规定:在一个源程序中main 函数的位置( )。
选项:
A:必须在最开始
B:可以任意
C:必须在最后
D:必须在系统调用的库函数的后面
答案: 【可以任意】

2、单选题:
一个C 语言程序是由( )。
选项:
A:若干过程组成
B:一个主程序和若干个子程序组成
C:若干子程序组成
D:函数组成
答案: 【函数组成】

3、判断题:
C++、Java 以及C#都源自于C语言。( )
选项:
A:对
B:错
答案: 【对】

4、多选题:
计算机内部运算不使用的数是( )。
选项:
A:八进制数
B:十六进制数
C:二进制数
D:十进制数
答案: 【八进制数;
十六进制数;
十进制数】

5、多选题:
不能将高级语言编写的源程序转换为目标程序的是( )。
选项:
A:编译程序
B:WORD 字处理程序
C:链接程序
D:网络程序
答案: 【WORD 字处理程序;
链接程序;
网络程序】

第二章 单元测试

1、单选题:
PC机中,’n’在内存占用的字节数是( )
选项:
A:1
B:4
C:2
D:3
答案: 【1】

2、单选题:
在以下一组运算符中,优先级最低的运算符是( )
选项:
A:+
B:=
C:!=
D:*
答案: 【=】

3、单选题:
设ch是 char型变量,其值为 ‘A’,则表达式 ch=(ch>=’A’&& ch<=‘z’)? (ch+32) : ch 的值是( )
选项:
A:A
B:a
C:z
D:Z
答案: 【a】

4、单选题:
要为字符型变量a赋初值,下列语句中哪一个是正确的( )。
选项:
A:char a=”3″
B:char a=’3’
C:char a=%
D:char a=*
答案: 【char a=’3’】

5、多选题:
以下用户标识符中,不合法的是( )
选项:
A:nit
B:123
C:a+b
D:int
答案: 【123;
a+b ;
int】

第三章 单元测试

1、单选题:
下列语句中符合C语言语法的赋值语句是( )。
选项:
A:a=7+b, b++, a+7;
B:a=7+b, c=a+7;
C:a=7+b++=a+7;
D:a=7+b+c=a+7;
答案: 【】

2、单选题:
以下程序输出结果是 main(){ int m=5;if(m++>5)printf(“%dn”,m);else printf(“%dn”,m–); } ( )
选项:
A:5
B:7
C:4
D:6
答案: 【】

3、单选题:
若要求在if后一对圆括号中表示a不等于0的关系,则能正确表示这一关系的表达式为( )。
选项:
A:a=0
B:a<>0
C:a
D:!a
答案: 【】

4、单选题:
如果c为字符型变量,判断c是否为空格不能使用(假设已知空格ASCII码为32)( )。
选项:
A:if(c==32)
B:if(c==’ ‘)
C:if(c==’40’)
D:if(c==’32’)
答案: 【】

5、单选题:
下列叙述中正确的是( )。
选项:
A:break语句必须与switch语句中的case配对使用
B:在switch语句中必须使用default
C:break语句只能用于switch语句
D:在switch语句中,不-定使用break语句
答案: 【】

6、单选题:
表达式:10!=9的值是( )。
选项:
A:非零值
B:1
C:0
D:true
答案: 【】

7、单选题:
能正确表示逻辑关系:“a≥10或a≤0”的C语言表达式是( )。
选项:
A:a>=10‖a<=0
B:a>=10 or a<=0
C:a>=10 &&a<=0
D:a>=0|a<=10
答案: 【】

8、单选题:
有以下程序main(){ int a,b,c=246;a=c/100%9;b=(-1)&&(-1);printf(“%d,%dn”,a,b);}输出结果是( )。
选项:
A:2,-1
B:4,3
C:2,1
D:3,2
答案: 【

9、单选题:
若变量c为char类型,能正确判断出c为小写字母的表达式是( )。
选项:
A:’a’<=c<= ‘z’
B:(‘a’<=c)and (‘z’>=c)
C:(c>= ‘a’)&&(c<= ‘z’)
D:(c>= ‘a’)||(c<= ‘z’)
答案: 【

10、单选题:
下面程序的输出是 main(){ int a=-1,b=4,k;k=(a++<=0)&&(!(b–<=0));printf(“%d %d %d%n”,k,a,b);} ( )
选项:
A:0 1 2
B:1 0 3
C:0 0 3
D:1 1 2
答案: 【】

第四章 单元测试

1、单选题:
若i为整型变量,则以下循环执行次数是 for(i=2; 2==0; ) printf ( ” %d”, i– ); ( )
选项:
A:无限次
B:2次
C:1 次
D:0次
答案: 【

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

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

4、单选题:
语句while (!e);中的条件!e等价于( )。
选项:
A:~c
B:e!=0
C:e==0
D:e!=1
答案: 【

5、单选题:
t为int类型,进入下面的循环之前,t的值为0 while( t=l ) { ……} 则以下叙述中正确的是 ( )
选项:
A:其他说法都不对
B:循环控制表达式的值为1
C:循环控制表达式不合法
D:循环控制表达式的值为0
答案: 【

6、单选题:
有以下程序main( ){ int i,s=0;for(i=1;i<10;i+=2) s+=i+1;printf(“%dn”,s);}程序执行后的输出结果是 ( )。
选项:
A:自然数1~10的累加和
B:自然数1~9的累加和
C:自然数1~10中的偶数之和
D:自然数1~9中的奇数之和
答案: 【

7、单选题:
以下程序段的输出结果是int x=3; do { printf(“%3d”,x-=2);} while(!(- -x)); ( )
选项:
A:1 -2
B:死循环
C:1
D:30
答案: 【

8、单选题:
以下程序中,while循环的循环次数是main(){ int i=0;while(i<10){ if(i<1) continue;if(i==5) break;i++;}……} ( )
选项:
A:10
B:死循环,不能确定次数
C:6
D:1
答案: 【】

9、单选题:
有以下程序main() { int a=1,b; for(b=1;b<=10;b++) { if(a>=8)break; if(a%2==1){a+=5;continue;} a-=3; } printf(“%dn”,b); }程序运行后的输出结果是( )。
选项:
A:3
B:5
C:4
D:6
答案: 【】

10、单选题:
有以下程序main(){ int i;for(i=0;i<3;i++)switch(i){ case 1: printf(“%d”,i);case 2: printf(“%d”,i);default: printf(“%d”,i);}}执行后输出结果是( )。
选项:
A:011122
B:120
C:012020
D:012
答案: 【

第五章 单元测试

1、单选题:
以下定义语句中,错误的是( )。
选项:
A:char s[10]={“test”};
B:int n=5, a[n];
C:int a[]={1,2};
D:char a[]={“test”};
答案: 【

2、单选题:
以下对一维数组a进行正确初始化的是( )。
选项:
A:int a[10]={10*2};
B:int a[10]=(0,0,0,0,0);
C:int a[]={0};
D:int a[10]={ };
答案: 【】

3、单选题:
以下对二维数组a进行正确初始化的是( )。
选项:
A:int a[][3]={1,2,3,4,5,6};
B:int a[2][]={{1,2},{3,4}};
C:int a[2][]={1,2,3,4,5,6};
D:int a[2][3]={{1,2},{3,4},{5,6}};
答案: 【

4、单选题:
在定义inta[5][4];之后,对a的引用正确的是( )。
选项:
A:a[2][4]
B:a[5][0]
C:a[4][3]
D:a[1,3]
答案: 【

5、单选题:
以下给字符数组str定义和赋值正确的是( )。
选项:
A:char str[10]={“abcdefghijkl”};
B:char str[10]; strcpy(str, “abcdefghijkl”);
C:char str[10]; str={“China!”};
D:char str[ ]={“China!”};
答案: 【

6、判断题:
执行语句:int a[][3]={1,2,3,4,5,6};后,a[1][0]的值是4。( )
选项:
A:错
B:对
答案: 【】

7、判断题:
当接受用户输入的含有空格的字符串时,应使用getchar( )。( )
选项:
A:对
B:错
答案: 【】

8、判断题:
定义:char array[]=”China”;则数组array所占的存储空间是5个字节。( )
选项:
A:错
B:对
答案: 【】

9、判断题:
定义:char array[10]=”China”;则数组array所占的存储空间是10个字节。( )
选项:
A:错
B:对
答案: 【】

10、判断题:
执行语句:int a[5][6];后,数组a中的第7个元素是a[1][0]。( )
选项:
A:错
B:对
答案: 【】

第六章 单元测试

1、单选题:
#include <stdio.h>int f(int x);main(){int n=1, m;m=f(f(f(n))); printf(“%dn”, m);}int f(int x){return x*2; }程序运行后的输出结果是( )。
选项:
A:2
B:4
C:1
D:8
答案: 【】

2、单选题:
#include <stdio.h> int fun(int x, int y){if(x! =y) return ((x+ y)/2); else return (x); :}main( ){inta=4, b=5, c=6;printf(“%dn”, fun(2*a,fun(b,c)));}程序运行后的输出结果是( )。
选项:
A:6
B:8
C:12
D:3
答案: 【】

3、单选题:
#include <stdio.h>int f(int x, int у){return((y- x)*x);} main(){ inta=3, b=4,c=5,d; d=f(f(a, b), f(a, c));printf(“%dn”, d);}程序运行后的输出结果是( )。
选项:
A:8
B:7
C:9
D:10
答案: 【】

4、单选题:
#include <stdio.h> int fun( int a, int b){return a+b; }main(){int x=6,y=7,z=8,r; r= fun( fun(x,y), z–); printf(” %dn” , r );}程序运行后的输出结果是( ).
选项:
A:21
B:15
C:20
D:31
答案: 【

5、单选题:
以下叙述中正确的是( )
选项:
A:在C语言的函数内部,可以定义局部嵌套函数。
B:用户自己定义的函数只能调用库函数。
C:不同函数的形式参数不能使用相同名称的标识符 。
D:实用的C语言源程序总是由一个或多个函数组成 。
答案: 【

6、单选题:
以下叙述中正确的是( )
选项:
A:所有函数均不能接受函数名作为实参传入
B:函数体中的语句不能出现对自己的调用。
C:如果函数带有参数,就不能调用自己
D:函数名代表该函数的入口地址。
答案:

7、单选题:
以下叙述中正确的是( )
选项:
A:在函数体中只能出现一次return语句。
B:函数调用时,不必区分函数名称的大小写
C:调用函数时,函数名必须与被调用的函数名完全一致 。
D:函数名允许用数字开头。
答案: 【

8、单选题:
设有某函数的说明为: int* func(int a[10], int n);则下列叙述中,正确的是( )
选项:
A:说明中的a[10]写成a或*a效果完全一样。
B:形参a对应的实参只能是数组名。
C:只有指向10个整数内存单元的指针,才能作为实参传给a。
D:func的函数体中不能对a进行移动指针(如a++)的操作。
答案: 【】

9、单选题:
以下关于C语言函数参数传递方式的叙述正确的是( )
选项:
A:数据可以在实参和形参之间双向传递。
B:数据只能从形参单向传递给实参。
C:数据只能从实参单向传递给形参
D:C语言的函数参数既可以从实参单向传递给形参,也可以在实参和形参之间双向传递,可视情况选择使用。
答案: 【

第七章 单元测试

1、单选题:
有以下定义char a[10],*b=a; 不能给数组a输入字符串的语句是( )。
选项:
A:gets(b);
B:gets(a[0])
C:gets(a)
D:gets(&a[0]);
答案: 【

2、单选题:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=&a[3], b; b=p[5]; 则b中的值是( )。
选项:
A:6
B:9
C:8
D:5
答案: 【】

3、单选题:
void main() { int *p,*q,a,b; p=&a; printf(“input a:”); scanf(“%d”,*p); ……} 以上程序中调用scanf函数给变量a输入数值的方法是错误的,其错误原因是( )。
选项:
A:*p只能用来说明p是一个指针变量
B:*p表示的是指针变量p的值
C:*p表示的是变量a的值,而不是变量a的地址
D:*p表示的是指针变量p的地址
答案:

4、单选题:
以下程序段中,不能正确赋字符串(编译时系统会提示错误)的是( )。
选项:
A:char s[10];strcpy(s,”abcdefg”);
B:char s[10];s=”abcdefg”;
C:char s[10]=”abcdefg”;
D:char t[]=”abcdefg”,*s=t;
答案: 【

5、单选题:
以下程序段正确的是( )。
选项:
A:char str[20]; scanf(“%s”,&str);
B:char str[20], *p=str; scanf(“%s”,p[2]);
C:char *p; scanf(“%s”,p);
D:char str[20]; scanf(“%s”,&str[2]);
答案: 【

6、判断题:
变量指针指向该变量的地址。( )
选项:
A:对
B:错
答案: 【】

7、判断题:
定义int a[10], *p=a,则p+6表示元素a[6]的地址。( )
选项:
A:错
B:对
答案: 【】

8、判断题:
定义char a[6], *b=a; 则gets(&a[0]);不能给数组a输入字符串。( )
选项:
A:错
B:对
答案: 【】

9、判断题:
char s[10]; s=”abcd”; 语句在编译时系统会报错。( )
选项:
A:对
B:错
答案: 【】

10、判断题:
return *p; 的返回值是变量p的地址。( )
选项:
A:对
B:错
答案: 【】

第八章 单元测试

1、单选题:
#include <stdio.h>typedef struct {int b, p; ) A;void f(A c) {int j;c.b+=1; c.p+=2;}main(){int i;A a={1,2};f(a);printf(“%d, %dn”, a.b, a.p);}程序运行后的输出结果是( )。
选项:
A:2,4
B:2,3
C:1,4
D:1,2
答案: 【】

2、单选题:
struct complex{int real, unreal; } data1={1,8}, data2; 则以下赋值语句中错误的是( )。
选项:
A:data2。real= đata1 .unreal;
B:data2.real=data1.real;
C:data2=(2,6);
D:data2= data1;
答案: 【】

3、单选题:
#include <string.h>typedef struct {char name[9]; char sex; int score[2]; }STU; STU f(STU a){STU b= {“Zhao”, ‘m’, 85, 90};int i;strcpy( a. name, b.name );a.sex= b.sex;for(i=0; i<2; i++) a.score[i]= b. score[i];return a;}main(){STU c={“Qian”, ‘f’, 95, 92 }, d;d=f(c);printf(“%s,%c,%d,%d ”,d.name,d.sex,d.score[0],d.score[1]);printf(“%s,%c,%d,%dn”,c.name,c.sex,c.score[0],c.score[1]);程序运行后的输出结果是( )。
选项:
A:Qian,f,95,92, zhao,m,85,90
B:Qian,f,95,92, Qian,f,95,92
C:zhao,m,85,90,Qian,f,95,92
D:zhao,m,85,90, zhao,m,85,90
答案: 【

4、单选题:
有以下程序 #include <stdio.h>struct S{ int a;int b; };main(){ struct S a, *p=&a;a.a=99;printf( “%dn” ,___ );}程序要求输出结构体中成员a的数据,以下不能填入横线处的内容是( )
选项:
A:p->a
B:a.a
C:*p.a
D:(*p).a
答案: 【】

5、单选题:
设有如下的说明和定义struct {int a;char *s;}x,*p=&x;x.a=4;x.s= “hello”;则以下叙述中正确的是( )
选项:
A:(p++)->a与p++->a都是合语法的表达式,但二者不等价
B:语句*p->s++;等价于(*p)->s++;
C:语句++p->a;的效果是使成员a増1
D:语句++p->a;的效果是使p増1
答案: 【

6、单选题:
以下叙述中正确的是( )
选项:
A:即使是同类型的结构体变量,也不能进行整体赋值
B:结构体数组名不能作为实参传给函数
C:结构体变量的地址不能作为实参传给函数
D:结构体中可以含有指向本结构体的指针成员
答案: 【

7、单选题:
以下叙述中正确的是( )
选项:
A:函数的返回值不能是结构体指针类型
B:在调用函数时,可以将结构体变量作为实参传给函数
C:结构体数组不能作为参数传给函数
D:函数的返回值不能是结构体类型
答案: 【

8、单选题:
以下叙述中正确的是( )
选项:
A:结构体类型中各个成分的类型必须是-致的
B:一个结构体类型可以由多个称为成员(或域)的成分组成
C:在定义结构体类型时,编译程序就为它分配了内存空间
D:结构体类型中的成分只能是C语言中预先定义的基本数据类型
答案: 【

9、单选题:
若有以下程序段struct st{ int n; struct st *next; };struct st a[3]={ 5,&a[1],7,&a[2],9,’’ }; *p;p=&a[0];则以下选项中值为6的表达式是( )
选项:
A:++(p->n)
B:p->n.
C:p->n++
D:(*p).n
答案:

10、单选题:
、#include <stdio.h>struct ord{int x,y;}dt[2J={1,2,3,4}; main( ){struct ord *p=dt;printf(“%d,”,++(p->x));printf(“%dn”,++(p->y));程序运行后的输出结果是( )
选项:
A:3,4
B:4,1
C:1,2
D:2,3
答案: 【

点点赞赏,手留余香 给TA打赏

AI创作

2021知到答案 商务旅游(上海对外经贸大学) 最新智慧树满分章节测试答案
2021知到答案 商务旅游(上海对外经贸大学) 最新智慧树满分章节测试答案
9分钟前 有人购买 去瞅瞅看
2021知到答案 解密黄帝内经 最新智慧树满分章节测试答案
2021知到答案 解密黄帝内经 最新智慧树满分章节测试答案
10分钟前 有人购买 去瞅瞅看
支持多种货币
支持多种货币付款,满足您的付款需求
7天无忧退换
安心无忧购物,售后有保障
专业客服服务
百名资深客服7*24h在线服务
发货超时赔付
交易成功极速发货,专业水准保证时效性

站点公告

答案整门打包购买,价格优惠,有需要加微信
显示验证码

社交账号快速登录