智慧树知到C君带你玩编程(昆明理工大学)网课章节测试答案免费分享

第一章测试

1、将C程序编译成目标文件,其扩展名为EXE。
我的答案:X

2、main函数是C程序的入口,由计算机系统负责调用。
我的答案:√

3、变量必须先定义后使用。
我的答案:√

4、C语言是一种( )。
A、低级语言
B、高级语言
C、机器语言
D、汇编语言
我的答案:B

5、在C源程序中,整型常量不能表示的数制是( )。
A、二进制
B、八进制
C、十进制
D、十六进制
我的答案:A

6、若已定义char c='a',则变量c所占的字节数为__________。
A、1
B、2
C、3
D、4
我的答案:A

第二章测试

1、二元运算符均可以和赋值运算符构成复合的赋值运算符。
我的答案:X

2、表达式1/4+2.75的值是3。
我的答案:X

3、已知i、j、k为int型变量,若从键盘输入:1,2,3 ,使i的值为1,j的值为2,k的值为3,以下选项中正确的输入语句是( )。
A、scanf('%2d %2d %2d',&i,&j,&k);
B、scanf('%d %d %d',&i,&j,&k);
C、scanf('%d,%d,%d',&i,&j,&k);
D、scanf('i=%d,j=%d,k=%d',&i,&j,&k);
我的答案:C

4、以下叙述中正确的是______。
A、调用printf函数时,必须要有输出项
B、使用putchar函数时,必须在之前包含头文件stdio.h
C、在C语言中,整数可以以十二进制、八进制或十六进制的形式输出
D、调用getchar函数读入字符时,可以从键盘上输入字符所对应的ASCII码
我的答案:B

5、设有定义:int x=2;,以下表达式中,值不为6的是( )。
A、x*=x+1
B、x++,2*x
C、x*=(1+x)
D、2*x,x+=2
我的答案:D

第三章测试

1、所有关系运算符的运算优先级相同。
我的答案:X

2、关系运算符是双目运算符,其功能是将两个运算对象进行大小比较。
我的答案:√

3、当a=1,b=2,c=3时,执行语句“if(a > c) {b=a;a=c;c=b;}”后,变量c中的值为2。
我的答案:√

4、为表示关系100 ≥ b ≥ 0,应使用C语言表达式______。
A、(100 >=b)&&(b >=0)
B、(100 >=b)and(b >=0)
C、100 >=b >=0
D、(100 >=B)&&(B >=0)
我的答案:A

5、else子句不能单独作为语句使用,它是if语句的一部分,必须与if配对使用。
我的答案:√

第四章测试

1、在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。
我的答案:X

2、循环for( ; ; )的循环条件始终为真。
我的答案:√

3、若i为整型变量,则 for(i=2;i==0;)printf("%d",i--);循环执行次数是0次。
我的答案:√

4、若变量已正确定义,有以下程序段 i=0; do printf("%d,",i);while(i++); printf("%d",i); 其输出结果是( )。
A、0,0
B、0,1
C、1,1
D、程序进入无限循环
我的答案:B

5、有以下程序 #include void main() { int x,a=1,b=1; while(1) { scanf("%d",&x); if(x>0) { a*=x; break; } if(x<0) { b*=x; continue; } printf("%d,%d",a,b); } } 程序运行时输入:-1 -2 0 1 2 <回车> ,则输出结果是( )。
A、-1,1
B、2,2
C、1,2
D、-2,1
我的答案:C

第五章测试

1、数组名代表数组的首地址。
我的答案:√

2、一个数组可以存储不同类型的数据。
我的答案:X

3、若有定义:int a[10];,使用数组元素时,下标的最小值是1,最大值是10。
我的答案:X

4、下面程序的运行结果是______。 #include < stdio.h > main() { int a[5],i; for(i=0;i< 5;i++) { a[i]=9*(i-2+4*(i >3))%5; printf("%2d",a[i]); } }
A、-3-4 0 4 4
B、-3-4 0 4 3
C、-3-4 0 4 2
D、-3-4 0 4 0
我的答案:A

5、下面程序的运行结果是______。 #include < stdio.h > main() { int a[3][3]={1,2,3,4,5,6,7,8,9},i; for(i=0;i<=2;i++) printf("%d ",a[i][2-i]); }
A、3 5 7
B、3 6 9
C、1 5 9
D、1 4 7
我的答案:A

6、数组在定义时可以不指定数组的长度,可根据程序中实际使用的元素个数决定。
我的答案:X

第六章测试

1、如果某个函数在定义时省略了存储类型,则默认的存储类型是int。
我的答案:√

2、函数可以嵌套定义,但是不可以嵌套调用。
我的答案:X

3、函数中的多个return语句,可以实现调用该函数后,多个值同时被返回。
我的答案:X

4、以下程序运行后的输出结果是________。 #include "stdio.h" int f(int x); main() { int n=1,m; m=f(f(f(n))); printf("%d ",m); } int f(int x) {return x*2;}
A、1
B、2
C、4
D、8
我的答案:D

5、以下程序的输出结果是________。 #include "stdio.h" f(int b[],int m,int n) { int i,s=0; for(i=m;i<= n;i=i+2) s=s+b[i]; return s; } main() { int x,a[]={1,2,3,4,5,6,7,8,9}; x=f(a,3,7); printf("%d ",x); }
A、8
B、10
C、15
D、18
我的答案:D

第七章测试

1、若有定义int a[5],*p=a;,则对a数组元素的正确引用是______。
A、*&a[5]
B、a+2
C、*(p+5)
D、*(a+2)
我的答案:D

2、以下程序的运行结果是______。 #include "stdio.h" main() {int m=1,n=2,*p=&m,*q=&n,*r; r=p;p=q;q=r; printf("%d,%d,%d,%d ",m,n,*p,*q); }
A、1,2,1,2
B、1,2,2,1
C、2,1,2,1
D、2,1,1,2
我的答案:B

3、若有语句int *point,a=4;和point=&a; 下面均代表地址的一组选项是______。
A、a,point,*&a
B、&*a,&a,*point
C、&point,*point,&a
D、&a,&*point,point
我的答案:D

4、已知int a[4],*p;,则语句p=&a;是正确的。
我的答案:X

5、指针变量的类型不是该变量本身的类型,而是它所指向的变量的类型。
我的答案:√

第八章测试

1、下列的结论中只有________是正确的。
A、所有的递归程序均可以采用非递归算法实现
B、只有部分递归程序可以用非递归算法实现
C、所有的递归程序均不可以采用非递归算法实现
D、以上三种说法都不对
我的答案:A

2、以下程序的执行结果为________。 #include "stdio.h" float fun(int x,int y) { return(x*y); } main() { int a=2,b=5,c=8; printf("%.0f",fun((int)fun(a+b,c),a-b));}
A、168
B、-168
C、24
D、-24
我的答案:B

3、以下程序的输出结果是________。 #include "stdio.h" #define f(x) x*x void main() { int a=6,b=2,c; c=f(a)/f(b); printf("%d ",c); }
A、9
B、18
C、36
D、6
我的答案:C

4、有参的宏,其参数参与运算,宏替换要先完成参数的计算,然后再执行替换。
我的答案:X

5、下列程序的运行结果为________。 #include "stdio.h" #define MA(x) x*(x-1) void main() { int a=1,b=2; printf("%d",MA(1+a+b)); }
A、5
B、6
C、7
D、8
我的答案:D

第九章测试

1、结构体中各个成员的数据类型必须是相同的。
我的答案:X

2、typedef的作用是给已有的数据类型取一个别名。
我的答案:√

3、结构体变量所占用空间是全部成员占用空间之和。
我的答案:√

4、在定义一个共用体变量时,系统分配给它的内存是( )。
A、各成员所需内存之和
B、第一个成员所需内存
C、成员中占用内存最大者
D、任意一个成员所需内存
我的答案:C

5、已知对学生记录的描述为:  struct student  { int num;   char name[20],sex;    struct{ int year,month,day; }birthday;  };  struct student stu; 设变量stu中的"生日"是"1995年11月12日",对"birthday"正确赋值的程序是______。
A、year=1995;month=11;day=12;
B、stu.year=1995;stu.month=11;stu.day=12;
C、birthday.year=1995;birthday.month=11;birthday.day=12;
D、stu.birthday.year=1995;stu.birthday.month=11;stu.birthday.day=12;
我的答案:D

第十章测试

1、C语言中通过文件指针对它所指向的文件进行操作。
我的答案:√

2、函数rewind()的作用是使文件指针返回上次移动的位置。
我的答案:X

3、以下函数不能用于向文件写入数据的是______。
A、ftell
B、fwrite
C、fputc
D、fprintf
我的答案:√

4、下列关于C语言文件的叙述中正确的是______。
A、文件由一系列数据依次排列组成,只能构成二进制文件
B、文件由结构序列组成,可以构成二进制文件或文本文件
C、文件由数据序列组成,可以构成二进制文件或文本文件
D、文件由字符序列组成,其类型只能是文本文件
我的答案:C

5、函数fopen()不可以打开二进制文件。
我的答案:X